diff options
Diffstat (limited to 'executor/x86_64/asm.h')
-rw-r--r-- | executor/x86_64/asm.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/executor/x86_64/asm.h b/executor/x86_64/asm.h index dacc248..7d68bc0 100644 --- a/executor/x86_64/asm.h +++ b/executor/x86_64/asm.h @@ -80,6 +80,8 @@ void asm_mov_rm(Asm *self, Reg64 dst, AsmPtr *src); void asm_mov_ri(Asm *self, Reg64 dst, i64 immediate); void asm_mov_rr(Asm *self, Reg64 dst, Reg64 src); +void asm_and_mr(Asm *self, AsmPtr *dst, Reg64 src); + void asm_add_rr(Asm *self, Reg64 dst, Reg64 src); void asm_sub_rr(Asm *self, Reg64 dst, Reg64 src); void asm_imul_rr(Asm *self, Reg64 dst, Reg64 src); @@ -110,6 +112,23 @@ void asm_cmp_rm(Asm *self, Reg64 reg1, AsmPtr *reg2); */ void asm_sete_m(Asm *self, AsmPtr *dst); void asm_sete_r(Asm *self, Reg64 dst); +void asm_setne_r(Asm *self, Reg64 dst); +/* Unsigned */ +void asm_setb_r(Asm *self, Reg64 dst); +/* Unsigned */ +void asm_setbe_r(Asm *self, Reg64 dst); +/* Unsigned */ +void asm_seta_r(Asm *self, Reg64 dst); +/* Unsigned */ +void asm_setae_r(Asm *self, Reg64 dst); +/* Signed */ +void asm_setl_r(Asm *self, Reg64 dst); +/* Signed */ +void asm_setle_r(Asm *self, Reg64 dst); +/* Signed */ +void asm_setg_r(Asm *self, Reg64 dst); +/* Signed */ +void asm_setge_r(Asm *self, Reg64 dst); /* In x86 assembly, the @relative position starts from the next instruction. This offset shouldn't be calculated by the caller and is instead managed |