Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 以下说明有什么问题?_Assembly_Mips_Mips64 - Fatal编程技术网

Assembly 以下说明有什么问题?

Assembly 以下说明有什么问题?,assembly,mips,mips64,Assembly,Mips,Mips64,在查看我过去的试卷时,我被一个问题卡住了。问题是“以下说明有什么问题吗?” .text dadd r2,r0,10 j r3 dsub r4,r1,N(r0) 这将取决于您使用的汇编程序。但如果我们假设您使用的是严格按照原样查看指令的汇编程序: dadd r2,r0,10 dadd指令将三个寄存器作为其操作数。对于操作数r2,r0,10,您将使用daddi(双字加法立即数) j指令需要一个绝对地址(即j some_label)。对于寄存器间接跳转,可以使用jr指令 与d

在查看我过去的试卷时,我被一个问题卡住了。问题是“以下说明有什么问题吗?”

.text
   dadd r2,r0,10
   j r3
   dsub r4,r1,N(r0)

这将取决于您使用的汇编程序。但如果我们假设您使用的是严格按照原样查看指令的汇编程序:

dadd r2,r0,10
dadd
指令将三个寄存器作为其操作数。对于操作数
r2,r0,10
,您将使用
daddi
(双字加法立即数)


j
指令需要一个绝对地址(即
j some_label
)。对于寄存器间接跳转,可以使用
jr
指令


dadd
一样,
dsub
也将三个寄存器作为其操作数。据我所知,没有一种
dsub
变体接受内存位置作为其操作数之一。此指令必须一分为二(例如,
ld r4,N(r0)
,然后是
dsub r4,r1,r4

j r3
dsub r4,r1,N(r0)