Download & history
Current version of EuroAssembler as well as previous published versions are available
on this page. See also the chapter Installation in manual.
A copy of the latest version is also available for
download under aliased name
euroasm.zip.
If you want to stay informed about new versions, follow
@euroasm on Twitter or
join RSS forum feed.
For automatic check of new versions there is a link
https://euroassembler.eu/version.
- Version 20250318
-
Download: euroasm.20250318.zip
Release date: 2025 Mar 18
TimeStamp: 1742256000
File size: 5741413
File hash MD5: C6DF0E04FCDD15B5B75C63D018B532C6
What's new:
- Version for Linux is available, its name is
euroasm.x
.
Scripts easource/eamake.cmd
and easource/eamake.sh
are now available
to create executable files in Windows and Linux.
- The global configuration file is no longer located in the same directory as the executable file.
It has been moved to
/etc/eurotool/euroasm.ini
in Linux and to
%AppData%\eurotool\euroasm.ini
in MS Windows.
- New tutorial of programming in assembly language.
- UTF-8 BOM in the beginning of €ASM source is now ignored, if it exists.
- Added new machine instructions ENDBR32,
ENDBR64.
- A new EuroAssembler system variable %^ERRORLEVEL.
- New messages I0621, I0622 with severity 0
when near or far LOOP or JxCXZ is assembled.
- New message I0623 with severity 0 when near and far Jcc using proxy-jump is assembled.
- Macrolibrary "memory.htm" was renamed to memory32.htm.
- New macrolibrary memory64.htm.
- €ASM crashed when a program starts with pseudoinstruction ALIGN
sooner than a section was established. Fixed.
- Instructions Shuffle incorrectly reported W2461 when the immediate operand was above 7.
This concerns
SHUFPS,
SHUFPD,
PSHUFD,
PSHUFLW,
PSHUFHW.
Fixed, see the test t3755.
- Fixed a bug in macrolibrary string64.htm.
- Version 20240831
-
Download: euroasm.20240831.zip
Release date: 2024 Aug 31
TimeStamp: 1725062400
File size: 5432336
File hash MD5: 0D20E06A0681AFE0CCF5211C75768EF9
What's new:
- New program formats
BOOT,
ELF,
ELFX,
ELFSO
- New machine instructions
SAVEPREVSSP
RSTORSSP
SETSSBSY
CLRSSBSY
INCSSPD
INCSSPQ
ENCLV
ENDBR32
ENDBR64
HRESET
SENDUIPI
SERIALIZE
UMONITOR
UMWAIT
- New macrolibraries
lins.htm and
linsfile.htm with Linux structures and constants.
- New macrolibrary winf64.htm.
winfile.htm
was renamed to winf32.htm
.
- New macrolibrary debug.htm for static run-time debugging
by taking snapshots of CPU state (registers) at runtime.
- New sample projects for testing file function wrappers
twinf32.htm,
twinf64.htm,
tlinf32.htm,
tlinf64.htm.
- Manual was translated to the Czech language.
- When system variables
%^SourceLine,%^SourceFile,%^SourceName,%^SourceExt
are used in a macro, they return position of the macro invokation.
Previous €ASM versions returned fixed position withing the macro definition,
which wasn't much useful.
- New €ASM system variable
%^PASS which returns pass number of current program.
Useful to suppress %ERROR message in macros which check the presence of not-yet-defined symbol.
- Global symbols in COFF|ELF symbol table are sorted alphabetically.
- Decorator Disp8*N is no longer displayed in the listing dump when N=0.
- Default value SizeOfStackCommit was increased from 4K to 8K.
- Instructions XGETBV and
XSETBV no longer require features
EUROASM CPU=686,SPEC=ENABLED
.
- Fixed when the prefix REX.B was missing in encoding
XCHG rAX,r64
.
This was not detected by t3202.
- Fixed an invalid treatment of E6555 Offset out of section limits..
- Fixed an exception when statement GROUP or SEGMENT didn't have a [label].
- Fixed a minor bug in GetArgWin32W@RT.
- Fixed
MOV AX, [ES:1234h]
didn't recognize segment override.
- Fixed when
XCHG EAX,EAX
in 64bit mode was incorrectly encoded as 0x90 instead of 0x87C0.
- Version 20190402
-
Download: euroasm.20190402.zip
Release date: 2019 Apr 2
TimeStamp: 1554163200
File size: 4285062
File hash MD5: 045E3181C5570F486D5FBB3D406E8880
What's new:
- Relative proxy jumps in [.idata] section in PE64 format changed to ADDR=ABS.
- Virtual segment size is now trimmed to the raw emitted size at the start of linker.
- Size specification in macros Sto* and Lod* in libraries
cpuext*.htm
were changed
but they remain backward compatible.
- New sample projects for testing of
cpuext*.htm
and sort*.htm
macrolibraries:
tmac16.htm,
tmac32.htm,
tmac64.htm.
- Version 20190319
-
Download: euroasm.20190319.zip
Release date: 2019 Mar 19
TimeStamp: 1552953600
File size: 4282019
File hash MD5: 9DFFFCD7783F522B484F2882839B00D9
What's new:
- Pseudoinstruction %SETB
with no operand is now evaluated as 0 (false).
- €ASM no longer creates record in COFF symbol table for pseudosegment [.scalars].
COFF based files are now 18 bytes shorter.
- Member Machine in COFF file header is hardwired to
0x8664
in 64bit programs,
and to 0x014C
in 16/32bit programs.
It's no longer necessary to explicitly specify EUROASM AMD=Enabled
when COFF-based files for
64bit Windows are created.
- Linker's ListMap now displays 64bit VA when ImageBase is above 4 GB. Section alignment is now displayed in hexa.
- When a standalone COFF or OMF object file is linked, it doesn't need to have any of its symbols referenced
in order to be selected for linking.
- Listing of macro-expanded lines (dump separator +)
didn't replace pipe character | with exclamation ! in line comments. Fixed.
- Addressing frame in 64bit mode sometimes preferred ADDR=ABS. Fixed.
- Fixed some bugs in RIP-relative relocations in 64bit mode.
- Names of some codepage encodings
were put in line with names used by EuroConvertor.
- Macros DecodeUTF8 in libraries stringXX.htm were enhanced by detection of the last incomplete UTF-8 character.
- Reorganization of macrolibraries.
stdcall.htm
was renamed to
stdcal32.htm. New macrolibraries
stdcal16.htm and
stdcal64.htm for standard-calling convention.
- New macrolibraries for interaction with OS and for calling conventions,
enhanced with option Fastmode=.
- Error in EuroConvertor 20190113 (exception when input UTF-8 was invalid) was fixed.
- Version 20190113
-
Download: euroasm.20190113.zip
Release date: 2019 Jan 13
TimeStamp: 1547337600
File size: 3998344
File hash MD5: 7AF604B5D036582518949B69578208C3
What's new:
- Literal symbols with different notation but identical value,
such as
=W 5
, =W +5
, =W(2+3)
,
now occupy the same memory in literal section.
- Linker of PE/DLL format incorrectly calculated virtual addresses of sections
when the stub file was bigger than 4KB.
- Instruction VPCMPESTRM and VPCMPESTRI now accept modifier DATA=DWORD or DATA=QWORD in 64bit mode
which specifies if the implicit length registers are EAX,EDX or RAX,RDX.
See the test t4610.
- Enhanced support for chaining of attributes,
see the test t1695.
- Instruction MOVSD didn't accept formats xmm1,xmm/m64 and xmm/m64,xmm.
Fixed, see the test t3213.
- Line continuation wich followed pseudooperation %MACRO wasn't parsed correctly.
- Fixed minor issue with parsing a literal in parenthesis.
- %DROPMACRO
now accepts operand asterix *
(drop all macros defined in current program and its parents).
- New sample program EuroConvertor
for conversion of text encoding.
- Some macrolibraries were updated. Macros for 64bit calling convention
are now provided in two variants, see
winabi.htm and
fastcall.htm.
- Version 20180928
-
Download: euroasm.20180928.zip
Release date: 2018 Sep 28
TimeStamp: 1538092800
File size: 3852325
File hash MD5: A44FB332A4C3EE28E716E63FE9BA323F
What's new:
- Order of emitted prefixes was changed in IiFlush
to
LOCK, OTOGGLE, ATOGGLE, REPE, REPNE
, in accordance with other assemblers.
- Instruction PCMPESTRM and PCMPESTRI now accept modifier DATA=DWORD or DATA=QWORD in 64bit mode
which specifies if the implicit length registers are EAX,EDX or RAX,RDX.
See the test t3820.
- Explicit and implicit ALIGN now emits real multibyte NOP instructions
(0x0F14F... instead of series of 0x90) when CPU level is 686 or X64.
- Version 20180901
-
Download: euroasm.20180901.zip
Release date: 2018 Sep 1
TimeStamp: 1535760000
File size: 3838803
File hash MD5: E56A63A7060DAAD39603558FF960E058
What's new:
New attribute REGTYPE# introduced.
Macro WinABI in macrolibrary winabi.htm was enhanced with passing values in XMM.
Alphabetic Index was completed with automatic %variables and macrolibrary names.
Bugs fixed:
- Pseudoinstructions ENDPROC and ENDPROC1 now may have a label.
- VMX instructions INVVPID and INVEPT now require PRIV=ENABLED.
- Some misspelling and typos in Manual.
- Version 20180804
-
Download: euroasm.20180804.zip
Release date: 2018 Aug 4
TimeStamp: 1533340800
File size: 3824335
File hash MD5: 11F8DE79D40A997E8131B2B64BB562A9
What's new:
Macrolibraries were restructured to smaller files. A few new tests and sample projects were added. Manual was completed with more examples.
Bugs fixed:
- Factory-default configuration
euroasm.ini
was incorrectly included from \maclib\ instead of \objlib\ in ea.htm
.
- EaoptAssemble.TIMESTAMP incorrectly modified Ea.TimeStart.
- Referring structured variable member didn't mark the structured variable itself as dirty,too. False W2101 was issued.
- Addressing data from a different segment in 64bit mode incorrectly used RIP-relative addressing frame instead of relocatable offset.
- Incorrect relocation of object linked from resource file.
- Illegal chain of attribute operators is now detected and treated.
- Message size overflowed when macro recursively expanded itself.
- The expanded copy of statement containing %variables in listing had swapped LF+CR instead od CR+LF.
- Version 20180508
-
Download: euroasm.20180508.zip
Release date: 2018 May 8
TimeStamp: 1525737600
File size: 3623738
File hash MD5: 1B696827FEF065E363DB34ACA87B0FBA
What's new:
The first public release.
▲Back to the top▲