diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-11-15 17:14:42 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-11-17 14:19:27 +0100 |
| commit | 2469b28ae4d73f2a6e813fc250953ae8da36d090 (patch) | |
| tree | 589bc9ccde83a708ed0866e06af42e7183018240 /test/arch/x86/unit/mn_cmov.py | |
| parent | e7aa5e60bb84cebe4778a736fc4ca792fa6050f1 (diff) | |
| download | miasm-2469b28ae4d73f2a6e813fc250953ae8da36d090.tar.gz miasm-2469b28ae4d73f2a6e813fc250953ae8da36d090.zip | |
Add x86 reg tests
Diffstat (limited to 'test/arch/x86/unit/mn_cmov.py')
| -rw-r--r-- | test/arch/x86/unit/mn_cmov.py | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/test/arch/x86/unit/mn_cmov.py b/test/arch/x86/unit/mn_cmov.py new file mode 100644 index 00000000..29dc0823 --- /dev/null +++ b/test/arch/x86/unit/mn_cmov.py @@ -0,0 +1,72 @@ +import sys +from asm_test import Asm_Test_64 + +class Test_CMOVZ_OK(Asm_Test_64): + TXT = ''' +main: + MOV RAX, 0x8877665544332211 + MOV RBX, RAX + MOV RAX, 0xAABBCCDDEEFF0011 + XOR RCX, RCX + CMOVZ RAX, RBX + RET + ''' + def check(self): + assert self.myjit.cpu.RAX == 0x8877665544332211 + + +class Test_CMOVZ_KO(Asm_Test_64): + TXT = ''' +main: + MOV RAX, 0x8877665544332211 + MOV RBX, RAX + MOV RAX, 0xAABBCCDDEEFF0011 + XOR RCX, RCX + INC RCX + CMOVZ RAX, RBX + RET + ''' + def check(self): + assert self.myjit.cpu.RAX == 0xAABBCCDDEEFF0011 + + +class Test_CMOVZ_OK_64_32(Asm_Test_64): + TXT = ''' +main: + MOV RAX, 0x8877665544332211 + MOV RBX, RAX + MOV RAX, 0xAABBCCDDEEFF0011 + XOR RCX, RCX + CMOVZ EAX, EBX + RET + ''' + def check(self): + assert self.myjit.cpu.RAX == 0x44332211 + + +class Test_CMOVZ_KO_64_32(Asm_Test_64): + TXT = ''' +main: + MOV RAX, 0x8877665544332211 + MOV RBX, RAX + MOV RAX, 0xAABBCCDDEEFF0011 + XOR RCX, RCX + INC RCX + CMOVZ EAX, EBX + RET + ''' + def check(self): + assert self.myjit.cpu.RAX == 0xEEFF0011 + + + +if __name__ == "__main__": + [ + test(*sys.argv[1:])() for test in [ + Test_CMOVZ_OK, + Test_CMOVZ_KO, + Test_CMOVZ_OK_64_32, + Test_CMOVZ_KO_64_32, + ] + ] + |