assume cs:codesg
codesg segment
mov ax,4c00H
int 21H
start:
mov ax,0
s:
nop
nop
mov di,offset s
mov si,offset s2
mov ax,cs:[si]
mov cs:[di],ax
s0:
jmp short s
s1:
mov ax,0
int 21H
mov ax,0
s2:
jmp short s1
nop
codesg ends
end start
说实话这个程序的却不好懂,翻了好多博客才渐渐搞懂,下面我把自己解题思路分享给大家:
一开始做这题,我的关注重点只是放在了两个jmp语句处,毕竟这一章讲的都是与jmp有关的东西,
对于中间的s 段就一带而过了,觉得只是把一些无关紧要的数据移入寄存器罢了。
但做到后面才发现,原来一直想不通的一个点,就是因为忽视了中间这段东西的内容(当然这是后
话了,我会在接下来的解析中告诉你为什么)
好,假设我只是一带而过的看完S段代码,接下来就是进行 s0: jmp short s