在查看我过去的试卷时卡在一个问题上。问题是“以下说明有什么问题,如果有的话?”
.text
dadd r2,r0,10
j r3
dsub r4,r1,N(r0)
这取决于您使用的汇编程序。但是,如果我们假设您使用的是严格按原样查看指令的汇编程序:
dadd r2,r0,10
这些dadd
指令将三个寄存器作为其操作数。对于r2,r0,10
您将使用的操作数daddi
(双字添加立即数)。
j r3
该j
指令需要一个绝对地址(即j some_label
)。对于寄存器间接跳转,您将使用该jr
指令。
dsub r4,r1,N(r0)
像dadd
,dsub
也将三个寄存器作为其操作数。据我所知,没有任何变体dsub
接受内存位置作为其操作数之一。该指令必须一分为二(例如ld r4,N(r0)
,后跟dsub r4,r1,r4
)。