c++.command-line - buglet in obj2asm, branches fall a tad short
- Larry Brasfield (17/17) Jun 29 2002 While perusing obj2asm output, I was initially perplexed
- Walter (3/20) Jul 01 2002 Thanks. I'll check it out. -Walter
While perusing obj2asm output, I was initially perplexed by branches that appeared to land in the middle of instructions. Further study shows that the real problem is an error in the disassembly. Here is an example. Partial disassembly of the medium model C startup code: 002b: 81 FB 00 10 cmp BX,01000h 002f: 72 03 jb $+4h 0031: BB FF 0F mov BX,0FFFh 0034: 8B D0 mov DX,AX 0036: 03 D3 add DX,BX Note that the jb target is off by -1. (The 03 operand is added to the IP for the following instruction.) It should read "... jb $+5h" to conform to conventional meaning of the '$' notation. -- -Larry Brasfield (address munged, s/sn/h/ to reply)
Jun 29 2002
Thanks. I'll check it out. -Walter "Larry Brasfield" <larry_brasfield snotmail.com> wrote in message news:MPG.178799f14ffbe8a2989681 news.digitalmars.com...While perusing obj2asm output, I was initially perplexed by branches that appeared to land in the middle of instructions. Further study shows that the real problem is an error in the disassembly. Here is an example. Partial disassembly of the medium model C startup code: 002b: 81 FB 00 10 cmp BX,01000h 002f: 72 03 jb $+4h 0031: BB FF 0F mov BX,0FFFh 0034: 8B D0 mov DX,AX 0036: 03 D3 add DX,BX Note that the jb target is off by -1. (The 03 operand is added to the IP for the following instruction.) It should read "... jb $+5h" to conform to conventional meaning of the '$' notation. -- -Larry Brasfield (address munged, s/sn/h/ to reply)
Jul 01 2002