首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

为什么[BX]的操作数是在存储器中解决办法

2012-03-29 
为什么[BX]的操作数是在存储器中Assembly codeXOR [BX],[BX]BX不是寄存器吗,为什么教材说[BX]是在存储器中

为什么[BX]的操作数是在存储器中

Assembly code
XOR [BX],[BX]


BX不是寄存器吗,为什么教材说[BX]是在存储器中呢?

还有
AND AX,[CX]
为何寄存器间接寻址方式不允许用CX呢?

[解决办法]
探讨
Assembly code
XOR [BX],[BX]


BX不是寄存器吗,为什么教材说[BX]是在存储器中呢?

[解决办法]
xor the memory
[解决办法]
这个应该看汇编器吧, 看指定版本汇编器对不同寻址方式在语法上如何表示,结合汇编器的说明应该能明白。
我记得用masm的时候寄存器加上方括号就表示寄存器内的值作为一个指针,方括号就相当于指针解引用。

被我误导了别怪我
[解决办法]
编译器就这个约定的。
如果你写一个编译器,改为(BX)也行。

为何寄存器间接寻址方式不允许用CX呢?

cpu中没有这中电路。
[解决办法]
好了,楼主我懂你的意思,那是指针问题。寄存器间接寻址
[解决办法]
假如BX=1000H,那么,[BX]表示的就是起始地址为DS段偏移地址为1000H的内容。所谓指针就是地址。在80386或更高的处理器里,就支持了[AX],[CX]这样的寻址了,在16位汇编里,这是不允许的。

热点排行