我正在做一些汇编作业,并认为最好的方法来了解正在发生的事情是观察程序运行时寄存器中发生的事情。在Visual Studio中您可以查看寄存器但我正在进行的操作只会更改我的一个寄存器的低8位中的内容,所以我不确定我应该查看什么。任何人都可以帮助我吗?
这是我正在运行的问题和代码:
在以下每条指令按顺序执行后,目标操作数的十六进制值是什么?
TITLE MASM Template (main.asm)
INCLUDE Irvine32.inc
.data var1 SBYTE -4, -2, 3, 1
.code main PROC
call Clrscr
mov al, var1 mov ah, [var1+3]
exit main ENDP
END main
我很确定第一个语句后的答案是-4,第二个语句后的答案是1,但我想在寄存器中看到它。
和寄存器窗口我必须看起来像VS:
答案 0 :(得分:2)
ah
和al
寄存器只是eax
的低两个字节的别名,因此您只需监视寄存器窗口中的eax
条目即可。在您的示例中,ah
为0x36
,al
为0x65
。您可能还需要mov al, [var1]
来获取该地址的值,但我不确定。