- Added comma and escape character handling in
.ascii
and.asciz
assembler commands. - Prettified
.ascii
and.asciz
stringification. - Disabled
imm16
arguments topush
because it generated bytecode that would read 4 bytes from memory instead of 2.
-
Fixed bugs in
asm.codepage.CodePage.dump
that showed placeholder bytecode for label operands even though the labels have already been resolved and theCodePage.code
attribute contains correct addresses. -
Added some assembler commands handling:
.ascii "String, byte ->", 10, 0 .asciz "Null-terminated automatically" .long 1, 2, 3, 4
-
Added ability to use labels as operands, so the following works:
mov eax, some_label # moves absolute address label: .long 1234 .long other_label
-
Added ability to add labels to registers when creating pointers:
mov eax, dword ptr [ebx + some_label]
-
Added ability to define special encoding for instructions with concrete operands, so that now instructions like
sar r/m8, 1
andsar r/m8, CL
are supported as well assar r/m8, imm8
. -
Added more instructions (some are partially supported):
div
or
and
sar
setcc
(partially)cmovcc
(partially)