鱼C论坛

 找回密码
 立即注册
查看: 4734|回复: 4

关于mov ax,[bx] 和mov al,[bx]的一些疑惑。

[复制链接]
发表于 2011-5-23 15:33:51 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 loop 于 2011-5-29 23:30 编辑

在寄存器中放入某单元地址的值时,假设段地址为ds = ffff;bx = 00;那么mov ax,[bx]是将ffff:0中的值放在ax的高位或者低位还是将ffff:0中和ffff:0001中的值一起放到ax中?mov al,[bx]这语句又是怎么回事?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-23 15:48:20 | 显示全部楼层
相当于传送ffff:0和ffff:1两个字节,高字节放在高位地址,低字节放在低位地址,mov al,[bx],只是传送一个字节,因为al是一个字节!就是传送ffff:0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-23 16:44:02 | 显示全部楼层
这是看你寄存器的格式的。如果是bx,则以字的形式传送;如果是bl(或bh),则以字节的形式传送。
当语句中没有出现常用寄存器时,如mov ds:[0], 0h,这样写就是错的,必须要加上传送的形式:mov word ptr ds:[0], 0h, 或者mov byte ptr ds:[0], 0h.
还有一种情况是特殊的,就是进出栈的时候,无需注明传送类型,默认为字传送。push ax; push ds:[0]这些都是默认以字的形式push入栈。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-5-23 17:08:35 | 显示全部楼层
回复 fishz 的帖子

额,好复杂啊。。。。基本是知道了,谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-5-23 17:11:01 | 显示全部楼层
回复 weixianlang 的帖子

嗯,谢谢了。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-18 20:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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