Assembly 如何在mips汇编语言中添加负数?
我需要对一组负数和正数求和,我需要将这些值存储在一个负数和一个正数和中。我该如何准确地添加负数或将它们放入数组中?这能像正常数字一样吗?不寻找任何代码,只是一个提示。我有这段代码,您可以使用它在数组中添加负值和正值。总和存储在寄存器t3中,为负值。我使用了一个循环将这些值相加Assembly 如何在mips汇编语言中添加负数?,assembly,mips,Assembly,Mips,我需要对一组负数和正数求和,我需要将这些值存储在一个负数和一个正数和中。我该如何准确地添加负数或将它们放入数组中?这能像正常数字一样吗?不寻找任何代码,只是一个提示。我有这段代码,您可以使用它在数组中添加负值和正值。总和存储在寄存器t3中,为负值。我使用了一个循环将这些值相加 .data array: .word 1, 3, 5, 7, 9, -11, -13, -15, -17, 19 length: .word 10 sum: .word 0 average:.word 0
.data
array: .word 1, 3, 5, 7, 9, -11, -13, -15, -17, 19
length: .word 10
sum: .word 0
average:.word 0
.text
.globl main
.ent main
main:
la $t0, array #array starting index
li $t1,0 #loop index i=0
lw $t2,length #length of array
li $t3,0 #initializing sum = 0
sumloop:
lw $t4, ($t0) #get array[i]
add $t3,$t3,$t4 #addition sum = sum + array[i]
add $t1,$t1,1 #iteration
add $t0,$t0,4 #update array address
blt $t1,$t2, sumloop #loop stopping condition
sw $t3,sum #store sum in t3
li $v0,10
syscall
.end main
是的,和往常一样。您将使用2的补码,但不需要做任何特殊的操作。你为什么不先试试呢?它不起作用,所以现在肯定还有其他问题。我一直收到这三条错误消息。pc=0x00400030发生异常听起来好像是调试器的时候了。