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

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

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

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

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

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

3 η δεκάδα θεµάτων επανάληψης

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

Αρχή ή τέλος ή κοµβικό σηµείο. Λειτουργία εισόδου / εξόδου. Έλεγχος. Πράξεις / ενέργειες. Βρόχος R7 φορές

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

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

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

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

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

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

4.3. Γραµµικοί ταξινοµητές

ΚΕΦΑΛΑΙΟ 4ο: ΠΟΛΥΩΝΥΜΑ ΑΛΓΕΒΡΑ Β ΛΥΚΕΙΟΥ

1.7 ΙΑΙΡΕΣΗ ΠΟΛΥΩΝΥΜΩΝ

2.1 Η ΕΞΙΣΩΣΗ αx + β = 0

Α. ΚΛΑΣΜΑΤΙΚΕΣ ΕΞΙΣΩΣΕΙΣ (ΜΕΡΟΣ Β)

Αλγεβρικές παραστάσεις - Αναγωγή οµοίων όρων

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

2.2 ιαίρεση Πολυωνύμων

1.2 Εξισώσεις 1 ου Βαθμού

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

Ε ι σ α γ ω γ ι κ ά Μ α θ η µ α τ ι κ ά. γ ι α Γ Ε Π Α. Λ.

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μέρος Β (Οργάνωση Υπολογιστών)

(x) = δ(x) π(x) + υ(x)

Α. ΑΝΙΣΟΤΗΤΕΣ - ΚΑΝΟΝΕΣ ΑΝΙΣΟΤΗΤΩΝ

2 η δεκάδα θεµάτων επανάληψης

Περί εξισώσεων με ένα άγνωστο

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

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009

µηδενικό πολυώνυµο; Τι ονοµάζουµε βαθµό του πολυωνύµου; Πότε δύο πολυώνυµα είναι ίσα;

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

Γραµµική Άλγεβρα. Εισαγωγικά. Μέθοδος Απαλοιφής του Gauss

Η Έννοια της εξίσωσης:

Η Θεωρία που πρέπει να θυμάσαι!!!... b a

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

ΕΞΙΣΩΣΗ ΕΥΘΕΙΑΣ ΓΕΝΙΚΗ ΜΟΡΦΗ

ΚΕΦΑΛΑΙΟ 1ο: ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Β ΛΥΚΕΙΟΥ

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

Επίλυση Γραµµικών Συστηµάτων

3. Πρόσθεση Πολλαπλασιασμός 4. Πρόσθεση στο πρότυπο ΙΕΕΕ Πολλαπλασιασμός στο πρότυπο ΙΕΕΕ

Οργάνωση Υπολογιστών (Ι)

Ενότητα 4. Επίλυση μαθηματικών προβλημάτων με το ΒΥΟΒ

Κεφάλαιο 4ο: Εντολές επιλογής

Δ/νση Β /θµιας Εκπ/σης Φλώρινας Κέντρο ΠΛΗ.ΝΕ.Τ. Πολυώνυµα ΠΟΛΥΩΝΥΜΑ ΑΚΕΡΑΙΑ ΠΟΛΥΩΝΥΜΑ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ

Αφιέρωση Στα παιδιά µας Στους µαθητές που ατενίζουν µε αισιοδοξία το µέλλον

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Κεφάλαιο 3.1 Εξισώσεις 1 ου Βαθμού Επιμέλεια Σημειώσεων: Ντάνος Γιώργος ΚΕΦΑΛΑΙΟ 3.1 ΕΞΙΣΩΣΕΙΣ 1 ΟΥ ΒΑΘΜΟΥ 1

Η ΕΞΙΣΩΣΗ :α x+β=0. Μοναδική λύση. α=0 και β 0 Αδύνατη. α=0 και β=0 Αληθεύει για κάθε τιμή του x Ταυτότητα

Ο μαθητής που έχει μελετήσει το κεφάλαιο αυτό θα πρέπει:

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος

Κ. Ι. ΠΑΠΑΧΡΗΣΤΟΥ. Τοµέας Φυσικών Επιστηµών Σχολή Ναυτικών οκίµων ΟΡΙΖΟΥΣΕΣ. Ιδιότητες & Εφαρµογές

2.2 ιαίρεση Πολυωνύμων

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

6 η Δραστηριότητα στο MicroWorlds Pro (1)

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

( ) ( ) ( ) ( ) ( ) 2 Αν x = -4-7 και y = 7-4 να βρεθεί η τιµή της παράστασης Α = x + y - 2xy ( ) ( )


όπου είναι γνήσια. ρητή συνάρτηση (δηλαδή ο βαθµός του πολυωνύµου υ ( x)

4.2 Μέθοδος Απαλοιφής του Gauss

1. ΕΙΣΑΓΩΓΗ. 1.1 Τι είναι η αριθµητική ανάλυση

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

ΠΟΛΥΩΝΥΜΙΚΕΣ - ΡΗΤΕΣ ΑΝΙΣΩΣΕΙΣ P x = x+ 2 4 x x 3x x x x 3x

ΤΥΠΟΛΟΓΙΟ ΜΑΘΗΜΑΤΙΚΩΝ

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

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

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014

( ) λ( ) ( ) ( ) 2. 3α β 27αβ 10. x x αx αy βx βy x y y x x x x. 4 x x x y x y x y y. B Να παραγοντοποιηθούν οι παραστάσεις: x y x y x x y a x a x

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

3.1 Εξισώσεις 1 ου Βαθμού

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης

Κεφάλαιο 5ο: Εντολές Επανάληψης

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΠΡΑΞΕΙΣ ΜΕ ΕΚΑ ΙΚΟΥΣ

γρηγορότερα. Αν θέλουμε να μηδενίσουμε όλα τα υπόλοιπα bit μπορούμε να χρησιμοποιήσουμε την εντολή:

2.2 ιαίρεση Πολυωνύμων

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

ΑΣΚΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ 5 η ΕΚΑ Α

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Πολυώνυµα - Πολυωνυµικές εξισώσεις

( ) ( ) Τοα R σημαίνει ότι οι συντελεστές δεν περιέχουν την μεταβλητή x. αντικ σταση στο που = α. [ ο αριθµ ός πουτο µηδεν ίζει

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΦΕΒ 2014 Καθηγητής: Νικολαΐδης Νικ. Ημ/νία εξέτασης:

Η Ευκλείδεια διαίρεση

A N A B P Y T A ΑΣΚΗΣΕΙΣ ΠΟΛΥΩΝΥΜΩΝ. 1 (α + β + γ) [(α-β) 2 +(α-γ) 2 +(β-γ) 2 ] και τις υποθέσεις

2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if)

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

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

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Transcript:

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Project 19 Sermac ;-) Σέρρες 2008

Θέµα Να κατασκευαστεί πρόγραµµα σε γλώσσα µηχανής του 8088 που να µπορεί να επιλύει εξισώσεις µίας µεταβλητής 1ου βαθµού της µορφής Αχ+Β=0. Οι συντελεστές της εξίσωσης θα βρίσκονται σε µεταβλητές διευθύνσεις, ενώ τα αποτελέσµατα θα γράφονται σε σταθερές διευθύνσεις. Να ελεγχθούν οι περιπτώσεις αόριστης (ταυτότητας) και αδύνατης εξίσωσης. Σηµείωση: θα χρειαστεί η υλοποίηση ρουτίνας διαίρεσης. Γενικές γνώσεις Ονοµάζουµε εξίσωση 1 ου βαθµού µε έναν άγνωστο κάθε εξίσωση που µπορεί να γραφτεί µε τη µορφή: αx+β=0, όπου x ο άγνωστος και α, β γνωστοί σταθεροί αριθµοί. Ο αριθµός που θέτουµε στη θέση του x ώστε να φθάσουµε σε µαθηµατική ισότητα λέγεται ρίζα της εξίσωσης. Λύση της πρωτοβάθµιας εξίσωσης αx+β=0: Αν α 0 και β 0 τότε η εξίσωση έχει ακριβώς µία λύση, την x=-β/α. Αν α 0 και β=0 τότε η εξίσωση δεν νοείται γιατί το µηδέν δεν διαιρείται. Αν α=0 και β 0 τότε κανένα x δεν ικανοποιεί την εξίσωση και η λύση είναι αδύνατη. Αν α=0 και β=0 τότε κάθε x ικανοποιεί την εξίσωση και η λύση λέµε ότι είναι αόριστη. - 2 -

Λογικό διάγραµµα - 3 -

Υλοποίηση µε γλώσσα C++ #include<stdio.h> #include<conio.h> main() float A,B,x; printf("dose ton arithmo A:\t"); scanf("%f",&a); printf("dose ton arithmo B:\t"); scanf("%f",&b); if(a==0) if(b==0) printf("aoristi"); else printf("adinati"); else getch(); if(b==0) printf("de noeitai"); else x=-b/a; printf("x=%f",x); Download: http://sermac.files.googlepages.com/project19.cpp Παραδείγµατα - 4 -

Υλοποίηση µε γλώσσα Assembly #make_bin# MOV DX,00H MOV AX,00H MOV AX,[0202H+SI] MOV BX,[0200H+SI] ;Μηδενισµός υπόλοιπου ;Μηδενισµός AX ;Μεταβλητές θέσεις µνήµης ;Μεταβλητές θέσεις µνήµης CMP BX,00 ;Έλεγξε α JE A_MIDEN_ELEGXOS_B ;Αν α=0 άλµα, αλλιώς (αν α<>0) συνέχισε CMP AX,00 ;Έλεγξε β (ενώ α<>0) JE MIDEN ;Αν β=0 άλµα, αλλιώς (αν β<>0) συνέχισε PUSH BX CALL LISI ;Αποθήκευση στη στοίβα ;Κλήση υπορουτίνας υπολογισµού λύσης POP BX ;Ανάκτηση από τη στοίβα JMP END ;Άλµα στο τέλος A_MIDEN_ELEGXOS_B: CMP AX,00 JE AORISTI MOV AL,02 JMP END AORISTI: MOV AL,01 JMP END MIDEN: MOV AL,03 JMP END LISI: IDIV BX NEG AX MOV [0204H],AX MOV [0206H],DX RET END: HLT ;Έλεγξε β (ενώ α=0) ;Αν β=0 άλµα, αλλιώς (αν β<>0) συνέχισε ;AL δείχνει 02 (Α ΥΝΑΤΗ x=-β/0) ;Άλµα στο τέλος ;AL δείχνει 01 (ΑΟΡΙΣΤΗ x=-0/0) ;Άλµα στο τέλος ;AL δείχνει 03 ( Ε ΝΟΕΙΤΑΙ x=-0/α) ;Άλµα στο τέλος ;x=-β/α ; ιαίρεση µε πρόσηµο ;Αλλαγή προσήµου ;Πηλίκο ;Υπόλοιπο ;Επιστροφή από υπορουτίνα ;Τέλος Download: http://sermac.files.googlepages.com/project19.asm Επεξήγηση του κώδικα Αρχικά µηδενίζουµε τον καταχωρητή DX στον οποίο θα µεταφερθεί το υπόλοιπο της διαίρεσης που θα κάνουµε στη συνέχεια. Οµοίως, µηδενίζουµε και τον καταχωρητή AΧ όπου θα αποθηκευτούν τα αποτελέσµατα. Αυτά τα κάνουµε για να βεβαιωθούµε ότι η τιµές των καταχωρητών είναι σίγουρα µηδέν στην αρχή του προγράµµατος και δεν υπάρχουν δεδοµένα από προηγούµενη εκτέλεση. Επειδή οι συντελεστές της εξίσωσης πρέπει να βρίσκονται σε µεταβλητές διευθύνσεις, χρησιµοποιούµε τον καταχωρητή SI ως δείκτη. Στη συνέχεια, το πρόγραµµα µεταφέρει την τιµή β στον καταχωρητή AX και την τιµή α στον καταχωρητή AX. Με τη βοήθεια της εντολής CMP (Compare) ελέγχουµε την τιµή του α. Αν το α είναι µηδέν τότε το πρόγραµµα κάνει άλµα µε την εντολή JE (Jump Equal) στη διακλάδωση A_MIDEN_ELEGXOS_B. Στη διακλάδωση A_MIDEN_ELEGXOS_B γίνεται έλεγχος του β. Αν είναι ίσο µε µηδέν τότε γίνεται άλµα στην διακλάδωση AORISTI, όπου δίνεται στον καταχωρητή AL η τιµή 01 για να µπορούµε να ξεχωρίσουµε ότι η περίπτωση που είχαµε ήταν αδύνατη. Αν το β είναι διάφορο του µηδενός τότε η εξίσωση είναι αδύνατη και δίνεται στον καταχωρητή AL η τιµή 02. - 5 -

Σε περίπτωση, τώρα, που το α δεν είναι ίσο µε το µηδέν, γίνεται έλεγχος για την τιµή του β. Αν το β είναι µηδέν βρισκόµαστε σε µια κατάσταση όπου η πράξη δε νοείται και το πρόγραµµα κάνει άλµα στην διακλάδωση MIDEN, όπου ο καταχωρητής AL παίρνει την τιµή 03. Αν το β δεν είναι µηδέν έχουµε µία λύση, την x=-β/α. Για την εύρεση της λύσης αυτής καλούµε την υπορουτίνα LISI, η οποία υλοποιεί τη διαίρεση β/α, αφού πλέον αυτοί σίγουρα δεν είναι µηδέν. Για τη διαίρεση χρησιµοποιείται η εντολή IDIV (Integer Divide signed) η οποία µας επιτρέπει να διαιρούµε προσηµασµένους αριθµούς. Αφού εκτελέσουµε τη διαίρεση, αλλάζουµε το πρόσηµο του πηλίκου µε την εντολή NEG (Negative) και µεταφέρουµε πηλίκο και υπόλοιπο στις αντίστοιχες θέσεις µνήµης. Πριν την κλήση της υπορουτίνας κάνουµε χρήση της εντολής PUSH για να αντιγράψουµε τα περιεχόµενα του καταχωρητή BX, ενώ µετά την κλήση της υπορουτίνας χρησιµοποιούµε την εντολή POP για να ανακτήσουµε τα περιεχόµενα του καταχωρητή που χρησιµοποιήσαµε από τη στοίβα. Τέλος, όλες οι διακλαδώσεις τελειώνουν µε άλµα JMP στο τέλος, το οποίο σταµατάει τον emulator και τελειώνει το πρόγραµµα µας. Παραδείγµατα Για α=2 και β=8: Εισαγωγή τιµών Αποτελέσµατα Για α=-2 και β=8: - 6 -

Για α=0 και β=0: Εισαγωγή τιµών Αποτελέσµατα Για α=0 και β=5: Για α=26 και β=0: - 7 -