First post, by MiniMax
- Rank
- Moderator
As a certified newbie I am trying to understand how the DOSBox Debugger works - and I am confused 😕
According to Fizzban´s guide:
- F10 steps over the next instruction (does not trace into calls)
- F11 traces into the next instruction
I expected that F11 would allow me to single-step each emulated CPU instruction as displayed in the code view window, but I can not make head nor tail of the why the EIP is jumping all over the place 😠
Example: I press PAUSE/BREAK, and the code view shows:
0045:723A4 8A03 mov al,[ebx] ds:[001A2A6A]=030C0
0045:723A6 43 inc ebx
0045:723A7 33C9 xor ecx,ecx
0045:723A9 FF24852C620E00 jmp near dword [000E622C+eax*4](down)
0045:723B0 80F201 xor dl,01
When I press F11 I expect the 'mov al,[ebx]' instruction (highlighted in the code view with green) to be excuted and the EIP to move to the next instruction ('inc ebx').
But instead I end up at 0045:7248B which reads:
0045:7248B 41 inc ecx
0045:7248C 41 inc ecx
0045:7248D 41 inc ecx
0045:7248E 41 inc ecx
0045:7248F D1E1 shl ecx,1
Again, I would expect an F11 to do the increment and move the EIP to 0045:7248C, but NOOOO!!!! The next instruction is a 'repe movsw' at 0045:724BC 😕
I am not prone to swearing, but I really feel like saying WTF is going on here?
DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32