汇编高手请近看看小弟的问题.

来源:百度知道 编辑:UC知道 时间:2024/05/07 14:02:48
为什么操作数的有效地址在寄存器相对寻址方式介绍中定义为一个基址或变址寄存器的内容和指令中指定的8位或16位位移量之和.
而在基址变址寻址方式中的阐释又为:操作数的有效地址是一个基址寄存器和一个变址寄存器的内容之和.而在相对基址变址寻址方式中又阐释为:操作数的有效地址是一个基址寄存器和一个变址寄存器的内容和8或16位位移量之和.
我想问的是,同样说的是操作数的有效地址为什么有如此多的不同的定义.
亟盼赐教~~
那我想问一下病态残喘兄,那算出来的结果是一样的麽?

当然不一样了,寻址方式都各不相同,怎么可能用同样的物理地址算法啊?

基址(或者变址)寻址时,只使用了一个寄存器(不算段寄存器),里面存放了偏移地址(相对段基址的偏移),而偏移量是相对偏移地址还有偏移,它在指令中直接给出,没有被存放,所以物理地址等于“段基址X10H+偏移地址+偏移量”

基址变址寻址方式中,使用了两个寄存器(不算段寄存器),偏移地址(相对段基址的偏移)存放在基址寄存器中,相对偏移地址的偏移放在变址寄存器里,当然算法跟前面不一样。

不同的 寻址方式下 操作数的有效地址不同。这么说能理解吗?

操作数的地址就是一个十六进制数字,其绝对位置是相同的,不同的是寻址方式。
举个例子,你是操作数,你的家庭住址是绝对地址,
寻址方式相当于去你家的方式,这个有效地址就相当于去你家的路径。

比如我从你家东边1000米的地方去你家,我从我家去你家,这些方式可能使不同的所以会有不同的寻址方式。