汇编中关于寄储器的寻址问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:48:00
本人有几个问题希望可能得到解答

1)在寄存器间接寻址中,物理地址=16*(DS)+(BX),在寄存器相对寻址方式中,物理地址=16*(DS)+(BX)+8位位移量,不知道这8位位移量是从何而来,同样是物理地址,为什么在相对寻址中要加上这个量?
2)一些16痊的偏移量,为何等于一个四位的十六进制数,如2000H,不是应该有16位吗?

1)这个8位的位移量是从指令中得到的,例如:
寄存器间接寻址:mov ax,[bx]
寄存器相对寻址:mov ax,10H[bx]
这个10H就是位移量啊。
象这样的寄存器间接寻址或者相对寻址一般用来访问一个数组。用相对寻址,加上一个位移量,可以把访问的数组空间整体下移啊,画个内存图示比较清楚。
2)“16位”的位移量是说16个二进制位。四位合一位转换成十六进制不就是4为了嘛。
比如2000H,要是用16位来表示不就是0010 0000 0000 0000B嘛