5.2
- A
三地址指令29条,需要18位作为地址和至少5位作为地址码。二地址指令107条,需要12位作为地址和至少7位作为地址码。指令字长至少应该是24(按照字节编址) - A
寄存器直接寻址需要4位寄存器标号,基址寻址也需要4位寄存器标号,剩余16位可用于表示偏移量,使用补码表示则范围为-32768~32767。 - A
16位定长指令,48条指令至少需要6位指令码,4种寻址方式需要2位标识,剩余8位可寻址范围为0~255。 - C
- C
- A
- D
- D
- D
注意本题为大端序,LSB位于高地址处。 - B
- C
无符号整数大于则ZF=0,CF=0。 - A
- 略
5.3
- 指令是用户使用计算机与计算机本身运行的基本功能单位。指令系统是计算机系统性能的几种体现,是计算机软、硬件的设计基础。
- 计算机设计多种操作数寻址方式是为了提升寻址的灵活性,同时可以在一定程度上减少地址寻址所使用的指令位数。
- 作为寻址方式字段给出。
- 基址寻址面向系统,用于程序的重定位和扩展程序空间。变址寻址面向用户,主要解决程序循环问题。二者在计算有效地址的方式上相似,但基址寄存器的基址值一般不变且形式地址表示的偏移量位数较短,偏移范围较小;而变址寄存器的值可以改变,偏移量位数足以表示整个存储空间。
- 略
- 定长指令便于机器解码执行,结构规整,有利于设计硬件,但不容易扩展。变长指令灵活,但不易解码。
- 指令的地址码指的是指令中用于寻址的地址值,通常指定操作数的地址,地址码的字段的作用随着指令类型和寻址方式的不同而不同。指令中的操作码用于区分不同功能的指令,标识指令的种类。
5.4
- 立即数
- 直接
- 寄存器
- 寄存器间接
注:寻址方式区分技巧
需要两次找其他值的是间接。间接寻址指的是操作数地址的地址在主存,寄存器间接寻址指的是操作数地址在寄存器,前一个需要两次访问主存,后一个需要首先访问寄存器再访问主存。
5.5
- 操作数地址码由寻址方式字段和寄存器号字段组成。16个通用寄存器需要4位标识,8种寻址方式需要3位标识,剩余字段数量为9位,故单操作数指令最多为512条。
- 4条。
- 0~7,对于直接寻址,应该是使用寻址方式这3位来寻址。
- 变址寻址考虑到寄存器16位,因此寻址范围为216个字即64KW。
5.6
- 若操作码字段不固定,已经设计出m条双操作数指令,n条无操作数指令。对于双操作数指令,有4位可用于标识指令码,现在已经设计了m条,还剩下16-m种前4位的组合可以用于单操作数指令和无操作数指令。对于单操作数指令,有10位可用于标识指令码,去除前4位,不管无操作数指令,可知单操作数指令对于指令前10位一共有(16-m)×64种组合可用。还需要考虑到无操作数指令,无操作数指令全部16位都可以用于标识指令码,则前10位的一种组合可设计64条无操作数指令,那么n条无操作数指令一共需要占用单操作数指令前10位组合中的种组合,故单操作数指令一共可以设计条。
- 双操作数指令取最大数为15,因为要留出一种前4位的组合给单操作数指令和无操作数指令,单操作数指令取最大数为63,因为要留出一种前10位的组合给无操作数指令。此时无操作数指令最多只能设计64条。
5.7
- 290-256-3=31,转移指令第二个字节为0x1F,第三个字节为0。
- 110-128-3=-31,转移指令第二个字节为0xE1,第三个字节为0xFF。
5.8
- 4420H=0100 0100 0010 0000=010001 00 00100000,寻址方式为直接寻址,形式地址为0x20,有效地址为0x20。
- 2244H=0010 0010 0100 0100=001000 10 01000100,寻址方式为变址寄存器X2变址,形式地址为0x44,有效地址为0x1122+0x44=0x1166。
- 1322H=0001 0011 0010 0010=000100 11 00100010,寻址方式为相对寻址,形式地址为0x22,有效地址为0x1234+2+0x22=0x1258。
- 3521H=0011 0101 0010 0001=001101 01 00100001,寻址方式为变址寄存器X1变址,形式地址为0x21,有效地址为0x37+0x21=0x58。
5.9
- 增加的32条指令中的前6位不能与原来的60条指令中的任意一条的前6位相等,否则会冲突,因此这32条指令的前6位只有4种可能的值,每一种可能的值需要设计8条指令,因此扩展操作码总共9位,这32条指令的操作码为111100000~111111111。
- 平均长度为(60×6+32×9)/92≈7.04。
5.10
add $s0, $a1, $t7。
5.11
略
5.12
- 最多有16条指令,该计算机最多有8个通用寄存器。
- 16位,因为主存空间128KB,含64KW。
- 0~216-1
- 0010 0011 0001 0101=2315H。
5.13
略