x86
Version:
Generates x86_64 native code from assembly instructions
36 lines (30 loc) • 722 B
text/typescript
// Op-code of instructions, op-code byte:
//
// |76543210|
// |......ds|
// |.......s
// |......d
// |XXXXXX00 <--- Op-code = OP
export enum OP {
MOV = 0x89,
MOVimm = 0xC4,
// MOVL = 0xB8,
// MOVQ = 0xC7,
MOVABS = 0xB8,
INC = 0xFF,
DEC = 0xFF,
PUSH = 0x50,
POP = 0x58,
INT = 0xCD,
SYSCALL = 0x0F05,
}
// Op-code extension into `REG` field of Mod-R/M byte, Mod-R/M byte:
//
// |76543210|
// .....XXX <--- R/M field
// ..XXX <------ REG field = OPREG
// XX <--------- MOD field
export enum OPREG {
INC = 0b000,
DEC = 0b001,
}