小编Met*_*ite的帖子

如何使用MIPS执行64位加法和减法?

我想执行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

assembly mips mips32

3
推荐指数
1
解决办法
6873
查看次数

X86 从 stdin 读取并写入 stdout,无需引用标准库

我是 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 是首选,因为我一直在使用它:) 提前致谢!

x86 stdin stdout system-calls att

2
推荐指数
1
解决办法
7598
查看次数

标签 统计

assembly ×1

att ×1

mips ×1

mips32 ×1

stdin ×1

stdout ×1

system-calls ×1

x86 ×1