在这里想问一下我们的计算机结构考试的一些问题。下面是Mic-1 IJVM的添加命令。我们被要求编写新的iaddtriple
命令,它将添加堆栈的三个顶部字并再次将其存储在堆栈中。
iadd1 MAR = SP = SP − 1; rd Read in next-to-top word on stack
iadd2 H = TOS H = top of stack
iadd3 MDR = TOS = MDR + H;wr;go to Main1 Add two top words, write to top of stack
我的回答是;
iaddtriple1 MAR = SP = SP − 1; rd
iaddtriple2 H = TOS H =
iaddtriple3 H = MDR = TOS = MDR + H
iaddtriple4 MAR = SP = SP − 1;
iaddtriple5 MDR = TOS = MDR + H ; wr;go to Main1
我想问一下我的iaddtriple3
步骤是否合法。我的一位朋友告诉我,H=blabla +H
任务应该是非法的,因此不应该使用。但是数据路径周期的时间图证明了我的正确性。提前谢谢。
iaddtriple3 H = MDR = TOS = MDR + H
答案 0 :(得分:0)
可以执行
H = H + MDR
由于H可以在C总线位中指定,ALU操作是A + B,B寄存器是MDR。实际的微指令是
0003C8000
前两个十六进制数字可以是任意数字,第三个十六进制数字是0或8。