当前位置:编程学习 > 汇编语言 >>

汇编si和ax的区别?

数据段添加: word db 10 db 20 如果代码段添加: mov ax,1 lea dx,word[ax];编译报错了 如果代码段添加: mov si,1 lea dx,word[si];编译通过了 为什么ax不行?
答案:写在方括号里面,当做地址来用,只有:BX、BP、SI、DI。
别的,都不行。
这是指令系统里面规定的。 

AX,虽然不能当做地址用,但是它也有专长。
乘法、除法,就必须使用AX。
其他:si和di 是间接地址寄存器, [si] ,[di] 就是间接引用地址。
而ax不是,ax是快速寄存器,计算、传送用,又称累加器。 AX不能用作间接寻址寄存器,这是16位汇编的限制! 

上一个:为什么有的源码无法编译生成安装软件 别的源码可以?
下一个:跪求罗云彬大叔win32汇编光盘上的全部资料!810515827@qq.com

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,