某16位计算机的主存按字节编码,存取单位为16位;采用16位定长指令字格式;CPU采用单总线结构,主要部分如下图所示。图中R0~R3为通用寄存器;T为暂存器;SR为移位寄存器,可实现直送(mov)、左移一位(left)和右移一位(right)3种操作,控制

admin2015-12-30  56

问题 某16位计算机的主存按字节编码,存取单位为16位;采用16位定长指令字格式;CPU采用单总线结构,主要部分如下图所示。图中R0~R3为通用寄存器;T为暂存器;SR为移位寄存器,可实现直送(mov)、左移一位(left)和右移一位(right)3种操作,控制信号为SRop,SR的输出由信号SRout控制;ALU可实现直送A(mova)、A加B(add)、A减B(sub)、A与B(and)、A或B(or)、非A(not)、A加1(inc)7种操作,控制信号为ALUop。

以上描述的计算机,其部分指令执行过程的控制信号如下图所示。

该机指令格式如下图所示,支持寄存器直接和寄存器间接两种寻址方式,寻址方式位分别为0和1,通用寄存器R0~R3的编号分别为0、1、2和3。

请回答下列问题:
假定inc、shl和sub指令的操作码分别为01H、02H和03H,则以下指令对应的机器代码各是什么?
inc R1;R1+1→R1
shl R1,R2;(R1)<<1→R2
sub R3;(R1),R2;((R1))-(R2)→R3

选项

答案各条指令的机器代码分别如下: ①“inc R1”的机器码为:0000001 0 01 0 00 0 00,即0240H。 ②“sbl R2,R1”的机器码为:0000010 0 10 0 01 0 00,即0488H。 ③“sub R3,(R1),R2”的机器码为:0000011 0 11 1 01 0 10,即06EAH。

解析
转载请注明原文地址:https://jikaoti.com/ti/5kfjFFFM
0

最新回复(0)