| |||
Inhaltsverzeichnis1 ... , den Bytes 31 und 32, us. Diese Segmentgrenzen erden in die Segmentregister eingetragen. Um auf ein bestimmtes Byte zuzugreifen bentigt man noch ein zeites Register Zeigerregister, das auf das genschte Byte zeigt.Die Berechnung der Adresse eines Bytes im Speicher erfolgt folgendermaenAdresse Segmentnummer 16 Zeiger3 DatentypenIm Grunde genommen gibt es 5 verschiedene Daten-Typen, durch Programmierung sind aber auch andere erzielbar.DatentypGre in BitsBit1Byte8ort16langes ort32gepackte, binr-codierte Dezimalzahlen4Durch Routinen knnen noch Datentypen bis zu einer Gre von 128 Bits erreicht erden.4 Adressierungsartena unmittelbare AdressierungHier erfolgt keine Adressierung im eigentlichen Sinne. Der Operand ird direkt im Operandenteil des Befehls angegeben.z.B. der Befehl ADD AX, 12 addiert 12 zum Inhalt des Registers AXb direkte AdressierungDie Adresse des Operanden ird durch eine symbolische Adresse angegeben.z.B. der Befehl ADD AX, SUMME beirkt, da der Inhalt der Speicherzelle SUMME zum Inhalt des Registers AX addiert irdc indirekte AdressierungDie Adresse des Operanden ird durch den Inhalt eines Registers angegeben.z.B. der Befehl ADD AX, iSIs beirkt, da der Inhalt der Speicherzelle, deren Adresse im Register SI steht, zum Inhalt des Registers AX addiert irdd Basis-Adressierung und indizierte AdressierungDie Adresse des Operanden ird durch eine symbolische Adresse und dem Inhalt eines Registers berechnet.z.B. der Befehl ADD AX, SUMMEiSIs beirkt, da der Inhalt der Speicherzelle, deren Adresse, fr die SUMME steht, und dem Inhalt des Registers SI ermittelt ird, zum Inhalt des Registers AX addiert ird5 Der Befehlssatz5.1 Ein- und AusgabeoperationenDie Daten sind im Datensegment aufgehoben. Dessen Adresse ird im data segment register DS-Register aufgehoben. Der Prozessor kann anhand des Inhalts des DS-Registers feststellen, in elchem Segment des RAMs die Daten zu suchen sind.LEA Dieser Befehl liefert das genschte Datum im Segment an den ProzessorLEA reg, adr. der Offset-Anteil der Adresse des 2. Operanden ird in das Register eingetragenLDS und LES beirken das selbe ie LEA, nur da sie die vollstndige Adresse in das Register eintragen, anstatt nur den Offset-AnteilMOV Dies ist ein sehr ichtiger Befehl. Mit ihm knnen soohl Daten von einem Register in ein anderes kopiert erden, Daten aus einer Speicherstelle in ein Register des Prozessors geladen erden, als auch Daten von einem Register auf eine Speicherstelle geschrieben erden.MOV Ziel, Quelle MOV AH, ALHLHLA4711A47114711XCHG Dieser Befehl kopiert nicht Daten von einer Quelle in das Ziel, sondern er vertauscht die beiden Daten.PUSH Mit diesem Befehl ird ein Register-Variableninhalt auf den Stapel Stack abgelegtPOP Dieser Befehl holt das oberste Datum vom Stack herunter5.2 VergleichsoperationenCMP Dieser Befehl beirkt einen arithmetischen Vergleich zeier OperandenDer Befehl arbeitet ie eine Subtraktion, d.h. der 2. Operand ird vom 1. abgezogen. Die Ausertung des Ergebnis erfolgt durch die Vernderung bestimmter Flags. Register und Speicherstellen bleiben unverndert.z zero flag ird gesetzt, enn das Ergebnis der Subtraktion 0 arc carry flag ird gesetzt, enn beide Zahlen ohne Vorzeichen aren, und der 1. Operand kleiner ar als der 2.o overflo flag enn der 1. Operand kleiner ar als der 2., der Unterschied zum carry flag ist der, da das overflo flag bei vorzeichenbehafteten Zahlen gesetzt irda auxiliary flag ird gesetzt, enn bei BCDs beanspruchen nur 4 Bits eines Bytes ein berlauf stattgefunden hatp parity flag enn das Ergebnis der Subtraktion eine gerade Anzahl an Bits liefert, spielt nur bei Prfsummen eine Rolles sign flag enn Bit 15, bz. Bit 7 gesetzt ist, der Programmierer mu issen, ob das gesetzte Bit das Vorzeic ... Download | |||
| Adauga in favorite | Parteneri | Publicitate | Adauga referat | Contact | |||