用mov ax,【0001】时,为什么要拖入一个高位?
本帖最后由 h2995527 于 2011-2-6 13:01 编辑为什么不是 高八位 全补0
mov ax,【0001】要 赋ax的值 只是0001 ,并没有要赋值 0002的值给AX。
为什么还要 托 高八位给 AX? 对吖,mov ax,在debug里被当做数值1而不是内存地址。所以1的2进制码放在低八位,高八位全补0吖。
额。。不知道我说没说错额.. 你说错的, 你说的是 mov ax,0001
和 mov ax,
是不一样的:loveliness: 回复 3# h2995527
是一样的吖。。额。。我表达能力有限。。:'(
十六进制的1是一个字节吧,自然放在低八位的吖。高八位补0.。。 因为 ax寄存器是16位的寄存器mov运算操作前后操作数必须匹配所以要把0002的高8位也传过去 补充下如果你只要赋值低8位要用mov al, 这样只会把偏移地址为0001的字节传过去 是一个字节单元~ ax是一个字单元咯~ 来学习一下!!! 随便看看,收藏丶东西,这是很好的习惯。 mov运算操作前后操作数必须匹配
页:
[1]