MIX-Befehle - Aufbau
|
|
- Lilli Geiger
- vor 6 Jahren
- Abrufe
Transkript
1 MIX-Befehle - Aufbau /- 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 der Inhalt des i-ten Indexregister hinzuaddiert. F ist eine Modifikation des Befehls C, oft eine Feldspezifikation (L:R) in der Form 8*L+R mit L, R in {0,1,2,3,4,5}, L R. C ist der Code des Befehls. Alle Befehle und Codes stehen auf den nächsten Folien
2 MIX-Befehle 1: Ladebefehle LDA load A C=8, F ist Feldspezifikation. V=Content(M) ersetzt den Inhalt von ra für F=(0:5). Ist 0 nicht Teil von F, so wird das Pluszeichen verwendet. Die gelesenen Bytes werden von rechts in ra geschrieben und mit Nullen aufgefüllt. LDX load X C=15, F ist Feldspezifikation. LDX arbeitet wie LDA, aber es wird das x-register rx geladen. LDi load i C=8+i, F ist Feldspezifikation. LDi lädt das Register rii. LDAN load A negativ C=16, F ist Feldspezifikation. LDAN lädt ra mit dem negativen Wert zu V=Content(M). LDXN load X negativ C=23, F ist Feldspezifikation. analog zu LDAN nur für rx. LDiN load i negativ C=16+i, F ist Feldspezifikation. analog zu LDAN, nur für ri1,...,ri6
3 MIX-Befehle 2: Speicherbefehle STA store A C=24, F ist Feldspezifikation. Der von F festgelegte Teil von M wird von entsprechend vielen Bytes von rechts aus ra gefüllt. STX store X C=31, F ist Feldspezifikation. STX nimmt die Bytes aus rx statt ra. STi store i C=25+i, F ist Feldspezifikation. STi nimmt die Bytes aus ri1, ri2, ri3, ri4, ri5 oder ri6 statt aus ra. STJ store J C=32, F ist Feldspezifikation. STJ schreibt das rechte oder beide Bytes aus rj in den durch F festgelegten Teil von M. In der Regel ist F=(0:2). STZ store zero C=33, F ist Feldspezifikation. Dieser Befehl schreibt +0 in die Speicherstelle M.
4 MIX-Befehle 3: Arithmetik ADD add C=1, F ist Feldspezifikation. V=Content(M) wird zu Content(rA) addiert. OV wird ggf. gesetzt und die unteren 5 Bytes und das Vorzeichen der Summe in ra gespeichert. SUB subtract C=2, F ist Feldspezifikation. V=Content(M) wird von Content(rA) abgezogen. OV wird ggf. gesetzt und die unteren 5 Bytes und dasvorzeichen der Differenz in ra gespeichert. MUL multiply C=3, F ist Feldspezifikation. V wird mit Content(rA) multipliziert. Das 10-Byte-Produkt wird in ra und rx zusammen gespeichert, wobei ra die oberen Bytes erhält. Die Vorzeichen von ra und rx werden beide auf das Vorzeichen des Produktes gesetzt. DIV divide C=4, F ist Feldspezifikation. Die Werte in ra und rx werden als 10-Byte-Zahl rax mit Vorzeichen von ra gelesen und durch V geteilt. Ist V=0 oder der Quotient größer als 5 Bytes wird OV gesetzt und das Ergebnis ist undefiniert. Sonst steht der Quotient in ra und der Rest in rx. ra erhält das Vorzeichen des Quotienten und rx das alte Vorzeichen von ra.
5 MIX-Befehle 4: Adresstransformationen ENTA enter A C=48, F=2 ra erhält den Wert M. Für M=0 wird das Vorzeichen geladen. ENTX enter X C=55, F=2 ENTi enter i C=48+i, F=2 ENNA enter negative A C=48, F=3 ra erhält den Wert -M. ENNX enter negativ X C=55, F=3 ENNi enter negativ i C=48+i, F=3 INCA increment A C=48, F=0 ra wird um den Wert M erhöht. OV wird ggf. gesetzt, genau wie bei ADD. INCX increment X C=55, F=3 INCi increment i C=48+i, F=0 DECA decrement A C=48, F=1 ra wird um den Wert M vermindert. OV wird ggf. gesetzt, siehe SUB. DECX decrement X C=55, F=1 DECi decrement i C=48+i, F=1
6 MIX-Befehle 5: Vergleiche CMPA compare A C=56, F ist Feldspezifikation. Der durch F festgelegte Teil von ra wird mit dem entsprechenden Teil von M verglichen. Das Ergebnis gelangt in CM als EQUAL, GREATER oder LESS (E, G oder L). CMPX compare X C=63, F ist Feldspezifikation. CMPi compare i C=56+i, F ist Feldspezifikation.
7 MIX-Befehle 6: Sprünge JMP jump C=39, F=0 Unbedingter Sprung nach M. rj erhält die Adresse hinter der Sprunganweisung. JSJ jump, save J C=39, F=1 Unbedingter Sprung nach M ohne Änderung von rj. JOV jump on overflow C=39, F=2 Springe zu M, wenn OV gesetzt ist. rj erhält die Adresse hinter dem Sprung. OV wird abgestellt. JNOV jump on no overflow C=39, F=3 Wenn OV nicht gesetzt ist, springe nach M. Ansonsten wird OV abgestellt. rj wird gesetzt. JL,JE,JG,JGE,JNE,JLE jump on less (equal,greater, greater-equal, non-zero, less-equal) C=39, F=4,5,6,7,8 oder 9 Springe zu M, falls CM LESS (EQUAL, GREATER, GREATER or EQUAL, GREATER or LESS, LESS or EQUAL) ist. rj wird gesetzt. JAN,JAZ,JAP,JANN,JANZ,JANP jump A negativ (zero, positive, nonnegative, nonzero, nonpositive) C=40, F=0,1,2,3,4 oder 5 JXN,JXZ,JXP,JXNN,JXNZ,JXNP jump X... C=47, F=0,1,2,3,4 oder 5 JiN,JiZ,JiP,JiNN,JiNZ,JiNP jump i... C=40+i, F=0,1,2,3,4 oder 5
8 MIX-Befehle 7: Sonstige SLA shift left A, C=6, F=0 M wird als Byteanzahl interpretiert, um die MIX-Bytes in ra nach links verschoben werden. Es wird mit Nullen aufgefüllt. SRA shift right A, C=6, F=1 Wie SLA, nur wird nach rechts verschoben. SLAX, SRAX, SLC, SRC shift left AX (shift right AX, shift left AX circularly, shift right AX circularly) C=6, F=2,3,4,5 ra und rx werden als 10-Byte-Wort verstanden und nach links bzw. rechts verschoben. SLAX und SRAX füllen mit Nullen auf, während SLC und SRC zirkulär verschieben. MOVE move C=7, F eine Zahl, oft 1 Eine Anzahl F von Wörtern beginnend bei M wird zur Adresse Content(rI1) verschoben. Pro Takt wird ein Wort verschoben. ri1 wird am Ende um 1 erhöht. NOP no operation C=0 HLT halt C=5, F=2 Die Maschine stoppt. Nach einem Neustart ist dies äquivalent zu NOP.
9 MIX-Befehle 8: Eingabe und Ausgabe IN input, C=36, F = Gerät Dieser Befehl beginnt mit dem Lesen eines Wortblockes des Gerätes und schreibt ihn ab M in den Speicher. Die Zeitdauer ist unklar und ein Programm sollte nicht auf den beschriebenen Speicher zugreifen, während der Lesevorgang läuft. OUT output C=37, F = Gerät Dieser Befehl beginnt das Schreiben eines Wortblockes der durch das Gerät definierten Länge ab der Adresse M aus dem Speicher auf das Gerät. IOC Zeitdauer unbekannt wie bei IN. input-output-control C=35, F = Gerät Bei den Geräten 0-7 wird das Band für M=0 zurückgespult. Für M<0 wird es M Blöcke zurück, für M>0 M Blöcke vorgespult. Die Maschine wartet, bis das Gerät bereit ist. Bei den Geräten 8-15 sollte M=0 sein. Die Platte oder Trommel wird so eingestellt, dass Zugriff ab Content(rX) schnell ist. IOC 0 (18) setzt den Zeilendrucker zum Anfang der nächsten Seite. IOC 0 (20) spult das Papierband zurück. JRED jump ready C=38, F = Gerät Falls das Gerät fertig (mit IN, OUT oder IOC) ist, springe nach M. JBUS jump busy C=34, F = Gerät Falls das Gerät nicht fertig ist, springe nach M.
10 MIX-Befehle 9: Umwandlungsoperatoren NUM convert to numeric, C=5, F = 0 Das 10-Byte -Wort rax wird als Zeichen eines Zahlwortes interpretiert. Dieses Wort wird in ra abgelegt. Vorzeichen von ra und rx bleiben unverändert. Bytewerte 00,10,20,30,40,50,60 werden als Ziffer 0 gelesen. Die Bytewerte 01,11,21,31,41,51,61 werden als Ziffer 1 gelesen,... CHAR convert to chararcters C=37, F = 1 Content(rA) wird in Zeichen umgewandelt und in rax abgelegt. Vorzeichen von ra und rx bleiben unverändert.
11 MIX-Label, MIX-Adressen, MIX-Terme <Adresse> -> <Ziffer03> <Ziffer> <Ziffer> <Ziffer> <Term> <Index> -> <Term> -> <Zahl> <Symbol> <Term> + <Term> <Term> - <Term> <Term> * <Term> <Term> / <Term> (<Term>) <Label> -> <Buchstabe> <Buchstabe> <Labelrest> <Labelrest> -> <Ziffer> <Buchstabe> <Labelrest> <Labelrest> <Zahl> -> <Ziffer19> {<Ziffer>} 0 <5Zeichen> -> <Zeichen> <Zeichen> <Zeichen> <Zeichen> <Zeichen> <Zeichen> -> ' ' <Buchstabe> <Ziffer> <Sonderzeichen> <Sonderzeichen> ->., ( ) + - * / = $ '<' ; : ''' <Ziffer> -> <Ziffer19> -> <Ziffer05> -> <Ziffer03> -> <Buchstabe> -> A B C D E F G H I J K L M N O P Q R Σ Π S T U V W X Y Z
12 MIXAL-Syntax <Programm> -> <Befehl> [ CR <Befehl>] (CR steht für Zeilenwechsel.) <Befehl> -> <MIX-Befehl> ' ' <Kommentar> <MIXAL-Befehl> ' ' <Kommentar> * <Kommentar> <MIX-Befehl> -> [<Label>] <MIX-OP> [<Adresse>] [,<Index>] [<Feld>] <Kommentar> -> <Zeichen> <Kommentar> <Kommentar> <MIX-OP> -> LDA LDX... CHAR <Feld> -> ( <Ziffer05> : <Ziffer05> ) <MIXAL-Befehl> -> ALF <5Zeichen> CON <Term> END ORIG <Adresse> <Label> EQU <Term> Nebenbedingungen: - Einige MIX-Befehle dürfen kein (<Feld>) haben. - <Term> darf nie größer als 2^30 oder kleiner als -2^30 sein. - MIX-OP und ALF, CON, END, EQU, ORIG dürfen nicht als Label verwendet werden.
13 MIXAL Semantik - ALF nimmt die 5 Zeichen und schreibt ihre 5 Bytewerte an die aktuelle Position. - CON schreibt den Wert des Terms an die aktuelle Speicherposition. - END markiert das Ende des Programms. Die Adresse gibt die Startadresse des Programms. - EQU dient dem Definieren von Symbolen, z.b. setzt SYM EQU 2*30 das Symbol SYM auf den Wert ORIG definiert die Speicheradresse der folgenden Befehle auf <Term>.
14 Beispiel Variante 1 void MAX(int &X, int &max, int &j, int n) { int k = n; max = X[k]; j = k; for (k = n-1; k > 0; k--) if ( max < X[k] ) then { max = X[k]; j = k; } }
15 Beispiel Variante 2 void MAX(int &X, int &max, int &j, int n) { int k = n; goto CHANGEM; LOOP: if ( max >= x[k] ) then goto DECK; CHANGEM: j = k; max = x[k]; DECK: k = k - 1; if (k > 0) then goto LOOP; }
16 MIXAL-Beispiel Berechnung des Maximums der Zahlen X[1],...X[n] Voraussetzung: X[1..n] = Content(X),...,Content(X+n), ri1=n Variablen: max = ra, j = ri2, k = ri3 Maschinencode Nr. Label Op Operand Kommentar 01 X EQU 1000 Setze Beginn Zahlenfeld 02 ORIG 3000 Setze Beginn Programm 3000: MAX STJ EXIT Setze Rücksprungadresse 3001: INIT ENT3 0,1 k=n 3002: JMP CHANGEM ( j=n,max=x[n],k=n-1 ) 3003: LOOP CMPA X,3 IF m>= x[k] 3004: JGE DECK THEN GOTO DECK 3005: CHANGEM ENT2 0,3 j=k 3006: LDA X,3 max=x[k] 3007: DECK DEC3 1 k=k : J3P LOOP IF k>0 THEN GOTO LOOP 3009: EXIT JMP * Zurück zu Hauptprogramm 13 END MAX
17 Beispieldurchlauf Adresse Befehl ra ri1 ri2 ri3 rj CM OV STJ 3009? 3?? 2000?? JMP ENT3 0,1? 3?? 2000?? JMP JMP 3005? 3? ?? JMP ENT2 0,3? 3? ?? JMP LDA 1000,3? ?? JMP DEC ?? JMP J3P ? JMP CMPA 1000, G JMP JGE G JMP DEC G JMP J3P G JMP CMPA 1000, G JMP JGE L JMP ENT2 0, L JMP LDA 1000, L JMP DEC L JMP J3P L JMP JMP L JMP ??????? L JMP 2000
18 Informationen zu MIX und MIXAL GNU Software Version Donald E. Knuth: The Art of Computer Programming
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
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 1: Von der Maschinensprache zu C Prof. Dr. Maschinensprache: MIPS R2000 Was bewirkt folgendes Programm: 00100111101111011111111111100000 10101111101111110000000000010100
MehrTIn 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
MehrRandom Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,
Mehr0 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
MehrBeim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:
1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address
MehrRechnerarchitektur Teil 2
Rechnerarchitektur Teil 2 Fähigkeiten der Registermaschine und Sprachübersetzung Dipl.-Inform. Meiko Lösch 2006-05-12 Inhalt 1 Rechenfähigkeit Zuweisungen Rechnen Relationen 2 Programmierfähigkeit Schleifen
Mehr3 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
MehrAlgorithmen 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.
Mehrx86 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
MehrHC680 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
MehrDer Toy Rechner Ein einfacher Mikrorechner
Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte
MehrInstruktionssatz-Architektur
Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile
MehrDaniel 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
MehrMikrocomputertechnik. 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
Mehr1. Inhaltsverzeichnis
Mikrocomputer Simulator Inhaltsverzeichnis _ 2 _ 1. Inhaltsverzeichnis 1. INHALTSVERZEICHNIS...2 2. AUFBAU UND BEDIENUNG...3 2.1. EINFÜHRUNG...3 2.1.1. TECHNISCHE DATEN... 3 2.1.2. VERWENDUNGSZWECK...
MehrMikroprozessortechnik. 03. April 2012
Klausur 03. April 2012 Name:. Vorname Matr.-Nr:. Studiengang Hinweise: Bitte füllen Sie vor dem Bearbeiten der Aufgaben das Deckblatt sorgfältig aus. Die Klausur besteht aus 6 doppelseitig bedruckten Blättern.
MehrAssembler - Adressierungsarten
Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 22: Mima-X Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
MehrZwischencodeerzeugung Compiler II
Zwishenodeerzeugung Compiler II Prof. Dr. Ursula Goltz 14.09.2012 Einleitung Front-End... Parser Sem. Analys Zwishenodegenerator Bak-End Codegenerator... Zwishendarstellung (Zwishenode) evtl. mashinennunabh.
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
MehrTechnische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015
Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse
MehrC- Kurs 04 Anweisungen
C- Kurs 04 Anweisungen Dipl.- Inf. Jörn Hoffmann jhoffmann@informa@k.uni- leipzig.de Universität Leipzig Ins@tut für Informa@k Technische Informa@k Ausdrücke Institut für Informatik Anweisungen C-Programm
MehrInstitut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.
Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.
MehrAssembler 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
Mehr1 Random Access Maschine
1 RANDOM ACCESS MASCHINE 1 1 Random Access Maschine Neue Hardware: Random Access Maschine = RAM. Der Name hat nichts mit Zufall zu tun, sondern mit wahlfreiem Zugriff. Die RAM besteht aus einem Eingabeband,
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrZahlensysteme: Oktal- und Hexadezimalsystem
20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen
MehrTI II. Sommersemester 2009 Prof. Dr. Mesut Güneş 7. Aufgabenblatt mit Lösungen
7. Aufgabenblatt mit Lösungen Problem 1: IEEE-Gleitkommazahlen (2+2+4=8) a) Welchen Bereich der positiven Zahlen kann man mit normalisierten Gleitkommazahlen im IEEE-754-Format mit 64 Bit darstellen? b)
MehrFunktionaler Aufbau eines Computers Untersuchung von Delphi-Compilaten
Funktionaler Aufbau eines Computers Im Folgenden soll der Weg untersucht werden, wie ein Programm, das von einem Compiler/Interpreter in Maschinencode übertragen wurde, schließlich vom Prozessor abgearbeitet
MehrMikrocontroller-Programmierung
Mikrocontroller-Programmierung Anhand des HC12 Fabian Wiesel Überblick Überblick Mikrocontroller Überblick HC12 CPU Peripherie des DG128 Assemblerprogrammierung Mikrocontroller Leistungsfähigkeit: zwischen
MehrAssembler-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
MehrTechnische Informatik 2 Adressierungsarten
Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine
MehrDATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE
D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:
Mehr2017/01/23 15:50 1/5 Bedienung
2017/01/23 15:50 1/5 Bedienung Bedienung (J.Müller, Hilfe zu JTCEMU) Das originale 2K-System Das 2 KByte große Betriebssystem bietet die wichtigsten Funktionen zur Eingabe und Verwaltung von BASIC-Programmen.
MehrTechnische Informatik 1
Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache
MehrBekannte 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
MehrTeil IX. Eine kleine Programmiersprache
Teil IX Eine kleine Programmiersprache 1 Teil IX.1 Syntaktische Beschreibungsmittel 2 Chomsky Grammatik Eine Chomsky Grammatik wird beschrieben mit einem Quadrupel G = (N, T, P, S). Dabei ist: N die Menge
Mehr10. 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
MehrGrundbegriffe der Informatik Tutorium 5
Grundbegriffe der Informatik Tutorium 5 Tutorium Nr. 16 Philipp Oppermann 2. Dezember 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter
MehrTechnische 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:
Mehr3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006
3AA Prof. Dr. Wolfgang P. Kowalk Universität Oldenburg WS 2005/2006 Version vom 24.10.2005 Übersicht Einführung in maschinennahe Programmierung Verständnis für grundlegende Vorgänge im Computer Jedes Programm
MehrGrundlagen zur Assemblerprogrammierung unter SPIM im Sommersemester Lorenz Schauer Mobile & Verteilte Systeme
Grundlagen zur Assemblerprogrammierung unter SPIM im Sommersemester 2016 Lorenz Schauer Mobile & Verteilte Systeme 12. Juli 2016 Agenda heute Grundlagen: Unterprogramme I Call-by-Value (CBV) vs. Call-by-Reference
MehrTechnische Informatik 2: Addressierung und Befehle
Technische Informatik 2: Addressierung und Befehle Memory Map Programm Speicher: Adresse $000-$FFF max. 4096 Byte für kompiliertes Programm Data Memory: Adresse $0000-$FFFF 32 8Bit Register 64 I/O Register
MehrDie Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet.
Übung Nr. 1b: MIKROPROZESSOR, Hewlett - Packard µ-lab en sind kleine Computer, die mit externen Geräten Daten austauschen können. Sie verfügen über Speicher, um Programme und Daten zu speichern und Eingangsund
MehrÜbungscomputer mit Prozessor 8085 - Bedienungsanleitung
Seite 1 von 9 Pinbelegung der Steckerleisten im Übungsgerät Seite 2 von 9 Inbetriebnahme: Schalter S1, S2, und S3 in Stellung 1 (oben) schalten. Spannung 5 V anlegen. ACHTUNG auf Polarität achten. Taste
MehrBefehlssatz 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
MehrSWE1 / Übung 2 (19.10.2011)
SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn
MehrDas Prinzip an einem alltäglichen Beispiel
3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und
MehrShangrila. One Instruction Set Computer
Shangrila One Instruction Set Computer Outline One Instruction Set Computer Die Idee Funktion Die Machine Shangrila VM Interfaces Tools Implementation Status & Zukunft OISC >> Die Idee CPU mit nur einer
MehrAlgorithmen und Datenstrukturen 1 Kapitel 4.1
Algorithmen und Datenstrukturen 1 Kapitel 4.1 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 4: Maschinenmodelle [Dieses Kapitel hält sich eng an
MehrRechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011
Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste
MehrIT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken
IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken Im Folgenden finden Sie jeweils die korrekte Antwort zu den im Buch abgedruckten Prüfungsfragen, soweit die Antworten in Textform
MehrName: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.
Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Die Registermaschine (random access machine, RAM) 0 I 0 1 I 1 2 I 2 m I m Programm
MehrTECHNISCHE 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
MehrL3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
MehrB1 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
MehrEinfü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
MehrProblem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts
Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101
MehrSyntax von LOOP-Programmen
LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen:
MehrLOOP-Programme: Syntaktische Komponenten
LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=
MehrZusammenfassung des Handzettels für Programmieren in C
Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.
MehrDie 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.
MehrKap 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.).
MehrProzessor HC680 fiktiv
Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster
Mehr1 ÜBERSETZER. Compilerbau 1
1 ÜBERSETZER 1 A.V.Aho, J.D.Ullmann: Principles of Compiler Design, Addison Wesley (1977) J.Amsterdam: Building a computer in Software, BYTE (Okt. 1985) Programming Project: A SIMPL Compiler, BYTE (Dez.
MehrMicrocontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1
Microcontroller Kurs Programmieren 9.1.11 Microcontroller Kurs/Johannes Fuchs 1 General Purpose Input Output (GPIO) Jeder der Pins der vier I/O Ports kann als Eingabe- oder Ausgabe-leitung benutzt werden.
MehrDie wichtigsten SHORTCUTS in Excel
Die wichtigsten SHORTCUTS in Excel Zellbearbeitung STRG + C Kopieren STRG + V Einfügen STRG + X Ausschneiden STRG + Z Letzter Schritt wird rückgängig gemacht STRG + A Tabellenblatt markieren Allgemeine
MehrDer 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.
Mehr68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.
WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. Ein Programm liegt der CPU in binärer Form vor und wird durch den Assembler in einer primitiven
MehrBrainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen
Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit
MehrComputer-Architektur Ein Überblick
Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
MehrCOBOL Programmierte Unterweisung
Harald Gockel COBOL Programmierte Unterweisung 3. Auflage Hüthig Buch Verlag Heidelberg Inhaltsverzeichnis Vorwort 1 1.1 Urhebernachweis 2 1.2 Hinweise zur Benutzung dieses Buches 3 Wie entsteht ein Programm?
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner
MehrErgänzungen zum Manual OS V 2.05/2.06
Ergänzungen zum Manual OS V 2.05/2.06 SYSTEMRESOURCEN - PROGRAMM DOWNLOAD - Ab der Betriebssystemversion 2.05 haben die C-Control Units M-2.0 und Station 2.0 die Möglichkeit das Anwenderprogramm von einem
MehrTechnischen Informatik I, WS 2004/05
PHILIPPS-UNIVERSITÄT MARBURG Fachbereich Mathematik und Informatik Prof Dr R Loogen, Dipl-Inform J Beringer D-3532 Marburg Hans-Meerwein-Straße Lahnberge Klausur zur Technischen Informatik I, WS 24/5 3
MehrSchachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A
2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrTutorübung 7: Mikroprogrammierung I
Tutorübung 7: Mikroprogrammierung I Vorlesung Einführung in die Technische Informatik (ETI) Lehrstuhl für Rechnertechnik und Rechnerorganisation Institut für Informatik 10 Technische Universität München
MehrNetzwerksicherheit Musterlösung Übungsblatt 4: Viren
Institut für Informatik Alina Barendt und Philipp Hagemeister Netzwerksicherheit Musterlösung Übungsblatt 4: Viren 1 Vorbereitung msg db "Virus" mov ah, 40h mov bx, 1 mov cx, $5 mov dx, msg int 21h ; Write
MehrLösungen zum Kurs "Mikrocontroller Hard- und Software
Lösungen zum Kurs "Mikrocontroller Hard- und Software Gerhard Schmidt Kastanienallee 20 64289 Darmstadt http://www.avr-asm-tutorial.net Lösung Aufgabe 2 Aufgabe 2 sbi DDRB,PB0 2 Takte sbi PORTB,PB0 2 Takte
MehrL6. Operatoren und Ausdrücke
L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.
Mehr5.BMaschinensprache und Assembler
Die Maschinenprogrammebene eines Rechners Jörg Roth 268 5.BMaschinensprache und Assembler Die vom Prozessor ausführbaren Befehle liegen im Binärformat vor. Nur solche Befehle sind direkt ausführbar. So
MehrBeispiel einer Übersetzung
Beispiel einer Übersetzung Ausdruck in C aktuelle_zeit = Startzeit + vergangene_minuten*60 + vergangene_sekunden; Ausdruck im Instruktionssatz des R10000 LW r1,minuten LW r1,sekunden ADDI r2,r0,60 ADD
Mehr2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
MehrDr. Monika Meiler. Inhalt
Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8
MehrCPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
CPU Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU 1/62 2012-02-29 CPU Übersicht: Pipeline-Aufbau Pipeline- Hazards CPU
MehrMikroprozessor als universeller digitaler Baustein
2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen
MehrProjekt Sudoku 1. Teil Case Select
Projekt Sudoku 1. Teil Case Select Wir wollen eine unterstützende Software erstellen, die nicht komplette Berechnung selbständig vornimmt, sondern nur dem Spieler Hilfen beim Ausfüllen gibt. So sollen
MehrProzessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel
Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle
MehrKontrollstrukturen, Pseudocode und Modulo-Rechnung
Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1
Mehr4.2 Universalrechner: Schaltung unabhängig vom Problem 185
4.2 Universalrechner: Schaltung unabhängig vom Problem 85 a) Geben Sie binär die Befehlsworte an, mit denen Sie die Eingänge a, b und c in die Register R, R2 und R übernehmen. K D M4 M M2 M Kommentar XXXXXXXXXXX
MehrN Bit binäre Zahlen (signed)
N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101
MehrINFORMATIK Oberstufe. Funktionsweise eines Rechners
INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den
MehrAlgorithmen und Programmierung
Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen
MehrMikrocomputertechnik. Einadressmaschine
technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik
MehrDie 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