某16位机器所使用的指令格式和寻址方式如下所示,该机有四个20位基址寄存器,十六个16位通用寄存器(可用做变址寄存器)。指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存的一个单元。三种指令的操作码分别是MOV(OP)=(A)H,STA(0P)=

admin2018-07-17  35

问题 某16位机器所使用的指令格式和寻址方式如下所示,该机有四个20位基址寄存器,十六个16位通用寄存器(可用做变址寄存器)。指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存的一个单元。三种指令的操作码分别是MOV(OP)=(A)H,STA(0P)=(1B)H,LDA(OP)=(3C)H。:MOV是传送指令,STA为写数指令,LDA为读数指令。

下列情况中,每个十六进制指令字分别代表什么操作?若有指令编码不正确,如何改正i才能成为合法指令?
①(FOF1)H(3CD2)H②(2856)H③(6DC6)H④(1C2)H

选项

答案根据已知条件:MOV(OP)=001010,STA(OP)=011011,LDA(OP)=111100,将指令的十六进制格式转换为二进制代码且比较后可知: ①(FOF1)H(3CD2)H=1111 00|00|1111 0001 0011 1100 1101 0002,指令代表LDA指令,编码正确,其含义是把主存(13CD2)H地址单元的内容取至15号寄存器。 ②(2856)H=0010 10|00|0101| 0110指令代表MOV指令,编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。 ③(6DC6)H=0110 11|01 |1100 |0110是单字长指令,一定是MOV指令,但编码错误,可改正为(29C6)H。 ④(1C2)H=0000 00|01|1100|0010是单字长指令,代表MOV指令,但编码错误,可改正为(29C2)H

解析
转载请注明原文地址:https://kaotiyun.com/show/qfRi777K
0

最新回复(0)