Προς το περιεχόμενο

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • 0
koritsara

μπορεί κάποιος να με βοηθήσει με MIPS

Ερώτηση

Γράψτε ένα πρόγραμμα στη γλώσσα assembly του επεξεργαστή MIPS που να μετατρέπει μια ASCII συμβολοσειρά (string) στον αντίστοιχο ακέραιο αριθμό. Το πρόγραμμα θα διαβάζει από την κονσόλα μια ASCII συμβολοσειρά που θα αντιπροσωπεύει έναν δυαδικό (binary) ή έναν δεκαδικό (decimal) ή έναν δεκαεξαδικό (hexadecimal) αριθμό, θα υπολογίζει τον ισοδύναμο ακέραιο δεκαδικό αριθμό τον οποίo και θα εκτυπώνει στην κονσόλα.

Η βάση των ASCII αριθμών που θα δέχεται σαν είσοδο το πρόγραμμα θα δηλώνεται με τον πρώτο χαρακτήρα της συμβολοσειράς: b για τους δυαδικούς, d για τους δεκαδικούς και h για τους δεκαεξαδικούς αριθμούς.

Παραδείγματα εκτέλεσης του προγράμματος:

Enter ASCII number: b0110

Integer number is: 6 Enter ASCII number: d4589

Integer number is: 4589 Enter ASCII number: h4a3b

Integer number is: 19003

Μην λάβετε υπόψιν αρνητικούς αριθμούς. Επίσης, το πρόγραμμά σας πρέπει να αναγνωρίζει και να παράγει μηνύματα λάθους στις ακόλουθες περιπτώσεις:

• Η ASCII συμβολοσειρά δεν ξεκινάει με έναν από τους τρεις χαρακτήρες b, d ή h (δεν επιτρέπονται τα κεφαλαία γράμματα B, D και H).

• Η ASCII συμβολοσειρά περιέχει ένα χαρακτήρα που δεν είναι ψηφίο, π.χ. b 101 (χαρακτήρας space), d12a3 (χαρακτήρας a), h+AB7F (χαρακτήρας +).

• Στις δεκαεξαδικές συμβολοσειρές επιτρέπονται μόνο τα ψηφία A, B, C, D, E και F (με κεφαλαία γράμματα). Δεν επιτρέπονται τα ψηφία με μικρά γράμματα.

• Η ASCII συμβολοσειρά ξεπερνάει τον μέγιστο ακέραιο αριθμό που μπορεί να αναπαρασταθεί στον επεξεργαστή MIPS.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

1 απάντηση σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

Επισκέπτης
Αυτό το θέμα είναι πλέον κλειστό για περαιτέρω απαντήσεις.
×
×
  • Δημιουργία νέου...