λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> Ανοικτού κώδικα

Μετατροπή εξάγωνο σε οκταδικό με χρήση 8086;

Για να μετατρέψετε έναν δεκαεξαδικό αριθμό σε οκταδικό αριθμό χρησιμοποιώντας τον μικροεπεξεργαστή 8086, μπορείτε να ακολουθήσετε τα ακόλουθα βήματα:

1. Φορτώστε τον δεκαεξαδικό αριθμό σε έναν καταχωρητή.

2. Μετατρέψτε τον δεκαεξαδικό αριθμό σε δυαδικό.

3. Ομαδοποιήστε τον δυαδικό αριθμό σε ομάδες των τριών bit, ξεκινώντας από το λιγότερο σημαντικό bit.

4. Μετατρέψτε κάθε ομάδα τριών bit στο αντίστοιχο οκταδικό ψηφίο.

5. Τα οκταδικά ψηφία που λαμβάνονται στο βήμα 4 αντιπροσωπεύουν το οκταδικό ισοδύναμο του αρχικού δεκαεξαδικού αριθμού.

Ακολουθεί ένα παράδειγμα του τρόπου μετατροπής του δεκαεξαδικού αριθμού A7 σε οκταδική χρήση του μικροεπεξεργαστή 8086:

``` συναρμολόγηση

; Φορτώστε τον δεκαεξαδικό αριθμό A7 στον καταχωρητή AL

MOV AL, 0A7H

; Μετατροπή του δεκαεξαδικού αριθμού σε δυαδικό (10100111)

MOV BL, 0

; Εκτελέστε λειτουργία διαίρεσης για εξαγωγή 3 LSB

XOR BH, BH

DIV BL, 08H; Διαιρώντας το AH:AL με το 8, το πηλίκο στο AL, το υπόλοιπο στο AH

; Ομαδοποιήστε τον δυαδικό αριθμό σε ομάδες των τριών bit (1 010 011 100)

AND AL, 07Η; Εξάγετε 3 LSB του υπολοίπου

MOV SI, 02H

MUL SI; Μετατόπιση υπολοίπου

Ή AL, AH

MOV SI, 04H

MUL SI; Αλλαγή πάλι

Ή AL, BH

; Μετατρέψτε κάθε ομάδα τριών bit στο αντίστοιχο οκταδικό ψηφίο

MOV DL, AL; Μετακινήστε το υπόλοιπο AL στο DL

DAA; Εκτελέστε δεκαδική προσαρμογή

; Εμφάνιση του οκταδικού αριθμού (125)

MOV AH, 02H

INT 21H

```

Σε αυτό το παράδειγμα, η έξοδος θα είναι 125 που είναι το οκταδικό ισοδύναμο του δεκαεξαδικού αριθμού A7 .

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα