summaryrefslogtreecommitdiff
path: root/gen_x86.h
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2012-12-22 21:37:25 -0800
committerMike Pavone <pavone@retrodev.com>2012-12-22 21:37:25 -0800
commita8c212daf0161ef36396cc7c6fd743c8a2a0c404 (patch)
tree7a3e244a22ef617ff4d8f4871e58ebab58ad0506 /gen_x86.h
parentbd678c1400e3589e591e371049d6a79d81ae131c (diff)
Add support for indexed modes as a source, some work on jmp and jsr with areg indirect mode
Diffstat (limited to 'gen_x86.h')
-rw-r--r--gen_x86.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gen_x86.h b/gen_x86.h
index deff158..adce757 100644
--- a/gen_x86.h
+++ b/gen_x86.h
@@ -131,6 +131,8 @@ uint8_t * mov_rindr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
uint8_t * mov_ir(uint8_t * out, int64_t val, uint8_t dst, uint8_t size);
uint8_t * mov_irdisp8(uint8_t * out, int32_t val, uint8_t dst, int8_t disp, uint8_t size);
uint8_t * mov_irind(uint8_t * out, int32_t val, uint8_t dst, uint8_t size);
+uint8_t * movsx_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t src_size, uint8_t size);
+uint8_t * movsx_rdisp8r(uint8_t * out, uint8_t src, int8_t disp, uint8_t dst, uint8_t src_size, uint8_t size);
uint8_t * pushf(uint8_t * out);
uint8_t * popf(uint8_t * out);
uint8_t * push_r(uint8_t * out, uint8_t reg);
@@ -143,7 +145,9 @@ uint8_t * bt_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size);
uint8_t * bt_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t dst_disp, uint8_t size);
uint8_t * jcc(uint8_t * out, uint8_t cc, uint8_t *dest);
uint8_t * jmp(uint8_t * out, uint8_t *dest);
+uint8_t * jmp_r(uint8_t * out, uint8_t dst);
uint8_t * call(uint8_t * out, uint8_t * fun);
+uint8_t * call_r(uint8_t * out, uint8_t dst);
uint8_t * retn(uint8_t * out);
#endif //GEN_X86_H_