计算机组成原理第五版 白中英(详细)第4章习题参考答案 联系客服

发布时间 : 星期二 文章计算机组成原理第五版 白中英(详细)第4章习题参考答案更新完毕开始阅读0c1c407cb307e87101f69672

第4章习题参考答案

指令 各字段长度 6位 R型 funct I型 lw $t0,1200($t1) add $t0,$s2,$t0 32 sw $t0,1200($t1) 15.将下面一条ARM汇编语言指令翻译成用十进制和二进制表示的机器语言指令:ADD r5,r1,r2

答:已知ARM汇编指令的指令译码格式如下表所示: ADD、SUB、LDR、STR指令的指令译码格式 指令名称 ADD(加) SUB(减) ADD(立即数加) LDR(取字) STR(存字) cond 14 14 14 14 14 F 0 0 0 1 1 I 0 0 1 ? ? opcode 4 2 4 24 25 S 0 0 0 ? ? Rn reg reg reg reg reg Rd reg reg reg reg operand2 reg reg address(12位) address(12位) 3条指令对应的机器语言 机器语言各字段 6位 5位 5位 5位 5位 op rs rt rd shamt op rs rt address 35 9 8 1200 0 18 8 8 0 43 9 8 1200 reg constant(12位) 由此,可得该指令的十进制和二进制的机器语言如下表所示 ADD r5,r1,r2的机器语言 opcode offset 12 cond F Rn Rd I opcode S operand 12 十进制 14 0 0 4 0 1 5 2 二进制 1110 0 0 100 0 0001 0101 0000 0000 0010 16.将下面C语言翻译成ARM汇编语言代码,C赋值语句是:

?=(g+h)-(i+j)

假设变量?、g、h、i、j分别放在寄存器r0、r1、r2、r3、r4中

答:该语句翻译成ARM汇编语句如下:

add r5,r1,r2 ;将g+h的和存入寄存器r5中(r5=r1+r2) add r6,r3,r4 ;将i+j的和存入寄存器r6中(r6=r3+r4) sub r0,r5,r6 ;将结果存入寄存器r0中(r0=r5-r6)

5