summaryrefslogtreecommitdiff
path: root/ujit_asm_tests.c
diff options
context:
space:
mode:
authorMaxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>2020-09-09 17:16:21 -0400
committerAlan Wu <XrXr@users.noreply.github.com>2021-10-20 18:19:22 -0400
commit1392a6f2a499f7400320b87d0bf53d3ef0e26d93 (patch)
tree741975dd46c2c31f94df9b5138fcf357cc370769 /ujit_asm_tests.c
parenta3b411b9c82010d480ce3bf203dcc8b8600722ce (diff)
Added jmp R/M instruction
Diffstat (limited to 'ujit_asm_tests.c')
-rw-r--r--ujit_asm_tests.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/ujit_asm_tests.c b/ujit_asm_tests.c
index ac148d1b7f..b705c7bfe7 100644
--- a/ujit_asm_tests.c
+++ b/ujit_asm_tests.c
@@ -105,6 +105,24 @@ void run_tests()
cb_set_pos(cb, 0); call(cb, RAX); check_bytes(cb, "FFD0");
cb_set_pos(cb, 0); call(cb, mem_opnd(64, RSP, 8)); check_bytes(cb, "FF542408");
+ /*
+ // jcc
+ test(
+ delegate void (CodeBlock cb) { auto l = cb.label(Label.LOOP); cb.jge(l); },
+ "0F8DFAFFFFFF"
+ );
+ test(
+ delegate void (CodeBlock cb) { cb.label(Label.LOOP); cb.jo(Label.LOOP); },
+ "0F80FAFFFFFF"
+ );
+ */
+
+ // jmp
+ cb_set_pos(cb, 0); jmp(cb, R12); check_bytes(cb, "41FFE4");
+
+ // lea
+ //cb_set_pos(cb, 0); mov(cb, EBX, mem_opnd(32, RSP, 4))); check_bytes(cb, "8D5C2404");
+
// mov
/*
test(
@@ -117,7 +135,6 @@ void run_tests()
);
*/
cb_set_pos(cb, 0); mov(cb, R15, imm_opnd(3)); check_bytes(cb, "49BF0300000000000000");
-
/*
test(
delegate void (CodeBlock cb) { cb.mov(X86Opnd(EAX), X86Opnd(EBX)); },
@@ -150,11 +167,6 @@ void run_tests()
*/
cb_set_pos(cb, 0); mov(cb, mem_opnd(8, RSP, 0), imm_opnd(-3)); check_bytes(cb, "C60424FD");
-
-
-
-
-
// nop
cb_set_pos(cb, 0); nop(cb, 1); check_bytes(cb, "90");