在一个36位长的指令系统 中,设计一个扩展操作码,使之能表示下列指令: 1)7条具有两个15位地址和一个3位地址的指令 2)500条具有一个15位地址和一个3位地址的 指令 3)50条无地址指令 (0.7分) 正确答案
1) 7条具有两个15位地址和一个3位地址的指令
OP (3位) A1 (15) A2(15) A3(3) 则OP编码为000--110 111不用,作为标志位用于扩展
2)500条具有一个5位地址和一个3位地址的 指令
OP (3位 + 15) A2(15) A3(3) 高3位为标志位 为 111,相邻的15为进行编码,则OP编码
111 000 000 000 000 000 --111 111 110 011 000 000( 也可是 111 000 000 111 110 011) 其余为标志位用于扩展 3)50条无地址指令
OP (18位 + 18) 则OP编码 为 111 111 110 100 000 000 000 000 000 000 000 000 -111 111 110 100 000 000 000 000 000 000 110 010
或 111 000 000 111 110 011 000 000 000 000 000 000 -111 000 000 111 110 011 000 000 000 000 110 010 14
一条双字长的Load指令存储在地址为200和201的存储位置,该指令将指定的内容装入累加器ACC中。指令的第一个字指定操作码和寻址方式MOD,第二个字是地址部分。寄存器与主存内容示意图如图所示。PC值为200,R1为400,XR为100。
指令的寻址方式字段可指令任何一种寻址方式。问在下列寻址方式中,装入ACC的值。
地址
201 202
200LOAD
主存MOD
500
300
400
500
600
702
800
450
700
800
900
325
300
1)直接寻址 2)立即寻址
3)间接寻址 4)相对寻址 5)变址寻址
6)寄存器R1寻址
7)寄存器R1间接寻址 (0.9分) 正确答案
1)直接寻址 800 2)立即寻址 500 3)间接寻址 300 4)相对寻址 325 5)变址寻址 900
6)寄存器R1寻址 400
7)寄存器R1间接寻址
700