【发布时间】:2015-03-07 02:31:51
【问题描述】:
首先我要道歉,英语不是我的母语,我想不出一个更适合我情况的标题。
我得到了这个不完整的汇编代码:
.code
mov [mybyte],______
mov SP,0574h
xor ax,ax
here:
add AL,[mybyte]
push AX
dec BYTE PTR [mybyte]
jnz here
pop es
nop
问题是:_____ 在哪里应该写什么,这样当我们到达“nop”命令时,SP 的值为 570。
我理解这个问题,我想我也理解代码,但问题是,我看待它的方式 - SP 永远不会改变。代码中唯一引用 SP 的地方是 mov sp,0574h 行。所以无论我们写什么,____在哪里,SP都不会改变。
我说的对吗?还是我误解了代码?
【问题讨论】:
-
SP 是堆栈指针,因此它在
push AX处递减(堆栈在内存中向下增长)。 -
啊,push/pop命令改变SP?好吧,这更有意义。谢谢你。如果你把它写成答案,我会接受它。
-
您可以继续接受 Jester 的回答,它更彻底地涵盖了相同的领域。