本节让我彻底困惑。我有一个例子问题,我希望有人可以为我分解步骤,以便我可以吸收它如何应用于其他问题。汇编语言子程序
mc: call subr
mr: mov [val],ax
subr: push ax
push bx
push cx
add ax,dx
pop ax
pop bx
pop cx
ret
书要求在SP和AX寄存器中的十六进制值将是什么时,代码从子程序返回并到达指令mr: mov [val],ax
。 sp=0100 ax=0002
,但我不知道如何得出这些答案。
指令mc: call subr
将下一个顺序指令mr: mov [val],ax
的地址保存在堆栈上,以便子例程可以正确返回。存储返回地址的内存中的绝对地址是1120E
。任何人都可以请详细说明这一点?
registers given:
ax = 0000 bx = 0001 cx = 0002 dx = 0004
si = 0000 di = FFFF bp = 0080 sp = 0100
cs = 1000 ds = 1100 es = 1110 ss = 1111
这里显示了哪种类型的汇编语言? –