mov ax,offset x 和mov ax,x 这样子在什么情况下ax的值是不同的.

mov ax,offset x 和mov ax,x 这样子在什么情况下ax的值是不同的.
我的标号就是这个意.
code segment
x:mov ax,0
mov bx,ax
mov ax,offset x 和mov ax,x 这样子在什么情况下ax的值是不同的.
code ends
能否举个例子呢.
mov ax,x
B80000 MOV AX,0000 ;debug时看到的AX值还是00啊.而不是00b8h
又见炊烟 1年前 已收到1个回答 举报

bingo181 幼苗

共回答了19个问题采纳率:89.5% 举报

mov ax,offset x
把标号x的偏移量送入ax,x是code段的第一条指令,所以offset x为0
mov ax,x
把标号x处的一个字单元送入ax,mov ax,0翻译成机器码是B8 00 00,所以
mov ax,x 执行后ax=00b8h
除非标号x的偏移量是b8h否则两条指令的AX值是不同的.

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.013 s. - webmaster@yulucn.com