I'm working on a fairly large project written entirely for MASM and looking for a modern alternative assembler to recommend. UASM looks great, though there are a few issues with behavior that isn't consistent with MASM.
Notably, it will not allow any type of operations within or after an inline RECORD literal definition. For example,
DBW RECORD hibyte:8, lobyte:8
COLOR RECORD blink:1, back:3, intense:1, fore:3
mov ax, DBW < 0AH, ' ' > ; fails with Error A2065: Constant expected
mov ax, ( DBW < 0AH, 20H > ) ; fails with Error A2151: Missing operator in expression
mov ax, DBW < 0AH, 20H > + 1 ; fails with Error A2210: Syntax error: + 1
mov al, high DBW < 0AH, 20H > ; fails with Error A2151: Missing operator in expression
mov ax, DBW < COLOR<>, 12H > ; fails with Error A2210: Syntax error: , 10h
All of these are valid and work on MASM 5.x, 6.x and TASM 3.
This is using UASM v2.57, Aug 9 2024, uasm64 for Windows.
Thanks!
I'm working on a fairly large project written entirely for MASM and looking for a modern alternative assembler to recommend. UASM looks great, though there are a few issues with behavior that isn't consistent with MASM.
Notably, it will not allow any type of operations within or after an inline RECORD literal definition. For example,
All of these are valid and work on MASM 5.x, 6.x and TASM 3.
This is using UASM v2.57, Aug 9 2024, uasm64 for Windows.
Thanks!