Experimentierschaltung mit U882 history menue

nach radio fernsehen elektronik 8/1987 S. 502

1. Grundlagen
2. Schaltungsprinzip
3. Der Durchbruch - der i8080
4. ... und dann kam mit 16 Bit Fahrt in die Entwicklung - der i8086 (respektive i8088)
5. Kurzes Leben mit dem 80186
6. Sensation für seine Zeit - der 286
7. viel schneller- der 386
8. schneller und besser - der i80486

 

WERNER SCHMIDT und ANGELIKA SCHMIDT

Mitteilung aus der Interessengemeinschaft Heimcomputer der IH Dresden

Zum besseren Verständnis sollen zu dem Beitrag "Experimentierschaltung mit U 8820", den wir im Heft 4 dieses Jahres veröffentlichten, das Programmlisting für das Betriebssystem (Tafel 1) und die Unterprogramme UP1, UP2 und UP4 (Tafeln 2 bis 4) nachgereicht werden.

Grundlagen

Einchip-Mikrorechner ermöglichen auf Grund ihrer Konzeption den Aufbau leistungsfähiger elektronischer Steuerungen bei minimalem Schaltungsaufwand. In den kommenden Jahren ist daher eine Vielzahl von Einsatzfällen zu erwarten, bei denen die Programmierung im Maschinenkode neben der in Basic eine große Bedeutung besitzt. 
Mit der vorliegenden Experimentierschaltung soll die Anwendung der wichtigsten Maschinenbefehle erleichtert und dabei versucht werden, die gegenwärtig auf diesem Gebiet noch bestehende Lücke an Informationen schließen zu helfen.
Bei der Konzeption der Schaltung wurde besonderer Wert auf Übersichtlichkeit gelegt. Fragen wie Universalität der E-A-Ports oder optimale Speicherausnutzung standen dabei nicht im Vordergrund. 
Aus diesem Grunde wurden die Portfunktionen, wie aus Bild 1 hervorgeht, zunächst fest vorgegeben und der zur Verfügung stehende Bereich des Programmspeichers in acht gleiche Abschnitte zu je 256 byte unterteilt, von denen der erste das Betriebssystem enthält, während die restlichen für je ein Unterprogramm vorgesehen sind (Tafel 1). Die Unterprogramme UP1, UP2 und UP4 enthalten Programmierbeispiele. Es sollte jedoch beachtet werden, dass die vorliegende Schaltung erstrangig für Studienzwecke vorgesehen ist, und demzufolge nicht die für den Einsatz in der Praxis wichtigen E-A-Puffer enthält.

Schaltungsprinzip

An Port 0 sind ein 4-bit-DIL-Schalter und die zugehörige Anzeige (VOE 22) angebracht, die im Betriebssystem für den Aufruf der Unterprogramme benutzt, aber auch in den Unterprogrammen selbst ein-
gesetzt werden können. Durch den 4-bit-Unterprogrammaufruf ist eine nahtlose Ergänzung um weitere acht Unterprogramme bei Verwendung des Einchip-Mikrorechners U 884 und eines EPROM U 2732 bzw. eines zweiten EPROM U 2716 möglich.
Port 1 ist im Betriebssystem als Ausgang konfiguriert und mit einer 8-bit-Anzeige (VOE 24) versehen, kann aber bei Bedarf in einem der Unterprogramme auch als 8-bit-Eingang oder für die Ein- und Ausgabe von 4 bit definiert werden.
Port 2 steht für allgemeine Anwendungen zur Verfügung, beispielsweise zur Steuerung einer Modelleisenbahn. Die Konfiguration kann ebenfalls in einem Unterprogramm durch Neuformierung des Steuerregisters 246 (P2M) dem konkreten Anwendungszweck entsprechend geändert werden.
Die Funktion von Port 3 ist durch die gewählte Verdrahtung vorgegeben. Die Anschlüsse P30 und P37 sowie P31 und P36 sind vorrangig in der vom Hersteller festgelegten Funktion als serielle Datenein- und Datenausgänge bzw. als Zeitgeberein- und Zeitgeberausgänge zu verwenden. 
Steuerungen innerhalb der Unterprogramme ermöglichen die an P32 und P33 angeschlossenen Bedienelemente, während mit P35 = L die 8-bit-Anzeige von Port 1 dunkel getastet werden kann, falls diese nicht benötigt wird und die Stromaufnahme herabgesetzt werden soll. Die in die Pegelanzeige der Ausgänge P34, P36 und P37 zum Zwecke der Heiligkeitsangleichung eingefügten 150-6Z-Widerstände können entfallen, ohne dass die für die Ausgangsstufen der IS V 40098 zulässigen Grenzwerte überschritten werden.
Der On-Chip-Oszillator wird über eine RC-Schaltung betrieben. Dabei wurde der Einstellbereich so gewählt, dass sowohl eine glatte Taktfrequenz (SCLK = 2,00 MHz), als auch der für eine serielle Übertragung erforderliche Takt (SCLK= 1,8432 MHz) mit ausreichender Genauigkeit eingestellt werden kann. Die Kontrolle kann am Meßausgang SCLK oder an P36 vorgenommen werden. Die Schreibweise der Befehle wurde der des Z8-ASM-Assemblers angeglichen.

Tafel 1: Übersicht über die Aufteilung des Programmspeichers

Eingabe an P00 bis P03 Speicherbereich Funktion nach Reset
0 000 bis 0FF  Betriebssystem
1 100 bis 1FF UP 1 : 8-Bit-Vor- und 8-b it-Rückwärtszähl er 
2 200 bis 2FF UP 2: 9-bit-NF-Impulsgenerator
3 300 bis 3FF UP 3: nicht belegt
4 400 bis 4FF UP 4: Serien-Parallelwandler
5 500 bis 5FF UP 5: nicht belegt
6 600 bis 6FF UP 6: nicht belegt
7 700 bis 7FF UP 7: nicht belegt
8 800 bis 8FF  UP 8: 1 für Erweiterungen vorgesehen
..    
F F00 bis FFF UP F:

Betriebssystem

Das Betriebssystem dient der Realisierung folgender Funktionen:

• Initialisierung der Steuerregister
• Laden der Arbeitsregister mit ihren Anfangswerten
• Programmierung des Zeitgeberkanals TO für die Ausgabe von SCLK an P36 bei P33 = H (kurze Blinkimpulse an P34) bzw. 1/1 000 SCLK bei P33 = L 
(längere Blinkimpulse an P34). Im Bild 2 ist die Zeitgeberkette PREO/TO schematisch dargestellt.
• Unterprogrammsteuerung. Das Unterprogramm wird durch Einstellen der entsprechenden Nummer mit Hilfe des DIL-Schalters (P00 bis P03) und der an P04 bis P07 angeschlossenen Anzeige ausgewählt. Dabei stellt die Unterprogrammnummer den H-Teil der Anfangsadresse des betreffenden Programms direkt dar.
Der Sprung zu dieser Adresse erfolgt unmittelbar nach Eingabe der Programmnummer unter der Bedingung, dass der Einchip-Mikrorechner im Ruhezustand das Betriebssystem durchläuft, da andernfalls die Eingabe nicht abgefragt wird. Dieser Zustand tritt bei Eingabe einer 0 mit nachfolgendem Reset oder, wenn das vorher abgearbeitete Unterprogramm mit Return abgeschlossen ist, ein. Befindet sich das Unterprogramm in einer Endlosschleife, muss ein erneutes Reset ausgelöst werden.
8-bit-Vor- und 8-bit-Rückwärtszähler (UP 1) Der Zählstand wird hexadezimal an Port 1 ausgegeben. Das Eingeben der Zählimpulse erfolgt über P31 oder über die Taste (P32). Mit Hilfe von P33 wird die Vor-Rück-Umschaltung realisiert. Für das Entprellen der Taste und der über P31 von außen zugeführten Zählimpulse wurde eine Zeitschleife vorgesehen.

Impulsgenerator (UP 2)

Mit Hilfe des Unterprogramms UP 2 werden neun Impulsfrequenzen erzeugt. Durch den Schalter an P33 können diese, wie aus Tafel 2 hervorgeht, auf Zwischenwerte umgeschaltet werden. Die Frequenzen werden 
Tafel 2: Übersicht über die im Unterprogramm UP 2 erzeugten Frequenzen

[Frequenz in Hz (SCLK = 2 MHz)] 
Frequenz- P33 = 0 P33 = 1 
bereichs-


umschaltung 
(Ausgang)

P36 39 61

P27 78,1 122

P26 156,2 244

P25 315,3 488

P24 625 976

P23 1 250 1 953,1

P22 2 500 3906,2

P21 5000 7812,5

P20 10000 15 625

Bild 3- Zeitlicher Verlauf der Ein- und Ausgangssignale im Unterprogramm UP 4 mit Hilfe des internen CTC-Kanals erzeugt. 
Die Ansteuerung dieses Kanals (PREO/TO) erfolgt vom internen Takt (Bild 3). Die niedrigste Frequenz kann in Mäanderform von P36 abgenommen werden. Die Gewinnung der anderen acht Frequenzen geschieht durch ständiges Laden von Port 2 mit dem aktuellen Zählerstand von TO.

Serien-Parallel-Wandier (UP 4)

Die auf dem Chip integrierte SIO gestattet in besonders einfacher Weise die Serien-Parallel- oder Parallel-Serien-Wandlung. Voraussetzung ist die Verwendung einer geeigneten Taktfrequenz, die durch Programmierung des CTC-Kanals PREO/TO auf die sechzehnfache Bitrate herabgeteilt werden muss. Die vollständige Teilerkette für die Bitrate 2400bit/s, die sich unmittelbar nach Anwahl des Unterprogramms UP 4 einstellt (da der zugehörige Bitratenbereich ebenfalls mit 4 angewählt wird), ist im Bild 4 dargestellt. Um einen seriellen Datensender, der über keine Taktquelle verfügt, takten zu können, ist über P36 der interne, durch 2 geteilte Abtasttakt herausgeführt. Das Umschalten der Bitraten geschieht durch die Programmierung des 8-bit-Teilers TO, indem dieser mit dem an P00 bis P03 eingestellten Zahlenwert geladen wird.
Bei der Inbetriebnahme wird mit der Einstellung 4 an P00 bis P03 zunächst das in Tafel 3: Übersicht über die im Unterprogramm UP 4 einstellbaren Bitraten

Bitraten Bitrate Takt an Umsetzzeit

bereich bit/s P36/kHz TSP in ms

P00 bis (achtfache

P03 = TO Bitrate)

1 9 600 76,80 0,94 
2 4800 38,40 1,88 
3 3200 25,60 2,81

4 2 400 19,20 3,75 
5 1920 15,36 4,69

6 1 600 12,80 5,63

8 1 200 9,60 7,50 
A 960 7,68 9,37 
C 800 6,40 11,25 
F 640 5,12 14,06

Unterprogramm UP 4 angewählt und mit Reset in Betrieb gesetzt. Nun kann bei P33 = H der gewünschte Bitratenbereich eingestellt und die Taktfrequenz an P36 kontrolliert werden (Tafel 3). Nach Umschalten auf P33 = L ist der Eingang P30 empfangsbereit. Die Ausgabe und Anzeige der Paralleldaten erfolgt an Port 1, P34 liefert das Readysignal. Der zeitliche Verlauf ist im Bild 5 dargestellt.

Zusammenfassung

Mit Hilfe der beschriebenen Schaltung ist es möglich, kleinere Maschinenprogramme zu testen. Außerdem können einfache Laborgeräte, z. B. Zähler, Impulsgeneratoren, Frequenzmesser, Zeitgeber usw. realisiert werden.

Abschließend soll darauf hingewiesen werden, daß in [2] und [3] einige Speicherladebefehle fehlerhaft angegeben sind. Richtig muß es heißen:

LDC Irr,r D2 -r-Irr-


LDE Irr,r C2 -r-Irr-


LDCI irr,lr D3 -Ir-Irr-
LDEllrr,lr C3 -Ir-Irr 
Mitunter wird auch Bit5 im PO1M-Register vertauscht angegeben: D5 = 0 bedeutet normales Speicherzeitverhalten.

Literatur

[1] Müller, S.: Einchip-Mikrorechner U 883 D interpretiert Tiny-MP-Basic. radio fernsehen elektronik, Berlin 34 (1985) 3, S. 143 und 144

[2] Bennewitz, W.; Podszuweit, H.: Programmierung von Einchipmikrorechnern, Reihe Automatisierungstechnik Band 215. Berlin: VEB Verlag Technik 1985

[3] Claßen, L.; Oefler, U.: Wissensspeicher Mikrorechnerprogrommierung. Berlin: VEB Verlag Technik 1986

[4] Bankel, M.: Einchip-Mikrorechner U 881, U 882 und U 883. radio fernsehen elektronik, Berlin 34 (1985) 2, S. 81-84

[5] Autorenkollektiv der IH Dresden: Arbeitsunterlagen zur Anwendung des Einchip-Mikrorechners UB 8810/UB 8820. Dresden: IH Dresden Juli 1985

[6] Lohöfener, M.: Tabellarischer Befehlssatz der Einchip-Mikrorechner U 881 D und U 882 M. radio fernsehen elektronik, Berlin 35 (1986) 7, S. 422


 
Marke Adresse Hex-Code Assembler-Code Kommentar
ORG 0000H ;Adresse Programmbeginn
0000H FF FF NOP ;Nüx zu tun ;-)
0002H FF FF ;System schwingt ein
0004H FF FF
0006H FF FF
0008H FF FF
00OAH FF FF
  00OCH 8F DI ;Interrupt verboten
00ODH 31 F0 SRP #%FO ;RPE <- FO
00OFH FC 80 LD R15,#%80 ;
0011H EC 00 LD R14,#%00 ;
0013H FF FF NOP ;
0015H FF FF NOP ;
0017H FF FF NOP ;
0019H 8C 05 LD R8,#%05 ;P01 M
001BH 7C 41 LDR7,#%41 ;P3M
001DH 6C OF LDR6,#%0F ;P2M
001FH FF FF NOP ;
0021H FF FF NOP ;
0023H FF FF NOP ;
0025H FF FF NOP ;
0027H FF FF NOP ;
0029H 31 00 SRP#%00 ;RP <- 00
002BH 4C 0A LDR4,#%0A  ;Anzahl d. zu lösch. Reg.
002DH 5C 0F LD R5,#%0F ;Anf.-adr.
002FH 81 05 CLR @5 ;Lösche Reg. F,E,...,6
0031H 00 05 DEC R5 ;
0033H 4A FA DJNZ R4,$-4 ;
0035H 9F EI ;Interrupt erlaubt
0036H B1 05 CLR R5 ;
0038H 88 00 LD R8,PRTO ;BCD-Eingabe
003AH F0 08 SWAP R8 ;Nippeltausch
003CH 89 00 LD PRTO, R8 ;BCD-Ausgabe 
003EH 48 00 LD R4,PRTO ;BCD-Eingabe über PO3-00 
0040H 56 04 0F AND4,#%0F ;Reg. 4 Bit 7..4 <-0
0043H A6 04 00 CP4,#%00 ;BCD-Eingabe=0?
0046H 6B 04 JRZ,$+6 ;
0048H D4 04 CALL@4 ;UP-Aufruf
004AH 8B EA JR,$-20 ;
004CH 76 03 08 TM3,#%08 ;P33=0?
004FH 6B 1D JRZ,$+31 ;
0051H E6 F7 C3 LD 241,#%C3 ;TMR für P36=2MHz
0054H 6C 3F LD R6,#%3F ;kurze Blinkdauer
0056H 46 03 10 OR3,*%10 ;P34=1
0059H 7C FF LD R7,#%FF ;
005BH FF NOP ;
005CH 7A FD DJNZ R7,$-1 ;Zeitschleife
005EH 6A F9 DJNZ R6,$-5 ;
0060H 56 03 EF AND3,#%EF ;P34=0
0063H 6C 3F LD R6,#%3F ;
0065H 7C FF LD R7,#%FF ;
0067H FF NOP ;Zeitschleife
0068H 7A FD DJNZ R7,$-1 ;
006AH 8A F9 DJNZ R6,$-5 ;
006CH 88 CB JR,$-54 ;
006EH E6 F1 43 LD 241,#%43 ;TMR für P36-2kHz
0071H E6 F4 19 LD 244,#%19 ;TO <-19 (:25)
0074H E6 F5 15 LD 245,#%15 ;PRE0 <-15 (:5)
0077H 6C BF LD R6,#%BF ;lange Blinkdauer
0079H 8B DB JR,$-35 ;

Tafel 1: Programmlisting für das Betriebssystem
   

  0100H   ORG 0100H ;Adresse
  0100H 8F DI ;Unterprogrammbeginn
  0101H 31 F0 SRP #%F0 ;Steuerregistergruppe
  0103H BC 25 LD R8, #%25 ;P01M
  0105H 7C 41 LD R7, #%41 ;P3M
  0107H 31 00 SRP #%00 ;Arbeitsregistergruppe0
  0109H B0 01 CLR 1 ;
  010BH 66 03 06 TCM3, #%06 ;P32/31=0?
  010EH 6B FB JRZ,$-3 ;Warteschleife für P32/31=1
  0110H 4C FF LDR4,#%FF ;Entprellschleife
  0112H FF  NOP ;für1/0-Übergang
  0113H 4A FD DJNZ R4,$-1 ;
  0115H 76 03 08 TM 3,#%08 ;P33=0?
  0118H 6B 04 JRZ,$+6 ;
  011AH 20 01 INC X1 ;Vorwärtszählen
  011CH 8B 02 JR,$+4 ;
  011EH 00 01 DEC X1 ;Rückwärtszählen
  0120H 66 03 06 TCM 3, #%06 ;P32/31=0?
  0123H EB FB JRNZ,$-3 ;Warteschleife für P32/31=0
  0125H 4C FF LD R4, #%FF ;
  0127H FF  NOP ;Entprellschleife für
  0128H 4A FD DJNZ R4,$-1 ;0/1-Übergang
  012AH 8B DF JR, $-31 ;

Tafel 2: Listing Unterprogramm UP2: 8-bit-Vor-Rückzähler

  0200H   ORG 0200H ;Adresse 
  0200H B0 F6   ;CLR P2M 8-bit-Ausgang
  0202H E6 F1 43 LD 241, #%43 ;TMR <- 43 (TOUT=T0)
  0205H B0 F4 CLR 244 ;CLR T0 (:256)
  0207H 76 03 08 TM 3, #%08  ;P33=0?
  020AH 6B 05 JRZ,$+7 ;
  020CH E6 F5 41 LD 245, #%41 ;PRE 0 <- 41 (:16)
  020FH 88 03 JR, $+5 ;
  0211H E6 F5 65 LD 245, #%65  ;PRE 0 <- 65 (:25)
  0214H 28 F4 LD R2, X244 ;PRT 2 <- T0
  0216H 88 EF JR,$-15 ;

Tafel 3: Listing Unterprogramm UP3: Impulsgenerator 

  0400H   ORG 0400H ;Adresse 
  0400H E6 F1 43 LD 241, #%43 ;TMR,TOUT=T0 
  0403H B0 FA CLR 250 ;IRQ zurücksetzen
  0405H E6 F5 0D LD 245,#%0D ;PREO <- (:3)
  0408H 46 03 20 OR 3, #%20 ;P35 <- 1, V0E24 hell 
  040BH 56 03 EF AND 3, #%EF ;P34 <- 0, "+"dunkel 
  040EH B0 01 CLR1 ;PRT1 <-0
  0410H 76 03 08 TM3, #%08 ;P33=0?
  0413H EB 14 JRNZ,$+22 ;IR03 =1?, Zeichen an P30?
  0415H 76 FA 08 TM 250, #08 ;
  0418H 68 F6 JRZ,$-8 ;
  041AH 56 FA F7 AND 250, #%F7 ;IR03 <- 0
  041DH 18 F0 LD R1, 240 ;PRT1 <- Zeichen,
  041 FH FF NOP ;Parallelausgabe
  0420H 56 03 EF AND 3,#%EF ;P34 <-0,RDYaktiv 
  0423H FF NOP ;
  0424H 46 03 10 OR 3, #%10 ;P34 <-1,RDYinaktiv
  0427H 88 E7 JR,$-23 ;
  0429H 09 0C LD 12, R0 ;Reg 12 <- Bitratenbereich
  042BH 56 0C 0F AND 12, #%0F ;Reg 12 Bit 7..4 <-0
  042EH C9 F4 LD244,R12 ;T0 <- Bitratenbereich
  0430H F0 00 SWAP 0 ;Anzeige V0E22 <-Bitraten-
  0432H 88 DC JR,$-34 ;bereich

Tafel 4: Listing Unterprogramm UP4: Serien-Parallel-Wandler 

2800 F3 21 96 2A 11 10 24 01 30 00 ED B0 21 C0 2A 22
2810 41 23 3E 2A ED 47 ED 5E 3E OF D3 FA 3E 03 D3 FA
2820 AF D3 F8 32 0A 24 3E 90 D3 EC 3E FF D3 EC D3 EC
2830 D3 EE 32 09 24 FB DD 21 10 24 CD 5A 04 FE 02 F2
2840 36 28 FE 01 C2 E4 28 11 00 20 3E 01 32 00 20 3A
2850 00 20 CD CR 04 32 18 24 OE 03 AF 32 16 24 32 17
2860 24 32 1C 24 13 DD 21 16 24 CD 5A 04 FE 10 F2 65
2870 28 F5 3A 16 24 32 17 24 62 6B F1 F5 ED 6F F1 CD
2880 CA 04 32 16 24 CD 5A 04 FE 10 20 E2 OD 20 CB 3A
2890 18 24 32 1E 24 DD 21 1C 24 CD 5A 04 FE 02 F2 95
28A0 28 4F CD CA 04 32 1C 24 CD 5A 04 FE 10 20 ED 79
28B0 FE 01 20 04 1A CB FF 12 DD 21 22 24 CD 5A 04 FE
28C0 02 F2 B8 28 FE 01 28 07 21 00 20 34 C3 4F 28 DD
28D0 21 28 24 CD 5A 04 FE 02 F2 CF 28 FE 01 20 05 21
28E0 00 20 CB FE DD 21 2E 24 CD 5A 04 FE 01 20 F5 21
28F0 00 24 06 06 AF 77 23 10 FC 26 00 3A 00 20 CB BF
2900 6F FD 21 01 20 FD 46 00 3A 00 24 B8 20 03 AF 18
2910 OF CB CC 38 05 90 CB 84 18 06 4F 78 41 90 CB C4
2920 32 06 24 D3 EC FD 46 01 3A 01 24 B8 20 03 AF 18
2930 0F CB DC 38 05 90 CB 94 18 06 4F 78 41 90 CB D4
2940 32 07 24 D3 ED FD 46 02 CB B8 3A 02 24 B8 20 03
2950 AF 18 0F CB EC 38 05 90 CB A4 18 06 4F 78 41 90
2960 CB E4 32 08 24 D3 EE 7C D3 F8 32 0A 24 CB 4C 28
2970 17 3A 06 24 0E EC ED 40 90 47 3A 00 24 CB 44 28
2980 03 80 18 01 90 32 03 24 CB 5C 28 17 3A 07 24 0E
2990 ED ED 40 90 47 3A 01 24 CB 54 28 03 80 18 01 90
29A0 32 04 24 CB 6C 28 17 3A 08 24 OE EE ED 40 90 47
29B0 3A 02 24 CB 64 28 03 80 18 01 90 32 05 24 CD 2D
29C0 2A 3A 0A 24 67 CB 4C 20 A4 CB 5C 20 A0 CB 6C 20
29D0 9C 3E FF D3 EC D3 ED D3 EE FD CB 02 7E 28 06 CB
29E0 F4 CB FC 18 04 CB B4 CB BC 7C D3 F8 32 0A 24 FD
29F0 23 FD 23 FD 23 E5 OE 80 C5 CD 2D 2A C1 0D 20 F8
2A00 E1 2D C2 05 29 3A 00 20 CB 7F C2 FB 28 3A 09 24
2A10 E6 FF 28 11 AF 32 09 24 FD 77 00 FD 77 01 FD 77
2A20 02 2C C3 05 29 3E FF 32 09 24 C3 36 28 E5 21 05
2A30 24 11 3A 24 0E 03 7E 47 CD CA 04 12 78 07 07 07
2A40 07 CD CA 04 13 12 13 2B 0D 20 EB DD 21 3A 24 CD
2A50 83 04 E1 C9 F5 FD 7E 00 32 03 24 32 00 24 3A 0A
2A60 24 CB 8F 18 22 F5 FD 7E 01 32 04 24 32 01 24 3A
2A70 0A 24 CB 9F 18 11 F5 FD 7E 02 CB BF 32 05 24 32
2A80 02 24 3A 0A 24 CB AF D3 F8 32 0A 24 F1 FB ED 4D
2A90 54 2A 65 2A 76 2A 00 CA EO 4F 68 20 00 00 00 68
2AA0 20 CE 00 00 00 E6 6F 6C 00 CE E9 68 CE 00 00 20
2AB0 CA E8 48 00 CA 48 6F CA AE 00 AE E3 6F CA E8 68
2AC0 F5 C5 D5 E5 3A OA 24 E6 D5 D3 FB DD 21 34 24 CD
2AD0 5A 04 FE 10 28 2B FE 11 20 F1 3A 03 24 32 00 24
2AE0 3A 04 24 32 01 24 3A 05 24 32 02 24 3E FF D3 EC
2AF0 D3 ED D3 EE E1 D1 C1 F1 AF 6F 32 00 20 FB C3 14
2B00 2A 3A 0A 24 D3 F8 E1 D1 C1 F1 ED 45 FF FF FF FF
2B10 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
2B20 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF