我正在尝试编写一个简单的 MIPS 程序来添加十六进制数,但我一直收到错误
I am trying to write a simple MIPS program that will add hexadecimal numbers, but I keep getting an error
我正在编写一个简单的 MIPS 代码来添加两个十六进制值并将结果存储在寄存器中。我是 MIPS 的新手,所以我无法找到对我收到的错误消息的修复。任何帮助将不胜感激。
.text
.globl main
main: add $t2,$t0,$t1 # add contents of $t0 and $t1, and store result in $t2
li $v0,10 # terminate execution
syscall
错误信息:
Error in C:\Users\smpan\OneDrive\Desktop\Computer\Computer Lab 2\Exercise4_3.asm line 4: Runtime exception at 0x00400000: arithmetic overflow
我的程序目标是尝试验证我的十六进制加法是否正确。我正在添加 0x7FAA3278
和 0x6024CD12
。程序应该存储结果 0xDFCEFF8A
是注册的 $t2
。
第 14 行是包含 main:
的行
该加法的结果太大,无法放入带符号的 32 位值中,CPU 正告诉您这一点。
如果您希望得到一个无符号的结果,或者对两个正数相加的负结果感到满意,可以使用 'add unsigned' 指令。
看这里:
Difference between add and addu
我正在编写一个简单的 MIPS 代码来添加两个十六进制值并将结果存储在寄存器中。我是 MIPS 的新手,所以我无法找到对我收到的错误消息的修复。任何帮助将不胜感激。
.text
.globl main
main: add $t2,$t0,$t1 # add contents of $t0 and $t1, and store result in $t2
li $v0,10 # terminate execution
syscall
错误信息:
Error in C:\Users\smpan\OneDrive\Desktop\Computer\Computer Lab 2\Exercise4_3.asm line 4: Runtime exception at 0x00400000: arithmetic overflow
我的程序目标是尝试验证我的十六进制加法是否正确。我正在添加 0x7FAA3278
和 0x6024CD12
。程序应该存储结果 0xDFCEFF8A
是注册的 $t2
。
第 14 行是包含 main:
该加法的结果太大,无法放入带符号的 32 位值中,CPU 正告诉您这一点。
如果您希望得到一个无符号的结果,或者对两个正数相加的负结果感到满意,可以使用 'add unsigned' 指令。
看这里:
Difference between add and addu