鱼C论坛

 找回密码
 立即注册
查看: 3028|回复: 10

用mov ax,【0001】时,为什么要拖入一个高位?

[复制链接]
发表于 2011-2-6 12:56:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 h2995527 于 2011-2-6 13:01 编辑

为什么不是 高八位 全补0
mov ax,【0001】要 赋ax的值 只是0001 ,并没有要赋值 0002的值给AX。
为什么还要 托 高八位给 AX?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-6 13:48:22 | 显示全部楼层
对吖,mov ax,[0001]在debug里被当做数值1而不是内存地址。所以1的2进制码放在低八位,高八位全补0吖。
额。。不知道我说没说错额..
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-2-6 13:50:19 | 显示全部楼层
你说错的, 你说的是 mov ax,0001
和       mov ax,[0001]
是不一样的:loveliness:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-6 14:32:56 | 显示全部楼层
回复 3# h2995527


    是一样的吖。。额。。我表达能力有限。。:'(

十六进制的1是一个字节吧,自然放在低八位的吖。高八位补0.。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-8 15:07:25 | 显示全部楼层
因为 ax寄存器是16位的寄存器  mov运算操作前后操作数必须匹配  所以要把0002的高8位也传过去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-8 15:09:30 | 显示全部楼层
补充下  如果你只要赋值低8位  要用mov al,[0001] 这样只会把偏移地址为0001的字节传过去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-8 21:01:45 | 显示全部楼层
[0001]是一个字节单元~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-8 21:01:56 | 显示全部楼层
ax是一个字单元咯~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-10 15:39:38 | 显示全部楼层
来学习一下!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-9-19 10:36:58 | 显示全部楼层
随便看看,收藏丶东西,这是很好的习惯。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-20 01:29:49 | 显示全部楼层
mov运算操作前后操作数必须匹配
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 14:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表