服气 发表于 2011-6-29 12:52:30

关于ah,al 和ax的问题

本帖最后由 loop 于 2011-7-3 14:41 编辑

我知道16位cpu 中寄存器的大小为16位高8位为高字节 低八位为低字节
拿ax做个比方吧    ax中的数据时 4F05 也就是说 ah=4F al=05对不 ?
在debug中 显示是不是 054F对不对?
另外问一下 movax 【1000】与mov al 【1000】的匹对位数是不是不一样呢?

幕府幽魂 发表于 2011-6-29 13:20:43

在内存中存放是这样的,低位放在 内存地址中的前面,高位放在地址中的后面,DEBUG在内存中显示的会是054F

sunhopp 发表于 2011-6-29 13:51:02

本帖最后由 sunhopp 于 2011-6-29 13:54 编辑

要弄清楚哦。
通用寄存器是 高位在前,低位在后的哦!!
AX=1234ah=12al=34

如果是内存地址就刚好相反的!
0B4D:0000CD 20 FF 9F 00 9A EE FE-1D F0 4F 03 B1 05 8A 03
                   低--->--->--->--->--->--->--->--->--->--->---->高

我应该没有说错吧!

服气 发表于 2011-6-29 22:25:04

sunhopp 发表于 2011-6-29 13:51 static/image/common/back.gif
要弄清楚哦。
通用寄存器是 高位在前,低位在后的哦!!
AX=1234ah=12al=34


哦 我知道了 肯定是我记反了
高位在前低位在后
另外我找到了一个参考
嘻嘻 分享一下《EAC5000通讯规约》有空研究下哈哈
谢谢你

milorguan 发表于 2011-7-3 10:55:41

大哥,你那两条指令执行后,al的赋值是一样的,CPU是从高位到低位读取的
页: [1]
查看完整版本: 关于ah,al 和ax的问题