- Added comma and escape character handling in
.asciiand.ascizassembler commands. - Prettified
.asciiand.ascizstringification. - Disabled
imm16arguments topushbecause it generated bytecode that would read 4 bytes from memory instead of 2.
-
Fixed bugs in
asm.codepage.CodePage.dumpthat showed placeholder bytecode for label operands even though the labels have already been resolved and theCodePage.codeattribute 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, 1andsar r/m8, CLare supported as well assar r/m8, imm8. -
Added more instructions (some are partially supported):
divorandsarsetcc(partially)cmovcc(partially)