assume cs:code
code 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
code ends
end start
当程序执行到 mov cs:[di],ax 时候, 会将s 开始的两个nop指令替换为 jmp short s1 机器码为EBF6, 即向上移动十个字节
当再次执行到S 时候,程序向上偏移十个字节 ,运行结束