SpirosG86 Δημοσ. 16 Ιουνίου 2008 Δημοσ. 16 Ιουνίου 2008 Καλησπέρα. Προσπαθώ να υλοποιήσω στο PCSpim έναν κώδικα, κομμάτι του οποίου παραθέτω παρακάτω. Το πρόβλημα είναι ότι στην τελευταία συνθήκη η ροή πάει πάντα στο valid :S Μπορείτε να μου πείτε πού κάνω λάθος γιατι σπάω το κεφάλι μου και δεν μπορώ να βρω τί φταίει! >checkLength: # vriskei to mhkos toy string lb $t0, ($t2) # to $t2 periexei to string beq $t0,10,compLength # an vrei ton Line Feed, teleiwnei h metrhsh addi $s3, $s3, 1 # metrhths mhkoys string addi $t2, $t2, 1 # deixnei ston epomeno xarakthra toy string j checkLength compLength: add $t2, $s0, $zero # prosthetei to string ston $t2 slti $t1, $s3, 20 # s3 periexei apo prin to mhkos toy string, an einai < 20, t1=1 bne $t1, $zero, valid # an string.length < 20, goto valid
maniac89 Δημοσ. 16 Ιουνίου 2008 Δημοσ. 16 Ιουνίου 2008 αν το $s3 είναι <20 θα πηγαίνει στο valid άμα είναι >20 θα πάει στην επόμενη εντολή!δεν νομίζω να υπάρχει κάποιο λάθος στο πρόγραμμα! αυτό συμβαίνει διότι στον register $t1 πηγαίνει η τιμή 1 αν το $s3<20 οπότε bne $t1,$zero,valid το $t1 περιέχει την τιμή 1 οπότε πάει στο valid!
SpirosG86 Δημοσ. 17 Ιουνίου 2008 Μέλος Δημοσ. 17 Ιουνίου 2008 Ναι το ξέρω, δικός μου κώδικας είναι αλλωστε Δεν παει στην επόμενη, πάντα κάνει branch στο valid, το έχω τσεκάρει, πράγμα που σημαίνει ότι το $s3 για κάποιο λόγο δεν αποθηκεύει το μήκος του string, απλά δεν ξέρω ποιος είναι αυτός ο λόγος...
ΠάρηςΓ Δημοσ. 20 Μαΐου 2009 Δημοσ. 20 Μαΐου 2009 Απο το παπει εισαι; ---------- Το μήνυμα προστέθηκε στις 00:36 ---------- beq $t0,10,compLength Αυτο δεν μου φαίνεται και τόσο σωστό. Κανονικά διευθυνση παίρνει δεν μπορεις να βαλεις τιμή άμεσα οπως εσυ εβαλες 10. ---------- Το μήνυμα προστέθηκε στις 00:37 ---------- Δηλαδή επρεπε να βαλεις σε εναν καταχωρητη το 10 πρώτα...και μετα να βαλεις οπου εχεις βαλει το 10 τον καταχωρητη
bnvdarklord Δημοσ. 20 Μαΐου 2009 Δημοσ. 20 Μαΐου 2009 Απο το παπει εισαι; Και γώ αυτό σκέφτηκα μολις το είδα... καλα μονο στο παπεί κάνουμε assembly σε mips??
greatkon Δημοσ. 20 Μαΐου 2009 Δημοσ. 20 Μαΐου 2009 Παιδια εγω είμαι στο ΠανΠελλοπ και κανουμε μιπς.Προσπαθω να φτιαξω κωδικα για string concatenate.εχει κανεις καμια ιδεα?????? ---------- Το μήνυμα προστέθηκε στις 13:14 ---------- εαν βαλεις στο beq $t0,$0,compLength δλδ τον μηδενικο,θα παρει και το \n αλλα θα ξερεις οτι τελειωσες. ---------- Το μήνυμα προστέθηκε στις 13:20 ---------- εαν βαλεις στο beq $t0,$0,compLength δλδ τον μηδενικο,θα παρει και το \n αλλα θα ξερεις οτι τελειωσες.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.