【问题标题】:How to add negative numbers in mips assembly language?如何在 mips 汇编语言中添加负数?
【发布时间】:2016-04-02 21:49:16
【问题描述】:

我需要对一个负数和正数数组求和,我需要将这些值存储在一个负数和一个正数中。我将如何添加负数或将它们放入数组中?可以像正常数字一样完成吗?不寻找任何代码只是一个提示。

【问题讨论】:

  • 是的,和往常一样。您将使用二进制补码,但您不需要做任何特别的事情。你为什么不先尝试一下?
  • 它没有工作,所以现在肯定有其他问题。我不断收到这三个错误消息。异常发生在 pc=0x00400030
  • 听起来是时候使用调试器了。

标签: assembly mips


【解决方案1】:

我有这段代码,您可以使用它在数组中添加负值和正值。和存储在寄存器 t3 中,它是一个负值。我使用循环将值相加。

.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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-16
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多