diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2015-02-20 14:05:49 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2015-02-20 14:05:49 +0100 |
| commit | c166f6cf0eb5d8dd697f03cb89c2703db1554b2b (patch) | |
| tree | 878c5e56046c920e58548fd522140fa73b3bed0e /test/samples | |
| parent | 82d3e73cd19f3638265d35f765cdab1dc13d1ddb (diff) | |
| download | miasm-c166f6cf0eb5d8dd697f03cb89c2703db1554b2b.tar.gz miasm-c166f6cf0eb5d8dd697f03cb89c2703db1554b2b.zip | |
X86: add regression tests for bsf/bsr
Diffstat (limited to 'test/samples')
| -rw-r--r-- | test/samples/x86_32/bsr_bsf.S | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/samples/x86_32/bsr_bsf.S b/test/samples/x86_32/bsr_bsf.S new file mode 100644 index 00000000..0f915ed1 --- /dev/null +++ b/test/samples/x86_32/bsr_bsf.S @@ -0,0 +1,42 @@ +main: + ;; BSF + ;; standard case + MOV ECX, 0xF0000004 + MOV EAX, 0x0 + BSF EAX, ECX + JZ bad + CMP EAX, 2 + JNZ bad + + + ;; case undef + MOV ECX, 0x0 + MOV EAX, 0x1337beef + BSF EAX, ECX + JNZ bad + CMP EAX, 0x1337beef + JNZ bad + + ;; BSR + ;; standard case + MOV ECX, 0x4000000F + MOV EAX, 0x0 + BSR EAX, ECX + JZ bad + CMP EAX, 30 + JNZ bad + + + ;; case undef + MOV ECX, 0x0 + MOV EAX, 0x1337beef + BSR EAX, ECX + JNZ bad + CMP EAX, 0x1337beef + JNZ bad + + RET + +bad: + INT 0x3 + RET |