当前位置: 代码迷 >> 汇编语言 >> 请问:mov ax, [0]
  详细解决方案

请问:mov ax, [0]

热度:3302   发布时间:2013-02-26 00:00:00.0
请教:mov ax, [0]
大家好,在看王爽老师写的汇编语言,在第五章中说:
mov ax, [0]
虽然0加了[],但是还是会把0当作立即数。但是同时,在这本书的后面,用了很多的[0],看样子是表示的内存的偏移地址。
那么这里的0,到底是立即数,还是偏移地址呢?
也就是说下面的两种说法,哪个对:
第一个说法:
mov ax, 0

mov ax, [0]
等价。
第二个说法:
mov ax, 0

mov ax, ds:[0]
等价。

------解决方案--------------------------------------------------------
是内存地址,如果没有标记寄存器,则默认是ds,也就是说,等价于MOV AX , DS:[ 0 ]
------解决方案--------------------------------------------------------
第一种说法:错!理由是mov ax,[0]; 将DS:0处字传送至AX;而mov ax,0;将立即数0赋值个AX
第二种说法:对!都是将数据段偏移地址0处数据传送给AX,第一个是默认(如果不显式的指出,CPU默认是数据段),第二个显式的指出啦。
  相关解决方案