Σελίδα 1 από 1

Πρόγραμμα σε MIPS

ΔημοσίευσηΔημοσιεύτηκε: 08 Οκτ 2015, 14:44
από Drittzt
Καλησπέρα έχω μια εργασία σε ένα πρόγραμμα και θα ήθελα μια μικρή βοήθεια .Θέλω να μετατρέψω ένα κώδικα που μετράει αριθμούς 0-31 και τουσ μετατρέπει σε δυαδικό ξεκινώντας την αρίθμηση από το αριστερό ψηφίο ,να ξεκινάει την αρίθμηση κανονικά από το δεξιό ψηφίο και στην ουσιά να τουσ εμφανίζει κανονικά στην οθόνη.Ο αρχικός κώδικας είναι αυτός:


main:

addi $9,$0,27 #example number

addi $10,$0,5

addi $2,$0,1

L1:

and $4,$9,$2

syscall

srl $9,$9,1

addi $10,$10,-1

nbe $10,$0,L1

end
Χρησιμοποιώ το MARS 4.5 για compiling.
Ευχαριστώ εκ'των πρωτέρων.

Re: Πρόγραμμα σε MIPS  Το θέμα επιλύθηκε

ΔημοσίευσηΔημοσιεύτηκε: 09 Οκτ 2015, 02:08
από Drittzt
Λυθήκε!

Re: Πρόγραμμα σε MIPS

ΔημοσίευσηΔημοσιεύτηκε: 09 Οκτ 2015, 02:29
από the_eye
Καλό είναι, να λες και πως λύθηκε.

Re: Πρόγραμμα σε MIPS

ΔημοσίευσηΔημοσιεύτηκε: 09 Οκτ 2015, 14:14
από Drittzt
Καταχωρώ σε έναν άλλο μετρητή το περιεχόμενο του μετρητή $2 με ολίσθηση των ψηφίων του κατα 4 θέσεις στα αριστερά.Μετά ξεκινάω την επανάληψη και κάνω πρώτα τη λογική πράξη AND και μετά πάλι ολίσθηση του καταχωρητή $4 κατα 4 ψηφία δεξιά έτσι ώστε με το system call να μου εμφανίζει 0 ή 1 ανάλογα.Μετά κάνω ολίσθηση του $9 μια θέση αριστερά και κάνω 5 επαναλήψεις για να εμφανίσει τελικά τον δυαδικό αντίστοιχο του $9 ,για αριθμούς 0-31.Στον $2 πρέπει να έχουμε τιμή 1 ώστε ο $4 να εμφανίζει ακεραίους με το system call.

Re: Πρόγραμμα σε MIPS

ΔημοσίευσηΔημοσιεύτηκε: 09 Οκτ 2015, 14:26
από Drittzt
Ευχαριστώ και για την επισήμανση πρώτη φορά γράφω στο forum.

Re: Πρόγραμμα σε MIPS

ΔημοσίευσηΔημοσιεύτηκε: 09 Οκτ 2015, 18:00
από the_eye
:clap: