OFFSET 找到标记位置的操作符
assume cs:code, ds:data
data segment
db 128 dup (0)
data ends
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax, bx
mov ax, data
mov ds, ax
mov ax, stack
mov ss, ax
mov sp , 128
mov si, OFFSET start ; 找到start标记的指令的偏移地址
mov di, OFFSET s ; 找到s标记的指令的偏移地址
; 将start标记的指令复制到s标记的指令的位置
mov ax, cs:[si]
mov cs:[di], ax
s: nop
nop
mov ax, 4C00H
int 21H
code ends
end start
程序执行之前
程序执行后