用mips代码完成任意8种算术运算和任意8种逻辑运算
时间: 2023-06-12 15:04:13 浏览: 113
以下是用 MIPS 汇编语言实现的任意8种算术运算和任意8种逻辑运算的代码示例:
算术运算:
1. 加法 (add)
```
# $s0 = $s1 + $s2
add $s0, $s1, $s2
```
2. 减法 (sub)
```
# $s0 = $s1 - $s2
sub $s0, $s1, $s2
```
3. 乘法 (mul)
```
# $s0 = $s1 * $s2
mul $s0, $s1, $s2
```
4. 除法 (div)
```
# $s0 = $s1 / $s2
div $s1, $s2
mflo $s0
```
5. 取模 (rem)
```
# $s0 = $s1 % $s2
div $s1, $s2
mfhi $s0
```
6. 移位 (sll)
```
# $s0 = $s1 << 2
sll $s0, $s1, 2
```
7. 逻辑右移 (srl)
```
# $s0 = $s1 >> 2
srl $s0, $s1, 2
```
8. 算术右移 (sra)
```
# $s0 = $s1 >> 2
sra $s0, $s1, 2
```
逻辑运算:
1. 与 (and)
```
# $s0 = $s1 & $s2
and $s0, $s1, $s2
```
2. 或 (or)
```
# $s0 = $s1 | $s2
or $s0, $s1, $s2
```
3. 异或 (xor)
```
# $s0 = $s1 ^ $s2
xor $s0, $s1, $s2
```
4. 非 (not)
```
# $s0 = ~$s1
nor $s0, $s1, $zero
```
5. 等于 (seq)
```
# if($s1 == $s2) $s0 = 1; else $s0 = 0;
seq $s0, $s1, $s2
```
6. 不等于 (sne)
```
# if($s1 != $s2) $s0 = 1; else $s0 = 0;
sne $s0, $s1, $s2
```
7. 大于等于 (sge)
```
# if($s1 >= $s2) $s0 = 1; else $s0 = 0;
sge $s0, $s1, $s2
```
8. 小于等于 (sle)
```
# if($s1 <= $s2) $s0 = 1; else $s0 = 0;
sle $s0, $s1, $s2
```
阅读全文