有关“mov ax,bx”的一些疑问!
在一次编程中,写了一条“mov ax,es”,masm不给通过。老师一看,说寄存器之间不能直接传值。这个问题就让我很郁闷。
大家知道,cpu寄存器是内存中最快的了,可是显然如果寄存器之间不能传值,那么很多数据传递非要经过主存,速度不还是被降低了?
我的问题有两个:
1。不能出现“mov ax,es”,是masm5.0编译时候的一种不允许语句?还是对于cpu来说,就不存在直接传递两个寄存器值的硬件电路?
2。如果是cpu的问题,这样设计是问什么?
如果是masm不允许,那这样又是为什么?
期待各位解答!