操作符offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址。

assume cs:codesg

codesg segment

start:
           mov ax, offset start         ;相当于mov ax,0
s:
           mov ax, offset s              ;相当于mov ax,3

codesg ends

end start

例如在如下程序段,实现了在运行中将s处的一条指令复制到s0处。

assume cs:codesg

codesg segment

s:
             mov ax,bx                       ;mov ax,bx的机器码占两个字节
             mov si,offset  s
             mov di, offset s0
             mov ax,cs:[si]
             mov cs:[di], ax

s0:
              nop
              nop                                ;nop的机器码占一个字节

codesg ends

end s

 

posted on 2018-11-07 09:14  迷心迷  阅读(573)  评论(0编辑  收藏  举报