首页 > 试题广场 >

则Store指令中偏移量的取值范围是 ()

[单选题]

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

  • -32768~+32767
  • -32767~+32768
  • -65536~+65535
  • -65535~+65536
楼上居然有人问这么基础的问题,设补码字长n位,则n位补码的取值范围是-2^(n-1)  到   2^(n-1)-1
,因为有一位是符号位,所以要-1。建议回去看看计组,这是最基础的问题了,如果你还不明白为什么正负的取值范围不对称,建议看看原码的取值范围,以及原码表示的缺点
发表于 2018-12-04 18:51:17 回复(0)
采用32位定长指令字,其中操作码为8位,两个地址码一共占用32-8=24位,而Store指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址,机器敏感词有 16 个通用寄存器,则寻址一个寄存器需要log216=4 位,源操作数中的寄存器直接寻址用掉4位, 而目的操作数采用基址寻址也要指定一个寄存器,同样用掉 4 位,则留给偏移址的位数为24-4-4=16 位,而偏移址用补码表示,16 位补码的表示范围为-32768~+32767
发表于 2016-12-02 16:49:16 回复(2)