add get_reg_bits and test, streamline ModRM calculations, correct opcodes, fix typos...
This commit is contained in:
@@ -40,6 +40,9 @@ run_tests:
|
||||
call clear_test_arena
|
||||
call test_get_opcode
|
||||
|
||||
call clear_test_arena
|
||||
call test_get_reg_bits
|
||||
|
||||
ret
|
||||
.msg db "running test suite...", 0x0A, 0x00
|
||||
|
||||
@@ -529,7 +532,7 @@ test_get_opcode:
|
||||
|
||||
mov di, 0x0053 ; xor
|
||||
call get_opcode
|
||||
cmp al, 0x33
|
||||
cmp al, 0x31
|
||||
jne .fail
|
||||
|
||||
mov di, 0x0054 ; inc
|
||||
@@ -557,6 +560,42 @@ test_get_opcode:
|
||||
ret
|
||||
.msg db "test_get_opcode...", 0x00
|
||||
|
||||
; ------------------------------------------------------------------------------
|
||||
; test_get_reg_bits
|
||||
;
|
||||
; description:
|
||||
; tests get_reg_bits described functionality
|
||||
; ------------------------------------------------------------------------------
|
||||
|
||||
test_get_reg_bits:
|
||||
mov rsi, .msg
|
||||
call print
|
||||
|
||||
mov di, 0x0000 ; rax
|
||||
call get_reg_bits
|
||||
cmp al, 000b
|
||||
jne .fail
|
||||
|
||||
mov di, 0x0010 ; eax
|
||||
call get_reg_bits
|
||||
cmp al, 000b
|
||||
jne .fail
|
||||
|
||||
mov di, 0x0003 ; rdx
|
||||
call get_reg_bits
|
||||
cmp al, 010b
|
||||
jne .fail
|
||||
|
||||
.pass:
|
||||
mov rsi, msg_pass
|
||||
call print
|
||||
ret
|
||||
.fail:
|
||||
mov rsi, msg_fail
|
||||
call print
|
||||
ret
|
||||
.msg db "test_get_reg_bits...", 0x00
|
||||
|
||||
msg_pass:
|
||||
db 0x0A
|
||||
times (TEST_LINE_LENGTH + .start - .end) db " ", ; right align
|
||||
|
||||
Reference in New Issue
Block a user