问答题
某计算机字长为16位,主存地址空间大小为128KB,按字节编址。采用单字长定长指令格式,指令各字段定义如下图所示:
指令各字段定义
转移指令采用相对寻址方式,相对偏移量用补码表示。寻址方式定义见表1。
表1 寻址方式定义
|
| Ms/Md |
寻址方式 |
助记符 |
含 义 |
| 000B |
寄存器直接 |
Rn |
操作数=R[Rn] |
| 001B |
寄存器间接 |
(Rn) |
操作数=M[R[Rn]] |
| 010B |
寄存器间接、自增 |
(Rn)+ |
操作数=M[R[Rn]],R[Rn]←R[Rn]+1 |
| 011B |
相对 |
D(Rn) |
转移目标地址=PC+R[Rn] |
(注:M[x]表示存储器地址x中的内容,R[x]表示寄存器x中的内容) 若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,现提供寄存器和部分主存单元内容见表2。
| 表2 寄存器和部分主存单元内容 |
| 寄存器或主存地址 |
内 容 |
| R4 |
1234H |
| R5 |
5678H |
| 1234H |
5678H |
| 5678H |
1234H |
则汇编语句“add(R4),
(R5)+”(逗号前为第二源操作数,逗号后为第一源操作数和目的操作数)对应的机器码是多少(用十六进制表示)该指令执行后,哪些寄存器和存储单元的内容会改变改变后的内容是什么
【参考答案】
首先该汇编语句中,操作码为add,对应的操作码OP=0010B。 助记符(R4)说明是寄存器间接寻址,对应的Ms=001......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)