【发布时间】:2014-03-06 01:04:36
【问题描述】:
我最近深入研究了组装并玩弄了一些emu8086。我玩得很开心,学到了很多东西。 但是我确实错过了一件事,如果我能在我模拟或编译之前看到我写的所有寄存器内容,那就太棒了。是否有任何汇编 IDE 提供此功能? 如果我也可以编写带有 NASM 语法的 8086 程序集,我会更喜欢,但是任何能够减轻我在脑海中跟踪寄存器的负担的通用 x86 程序集都是天赐之物,而且效率也很高!
【问题讨论】:
我最近深入研究了组装并玩弄了一些emu8086。我玩得很开心,学到了很多东西。 但是我确实错过了一件事,如果我能在我模拟或编译之前看到我写的所有寄存器内容,那就太棒了。是否有任何汇编 IDE 提供此功能? 如果我也可以编写带有 NASM 语法的 8086 程序集,我会更喜欢,但是任何能够减轻我在脑海中跟踪寄存器的负担的通用 x86 程序集都是天赐之物,而且效率也很高!
【问题讨论】:
我认为您没有考虑过这一点。粗略地说,如果你能知道寄存器的值,你就不需要程序了。寄存器值会根据输入和其他因素而变化,并且不保证在不同时间在代码中的同一点相同。想想一个循环变量。你想显示什么值?
call get_int ; this function returns a number entered by the user in eax
; so, what's the value of eax here that your IDE should print?
; okay let's multiply it by 10 using addition in a loop
mov edx, eax
mov ecx, 9 ; ecx is 9 here, no problem
addloop:
add eax, edx ; but what's the value of eax here?
dec ecx ; or ecx here?
jnz addloop
; what's the result in eax?
【讨论】: