操作符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