Πρόχειρες Σημειώσεις. Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Σχετικά έγγραφα
Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Αρχιτεκτονική Υπολογιστών

Σημειώσεις για τον 80x86

ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ-ΙΙ

Αρχιτεκτονική Υπολογιστών

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

Στοιχεία από Assembly Γιώργος Μανής

Αρχιτεκτονική Υπολογιστών

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Κεφάλαιο 3. Αριθμητική Υπολογιστών Review. Hardware implementation of simple ALU Multiply/Divide Real Numbers

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονική Υπολογιστών. Data. Κείμενο. Βίντεο. Αριθμοί Εικόνες. Ήχοι

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Άσκηση 1 (α) Άσκηση 1 (γ) Άσκηση 1 (β) Παραδείγματα Assembly. Άρα με έλεγχο στον $t1 αποφασίζω αν είναι 0 ή 1.

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

Αριθμητική Υπολογιστών (Κεφάλαιο 3)

Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers)

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Τέτοιες λειτουργίες γίνονται διαμέσου του

Αριθμητικά Συστήματα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ

Τρόποι Διευθυνσιοδότησης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

Ενδιάμεση Β205. Κεφ. 1-2, Παράρτημα Α Εργαστήρια Εργασίες Ενδιάμεση του 2014 Όχι διάλεξη την Τρίτη (Προετοιμασία)

Αρχιτεκτονική Υπολογιστών

Συστήματα Μικροϋπολογιστών

Προτεινόμενες Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 & Αποτελέσματα

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

Αρχιτεκτονική Υπολογιστών

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Αρχιτεκτονική-Ι Ενότητα 5:

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

«ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

ΠΑΡΑ ΕΙΓΜΑ 8 ΓΕΝΝΗΤΡΙΑ ΨΕΥ ΟΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ (PSEUDORANDOM GENERATOR) 8.0 ΓΕΝΙΚΑ

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

Προγραμματισμός Ι (ΗΥ120)

Αρχιτεκτονική Υπολογιστών

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ : Κ. ΠΕΚΜΕΣΤΖΗ

Αρχιτεκτονική υπολογιστών

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 2

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

Instruction Execution Times

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Πράξεις με δυαδικούς αριθμούς

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

Παραδείγματα Assembly (Μέρος

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 4: Το Προγραμματιστικό Μοντέλο του 8086

Ελίνα Μακρή

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων.

Πολλαπλασιασμός και Διαίρεση Ακεραίων

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Αρχιτεκτονική Υπολογιστών

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 2 Addressing

Εισαγωγή στον Προγραμματισμό

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

Διάλεξη 22η: Επιπλέον στοιχεία της C

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Αρχιτεκτονική Υπολογιστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Εισαγωγή στον Προγ/μό Υπολογιστών

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

Αρχιτεκτονική Υπολογιστών Εργαστήριο

Επιμέλεια: ρ. Ν. Σγούρος ρ. Ι. Κονταξάκης

Πράξεις με δυαδικούς αριθμούς

ΠΕΡΙΕΧΟΜΕΝΑ 1. Υπορουτίνες Μαθηµατικών Πράξεων 1.1. Προσηµασµένοι και απροσήµαστοι αριθµοί 1.2. Μετατροπές προσηµασµένων και απροσήµαστων αριθµών

Matrices and Determinants

Αρχιτεκτονική Υπολογιστών

Εισαγωγή στην πληροφορική -4

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

Προγραμματισμός Ι (ΗΥ120)

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)

Διαδικασιακός Προγραμματισμός

Εντολές του MIPS (2)

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

ΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Transcript:

Πρόχειρες Σημειώσεις Θ. Ζαχαριάδης Αν. Καθηγητής Λ. Σαράκης Καθ. Εφαρμογών

AND OR REG, memory memory, REG REG, REG memory, immediate REG, immediate REG, memory memory, REG REG, REG memory, immediate REG, immediate Logical AND between all bits of two operands. Result is stored in operand1. These rules apply: 1 AND 1 = 1 1 AND 0 = 0 0 AND 1 = 0 0 AND 0 = 0 Example: MOV AL, 'a' ; AL = 01100001b AND AL, 11011111b ; AL = 01000001b ('A') Logical OR between all bits of two operands. Result is stored in first operand. These rules apply: 1 OR 1 = 1 1 OR 0 = 1 0 OR 1 = 1 0 OR 0 = 0 Example: MOV AL, 'A' ; AL = 01000001b OR AL, 00100000b ; AL = 01100001b ('a')

NOT REG Logical lnot of fthe bits of fthe operand d( (one s complement). memory Result is stored in operand. Example: MOV AL, 0CDH ; AL = 11001101b NOT AL ; AL = 00110010b XOR REG, memory Logical XOR (Exclusive OR) between all bits of two memory, REG REG, REG memory, immediate REG, immediate operands. Result is stored in first operand. These rules apply: 1 XOR 1 = 0 1 XOR 0 = 1 0 XOR 1 = 1 0 XOR 0 = 0

SHR memory, immediate Shift operand1 Right. The number of shifts is set by REG, immediate operand2. memory, CL REG, CL Algorithm: Shift all bits right, the bit that goes off is set to CF. Zero bit is inserted to the left-most position. SHL memory, immediate REG, immediate memory, CL REG, CL Shift operand1 Left. The number of shifts is set by operand2. Algorithm: Shift all bits left, the bit that goes off is set to CF. Zero bit is inserted to the right-most position.

ROR memory, immediate REG, immediate memory, CL REG, CL Rotate operand1 right. The number of rotates is set by operand2. Algorithm: shift all bits right, the bit that goes off is set to CF and the same bit is inserted to the left-most position. Example: MOV AL, 1Ch ; AL = 00011100b ROR AL, 1 ; AL = 00001110b, CF=0. ROL memory, immediate REG, immediate memory, CL REG, CL Rotate operand1 left. The number of rotates is set by operand2. Algorithm: shift all bits left, the bit that goes off is set to CF and the same bit is inserted to the right-most position. Example: MOV AL, 1Ch ; AL = 00011100b ROL AL, 1 ; AL = 00111000b, CF=0.

Να υπολογιστεί το συμπλήρωμα μ ως προς 2 του αριθμού που είναι αποθηκευμένος στη θέση μνήμης 0 και να αποθηκευτεί στη θέση 1. Υπόδειξη: να χρησιμοποιηθεί η λογική πράξη NOT. Mov ah,[0] Not ah Add ah,01 Mov [1],ah Να γραφτεί πρόγραμμα που να υπολογίζει το συμπλήρωμα ως προς 2 με χρήση της εντολής SUB. Να αποθηκευτεί το αποτέλεσμα στη θέση 2. Mov ah,[0] Mov al,0 Sub al,ah ; AL = 0 - AH Mov [2],al Π.χ. αν ο αριθμός είναι ο CDH τότε το συμπλήρωμά του ως προς 2 είναι ο αριθμός 33Η. Γράψτε στον debugger την εντολή mov al, -0CDH και παρατηρείστε την αυτόματη μετατροπή στον αριθμό 33Η.

Να γραφτεί πρόγραμμα το οποίο να υπολογίζει γζ το λογικό XOR μεταξύ των bits ίδιας τάξης των αριθμών που είναι αποθηκευμένοι στις θέσεις μνήμης 0 και 1. Το αποτέλεσμα να αποθηκευτεί στη θέση μνήμης 2. MOV ah, [00] MOV al, [01] XOR ah, al MOV [02], ah MOV ax, [0000] XOR ah, al MOV [02], ah A xor B -> A B + AB

Να γραφτεί πρόγραμμα το οποίο να υπολογίζει γζ το λογικό XOR μεταξύ των bits ίδιας τάξης των αριθμών που είναι αποθηκευμένοι στις θέσεις μνήμης 0 και 1. Το αποτέλεσμα να αποθηκευτεί στη θέση μνήμης 2. Υπόδειξη: να χρησιμοποιηθούν οι λογικές πράξεις AND, OR, NOT και όχι η λογική πράξη XOR. Mov ah,[0] Mov bh,[1] Mov al,ah ; Συγκράτηση του αριθμού και στον AL Not ah And ah,bh ; Ο ΑΗ κρατά το αποτέλεσμα της πράξης Α Β Not bh And al,bh ; Ο ΑL κρατά το αποτέλεσμα της πράξης ΑΒ Or ah,al ; Ο ΑΗ κρατά το αποτέλεσμα της πράξης Α Β + ΑΒ Mov [2], ah

Να γραφτεί πρόγραμμα το οποίο να υπολογίζει γζ το λογικό XOR μεταξύ των bits ίδιας τάξης των αριθμών που είναι αποθηκευμένοι στις θέσεις μνήμης 0 και 1. Το αποτέλεσμα να αποθηκευτεί στη θέση μνήμης 2. Υπόδειξη: να χρησιμοποιηθούν οι λογικές πράξεις AND, OR, NOT και όχι η λογική πράξη XOR. MOV ah,[0000] MOV al,[0001] MOV bx, ax NOT bh NOT bl And ah,bl And al,bh Or ah,al al Mov [2], ah

Να γραφτεί πρόγραμμα το οποίο να υπολογίζει γζ το λογικό XOR μεταξύ των bits ίδιας τάξης των αριθμών που είναι αποθηκευμένοι στις θέσεις μνήμης 0 και 1. Το αποτέλεσμα να αποθηκευτεί στη θέση μνήμης 2. Υπόδειξη: να χρησιμοποιηθούν οι λογικές πράξεις AND, OR, NOT και όχι η λογική πράξη XOR. MOV ax,[0000] MOV ax,[0000] MOV bx, ax NOT bx And ah,bl And al,bh Or ah,al Mov [2], ah

Να γραφτεί πρόγραμμα το οποίο υπολογίζει το 16- πλάσιο του αριθμού που είναι αποθηκευμένος στη θέση μνήμης 0. Το αποτέλεσμα να καταχωρηθεί στις θέσεις μνήμης 2 (λιγότερο σημαντικό byte) και 3 (περισσότερο σημαντικό byte). Mov ah, 0 Mov al, [0] Shl ax,4 Mov [2], ax

Να βρεθεί η τιμή του bit τάξης 4 του αριθμού που βρίσκεται στη θέση μνήμης 0 και να αποθηκευτεί στη θέση μνήμης 1. Υπόδειξη: να βρεθεί με 2 τρόπους (α) με λογική πράξη AND και ολισθήσεις, και (β) μόνο με ολισθήσεις. Mov al, [0] And al, 10H ; 10Η = 00010000b Shr al,4 ; Ο AL κρατά την τιμή του bit Mov [1],al Β τρόπος: Mov al,[0] Shl al,3 Shr al,7 Mov [1], al

Να ανταλλάξετε τα περιεχόμενα των καταχωρητών AH και AL χρησιμοποιώντας αποκλειστικά εντολές περιστροφής. ROL ax, 8 ή ROR ax,8

Να υπολογιστεί ο μέσος όρος 2 αριθμών που είναι αποθηκευμένοι στις θέσεις μνήμης 0 και 1. Το αποτέλεσμα να δοθεί στη μορφή πηλίκου/ακεραίου μέρους (να αποθηκευτεί στη θέση μνήμης 2) και υπολοίπου (να αποθηκευτεί στη θέση μνήμης 3). Mov al,,[0] Mov ah,0 Mov bl, [1] Mov bh,0 Add ax,bx Ror ax,1 ; Ο AL κρατά το ακέραιο μέρος και το πηλίκο πάει στο CF Adc bh,bh ; Βάλε την τιμή του κρατουμένου στον BH Mov [2], al Mov [3], bh