mips - 这是一个关于 Mips 程序错误的问题
问题描述
这是一个关于 Mips 程序错误的问题。
这是一个 Mips 编程问题。我创建了过程 f = (g + h)-(i + j),但是当我使用 QTspim 运行代码时,输出此过程结果的语法中出现了一条错误消息。(错误信息是'Exception 12 [Arithmetic overflow]发生并被忽略'。)
为什么我会收到此错误?
.data
a0: .word 1 #g=1, h=2, i=3, j=4, saved in $a0, $a1, $a2, and $a3
a1: .word 2
a2: .word 3
a3: .word 4
str1: .asciiz "The answer is "
.text
.globl main
leaf:
add $t0, $a0, $a1 #Include g+h in register $t0
add $t1, $a2, $a3 #Include i+j in register $t1
sub $s0, $t0, $t1 #f = $t0-$t1 (g + h)-(i + j)
add $v0, $s0, $zero #returns f
jr $ra
main:
sub $sp, $sp, 0 #Create $sp space for local variable creation
li $v0, 4
la $a0, str1
syscall
jal leaf
lw $a0, 0($sp)
li $v0, 1
syscall
exit:
li $v0, 10 # terminate program run and
syscall # Exit
解决方案
推荐阅读
- python-3.x - 如何在循环中从列表中删除项目
- xml - Db2 XML 替换
- reactjs - 如何在 bitbucket 管道上运行环境变量?
- javascript - 如果输入为空,则使 div 显示特定消息
- apache-spark - 将 StopWordsRemover 和 RegexTokenizer 应用于 spark 2.4.3 中的多个列
- python-3.x - 如何通过维护python3中的纵横比来调整图像大小?
- mysql - MySql 选择关节中最近的日期
- css - 是否有可能有一个css网格......增加它的高度以动态适应父容器?
- sql - 如何在不刷新整个页面的情况下引用选择列表(基于 SQL 查询)?顶点 19.1
- flutter - Flutter Facebook 登录:完成但出现错误:Gradle 任务 assembleDebug 失败,退出代码为 1