In attempting to set up a protected-mode environment in dos i find that the codeview debugger that comes with my masm 611 does not appear to function correctly !!........First off, in setting 32bit register display i see spurious data appearing in the upper word of extended registers when i am infact single-stepping the code. Also, how come in executing a command such as xor ebx,ebx in order to zero the register, it infact does not zero the upper word ?..........Also, a mov to a 32bit register only fills the lower word ie....dx instead of edx etc. Does codeview work with 32bit instructions ?
No - obviously it doesn't :P
But then, if you're able to view 32-bit registers with it (?) then it must at least be 32-bit aware; however, if it's destroying the upper part of registers then maybe not.
xor bx,bx is supposed to only zero the lower word - use xor ebx,ebx to zero the whole thing (if you can't assemble this, you can use a 66h prefix byte, and then follow that with xor bx,bx - it turns the 16-bit instruction into a 32-bit one, in 16-bit mode.)
Hi,
some versions of CodeView are known to have this bug, for example v4.01 (dated 1992). The version coming with VC 1.52 (CodeView v4.1) has this bug fixed!