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 an 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 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▲