Φύλλο εργασίας 2 – Assembly 8086
- Αναπαράσταση αριθμών.
- Αποθήκευση αριθμών στη μνήμη.
- Εντολές πρόσθεσης
Εργασία 1
Γράψτε στον emulator ένα πρόγραμμα που να προσθέτει δύο μη προσημασμένους αριθμούς των 8 bit που θα είναι περιεχόμενα των θέσεων μνήμης 0400h και 04001h και θα αποθηκεύονται στην διεύθυνση μνήμης 0402h:
- Η εκτέλεση του προγράμματος να γίνει και για τις τρείς περιπτώσεις του πίνακα. Επίσης να συμπληρωθεί ο πίνακας ανάλογα.
- Όταν υπάρχει κρατούμενο στην θέση 0402h έχουμε το σωστό αποτέλεσμα ;
0400h | 0401h | 0402h | ||||||
Hex | Dec | Hex | Dec | Αποτέλεσμα Πρόσθεσης Dec | Αποτέλεσμα Εργασίας Dec | Αποτέλεσμα Εργασίας Hex | Σωστό Ναι/Όχι | Κρατούμενο Ναι/Όχι |
84h | 132 | 93 | 147 | 279 | ||||
2Ah | 42 | 1F | 31 | 73 | ||||
C8h | 200 | 38h | 56 | 256 |
Γράψτε στον emulator ένα πρόγραμμα που να προσθέτει δύο προσημασμένους αριθμούς των 8 bit που θα είναι περιεχόμενα των θέσεων μνήμης 0400h και 04001h και θα αποθηκεύονται στην διεύθυνση μνήμης 0402h:
- Η εκτέλεση του προγράμματος να γίνει και για τις περιπτώσεις του πίνακα. Επίσης να συμπληρωθεί ο πίνακας ανάλογα.
- Ποια αποτελέσματα στην διεύθυνση 0402h είναι σωστά και γιατί ;
Γράψτε στον emulator ένα πρόγραμμα που να προσθέτει δύο προσημασμένους αριθμούς των16 bit που θα είναι περιεχόμενα των θέσεων μνήμης, ο πρώτος στις διευθύνσεις 0400h ( χαμηλής τάξης Byte) , 0401h (υψηλής τάξης Byte), ο δεύτερος στις διευθύνσεις 0402h ( χαμηλής τάξης Byte) , 0403h (υψηλής τάξης Byte) και θα αποθηκεύονται το αποτελέσματα στις θέσεις μνήμης 0404h ( χαμηλής τάξης Byte) , 0405h (υψηλής τάξης Byte)
- Η εκτέλεση του προγράμματος να γίνει για όλες τις περιπτώσεις του πίνακα. Επίσης να συμπληρωθεί ο πίνακας ανάλογα.
- Ποια αποτελέσματα είναι σωστά και γιατί ;
Χαμηλής Τάξης Byte 0400h | Υψηλής Τάξης Byte 0401h | Χαμηλής Τάξης Byte 0402h | Υψηλής Τάξης Byte 0403h | Χαμηλής Τάξης Byte 0404h | Υψηλής Τάξης Byte 0405h | Overflow Υπερχείλιση Ναι/Όχι |
24 | 63 | 40 | AB | 64 | 0E | |
84 | C7 | F1 | B4 | 75 | 7C |
- 6324 C784
+ AB40 +B4F1
______ ______
0E64 7C75
Εργασία 4
Γράψτε στον emulator ένα πρόγραμμα που να προσθέτει δύο προσημασμένους αριθμούς των32 bit που θα είναι περιεχόμενα των θέσεων μνήμης, ο πρώτος στις διευθύνσεις 0400h έως 0403h ο δεύτερος στις διευθύνσεις 0404h έως 0407h και θα αποθηκεύεται το αποτελέσματα στις θέσεις μνήμης 0408h έως 040Bh.
- Η εκτέλεση του προγράμματος να γίνει για όλες τις περιπτώσεις του πίνακα. Επίσης να συμπληρωθεί ο πίνακας ανάλογα.
- Ποια αποτελέσματα είναι σωστά και γιατί ;
Αριθμός 1 0400h έως 0403h | Αριθμός 2 0404 έως 0407 | Αποτέλεσμα Πρόσθεσης 0408 … 040B | Overflow Υπερχείλιση Ναι/Όχι |
11111111 | 23232323 | ||
6FFFFFFF | 00000002 |