Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Προγραμματισμός Υπολογιστών Γλώσσες

Γράψτε ένα πρόγραμμα γλώσσας συναρμολόγησης για να πολλαπλασιάσετε τον αριθμό υπογεγραμμένου 8-bit με έναν αριθμό;

`` `Συνέλευση

.

.Stack 100h

.δεδομένα

Num1 dB -12; Πρώτος υπογεγραμμένος αριθμός 8-bit

Num2 dB 5; Δεύτερος αριθμός για πολλαπλασιασμό με

Αποτέλεσμα DW;; Αποτέλεσμα πολλαπλασιασμού (16-bit)

.κώδικας

κύριο proc

MOV AX, @Data; Αρχικοποιήστε το μητρώο τμήματος δεδομένων

mov ds, τσεκούρι

MOV AL, NUM1; Φορτώστε τον πρώτο αριθμό στο μητρώο AL

MOV BL, NUM2; Φορτώστε τον δεύτερο αριθμό στο μητρώο BL

imul bl; Πολλαπλασιάστε το AL με BL (αποτέλεσμα σε τσεκούρι)

αποτέλεσμα MOV, AX; Αποθηκεύστε το αποτέλεσμα στη μεταβλητή «αποτέλεσμα»

; Εμφάνιση του αποτελέσματος (προαιρετικό)

; ...

Mov Ah, 4ch; Έξοδος προγράμματος

int 21h

κύριο endp

τελικός κύριος

`` `

Επεξήγηση:

1. Αρχικοποίηση:

- `.Model Small` ορίζει το μοντέλο μνήμης (μικρό μοντέλο) και ρυθμίζει τη δομή του προγράμματος.

- `.stack 100h` Αποθεματικά 100h bytes για τη στοίβα.

- Το τμήμα.

2. Φόρτωση των αριθμών:

- `mov al, num1` φορτώνει τον πρώτο αριθμό στο μητρώο` al`, το οποίο χρησιμοποιείται για λειτουργίες 8-bit.

- `mov bl, num2` φορτώνει τον δεύτερο αριθμό στο μητρώο` bl`.

3. Πολλαπλασιασμός:

- `imul bl` εκτελεί τον υπογεγραμμένο πολλαπλασιασμό του` al` από το `bl '. Το αποτέλεσμα θα αποθηκευτεί στο μητρώο `ax` (16-bit).

4. Αποθήκευση του αποτελέσματος:

- `MOV αποτέλεσμα, το AX` αποθηκεύει το αποτέλεσμα 16-bit από το` ax` στη μεταβλητή `αποτέλεσμα '.

5. Προαιρετική οθόνη:

- Μπορείτε να προσθέσετε κώδικα για να εμφανίσετε το αποτέλεσμα χρησιμοποιώντας το `int 21H` με τους κατάλληλους κωδικούς λειτουργίας. Αυτό το απόσπασμα κώδικα επικεντρώνεται στον ίδιο τον πολλαπλασιασμό.

6. Έξοδος από το πρόγραμμα:

- `mov ah, 4ch` Ορίζει το` ah` εγγραφεί στον κωδικό λειτουργίας DOS για την έξοδο από το πρόγραμμα.

- `int 21h` καλεί το DOS να διακόπτει την εκτέλεση της λειτουργίας εξόδου.

Σημαντικές σημειώσεις:

-Αυτό το πρόγραμμα χρησιμοποιεί υπογεγραμμένο πολλαπλασιασμό 8-bit, πράγμα που σημαίνει ότι το αποτέλεσμα θα μπορούσε να είναι μια υπογεγραμμένη τιμή 16-bit. Η εντολή `imul` χειρίζεται αυτόματα την επέκταση του σημείου.

- Η μεταβλητή `result` δηλώνεται ως λέξη (` dw`) για να κρατήσει το αποτέλεσμα 16-bit.

- Μπορείτε να τροποποιήσετε το `num1` και το` num2` για να αλλάξετε τους αριθμούς που θέλετε να πολλαπλασιάσετε.

- Ο κωδικός συναρμολόγησης θα πρέπει να συναρμολογηθεί χρησιμοποιώντας ένα συναρμολογητή όπως το MASM ή το TAMS και στη συνέχεια να συνδεθεί για να δημιουργήσει ένα εκτελέσιμο αρχείο.

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

Προγραμματισμός Υπολογιστών Γλώσσες

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