diff options
author | iximeow <me@iximeow.net> | 2021-08-14 00:44:09 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2021-08-14 00:48:02 -0700 |
commit | 9bc4eca4b8269cb8e0898dfe05c3ed4059cf4fd5 (patch) | |
tree | 4c2cb8bdf632ea80fc09fc3f3526ce1a80559775 /test/real_mode | |
parent | cf63d91ac22230ff5e97928f5bd319746fc49590 (diff) |
relative branches should be shown as $+offset, not just plain offset
while x86 branches of immediates are all relative to PC, other
architectures may have absolute branches to immediate addresses, leaving
this syntax ambiguous and potentially confusing. yaxpeax prefers to
write relative offsets `$+...` as a rule, so uphold that here.
Diffstat (limited to 'test/real_mode')
-rw-r--r-- | test/real_mode/mod.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/test/real_mode/mod.rs b/test/real_mode/mod.rs index 82ccfab..6005f07 100644 --- a/test/real_mode/mod.rs +++ b/test/real_mode/mod.rs @@ -262,7 +262,7 @@ fn test_real_mode() { test_display(&[0x0f, 0x7e, 0xcf], "movd edi, mm1"); test_display(&[0x0f, 0x7f, 0x0f], "movq qword [bx], mm1"); test_display(&[0x0f, 0x7f, 0xcf], "movq mm7, mm1"); - test_display(&[0x0f, 0x86, 0x8b, 0x01], "jna 0x18b"); + test_display(&[0x0f, 0x86, 0x8b, 0x01], "jna $+0x18b"); test_display(&[0x0f, 0x97, 0x00], "seta byte [bx + si]"); test_display(&[0x0f, 0x97, 0x08], "seta byte [bx + si]"); test_display(&[0x0f, 0x97, 0xc0], "seta al"); @@ -16924,9 +16924,9 @@ fn test_real_mode() { test_display(&[0x67, 0xff, 0xe0], "jmp ax"); test_display(&[0x68, 0x7f, 0x63], "push 0x637f"); test_display(&[0x6b, 0x43, 0x6f, 0x6d], "imul ax, word [bp + di + 0x6f], 0x6d"); - test_display(&[0x72, 0x5a], "jb 0x5a"); - test_display(&[0x73, 0x31], "jnb 0x31"); - test_display(&[0x74, 0x47], "jz 0x47"); + test_display(&[0x72, 0x5a], "jb $+0x5a"); + test_display(&[0x73, 0x31], "jnb $+0x31"); + test_display(&[0x74, 0x47], "jz $+0x47"); test_display(&[0x81, 0xec, 0x10, 0x03], "sub sp, 0x310"); test_display(&[0x66, 0x81, 0xec, 0x10, 0x03, 0x00, 0x00], "sub esp, 0x310"); test_display(&[0x83, 0xf8, 0xff], "cmp ax, -0x1"); @@ -17752,10 +17752,11 @@ fn test_real_mode() { test_display(&[0xdf, 0xe0], "fnstsw ax"); test_display(&[0xdf, 0xeb], "fucomip st(0), st(3)"); test_display(&[0xdf, 0xf3], "fcomip st(0), st(3)"); - test_display(&[0xe0, 0x12], "loopnz 0x12"); - test_display(&[0xe1, 0x12], "loopz 0x12"); - test_display(&[0xe2, 0x12], "loop 0x12"); - test_display(&[0xe3, 0x12], "jcxz 0x12"); + test_display(&[0xe0, 0x12], "loopnz $+0x12"); + test_display(&[0xe1, 0x12], "loopz $+0x12"); + test_display(&[0xe2, 0x12], "loop $+0x12"); + test_display(&[0xe3, 0x12], "jcxz $+0x12"); + test_display(&[0xe3, 0xf0], "jcxz $+-0x10"); test_display(&[0xe4, 0x99], "in al, 0x99"); test_display(&[0xe5, 0x99], "in ax, 0x99"); test_display(&[0xe6, 0x99], "out 0x99, al"); |