单选题 假设相对寻址的转移指令占两个字节,第一个字节为操作码,第二个字节为位移量(用补码表示),每当CPU从存储器取出一个字节时,即自动完成(PC)+1→PC。若当前指令地址是3008H,要求转移到300FH,则该转移指令第二个字节的内容应为______;若当前指令地址为300FH,要求转移到3004H,则该转移指令第二字节的内容为______。
  • A.05H,F2H
  • B.07H,F3H
  • C.05H,F3H
  • D.07H,F2H
【正确答案】 C
【答案解析】[解析] 由于相对寻址的转移指令占两个字节,因此每次取完指令,PC的值自动加2。当前指令地址是3008H,取指结束后,PC的内容变为300AH,如果要求转移到300FH,则第二个字节的位移量应该为+5(A代表10,F代表15,15-10=+5),+5的二进制表示为00000101,即05H。 如果当前指令地址为300FH,二进制为0011 0000 0000 1111,取指结束之后,PC的值加2,即0011 0000 0001 0001,转换成十六进制为3011H。如果要求转移到3004H,其实只需要比较最后一个字节即可,当前PC值是0001 0001,需要转移到0000 0100(04H),前者十进制为17,后者十进制为4,第二字节的位移量应该是-13。-13的二进制补码表示为1111 0011,即F3H。 这里还有一个极其重要的考点,就是如果这里的转移指令占3个字节,题目难度又提高了,因为考查了补码的补位原则,即高位需要补符号位。寄存器中所存储的内容即为操作数的有效地址,且此有效地址为主存单元地址。