我正在尝试编写一个可以添加 2 个数字的代码,即使它们是 32 位长。但是,如果我添加两个 32 位数字,或者如果我添加两个组成 32 位数字的数字(如 2bi + 2bi),我的程序将无法工作。在第一种情况下,我收到“Invalid Interger Input”错误,在第二种情况下,我收到“Arithmetic Overflow”错误。我认为第 32 位用于“+”或“-”信号。我怎样才能解决这个问题?
li $v0, 4
la $a0, primeiro.num #asks for the first number
syscall
li $v0, 5
syscall
move $s0, $v0
li $v0, 4
la $a0, segundo.num #asks for the second number
syscall
li $v0, 5
syscall
move $s1, $v0
blt $s1, $zero, erro_num_neg
add $s2, $s0, $s1