diff options
author | Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> | 2020-09-09 17:16:21 -0400 |
---|---|---|
committer | Alan Wu <XrXr@users.noreply.github.com> | 2021-10-20 18:19:22 -0400 |
commit | 1392a6f2a499f7400320b87d0bf53d3ef0e26d93 (patch) | |
tree | 741975dd46c2c31f94df9b5138fcf357cc370769 /ujit_asm_tests.c | |
parent | a3b411b9c82010d480ce3bf203dcc8b8600722ce (diff) |
Added jmp R/M instruction
Diffstat (limited to 'ujit_asm_tests.c')
-rw-r--r-- | ujit_asm_tests.c | 24 |
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"); |