鱼C论坛

 找回密码
 立即注册
查看: 2952|回复: 6

对16位与8位的相加减还是不明白,求大神指导

[复制链接]
发表于 2013-10-5 20:30:11 | 显示全部楼层 |阅读模式

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

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

x
我真的不明白16位跟8位能不能相加,今天做实验题是看到答案的一句add es:[bx],al,就是不明白,es:[bx]不是16位的吗,就是会拉下一个数据当高字节??那这样呢??add al,es:[bx]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-5 20:34:55 | 显示全部楼层
等人回答。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-5 21:03:39 | 显示全部楼层
等待回答····
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-5 21:27:31 | 显示全部楼层
只能同二进制位数的数进行加减
add es:[bx], al 把al8位寄存器的值放入 段地址为es,偏移地址为bx寄存器中的值。比如bx为0,es为1000
那么就是把1000:[0] 也就是10000H处的八位数据传送入al寄存器中
bx是一个16位寄存器,但是[bx]表示的是一个偏移地址,把【】中的值作为偏移地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-5 22:39:52 | 显示全部楼层

刚刚debug了一下,发现mov 【bx】,al是可以的,这是ds:【bx】所代表的值应该就是8位的吧?ds:【bx】代表几位的是不是取决于后面的寄存器啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-5 22:46:56 | 显示全部楼层
Sen哥 发表于 2013-10-5 22:39
刚刚debug了一下,发现mov 【bx】,al是可以的,这是ds:【bx】所代表的值应该就是8位的吧?ds:【bx】代 ...

mov ax, [bx]
mov al,  [bx]
取决于指令的其他对象,由AX或者AL来指出具体内存单元长度。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-7 18:17:17 | 显示全部楼层
谢谢楼主分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 23:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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