Dave,
The deb macro may help you to find the point where it happens. Only the include line and the deb 4 ... line are interesting, all the rest of your code can stay "as is".
deb 4 prints to console, deb 5 writes to DebLog.txt
You can add more variables, like registers, local, global variables, even xmm regs.
; this line replaces "include \masm32\include\masm32rt.inc"
include \masm32\MasmBasic\
MasmBasic.inc ;
download Init push
123 xor ecx, ecx
.Repeat
fild dword ptr [esp]
deb 4, "FPU", ST(0), ST(1), ST(2), ST(3), ST(4), ST(5), ST(6), ecx
Inkey "more (y)?"
.Until eax!="y"
pop
eax Exitend start
Output:
FPU
ST(0) 123.000000000000000
ST(1) 0.0
ST(2) 0.0
ST(3) 0.0
ST(4) 0.0
ST(5) 0.0
ST(6) 0.0
ecx 1
more (y)?
FPU
ST(0) 123.000000000000000
ST(1) 123.000000000000000
ST(2) 0.0
ST(3) 0.0
ST(4) 0.0
ST(5) 0.0
ST(6) 0.0
ecx 2