Obsah: strana 1. Úvod.......................................................................... 5.............................................. 6.................................. 7........................................................ 9............................................................................................................ 12......................................... 12........................................................... 14........................................................................ 15....................................................................................................................... 21............................................... 36.......................................... 36.......................................... 39...................................................................................................................................... 43.......................... 44................................................................. 46............................................................ 46............................................... 46............................................................... 46.................................................................. 46.............................................................. 47................................................. 47...................................................................... 47........................................... 47..................................................................... 49 3
5
6
7 15 D 7
0000-03FF 0400 - C7FF 0800 - CBFF 0C00 - OFFF 1000-13FF 1400-17FF 1800-1BFF 1C00-1FFF 2000-3FFF 4000 - FFFF 1C00 1FFF 9
1 CS CWR PC 1 3 X7 X4 X5 X6 1 2 X9 8AH 88H 99
01111001=79H 1101 11
12 JMP C3H MVI 97
1 ORG 1C00H DEFINICE POC. ADRESY 2 ENT: JMP ABC SKOK NA NAVESTI ABC 3 LXI H,DATA VLOZI DO H DVA BYTE 4 ABC: MOV A,L DO A OBSAH L 5 DATA: EQU 345AH DEFINICE PROMENNE DATA 6 END UKONCI PREKLAD 1C00 C3 06 1C 1C03 21 5A 34 1C06 7D 1C06 CALL F61DH 1C00 C3 09 1C 1C03 21 5A 34 1C06 CD 1D F6 1C09 7D 96 13
PMI-80 ORG 1C00H LDA A1 A <- X LDA A2 A <- Y STA A3 (A3) <- Z 14 A1 A3 A1=1F00H A2=1F02H A3=1F04H. A1=1F00H A2=1F02H X=1CH Y=C6H EX 1C00 = 1F04H C6H+1CH=E2H. ADD C 81H SUB C 91H 1F04H C6H-1CH=AAH 95
AND C ORA C XRA C 00ABH 00F2H 00FBH 0116H ORG 1C00H 1C12 32 04 1F STA 1F04H FFH FFH 0140H 94 15
ORG 1C00H 1C00 3E 19 MVI A,19H 1C05 3E 00 MVI A,0 1C0C 00 L2: NOP 1C14 C2 0C 1C JNZ L2 1C17 3A FA 1F LDA 1FFAH 1C1B 00 NOP 1C1C 32 FA 1F STA 1FFAH 1C1F C3 0A 1C JMP L1 1FFAH DISP D 1C0BH na 80H 1C1B NOP DAA =27H DAA A 09 0A 10 99. I RST7 I EI RST7 CALL 0038H 0038H 0038H EI I DI RST7 16 93
0038H 1FE6H RET. I 1C0CH EI FBH 1FE6H 1FE6 C3 00 1D REST7: JMP PRER 1D00H 1D02 32 FA 1F STA 1FFAH 1D05 C9 RET I DAA ORG 1C00H 1C00 3E 19 MVI A,19 1C07 32 FA 1F STA 1FFAH 1C0D CD F2 00 CALL OUTDA 1C10 CD 40 01 CALL DISP 1C13 15 DCR D 1C14 C2 0C 1C JNZ L2 1C17 3A FA 1F LDA 1FFAH 1C24 C3 0A 1C JMP L1 92 17
I I SEC na adrese 1C0B. 1 91
INTRA = IBF * INTE2 * STB * RD + OBF * INTE1 * ACK * WR 19
0116H RE I 0140H 01A3H 1000XXXXB 1001XXXXB.
PROCEDURA RESET (POCATECNI NASTAVENI) PMI-80 ---------------------------------------------------------------- 0000 3E8A RESET:MVI A,8AH RIDICI SLOVO V/V PORTU: PA:VYSTUP PB:VSTUP PCH:VSTUP PCL:VYSTUP 0002 D3FB OUT PPI JE ZAPSANO DO RIDICIHO REG. 0004 00 NOP UKLIDNENI DATOVE SBERNICE 0005 C32E00 JMP 002EH PRESKOK PROGRAMU PRO RST 1 ---------------------------------------------------------------- 002E 21D91F LXI H,1FD9H ADRESA VRCHOLU ZASOBNIKU DO HL:1FD9 0031 22E41F SHLD 1FE4H A JEJI ULOZENI V ZAS.MONIT. 1FE4:D91F 0034 C33D00 JMP 003DH PRESKOK PROG. OBSLUHY RST 7 ---------------------------------------------------------------- 0038 C3E61F RST7: JMP 1FE6H SKOK NA ADRESU OBSLUHY RST7, PRIPRAVENOU UZIVATELEM TOHOTO PRERUSENI ---------------------------------------------------------------- 003D 21E701 LXI H,01E7H ADRESA ZPRAVY MONITORU DO HL:01E7: 1E 13 16 01 19 1F 08 00 1E (T.J. PMI -80 ) 0040 31D91F LXI SP,1FD9HADRESA VRCHOLU ZASOBNIKU DO SP:1FD9 0043 22FC1F SHLD 1FFCH ADRESA ZPRAVY MONITORU DO 1FFC:E701 (UKAZATELE VYSTUPNIHO REGISTRU PRO ZOBRAZENI) 0046 CD1601 CALL OUTKE ZOBRAZENI A TEST KLAVESNICE:DISP: PMI -80 (MONITOR CEKA NA STLACENI LIBOVOLNE KLAVESY) 0049 21EF1F LXI H,1FFCH ADRESA LEVE SEGMENTOVKY DO HL:1FEF 004C 22FC1F SHLD 1FFCH A JEJI ULOZENI DO UKAZATELE 1FFC:EF1F 004F 3E1D MVI A,1DH KOD? DO STRADACE A:1D 0051 CDAB00 CALL CLEAR PRIPRAVA ZOBRAZENI:?... 0054 CD1601 CALL OUTKE ZOBRAZENI A TEST KLAVESNICE DISP:?... (MONITOR CEKA NA STLACENI FUNKCNI KLAVESY) 0057 210B02 LXI H,020BH ADR.TAB.FUNKCNICH KLAVES: HL:020B (020E 0211 0214 0217 021A) -------------------------------OBSAH TABULKY PAMETI: 020B:927200 912902 975A02 9A7E02 944C03 938C03 005A 0606 MVI B,06 POCITADLO FUNKCNICH KLAVES B:06 005C BE CMP M SROVNANI KODU KLAVESY VE STRADACI S KODEM V TABULCE 005D 23 INX H ZVETSENI HL,NEOVLIVNI CY A Z HL:020C 020F 0212 0215 0218 021B 005E CA6D00 JZ 006DH Z=1, SKOK PRI SROVNANI KODU STLACENE KLAVESY A KODU V TABULCE 0061 23 INX H Z=0, NESROVNANO,ZVETSENI ADR. HL:020D 0210 0213 0216 0219 021C 0062 23 INX H UKAZATELE V TABULCE NA HL:020E 0211 0214 0217 021A 021D 0063 05 DCR B ZMENSENI POCITADLA FN KLAVES B:05 04 03 02 01 00 0067 210202 LXI H,0202H B=0, ADRESA ZPRAVY ERROR DO HL:0202 006A C34000 JMP 0040H SKOK NA VYPIS ZPRAVY MONITORU O TOM, ZE NEBYLA STISKNUTA FUNKCNI KLAVESA - VIZ VYSE ---------------------------------------------------------------- 006D 4E MOV C,M NIZSI BYTE ADRESY Z TAB. DO C:72 29 5A 7E 4C 8C 006E 23 INX H ADRESA VYSSIHO BYTU V TAB. HL:020D 0210 0213 0216 0219 021C 006F 66 MOV H,M VYSSI BYTE ADRESY Z TAB. DO H:00 02 02 02 03 03 0070 69 MOV L,C NIZSI BYTE ADRESY Z C DO HL:0072 0229 025A 027E 034C 038C 0071 E9 PCHL SKOK NA PROGRAM FUNKCE PC:0072-M 0229-G 025A-B 027E-R 034C-S 038C-L ---------------------------------------------------------------- KONEC PROCEDURY RESET 21
FUNKCE: M-MEMORY (UMOZNUJE ZMENU ADRESY A PO STLACENI = ZMENU DAT,DALSI = ZVYSI ADRESU O +1 A LZE MENIT DATA) G-EXECUTE (UMOZNUJE ODSTARTOVAT UZIVATELSKY PROGRAM OD ZADANE ADRESY STLACENIM KLAVESY = ) B-BREAK STOP (NA VLOZENOU ADRESU Z KLAVESNICE UMISTI INSTRUKCI RST 1 CIMZ UMOZNI VSTUP DO MONITORU) R-REGISTRY (UMOZNUJE ZOBRAZENI OBSAHU DVOJIC REGISTRU NA DISPLEJI) S-SAVE (UMOZNUJE UCHOVANI OBSAHU PAMETI OD ZADANE ADRESY NA MAGNETOFON, NUTNO ZADAT PORAD. CISLO BLOKU) L-LOAD (PROCEDURA NAHRAVANI Z MAGNETOFONU NA ZVOLENOU ADRESU PAMETI. NAHRAVA SE BLOK URCENEHO CISLA) PROCEDURA FUNKCE M MONITORU ---------------------------------------------------------------- 0072 3E16 MVI A,16 KOD FUNKCE M DO STRADACE A:16 0074 CDAB00 CALL CLEAR PRIPRAVA ZOBRAZENI:M... 0077 CDD700 CALL MODAD ZOBRAZENI A MODIFIKACE ADRESY 007A 7E MOV A,M OBSAH MODIFIKOVANE ADRESY DO A:XY 007B 32FA1F STA 1FFA A JEHO ULOZENI DO VYST.REG. 1FFA:XY 007E 3E18 MVI A,18H KOD ZNAKU = DO STRADACE A:18 0080 02 STAX B A JEHO ULOZENI DO VYST.REG. 1FF5:18 0081 CDFB00 CALL MODDA ZOBRAZENI A MODIFIKACE DAT DISP:M ADR.=XY 0084 2AF81F LHLD 1FF8H BEZNA VSTUPNI ADRESA Z 1FF8 HL:ADR. 0087 3AFA1F LDA 1FFA MODIFIKOVANA DATA Z 1FFA DA A:ND -(NOVA DATA) 008A 77 MOV M,A A JEJICH ULOZENI NA ADRESE ADR.:ND 008B 23 INX H ZVETSENI ADRESY BEZNYCH DAT HL:AD+1 008C 22F81F SHLD 1FF8H A JEJI ULOZENI V ZASOBNIKU 1FF8:AD+1 008F CDBB00 CALL OUTAD ZOBRAZI ADRESU A NOVA DATA DISP:M ADR.=ND 0092 C37A00 JMP 007A POKRACUJE MODIFIKACE DAT. VYSTUP Z PROCEDURY:STLACENIM FUNKCNI KLAVESY ---------------------------------------------------------------- KONEC PROCEDURY FUNKCE M PROCEDURA OUTAD PMI-80, ROZKLADAJICI 2 BYTY ADRESY NA 4 HEXADECIMALNI ZNAKY DO VYSTUPNIHO REGISTRU DISPLEJE VSTUPY: BC-ADRESA LEVE ZE CTYR SEGMENTOVEK, NA NEZ BUDE ZOBRAZENA DVOUBYTOVA ADRESA VE TVARU CTYR ZNAKU HL=(1FF9,8)=FEDC: DVOUBYTOVA ADRESA, KTERA MA BYT ZOBRAZENA DISPLEJEM (VSTUPNI ARGUMENT) PRI POUZITI TECHTO VSTUPU SE PROCEDURA VOLA: CALL 00C1, STANDARDNI VOLANI: CALL 00BB (OUTAD) ---------------------------------------------------------------- 00BB 01F11F OUTAD:LXI B,1FF1H ADRESA 3. SEGMENTOVKY ZLEVA BC:1FF1 00BE 2AF81F LHLD 1FF8H BEZNA (ZOBRAZOVANA) ADRESA HL:FEDC 00C1 7C MOV A,H VYSSI BYTE ADR. DO STRADACE A:FE 00C2 CDC600 CALL X+4 PRVNI PRUCHOD PODPROGRAMEM 00C5 7D MOV A,L PRI 2. PRUCHODU NIZSI BYTE ADRESY A:DC A:BD (PRO PP OUTDA) 00C6 D5 PUSH D UCHOVANI DE V ZASOBNIKU 00C7 57 MOV D,A STRADAC DO POMOCNEHO REG. D:FE(11111110) DC(11011100) BD(10111101) 00C8 0F RRC PRESUN LEVE TETRADY VPRAVO A:7F(01111111) 6E(01101110) DE(11011110) 00C9 0F RRC A NAOPAK CTYRNASOBNOU ROTACI A:BF(10111111) 37(00110111) 6F(01101111) 00CA 0F RRC A:DF(11011111) 9E(10011011) B7(10110111) 00CB 0F RRC A:EF(11101111) CD(11001101) D8(11011011) 00CC 6E0F ANI 0FH PONECHANI PRAVE TETRADY A:0F(00001111) 0D(00001101) 0B(00001011) 00CE 02 STAX B A ULOZENI DO VYST.REG.DISP. 1FF1:0F 1FF3:0D 1FF6:0B 22
00CF 03 INX B DALSI ADR.VYST.REG.DISPLEJE BC:1FF2 1FF4 1FF7 00D0 7A MOV A,D PUVODNI BYTE ADR. Z POM. REG. A:FE DC BD 00D1 E60F ANI 0F PONECHANI PRAVE TETRADY A:0E 0C 0D 00D3 02 STAX B ULOZENI DO VYST. REG. DISP. 1FF2:0E 1FF4:0C 1FF8:0D 00D4 03 INX B ADRESA DALSI SEGMENTOVKY BC:1FF3 1FF5 1FF8 00D5 D1 POP D NAVRAT PUVODNIHO OBSAHU DE 00D6 C9 RET NAVRAT Z 1. PRUCHODU NEBO PODPROGRAMU POUZE JEDENKRAT PROCHAZI TOUTO PROCEDUROU PODPROGRAM OUTDA (CALL 00F2), ROZKLADAJICI BYTE DAT NA DVA ZNAKY 00F2 01F61F OUTDA:LXI B,1FF6H ADRESA DVOU PRAVYCH SEGMENTU BC:1FF6 00F5 2AFA1F LHLD 1FFAH BYTE BEZNYCH VSTUPNICH DAT HL:XYBD (XY JE OBSAH ADRESY 1FFB, KTERY NEVYUZIVAME) 00F8 C3C500 JMP 00C5H SKOK DO PROCEDURY OUTAD, JEDEN PRUCHOD, UMOZNUJICI ROZDELENI BYTU NA 2 ZNAKY PRO ZOBRAZENI ANALYZA PROCEDURY MODAD PMI-80, KTERA ZOBRAZUJE 4 ZNAKY DVOUBYTOVE ADRESY A UMOZNUJE JEJICH ZMENU Z KLAVESNICE VOLA PROCEDURY OUTAD A OUTKE PREDPOKLADANY OBSAH (1FF8,9)=DCFE JE MODIFIKOVAN NA 3412 00D7 CDBB00 MODAD:CALL OUTAD ROZLOZI 2 BYTY ADR. NA 4 ZNAKY 00DA CD1601 CALL OUTKE ZOBR.ADR.A JEJI MOD.Z KLAVES. A: 81 82 83 84 90 (STLACENO = ) 00DD C8 RZ Z=1,STLACENO =,POTVRZENI ADRESY - NORMALNI NAVRAT Z PROCEDURY Z=1,RZ 00DE D29701 JNC 0197H CY=0,STLACENA FUNKCNI KLAVESA - VYSTUP Z PROCEDURY PO CHYBE 00E1 2AF81F LHLD 1FF8H BEZNA VSTUPNI ADRESA DO HL:FEDC(1111 1110 1101 1100) PRIKLAD ADRESY ULOZENE NA 1FF8,9 00E4 E60F ANI 0FH PONECHANI PRAVE TETRADY KODU A: 01 02 63 04 00E6 29 DAD H POSUV OBSAHU HL VLEVO HL:FDBB(1111 1101 1011 1000) 00E7 29 DAD H O CTYRI BITY, UVOLNENI HL:FB78(1111 1011 0111 0000) 00E8 29 DAD H PRAVE TETRADY PRO NOVY HL:F6EO(1111 0110 1110 0000) 00E9 29 DAD H ZNAK Z KLAVESNICE HL:EDC0(1110 1101 1100 0000)DC10 C120 1230 00EA 85 ADD L NOVY ZNAK ADR. DO PRAVE TETR. A: C1 12 23 34 00EB 6F MOV L,A A JEHO PRESUN DO REGISTRU L: HL:EDC1 DC12 C123 1234 00EC 22F81F SHLD 1FF8H UCHOVANI MODIFIK. ADRESY 1FF8:C1ED 12DC 23C1 3412 00EF C3D700 JMP MODAD POKRACOVANI MODIF. ADRESY ---------------------------------------------------------------- 0197 21F001 LXI H,01F0H ADR.ZPRAVY, ERR-ADRES HL:01F0 019A C34000 JMP 0040H ZOBRAZENI ZPRAVY MONITOREM (BYLA-LI OMYLEM STLACENA FUNKCNI KLAVESA MISTO SESTNACTKOVE) ANALYZA PROCEDURY MODDA PMI-8O, KTERA ZOBRAZI BYTE DAT A UMOZNI JEHO ZMENU Z KLAVESNICE 00FB CDF200 MODDA:CALL OUTDA ROZLOZENI BYTU DAT NA 2 ZNAKY HL:(1FFA)=00BD - PREDPOKLADANY OBSAH BYTU DAT 00FE CD1601 CALL OUTKE ZOBR. DAT A MODIF. Z KLAVES. A:88 (STLACENA KLAV. 8 ) B9 (STLACENA KLAVESA 9 ) 90 0101 C8 RZ Z=1,STLACENO =,POTVRZENA DATA - NORMALNI NAVRAT Z PROCEDURY Z=l 0102 D29D01 JNC 019DH CY=0,STLACENA FUNKCNI KLAVESA - VYSTUP Z PROCEDURY PO CHYBE 0105 000000 NOP PRAZDNE OPERACE (3x) HL:00BD=0000 0000 1011 1101 0BD8=0000 1011 1101 1000 0108 E60F ANI 0FH PONECHANI PRAVE TETRADY KODU A: 08 09 010A 29 DAD H POSUV HL VLEVO O TETRADU HL:017A=0000 0001 0111 1010 17B0=0001 0111 1011 0000 010B 29 DAD H HL:02F4=0000 0010 1111 0100 2F60=0010 1111 0110 0000 010C 29 DAD H HL:05E8=0000 0101 1110 1000 5EC0=0101 1110 1100 0000 010D 29 DAD H HL:08D8=0000 1011 1101 0000 B089=1011 1101 1000 0000 010E 85 ADD L NOVY ZNAK DAT DO PRAVE TETR. A: D8 89 23
010F 6F MOV L,A A JEHO PRESUN DO REGISTRU L HL:0BD8=0000 1011 1101 1000 B089-1011 1101 1000 1001 0110 22FA1F SHLD 1FFA UCHOVANI MODIFIKOVANYCH DAT 1FFA: D8 89 0113 C3FB00 JMP MODDA POKRACOVANI MODIFIKACE DAT ---------------------------------------------------------------- 019D 21F901 LXI H,01F9H ADRESA ZPRAVY. ERR= DATA HL:01F9 01A0 C34000 JMP 0D40H ZOBRAZENI ZPRAVY MONITOREM (PRI CHYBNEM STLACENI FUNKCNI KLAVESY MISTO SESTNACTKOVE) PROCEDURA ENTRY PMI-8O 0008 22DF1F ENTRY:SHLD 1FDF UCHOVANI HL PRO ZOBRAZENI 1FDF:LLHH 000B E1 POP H HODNOTA PC PRI PRERUSENI DO HL:(PC) 000C 22E21F SHLD 1FE2H A JEJI UCHOVANI NA ADRESE: 1FE2:(PC) 000F 210000 LXI H,0000 VYNULOVANI HL UMOZNI UCHOVAT 0012 39 DAD SP HODNOTU SP PRED PRERUSENIM: HL:(SP) 0013 22E41F SHLD 1FE4 A PRO ZOBRAZENI JI ULOZI NA 1FE4:(SP) 0016 21DD1F LXI H,1FDDH ADRESA VRCHOLU ZASOB. MONIT. HL:1FDD 0019 F9 SPHL A JEJI ULOZENI DO SP:1FDD 001A C5 PUSH B UCHOVANI BC V TOMTO ZASOB. 1FDB:CCBB 001B D5 PUSH D UCHOVANI DE V TOMTO ZASOB. 1FD9:EEDD 001C F5 PUSH PSW UCHOVANI AF PRES ZASOBNIK 1FD7:FFAA 001D E1 POP H DO REGISTROVEHO PARU HL:AAFF 001E 22DF1F SHLD 1FDD A ODTUD NA ADRESY 1FDD:FFAA 0021 2AEC1F LHLD 1FEC ADRESA BREAK STOPU PROGRAMU: HL:BRST 0024 3AEE1F LDA 1FEE UCHOVANY KOD INSTRUKCE DO A:INSTRUKCE Z MISTA BREAK STOP 0027 77 MOV M,A JEJI VRACENI ZPET DO PROG. BRST:PUVODNI INSTRUKCE 0028 212002 LXI H,0220H ADRESA ZPRAVY BR-STOP DO HL:0220 002B C34000 JMP 0040H SKOK DO MONITORU,VYPIS NA DISP: BR-STOP BRST ZNAMENA ADRESU PUVODNIHO PROGRAMU, NA NIZ BYLA ULOZENA INSTRUKCE CF (RST 1) FUNKCI BREAK STOP PUVODNI INSTRUKCE JE UCHOVAVANA V ZASOBNIKU MONITORU NA ADRESE 1FEE ADRESA TETO INSTRUKCE JE UCHOVAVANA NA ADRESE 1FEC JE-LI ZA ADRESOU UVEDENO VICE BYTU,JSOU ULOZENY NA NASLEDUJICICH VYSSICH ADRESACH PROCEDURA CLEAR PMI-80 00AB 110800 CLEAR:LXI D,0008 POCITADLO POZIC DISPLEJE DO DE:0008 00AE 2AFC1F LHLD 1FFCH ADRESA Z UKAZATELE VYST.REG HL:1FEF 00B1 19 DAD D VYPOCTENA ADR.SEGMENTOVKY, HL:1FF7 1FF6 1FF5 1FF4 1FF3 1FF2 1FF1 1FF0 00B2 3619 MVI M,19H ZNAK MEZERY NA TUTO ADRESU, (HL):19 19 19 19 19 19 19 19 00B4 1D DCR E ZMENSENI POCITADLA POZIC, DE:0007 0006 0005 0004 0003 0002 0001 0000 00B8 2B DCX H E=0, ADRESA SEGMENTOVKY V, HL: 1FEF 00B9 77 MOV M,A UCHOVANI OBSAHU STRADACE NA 1FEF: AA 00BA C9 RET NAVRAT Z PODPROGRAMU CLEAR PODPR0GRAM PRIPRAVI KODY MEZER NA ADRESY SEGMENTOVEK A OBSAH STRADACE NA ADRESU LEVE SEGMENTOVKY ZOBRAZENI TETO INFORMACE NA DISPLEJI MUSI ZAJISTIT PP DISP NEBO OUTKE 24
PROCEDURA OUTKE PMI-80 0116 CD4001 OUTKE:CALL DISP ZOBRAZENI A TEST KLAVESNICE 0119 D21601 JMC OUTKE CY=0, NEBYLA STLACENA KLAVESA 011C 0F RRC CY=1, OBNOVENI OBSAHU STRADACE A:KOD KLAVESY 011D 4F MOV C,A KOD KLAVESY DOCASNE DO REG. C:KOD KLAVESY 011E CD4001 CALL DISP TEST UVOLNENI KLAVESY 0121 DA1E01 JC x-3 CY=1,NENI JESTE UVOLNENA 0124 CD4001 CALL DISP ZOBRAZENI A NASTAVENI CY CY=1:PRIZNAK STLACENE KLAVESY JAKO JEDEN Z VYSTUPU PP OUTKE 0127 79 MOV A,C KOD KLAVESY VRACEN DO REG. A:KOD KLAVESY - DRUHY VYSTUP PP OUTKE 0128 FE90 CPI 90H BYLA STLACENA KLAVESA ANO:Z=1, PRIZNAK STLACENI =, JE DALSIM VYSTUPEM PP OUTKE 012A C9 RET NAVRAT Z PP OUTKE DO MONITORU NEBO PROGRAMU VYSTUPY PP OUTKE: A,C KOD STLACEME KLAVESY CY=1 PRIZNAK STLACENE KLAVESY Z=1 PRIZNAK STLACENI KLAVESY = POUZIVA REGISTRY: A,C, OSTATNI UCHOVAVA ANALYZA PODPROGRAMU DISP PMI-80 PRI JEHO PRVNIM VOLANI PO ZAPNUTI MIKROPOCITACE KODY KLAVES DRUHE RADY TLACITEK 01AC:82 86 8A 9A 8F 8E 88 87 83 KODY KLAVES TRETI (NEUPLNE) RADY TLACITEK 0183:FF 94 93 FF 97 92 FF FF 90 ZPRAVA MONITORU PO RESET ( PMI -80 ) 01E7:1E 13 16 01 19 1F 08 00 1E ADRESA ZASOBNIKOVE PAMEETI SP :1FD9 UCHOVANI TETO ADRESY V ZASOBNIKU MONITORU 1FE4:D91F ADRESA MONITORU UCHOVAVAJICI ADRESU ZPRAVY 1FFC:E701 SP :1FD7: NAVRATOVA ADRESA PROGRAMU VOLAJICIHO PROCEDURU DISP 0140 E5 DISP: PUSH H SP :1FD5: LLHH 0141 C5 PUSH B SP :1FD3: CCB6 0142 D5 PUSH D SP :1FD1: EEDD 0143 110000 LXI D,0000 VYNULOVANI PARU DE DE :0000 0146 42 MOV B,D VYNULOVANI REG. B B :00 0147 7A MOV A,D VYNULOVANI REG. A A :00 0148 32FE1F STA STATUS VYNULOVANI BUNKY STATUS 1FFE:00 014B 3E7F LOOP1:MVI A,7F BYTE ZHASNUTI SEGMENTOVKY A :7F 014D D3F8 OUT PA VYSTUP TOHOTO BYTU PA :7F 014F 00 NOP UKLIDNENI DATOVE SBERNICE 0150 7B MOV A,E ADRESA SEGMENTOVKY DO A A :00 01 02 03 04 03 06 07 08 0151 2F CMA DOPLNEK ADRESY PRO DEKOREM A :FF FE FD FC F8 FA F9 F8 F7 0152 D3FA OUT PC ADRESACE SEGMENTOVEK ZLEVA PC :FF FE FD FC FB FA F9 F8 F7 0154 00 NOP DE :0000 0001 0002 0003 0004 0005 0006 0007 0008 0155 2AFC1F LHLD UKBVF ADRESA ZPRAVY Z 1FFC DO HL HL :01E7 0158 19 DAD D HL+DE DO HL HL :01E7 01E8 01E9 01EA 01EB 01EC 01ED 01EE 01EF 0159 4E MOV C,M ZNAK ZPRAVY DO REG. C BC :001E 0013 0016 0001 0019 001F 0008 0000 001E 015A 21BE01 LXI H,TPREV ADRESA TAB. PREVODU DO HL HL :01BE 01BE 01BE 01BE 01BE 01BE 01BE 01BE 01BE 013D 09 DAD B HL+BC DO HL HL :01DC 01D1 0104 01BF 01D7 01DD 01C6 01BE 01DC 25
015E 7E MOV A,M ZNAK V KODU SEGMENTOVKY A :5D 0C 48 06 7F 3F 00 40 5D 015F D3F8 OUT PA ZOBRAZENI ZNAKU DISPLEJEM ZNAK: P M I - 8 0 0161 00 NOP 0162 3AFE1F LDA STATUS KOD STLACENE KLAVESY A :00 XY XY XY XY XY XY XY XY 0163 B7 ORA A TEST NESTLACENI KLAVESY A :00 XY XY XY XY XY XY XY XY 0169 0E09 MVI C,09 POCET KLAVES V RADE DO C C :09 016B 219A01 LXI H,TABK-9ADR.TAB.KLAVES -9 DO HL HL :019A 016E DBFA IN PCH VSTUP CASTI KODU KLAVESY PC:0KLM0000 0170 00 NOP K=0-STLACENA,K=1-NESTLACENA A :0KLM0000 0171 E670 ANI 070H MASKA VSTUPU KODU KLAVESY A :0KLM0000 0173 07 RLC ROTACE VLEVO PRES CY: CY=0 A :KLM00000 0174 07 RLC CY=K A :LM00000K 0175 D28201 JNC PRVA STLACENA KLAVESA PRVE RADY 0178 07 RLC CY=L A :M00000KL 0179 D28101 JNC DRUHA STLACENI KLAVESY DRUHE RADY 017C 07 RLC CY=M A :00000KLM 017D DA8801 JC NOKEY NESTLACENA ZADNA KLAVESA BC :0009 0180 09 DAD B BC+HL DO HL 0009+019A=01A3 0181 09 DRUHA:DAD B BC+HL DO HL 0009+019A=01A3 0009+01A3=01AC 0182 09 PRVA: DAD B BC+HL DO HL 0009+019A=01A3 0009+01A3=01AC 0009+01AC=01B5 DE :0000 0001 0002 0003 0004 0003 0006 0007 0008 0183 19 DAD D DE+HL DO HL HL : 01A5 01B1 01BD 0184 7E MOV A,M KOD KLAVESY V KODU SEGMENT. A : 88 8E 90 0185 32FE1F STA STATUS UCHOVANI KODU V PAMETI 1FFE: 88 8E 90 0188 1C NOKEY:INR E ADRESA DALSI SECM.A KLAV. DE :0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0189 3E0A MVI A,0AH CISLO POSLEDNI +1 SEGMENT. A :0A 018C C24601 JNZ LOOP1 NE -DALSI SEGM. A KLAVESY 018F 3AFE1F LDA STATUS KOD STLACENE KLAVESY DO A A : 88 0192 07 RLC NASTAVENI PRIZNAKU STLAC.KLAV. CY=1 A=11 0193 D1 POP D NAVRAT PUVODNIHO OBSAHU DE SP :1FD3 DE:DDEE 0194 C1 POP B SP :1FD3 BC:BBCC 0195 E1 POP H SP :1FD7 HL:HHLL 0196 C9 RET NAVRAT Z PODPROGRAMU DISP SP :1FD9 TABULKA ZANKU V KODU SEGMENTOVEK: 01BE:40 79 24 30 19 12 02 78 00 18 01C8:08 03 46 21 06 0E 07 23 2F 0C 01D2:47 63 48 71 37 7F 09 2B 0B 2C 01DC:5D 3F 42 61 78 11 FF FF FF FF PROCEDURA BREAK POINT PMI-80 NA ZVOLENE ADRESE NAHRADI PUVODNI INSTRUKCI PRIKAZEM CF (RST 1), CIMZ DONUTI PROGRAM SKOCIT DO MONITORU POTOM LZE ANALYZOVAT OBSAHY REGISTRU A PAMETOVYCH BUNEK, ZDA SE VYVIJEJI V SOULADU S POZADAVKY PROGRAMU 025A 3E0B BREAK:MVI A,OSH ZNAK B - SYMBOL BREAK POINT A:0B 025C CDAB00 CALL CLEAR PRIPRAVA ZOBRAZENI: B... 26
025F 2AEC1F LHLD 1FECH ADRESA ZASTAVENI PRO BR.POINT HL:BRPO 0262 22F81F SHLD 1FF8H A JEJI ULOZENI DO ZASOBNIKU 1FF8:POBR 0265 CDD700 CALL MODAD ZOBRAZENI A MODIF.TETO ADR. 1FF8:241D (PRIKLAD ADRESY PRO BREAK POINT: 1D24) 0268 2AF81F LHLD 1FF8H PRESUN TETO ADRESY PRES REG. HL:1D24 026B 22EC1F SHLD 1FECH DO ZASOBNIKU MONITORU 1FEC:241D 026E 7E MOV A,M PUVODNI INSTRUKCE PROGRAMU A:XY 026F 32EF1F STA 1FEE JE UCHOVANA V ZASOB. MONIT. 1FEE:XY 0272 36CF MVI M,CFH A NAHRAZENA INSTRUKCI RST1 1D24:CF -KTERA ZPUSOBI PRERUSENI PROGRAMU SKOKEM MA ADR. 0008 0274 2AE21F LHLD 1FE2H ADRESA POCATKU PROGRAMU HL:1D00 0277 2B DCX H JE ZMENSENA O JEDNICKU HL:1CFF 0278 22E21F SHLD 1FE2H A ULOZENA DO ZASOB. MONIT. 1FE2:FF1C 027B C32902 JMP EXEC SKOK DO PROCEDURY EXECUTE, KTERA UMOZNI ODSTARTOVANI PROGRAMU PROCEDURA EXECUTE PMI-80, ZAJISTUJE SPUSTENI UZIVATELSKEHO PROGRAMU OD ZADANE ADRESY PREDPOKLADEJME, ZE NAVAZUJE BEZPROSTREDME NA PROCEDURU BREAK POINT 0229 3E20 EXEC: MVI A,20H PRIZNAK PROCEDURY G DO A:20 022B CDAB00 CALL CLEAR PRIPRAVA ZOBRAZENI, G... 022E 2AE21F LHLD 1FE2H STARTOVACI ADRESA PROGRAMU HL:1CFF 0231 22F81F SHLD 1FF8H JE ULOZENA DO ZASOB. MONIT. 1FF8:FF1C 0234 CDD700 CALL MODAD ZOBRAZENA A MODIFIKOVANO 1FF8:001D -NA ADRESU SKUTECNEHO ZACATKU PROGRAMU 0237 2AF81F LHLD 1FF8H A PRES REGISTROVY PAR HL:1D00 023A 22E21F SHLD 1FE2H UCHOVANA V ZASOB. MONITORU 1FE2:001D 023D 3E06 MVI A,06H PRIPRAVA ZNAKU E (EXEC) A:06 023F D3F8 OUT 0F8H POSLAN PRES PORT PA NA DISP. 0241 00 NOP UKLIDNENI SBERNICE 0242 3E0F MVI A,0FH ADRESA LEVE SEGMENTOVKY PRES A:0F 0244 D3FA OUT 0FAH POSLANA DO PORTU PC A DISP. DISP:E... 0246 00 NOP UKLIDNENI SBERNICE 0247 21D91F LXI H,1FD9H OBNOVENI ADRESY V UKAZATELI HL:1FD9 024A F9 SPHL VRCHOLU ZASOBNIKU SP:1FD9 024B D1 POP D OBNOVA PUVODNICH OBSAHU DE:DDEE 024C C1 POP B REGISTRU (PRED PRERUSENIM AJ.)BC:BBCC 024D F1 POP PSW AF:AAFF 024E 2AE41F LHLD 1FE4H ADRESA VRCHOLU ZASOBNIKU PRES HL:1FD9 0251 F9 SPHL DO UKAZATELE TETO ADRESY SP:1FD9 0252 2AE21F LHLD 1FE2H ADRESA ZACATKU PROGRAMU PRES HL:1D00 0255 E5 PUSH H UCHOVANA V ZASOBNIKU JAKO 1FD7:001D -NAVRATOVA ADRESA Z PODPROGRAMU 0256 2ADF1F LHLD 1FDFH OBNOVENI PUVODNIHO OBSAHU HL:HHLL 0259 C9 RET DO PC JE ULOZENA STARTOVACI PC:1D00 -ADRESA UZIVATELSKEHO PROGRAMU, CIMZ JE OOSTARTOVAN PROCEDURA ZOBRAZENI OBSAHU REGISTRU PMI-80 (ULOZENYCH V ZASOBNIKOVE PAMETI, NAPR. PROCEDUROU ENTRY) PREDPOKLADANE OBSAHY REGISTRU JSOU: AA,FF,BB,CC,DD,EE,HH,LL,SPSP (FF PRO PRIZNAKOVY REGISTR, AC NENI PLNE VYUZIT 027E 3E12 REG: MVI A,12H SYMBOL FUNKCE R DO STRADACE A :12 0280 CDAB00 CALL CLEAR PRIPRAVA ZOBRAZENI.R.... 27
0283 CD1601 CALL OUTKE ZOBRAZENI A CTENI KLAVESY, OZNACUJICI DVOJICI REGISTRU 0286 D26700 JNC 0067H STLACENA FUNKCNI KLAVESA, SKOK NA ZOBRAZENI ZPRAVY, ERROR 0289 E60F ANI 0FH PONECHANI PRAVE TETRADY KODU A :0X - X=PRAVA POLOVINA KODU KLAVESY 028B 010600 LXI B,0006H NASTAVENI CITACE REGISTRU BC:0006 028E 212A01 LXI H,012AH ADRESA TABULKY KODU KLAVES HL:012A 0291 0B DCX B ZMENSENI CITACE REGISTRU BC:0005 0004 0003 0002 0001 0000 0292 09 DAD B VYPOCTENI ADRESY S KODEM 0X HL:012F 012E 012D 012C 012B 012A 0293 0C INR C TEST NULOVOSTI CITACE REG. BC:0006 0005 0004 0003 0002 0001 0294 0D DCR C BC:0005 0004 0003 0002 0001 0000 0295 CA4F00 JZ 004F KONEC PROCEDURY,SKOK DO MONITORU 0298 BE CMP M SROVNANI KODU KLAVESY S M=((HL)):0A 0B 0D 09 08 0299 C28E02 JNZ 028EH Z=0,NESROVNANI OBSAHU,SKOK 029C 212F01 LXI H,012FH Z=1,SROVNANI,ADRESA KODU KLAV.HL:012F 012F 012F 012F 012F 029F CDCD02 CALL 02CDH PODPROGRAM CTENI NAZVU REGISTRU ---------------------------------------------------------------- 02CD 0600 MVI 8,00 VYNULOVANI REGISTRU B, POTOM BC:0005 0004 0003 0002 0001 02CF 09 DAD B VYPOCTENI ADRESY V TABULCE HL:0134 0133 0132 0131 0130 02D0 6E MOV L,M KONSTANTA Z TABULKY DO L : 0F 0C 0E 14 13 02D1 261F MVI H,1FH PRIMA KONSTANTA DO H, POTOM: HL:1F0F 1F0C 1F0E 1F14 1F13 02D3 C9 RET ---------------------------------------------------------------- 02A2 5D MOV E,L KONSTANTA DO POMOC. REGISTRU E : 0F 0C 0E 14 13 02A3 213401 LXI H,0134H ADRESA DALSI TABULKY HL:0134 0134 0134 0134 0134 02A6 CDCD02 CALL 02CDH PODPROGRAM CTENI NAZVU DRUHEHO REGISTRU Z PARU ---------------------------------------------------------------- 02CD 0600 MVI B,00 VYNULOVANI REGISTRU B, POTOM BC:0005 0004 0003 0002 0001 02CF 09 DAD B VYPOCTENI ADRESY V TABULCE HL:0139 0138 0137 0136 0135 0200 6E MOV L,M PRENOS ZNAKU Z TABULKY DO L : 0A 08 0D 1A 05 02D1 261F MVI H,1FH PRIMA KONSTANTA DO H, POTOM: HL:1F0A 1F0B 1F0D 1F1A 1F05 02D3 C9 RET ---------------------------------------------------------------- 02A9 63 MOV H,E OBSAH POMOC. REG. DO H, POTOM HL:0F0A 0C0B 0E0D 141A 1305 02AA 22F61F SHLD 1FF6H PRENOS DO VYST REG.DAT DISP 1FF6:0A0F 0B0C 0D0E 1A14 0513 (REG.PARY V KOOU PMI-80) 02AD C5 PUSH B DOCASNE UCHOVANI BC V ZASOB.1F07:0500 0400 0300 0200 0100 02AE CDCA02 CALL 02CAH PODPROGRAM CTENI ADRESY ZASOBNIKU, UCHOVAVAJICI OBSAHY REGISTROVYCH PARU ---------------------------------------------------------------- 02CA 213901 LXI H,0139H ADRESA DALSI TABULKY HL:0139 0139 0139 0139 0139 02CD 0600 MVI B,00 VYNULOVANI REGISTRU B,POTOM BC:0005 0004 0003 0002 0001 02CF 09 DAD B VYTVORENI ADRESY V TABULCE HL:013E 013D 013C 013B 013A 02D0 6E MOV L,M NIZSI BYTE ADRESY ZASOBNIKU L : DD DB D9 DF E4 02D1 261F MVI H,1FH VYSSI BYTE ADRESY ZASOBNIKU HL:1FDD 1FDB 1FD9 1FDF 1FE4 02D3 C9 RET NA NIZ JSOU UCHOVANY OBSAHY REGISTROVYCH PARU ---------------------------------------------------------------- 0281 E5 PUSH H DOCASNE UCHOVANI HL V ZASOB 1FD5:DD1F DB1F D91F DF1F E41F 0282 4E MOV C,M OBSAH PRAVEHO REGISTRU PARU C : FF CC EE LL SPL 02B3 23 INX H ZVETSENI ADRESY ZASOBNIKU HL:1FDE 1FDC 1FDA 1FE0 1FE5
02B4 66 MOV H,M OBSAH LEVEHO REGISTRU Z PARU H :AA BB DD HH SPH 02B5 69 MOV L,C PRENOS OBSAHU PRAVEHO REG. DO HL:AAFF BBCC DDEE HHLL SPSP 0286 22F81F SHLD 1FF8H OBSAH REG.PARU DO ZAS.MONIT.1FF8:FFAA CCB8 EEDD LLHH SPSP 0289 CDD700 CALL MODAD ZOBR. REG.PARU,ZMENA OBSAHU 1FF8:F7A7 C7B7 E7D7 L7H7 77SP 02BC D1 POP D ADRESA ZASOB.PAMETI REGIST. DE:1FDD 1FDB 1FD9 1FDF 1FE4 02BD 7D MOV A,L OBSAH PRAVEHO REGISTRU DO A : F7 C7 E7 L7 77 02BE 12 STAX D A JEHO UCHOVANI V ZASOBNIKU (DE): F7 C7 E7 L7 77 02BF 13 INX D ZVETSENI ADRESY ZASOB.PAMETI DE:1FDE 1FDC 1FDA 1FE0 1EE5 02C0 7C MOV A,H OBSAH LEVEHO REGISTRU DO A :A7 B7 D7 H7 SP 02C1 12 STAX D A JEHO UCHOVANI V ZASOBNIKU (DE):A7 B7 D7 H7 SP 02C2 C1 POP B NAVRAT BC ZE ZASOBNIKU BC:0005 0004 0003 0002 0001 02C3 0D DCR C ZMENSENI CITACE REGISTRU BC:0004 0003 0002 0001 0000 02C4 C29C02 JNZ 029CH SKOK NA ZOBR. DALSIHO REG. PARU 02C7 C34F00 JMP 004FH KONEC PROCEDURY, NAVRAT DO MONITORU PROCEDURA TIN, PRIKLAD CTENI ZAVADECIHO TONU (ASI 21,6 MS) A BYTU CISLA BLOKU ZAZNAMU NA MGP 0300 0608 TIN: MVI B,08 POCITADLO BITU CTENEHO BYTU B :08 0302 1600 MVI D,00 VYNULOVANI CITACE DELKY BITU D :00 (CITAC DELKY TRVANI ZAZNAMU JEDNOHO BITU NA MGP) 0304 CD4203 CTE1: CALL INBIT CTENI SIGNALU Z MAGNETOFONU CY=0 030A CD4203 CALL INBIT CY=0,CTENA 0 NEBO MEZERA CY=0 0310 CD4203 CTE0: CALL INBIT CY=0,CTENA MEZERA CY=0...0 1 * DRUHY A DALSI PRUCHOD PROCEDUROU 0316 CD4203 CALL INBIT CY=1,NAHODNA NEBO ZAVAD. TON CY: 1(ZAV.TON DELKY 21,6MS)* (START BIT) * ( 1 VYZN.BIT) 031C 15 CTE1: DCR D CY=1,ZAVADECI TON,-l DO D : FF FE...01 00 FF...F2*F1 F0...CF CE*CD CC...AB AA 031D CD4203 CALL INBIT ZAV.TON+START+VYZN. 1 BITY CY: 1 1 1 1 1 1 *1 1 1 0 *1 1 1 0 0323 CD4203 CALL INBIT CY=0,DROP OUT, CTE DALE CY: ZAV.TON: 256+15 VZORKU * 0 * 0 0329 14 CTE0: INR 9 CY=0,VYZN. 0 +ST0P BIT,+1 DO D : 17 16...01 00 FF...F3*F2 F1...D0 CF* AB 032A CD4203 CALL INBIT CTENI VYZN. 0 + STOP BITU CY: 0 0 0 0 0 0 *0 0 0 0 *0 0 0 0 032D D22903 JNC K-4 CY=0, CTE DALE 0 STOP BIT(0),24H VZORKU * 0 VYZN. *CD CC...AC AB 0330 CD4203 CALL INBIT CY=1,NAHODNE, POKRACUJ * * STOP BIT (0) 0333 D22903 JNC x-10 CY=0,CTE DALE 0 0336 7A MOV A,D CY=1,OBSAH D SE MUZE MENIT A :CD DB DB 24 24 24 24 24 0337 17 RAL NASTAVENI CY CTENYM BITEM CY,A:1,9A 1,B6 1,B6 0,48 0,48 0,48 0,48 0,48 0338 79 MOV A,C NACTENI PREDCHOZIHO OBSAHU A : 00 80 C0 E0 70 38 1C 0E 0339 1F RAR CY=CTENY BIT ZPET DO STRANCE A : 80 C0 E0 70 38 1C 0E 07 033A 4F MOV C,A A JEHO UCHOVANI V REGISTRU C : 80 C0 E0 70 38 1C 0E 07 033B 1600 MVI D,00 NASTAVENI CITACE DELKY BITU D :00 033D 05 DCR B ZMENSENI POCITADLA BITU B :07 06 05 04 03 02 01 00 0341 C9 RET KONEC CTENI BYTU,NAVRAT,NACTENY BYTE JE ULOZEN V REGISTRU C: RET,C:07 29
PROCEDURA TIN PRO 1. BYTE DAT (36H) ZA CISLEM BLOKU ZAZNAMU (07) NA MGP 0300 0608 TIN: MVI B,08 POCITADLO BITU V BYTU B :08 0302 1600 MVI D,00 CITAC DELKY ZAZNAMU BITU 0304 CD4203 CTE1: CALL INBIT CTE 9.START BIT CISLA BLOKU CY:1 0...1 0 030A CD4203 CALL INBIT CY=0,DR0UP OUT NEBO 0 VYZN. CY: 1 0 0310 CD4203 CTE0: CALL INBIT CTE VYZN. 0 NEBO STOP PIT CY: 0 0...0 1 0316 CD4203 CALL INBIT CY=1,NAHODNA NEBO START BIT CY: 1 031C 15 CTE1: DCR D CY=1,START BIT l.bitu l.bytu D : FF FE...DD DC*DB DA...B8 B7* 031D CD4203 CALL INBIT CTE START BIT A 1 VYZN.BIT CY: 1 1...1 0/1*1 1...1 0 * 0323 CD4203 CALL INBIT CY=0,DROP OUT NEBO VYZN.O CY: 0 * 0 * 0329 14 CTE0: INR D CY=0,ZVETSENI CITACE DELKY D : 24 23...02 01*00 FF...DE DD* *B8 B9...DA DB 032A CD4203 CALL INBIT CTENI VYZN 0 A STOP BITU CY: 0 0...0 0 *0 0...0 0 * *0 0...0 0 032D D22903 JNC x-4 CY=0,CTE 0,SK0K DO CYKLU (STOP BIT + 0 VYZN.BIT) * 0330 CD4203 CALL INBIT CY=1,NAHODNA NEBO DALSI START BIT 0333 D22903 JNC x-10 CY=0,CTE 0,SK0K DO CYKLU 0337 17 RAL NASTAVI CY CTENOU 1 CI 0 CY,A:0,48 1.B6 1,B6 0,48 1,B6 1,B6 0,48 0,48 0338 79 MOV A,C NACTENI PREDCHOZIHO OBSAHU A : 07 03 81 C0 60 B0 DB 6C 0339 1F RAR BIT Z CY ZPET DO STRADACE A : 03 81 C0 60 B0 D8 6C 36 033A 4F MOV C,A UCHOVANI NOVEHO OBSAHU A V C : 03 81 C0 60 B0 D8 6C 36 033B 1600 MVI D,00 NASTAVENI CITACE DELKY BITU D : 00 033D 05 DCR B ZMENSENI POCITADLA BITU B :07 06 05 04 03 02 01 00 0341 C9 RET KONEC CTENI BYTU,NAVRAT DO PROCEDURY LOAD,NACTENY BYTE JE V REGISTRU C: RET,C:36 KONEC PROCEDURY TIN CITAC DELKY BITU V D MUZE NABYVAT HODNOTY KOLEM (00-24H)=DC, JE-LI CTENA 1, T.J. HODNOT. DO, DC, DB A HODNOT KOLEM (00+24H)=24 PRI CTENI 0, T.J. 23, 24, 25. JE TO DANO MOZMYM KOLISANIM DELKY ZAZNAMU BITU NA MGP FUNKCE S SAVE PMI-80 UMOZNUJE UCHOVAT NA MAGNETOFONU AZ 256 BYTU DAT, ZAZNAM FAZOVOU MODULACI 034C 3E05 SAVE: MVI A,05H ZKRATKA PROCEDURY S DO A :05 034E CDAB00 CALL CLEAR PRIPRAVA ZOBRAZENI = S... 0351 CDD700 CALL MODAD ZOBRAZENI A URCENI ADRESY 1FF8:1C00 OD NIZ SE BUOOU DATA ZAZNAMENAVAT 0354 CDFB00 CALL MODDA URCENI CISLA BLOKU ZAZNAMU 1FFA:07 - TOTO CISLO IDENTIFIKUJE ZAZNAM NA MAGNETOFONU 0357 219500 LXI H,0095H ADRESA ZPRAVY MG RUN DO HL:0095 035A 22FC1F SHLD 1FFCH A JEJI ULOZENI DO ZASOBNIKU 035D CD1601 CALL OUTKE ZOBR. MG RUN,CEKA NA POTVRZENI ZPRAVY LIBOVOLNOU KLAVESOU (MIMO.RE+I) 0360 3E23 MVI A,23H ZNAK O V KOOU SEGMENTOVEK A :23 79
HLDA - 01 02 - +5V INT - 03 04 - I/OW - 05 06 - WAIT - 07 08 - INTE A0-09 10 - HOLD A1-11 12 - GND A2-13 14 - +12V +12V - 15 16 - RESET A3-17 18 - -5V A4-19 20 - -5V A5-21 22 - INTA A6-23 24 - A7-25 26 - A8-27 28 - A9 A9-29 30 - A15-31 32 - A12-33 34 - GND A13-35 36 - CS6 A14-37 38 - CS5 A11-39 40 - A10 MR - 41 42 - CS2 CS4-43 44 - CS3-45 46 - DB0 DB1-47 48 - +5V - 49 50 - DB2 RDYIN - 51 52 - CSC DB5-53 54 - DB3 DB6-55 56 - I/OR - 57 58 - DB7 2 TTL - 59 60 - STSB DB4-61 62 - MW PB3-01 02 - PB2 PB4-03 04 - PB1 FB5-05 06 - FB0 PB6-07 08 - PC3 PB7-09 10 - PC2 PC1-11 12 - GND FC0-13 14 - PC4-15 16 - PC5-17 18 - PC6-19 20 - PC7-21 22 - - 23 24 - - 25 26 - - 27 28 - - 29 30 - - 31 32 - PA7-33 34 - PA0 PA6-35 36 - PA1 PA5-37 38 - PA2 PA4-39 40 - PA3 PB7-41 42 - PB6 PB5-43 44 - PB4 PB3-45 46 - PB2 PB1-47 48 - PB0 K3: 1 - MGIN 2 - GND 3 - MGOUT - 0362 D3F8 OUT PA A JEHO VYSLANI DO PORTU A PA:23 0364 3E0F MVI A,0FH ADRESA LEVE SEGMENTOVKY 00 A :0F 0366 D3FA OUT PC KOD POZICE LEVE SEGMENTOVKY PC:0F 0368 16F0 MVI D,0F0H DELKA UVODNIHO TONU ZAZNAMU D :F0 =240 PULPERIOD X 90 MKSEC = 21,60 MSEC 036A 3EC7 MVI A,0C7H MASKA ZAVADECIHO TONU A :C7 036C CDF002 CALL 02F0H ZAZNAM ZAVADECIHO TONU 036F 3AFA1F LDA 1FFAH CISLO BLOKU ZAZNAMJ A :07 0372 4F MOV C,A JE ULOZENO DO VYSTUP.REG C :07 0373 CDD402 CALL TOUT A ZAZNAMENANO NA MAGNETOFON PRIKLAD ROTACE BYTU 07 VE STRADACI A CY, OUT PA 0376 3E10 MVI A,10H SYMBOL ZAZNAMU T (TAPE) DO A :10 BIT 07 00000111 0 0378 CDAB00 CALL CLEAR PRIPRAVA ZOBRAZENI,T... 0. 03 00000011 1 C7 037B 2AF81F LHLD 1FF8H ADRESA 1.BYTU DAT DO HL:1C00 1. 81 10000001 1 C7 037E 4E MOV C,M BYTE DAT DO VYST.REGISTRU C :BD 2. C0 11000000 1 C7 037F CDD402 CALL TOUT A JEHO ZAZNAM NA MAGNETOFON 3. E0 11100000 0 47 0302 2C INR L ADRESA NASLEDUJICIHO BYTU DAT HL:1C01 4. 70 01110000 0 47 0383 C27E03 JNZ 037E CYKL AZ DO VYNULOVANI REG. L 5. 38 00111000 0 47 0386 219E00 LXI H,009EH ADRESA ZPRAVY MG STOP HL:009E 6. 1C 00011100 0 47 0389 C34300 JMP 0043H SKOK DO MONITORU S VYPISEM ZPRAVY MG STOP 7. 0E 00001110 0 47 ----------------------------------------------------------------- 8. 07 00000111 0 47 02D4 0609 TOUT: MVI B.09H POCITADLO BITU, 8+1 B :09 (BIT NAVIC JE ODDELOVACI PRO SYNCHRONIZACI CTENI V TIN) 02D6 3EC7 MVI A,0C7H MASKA START BITU ZAZNAMU A :C7 C7 C7 C7 C7 C7 C7 C7 C7 02D8 CDEE02 CALL 02EE ZAZNAM START BITU LOG:1 1 1 1 1 1 1 1 1 02DB 79 MOV A,C VYST. REGISTR PREPSAN DO A :07 03 81 C0 E0 70 38 1C 0E 02DC 1F RAR POSUV VPRAVO PRES CY: A,CY:03,1 81,1 C0,1 E0,0 70,0 38,0 1C,0 0E,0 07,0 02DD 4F MOV C,A VYSLEDEK ZPET DO VYST.REG. C :03 61 CO EO 70 38 1C 0E 07 02DE 3E8F MVI A,8FH MASKA VYZNAMOVEHO BITU A :8F 8F 8F 8F 8F 8F 8F 8F 8F 02E0 1F RAR ROTACE VPRAVO PRES CY, A :C7 C7 C7 47 47 47 47 47 47 02E1 CDEE02 CALL 02EE ZAZNAM VYZNAMOVEHO BITU LOG:1 1 1 0 e 0 0 0 0 02E4 3E47 MVI A,47H MASKA STOP BITU A :47 47 47 47 47 47 47 47 47 02E6 CDEE02 CALL 02EE ZAZNAM STOP BITU LOG:0 0 0 0 0 0 0 0 0 02E9 05 DCR B ZMENSENI POCIT.BITU PRENOSU B :08 07 06 05 04 03 02 01 00 02ED C9 RET B=0,ZAPSAN BYTE+ODDELOVACI BIT _---- ---- ---- -- -- -- -- -- -- --... ----------------------------------------------------------------- 1 1 1 0 0 0 0 O (VYZN.BITY) 02EE 1620 MVI D,20H POCET PULPERIOD ZAZNAM TONU D :20 (PRIKLAD ZAZNAMU START BITU = LOG 1) 02F0 03F8 OUT PA VYSTUP DAT DO PORTU A PA:C7 87 C7 87 C7 87 C7 87... C7 87 02F2 1E04 MVI E,04H DOBA PULPERIODY TONU (ASI 90 MIKROSEKUND) 02F4 10 DCR E CYKL VYTVARENI TONU 1 0 1 0 1 0 1 0... 1 0 02F5 C2F402 JNZ 02F4 (PA7 X PA6) VYTVAREJI VYSTUP ----- ----- ----- -----... ----- 02F8 EE40 XRI 40H DOPLNEK BITU A6 STRADACE A :87 C7 87 C7 87 C7 87 C7... 87 C7 02FA 15 DCR D ZMENSENI POCIT.PERIOD TONU D :1F 1E 10 1C 1B 1A 19 18... 01 00 02FB C2F002 JNZ 02F0H SKOK NA ZAZNAM OPACNE PULPERIODY 02FE C9 RET D=0,KONEC ZAZNAMU BITU (20H=32D PULPERIOO: X 90MKSEC = 2,88MSEC -TRVANI ZAZMAMU BITU) ----------------------------------------------------------------- 02EE 1620 MVI D,20H POCET PULPERIOD ZAZNAM.TONU D :20 (PRIKLAD ZAZNAMU STOP BITU = LOG 0) 02F0 D3F8 OUT PA VYSTUP DAT DO PORTU A PA:47 07 47 07 47 07 47 07... 47 07 31
02F2 1E04 MVI E,04H DOBA PULPERIODY TONU 02F4 1D DCR E CYKL VYTVARENI TONU 0 0 0 0 0 0 0 0... 0 0 02F5 C2F402 JNZ 02F4H VYSTUP (PA7 X PA6) 02F8 EE40 XRI 40H DOPLNEK BITU A6 STRADACE A :47 07 47 07 47 07 47 07... 47 07 02FA 15 DCR D ZMENSENI POCIT>PERIOD TONU D :1F 1E 1D 1C 1B 1A 19 18... 01 00 02FB C2F002 JNZ 02F0H SKOK NA ZAZNAM OPACNE PULPERIODY 02FE C9 RET D=0, KONEC ZAZNAMU BITU KONEC PROCEDURY FUNKCE SAVE FUNKCE L LOAD PMI-80 UMOZNUJE CTENI AZ 256 BYTU DAT Z MAGNETOFONU, ZAZNAMENANYCH FAZOVOU MODULACI ZAVADECI TON TRVA ASI 21,6 MSEC, START BIT - VYZNAMOVY BIT - STOP BIT ASI 2,88 MSEC KAZDY 038C 3E14 LOAD: MVI A,14H ZKRATKA PROCEDURY L DO A :14 038E CDAB00 CALL CLEAR PRIPRAVA ZOBRAZENI L... 0391 CDD700 CALL MODAD URCENI ADRESY UKLADANI DAT 1FF8:001C -PRIKLAD ZVOLENE ADRESY: 1C00 0394 CDFB00 CALL MODDA URCENI CISLA CLCKU ZA7NAMU 1FFA:07 -PRIKLAD CISLA STEJNEHO JAKO PRI SAVE 0397 219500 LXI H,0095H ADRESA ZPRAVY MC-RUN HL:0095 039A 22FC1F SHLD 1FFCH JE UCHOVANA VE VYST REGIST. 1FFC:9500 039D CD1601 CALL OUTKE ZOBRAZENI, PROGRAM CEKA NA POTVRZENI ZPRAVY MC-RUN STLACENIM LIBOVOLNE KLAVESY (MIMO=RE+I) 03A0 2AF81F LHLD 1FF8H ADRESA UKLADANI DAT DO HL:1C00 03A3 3E07 MVI A,07H SYMBOL T V KODU SEGMENTOVEK A :07 03A5 D3F8 OUT PA JE VYSLAN DO PORTU A PA:07 03A7 3E0F MVI A,0FH KOD POZICE LEVE SEGMENTOVKY A :0F 03A9 D3FA OUT PC JE VYSLAN DO PORTU C PC:0F DISP T... 03AB 1600 MVI D,A0H KONSTATNTA MINIMALNI MEZERY D :A0 MEZI BLOKY DAT NEBO PRED 1. BLOKEM DAT 03AD CD4203 CALL INBIT CTENI ZACATKU MGP NEBO MEZERY MEZI BLOKY ZAZNAMU NA MGP 03B0 DAAB03 JC x-5 CY=1,PRI CTENI BLOKU S NIZSIM CISLEM NEZ OCEKAVANY BLOK -SKOK PRI CTENI LOG 1 03B3 15 DCR D CY=0,CTENA LOG 0 BLOKU ZAZNAMU S NIZSIM CISLEM, NEBO CTENA MEZERA MEZI BLOKY (ZACATEK MGP) 0387 CD0003 CALL TIN D=0,POKRACUJE CTENI MEZERY, ZAVADECIHO TONU BLOKU DAT A BYTU S CISLEM TOHOTO BLOKU 03BA 3AFA1F LDA 1FFAH CISLO BLOKU ZAZNAMENANYCH DAT A :07 038D B9 CMP C SROVNANO S PRECTENYM CISLEM A :? 03BE C2CC03 JN2 03CCH Z=0, JE RUZNE, PODEJ ZPRAVU 03C1 CD0003 CALL TIN Z=1, JE STEJNE, CTE SE ZAZNAM 03C4 71 MOV M,C A ZAPISE BYTE DO PAMETI 03C5 2C INR L ZVETSI SE ADRESA PAMETI 03C9 C38603 JMP 0386H L=00, KONEC CTENI, SKOK NA VYPIS ZPRAVY MG-STOP, KONEC PROCEDURY ----------------------------------------------------------------- 03CC DAE703 JC 03E7H CY=1, CISLO OCEK.BLOKU (A)<(C) CISLO CTENEHO BLOKU 03CF 3E0F MVI A,OFH CY=0, ZNAK F DO STRADACE A :0F 03D1 CDABOO CALL CLEAR PRIPRAVA ZOBRAZENI=F... 03D4 79 MOV A,C CISLO CTENEHO BLOKU DO A :01 02 03 04 05 06 03D5 01F61F LXI B,1FF6H ADRESA 8.+9. SEGMENTOVKY BC:1FF6 03D8 CDC600 CALL 00C6 PRIPRAVA ZOBRAZENI CISLA BLOKU MGP V POLI DAT DISPLEJE 03DB 21EF1F LXI H,1FEFH ADRESA LEVE SEGMENTOVKY HL:1FEF 32 77
03DE 22FC1F SHLD 1FFCH UCHOVANA VE VYST.REG.ZASOB. 1FFC:EF1F 03E1 CD1601 CALL OUTKE ZOBRAZENI,ODMITNUTI BLOKU:F 1C00:01...02...03...04..05...06 STLACENIM LIBOVOLNE KLAVESY 03E4 C3A003 JMP 03A0H POKRACUJE CTENI DAT 03E7 21ED03 LXI H,03EDH ADRESA ZPRAVY: MG-SPAT DO HL:03ED 03EA C39A03 JMP 039AH SKOK NA ZOBRAZENI ZPRAVY, VRACENI PASKY NA ZACATEK, NOVE CTENI PO STLACENI KLAVESY (MIMO RE+I) -------------------------------PODPROGRAM CTENI JEDNOHO BITU Z MAGNETOFONU 0342 1E02 INBIT:MVI E,02 CITAC PRO VZORKOVANI SIGNALU E :02 01 START BIT: 2880/80 =36D VZORKU 0344 1D DCR E Z MAGNETOFONU KAZDYCH ASI E :01 00 VYZN BIT: - - =24H VZORKU 0348 DBFA IN PC E=0, CTENI VZORKU SIGNALU A :X0000000, CY=Y 034A 17 RAL POSUN VLEVO PRES CY BIT CY: X,A :0000000Y X=1, START BIT NEBO 1 VYZNAMOVY BIT 034B C9 RET NAVRAT DO VOLAJICIHO PROGRAMU X=0, 0 VYZNAMOVY BIT NEBO STOP BIT PRUMERNA DOBA VZORKOVANI JE DANA CASEM PROVEDENI PP INBIT (55 MKSEC) A VOLANIM TOHOTO PP SE SKOKY (25 MKSEC) 76 33
0095 1E TMGRN: DB 1E 0096 1E DB 16 M 0097 20 DB 20 G 0098 19 DB 19 SP 0099 19 DB 19 SP 009A 12 DB 12 R 009B 15 DB 15 U 009C 1B DB 1B N 009D 1E DB 1E 009E 1E TMGSP: DB 1E 009F 16 DB 16 M 00A0 20 DB 20 G 00A1 19 DB 19 SP 00A2 05 DB 05 S(5) 00A3 10 DB 10 T 00A4 11 DB 11 o 00A5 13 DB 13 P 00A6 IE DB 1E 00A7 FF DB FF 00A0 FF DB FF 00A9 FF DB FF 00AA FF DB FF 012B 08 TSFK: DB 08 SP 012C 09 DB 09 HL 012D 0D DB 0D DE 012E 0B DB 0B BC 012F 0A DB 0A AF (PSW) 0130 13 DB 13 P 0131 14 DB 14 L 0132 0E DB 0E E 0133 0C DB 0C C 0134 0F DB 0F F 0135 05 DB 05 S 0136 1A DB 1A H 0137 0D DB 0D D 0138 0B DB 0B B 0139 0A DB 0A A 013A E4 TAR: DB E4 DOLNI BYTE ADRESY PRO SP 013B DF DB DF HL 013C D9 DB D9 DE 013D DB DB DB BC 013E DD DB DD AF 013F FF DB FF 34 75
01A4 84 DB 4 01A5 88 DB 8 01A6 91 DB EX 01A7 8D D8 D 01A8 8C DB C 01A9 89 DB 9 01AA 85 DB 5 01AB 81 DB 1 01AD 86 DB 6 01AE 8A DB A 01AF 9A DB R 01B0 8F DB F 01B1 8E DB E 01B2 8B DB B 01B3 87 DB 7 01B4 83 DB 3 01B6 94 DB S 01B7 93 DB L 01B8 FF DB FFH 01B9 97 DB BR 01BA 92 DB M 01BB FF DB FFH 01BC FF DB FFH 01BD 90 DB = TABULKA PREVODU NA SEDMISEGMENTOVY ZOBRAZOVAC 01BE ZNAKY 40 79 24 30 19 12 02 78 00 10 08 03 46 21 06 0E 0 1 2 3 4 5 6 7 8 9 A B C D E F 01CE 07 23 2F 0C 47 63 48 71 37 7F 09 2B 0B 2C 5D 3F 01DE ZNAKY 42 61 7B 11 FF FF FF FF FF G J, Y TABULKA ZAKLADNIHO OHLASENI 01E7 PMI -80 TABULKA CHYBOVYCH HLASENI 74 35
020C 72 00 DW MEMD 020F 29 02 DW EXEC 0212 5A 02 DW BREAK 0215 7E 02 DW REG 0218 4C 03 DW SAVE 021B 8C 03 DW LOAD 021D FF FF FF DB FFH,FFH,FFH TABULKA HLASENI BREAK HEX x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf 0x NOP STAX B INX B INR B DCR B RLC - DAD B LDAX B DCX B INR C DCR C RRC 1x - STAX D INX D INR D DCR D RAL - DAD D LDAX D DCX D INR E DCR E RAR 2x - INX H INR H DCR H DAA - DAD H DCX H INR L DCR L CMA 3x - INX SP INR M DCR M STC - DAD SP DCX SP INR A DCR A CMC 4x MOV B,B MOV B,C MOV B,D MOV B,E MOV B,H MOV B,L MOV B,M MOV B,A MOV C,B MOV C,C MOV C,D MOV C,E MOV C,H MOV C,L MOV C,M MOV C,A 5x MOV D,B MOV D,C MOV D,D MOV D,E MOV D,H MOV D,L MOV D,M MOV D,A MOV E,B MOV E,C MOV E,D MOV E,E MOV E,H MOV E,L MOV E,M MOV E,A 6x MOV H,B MOV H,C MOV H,D MOV H,E MOV H,H MOV H,L MOV H,M MOV H,A MOV L,B MOV L,C MOV L,D MOV L,E MOV L,H MOV L,L MOV L,M MOV L,A 7x MOV M,B MOV M,C MOV M,D MOV M,E MOV M,H MOV M,L HLT MOV M,A MOV A,B MOV A,C MOV A,D MOV A,E MOV A,H MOV A,L MOV A,M MOV A,A 8x ADD B ADD C ADD D ADD E ADD H ADD L ADD M ADD A ADC B ADC C ADC D ADC E ADC H ADC L ADC M ADC A 9x SUB B SUB C SUB D SUB E SUB H SUB L SUB M SUB A SBB B SBB C SBB D SBB E SBB H SBB L SBB M SBB A Ax ANA B ANA C ANA D ANA E ANA H ANA L ANA M ANA A XRA B XRA C XRA D XRA E XRA H XRA L XRA M XRA A Bx ORA B ORA C ORA D ORA E ORA H ORA L ORA M ORA A CMP B CMP C CMP D CMP E CMP H CMP L CMP M CMP A Cx RNZ POP B PUSH B RST 0 RZ RET X RST 1 Dx RNC POP D PUSH D RST 2 RC *RET - RST 3 Ex RPO POP H XTHL PUSH H RST 4 RPE PCHL XCHG - RST 5 Fx RP POP PSW DI PUSH PSW RST 6 RM SPHL EI - RST 7 36 73
72 ADC M 8E 1 DAD D 19 1 LDAX B 0A 1 MOV E,C 59 1 ORA D B2 1 SBB D 9A 1 ADD A 87 1 DAD H 29 1 LDAX D 1A 1 MOV E,D 5A 1 ORA E B3 1 SBB E 9B 1 ADD C 81 1 DCR A 3D 1 LXI B,D16 01 3 MOV E,H 5C 1 ORA L B5 1 SBB L 9D 1 ADD D 82 1 DCR B 05 1 LXI D,D16 11 3 MOV E,L 5D 1 ORA M B6 1 SBB M 9E 1 ADD E 83 1 DCR C 0D 1 LXI H,D16 21 3 MOV E,M 5E 1 ORI D8 F6 2 SBI D8 DE 2 ADD L 85 1 DCR E 1D 1 MOV A,A 7F 1 MOV H,B 60 1 PCHL E9 1 SIM 30 1 ADD M 86 1 DCR H 25 1 MOV A,B 78 1 MOV H,C 61 1 POP B C1 1 SPHL F9 1 ANA A A7 1 DCR M 35 1 MOV A,D 7A 1 MOV H,E 63 1 POP H E1 1 STAX B 02 1 ANA B A0 1 DCX B 0B 1 MOV A,E 7B 1 MOV H,H 64 1 POP PSW F1 1 STAX D 12 1 ANA C A1 1 DCX D 1B 1 MOV A,H 7C 1 MOV H,L 65 1 PUSH B C5 1 STC 37 1 ANA D A2 1 DCX H 2B 1 MOV A,L 7D 1 MOV H,M 66 1 PUSH D D5 1 SUB A 97 1 ANA E A3 1 DCX SP 3B 1 MOV A,M 7E 1 MOV L,A 6F 1 PUSH H E5 1 SUB B 90 1 ANA H A4 1 DI F3 1 MOV B,A 47 1 MOV L,B 68 1 PUSH PSW F5 1 SUB C 91 1 ANA L A5 1 EI FB 1 MOV B,B 40 1 MOV L,C 69 1 RAL 17 1 SUB D 92 1 ANA M A6 1 HLT 76 1 MOV B,C 41 1 MOV L,D 6A 1 RAR 1F 1 SUB E 93 1 ANI D8 E6 2 IN D8 DB 2 MOV B,D 42 1 MOV L,E 6B 1 RC D8 1 SUB H 94 1 CMA 2F 1 INR D 14 1 MOV B,M 46 1 MOV M,A 77 1 RM F8 1 XCHG EB 1 CMC 3F 1 INR E 1C 1 MOV C,A 4F 1 MOV M,B 70 1 RNC D0 1 XRA A AF 1 CMP A BF 1 INR H 24 1 MOV C,B 48 1 MOV M,C 71 1 RNZ C0 1 XRA B A8 1 CMP B B8 1 INR L 2C 1 MOV C,C 49 1 MOV M,D 72 1 RP F0 1 XRA C A9 1 CMP C B9 1 INR M 34 1 MOV C,D 4A 1 MOV M,E 73 1 RPE E8 1 XRA D AA 1 CMP D BA 1 INX B 03 1 MOV C,E 4B 1 MOV M,H 74 1 RPO E0 1 XRA E AB 1 CMP E BB 1 INX D 13 1 MOV C,H 4C 1 MOV M,L 75 1 RRC 0F 1 XRA H AC 1 CMP H BC 1 INX H 23 1 MOV C,L 4D 1 MVI A,D8 3E 2 RST 0 C7 1 XRA L AD 1 CMP L BD 1 INX SP 33 1 MOV C,M 4E 1 MVI B,D8 06 2 RST 1 CF 1 XRA M AE 1 000X XXXX 11XX XXX0 37
00H 01H 0FH 0 9 A F FFH FFH FFH 03H 0EH FFH FFH atd. E 00010 - - - - - - - - 1E27 C9 RET 1E28 24 01 13 FF TAB: DB A, H, C, C 1E2C 50 33 3C 1C D, E, F, G 1E30 9E 80 6A 53 G, A, H, C 1E34 FF E0 C0 B0 C, D, E, F KONEC 26 +5V 25 28-5V 27 30 +12V 29 71
A = 0A, G = 20, M = 16, S = 05, Z = 02, B = 0B, H = 1A, N = 1B, T = 10, = = 18, C = 0C, I = 01, O = 11, U = 15, - = 1F, D = 0D, J = 21, P = 13, V = 8E, = 1E, E = 0E, K = 85, Q = 43, X = 9B,, = 22, F = 0F, L = 14, R = 12, Y = 23,? = 1D EX:1E00= - - - - - 39
01 10 1D00H. 01H 02H 03H 00H 1C00H - - - - - - - - - - - - - - - n 69
- - - - - - - - - - - - - - KONEC n U v yst = U vst 2 n -1 U analog = U vst 2 n -1 n K i i=1 2 i 1 0 1 vst 41
vst U 1000 1100 1010 1011 vst 00H FFH 1FFAH RE I 42 - - - KONEC EX:1CB0= - - - - - - - - 67
- 1C6D 05 DCR B - 66 - - - - - 1C82 0D DCR C - - 1C8D 2B DCX H - - - - - - - 1C00H 43
44 I R4max = U R BET1 2 25mA R 4 (R 2 +R 3 ) 1C00H do 1CFFH EX 1E00 I 0008H R B 1C00H 1CFFH 0100H na adrese 1E70H na 02H 1C15 D3 FB OUT FBH 1C17 DB F9 T10: IN F9H A <- PB 1C19 0F RRC 1C1A 0F RRC CY <- D1 1C1B 23 INX H 1C1C D2 17 1C JNC T10 1C22 22 F8 1F SHLD 1FF8H 1C25 CD BB 00 CALL OUTAD 1C2E 3E 00 WAIT: MVI A,0 1C30 3D W5: DCR A 1C31 C2 30 1C JNZ W5 1C34 C9 RET 1C35 7D UPRAVA: MOV A,L 1C38 6F MOV L,A 1C39 7C MOV A,H 1C3C 67 MOV H,A 1C3D C9 RET 0 EX:1C60= - - - - - 65
1E59 3E 40 MVI A,40H 1E5F 21 E0 FF LXI H,FFE0H 1E62 11 01 00 LXI D,0001H 1E65 19 CEK: DAD D HL <- HL+DE 1E66 D2 65 1E JNC CEK 1E69 C3 5B 1E JMP BLIK 1E6C 03 POKR: INX B 1E6D 23 INX H 1E6E 78 MOV A,B 1E71 C2 0C 1E JNZ PROG1 1E74 3E 00 MVI A,0 1E76 D3 F6 OUT PC 1E79 3D TIME: DCR A 1E7A C2 79 1E JNZ TIME 1E7D C9 RET 64 EPAD ZAR 0000H 01H 0100H 02H 0200H 03H 0300H 04H 1C02 CD AB 00 CALL CLEAR 1C07 D3 FB OUT CWR IO10 u C (t) = U (1 e t RC ) 1 2 t 1 t 2 = 1 2 = R 1 C 1 R 2 C 2 29. 45
EX 1C60 = 0 1E05 D3 F7 OUT CWR 1E0C 79 PROG1: MOV A,C A <- AL 1E0D D3 F5 OUT PB 1E0F 78 MOV A,B A <- AH 1E10 E6 20 ORI 20H A <- A v 0010 0000 1E12 D3 F6 OUT PC PC <- AH, D=1 1E16 7E PROG2: MOV A,M A <- (HL) 1E19 3E 04 MVI A,04H 1E1E 78 MOV A,B A <- AH 1E1F E6 A0 ORI A0H P <- 1 (+24V) 1E21 D3 F6 OUT PC 1E23 3E 18 MVI A,18H 1E28 78 MOV A,B 1E29 E6 20 ORI 20H P <- 0 1E2B D3 F6 OUT PC 1E2D 3E 04 MVI A,04H 1E32 78 MOV A,B 1E33 E6 60 ORI 60H [WE] = 0V 1E35 3E 04 MVI A,04H 1E3C D3 F7 OUT CWR 1E40 57 MOV D,A 1E43 D3 F7 OUT CWR 1E45 78 MOV A,B 1E46 E6 20 ORI 20H [WE] = 12V 1E48 D3 F6 OUT PC 1E50 C2 16 1E JNZ PROG2 46 63
1D00 01 30 08 01 30 06 01 30 04 01 20 05 01 20 07 01 1D10 20 09 10 30 08 10 30 06 10 30 04 00 1F0D DB F5 IN 0F5H B0 <- KOMP 1F0F 1F RAR CY <- KOMP 1F30 7A W5: MOV A,D 1F31 B3 ORA E 1F32 1B DCX D 1F33 C2 30 1F JNZ W5 1F36 C9 RET RE 62 47
1C00 3E 88 MVI A,88 1C04 21 00 1D LXI H,1D00 1C07 01 FF 1F LXI B,1FFF 1C0A 56 MOV D,M D <- (HL) = B1 1C0B 3E 00 MVI A,00 1C11 23 INX H 1C12 5E MOV E,M E <- (HL) = B2 1C13 23 INX H 1C15 D3 01 OUT 01 1C1B 3E FF MVI A,FF 1C1D D3 01 OUT 01 1C1F 3E 03 MVI A,03 1C21 CD 30 1C CALL 1C30 1C24 C3 14 1C JMP 1C14 1C27 FF RST 7 1C28 FF RST 7 1C29 FF RST 7 1C2A FF RST 7 1C2B FF RST 7 1C2C FF RST 7 1C2D FF RST 7 1C2E FF RST 7 1C2F FF RST 7 1C30 F5 PUSH PSW B3 1C31 78 MOV A,B 1C32 B1 ORA C 1C33 C2 43 1C JNZ 1C43 1C36 1D DCR E B2 <- D2-1 1C3B F1 POP PSW A <- B3 1C3C C1 POP B 1C43 0B DCX B 1C44 F1 POP PSW A <- B3 1C45 3D DCR A 1C4A FF RST 7 61
1E9B CD D2 1E CALL COMP HL == DE? 1E9E D2 AB 1E JNC KONEC 1EA1 23 INX H HL=HL+1 1EAB CD B1 1E KONEC: CALL CROUT 1EB3 CD 00 1F CALL LPRT 1EB8 C3 00 1F JMP LPRT 1EBD C3 00 1F JMP LPRT 1EC1 07 RLC 1EC2 07 RLC 1EC3 07 RLC 1EC4 07 RLC 1ECB F1 POP PSW 1ECC CD D8 1E CALL HEXAS 1ED2 7C COMP: MOV A,H 1ED3 BA CMP D 1ED5 7D MOV A,L 1ED6 BB CMP E 1ED7 C9 RET 1ED8 E6 0F HEXAS: ANI 0FH 1EDF 06 07 ADI A - 9-1 1EE1 C6 30 HX5: ADI 0 1EE3 4F MOV C,A 1EE4 C9 RET 49
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 HEX 0x 1x 2x 3x 4x 5x 6x 7x 0 0 0 0 x0 NUL DLE SP 0 @ P ` p 0 0 0 1 x1 SOH DC1! 1 A Q q 0 0 1 0 x2 STX DC2 2 B R 0 0 1 1 x3 ETX DC3 3 C S s 0 1 0 0 x4 EOT DC4 $ 4 D T 0 1 0 1 x5 ENQ NAK % 5 E U e u 0 1 1 0 x6 ACK SYN & 6 F V v 0 1 1 1 x7 BEL ETB 7 G v G w 1 0 0 0 x3 BS CAN ( 8 H X x 1 0 0 1 x9 HT EM ) 9 I Y y 1 0 1 0 xa LF SUB * : J Z z 1 0 1 1 xb VT ESC + K [ { 1 1 0 0 xc FF FS, < L \ l 1 1 0 1 xd CR GS - = M ] } 1 1 1 0 xe SO RS. > N - 1 1 1 1 xf SI US /? 0 _ o DEL 1E8C 7C MOV A,H 1E90 7D MOV A,L 59
1F03 F5 PUSH PSW 1F04 DB F6 LP: IN F6H A <- PC 1F06 E6 01 ANI 01H 1F0B F1 POP PSW 1F0C C9 RET 1F13 D3 F7 OUT F7H 1F15 C9 RET 1FD9 1FDA D 1FDB 1FDC 1FDD 1FDE 1FDF 1FE0 1FE1 1FE2 1FE3 1FE4 1FE5 1FE6 1FE7 1FE8 1FE9 1FEA 1FEB 1FEC 1FED 1FEE 1FEF 1FF0 1FF1 1FF2 1FF3 1FF4 1FF5 1FF6 1FF7 lff8 1FF9 1FFA 1FFB 1FFC 1FFD 1FFE 1FFF 51
1C00 3A 00 1F 4F 3A 02 1F 81 32 04 1F C3 00 00 00000 00 10000 10 5 T 00001 01 3 E 10001 11 + Z 00010 02 LF 10010 12 ) L 00011 03 - A 10011 13 2 W 00100 04 SP 10100 14 H 00101 05 S 10101 15 6 Y 00110 06 8 I 10110 16 0 P 00111 07 7 U 10111 17 1 Q 01000 08 CR 11000 18 9 0 01001 09 D 11001 19? B 01010 0A 4 R 11010 1A G 01011 0D BEL J 11011 1B 1... 01100 0C, N 11100 1C. M 01101 0D F 11101 1D / X 01110 0E : C 11110 1E = V 01111 0F ( K 11111 1F A... 1D9B CA CB 1D JZ PRER 1DA0 CA CB 1D JZ PRER 1DA3 FE 00 CPI 00H 1DA5 CA 83 1D JZ CHR10 1DAD 26 00 MVI H,0 1DB5 E6 01 ANI 01H A <- 0000 000Z 1DB8 6F MOV L,A 1DBA 7E MOV A,M A <- HL 1DBB E1 POP H 1DBE B9 CMP C 1DC2 29 DAD H 1DC3 29 DAD H 1DC4 29 DAD H 1DCE C3 83 1D JMP CHR10 1DD5 C9 RET 52 57
1E07 D5 PUSH D 1E0D CD AC 1E CALL ZMENA 1E13 0E 09 MVI C, D 1E15 CD 24 1F CALL CO 1E1B D1 POP D 1E1C E1 POP H 1E1D CD 4B 1E CALL COMP HL<DE? 1E20 23 INX H 1E21 D2 00 00 JNC MONITOR 1E24 E5 PUSH H 1E25 D5 PUSH D 1E26 7E MOV A,M A <- (HL) 1E27 F5 PUSH PSW 1E28 07 RLC 1E29 07 RLC 1E2A 07 RLC 1E2B 07 RLC 1E2C E6 0F ANI 0FH 1E2F CD 80 1E CALL CHROUT 1E32 F1 POP PSW 1E33 E6 0F ANI 0FH 1E36 CD 80 1E CALL CHROUT 1E39 C3 18 1E JMP LOOP 1E3C 0E 08 CRLF: MVI C, CR 1E3E CD 24 1F CALL CO 1E41 0E 02 MVI C, LF 1E43 C3 24 1F JMP CO 1E46 0E 04 SPACE: MVI C, SP 1E48 C3 24 1F JMP CO 1E4B 7C COMP: MOV A,H 1E4C BA CMP D 1E4D C0 RNZ 1E4E 7D MOV A,L 1E4F BB CMP E 1E50 C9 RET 1E53 D3 FB OUT 0FBH 1E55 C9 RET 56 * 1F00 01 00 05 CI: LXI B,0500H B<-5, C<-0 1F03 DB F9 CI5: IN F9H A7<-PB7 1F05 07 RLC 1F0C DB F9 IN F9H 1F17 17 RAL 1F18 79 MOV A,C 1F1A 4F MOV C,A 1F1F 0F RRC 1F20 0F RRC 1F21 0F RRC 1F26 79 MOV A,C 1F27 07 RLC 1F2C 4F MOV C,A 53
1F34 79 MOV A,C 1F3A 00 NOP 1F3E 1B CEK: DCX D 1F3F 7A MOV A,D 1F40 B3 ORA E 1F41 C2 3E 1F JNZ CEK 1F44 C9 RET 1F48 C3 3E 1F JMP CEK 1E86 B9 CMP C (HL) = C? 1E87 CA 93 1E JZ SHODA 1E8A 78 MOV A,B 1E8B FE 40 CPI 40H B = 64? 1E8E 04 INR B 1E8F 23 INX H 1E94 1F RAR CY <- 0/1.../, 1 (A...) 1E95 F5 PUSH PSW 1E99 1F RAR 1E9A 07 RLC 1E9B 07 RLC 1E9C 07 RLC 1E9E 3A B5 1E LDA PAMZM 1EA1 07 RLC 1EA2 07 RLC 1EA8 4F MOV C,A 54 1EAC 79 ZMENA: MOV A,C 1EAD 0F RRC 1EBA FF FF 1EBC FF 0A 1EBE FF FF 1EC0 FF FF 1EC2 0* FF 1EC4 07 FF 1EC6 FF FF 1EC8 FF 0D 1ECA 04 FF 1ECC FF FF 1ECE FF FF 1ED0 FF 0F 1ED2 FF 0C 1ED4 FF FF 1ED6 05 FF 1ED8 FF FF 1EDA FF FF 1EDC 02 FF 1EDE FF FF 1EE0 06 FF 1EE2 00 FF 1EE4 01 FF 1EE6 09 FF 1EE8 FF 0B 1EEA FF FF 1EEC FF FF 1EEE FF FF 1EF0 FF FF 1EF2 FF FF 1EF4 FF FF 1E06 E5 PUSH H 55