Inhaltsübersicht. 1. Aufbau eines Maschinenbefehls. 2. Adressierungsarten. 3. Indizierte Adressierung. 4. Befehlssatz

Größe: px
Ab Seite anzeigen:

Download "Inhaltsübersicht. 1. Aufbau eines Maschinenbefehls. 2. Adressierungsarten. 3. Indizierte Adressierung. 4. Befehlssatz"

Transkript

1 Kurs 7: Mikrorechner-Praktikum Inhaltsübersicht. Aufbau eines Maschinenbefehls. Adressierungsarten. Indizierte Adressierung. Befehlssatz. Verzweigungsbefehle und Berechnung von relativen Sprungadressen 6. Praktische Übung: Dezimalzähler 7. Portbaustein MC6. Aufbau der Schnittstellen-Erweiterungskarte 9. Praktische Übung: Parallelport. Zeitgeber-/Zählerbaustein. Praktische Übung: Timer

2 Kurs 7: Mikrorechner-Praktikum. Aufbau eines Maschinenbefehls Codierung der Register für die Befehle TFR und EXG Register Binärcode Hex-Code rr-code D X Y U S PC A B 9 CC A DP B

3 Kurs 7: Mikrorechner-Praktikum. Adressierungsarten unmittelbare Adressierung (immediate) Beispiel: LDA #$7F (6 7F) implizite Adressierung (implied, inherent) Beispiele: INCA, CMPX, LDX Achtung: keine Flag-Adressierung Ersatz: ANDCC, ORCC

4 Kurs 7: Mikrorechner-Praktikum absolute (erweiterte) Adressierung (extended) Beispiel: LDA $A7 Seiten-Adressierung (direct) Beispiele: LDB <$A, LDB $A: D6 A, für (DP)=$XY: $XYA LDB >$A: F6 A indizierte Adressierung ohne Offset (indexed) Beispiele: LDA,X LDB,Y++

5 Kurs 7: Mikrorechner-Praktikum indizierte Adressierung mit Offset Beispiele: LDA -,X LDB A,U LDD -,PCR indirekte Adressierung (indirect) Beispiele: LDB [,U] LDD [A,X] LDA [-,PCR] Programmzähler-relative Adressierung (relative) Beispiele: BRA - BEQ $79 LBPL $FFFC

6 Kurs 7: Mikrorechner-Praktikum. Indizierte Adressierung Lfd. Nr. Offset Assembler Postbyte (Hex) ~ # Assembler Postbyte (Hex) ~ # kein Offset,R rr [,R] rr -Bit* n,r rrnnnnn - -Bit Offset benutzen / / -Bit n,r rr [n,r] rr 6-Bit n,r rr [n,r] rr 7 A-Register A,R rr [A,R] rr 6 B-Register B,R rr [B,R] rr 7 D-Register D,R rr [D,R] rr 7 Inc. um,r+ rr nicht erlaubt / / 9 Inc. um,r++ rr [,R++] rr 6 Dec. um,-r rr nicht erlaubt / / Dec. um,--r rr [,--R] rr 6 PCR -Bit n,pcr rr ) [n,pcr] rr ) PCR 6-Bit n,pcr rr ) [n,pcr] rr ) Extended Indirekt [n] rr ) * Der Offset ist im Postbyte enthalten, deshalb ist das Postbyte binär dargestellt. An der Stelle nnnnn wird der Offset im Binärcode gesetzt und dann in den Hex-Code umgeformt. ). Tetrade auch:, A, C, E ). Tetrade auch: 9, B, D, F Register rr-code X Y U S 6

7 Kurs 7: Mikrorechner-Praktikum Beispiel zur PC-relativen Adressierung: BD F JSR CLRDISP E6 C 6 LDB 6,PCR 6 BRA L DB,,,,,, 6, 7,, 9, C 6 7 $A, $B, $C, $D, $E, $F 9 A B C D E F BD F L: JSR SHOWB7SG B SYNC ; Ergebnis=... E6 9C 6 LDB [6,PCR] ; indirekte Adressierung F BRA L DB,,,,,, 6, 7,, 9, $A, $B, $C, $D, $E, $F D 9 A B C D E F ; Ergebnis=... 7

8 Kurs 7: Mikrorechner-Praktikum. Befehlssatz Adressing Modes Immediate Direct Indexed Extended Inherent Instruction Forms Op ~ # Op ~ # Op ~ # Op ~ # Op ~ # Description H N Z V C ABX A B + X X (Unsigned) ADC ADD AND ASL ASR BIT CLR CMP COM ADCA ADCB ADDA ADDB ADDD ANDA ANDB ANDCC 9 C9 B CB C C C 99 D9 9B DB D 9 D 6 A9 E9 AB EB E A E B9 F9 BB FB F B F ASLA ASLB ASL ASRA ASRB ASR BITA BITB C 9 D A E B F CLRA CLRB CLR F 6 6F F 7 CMPA CMPB CMPD CMPS CMPU CMPX CMPY C C C C 9 D 9 9C 9 9C 9C A E A AC A AC AC B F B BC B BC BC COMA COMB COM F F A + M + C A B + M + C B A + M =A B + M B D + M : M + D A M A B M B CC IMM CC Bit Test A (M A) Bit Test B (M B) A B M Compare M from A Compare M from B Compare M : M + from D Compare M : M + from S Compare M : M + from U Compare M : M + from X Compare M : M + from Y A A B B M M = CWAI C CC IMM CC Wait for Interrupt 7 DAA 9 Decimal Adjust A DEC DECA DECB A A A - A B - B DEC A 6 6A A 7 M - M EOR EORA EORB C 9 D A E B F A M A B M B EXG R, R E R =R INC INCA INCB C C A + A B + B INC C 6 6C C 7 M + M JMP E 6E + + 7E EA PC JSR 9D 7 AD 7+ + BD Jump to Subroutine LD LDA LDB LDD LDS LDU LDX LDY 6 C6 CC CE CE E E 96 D6 DC DE DE 9E 9E 6 6 A6 E6 EC EE EE AE AE B6 F6 FC FE FE BE BE M A M B M : M + D M : M + S M : M + U M : M + X M : M + Y 7

9 Kurs 7: Mikrorechner-Praktikum Adressing Modes Immediate Direct Indexed Extended Inherent Instruction Forms Op ~ # Op ~ # Op ~ # Op ~ # Op ~ # Description H N Z V C LEA LEAS LEAU LEAX LEAY EA S EA U EA X EA Y LSL LSLA LSLB LSL LSR LSRA LSRB LSR MUL D A =B D (Unsigned) 9 NEG NEGA NEGB NEG A + A B + B M + M NOP No Operation OR ORA ORB ORCC A CA A 9A DA AA EA BA FA A M A B M B CC IMM CC 7 PSH PSHS PSHU 6 PUL PULS PULU 7 ROL ROR ROLA ROLB ROL RORA RORB ROR RTI B Push Registers on S Stack Push Registers on U Stack Pull Registers from S Stack Pull Registers from U Stack Return from Interrupt 7 RTS 9 Return from Subroutine SBC SBCA SBCB C 9 D A E B F A - M - C A B - M - C B SEX D Sign Extend B into A ST STA STB STD STS STU STX STY 97 D7 DD DF DF 9F 9F 6 6 A7 E7 ED EF EF AF AF B7 F7 FD FF FF BF BF A M B M D M : M + S M : M + U M : M + X M : M + Y M : M + SUB SUBA SUBB SUBD SWI SWI 6 SWI 6 SWI 6 C 9 D 9 6 A E A B F B 7 F F F 9 A - M A B - M B D - M : M + D Software Interrupt Software Interrupt Software Interrupt SYNC Synchronize to Interrupt TFR R, R F 6 R R TST TSTA TSTB D D Test A Test B TST D 6 6D D 7 Test M 9

10 Kurs 7: Mikrorechner-Praktikum Beispiel: Befehl LEA_ zur Realisierung von Zählvariablen (_ = X, Y, U, S) (Vor der Befehlsfolge X = $ setzen.) LEAX,X+ ; X = $ F SWI LEAX,X ; X = $ F SWI 6 LEAX,X++ ; X = $ F SWI 9 LEAX,X ; X = $ B F SWI C LEAX,-X ; X = $ E F SWI F LEAX,- -X ; X = $ F SWI LEAX -,X ; X = $ F SWI

11 Kurs 7: Mikrorechner-Praktikum. Verzweigungsbefehle und Berechnung von relativen Sprungadressen Befehl Form Addr.-Art: Beschreibung Relative OP ~ # H N Z V C CMPR *) Vorzeichen BCC BCS BEQ BGE BGT BHI BHS BLE BLO BLS BLT BMI BNE BPL BRA BRN BSR BVC BVS BCC LBCC BCS LBCS BEQ LBEQ BGE LBGE BGT LBGT BHI LBHI BHS LBHS BLE LBLE BLO LBLO BLS LBLS BLT LBLT BMI LBMI BNE LBNE BPL LBPL BRA LBRA BRN LBRN BSR LBSR BVC LBVC BVS LBVS 7 7 C C E E F F D D B B 6 6 A A 6 D (6) (6) (6) (6) (6) (6) (6) (6) (6) (6) (6) (6) (6) (6) 7 9 (6) (6) Branch C = Long Branch C = Branch C = Long Branch C = Branch Z = Long Branch Z = Branch =Zero Long Branch =Zero Branch > Zero Long Branch > Zero Branch Higher Long Branch Higher Branch Higher or Same Long Branch Higher or Same Branch =Zero Long Branch =Zero Branch Lower Long Branch Lower Branch Lower or Same Long Branch Lower or Same Branch < Zero Long Branch < Zero Branch Minus (N=) Long Branch Minus Branch on Z= Long Branch on Z= Branch Plus (N=) Long Branch Plus Branch Always Long Branch Always Branch Never Long Branch Never Branch to Subroutine Long Branch to Subr. Branch V = Long Branch V = Branch V = Long Branch V = R =M R > M R > M R =M R =M R < M R =M R < M vorzeichenbehaftet vorzeichenbehaftet vorzeichenlos vorzeichenlos vorzeichenbehaftet vorzeichenlos vorzeichenlos Vorzeichenbehaftet

12 Kurs 7: Mikrorechner-Praktikum Test wahr OpCode falsch OpCode unbedingte Verzweigungen --- BRA / LBRA / BRN / LBRN / BSR / LBSR BD / einfache bedingte Verzweigung N = BMI / LBMI B / B BPL / LBPL A / A Z = BEQ / LBEQ 7 / 7 BNE / LBNE 6 / 6 V = BVS / LBVS 9 / 9 BVC / LBVC / C = BCS / LBCS / BCC / LBCC / vorzeichenbehaftete bedingte Verzweigung r > m BGT / LBGT E / E BLE / LBLE F / F r m BGE / LBGE C / C BLT / LBLT D / D r = m BEQ / LBEQ 7 / 7 BNE / LBNE 6 / 6 r m BLE / LBLE F / F BGT / LBGT E / E r < m BLT / LBLT D / D BGT / LBGT C / C vorzeichenlose bedingte Verzweigung r > m BHI / LBHI / BLS / r m BHS / LBHS / BLO / LBLO / r = m BEQ / LBEQ 7 / 7 BHE / LBHE 6 / 6 r m BLS / LBLS / BHI / LBHI / r < m BLO / LBLO / BHS / LBHS / Beispiele: vorzeichenbehaftet: $A $FA, $DC $A, $6F $9 vorzeichenlos: $FA $A, $ $BD, $9 $6F Datentasten-Codes: $ - $F, Funktionstasten-Code: $ - B Der Tastencode stehe in Accu B zur Verfügung. Durch welche Befehlsfolge kann man Funktions- und Datentasten trennen? Verzweigung, falls Datentaste: Verzweigung, falls Funktionstaste: Berechnung von relativen Sprungadressen

13 Kurs 7: Mikrorechner-Praktikum Beispiele: >: n = $7AF <: m = $79CD m = $79CD k = $79E n-m = $7 m-k = $6F alternativ: (m-k) k = $ - $6F = $9

14 Kurs 7: Mikrorechner-Praktikum Übersicht der implementierten Monitorroutinen Name Funktion Adresse. Umwandlungsroutinen T7SG Umwandlung der unteren Tetrade von B in den 7-Segment- F Code, Ergebnis in A B7SG Umwandlung beider Tetrade von B in den 7-Segment-Code, F Ergebnis in D=A,B D7SG Umwandlung der vier Tetrade von D in den 7-Segment-Code, Ergebnis in D,Y F6. Darstellungsroutinen CLRDISP Löschen der Anzeige F SHOWA Bringt A in die Anzeige, Position in X F SHOWD Bringt D in die Anzeige, Position in X F6 SHOWYD Bringt Y,D in die Anzeige, Position in X F9 SHOWT7SG Umwandlung der unteren Tetrade von B in 7-Segment-Code, FC Darstellung in der Anzeige, Position in X SHOWB7SG Umwandlung beider Tetraden von B in den 7-Segment-Code, F Darstellung in der Anzeige, Position in X SHOWD7SG Umwandlung der vier Tetraden von D in den 7-Segment-Code, Darstellung in der Anzeige, Position in X F. Routinen zur Bearbeitung des Anzeige-Puffers Adresse des Puffers in X CLDBUF Löschen des Anzeigepuffers F SHOWDBUF Übertragen des Puffers in die Anzeige F RRDBUF Rotieren des Puffers um eine Stelle nach rechts F6 RLDBUF Rotieren des Puffers um eine Stelle nach links F9 COPYDBUF Kopieren eines. Puffers in den Anzeigepuffer FC. Routinen zur Abfrage der Tastatur KEY Lesen der Tastatur ohne Warten, Tastencode nach B F HALTKEY Lesen der Tastatur mit Warten, Tastencode nach B F SHOWKEY Lesen der Tastatur ohne Warten und Anzeigen, F6 Tastencode nach B SHOWHKEY Lesen der Tastatur mit Warten und Anzeigen, F9 Tastencode nach B INDATA Einlesen eines -bit-datums über die Tastatur, FC Datum nach A, Tastencode nach B SHOWDATA Einlesen eines -bit-datums über die Tastatur und Anzeigen, F Datum nach A, Tastencode nach B INADR Einlesen einer 6-bit-Adresse über die Tastatur, F Adresse nach Y, Tastencode nach B SHOWADR Einlesen einer 6-bit-Adresse über die Tastatur und Anzeigen, Adresse nach Y, Tastencode nach B F6. weitere Routinen DLYMS Schleife zur Zeitverzögerung, Zeitdauer in Y vorgegeben F6 RANDOM Pseudo-Zufallszahlengenerator, alter und neuer Wert in Y F6 COPYXD Verschieben von Speicherbereichen, Startadressen in X,Y, Länge in D F66

15 Kurs 7: Mikrorechner-Praktikum 6. Praktische Übung: Dezimalzähler Schreiben Sie ein Programm, das im Adreßfeld S - S der Anzeige einen -stelligen Dezimalzähler realisiert. Im einzelnen soll das Programm:. die Anzeige löschen,. über die Tastatur einen -stelligen Startwert einlesen, wobei nur die Ziffern,,..., 9 akzeptiert werden sollen, und diesen Startwert im Adreßfeld anzeigen,. nach Betätigen der Funktionstaste + den Zählvorgang mit einer Zählfrequenz von (ungefähr) Hz beginnen,. nach Betätigen der Funktionstaste - den Zählvorgang solange stoppen, bis er durch die Taste + wieder gestartet wird,. bei Erreichen des Endwertes 9999 mit dem Wert zyklisch weiterzählen. Alle nicht genannten Funktionstasten sollen keine Wirkung haben. (Natürlich außer F und C.)

16 Kurs 7: Mikrorechner-Praktikum 7. Parallelportbaustein MC6 Interruptvektoren für MC6 Adressen Quelle Vorbelegung $6,$7 CA Break-Taste F $,$9 CB RTI $A,$B CA RTI $C,$D CB RTI 6

17 Kurs 7: Mikrorechner-Praktikum Programmiermodell des MC6 (kombiniertes Steuer- und Statusregister) 7

18 Kurs 7: Mikrorechner-Praktikum Handshakesignale im Strobe-Modus

19 Kurs 7: Mikrorechner-Praktikum 9

20 Kurs 7: Mikrorechner-Praktikum 9. Praktische Übung: Parallelport Schreiben Sie ein Programm, das. die Anzeige löscht und danach zyklisch:. nach dem Betätigen des Schalters an CB (durch die positive Flanke) den durch den Zustand der Schalter an den Porteingängen PB7,..., PB gegebenen Binärwert als Hexadezimalzahl im Datenfeld der Anzeige (S, S) darstellt,. nach der Eingabe für eine Sekunde die Leuchtdiode am Ausgang CB aktiviert,. über die Tastatur eine -stellige Hexadezimalzahl einliest und im Operationsfeld der Anzeige (S7, S6) darstellt,. nach Betätigen des Schalters an CB die unter. eingelesene Hexadezimalzahl eine Sekunde lang am Port Pb ausgibt und dabei die LED an CB aktiviert, 6. mit. fortfährt.

21 Kurs 7: Mikrorechner-Praktikum. Zeitgeber-/Zählerbaustein MC6 Adressen der Register Adresse RS RS RS Schreiben R/W=) (Lesen(R/W=) $F CR# (Bit= im CR#) - $F CR# (Bit= im CR#) - $F9 CR# Statusregister $FA MSB-Pufferregister MSB-Zähler # $FB Latches # LSB-Puffer $FC MSB-Pufferregister MSB-Zähler # $FD Latches # LSB-Puffer $FE MSB-Pufferregister MSB-Zähler # $FF Latches # LSB-Puffer

22 Kurs 7: Mikrorechner-Praktikum Aufbau eines Timers Beschreiben der Latches Schreiben von Zähler #: STD $FC äquivivalent zu STA $FC bringt Accu A in den MSB-Puffer STA $FD bringt Accu B in den LSB-Zähler # und gleichzeitig den MSB-Puffer in den MSB-Zähler # Lesen von Zähler #: LDD $FE LDA $FE LDB $FF äquivalent zu bringt den MSB-Zähler # in den Accu A und gleichzeitig den LSB-Zähler # in den LSB-Puffer bringt den LSB-Puffer in den Accu B

23 Kurs 7: Mikrorechner-Praktikum Zählmodi

24 Kurs 7: Mikrorechner-Praktikum Frequenz- und Impulsmessung

25 Kurs 7: Mikrorechner-Praktikum Steuerregister CR#, CR#, CR#: Bit 7 6 OE IE Modus-Auswahl ZM T Output Enable Ausgang O gesperrt Ausgang O aktiviert Taktauswahl ext.takt an C int. Takt E Interrupt Enable Interrupt zur CPU gesperrt Interrupt aktiviert Zählmodus 6-bit-Modus x-bit-modus Zyklischer Zählbetrieb, ISL Frequenzvergleich, Interrupt: Zählzyklus > Vollschwingung an G, ISL zyklischer Zählbetrieb, keine ISL Pusbreitenvergleich, Interrupt: Zählzyklus > Pulsbreite an G, keine ISL Single-Shot-Betrieb (Monoflop), ISL Frequenzvergleich, Interrupt: Zählzyklus < Vollschwingung an G, ISL Single-Shot-Betrieb, keine ISL Pulsbreitenvergleich, Interrupt: Zählzyklus < Pulsbreite an G, keine ISL (ISL: Initialisierung durch Schreiben der Latches) Steuerregister #: internes Rücksetzbit alle Zähler aktiviert alle Zähler gestoppt, aus Latches initialisiert (internes Rücksetzen) Steuerregister #: Steuerregister-Adreßbit CR# selektiert CR# selektiert Steuerregister #: Taktsteuerung für Zähler # unveränderter Takt zum Zählen auf / herabgesetzter Takt

26 Kurs 7: Mikrorechner-Praktikum Statusregister: (Adresse: $F9) wenigstens ein Zähler #i abgelaufen und das IE-Flag im zugehörigen CR#i gesetzt Zähler #i abgelaufen Interruptvektoren für MC6 Adressen Quelle Vorbelegung $C, $D Timer # RTI $E, $F Timer # RTI $, $ Timer # Trace Löschen der Interuptflags - internes Rücksetzen der Zähler durch Bit = im Steuerregister # - Lesen des Steuerregisters und danach des Zählerwertes - Rücksetzen des Bausteins durch RESET Rücksetzen (RESET) über Rücksetzeingang - alle Zähler und ihre Latches werden mit $FFFF geladen - alle Steuerregister werden auf $ gesetzt - alle Zählerausgänge (O, O, O) und externen Takteingänge (C, C, C) werden gesperrt - das Statusregister wird auf $ gesetzt Software-Reset - Rücksetzen des Bits im Steuerregister CR# von Zähler # - alle Zähler werden aus ihren Latches geladen - alle Zähler werden gestoppt 6

27 Kurs 7: Mikrorechner-Praktikum. Praktische Übung: Timer Der Praktikumsrechner soll in dieser Aufgabe einen Signalgenerator realsieren, der am Ausgang O des Zählers # eine Rechteckschwingung ausgibt. Die Schwingungsdauer soll ein ganzzahliges Vielfache einer Grundimpulsdauer D sein und zyklisch an- und absteigend zwischen zwei vorgegebenen Grenzwerten moduliert werden. Als Grundimpulsdauer D sei der Wert D = 6 µs ms angenommen. Die Schwingungsdauer S nehme die Werte S = n * * D für n =,..., 6 an. Im einzelnen soll das Hauptprogramm. die Anzeige löschen,. den Interruptvektor für Zähler # modifizieren,. den Zähler # so initialisieren, daß er zyklisch zählt und der Ausgang sowie der Interrupt zum Prozessor aktiviert sind,. ein Flag zur Erkennung der Halbwellen jeder Schwingung initialisieren,. ein Flag zur Bestimmung der Modulationsrichtung Verlängern/Verkürzen der Schwingungsdauer initialisieren, 6. den Zähler # mit dem Startwert (S = * D) laden, 7. den Zähler # starten,. in einer Endlosschleife auf das Auftreten von Interrupts warten. Die Interruptroutine soll. zwischen den Halbwellen der Schwingung unterscheiden und nach jeder Vollschwingung:. den Zähler stoppen,. den Faktor n (s.o.) um erhöhen oder erniedrigen und in der Anzeige S, S darstellen,. die Richtung Erhöhen/Erniedrigen bei Erreichen der Grenzen umschalten und in der Anzeige S7, S6 geeignet darstellen,. den Zähler erneut starten, 6. ins Hauptprogramm zurückspringen. 7

28 Kurs 7: Mikrorechner-Praktikum

29 Kurs 7: Mikrorechner-Praktikum Lösungsvorschläge zu den Praktischen Übungen

30 Kurs 7: Mikrorechner-Praktikum Praktische Übung: Dezimalzähler Flußdiagramm

31 Kurs 7: Mikrorechner-Praktikum Assemblerprogramm.... a. b F CLRDISP EQU $F F SHOWD7SG EQU $F F HALTKEY EQU $F F KEY EQU $F F6 DLYMS EQU $F6 6 ZAEHLER EQU $ 7 LZAEHLER EQU $ HZAEHLER EQU $ 9 ZEIZAEH EQU $ ORG $ BD F START JSR CLRDISP ; Löschen der Anzeige E LDX # ; Adreßfeld der Anzeige 6 6 LDA # ; Zeichenzähler nach 97 STA ZEIZAEH ; Speicherstelle 6 A F CLR HZAEHLER ; Dezimalzähler H-Byte löschen 7 C F CLR LZAEHLER ; L-Byte löschen E DC EINGABE LDD ZAEHLER ; Zaehlerstand lesen 9 BD F JSR SHOWD7SG ; und darstellen A DEC ZEIZAEH ;Zeichenzähler dekrementieren B D BEQ EINENDE ; falls alle Zeichen eingegeben 7 BD F TASTE JSR HALTKEY ; Tastaturabfrage A C A CMPB #$A ; Taste aus {,..,9} oder {A,..,F} 6 C F9 BHS TASTE ; Sprung, falls nicht aus {,..,9} 7 E LSL LZAEHLER ; neues Zeichen in den Zähler 9 9 ROL HZAEHLER ; diesen zunächst viermal nach LSL LZAEHLER ; links verschieben 9 ROL HZAEHLER 6 LSL LZAEHLER 9 ROL HZAEHLER ; und dann A LSL LZAEHLER C 9 ROL HZAEHLER 6 E DA ORB LZAEHLER ; Tastendruck verodern 7 D7 STB LZAEHLER ; und abspeichern DA BRA EINGABE ; weiter mit Anfangszustand 9 BD F EINENDE JSR HALTKEY ; Tastaturabfrage 7 C CMPB #$ ; Taste '+' gedrückt? 9 6 F9 BNE EINENDE ; Ruecksprung, falls nicht

32 Kurs 7: Mikrorechner-Praktikum B 96 ZAEHLEN LDA LZAEHLER ; Inkrementieren des Zählers D B ADDA # ; zunaechst L-Byte 6 F 9 DAA ; Dezimalkorrektur 7 97 STA LZAEHLER ; abspeichern 6 LDA # ; loeschen von A 9 99 ADCA HZAEHLER ; Addieren des H-Bytes 6 9 DAA ; Dezimalkorrektur 7 97 STA HZAEHLER ; abspeichern 9 DC LDD ZAEHLER ; Zaehlerstand lesen B BD F JSR SHOWD7SG ; und darstellen E E E LDY #$E ; Maß für Sekunde Verzögerung BD F 6 JSR DLYMS ; verzögern 6 7 BD F JSR KEY ; Tastaturabfrage ohne Halt C CMPB #$ ; Taste '-' gedrückt? 9 A 6 DF BNE ZAEHLEN ; falls nein, weiterzählen 6 C D6 BRA EINENDE ; falls ja, auf Taste '+' warten

33 Kurs 7: Mikrorechner-Praktikum Praktische Übung: Parallelport F CLRDISP EQU $F F SHOWB7SG EQU $F F SHOWDATA EQU $F F HALTKEY EQU $F F6 DLYMS EQU $F6 6 F DRB EQU $F 7 F DDRB EQU $F F CRB EQU $F 9 ORG $ BD F START JSR CLRDISP ; Löschen der Anzeige ; Port PB als Eingänge 7F F PINIT CLR CRB ; DDRB ansprechen 6 7F F CLR DDRB ; PBi Eingang i=,.., LDA #$6 ; DRB ansprechen, auf 6 B B7 F STA CRB ; positive Flanke an CB warten 7 ; kein Interrupt zur CPU 9 E F6 F WARTE LDB CRB ; Steuerregister lesen C ANDB #$ ; Interrupt-Flag CB maskieren 7 F9 BEQ WARTE ; Flag nicht gesetzt F6 F LDB DRB ; PB lesen, Flag wird gelöscht E LDX #$ ; Datenfeld selektieren B BD F JSR SHOWB7SG ; Datum ausgeben 6 E 6 C LDA #$C ; CB als statischen Ausgang 7 B7 F STA CRB ; und LED an E LDY #$ ; ca. Sekunde 9 7 BD F 6 JSR DLYMS ; warten A 6 LDA #$ ; LED aus C B7 F STA CRB F 6 LEAX 6,X ; Operationsfeld anwählen BD F JSR SHOWDATA ; Hex-Zahl einlesen und darstellen 6 F6 F WARTE LDB CRB 7 7 A FB BPL WARTE ; kein Interrupt an CB 9 9 F6 F LDB DRB ; Dummy-Read, löscht Flag ; Port PB umsteuern C 7F F CLR CRB ; Steuerregister selektieren F C6 FF LDB #$FF ; PBi als Ausgang, i=,..,7 F7 F STB DDRB ; programmieren C6 C LDB #$C ; Datenregister selektieren 6 6 F7 F STB CRB ; und LED an 7 9 B7 F STA DRB ; eingelesene Zahl ausgeben C BD F 6 JSR DLYMS ; Sekunde verzögern 9 F B BRA PINIT ; zum Einlesen END

34 Kurs 7: Mikrorechner-Praktikum Praktische Übung: Timer F CLRDISP EQU $F F SHOWB7SG EQU $F E INT EQU $E F CR EQU $F F CR EQU $F 6 F9 CR EQU $F9 7 FE LATCH EQU $FE F9 SR EQU $F9 9 IMPULS EQU $ MOD EQU $ FLAG EQU $ ORG $ BD F START JSR CLRDISP ; Löschen der Anzeige CC 9 LDD #INTROU ; Interruptvektor 6 6 DD E STD INT ; für Z. # laden 7 6 LDA #$ ; Initialisieren von A 97 STA MOD ; Modifizierer 9 C 97 STA FLAG ; Halbwellen-Flag E F CLR IMPULS ; Impulsdauer 7F F 9 CLR CR ; CR anwählen 6 C LDA #$C ; zyklischer Zählbetrieb, B7 F STA CR ; Ausgang/Interrupt aktiviert 96 LDA IMPULS ; Anfangswert für Zähler # A C6 FF LDB #$FF ; $FF 6 C FD F E STD LATCH ; in Latch eintragen 7 F 6 LDA #$ ; CR 9 B7 F 9 STA CR ; anwählen 7F F CLR CR ; Zähler starten 7 FE LOOP BRA LOOP ; Endlosschleife 9 B6 F 9 INTROU LDA SR ; Interrupt-Flag C FC F E LDD LATCH ; löschen 6 F NEG FLAG ; nächste Halbwelle 7 A BPL L ;. zuende B RTI ; Rücksprung 9 6 L LDA #$ ; Zähler 6 B7 F 9 STA CR ; anwählen & 9 B7 F STA CR ; stoppen C D6 LDB IMPULS ; Impulsdauer modifizieren E DB ADDB MOD ; mit MOD C FF CMPB #$FF ; Diese Zeile fehlte!!!! BNE L ; Ende nicht erreicht 7 NEG MOD ; Modifizierer +/- wechseln 6 A BPL L ; verhindert +, falls 6

35 Kurs 7: Mikrorechner-Praktikum 9 DB ADDB MOD ; IMPULS=$ A D7 L STB IMPULS ; neue Impulslänge speichern C F7 F E STB LATCH ; in den Zähler bringen F E LDX #$ ; Anzeige S, S selektieren BD F JSR SHOWB7SG ; Impulsdauer darstellen 6 LEAX 6,X ; Anzeige S7, S6 selektieren 6 7 D6 LDB MOD ; Modifizierer 7 9 BD F JSR SHOWB7SG ; darstellen C 6 FF LDA #$FF ; Zähler # 9 E B7 F F STA LATCH+ ; LSB-Latch laden 6 6 7F F CLR CR ; Zähler erneut starten 6 6 B RTI ; Rücksprung END 7

Aufgabe I: Im einzelnen soll das Hauptprogramm:

Aufgabe I: Im einzelnen soll das Hauptprogramm: Aufgabe I: Gesucht ist ein Programm, das zwei Lauflichter realisiert. Das erste werde in der Siebensegment-Anzeige durch genau ein aktiviertes mittleres Segment g dargestellt, das von rechts nach links

Mehr

MOTOROLA MC Befehlssatz

MOTOROLA MC Befehlssatz Rechnersysteme MOTOROLA MC 689 Befehlssatz Otto-von-Guericke-Universität Magdeburg Unzulänglichkeiten des Modellrechners sehr kleiner Instruktionssatz keine Konstanten viele Speicherzugriffe nur eine Bedingung

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Adressierungsarten des 6809 (Forts.)

Adressierungsarten des 6809 (Forts.) Adressierungsarten des 6809 (Forts.) Zusammenfassung zur indizierten Adressierung: 19 Beispiel-Programm 1 für 6809 6809-Assemblerprogramm zur Suche nach Leerzeichen (space, tab, return) in einem String:

Mehr

Unterprogramme mittels Stack (Forts.)

Unterprogramme mittels Stack (Forts.) Unterprogramme mittels Stack (Forts.) gleiches Beispiel mit direkter Übergabe aller Parameter (8-Bit Wert a, 16-Bit Wert b, 16-Bit Ergebnis) durch call by value auf Stack: LDB a * Lade 8-Bit Wert a PSHS

Mehr

Maschinenbefehlssätze. an Beispielen von: Motorola: MC 6809 ATMEL: AVR ATmega

Maschinenbefehlssätze. an Beispielen von: Motorola: MC 6809 ATMEL: AVR ATmega Technische Informatik-I Maschinenbefehlssätze an Beispielen von: Motorola: MC 6809 ATMEL: AVR ATmega Otto-von-Guericke-Universität Magdeburg Unzulänglichkeiten des Modellrechners sehr kleiner Instruktionssatz

Mehr

TI2 Übung 2. Hauptspeicher, 6809-Prozessor. 23. November 2004 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

TI2 Übung 2. Hauptspeicher, 6809-Prozessor. 23. November 2004 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik Universität Ulm Fakultät für Informatik Abteilung Verteilte Systeme Projektgruppe AspectIX TI2 Übung 2 Hauptspeicher, 6809-Prozessor 23. November 2004 (WS 2004) Andreas I. Schmied (schmied@inf...) 1 Hauptspeicher

Mehr

TI-Übung Assembler. Andreas I. Schmied AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS2005

TI-Übung Assembler. Andreas I. Schmied AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS2005 TI-Übung 2 6809-Assembler Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS2005 6809 Wiederholung (1) 8/16-Bit Prozessor Register: A/B/D, S, U,X,

Mehr

Hinweise Dekodierung

Hinweise Dekodierung Hinweise Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Hinweise (WS16/17) 1 15 Beispiel CPU

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

Mehr

SMP Übung 8 - Lösungsvorschlag

SMP Übung 8 - Lösungsvorschlag 1. Aufgabe: A/D-Wandlermethode auswählen Eine analoge Eingangsgröße, die Temperatur, soll in dieser Aufgabe in ein digitales Ausgangssignal umgewandelt werden. Aus Rechnertechnologie 2 sind folgende Methoden

Mehr

SMP Übung 9 - Lösungsvorschlag

SMP Übung 9 - Lösungsvorschlag 1. Aufgabe: Sieben Segment Anzeigen, Multiplexing, a) Bestimmung der Zeichenkodierung Bei der Zeichenkodierung ist zu beachten, dass ein Low-Pegel auf der Leitung PDA(j) (in Verbindung mit einem Low- Pegel

Mehr

Rechnersysteme. Speicherorganisation und Adressierungsarten. Otto-von-Guericke-Universität Magdeburg

Rechnersysteme. Speicherorganisation und Adressierungsarten. Otto-von-Guericke-Universität Magdeburg Rechnersysteme Speicherorganisation und Adressierungsarten Otto-von-Guericke-Universität Magdeburg Speicherorganisation Wort-orientierter Speicher Wort 00 Wort 01 Wort 02 Wort 03 2 n -1 0 Bit Wort 2 k

Mehr

Klausur ( ): Technische Grundlagen der Informatik 2 Rechnerorganisation SS 2007

Klausur ( ): Technische Grundlagen der Informatik 2 Rechnerorganisation SS 2007 Klausur (27.07.2007): Technische Grundlagen der Informatik 2 Rechnerorganisation SS 2007 Vorname :.............................................. Name :.............................................. Matrikelnummer

Mehr

Technische Informatik-I. Speicherorganisation und Adressierungsarten. Otto-von-Guericke-Universität Magdeburg

Technische Informatik-I. Speicherorganisation und Adressierungsarten. Otto-von-Guericke-Universität Magdeburg Technische Informatik-I Speicherorganisation und Adressierungsarten Otto-von-Guericke-Universität Magdeburg Speicherorganisation Wort-orientierter Speicher Wort 00 Wort 01 Wort 02 Wort 03 2 n -1 0 Bit

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

Sprungbefehle und Kontroll-Strukturen

Sprungbefehle und Kontroll-Strukturen Sprungbefehle und Kontroll-Strukturen Statusregister und Flags Sprungbefehle Kontrollstrukturen Das Status-Register 1 Register-Satz des ATmega128 Universal-Register (8Bit) R0..R15 16 Bit Program counter

Mehr

.ccasm. Referenz. C-Control M Unit 2 Assembler C-Control Micro Assembler. .ccasm Referenz (Deutsch) Rev 8 Nov

.ccasm. Referenz. C-Control M Unit 2 Assembler C-Control Micro Assembler. .ccasm Referenz (Deutsch) Rev 8 Nov tappertzhofen.ccasm Referenz C-Control M Unit 2 Assembler C-Control Micro Assembler.ccasm Referenz (Deutsch) Rev 8 Nov. 2007 www.tappertzhofen.eu/ccasm 2 3.ccasm Referenz Rev 8 Nov. 2007 2004 2008 ; www.tappertzhofen.eu/ccasm

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

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren 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)

Mehr

Æ A BC A DC C C C C C A A BCBDECFE C F A C C F A A F C AC D A F C A F A AC F C C C C A C C AC C C C F F F C C F A C F F A C A C C F C F F C C A D F F C C C D F B A C C F C C F B C C F A A B A A A F A

Mehr

Operationsmodi des Timers Modus 0 : Ausschalten des Zählers

Operationsmodi des Timers Modus 0 : Ausschalten des Zählers Ergänzung PIAT Operationsmodi des Timers Modus 0 : Ausschalten des Zählers LC und UC wird angehalten. IRQT wird gesperrt (Bit 7 im CMCR wird 0) UF Bit wird gelöscht (Bit 7 im SR) Die Daten in UC, LC, UL,

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

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren 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)

Mehr

Lösungsvorschläge zur Übungsklausur. zum Kurs 1708 Technische Informatik II. im WS 01/02

Lösungsvorschläge zur Übungsklausur. zum Kurs 1708 Technische Informatik II. im WS 01/02 Lösungsvorschläge zur Übungsklausur zum Kurs 1708 Technische Informatik II im WS 01/02 Aufgabe 1: (10 Punkte) Welche der folgenden Aussagen sind richtig? a) Unter dem Begriff Mikroprogramm versteht man

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

Mikrocontroller-Programmierung

Mikrocontroller-Programmierung Mikrocontroller-Programmierung Anhand des HC12 Fabian Wiesel Überblick Überblick Mikrocontroller Überblick HC12 CPU Peripherie des DG128 Assemblerprogrammierung Mikrocontroller Leistungsfähigkeit: zwischen

Mehr

Vorlesung "Struktur von Mikrorechnern" (SMR)

Vorlesung Struktur von Mikrorechnern (SMR) Unterscheidung nach Instruktionsstruktur Kap. 6 / 34 Unterscheidung nach Befehlstypen: Übersicht Register-Register MOV r r, r 2 A Speicher/Peripherie Register Transferbefehle LDA addr STA addr Konstante

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

5.1 Beschreibung des Prozessors M Programmierung in Maschinensprache. 5.1 Beschreibung des Prozessors M 68000

5.1 Beschreibung des Prozessors M Programmierung in Maschinensprache. 5.1 Beschreibung des Prozessors M 68000 5. Programmierung in Maschinensprache (Assembler) 5.1 Beschreibung des Prozessors M 68000 5.1 Beschreibung des Prozessors M 68000 5.2 Adressierungsarten des M 68000 5.3 Maschinenbefehle des M 68000 5.4

Mehr

5. Programmierung in Maschinensprache

5. Programmierung in Maschinensprache 5. Programmierung in Maschinensprache (Assembler) 5.1 Beschreibung des Prozessors M 68000 5.2 Adressierungsarten des M 68000 5.3 Maschinenbefehle des M 68000 5.4 Unterprogrammtechnik 5. Maschinensprache

Mehr

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins Prinzipieller Aufbau eines Schnittstellenbausteins DB /CS A0-Ai R/W Reset Takt Int IntAck zum µp Datenbus Puffer Steuerung Interruptsteuerung & IF Statusregister IE Steuerregister Befehlsregister Datenregister

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

F Ein einfacher Modellprozessor

F Ein einfacher Modellprozessor F ein einfacher Modellprozessor F Ein einfacher Modellprozessor Einordnung in das Schichtenmodell:. Prozessor 2. Aufbau des Modellprozessors 3. Organisation eines SRAM 4. Beschreibung in RTL 5. Adresspfad

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

34 Reproduktion oder Verwendung dieser Unterlage bedarf in jedem Fall der Zustimmung des Autors.

34 Reproduktion oder Verwendung dieser Unterlage bedarf in jedem Fall der Zustimmung des Autors. 4.8 Implizite Adressierung 4.1 Befehlscodierung Befehlscodierung benötigt keine zusätzlichen Angaben (Implied) z.b. NEGA oder MUL 4.9 Registeradressierung Befehle TFR, EXG benötigen Registerangaben (Register)

Mehr

Musterlösungen. zu den Aufgaben der Nachklausur zum. Kurs 1701 Grundlagen der Technischen Informatik. und. Kurs 1707 Technische Informatik I

Musterlösungen. zu den Aufgaben der Nachklausur zum. Kurs 1701 Grundlagen der Technischen Informatik. und. Kurs 1707 Technische Informatik I Musterlösungen zu den Aufgaben der Nachklausur zum Kurs 7 Grundlagen der Technischen Informatik und Kurs 77 Technische Informatik I im Sommersemester 2 vom 6.9.2 Zu Aufgabe : Schaltnetz analysieren a)

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren 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)

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

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

Praktikum Mikrorechner 11 (Timer 1)

Praktikum Mikrorechner 11 (Timer 1) Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 5. November 2014 1/27 Praktikum Mikrorechner 11 (Timer 1) Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal

Mehr

Aufbau eines Assembler-Programms

Aufbau eines Assembler-Programms Aufbau eines Assembler-Programms. Assembler-Anweisungen (Direktiven) Einbindung von include-files Definition von Konstanten, Reservierung von Speicherplatz im RAM, 2. Was tun, wenn C Reset-Signal erhält

Mehr

Programmierbarer Intervall-Timer 8253/8254 (PIT)

Programmierbarer Intervall-Timer 8253/8254 (PIT) -Berlin Teil 4: Timer Studiengang Technische Informatik (TI) Prof Dr-Ing Alfred Rożek nur für Lehrzwecke Vervielfältigung nicht gestattet EMC45: Teil4 22112003 Folie: 1 Prof Dr-Ing Alfred Rozek Berlin

Mehr

A B C DB E C F D B CB C F AA DB FF C D B E C F D B CB C F AA DB D DB C DD B E C F D B CB C F AA DB D B B B B AF C B

A B C DB E C F D B CB C F AA DB FF C D B E C F D B CB C F AA DB D DB C DD B E C F D B CB C F AA DB D B B B B AF C B A B C DB E C F D B CB C F AA DB FF C D B E C F D B CB C F AA DB D DB C DD B E C F D B CB C F AA DB D B B B B AF C B C DD F BE C F D B CB C F AA DB B F D B CBC DB C D F AA DB FF C D B B B B B AB D F D BC

Mehr

Praktikum. Mikroprozessortechnik Motorola MC 68xx

Praktikum. Mikroprozessortechnik Motorola MC 68xx Praktikum Mikroprozessortechnik Motorola MC 68xx 1 Blockschaltbild des Mikroprozessors 6802 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Adressbustreiber Adressbustreiber RAM Kontrolle VCCS MR

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

Scheinklausur Informatik SS 2000: Praktische Informatik II

Scheinklausur Informatik SS 2000: Praktische Informatik II Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Professor Dr. W. Effelsberg Scheinklausur Informatik SS 2000: Praktische Informatik II Name:... Vorname:...

Mehr

Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register liegen und beide laut Tabelle 0 sind:

Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register liegen und beide laut Tabelle 0 sind: Timerinterrupts beim Arduino Timer 1 (16bit) Register: Bits in den Registern und ihre Bedeutung: Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register

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

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control

Mehr

11. Unterprogrammtechnik

11. Unterprogrammtechnik 11 Unterprogrammtechnik 111 Sprung und Rücksprung 112 Retten der Register 113 Parameter-Übergabe Programmierkurs II Wolfgang Effelsberg 11 Unterprogrammtechnik 11-1 111 Sprung und Rücksprung BSR Verzweige

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 11

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 11 Kapitel 11 Zeichenverarbeitung Seite 1 von 11 Zeichenverarbeitung - Jedem Zeichen ist ein Zahlencode zugeordnet. - Dadurch wird ermöglicht, zwischen verschiedenen Systemen Texte auszutauschen. - Es werden

Mehr

Vorbemerkungen zum 5. Versuchstag:

Vorbemerkungen zum 5. Versuchstag: Vorbemerkungen zum 5. Versuchstag: Ziel des fünften Versuchstages ist es:! Die Verbindung von Mikroprozessoren mit peripheren Geräten kennen zu lernen;! den Umgang mit Peripherie-Bausteinen zu üben; Im

Mehr

Übungsaufgaben. Stand

Übungsaufgaben. Stand AUTOMATISIERUNGSTECHNIK AU1 ÜBUNGSAUFGABEN 1 Übungsaufgaben Stand 1.1 5. 5. 2008 1. Lottozahlen. Schreiben Sie ein Programm zum Ziehen von Lottozahlen. Darstellung auf zwei Siebensegmentanzeigen. Die Anzeigen

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

Praktikum Mikrorechner 5 (Bitadressen, Sprünge und Schleifen)

Praktikum Mikrorechner 5 (Bitadressen, Sprünge und Schleifen) rof. Kemnitz Institut für Informatik, Technische Universität Clausthal 5. November 2014 1/18 Praktikum Mikrorechner 5 (Bitadressen, Sprünge und Schleifen) Prof. Kemnitz Institut für Informatik, Technische

Mehr

Lösungen zum Kurs "Mikrocontroller Hard- und Software

Lö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

Mehr

Praktikumsprotokoll Mikrorechentechnik I Versuch

Praktikumsprotokoll Mikrorechentechnik I Versuch Praktikumsprotokoll Mikrorechentechnik I Versuch Von-Neumann-Simulator Fabian Kurz, Alexander Eder Stephan Stiebitz, Phillip Burker 5. November 2004 Inhaltsverzeichnis 1 Aufgabenstellung 2 2 Lösung 2 2.1

Mehr

1708 Technische Informatik II und 1705 Mikrorechner-Technik. Musterlösungen zur Hauptklausur am

1708 Technische Informatik II und 1705 Mikrorechner-Technik. Musterlösungen zur Hauptklausur am FERNUNIVERSITÄT - Gesamthochschule - EINGANG INF FERNUNIVERSITÄT Gesamthochschule D-58084 Hagen Fachbereich Informatik Kurs: 1708 Technische Informatik II und 1705 Mikrorechner-Technik Musterlösungen zur

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

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 9.1: Dinatos-Algorithmus-Analyse Die folgenden Verilog-Zeilen

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

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

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2017 Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch 21.06.2017, 14:00 Uhr 1.1. Einführung Programmsteuerbefehle

Mehr

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer Übung RA, Kapitel 1.5 1. Beantworten Sie bitte folgende Repetitionsfragen 1. Beschreiben Sie in eigenen Worten und mit einer Skizze die Schichtung einer Multilevel Maschine. Folie 5, rechte Seite 2. Welche

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

TI2 Übung 6. m68k-assembler. 25. Januar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

TI2 Übung 6. m68k-assembler. 25. Januar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik Universität Ulm Fakultät für Informatik Abteilung Verteilte Systeme Projektgruppe AspectIX TI2 Übung 6 m68k-assembler 25. Januar 2005 (WS 2004) Andreas I. Schmied (schmied@inf...) 1 Simulation der m68k-familie

Mehr

Klausurfragen Microcontroller. TI-Übung 3. Hardwareunterstützung Asynchronous Communications Interface Adapter (ACIA)

Klausurfragen Microcontroller. TI-Übung 3. Hardwareunterstützung Asynchronous Communications Interface Adapter (ACIA) Klausurfragen Microcontroller TI-Übung 3 Microcontroller Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm typische Merkmale, Bestandteile Größenordnungen

Mehr

Bernd Borchert. Univ. Tübingen WS 13/14. Vorlesung. Kryptographie. Teil

Bernd Borchert. Univ. Tübingen WS 13/14. Vorlesung. Kryptographie. Teil Bernd Borchert Univ. Tübingen WS 13/14 Vorlesung Kryptographie Teil 4 22.11.13 AES AES ist eine Blockchiffre in drei Varianten AES128, AES196 und AES256. Wichtigste Kennzahlen: Blocklänge bei allen drei

Mehr

8.3 PCA2.D12 Display-Modul mit 4 Ziffern

8.3 PCA2.D12 Display-Modul mit 4 Ziffern PCD1 - PCD2 Anzeige- und Bedienmodule 8.3 PCA2.D12 Display-Modul mit 4 Ziffern Allgemeines Das Modul PCA2.D12 ist ein Ferndisplay, welches über Ausgänge einer SAIA PCD angesteuert wird. Es besitzt eine

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

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

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. Unterprogramm

Mikrocomputertechnik. Unterprogramm Unterprogramm Ein Teilproblem wird entweder zur mehrmaligen Verwendung oder zur Programmstrukturierung als Unterprogramm codiert. Ein Unterprogramm wird von einem übergeordneten Programm (Hauptprogramm)

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

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das

Mehr

Schnellstartanleitung G-Code/EEC-2400

Schnellstartanleitung G-Code/EEC-2400 Schnellstartanleitung G-Code/EEC-2400 Dieses Manual enthält Informationen zur Installation und Basiskonfiguration Ihres IP-Moduls. 1. Modul Videosystem- Schalter (PAL/NTSC) PAL OFF NTSC Resettaster * Die

Mehr

Endgültige Gruppeneinteilung Kohorte Innere-BP Sommersemester 2016 (Stand: )

Endgültige Gruppeneinteilung Kohorte Innere-BP Sommersemester 2016 (Stand: ) A A1a 2197120 on on A A1a 2311330 on on on on on on on A A1a 2316420 on on A A1a 2332345 on on on on on on on A A1a 2371324 on on on on on on on A A1a 2382962 on on A A1a 2384710 on on on on on on on A

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

Klausur "Informatik I" vom Teil "Rechnerstrukturen"

Klausur Informatik I vom Teil Rechnerstrukturen Seite 1 von 6 Seiten Klausur "Informatik I" vom 19.2.1999 Teil "Rechnerstrukturen" Aufgabe 1: Binäre Informationsdarstellung (18 Punkte) Folgende Gleitkommadarstellung werde im folgenden zugrundegelegt

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

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt: Tasten abfragen Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt: pinmode(pinnummer, OUTPUT) digitalwrite(pinnummer, HIGH) oder digitalwrite(pinnummer, LOW) Zum Abfragen

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

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

4.6.1 Mathematische Grundlagen

4.6.1 Mathematische Grundlagen 4.6.1 Mathematische Grundlagen Die Basiseinheit für Berechnungen im AES stellt das Byte dar, daher sind viele Operationen im AES im GF(2 8 ) definiert. Um den Wert eines Byte darzustellen benutzen wir

Mehr

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

/-010 2% 3%.-&"(2#( 4#5% 6077## 7 8$$04%27.0& 905$0& :0;+

/-010 2% 3%.-&(2#( 4#5% 6077## 7 8$$04%27.0& 905$0& :0;+ ! "#$%&'() *+,-#.(! "#$%&'() *+,-#.( // /011#)1.#) 234#5: 61$03#7 8$("(1$5% 5 15#9($(-:1$5%4 # 90.+;(. 5 6. [?.] I.!"#$%&'(&) *&#+,-& "$./0-/1/

Mehr

Bezeichnung: Universal Relais Modbus Protokoll Beschreibung. EA-Nr.: 1451 Ersatz für: 12280-1602-00 Blatt: 1 von 9

Bezeichnung: Universal Relais Modbus Protokoll Beschreibung. EA-Nr.: 1451 Ersatz für: 12280-1602-00 Blatt: 1 von 9 EA-Nr.: 1451 Ersatz für: 12280-1602-00 Blatt: 1 von 9 MODBUS TCP/IP TCP Port: 502 Max. Anzahl TCP Verbindungen (max. TCP connections): 5 MODBUS RTU Unterstützte Funktionscodes Funktionscode Bezeichnung

Mehr

Tutorübung 7: Mikroprogrammierung I

Tutorü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

Mehr

Fachhochschule Niederrhein

Fachhochschule Niederrhein Fachhochschule Niederrhein µp-technik Kapitel 3 VVVVVVVV VVVVVVVV VVVVVVVVVV VVVVVVVVVVVVVVVVVVVVV ENDOC RTI Ruecksprung aus Zweig COUNT VVVVVVVVVVVVVVVVV VVVVVV VVVVVVVVVVV VVVVVVVVVVVVV VVVVVVVVVVVVVV

Mehr

Lösungsvorschlag 10. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 10. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag. Übung Technische Grundlagen der Informatik II Sommersemester 29 Aufgabe.: MIPS-Kontrollsignale Für die 5 Befehlstypen a) R-Format

Mehr

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78 32 Bit Konstanten und Adressierung Grundlagen der Rechnerarchitektur Assembler 78 Immediate kann nur 16 Bit lang sein Erinnerung: Laden einer Konstante in ein Register addi $t0, $zero, 200 Als Maschinen

Mehr