鱼C论坛

 找回密码
 立即注册
查看: 2421|回复: 7

关于[bx]的疑惑

[复制链接]
发表于 2016-9-16 11:35:41 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 白小奕 于 2016-12-12 19:40 编辑

mov ax,[2]和mov ax,[bx]这两条指令怎么区分呢?
在看小甲鱼视频的这部分时听着挺糊涂的,这两条指令分别再生么情况下使用才是正确的呢?
希望各位帮助,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-9-16 12:39:15 | 显示全部楼层
本帖最后由 千亩计者 于 2016-9-16 12:50 编辑

本质上都是将地址ds:[2]处的数据赋给ax,bx是能够拿来存放偏移地址的寄存器,这样的寄存器学到后面还有si,di,
捕获.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-16 21:53:56 | 显示全部楼层
千亩计者 发表于 2016-9-16 12:39
本质上都是将地址ds:[2]处的数据赋给ax,bx是能够拿来存放偏移地址的寄存器,这样的寄存器学到后面还有si, ...

在小甲鱼老师的一期视频中提到“mov ax,[2]在debug运行的结果是mov ax,2,如果要正确运行的话就要写成mov bx,2  mov ax,[bx]",关于这个我不太明白,还希望您能详细讲一下,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-16 23:22:05 | 显示全部楼层
本帖最后由 千亩计者 于 2016-9-16 23:33 编辑
白小奕 发表于 2016-9-16 21:53
在小甲鱼老师的一期视频中提到“mov ax,[2]在debug运行的结果是mov ax,2,如果要正确运行的话就要写成mov ...


恩恩,是的。当你在记事本编写汇编程序时,通常都是用bx,si,di来存放偏移地址,如果直接mov ax,[2]这样编译器是识别不出来的,而在用-a指令往debug中写入指令时就可以用mov ax,[2]了,这时编译器就认识了。就是在不同的地方用不同的格式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-16 23:59:46 | 显示全部楼层
哦哦,明白了,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-19 11:58:53 | 显示全部楼层
mov ax,[2]masm编译器不通的 编译器要求的是mov ax,[bx]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-19 16:34:09 | 显示全部楼层
anyueqingcheng 发表于 2016-9-19 11:58
mov ax,[2]masm编译器不通的 编译器要求的是mov ax,

嗯嗯,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-20 20:17:11 | 显示全部楼层
有数字的那个是在debug里能识别的,但masm会将它识别为数字存入寄存器,所以用bx代替,把数字放入bx就好。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 16:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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