mov dx,offset string

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:19:34
新手求解释。。详细点,谢谢

把string在段里的偏移地址送给dx
offset是个伪操作符,只能在编译的时候用,用法:

offset label

作用是得到label在段内的偏移地址

标号首地址传入dx

相当于lea dx,string

mov dx,offset string
这条指令的功能是:把变量string的偏移地址送给dx寄存器。

OFFSET是偏移量属性操作符,它返回该标识符离它所在段的段地址有多少字节。

offset是个伪操作符,在编写源程序的时候使用。

假设有下面变量定义:

FIRST DD 12345678H, 0 ;数据段的变量定义
SCORE DW ?, 12H
NAME DB 10 DUP(10)

MOV AX, OFFSET SCORE ;代码段的指令
MOV BX, OFFSET NAME


假设FIRST是数据段的第一个被定义的变量名,它的偏移量为0,SCORE的偏移量为8,因为它要跳过二个双字,其它如此类推。

由于NAME在SCORE之后,且SCORE之后有二个字,占四个字节,所以,BX的值要比AX的值大4。

把string的偏移地址送dx寄存器