某计算机有16个通用寄存器,采用32位定长指令字,操作码字段(含寻址方式位)为8位,Store指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址方式。若基址寄存器可使用任一通用寄存器,且偏移量用补码表示,则Store指令中偏移量的取值范围是____

admin2015-12-30  38

问题 某计算机有16个通用寄存器,采用32位定长指令字,操作码字段(含寻址方式位)为8位,Store指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址方式。若基址寄存器可使用任一通用寄存器,且偏移量用补码表示,则Store指令中偏移量的取值范围是_______。

选项 A、-32768~+32767
B、-32767~+32768
C、-65536~+65535
D、-65535~+65536

答案A

解析 采用32位定长指令字,其中操作码为8位,两个地址码一共占用32-8=24位,而Store指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址,机器中共有16个通用寄存器,则寻址一个寄存器需要log216=4位,源操作数中的寄存器直接寻址用掉4位,而目的操作数采用基址寻址也要指定一个寄存器,同样用掉4位,则留给偏移址的位数为24-4-4=16位,而偏移址用补码表示,16位补码的表示范围为-32768~+32767,选A。
转载请注明原文地址:https://kaotiyun.com/show/psRi777K
0

最新回复(0)