Befehlsübersicht zum Assembler des Intel-Prozessors 8086

Größe: px
Ab Seite anzeigen:

Download "Befehlsübersicht zum Assembler des Intel-Prozessors 8086"

Transkript

1 Befehlsübersicht zum Assembler des Intel-Prozessors 8086 Befehl Operanden O D I T S Z A P C Beschreibung AAA -? * * *??!?! duales Additionsergebnis im AL-Register wird in eine ungepackte BCD-Zahl im AH- und AL-Register umgewandelt. AAD -? * * *!!?!? BCD-Zahlen im AH- und AL-Register werden in eine Dualzahl im AL-Register umgewandelt. AH wird 0. AAM -? * * *!!?!? duales Multiplikationsergebnis im AX-Register wird in eine BCD-Zahl im AH- und AL-Register umgewandelt. AAS -? * * *??!?! duales Subtraktionssergebnis im AX-Register wird in eine BCD-Zahl im AH- und AL-Register umgewandelt. ADC r,rwm m,r! * * *!!!!! Addiert Inhalt Quelloperand und Carry-Flag zum Zieloperanden hinzu. Wird bei Mehrwortadd. benötigt. ADD r,rwm m,r! * * *!!!!! Addiert Inhalt Quelloperand zum Zieloperanden hinzu. A D r,rwm m,r 0 * * *!!?! 0 Verknüpft Ziel mit Quelle mit logischem U D. Legt das Ergebnis im Zieloperanden ab. CALL adresse * * * * * * * * * Aufruf Unterprogramm. Aktueller Stand des IP wird gekellert. Adresse des Operanden wird in IP geladen. CBW - * * * * * * * * * Byte im AL-Reg. wird vorzeichenrichtig zum Wort auf AX erweitert. CLC - * * * * * * * * 0 Lösche Carry-Flag. CLD - * 0 * * * * * * * Lösche Direction-Flag. Stringoperationen (STOSB,..) lassen sich auf Linksrichtung drehen. CLI - * * 0 * * * * * * Lösche das I-Flag und verhindere damit externe Interrupts. Für zeitkritische Programmteile verwenden. CMC - * * * * * * * *! Bilde Komplement des Carry-Flags. CMP r,rwm m,r! * * *!!!!! Beide Operanden müssen gleich groß sein. Die Flags werden nach Vergleich der Operanden gesetzt. CMPS r,rwm m,r! * * *!!!!! CMPSB vergleicht Strings byte- und CMPSW wortweise. Zielstring wird durch ES:DI, Quellstring durch DS:SI adressiert. DI und SI werden bei gesetztem D-Flag automatisch erhöht, bei gelöschtem D-Flag vermindert. (vgl. REPE/ REPNE) CWD - * * * * * * * * * Wort im AX-Reg. wird vorzeichenrichtig zum Doppelwort auf DX,AX erweitert. DAA -? * * *!!!!! duales Additionsergebnis im AL-Register wird in eine gepackte BCD-Zahl im AH- und AL-Register umgewandelt. DAS -? * * *!!!!! duales Subtraktionsergebnis im AL-Register wird in eine gepackte BCD-Zahl im AH- und AL-Register umgewandelt. DEC rm! * * *!!!! * Subtrahiere den Wert 1 vom Quelloperanden. DIV rm? * * *????? Dividiert vorzeichenlos AX-Register durch 8-Bit Operand. Quotient steht in AL, Rest in AH. Dividiert vorzeichenlos DX, AX-Doppelregister durch 16-Bit Operand. Quotient steht in AX, Rest in AX. ESC o,rm * * * * * * * * * Sendet den Befehl, der durch den Identifikationsoperator o gekennzeichnet wird, an den Coprozessor. Der zweite Operand enthält den Operanden für den Coprozessorbefehl. HLT - * * * * * * * * * Veranlaßt den Prozessor, in den Wartezustand zu gehen. Kann durch RESET-Befehl oder Interrupt aufgehoben werden. IDIV rm? * * *????? Dividiert vorzeichenrichtig AX-Register durch 8-Bit Operand. Quotient steht in AL, Rest in AH. Dividiert vorzeichenrichtig DX, AX-Doppelregister durch 16-Bit Operand. Quotient steht in AX, Rest in AX. IMUL rm! * * *????! Multipliziert vorzeichenrichtig AL-Register mit 8-Bit Operand. Produkt steht in AX. Multipliziert vorzeichenrichtig AX-Register mit 16-Bit Operand. Produkt steht im Doppelregister DX, AX. IN ax,p al,p! * * *????! Einlesen eines Bytes oder eines Wortes von Port p in AL (Byte) oder AX (Wort). DEC rm! * * *!!!! * Addiere den Wert 1 zum Quelloperanden. I T w * * 0 0 * * * * * Ausführung eines Softwareinterrupts. ummer wird mit w angegeben. INTO - * * 0 0 * * * * * Ausführung des Softwareinterrupts INT 4, wenn das O-Bit gesetzt ist. INT 4 ist in DOS nicht belegt, muß erst belegt werden. IRET -!!!!!!!!! Rückkehr aus Interruptroutine. CS, IP und Statusregister werden aus dem Stack entnommen.

2 Befehl Operanden O D I T S Z A P C Beschreibung JMP w * * * * * * * * * Unbedingter Sprung auf Adresse, die mit w (meist Marke) angegeben wird. Springe, wenn... (Sprung nicht weiter als +127 oder -128 Byte JA w * * * * * p * * p größer/ nicht kleiner gleich, auch: JNBE, wenn C=0 und Z=0 JAE w * * * * * * * * p größer gleich/ nicht kleiner, auch: JNB, wenn C=0 JB w * * * * * * * * p kleiner/ nicht größer gleich, auch:jnae, wenn C=1 JBE w * * * * * p * * p kleiner gleich/ nicht größer, auch JNA, wenn C=1 oder Z=1 JE w * * * * * p * * * gleich/ null, auch JZ, wenn Z=1 JG w * * * * * p * * * größer/ nicht kleiner gleich, auch JNLE, wenn Z=0 JGE w p * * * p * * * * größer gleich/ nicht kleiner, auch JNL, wenn S-Flag=O-Flag JL w p * * * p * * * * kleiner/ nicht größer, auch JNGE, wenn S-Flag ungleich O-Flag JLE w * * * * * p * * * kleiner gleich/ nicht größer, auch JNG, wenn Z=1 J E w * * * * * p * * * nicht gleich/ nicht null, auch JNZ, wenn Z=0 JC w * * * * * * * * p C-Flag gesetzt, wenn C=1 J C w * * * * * * * * p C-Flag nicht gesetzt, wenn C=0 J P w * * * * * * * p * keine Parität/ Parität ungerade, auch JPO, wenn P=0 J O w p * * * * * * * * kein Überlauf, wenn O-Flag=0 J S w * * * * p * * * * kein Vorzeichen (positiv), wenn S=0 JO w p * * * * * * * * Überlauf, wenn O-Flag=1 JP w * * * * * * * * p Parität/ Parität gerade, auch JPE, wenn P=1 LAHF - * * * * * * * * * Lade das Low-Byte des Statusregisters in das AH-Register. LDS r,w * * * * * * * * * Überträgt die Segmentadresse der Quelle in das Datensegment und die Offsetadresse der Quelle in den Zieloperanden. LEA r,w * * * * * * * * * Berechnet und überträgt den Offset der Quelle in den Zieloperanden. LES r,w * * * * * * * * * Überträgt die Segmentadresse der Quelle in das Extrasegment und die Offsetadresse der Quelle in den Zieloperanden. LOCK - * * * * * * * * * Bussperre, der Befehl dient in einer Multiprozessorumgebung zur Synchronisierung des Zugriffs auf den Systembus. LODS - * * * * * * * * * LODSB-Laden eines Byte, LODSW-Laden eines Wortes aus dem durch DS:SI adressierten String. LOOP w * * * * * * * * * Springe zur Adresse w, solange CX > 0. Bei jedem Durchlauf wird CX um 1 vermindert, danach Prüfung. LOOPE w * * * * * * * * * Wie LOOP, aber zusätzlich zu CX=0 führt auch Z=0 zum Schleifenabbruch. LOOPNE führt Z=1 zum Schleifenabbruch. LOOPZ w * * * * * * * * * Wie LOOP, aber zusätzlich zu CX=0 führt auch Z=0 zum Schleifenabbruch. LOOPNZ führt Z=1 zum Schleifenabbruch. MOV r,rwm m,rw * * * * * * * * * Kopiert Inhalt der Quelle zum Ziel. Beide Operanden sind gleich breit (8 oder 16 Bit). MOVS * * * * * * * * * Überträgt ein Element eines Strings aus der Quelle (DS:SI) zum Ziel (ES:DI). Je nach D-Flag werden die Indexregister erhöht oder vermindert. Effektiv mit REP verknüpfbar. MOVSB-byteweise, MOVSW-wortweise. MUL rm! * * *????! Multipliziert vorzeichenlos AL-Register mit 8-Bit Operand. Produkt steht in AX. Multipliziert vorzeichenlos AX-Register mit 16-Bit Operand. Produkt steht im Doppelregister DX, AX. EG rm! * * *!!!!! Bildet Zweierkomplement vom Operanden (negiert ihn). NOP - * * * * * * * * * keine Operation, schafft Platz im Code-Segment für später einzufügende Befehle, kann auch dem zeitlichen Warten dienen. OT rm * * * * * * * * * Alle Bits des Operanden gehen von 1 auf 0 und umgekehrt. OR r,rwm m,r 0 * * *!!?! 0 Quelle und Ziel werden mit dem logischen ODER verknüpft. Das Ergebnis wird im Zieloperanden abgelegt. OUT p,ax p,al * * * * * * * * * Ausgabe eines Bytes oder eines Wortes an Port p von AL (Byte) oder AX (Wort). Für p>255 muß der Wert im DX stehen. Th.Cassebaum 1995

3 Befehl Operanden O D I T S Z A P C Beschreibung POP rm * * * * * * * * * Übertragen des obersten Wortes vom Stack in den Zieloperanden. SP wird um 2 erhöht. POPF!!!!!!!!! Übertragen des obersten Wortes vom Stack in das Statusregister. SP wird um 2 erhöht. PUSH * * * * * * * * * SP:=SP-2 Inhalt des Operanden in das oberste Stack-Wort. Operand muß 16 Bit lang sein. PUSHF * * * * * * * * * Subtrahiert vom SP zwei und überträgt den Inhalt des Statusregisters in das oberste Stack-Wort. RCL rm,1 rm,cl! * * * * * * *! Alle Bits des Op. werden n-mal über das C-Flag links rotiert. Für n>1, muß die Anzahl im CL-Register vorgespeichert sein. RCR rm,1 rm,cl! * * * * * * *! Alle Bits des Op. werden n-mal über das C-Flag rechts rotiert. Für n>1, muß die Anzahl im CL-Register vorgespeichert sein. REP Stringbefehl * * * * * * * * * Präfix für Stringbefehl, der wiederholt wird, bis CX=0 ist. Bei jedem Durchlauf wird CX um 1 vermindert. REPE Stringbefehl * * * * * * * * * Wie REP, aber zusätzlich zu CX=0 führt auch Z-Flag=0 zum Schleifenabbruch. REPNE führt Z=1 zum Schleifenabbruch. REPZ Stringbefehl * * * * * * * * * Wie REP, aber zusätzlich zu CX=0 führt auch Z-Flag=0 zum Schleifenabbruch. REPNZ führt Z=1 zum Schleifenabbruch. RET - * * * * * * * * * Rücksprung nach CALL. Die Rücksprungadresse wird aus dem Stack in den IP geladen. SP:=SP+2 ROL rm,1 rm,cl! * * * * * * *! Alle Bits des Op. werden n-mal links rotiert. Höchstes Bit -> niedrigstes Bit. Für n>1, muß die Anzahl im CL-Register sein. ROR rm,1 rm,cl! * * * * * * *! Alle Bits des Op. werden n-mal rechts rotiert. Niedrigstes Bit -> höchstes Bit. Für n>1, muß die Anzahl im CL-Register sein. SAHF - * * * *!!!!! Kopiert Inhalt des AH-Registers in das untere Byte des Statusregisters. SAL rm,1 rm,cl! * * *!!?!! Alle Bits des Op. werden n-mal links verschoben und rechts mit Nullen gefüllt. Für n>1, muß die Anzahl im CL-Register sein. SAR rm,1 rm,cl! * * *!!?!! Alle Bits des Op. werden n-mal rechts verschoben und links mit dem Vorzeichen gefüllt. Für n>1, muß die Anzahl im CL sein. SBB r,rwm m,r! * * *!!!!! Subtrahiert Inhalt Quelle und Carry-Flag vom Zieloperanden. Wird bei Mehrwortsubtraktionen benötigt. SCAS -! * * *!!!!! SCASB (Byte) vergleicht Stringposition (ES:DI) mit AL, SCASW (Wort) vergleicht Stzringposition (ES:DI) mit AX. SHL rm,1 rm,cl! * * *!!?!! Alle Bits des Op. werden n-mal links verschoben und rechts mit Nullen gefüllt. Für n>1, muß die Anzahl im CL-Register sein. SHR rm,1 rm,cl! * * *!!?!! Alle Bits des Op. werden n-mal rechts verschoben und links mit Nullen gefüllt. Für n>1, muß die Anzahl im CL sein. STC - * * * * * * * * 1 Setze Carry-Flag. STD - * 1 * * * * * * * Setze Direction-Flag. Stringoperationen (STOSB,..) lassen sich auf Rechtsrichtung drehen. STI - * * 1 * * * * * * Setze das I-Flag und erlaube damit wieder externe Interrupts. Nach CLI verwenden. STOS - * * * * * * * * * STOSB (Byte) kopiert AL zur Stringposition (ES:DI), STOSW (Wort) kopiert AX zur Stringposition (ES:DI). SUB r,rwm m,r! * * *!!!!! Subtrahiert Inhalt Quelloperand vom Zieloperanden. TEST rwm,rwm 0 * * *!!?! 0 Ziel wird bitweise mit Quelle mit U D verknüpft. Es werden nur Flags gesetzt, keine Operanden verändert. WAIT - * * * * * * * * * Warten, bis Coprozessorbefehl abgearbeitet ist. (Vor allem nötig, wenn Coprozessor langsamer als Prozessor getaktet ist.) XCHG r,rm * * * * * * * * * Tauscht den Inhalt des Zieles mit dem der Quelle. XLAT * * * * * * * * * Transportiert aus Tabelle, die mit BX adressiert wurde, ein Byte in das AL-Register. Vor Befehl enthält AL die NR. des Bytes. XOR r,rwm m,rw 0 * * *!!?! 0 Quelle und Ziel werden mit EXCLUSIVE-ODER verknüpft. Das Ergebnis wird im Zieloperanden abgelegt. Th.Cassebaum 1995 r steht für Register! steht für veränderten Flag-Zustand in Abhängigkeit der Ereignisse. m steht für Speicher (memo)? steht für undefinierten Flag-Zustand. w steht für Wert (Literal) * steht für unveränderten Flag-Zustand. p steht für Portadresse 0 steht für Flag-Zustand gleich 0. rw steht für Reg. oder Wert 1 steht für Flag-Zustand gleich 1. rm Register oder Speicher rwm Register, Wert oder Spei. Die zuletzt herausgeschobenen Bits bei den Verschiebebefehlen sind immer im C-Flag zu finden.

4 Befehlserweiterungen 80186,..., 486 (Auswahl) Befehl Operanden O D I T S Z A P C Beschreibung BSF r,rm * * * * *! * * * (386) Durchsucht Quellop. vorwärts nach dem ersten gesetzten Bit. Nummer des Bits wird in den Zieloperanden übertragen. BSR r,rm * * * * *! * * * (386) Durchsucht Quellop. rückwärts nach dem ersten gesetzten Bit. Nummer des Bits wird in den Zieloperanden übertragen. BT rm,r * * * * * * * *! (386) Testet ein Bit des Quellop.und überträgt es ins C-Flag. Nummer des Bits steht im Zieloperanden. BTC rm,r * * * * * * * *! (386) wie BT, aber das getestete Bit wird invertiert. BTR rm,r * * * * * * * *! (386) wie BT, aber das getestete Bit wird 0 gesetzt. BTS rm,r * * * * * * * *! (386) wie BT, aber das getestete Bit wird 1 gesetzt. BSWAP r32 * * * * * * * * * (486) Tausch des 4. mit dem 1. und des 3. mit dem 2. Byte innerhalb eines 32-Bit-Registers. CDQ -? * * *??!?! (386)Vorzeichenrichtige Erweiterung des Registers EAX auf ein Quadwort im EDX:EAX Registerpaar. CMPS m,m! * * *!!!!! (386) Vergleich zweier Strings, durch DS:SI und ES:DI adressiert. Setzen der Flags. Günstig mit REP (CX=Länge String) einsetzbar. CMPSB -! * * *!!!!! (386) wie CMPS, Operanden brauchen nicht angegeben zu werden. Vergleich erfolgt in Byte-Länge. CMPSW -! * * *!!!!! (386) wie CMPS, Operanden brauchen nicht angegeben zu werden. Vergleich erfolgt in Wort-Länge. CMPSD -! * * *!!!!! (386) wie CMPS, Operanden brauchen nicht angegeben zu werden. Vergleich erfolgt in Doppelwort-Länge. CMPXCHG rm,r r,rwm! * * *!!!!! (486) Vergleicht Zielop. mit (AL,AX od. EAX). Wenn gleich -> Quellop. in Zielop., sonst -> Zielop. in AL,AX od. EAX kopieren. CWDE -? * * *??!?! (386) Vorzeichenrichtige Erweiterung des AX-Registers in das EAX-Register. IMUL rm,rwm[,rm]! * * *????! (386) Erweiterung des IMUL (8086). Zieloperand muß nicht Akku sein. Dritter Operand zeigt den Ort der Ergebnisspeicherung an. INS m * * * * * * * * * (186) Lesen String (durch ES:DI adressiert) vom E/A-Port (Port im DX-Register). DI Register eird nch D-Flag erhöht/ vermindert. INSB - * * * * * * * * * (186) wie INS ohne Operand Byte-Verarbeitung. INSW - * * * * * * * * * (186) wie INS ohne Operand Wort-Verarbeitung. INSD - * * * * * * * * * (386) wie INS ohne Operand Doppelwort-Verarbeitung. IRETD -!!!!!!!!! (386) Rückkehr von Interruptroutine. Zurückholen des (32-Bit-)IP-, Flag- und Codesegmentregisters vom Stack. LFS r,m * * * * * * * * * (386) Laden des (Quell-) 32-Bit-Offsets in das Zielregister LGS r,m * * * * * * * * * (386) Laden des (Quell-) 32-Bit-Zeigers in das Zielregister (H-Teil) und das GS-Register (L-Teil). LSS r,m * * * * * * * * * (386) Laden des (Quell-) 32-Bit-Zeigers in das Zielregister (H-Teil) und das SS-Register (L-Teil). MOVSX r,rm * * * * * * * * * (386) Lädt Quelle in das Ziel und führt eine vorzeichenrichtige Erweiterung (von 8 auf 16, oder von 16 auf 32 Bit) durch. OUTS DX,[sr:]rwm * * * * * * * * * (186) Schreiben String (durch ES:SI adressiert) auf E/A-Port (Port im DX-Register). SI Register eird nch D-Flag erhöht/ vermindert. POPA - * * * * * * * * * (186) Alle allg. Register vom Stack laden. (386) POPAD wie POPA für 32-Bit-Register. PUSHA - * * * * * * * * * (186) Alle allg. Register in den Stack speichern. (386) PUSHAD wie PUSHA für 32-Bit-Register. POPFD -!!!!!!!!! (386) Erweitertes Flagregister vom Stack laden. PUSHFD -!!!!!!!!! (386) Erweitertes Flagregister in den Stack speichern. SHLD rm,r,w(cl)? * * *!!?!! (386) Schiebt Anzahl von Bits (3.Op.) aus dem 2.Op. in den 1.Op. Im ersten Op. wird nach links verschoben und mit H-Bits des 2.Op. SHRD rm,r,w(cl)? * * *!!?!! (386) Schiebt Anzahl von Bits (3.Op.) aus dem 2.Op. in den 1.Op. Im ersten Op. wird nach rechts verschoben und mit L-Bits des 2.Op. STOSD - * * * * * * * * * (386) wie STOSW (8086) für Doppelwortlänge XADD mr,r? * * *!!!!! (386) Addiert Quellop. zum Zielop. und transportiert den Urwert des Zielop. in den Quellop., wodurch Zielop. erhalten bleibt.

5 Wichtige Systemfunktionen (Interrupts) Int.- r. Fkt.- r. AH AL Beschreibung 10h 0h 0 Videomodus Videomodus setzen: 1-40*25 ASCII(Color), 2-80*25 ASCII(Mono), 3-80*25 ASCII(Color), *480 Grafik (16 Farben) 10h 0Fh 0Fh Videomodus Liest den aktuell eingestellten Videomodus, der in AL bereitgestellt wird. IN AH steht die Zeichenzahl pro Zeile. 10h 1h 1 Cursorgröße setzen, CH-Startzeile Cursor, CL-Endezeile Cursor 10h 2h 2 Cursor positionieren. BH-Nummer der Bildschirmseite, DH-Bildschirmzeile, DL-Bildschirmspalte 10h 3h 3 Cursorposition lesen, BH-Nummer der Bildschirmseite, bereitgestellt in DH-Zeile, in DL-Spalte des Cursors 10h 5h 5 Nr.BS-Seite Bildschirmseite wählen. 10h 6h 6 Anz. Zeilen n.o. scroll, CH-Zeile oben links, CL-Spalte oben links, DH-Zeile unten rechts, DL-Spalte unten rechts, BH-Farbe für Leerzeile Wenn AL=0, so wird der Bildausschnitt gelöscht, gilt für die Funktionen 6h und 7h des Int 10h 10h 7h 7 Anz. Zeilen n.u. scroll, CH-Zeile oben links, CL-Spalte oben links, DH-Zeile unten rechts, DL-Spalte unten rechts, BH-Farbe für Leerzeile 10h 8h 8 Zeichen/ Farbe auslesen, BH - Nr. der BS-Seite, bereitgestellt in AL ASCII-Code, in AH - Farbattribut 10h 9h 9 Zeichen Schreibe Zeichen farbig, BH - Nr.der BS-Seite, CX-Anzahl der Zeichenausgaben, AL - ASCII-Code des Zeichens, BL-Farbe 10h 0Ah 0Ah Zeichen Schreibe Zeichen mit alter Farbe, BH - Nr.der BS-Seite, CX-Anzahl der Zeichenausgaben, AL - ASCII-Code des Zeichens 21h 2h 2 Schreibe Zeichen, DL - ASCII-Code des Zeichens 21h 9h 9 Schreibe Zeichenkette bis $, DS - Segmentadresse der Zeichenkette, DX = Offsetadresse der Zeichenkette 10h 0Ch 0Ch Farbe Schreibe Grafikpunkt, CX-Spaltennummer, DX-Zeilennummer, Grafikmodus muß zuvor eingestellt worden sein. 10h 0Dh 0Dh Farbe Lese Farbe eines Grafikpunktes, CX-Spaltennummer, DX-Zeilennummer, Grafikmodus muß zuvor eingestellt worden sein. Tastatur 16h 0h 0 ASCII-Z. Zeichen von Tastatur lesen, bereitgestellt in AL - ASCII-Code der Taste, in AH - SCAN-Code der Taste 16h 1h 1 ASCII-Z. Zeichen im Tastenpuffer, bereitgestellt in AL-ASCII-Code der Taste, Z=1 wenn kein Zeichen, Z=0 wenn Zeichen vorhanden. 21h 1h 1 ASCII-Z. Zeichen von Tastatur lesen (mit BS-Echo) 21h 7h 7 ASCII-Z. Zeichen von Tastatur lesen (ohne BS-Echo) 21h 8h 8 ASCII-Z. Zeichen von Tastatur lesen (wartet, bis Taste eingegeben wurde), Strg/C führt zum Abbruch der Funktion. 21h 0Ah 0Ah Zeichenkette von Tastatur lesen. Erstes Byte des Puffers nimmt max.zahl von Zeichen auf. DS:DX - Pufferadresse Drucker 17h 0h 0 ASCII-Z. Zeichen auf Drucker ausgeben. DX - Nr. des Druckers (0-LPT1, 1-LPT2,..). Rückgabe: AH-Druckerstatus 21h 5h 5 ASCII-Z. Zeichen auf Drucker ausgeben. DX - Nr. des Druckers. Rückgabe: AH-Druckerstatus 17h 1h 1 Drucker initialisieren. DX - Nummer des Druckers. Rückgabe:AH Druckerstatus 17h 2h 2 Druckerstatus ermitteln. DX - Nummer des Druckers. Rückgabe:AH Druckerstatus Serielle Schnittstelle 21h 3h 3 ASCII-Z. Zeichen von COM1 einlesen 21h 4h 4 Zeichen zu COM1 schreiben, DL-ASCII-Code des Zeichens. System 21h 4Ch 4Ch Programm beenden. 19h egal System booten.

Der Assembler-Befehlssatz

Der Assembler-Befehlssatz Assembler-Befehlssatz 1 Der Assembler-Befehlssatz Anmerkung: Die kurzen Beispiele beziehen sich auf die Arbeit mit dem DEBUG-Assembler (links) sowie dem MASM, der symbolische Adressen verarbeiten kann

Mehr

Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software

Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software Stand. September Seite 9 Bild. Am Ausgang des Multiplexers fehlt ein D, um ihn als Datenausgang zu kennzeichnen. Seite

Mehr

1. Assemblerbefehle des Intel 80x86

1. Assemblerbefehle des Intel 80x86 Prof. Dr. H. Weber 1 1. Assemblerbefehle des Intel 80x86 Segmentvorsatz (Segment override-prefix), aufgehoben werden. In der Assembler-Notation wird der Befehlsvorsatz nicht vor den Befehl, sondern vor

Mehr

Der 8086/88 als Rechenkünstler

Der 8086/88 als Rechenkünstler Der 8086/88 als Rechenkünstler In diesem Referat wird jene Gruppe von Befehlen besprochen, denen der Computer seinen Namen verdankt ("to compute" = engl. rechnen). Dies sind die Arithmetik- und Logikbefehle

Mehr

Zusammenfassung der Assemblerbefehle des 8051

Zusammenfassung der Assemblerbefehle des 8051 Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach

Mehr

1 Eigenes zu Interrupts und...

1 Eigenes zu Interrupts und... 1 Eigenes zu Interrupts und... Abfragebetrieb = polling Unterbrechungsbetrieb 1. Interrupt = Unterbrechung 2. IRQ = Interrupt-Request = Interrupt-Anforderung = Unterbrechungsanforderung 3. ISR = Interrupt-Service-Routine

Mehr

Befehlssatz der Mikrocontroller der 51er -Familie

Befehlssatz der Mikrocontroller der 51er -Familie Befehlssatz der Mikrocontroller der 51er -Familie Abkürzungen: Mikrocontrollerfamilie 8051 Befehlssatz A : Akkumulator Rn : Register R0..R7 Ri : R0 oder R1 dadr : direkte Byte-Adresse im int. Speicher

Mehr

Befehle des Intel 8086

Befehle des Intel 8086 Befehle des Intel 8086 Inhalt 0. Einleitung 1. Datentransport, Speicher- und Stackbefehle 2. Arithmetische Operationen 3. BCD-Korrekturbefehle 4. Logische/Vergleichsoperationen 5. Ein-/Ausgabebefehle 6.

Mehr

Assembler DOS (Beta 1) Copyright 2000 Thomas Peschko. Assembler II - DOS. ASSEMBLER Arbeiten mit Dateien und Daten.

Assembler DOS (Beta 1) Copyright 2000 Thomas Peschko. Assembler II - DOS. ASSEMBLER Arbeiten mit Dateien und Daten. Assembler II - DOS ASSEMBLER Arbeiten mit Dateien und Daten peschko@aol.com 1 Wer nun den Eindruck hat, dass unsere Programme hauptsächlich nur Unterprogramme vor ihren Karren spannen und sich darauf beschränken

Mehr

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle

Mehr

Befehlssatz der Mikrocontroller der 51er -Familie

Befehlssatz der Mikrocontroller der 51er -Familie Befehlssatz der Mikrocontroller der 51er -Familie Abkürzungen: Mikrocontrollerfamilie 8051 Befehlssatz A : Akkumulator Rn : Register R0..R7 Ri : R0 oder R1 dadr : direkte Byte-Adresse im int. Speicher

Mehr

8. Intel IA-32 Prozessoren: Befehlsübersicht

8. Intel IA-32 Prozessoren: Befehlsübersicht 8. Intel IA-32 Prozessoren: Befehlsübersicht Ganzzahlarithmetik Kontrollstrukturen Bitmanipulation Schieben und Rotieren 20.10.2007 Meisel 1 8.1 Ganzzahl-Arithmetik 8.1.1 Übersicht add adc sub sbb imul

Mehr

6.6 Personal-Computer PC und Intel 80x86-Prozessoren.

6.6 Personal-Computer PC und Intel 80x86-Prozessoren. PC als MVUS Teil 1-1 - Prof. Komar 6.6 Personal-Computer PC und Intel 80x86-Prozessoren. Der 16-Bit-Prozessor 8086 begründete die 80x86-Familie von Intel und wurde in der Light-Version des 8088 (nur 8-Bit-Datenbus)

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving

Mehr

10. Die Adressierungsarten des MSP 430

10. Die Adressierungsarten des MSP 430 10. Die Adressierungsarten 10.1 Übersicht über die Adressierungsarten 10.2 -Operanden 10.3 Indexregister mit Distanz 10.4 Symbolische (relativ zum ) 10.5 Absolute 10.6 Indirekte 10.7 Indirekte Adressierung

Mehr

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c 1 Transportbefehle 1.1 Verwendung nur Akku und Register (R0, R1,... R7) 1.1.1 Kopieren Sie den Wert aus Register1 nach

Mehr

MOP: Befehlsliste für den Mikrocontroller 8051

MOP: Befehlsliste für den Mikrocontroller 8051 Beuth Hochschule Berlin FB VI, Labor für Digitaltechnik MOP: Befehlsliste für den Mikrocontroller 8051 Erläuterung der Operanden Operand A addr11 addr16 bit /bit C #data #data16 direct DPTR PC Ri Rn rel

Mehr

Der MS-DOS Standardmonitor und Debugger DEBUG

Der MS-DOS Standardmonitor und Debugger DEBUG Einfache Assemblerprogrammierung mit DOS-DEBUG 1/7 Auf Personalcomputern kann in der Regel leicht eine einfache Umgebung zur Software-Entwicklung für die Intel Rechnerfamilie 80x86 eingerichtet werden.

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Zentralübung

Mehr

2

2 Praktikum zu Technische Grundlagen der Informatik Ausgabe Winter-Semester 1999/2000, Stand: 24. März 2000 Arndt Bode mit Andreas Bauer, Birgit Eßbaumer, Wolfgang Karl, Markus Leberecht, Peter Luksch, Bruno

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB

Mehr

Vorlesung "Struktur von Mikrorechnern" (SMR)

Vorlesung Struktur von Mikrorechnern (SMR) 2 16-Bit Bit-Prozessoren 2.4 Datentypen in PASCAL 2.5 PIN-Funktionen beim I 8086 2.5.1 Adressbus 2.5.2 Multiplexbus 2.5.3 Interruptlogik 2.5.4 Betriebsmodi 2.6 Mehrrechnerkonzept Inhaltsverzeichnis Kapitel

Mehr

A.l Einsatzfelder eines Debuggers. 542 Anhang A DEBUG

A.l Einsatzfelder eines Debuggers. 542 Anhang A DEBUG 542 Anhang A DEBUG Anhang A DEBUG Der englische Begriff bug bedeutet soviel wie Wanze Käfer. Tatsächlich wird ein Fehler in einem Computerprogramm im Fachjargon ebenfalls als bug bezeichnet. Entsprechend

Mehr

Daniel Betz Wintersemester 2011/12

Daniel Betz Wintersemester 2011/12 Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register

Mehr

Welches Register wird für was verwendet?

Welches Register wird für was verwendet? Welches Register wird für was verwendet? AX Register: Arithmetische Funktionen BX Register: Arbeitsspeicher adressieren (lea ; mov bx, offset), kann als Zeiger im Datensegment verwendet werden (siehe Direkter

Mehr

"Organisation und Technologie von Rechensystemen 4"

Organisation und Technologie von Rechensystemen 4 Klausur OTRS-4, 29.09.2004 Seite 1 (12) INSTITUT FÜR INFORMATIK Lehrstuhl für Rechnerarchitektur (Informatik 3) Universität Erlangen-Nürnberg Martensstr. 3, 91058 Erlangen 29.09.2004 Klausur zu "Organisation

Mehr

Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11.

Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11. Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11. {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} Stellen wir uns nun vor, die 12 Zahlen sind nicht in der richtigen Reihenfolge,

Mehr

Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET

Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET Stack, Stackpointer, UP Stack (Stapel, FIFO) wird benötigt UP-Ruf:

Mehr

Assembler-Programmierung

Assembler-Programmierung Assembler-Programmierung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Assembler-Programmierung 1/48 2012-02-29 Assembler-Programmierung

Mehr

AnhangA DEBUG. A.l Einsatzfelder eines Debuggers. Syntaxfehler. Laufzeitfehler

AnhangA DEBUG. A.l Einsatzfelder eines Debuggers. Syntaxfehler. Laufzeitfehler 501 AnhangA DEBUG Der englische Begriff bug bedeutet soviel wie Wanze Käfer. Tatsächlich wird ein Fehler in einem Computerprogramm im Fachjargon ebenfalls als bug bezeichnet. Entsprechend wird die Fehlersuche

Mehr

Assembler Integer-Arithmetik

Assembler Integer-Arithmetik Assembler Integer-Arithmetik Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Integer-Arithmetik 1/23 2008-04-01 Arithmetik

Mehr

Von-Neumann-Architektur

Von-Neumann-Architektur Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..

Mehr

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur 0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

HC680 PROGRAMMER'S REFERENCE MANUAL

HC680 PROGRAMMER'S REFERENCE MANUAL HC680 PROGRAMMER'S REFERENCE MANUAL Programmieranleitung Mnemonic Assembler Maschinenbefehl Wirkung /Bedeutung Register (0 bis 3 allg. Reg.) Ope- Opcode/Binärcode - Adressierungsart - Nr Bez. xx Bin Art

Mehr

Assembler - Einführung 1. Teil. Vorstellung der wichtigsten Grundbegriffe und Grundkenntnisse sowie der wichtigsten Hardwarekomponenten

Assembler - Einführung 1. Teil. Vorstellung der wichtigsten Grundbegriffe und Grundkenntnisse sowie der wichtigsten Hardwarekomponenten Assembler - Einführung 1 Teil Vorstellung der wichtigsten Grundbegriffe und Grundkenntnisse sowie der wichtigsten Hardwarekomponenten 1 Einleitung Wenn man durchs Internet surft kann man den Eindruck gewinnen,

Mehr

Praktikumsanleitung. Rechnerorganisation. Versuch 1: Informationskodierung. (Emulator 8086)

Praktikumsanleitung. Rechnerorganisation. Versuch 1: Informationskodierung. (Emulator 8086) Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Technische Informatik und Ingenieurinformatik Fachgebiet Integrierte Hard- und Softwaresysteme Praktikumsanleitung

Mehr

Midterm-Klausur Technische Grundlagen der Informatik

Midterm-Klausur Technische Grundlagen der Informatik Midterm-Klausur Technische Grundlagen der Informatik Prof. Dr. Arndt Bode Wintersemester 2002/2003 7. Dezember 2002 Name: Vorname: Matrikelnummer: Hörsaal: Platz: Unterschrift: Ergebnis: Aufgabe Punkte

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Stephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44

Stephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44 Aufgabe 33 a) Der Pseudobefehl move $rd,$rs wird als addu $rd,$0,$rs übersetzt. Dabei macht sich SPIM zunutze, dass das Register $0 immer Null ist. Somit wird das Register $rd ersetzt durch $rd=0+$rs=$rs,

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 9, Dienstag 18. Dezember 2012 (Performance Tuning, Profiling, Maschinencode) Prof. Dr.

Mehr

Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax. Operanden, Statusflags und Registersatz

Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax. Operanden, Statusflags und Registersatz Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax Autoren: Wolfgang Heenes, Patrik Schmittat Version: 0.4 Datum: 26. März 2011 Operanden, Statusflags und Registersatz Die vier Operanden sind: Direkter

Mehr

Informatikgrundlagen I Grundlagen der Informatik I

Informatikgrundlagen I Grundlagen der Informatik I Informatikgrundlagen I Grundlagen der Informatik I Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Einführung,

Mehr

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt.

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt. Die Befehle des Modellrechners in übersichtlichen Tabellen: Alle Opcodes sind Hexadezimal angegeben (s.u.). 1.) Die Ladebefehle zwischen den einzelnen Registern. In der oberen Zeile steht jeweils die Quelle

Mehr

8. Massenspeicher und Dateisysteme

8. Massenspeicher und Dateisysteme Abb. 8.1: Größenverhältnisse bei einer Festplatte Abb. 8.2: Festplattencontroller und Laufwerk Abb. 8.3: FM- und MFM-Format des Bytes 01101001 Datenbit RLL 2,7-Code 000 00100 10 0100 010 100100 0010 00100100

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Assembler Kontrollstrukturen

Assembler Kontrollstrukturen Assembler Kontrollstrukturen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Kontrollstrukturen 1/21 2008-04-03 Kontrollstrukturen

Mehr

Anhang A DEBUG. A.I Einsatzfelder eines Debuggers. Anhang A DEBUG 519

Anhang A DEBUG. A.I Einsatzfelder eines Debuggers. Anhang A DEBUG 519 Anhang A DEBUG 519 Anhang A DEBUG Der englische Begriff bug bedeutet soviel wie Wanze Kafer. Tatsiichlich wird ein Fehler in einem Computerprogramm im Fachjargon ebenfalls als bug bezeichnet. Entsprechend

Mehr

Rechnerorganisation. IKS 2017 H.-D. Wuttke, K. Henke

Rechnerorganisation. IKS 2017 H.-D. Wuttke, K. Henke Rechnerrganisatin Mathematische Grundlagen (1) Blesche Algebren: BMA, BAA (2,3) Kmbinatrische Schaltungen (4,5) Autmaten (6,7) Sequentielle Schaltungen (8) Prgrammierbare Strukturen (9) Rechneraufbau und

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen

Mehr

Befehle zur Verarbeitung von Daten ( data processing ):

Befehle zur Verarbeitung von Daten ( data processing ): ARM: Befehlssatz Befehle zur Verarbeitung von Daten ( data processing ): Register/Register-Befehle: ,, (Achtung! Andere Interpretation: ) Transport-Befehl: MOV ,

Mehr

Übungsblatt 10 (Block C 2) (16 Punkte)

Übungsblatt 10 (Block C 2) (16 Punkte) georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de pascal.libuschewski [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2016 Übungsblatt 10 (Block C 2) (16

Mehr

AMD64-Assembler-Handbuch

AMD64-Assembler-Handbuch AMD64-Assembler-Handbuch Fabian Schmied, Institut für Computersprachen Basierend auf dem Alpha-Assembler-Handbuch von Andreas Krall und dem AMD64 Architecture Programmer s Manual 1 Allgemeines Die AMD64-Architektur

Mehr

10. Der Befehlssatz des MSP 430

10. Der Befehlssatz des MSP 430 1. Der Befehlssatz des MSP 43 1.1 Befehlsformate 1.2 Zweiadressbefehle 1.3 Einadressbefehle 1.4 Sprungbefehle 1.5 Emulierte Befehle Programmierkurs II Wolfgang Effelsberg 1. Befehlssatz des MSP 43 1 1

Mehr

Praktikum Mikrorechner 4 (Bitmanipulation und Spezialregister)

Praktikum Mikrorechner 4 (Bitmanipulation und Spezialregister) Prof. Kemnitz Institut für Informatik, Technische Universität Clausthal November 5, 2014 1/18 Praktikum Mikrorechner 4 (Bitmanipulation und Spezialregister) Prof. Kemnitz Institut für Informatik, Technische

Mehr

Klausur zur Mikroprozessortechnik

Klausur zur Mikroprozessortechnik Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

Welche Register werden zur Parameterübergabe verwendet? In welcher Reihenfolge werden die Parameter auf dem Stack bzw. in den Registern abgelegt?

Welche Register werden zur Parameterübergabe verwendet? In welcher Reihenfolge werden die Parameter auf dem Stack bzw. in den Registern abgelegt? 6.5 MMIX Befehle 291 Aufrufkonventionen Eine Aufrufkonvention (engl. calling convention) legt fest, wie einer Funktion Parameter übergeben werden und wie der Rückgabewert zurückgegeben wird. Damit spezifiziert

Mehr

Computer Architektur

Computer Architektur Fakultativfach Informatik 2001/2002 1. Die Sache mit den Bit und Byte Man weiss es längst: Im Computer drin gibt's nur 1 und 0: Entweder hat es an einer bestimmten Stelle eine Spannung oder eben nicht!

Mehr

Serielle Datenübertragung mit dem Schnittstellenbaustein 8251

Serielle Datenübertragung mit dem Schnittstellenbaustein 8251 Serielle Datenübertragung mit dem Schnittstellenbaustein 8251 2 Inhaltsverzeichnis Thema Seite Inhaltsverzeichnis 2 Einleitung 2 Serielle Datenübertragung 3 Der serielle Schnittstellenbaustein 8251 4 Beispielprogramm

Mehr

Mit den Rechenfunktionen werden zwei digitale Werte addiert oder subtrahiert.

Mit den Rechenfunktionen werden zwei digitale Werte addiert oder subtrahiert. Blatt:4.1 4. RECHENFUNKTIONEN Mit den Rechenfunktionen werden zwei digitale Werte addiert oder subtrahiert. 4.1 ADDITION VON DUALZAHLEN Sollen Dualzahlen addiert werden, so gilt folgende Rechenregel: 0

Mehr

Assembler (NASM) Crashkurs von Sönke Schmidt

Assembler (NASM) Crashkurs von Sönke Schmidt Sönke Schmidt (NASM) Crashkurs von Sönke Schmidt Berlin, 4.11.2015 Meine Webseite: http://www.soenke-berlin.de NASM Was ist das? nach Wikipedia: Ein ist ein Programmierwerkzeug, das ein in maschinennaher

Mehr

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen

Mehr

2

2 TINF Interrupts EDT-Referat Jürgen Schwarzbauer 2ANB 1995/96 Inhalt : Was ist ein Interrupt? Zweck von Interrupts Maskierbare und nicht maskierbare Interrupts Aufruf eines Interrupts Anwendung von Interrupts

Mehr

11. Die PC-Schnittstelle

11. Die PC-Schnittstelle PC-Schnittstelle Funktion -1. Die PC-Schnittstelle.1. Funktion Die folgenden Angaben gelten ohne Einschränkung für den PC, PC-XT, PC-AT, AT-386, AT-486 und kompatible Rechner. Sie sind nur für jene interessant,

Mehr

9. Assembler: Der Prozessor Motorola 68000

9. Assembler: Der Prozessor Motorola 68000 9.1 Architektur des Prozessors M 68000 9.2 Adressierungsarten des M 68000 9-1 9.1 Beschreibung des Prozessors M 68000 Charakteristische Daten des 56 Maschinenbefehle 14 Adressierungsarten Zweiadressmaschine

Mehr

Technische Informatik II Rechnerarchitektur

Technische Informatik II Rechnerarchitektur Technische Informatik II Rechnerarchitektur 3.Unterprogramme in MMIX Matthias Dräger E-Mail: www: mdraeger@mi.fu-berlin.de www.matthias-draeger.info/lehre/sose2010ti2/ tinyurl.com/sose2010ti2 Zuletzt bearbeitet:

Mehr

H. Intel x86 CPU. Höhere Informatik. Systemprogrammierung: - Betriebssystemkonzepte, Ein- & Ausgabe

H. Intel x86 CPU. Höhere Informatik. Systemprogrammierung: - Betriebssystemkonzepte, Ein- & Ausgabe H. Intel x86 CPU Historische Entwicklung des x86 Registersatzes. Complex Instruction Set Computer (CISC), Deskriptoren & Adressierung, Cacheausstattung. Höhere Informatik Systemprogrammierung: - Betriebssystemkonzepte,

Mehr

Technische Informatik II Rechnerarchitektur

Technische Informatik II Rechnerarchitektur Technische Informatik II Rechnerarchitektur MMIX-Crashkurs Matthias Dräger, Markus Rudolph E-Mail: mdraeger@mi.fu-berlin.de rudolph@mi.fu-berlin.de www: tinyurl.com/mmix2010 www.matthias-draeger.info/lehre/sose2010ti2/mmix.php

Mehr

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

Mikrocomputertechnik 2.Mikroprozessor

Mikrocomputertechnik 2.Mikroprozessor 2.3 Programmiermodell des 68000 Aus Sicht des Programmierers besteht der Prozessor aus Registersatz Befehlssatz Adressierungsarten Registersatz des 68000 8 universelle Datenregister (32 Bit) D0 D7 8 Adress-Register

Mehr

Einführung in AVR Assembler

Einführung in AVR Assembler Einführung in AVR Assembler Dennis Fassbender Institut für Technik Autonomer Systeme (LRT8) Universität der Bundeswehr München 09042014 Was ist Assembler? Low-level-Programmiersprache Erlaubt direkten

Mehr

Hinweise 80x86-Architektur

Hinweise 80x86-Architektur Hinweise 80x86-Architektur Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Hinweise 80x86-Architektur

Mehr

Teil III: Wat macht ene Mikrokontroller?

Teil III: Wat macht ene Mikrokontroller? Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil III: Wat macht ene Mikrokontroller?

Mehr

Architektur und Organisation von Rechnersystemen (im Rahmen von Informatik III)

Architektur und Organisation von Rechnersystemen (im Rahmen von Informatik III) Architektur und Organisation von Rechnersystemen (im Rahmen von Informatik III) Thema heute: Zahlendarstellungen Micro_ArcOrg17-V4 am 21.05.2016 Ulrich Schaarschmidt HS Düsseldorf, WS 2017/18 Quellenhinweise

Mehr

Lösungsvorschlag zur 3. Übung

Lösungsvorschlag zur 3. Übung Prof Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik Wintersemester 09/10 1 Präsenzübungen 11 Schnelltest Lösungsvorschlag zur Übung a) Welche der folgenden Aussagen entsprechen

Mehr

U23 Assembler Workshop

U23 Assembler Workshop Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface

Mehr

4 Assembler für die 8051-Controller-Familie

4 Assembler für die 8051-Controller-Familie 4 Assembler für die 8051-Controller-Familie Tabelle 4.1 Wichtige Schreibweisen und Bedeutungen für die Befehle Abkürzung #data data addr Rr @Rr code addr Bedeutung Daten sind in der Instruktion codiert

Mehr

Praktikum Mikrorechner 9 (serielle Schnittstelle)

Praktikum Mikrorechner 9 (serielle Schnittstelle) Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 5. November 2014 1/13 Praktikum Mikrorechner 9 (serielle Schnittstelle) Prof. G. Kemnitz Institut für Informatik, Technische Universität

Mehr

Brainfuck Interpreter für ZX81

Brainfuck Interpreter für ZX81 Brainfuck Interpreter für ZX81 Sprache Befehle Die Programmiersprache Brainfuck hat wenige, einfache Regeln. Es gibt 8 Befehle + - > < [ ],. Jeder Befehl besteht aus einem einzelnen Zeichen. Es gibt keine

Mehr

Unterprogramme. Unterprogramme

Unterprogramme. Unterprogramme Unterprogramme Unterprogramme wichtiges Hilfsmittel für mehrfach benötigte Programmabschnitte spielen in höheren Programmiersprachen eine wesentliche Rolle in Assembler sind bestimmte Konventionen nötig

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Rechnerstrukturen 1: Der Sehr Einfache Computer

Rechnerstrukturen 1: Der Sehr Einfache Computer Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Zentralübung

Mehr

DLX Befehlsübersicht

DLX Befehlsübersicht DLX sübersicht 1 Instruktionen für den Daten-Transfer Daten können mit folgenden en zwischen Registern und dem Speicher oder zwischen Integer- und Fließkomma-Registern ausgetauscht werden. Der einzige

Mehr

1. Grundlagen der Informatik Organisation und Architektur von Rechnern

1. Grundlagen der Informatik Organisation und Architektur von Rechnern 1. Grundlagen der Informatik Organisation und Architektur von Rechnern Inhalt Grundlagen digitaler Systeme Boolesche Algebra / Aussagenlogik Organisation und Architektur von Rechnern Algorithmen, Darstellung

Mehr

JetControl 647 Versions Update von V3.53 auf V3.60

JetControl 647 Versions Update von V3.53 auf V3.60 JetControl 647 Versions Update von V3.53 auf V3.60 Auflage 1.00 21.06.07 / Printed in Germany Versions Update - von V3.53 auf V3.60 JetControl 647-21.06.07 Die Firma JETTER AG behält sich das Recht vor,

Mehr

U23 Assembler Workshop

U23 Assembler Workshop Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface

Mehr

PC/XT/AT ASSEMBLER-BUCH

PC/XT/AT ASSEMBLER-BUCH PC/XT/AT ASSEMBLER-BUCH Alle Befehle + Makro-Assembler KLAUS-DIETER THIES t

Mehr

Assemblerprogrammierung - 1 -

Assemblerprogrammierung - 1 - - 1 - Grundlegende Aspekte der Assemblerprogrammierung Zunächst wollen wir einmal die Notwendigkeit der Programmierung in Maschinensprache betrachten. Es gibt heute kaum noch Probleme, welche nicht auch

Mehr

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags.

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags. 3. Assembler-Programmierung Der PIC 16F84A Microcontroller kennt 35 verschiedene Befehle. Für eine ausführliche Beschreibung aller Befehle siehe PIC16F84A-Datenblatt Kapitel 7.1. 3.1 Wichtige Flaggen im

Mehr

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : Name : Klasse : Punkte : Note : Zeit: 08.00 bis 09.30 Es dürfen alle Unterlagen verwendet werden. Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf

Mehr

MIX-Befehle - Aufbau

MIX-Befehle - Aufbau MIX-Befehle - Aufbau 0 1 2 3 4 5 +/- A A I F C +AA ist der Adressteil des Befehls. Diese Zahl oder Adresse nennen wir M. I ist die Indexspezifikation. I=0 bedeutet unveränderter Adressteil, sonst wird

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden

Mehr

Assembler - Einführung 2. Teil

Assembler - Einführung 2. Teil Assembler Einführung 2. Teil (Beta 2) Assembler Einführung 2. Teil Assembler Tools und Umgebung 1 Assembler Einführung 2. Teil (Beta 2) 1. Programmaufbau Wie im ersten Teil schon erwähnt wird ein Assemblerprogramm

Mehr

Aufbau des Speichers. Interrupt Vektoren. 0xFFE0-0xFFFF. 16 Adressen f. Unterprog. ca. 60 kbyte Flash-ROM für Firmware, Programme, Daten, Tabellen

Aufbau des Speichers. Interrupt Vektoren. 0xFFE0-0xFFFF. 16 Adressen f. Unterprog. ca. 60 kbyte Flash-ROM für Firmware, Programme, Daten, Tabellen 16 Adressen f. Unterprog. Wird i.d.r. einmal vor Inbetriebnahme beschrieben, kann jedoch in 512 Byte Bänken während Betr. verändert werden. Zwei kl. Bänke f. Programm. via Scatt.Fl. Nur 2kB schnelles RAM

Mehr

EDT-REFERAT Adressierungsarten

EDT-REFERAT Adressierungsarten EDT-Referat BÜLBÜL Erkan 2ANB 95 /96 Seite 1 EDT-REFERAT Adressierungsarten INHALTSVERZEICHNIS 1.Theoretische Grundlagen 1.0 Einführung 1.1 Programm- & Datenspeicheradressierbereiche 2.Adressierungsarten

Mehr