某计算机指令字长为定长16位内存按字节寻址指令中的数据采用补码表示且PC的值在取指令阶段完成修改。完成下列有关相对寻址的问题。 1若采用相对寻址指令的当前地址为2003H且要求数据有效地址为200AH则该相对寻址指令的地址字段的值为多少 2若采用相对寻址转移指令的当前地址为2008H且要求转移后的目标地址为2001H则该相对寻址指令的地址字段的值为多少
(1) 相对寻址指令的地址字段表示相对于当前指令的偏移量,因此,需要计算目标地址与当前地址之差,即200AH-2003H=7H。由于指令字长为16位,可以表示的最大偏移量是2^15-1=32767,因此需要对偏移量进行符号扩展,即将7H扩展为0000 0000 0000 0111B。因此,该相对寻址指令的地址字段的值为0000 0000 0000 0111B。
(2) 相对寻址转移指令的地址字段表示转移目标地址与当前指令的偏移量的和,因此,需要计算目标地址与当前地址之差,即2001H-2008H=-7H。由于指令字长为16位,可以表示的最小偏移量是-2^15=-32768,因此需要对偏移量进行符号扩展,即将-7H扩展为1111 1111 1111 1001B。因此,该相对寻址转移指令的地址字段的值为1111 1111 1111 1001B。
原文地址: http://www.cveoy.top/t/topic/bslh 著作权归作者所有。请勿转载和采集!