某计算机字长16位,主存地址空间大小为128KB,按字编址。采用 单 字长指令格式,指令 各 段定义如下 :
15 12 11 6 5 0
OP | Ms | Rs | Md | Rd |
源操作数
目的操作数
转移指令采用相对寻址
方式
,相对偏移
量
用补码表示,寻址
方式
定义如下
:
Ms/Md | 寻址方式 | 助记符 | 含义 |
000B | 寄存器直接 | Rn | 操作数一( Rn ) |
001B | 寄存器间接 | ( Rn ) | 操作数一(( Rn )) |
010B | 寄存器间接、自增 | ( Rn ) + | 操作数一(( Rn )) ( Rn ) +1→Rn |
011B | 相对 | D(Rn) | 转移目标地址一 ( PC ) +(Rn) |
注
:
(X)表示
存储器
地址X或寄存器X的内容,请回答下列问题
:
(1)该指令系统最多可有多少指令?该计算机最多有多少个通用寄存器?存储
器
地址寄存器(MAR)和存储
器
数据寄存器(MDR)至少各需多少位?
⑵转移指令的目标地址范围是多少?
(3)若操作码0010B表示加法操作(助记符为add),寄存器R4和R5得编号分别为100B
和
101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,
地址
5678H中的内容为1234H,则汇编语
句“
add(R4),(R5)
+”
(逗号前为源操作
数
,逗号后目的操作数)对应的机器码是
什么
(十六进制
表示
)?该指令执行后,哪些寄存器和存储单
元
的内容会改变?改变后的内容是
什么
?