diff options
author | Maxime Chevalier-Boisvert <[email protected]> | 2020-09-18 12:20:43 -0400 |
---|---|---|
committer | Alan Wu <[email protected]> | 2021-10-20 18:19:23 -0400 |
commit | d1c9ca86c191ef92d9bcd1242aeb7eaa35381e6c (patch) | |
tree | 43ca7b474c7be83d01e8dc4663966771c6cdd5ea /ujit_asm_tests.c | |
parent | b8a3f2ed6177c753a35feaa4239a47de0a97ee77 (diff) |
Port print_int, movsx. Implement putself.
Diffstat (limited to 'ujit_asm_tests.c')
-rw-r--r-- | ujit_asm_tests.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ujit_asm_tests.c b/ujit_asm_tests.c index 406253ba26..5de7978858 100644 --- a/ujit_asm_tests.c +++ b/ujit_asm_tests.c @@ -218,6 +218,32 @@ void run_tests() cb_set_pos(cb, 0); mov(cb, mem_opnd(8, RSP, 0), imm_opnd(-3)); check_bytes(cb, "C60424FD"); cb_set_pos(cb, 0); mov(cb, mem_opnd(64, RDI, 8), imm_opnd(1)); check_bytes(cb, "48C7470801000000"); + // movsx + /* + test( + delegate void (CodeBlock cb) { cb.movsx(X86Opnd(AX), X86Opnd(AL)); }, + "660FBEC0" + ); + test( + delegate void (CodeBlock cb) { cb.movsx(X86Opnd(EDX), X86Opnd(AL)); }, + "0FBED0" + ); + test( + delegate void (CodeBlock cb) { cb.movsx(X86Opnd(RAX), X86Opnd(BL)); }, + "480FBEC3" + ); + test( + delegate void (CodeBlock cb) { cb.movsx(X86Opnd(ECX), X86Opnd(AX)); }, + "0FBFC8" + ); + test( + delegate void (CodeBlock cb) { cb.movsx(X86Opnd(R11), X86Opnd(CL)); }, + "4C0FBED9" + ); + */ + cb_set_pos(cb, 0); movsx(cb, R10, mem_opnd(32, RSP, 12)); check_bytes(cb, "4C6354240C"); + cb_set_pos(cb, 0); movsx(cb, RAX, mem_opnd(8, RSP, 0)); check_bytes(cb, "480FBE0424"); + // neg cb_set_pos(cb, 0); neg(cb, RAX); check_bytes(cb, "48F7D8"); |