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

OICQshenshi 2012-02-13 10:14:53
XOR [BX],[BX]


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

还有
AND AX,[CX]
为何寄存器间接寻址方式不允许用CX呢?
...全文
259 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
masmaster 2012-02-14
  • 打赏
  • 举报
回复
假如BX=1000H,那么,[BX]表示的就是起始地址为DS段偏移地址为1000H的内容。所谓指针就是地址。在80386或更高的处理器里,就支持了[AX],[CX]这样的寻址了,在16位汇编里,这是不允许的。
「已注销」 2012-02-14
  • 打赏
  • 举报
回复
好了,楼主我懂你的意思,那是指针问题。寄存器间接寻址
gsy999 2012-02-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 oicqshenshi 的回复:]
引用 1 楼 gsy999 的回复:

引用楼主 oicqshenshi 的回复:
Assembly code
XOR [BX],[BX]


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

没有XOR [BX],[BX]指令

知道这句是错误的,主要问[BX]为何是在存储器中
[/Quote]
不存在的指令如何能回答出正确的答案.
如果非要有个结果,那可能的答案是:指令的设计者就是这样设计的.
hztj2005 2012-02-13
  • 打赏
  • 举报
回复
编译器就这个约定的。
如果你写一个编译器,改为(BX)也行。

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

cpu中没有这中电路。
  • 打赏
  • 举报
回复
这个应该看汇编器吧, 看指定版本汇编器对不同寻址方式在语法上如何表示,结合汇编器的说明应该能明白。
我记得用masm的时候寄存器加上方括号就表示寄存器内的值作为一个指针,方括号就相当于指针解引用。

被我误导了别怪我
火雲邪神 2012-02-13
  • 打赏
  • 举报
回复
xor the memory
OICQshenshi 2012-02-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gsy999 的回复:]

引用楼主 oicqshenshi 的回复:
Assembly code
XOR [BX],[BX]


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

没有XOR [BX],[BX]指令
[/Quote]
知道这句是错误的,主要问[BX]为何是在存储器中
gsy999 2012-02-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 oicqshenshi 的回复:]
Assembly code
XOR [BX],[BX]


BX不是寄存器吗,为什么教材说[BX]是在存储器中呢?
[/Quote]
没有XOR [BX],[BX]指令

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧