问答题

某16位计算机中,带符号整数用补码表示,数据Cache和指令Cache分离。下表给出了指令系统中部分指令格式,其中Rs和Rd表示寄存器,mem表示存储单元地址,(x)表示寄存器x或存储单元x的内容。 指令系统中部分指令格式 指令系统中部分指令格式 名称 指令的汇编格式 指令功能 加法指令 ADD Rs,Rd (Rs)+(Rd)→Rd 算术/逻辑左移 SHL Rd 2*(Rd)→Rd 算术右移 SHR Rd (Rd)/2→Rd 取数指令 LOAD Rd,mem (mem)→Rd 存数指令 STORE Rs,mem (Rs)→mem 该计算机采用5段流水方式执行指令,各流水段分别是取指(IF)、译码/读寄存器(ID)、执行/计算有效地址(EX)、访问存储器(M)和结果写回寄存器(WB),流水线采用“按序发射,按序完成”方式,没有采用转发技术处理数据相关,并且同一个寄存器的读和写操作不能在同一个时钟周期内进行。请回答下列问题。 若int型变量x的值为-513,存放在寄存器R1中,则执行指令“SHR R1”后,R1的内容是多少(用十六进制表示)

【参考答案】

x的机器码为[x]补=1111 1101 11 11 11 11B,即指令执行前(R1)=FDFFH,右移1位后为11 ......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)