白小奕 发表于 2016-9-16 11:35:41

关于[bx]的疑惑

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

mov ax,和mov ax,这两条指令怎么区分呢?
在看小甲鱼视频的这部分时听着挺糊涂的,这两条指令分别再生么情况下使用才是正确的呢?
希望各位帮助,谢谢!

千亩计者 发表于 2016-9-16 12:39:15

本帖最后由 千亩计者 于 2016-9-16 12:50 编辑

本质上都是将地址ds:处的数据赋给ax,bx是能够拿来存放偏移地址的寄存器,这样的寄存器学到后面还有si,di,

白小奕 发表于 2016-9-16 21:53:56

千亩计者 发表于 2016-9-16 12:39
本质上都是将地址ds:处的数据赋给ax,bx是能够拿来存放偏移地址的寄存器,这样的寄存器学到后面还有si, ...

在小甲鱼老师的一期视频中提到“mov ax,在debug运行的结果是mov ax,2,如果要正确运行的话就要写成mov bx,2mov ax,",关于这个我不太明白,还希望您能详细讲一下,谢谢!

千亩计者 发表于 2016-9-16 23:22:05

本帖最后由 千亩计者 于 2016-9-16 23:33 编辑

白小奕 发表于 2016-9-16 21:53
在小甲鱼老师的一期视频中提到“mov ax,在debug运行的结果是mov ax,2,如果要正确运行的话就要写成mov ...

恩恩,是的。当你在记事本编写汇编程序时,通常都是用bx,si,di来存放偏移地址,如果直接mov ax,这样编译器是识别不出来的,而在用-a指令往debug中写入指令时就可以用mov ax,了,这时编译器就认识了。就是在不同的地方用不同的格式

白小奕 发表于 2016-9-16 23:59:46

哦哦,明白了,谢谢!

anyueqingcheng 发表于 2016-9-19 11:58:53

mov ax,masm编译器不通的 编译器要求的是mov ax,

白小奕 发表于 2016-9-19 16:34:09

anyueqingcheng 发表于 2016-9-19 11:58
mov ax,masm编译器不通的 编译器要求的是mov ax,

嗯嗯,谢谢

Maru 发表于 2016-9-20 20:17:11

有数字的那个是在debug里能识别的,但masm会将它识别为数字存入寄存器,所以用bx代替,把数字放入bx就好。{:10_334:}
页: [1]
查看完整版本: 关于[bx]的疑惑