c4tt3l Δημοσ. 31 Οκτωβρίου 2016 Δημοσ. 31 Οκτωβρίου 2016 Θέλω να γράψω ένα πρόγραμμα που θα εκτυπώνει 5 φορές τον αστερίσκο, χρησιμοποιώντας loop. Κατέληξα σε αυτή τη μορφή: .data ast: .word '*' .text .globl main main: la $a0, ast add $t0, $zero, $zero #counter loop: slti $t1, $t0, 5 beq $t1, $zero, exit li $v0, 11 syscall addiu $t0, $t0, 1 j loop exit: li $v0, 10 syscall αλλά δεν μου επιστρέφει τίποτα. Τι παίζει; Τι ξέχασα;
kaliakman Δημοσ. 31 Οκτωβρίου 2016 Δημοσ. 31 Οκτωβρίου 2016 Θέλω να γράψω ένα πρόγραμμα που θα εκτυπώνει 5 φορές τον αστερίσκο, χρησιμοποιώντας loop. Κατέληξα σε αυτή τη μορφή: .data ast: .word '*' .text .globl main main: la $a0, ast add $t0, $zero, $zero #counter loop: slti $t1, $t0, 5 beq $t1, $zero, exit li $v0, 11 syscall addiu $t0, $t0, 1 j loop exit: li $v0, 10 syscall αλλά δεν μου επιστρέφει τίποτα. Τι παίζει; Τι ξέχασα; Για char ας σου απαντήσει κάποιος που έχει ασχοληθεί παραπάνω αλλα μπορείς να το κάνεις έτσι: .data ast: .asciiz '*' .text .globl main main: la $a0, ast add $t0, $zero, $zero #counter loop: slti $t1, $t0, 5 beq $t1, $zero, exit li $v0, 4 syscall addiu $t0, $t0, 1 j loop exit: li $v0, 10 syscall Το οποίο δουλεύει.
c4tt3l Δημοσ. 31 Οκτωβρίου 2016 Μέλος Δημοσ. 31 Οκτωβρίου 2016 Τελικά έκανα λακαμία, γιατί μπορούσα να φορτώσω τον χαρακτήρα απευθείας, χωρίς να τον δηλώσω από πρίν. Έτσι δουλεύει: .text .globl main main: add $t0, $zero, $zero #counter loop: slti $t1, $t0, 5 beq $t1, $zero, exit li $v0, 11 la $a0, '*' syscall addiu $t0, $t0, 1 j loop exit: li $v0, 10 syscall 1
Dinos_12345 Δημοσ. 2 Νοεμβρίου 2016 Δημοσ. 2 Νοεμβρίου 2016 Τι φάση, αρχιτεκτονική στο ΤΕΙ Αθήνας κάνεις;
c4tt3l Δημοσ. 7 Νοεμβρίου 2016 Μέλος Δημοσ. 7 Νοεμβρίου 2016 Τι φάση, αρχιτεκτονική στο ΤΕΙ Αθήνας κάνεις; γιπ γιπ 1
gon1332 Δημοσ. 7 Νοεμβρίου 2016 Δημοσ. 7 Νοεμβρίου 2016 li χρησιμοποιήσε. Όχι la. Θα δουλέψει όπως κι έγινε, αλλά δες για ποιο λόγο χρησιμοποιείται η la στα manuals και γιατί τυχαίνει και δουλεύει.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα