Assembly 加载单词和移动之间的区别?
两者的区别是什么Assembly 加载单词和移动之间的区别?,assembly,mips,nios,Assembly,Mips,Nios,两者的区别是什么 ldw r8,0(r4) 及 mov r8、r4 Load word表示“从内存复制”,但当Load word从r4复制时,它是从寄存器复制,而不是从内存复制,对吗?lw指令(我假设这就是您的意思,因为ldw不是标准的MIPS指令,尽管在这个答案的上下文中,所有的加载都是类似的)从0+r4指定的内存地址加载一个字,而move1只需将r4的值传输到r8 例如,假设r4当前是1234,存储在内存中1234的单词是5678 因此,区别在于: move r8, r4
ldw r8,0(r4)
及
mov r8、r4
Load word表示“从内存复制”,但当Load word从r4复制时,它是从寄存器复制,而不是从内存复制,对吗?lw指令(我假设这就是您的意思,因为
ldw
不是标准的MIPS指令,尽管在这个答案的上下文中,所有的加载都是类似的)从0+r4
指定的内存地址加载一个字,而move
1只需将r4
的值传输到r8
例如,假设r4
当前是1234
,存储在内存中1234
的单词是5678
因此,区别在于:
move r8, r4 ; r8 is now 1234
lw r8, 0(r4) ; r8 is now 5678
1移动
指令“实际上是一条伪指令,move$rt,$rs
被编码为addi$rt,$rs,0
谢谢你的回答,这正是我所想的,为什么我的r8在处理来自测试函数的调用时总是0?背景是这里和这里@Nick,仔细看你的另外两个问题,testmytime
的初始值为零。它似乎只在每次测试迭代中使用所有的randr
和其他随机的东西进行更改。