J'essaie d'écrire un programme MIPS qui examinera un ensemble de dix nombres à un seul chiffre (positif, zéro ou négatif) pouvant être saisis par le terminal. Après avoir examiné les numéros , seuls les nombres négatifs (avec le signe approprié) ainsi que leur nombre doivent être sortis vers le terminal.Programme MIPS! J'ai besoin d'aide - je ne sais pas si je fais les choses correctement
EST en dessous de mon MIPS PROGRAMME
.data
prompt: .asciiz "Input Score: "
.align 2
HR_Neg: .asciiz "\n negative Scores: "
.align 2
HR_Pos: .asciiz "\n positive Scores: "
.align 2
HR_Negsc: .asciiz "\n Number of Negative Scores: "
.align 2
HR_Posc: .asciiz "\n Number of positive Scores: "
.align 2
HR_coma: .asciiz ", "
.align 2
HR_brk: .asciiz "\n\n"
.align 2
NEg: .space 10
.align 2
Pos: .space 10
.align 2
.globl main
.text
main:
li $t0, 0
la $t1, Neg
li $t2, 0
la $t3, pos
li $t4, 0
li $t5, 0
li $t6, 0
loop:
li $v0, 4
la $a0, prompt
syscall
li $v0, 5
syscall
bltu $v0, 50, else
sw $v0, 0($t1)
addi $t1, $t1, 4
addi $t0, $t0, 1
b l_end
else:
sw $v0, 0($t3)
addi $t3, $t3, 4
addi $t2, $t2, 1
l_end:
addi $t4, $t4, 1
bltu $t4, 15, loop
#output counts
li $v0, 4
la $a0, HR_negc
syscall
la $v0, 1
add $a0, $t0, 0
syscall
li $v0, 4
la $a0, HR_posc
syscall
la $v0, 1
add $a0, $t2, 0
syscall
#output neg scores
li $v0, 4
la $a0, HR_neg
syscall
la $t1, Neg
lw $a0, 0($t1)
li $v0, 1
... Quel est le problème? Est-ce que ça marche? Cela donne-t-il la sortie attendue? Si non, que se passe-t-il? Quel message d'erreur sort-il? Quel cas de test exécutez-vous qui ne produit pas un résultat attendu? – FrustratedWithFormsDesigner
J'ai appris MIPS pour un cours à l'université, incroyable combien je peux me rappeler –
Non, il n'a pas fonctionné. Et il semble que je fasse quelque chose de mal. J'ai besoin de quelqu'un pour le regarder et laissez-moi savoir ce qui ne va pas avec mon programme ... – kingcross9999999