关于通用寄存器越界问题
中介是ax寄存器,既然说不能直接把数据放入dx中,为什么又用ax做中介,ax和dx性质不是一样吗
呵呵楼主,你没全面分析,所以才有这个纠结
问题 (一):中介是ax寄存器,既然说不能直接把数据放入dx中,为什么又用ax做中介,ax和dx性质不是一样吗?
你的设想是:为什么不能直接先复制到dx中,在用dx+数值。
分析:如果用直接先复制到dx中,在用dx+数值,这就大错特错了,你看,你加的是一个 8位数据。
比如: dx = dx+8位数据, 这样就会导致 两个运算类型不匹配。 所以要用一个中介,这个中介是通用寄存器, 因为8086cpu的通用寄存器都是16位的。这样类型就匹配了, 所以书上要用个中介。
问题(二): ax和dx性质不是一样吗?
ax和dx,本事是一样的(cx,dx也是), 但是有用编程者使用的方式不同,而导致意义也不同。
比如书上是ax到中介, 那你也可以用bx 或 cx当中介,因为他们都是通用寄存器 所以都可以用来当中介
呵呵,楼主,其实这就是一个思路转换的问题, 当学多了, 写多了,自然而然的就会怎么想了。
加油学习,bye~
页:
[1]