例1、 某机指令格式如图所示:
图中X为寻址特征位,且X=0时,不变址;X=1时,用变址寄存器X1进行变址;X=2时,用变址寄存器X2进行变址;X=3时,相对寻址。设(PC)=1234H,(X1)=0037H,(X2)=1122H,请确定下列指令的有效地址(均用十六进制表示,H表示十六进制)
(1)4420H (2)2244H (3)1322H (4)3521H (5)6723H
解: 1)X=00 , D=20H ,有效地址E=20H
2) X=10 , D=44H ,有效地址E=1122H+44H=1166H
3) X=11 , D=22H ,有效地址E=1234H+22H=1256H
4) X=01 , D=21H ,有效地址E=0037H+21H=0058H
5)X=11 , D=23H ,有效地址 E=1234H+23H=1257H`
例2、 某机字长16位,存储器直接寻址空间为128字,变址时的位移量为-64~+63,16个通用寄存器均可作为变址寄存器。设计一套指令系统格式,满足下列寻址类型的要求:
(1) 直接寻址的二地址指令3条;
(2) 变址寻址的一地址指令6条
(3) 寄存器寻址的二地址指令8条
(4) 直接寻址的一地址指令12条
解:(1)在直接寻址的二地址指令中,根据题目给出直接寻址空间为128字,则每个地址码为7位,3条这种指令的操作码为00,01和10,剩下的11可作为下一种格式指令的操
00 3条
11
(2)在变址寻址的一地址指令中,根据变址时的位移量-64~+63,形式地址A取7位。根据16个通用寄存器可作为变址寄存器,取4位作为变址寄存器R的编号。剩下的5位可做为操作码。6条这种指令的操作码为11000~11101,剩下的两个编码11110~111111可作为扩
11000 6条
11101
(3)在寄存器寻址的二地址指令中,两个寄存器的地址共8位,
剩下的8位可做为操作码,比格式(2)的操作码扩展了3位。8条这种指令的操作码为11110000~11110111。剩下的11111000~11111111这8个编码可做为扩展用。
11110000 8条 1111011111110000 8条
(4)在直接寻址的一地址指令中,除去7位的地址码外,可有9位操作码,比格式(3)的操作码扩展了1位,与格式(3)剩下的8个编码组合,可构成16个9位编码。以11111作为格式(4)指令的操作码特征位,12条这种指令的操作码为111110000~111111011,剩下的111111100~111111111可作为扩展用。