我想执行64位加法和减法:
v1v0(HiLo) = a1a0 + a3a2使用MIPS汇编语言(a1a0(HiLo)第一个64位数字由两个32位数字组成,a3a2(HiLo)是第二个)
我有:
$a0 = 0xffffffff
$a1 = 0x0
$a2 = 0x1
$a3 = 0x0
Run Code Online (Sandbox Code Playgroud)
我是MIPS的初学者,我不知道如何处理携带.有人可以提供解释解决方案吗?
提前致谢!这是我正在使用的指令集:
http://www.cs.uregina.ca/Links/class-info/201/SPIM-IO/MIPSrefCard.pdf
我是 X86 汇编语言的初学者。我知道如何使用内置函数从标准输入读取数据并写入标准输出,但我不确定如何使用简单的汇编代码(即操作寄存器和利用系统调用)来做到这一点。
#include <stdio.h>
#include <unistd.h>
int main(){ /* copy input to output */
char buf[BUFSIZ];
int n;
while ((n = read(0, buf, BUFSIZ)) > 0)
write(1, buf, n);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是我编写的 C 代码,首先从标准输入(由数字 0 表示)读取,然后写入标准输出(由数字 1 表示)。有人可以帮我将其转换为纯汇编代码(请不要“调用读取”和“调用写入”)吗?
语法并不重要,但 32 位 AT&T 是首选,因为我一直在使用它:) 提前致谢!