Untitled - NOSTALCOMP

Transkript

Untitled - NOSTALCOMP
Obsah:
1.
strana
Ú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
15
D
7
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
1
3
1
2
CWR
X7
PC
X4
X5
X6
X9
8AH
88H
99
01111001=79H
1101
11
JMP
C3H
MVI
12
97
1
2
3
4
5
6
ENT:
ABC:
DATA:
ORG
JMP
LXI
MOV
EQU
END
1C00H
ABC
H,DATA
A,L
345AH
;
;
;
;
;
;
DEFINICE POC. ADRESY
SKOK NA NAVESTI ABC
VLOZI DO H DVA BYTE
DO A OBSAH L
DEFINICE PROMENNE DATA
UKONCI PREKLAD
1C00 C3 06 1C
1C03 21 5A 34
1C06 7D
1C06
CALL F61DH
1C00
1C03
1C06
1C09
96
C3 09 1C
21 5A 34
CD 1D F6
7D
13
PMI-80
ORG
LDA
1C00H
A1
; A <- X
LDA
A2
; A <- Y
STA
A3
; (A3) <- Z
A1
A3=1F04H.
A3
A1=1F00H A2=1F02H
EX 1C00 =
X=1CH Y=C6H
C6H+1CH=E2H.
1F04H
ADD C
14
A1=1F00H A2=1F02H
81H
1F04H
SUB C
91H
C6H-1CH=AAH
95
AND C ORA C
XRA C
00ABH
00F2H
00FBH
1C12 32 04 1F
0116H
ORG
1C00H
STA
1F04H ;
FFH
FFH
0140H
94
15
1C00 3E 19
ORG
MVI
1C00H
A,19H
1C05 3E 00
MVI
A,0
1C0C 00
L2:
NOP
1C14 C2 0C 1C
1C17 3A FA 1F
JNZ L2
LDA 1FFAH
1C1B 00
1C1C 32 FA 1F
1C1F C3 0A 1C
NOP
STA 1FFAH
JMP L1
1FFAH
DISP
1C1B
D
1C0BH na 80H
NOP
DAA =27H
DAA
A
09
0A
10
99.
I
RST7
I
EI
RST7
0038H
CALL 0038H
0038H
EI
DI
16
I
RST7
93
0038H
1FE6H
RET.
I
1C0CH
EI FBH
1FE6H
1FE6 C3 00 1D REST7: JMP PRER
1D00H
1D02 32 FA 1F
1D05 C9
STA 1FFAH
RET
I
DAA
1C00 3E 19
ORG
MVI
1C00H
A,19
1C07 32 FA 1F
STA
1FFAH
1C0D
1C10
1C13
1C14
1C17
CALL
CALL
DCR
JNZ
LDA
OUTDA
DISP
D
L2
1FFAH
JMP
L1
CD
CD
15
C2
3A
F2 00
40 01
0C 1C
FA 1F
1C24 C3 0A 1C
92
17
I
I
SEC na adrese 1C0B.
1
91
INTRA = IBF * INTE2 * STB * RD + OBF * INTE1 * ACK * WR
19
0116H
RE
0140H
I
01A3H
1000XXXXB
1001XXXXB.
21
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
---------------------------------------------------------------006D 4E
MOV C,M
;NIZSI BYTE ADRESY Z TAB. DO
C:72
29
5A
7E
006E 23
INX H
;ADRESA VYSSIHO BYTU V TAB.
HL:020D
0210
0213
0216
006F 66
MOV H,M
;VYSSI BYTE ADRESY Z TAB. DO
H:00
02
02
02
0070 69
MOV L,C
;NIZSI BYTE ADRESY Z C DO
HL:0072
0229
025A
027E
0071 E9
PCHL
;SKOK NA PROGRAM FUNKCE
PC:0072-M
0229-G
025A-B
027E-R
---------------------------------------------------------------;KONEC PROCEDURY RESET
4C
0219
03
034C
034C-S
8C
021C
03
038C
038C-L
- VIZ VYSE
;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,1FD9H;ADRESA 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
22
;
;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
23
03
7A
E60F
02
03
D1
C9
INX B
;DALSI ADR.VYST.REG.DISPLEJE
BC:1FF2
1FF4
1FF7
MOV A,D
;PUVODNI BYTE ADR. Z POM. REG. A:FE
DC
BD
ANI 0F
;PONECHANI PRAVE TETRADY
A:0E
0C
0D
STAX B
;ULOZENI DO VYST. REG. DISP. 1FF2:0E
1FF4:0C
1FF8:0D
INX B
;ADRESA DALSI SEGMENTOVKY
BC:1FF3
1FF5
1FF8
POP D
;NAVRAT PUVODNIHO OBSAHU DE
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
00CF
00D0
00D1
00D3
00D4
00D5
00D6
24
00B8 2B
00B9 77
00BA C9
DCX H
;E=0, ADRESA SEGMENTOVKY V,
HL:
1FEF
MOV M,A
;UCHOVANI OBSAHU STRADACE NA 1FEF:
AA
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
;
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
25
E5
DISP: PUSH H
C5
PUSH B
D5
PUSH D
110000
LXI D,0000
42
MOV B,D
7A
MOV A,D
32FE1F
STA STATUS
3E7F
LOOP1:MVI A,7F
D3F8
OUT PA
00
NOP
7B
MOV A,E
2F
CMA
D3FA
OUT PC
00
NOP
2AFC1F
LHLD UKBVF
19
DAD D
4E
MOV C,M
21BE01
LXI H,TPREV
09
DAD B
0140
0141
0142
0143
0146
0147
0148
014B
014D
014F
0150
0151
0152
0154
0155
0158
0159
015A
013D
;VYNULOVANI PARU DE
;VYNULOVANI REG. B
;VYNULOVANI REG. A
;VYNULOVANI BUNKY STATUS
;BYTE ZHASNUTI SEGMENTOVKY
;VYSTUP TOHOTO BYTU
;UKLIDNENI DATOVE SBERNICE
;ADRESA SEGMENTOVKY DO A
;DOPLNEK ADRESY PRO DEKOREM
;ADRESACE SEGMENTOVEK ZLEVA
;
;ADRESA ZPRAVY Z 1FFC DO HL
;HL+DE DO HL
;ZNAK ZPRAVY DO REG. C
;ADRESA TAB. PREVODU DO HL
;HL+BC DO HL
;KODY KLAVES DRUHE RADY TLACITEK
;KODY KLAVES TRETI (NEUPLNE) RADY TLACITEK
;ZPRAVA MONITORU PO RESET (“PMI -80”)
;ADRESA ZASOBNIKOVE PAMEETI
;UCHOVANI TETO ADRESY V ZASOBNIKU MONITORU
;ADRESA MONITORU UCHOVAVAJICI ADRESU ZPRAVY
CD4001
D21601
0F
4F
CD4001
DA1E01
CD4001
79
FE90
C9
0116
0119
011C
011D
011E
0121
0124
0127
0128
012A
A
A
PC
DE
HL
HL
BC
HL
HL
:00
:FF
:FF
:0000
:01E7
:01E7
:001E
:01BE
:01DC
02
FD
FD
0002
01E9
0016
01BE
0104
01E8
0013
01BE
01D1
01EA
0001
01BE
01BF
03
FC
FC
0003
01EB
0019
01BE
01D7
04
F8
FB
0004
01EC
001F
01BE
01DD
03
FA
FA
0005
01ED
0008
01BE
01C6
06
F9
F9
0006
01EE
0000
01BE
01BE
07
F8
F8
0007
01EF
001E
01BE
01DC
08
F7
F7
0008
NAVRATOVA ADRESA PROGRAMU VOLAJICIHO PROCEDURU DISP
LLHH
CCB6
EEDD
8A 9A 8F 8E 88 87 83
93 FF 97 92 FF FF 90
16 01 19 1F 08 00 1E
01
FE
FE
0001
01AC:82 86
0183:FF 94
01E7:1E 13
SP :1FD9
1FE4:D91F
1FFC:E701
SP :1FD7:
SP :1FD5:
SP :1FD3:
SP :1FD1:
DE :0000
B
:00
A
:00
1FFE:00
A
:7F
PA :7F
;
;PROCEDURA OUTKE PMI-80
OUTKE:CALL DISP
;ZOBRAZENI A TEST KLAVESNICE
JMC OUTKE
;CY=0, NEBYLA STLACENA KLAVESA
RRC
;CY=1, OBNOVENI OBSAHU STRADACE A:KOD KLAVESY
MOV C,A
;KOD KLAVESY DOCASNE DO REG.
C:KOD KLAVESY
CALL DISP
;TEST UVOLNENI KLAVESY
JC
x-3
;CY=1,NENI JESTE UVOLNENA
CALL DISP
;ZOBRAZENI A NASTAVENI CY
CY=1:PRIZNAK STLACENE KLAVESY JAKO JEDEN Z VYSTUPU PP OUTKE
MOV A,C
;KOD KLAVESY VRACEN DO REG.
A:KOD KLAVESY - DRUHY VYSTUP PP OUTKE
CPI 90H
;BYLA STLACENA KLAVESA
ANO:Z=1, PRIZNAK STLACENI ‘=’, JE DALSIM VYSTUPEM PP OUTKE
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
26
19
DAD
7E
MOV
32FE1F
STA
1C
NOKEY:INR
3E0A
MVI
C24601
3AFE1F
07
D1
C1
E1
C9
0183
0184
0185
0188
0189
018C
018F
0192
0193
0194
0195
0196
;ZNAK V KODU SEGMENTOVKY
;ZOBRAZENI ZNAKU DISPLEJEM
;
;KOD STLACENE KLAVESY
;TEST NESTLACENI KLAVESY
C,09
;POCET KLAVES V RADE DO C
H,TABK-9;ADR.TAB.KLAVES -9 DO HL
PCH
;VSTUP CASTI KODU KLAVESY
;K=0-STLACENA,K=1-NESTLACENA
070H
;MASKA VSTUPU KODU KLAVESY
;ROTACE VLEVO PRES CY: CY=0
;
CY=K
PRVA
;STLACENA KLAVESA PRVE RADY
;
CY=L
DRUHA
;STLACENI KLAVESY DRUHE RADY
;
CY=M
NOKEY
;NESTLACENA ZADNA KLAVESA
B
;BC+HL DO HL
B
;BC+HL DO HL
B
;BC+HL DO HL
;
D
;DE+HL DO HL
A,M
;KOD KLAVESY V KODU SEGMENT.
STATUS ;UCHOVANI KODU V PAMETI
E
;ADRESA DALSI SECM.A KLAV.
A,0AH
;CISLO POSLEDNI +1 SEGMENT.
STATUS
A
A,M
PA
:00
:00
XY
XY
0C
P
XY
XY
48
M
0009+019A=01A3
DE :0000 0001 0002
HL :
01A5
A
:
88
1FFE:
88
DE :0001 0002 0003
A
:0A
A :00000KLM
BC :0009
A :M00000KL
C
:09
HL :019A
PC:0KLM0000
A :0KLM0000
A :0KLM0000
A :KLM00000
A :LM00000K
A
A
A
:5D
ZNAK:”
XY
XY
7F
XY
XY
3F
-
0009+019A=01A3
0009+01A3=01AC
0003 0004 0003
01B1
8E
8E
0004 0005 0006
XY
XY
06
I
XY
XY
40
0
XY
XY
5D
“
0009+019A=01A3
0009+01A3=01AC
0009+01AC=01B5
0006 0007 0008
01BD
90
90
0007 0008 0009 000A
XY
XY
00
8
JNZ LOOP1
;NE -DALSI SEGM. A KLAVESY
LDA STATUS ;KOD STLACENE KLAVESY DO A
A
:
88
RLC
;NASTAVENI PRIZNAKU STLAC.KLAV.
CY=1 A=11
POP D
;NAVRAT PUVODNIHO OBSAHU DE
SP :1FD3
DE:DDEE
POP B
;
SP :1FD3
BC:BBCC
POP H
;
SP :1FD7
HL:HHLL
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........
0E09
MVI
219A01
LXI
DBFA
IN
00
NOP
E670
ANI
07
RLC
07
RLC
D28201
JNC
07
RLC
D28101
JNC
07
RLC
DA8801
JC
09
DAD
09
DRUHA:DAD
09
PRVA: DAD
0169
016B
016E
0170
0171
0173
0174
0175
0178
0179
017C
017D
0180
0181
0182
MOV
OUT
NOP
LDA
ORA
7E
D3F8
00
3AFE1F
B7
015E
015F
0161
0162
0163
27
3E20
CDAB00
2AE21F
22F81F
CDD700
2AF81F
22E21F
3E06
D3F8
00
3E0F
D3FA
00
21D91F
F9
D1
C1
F1
2AE41F
F9
2AE21F
E5
2ADF1F
C9
0229
022B
022E
0231
0234
0237
023A
023D
023F
0241
0242
0244
0246
0247
024A
024B
024C
024D
024E
0251
0252
0255
0256
0259
027E 3E12
0280 CDAB00
2AEC1F
22F81F
CDD700
2AF81F
22EC1F
7E
32EF1F
36CF
2AE21F
2B
22E21F
C32902
025F
0262
0265
0268
026B
026E
026F
0272
0274
0277
0278
027B
1FECH
1FF8H
MODAD
1FF8H
1FECH
A,M
1FEE
M,CFH
1FE2H
H
1FE2H
EXEC
;ADRESA ZASTAVENI PRO BR.POINT HL:BRPO
;A JEJI ULOZENI DO ZASOBNIKU 1FF8:POBR
;ZOBRAZENI A MODIF.TETO ADR. 1FF8:241D (PRIKLAD ADRESY PRO BREAK POINT: 1D24)
;PRESUN TETO ADRESY PRES REG. HL:1D24
;DO ZASOBNIKU MONITORU
1FEC:241D
;PUVODNI INSTRUKCE PROGRAMU
A:XY
;JE UCHOVANA V ZASOB. MONIT. 1FEE:XY
;A NAHRAZENA INSTRUKCI RST1 1D24:CF -KTERA ZPUSOBI PRERUSENI PROGRAMU SKOKEM MA ADR. 0008
;ADRESA POCATKU PROGRAMU
HL:1D00
;JE ZMENSENA O JEDNICKU
HL:1CFF
;A ULOZENA DO ZASOB. MONIT. 1FE2:FF1C
;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
EXEC: MVI A,20H
;PRIZNAK PROCEDURY ‘G’ DO
A:20
CALL CLEAR
;PRIPRAVA ZOBRAZENI, G........
LHLD 1FE2H
;STARTOVACI ADRESA PROGRAMU
HL:1CFF
SHLD 1FF8H
;JE ULOZENA DO ZASOB. MONIT. 1FF8:FF1C
CALL MODAD
;ZOBRAZENA A MODIFIKOVANO
1FF8:001D -NA ADRESU SKUTECNEHO ZACATKU PROGRAMU
LHLD 1FF8H
;A PRES REGISTROVY PAR
HL:1D00
SHLD 1FE2H
;UCHOVANA V ZASOB. MONITORU 1FE2:001D
MVI A,06H
;PRIPRAVA ZNAKU ‘E’ (EXEC)
A:06
OUT 0F8H
;POSLAN PRES PORT PA NA DISP.
NOP
;UKLIDNENI SBERNICE
MVI A,0FH
;ADRESA LEVE SEGMENTOVKY PRES
A:0F
OUT 0FAH
;POSLANA DO PORTU PC A DISP. DISP:E........
NOP
;UKLIDNENI SBERNICE
LXI H,1FD9H ;OBNOVENI ADRESY V UKAZATELI
HL:1FD9
SPHL
;VRCHOLU ZASOBNIKU
SP:1FD9
POP D
;OBNOVA PUVODNICH OBSAHU
DE:DDEE
POP B
;REGISTRU (PRED PRERUSENIM AJ.)BC:BBCC
POP PSW
;
AF:AAFF
LHLD 1FE4H
;ADRESA VRCHOLU ZASOBNIKU PRES HL:1FD9
SPHL
;DO UKAZATELE TETO ADRESY
SP:1FD9
LHLD 1FE2H
;ADRESA ZACATKU PROGRAMU PRES HL:1D00
PUSH H
;UCHOVANA V ZASOBNIKU JAKO
1FD7:001D -NAVRATOVA ADRESA Z PODPROGRAMU
LHLD 1FDFH
;OBNOVENI PUVODNIHO OBSAHU
HL:HHLL
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
REG: MVI A,12H
;SYMBOL FUNKCE ‘R’ DO STRADACE A :12
CALL CLEAR
;PRIPRAVA ZOBRAZENI.R. ......
LHLD
SHLD
CALL
LHLD
SHLD
MOV
STA
MVI
LHLD
DCX
SHLD
JMP
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
29
66
69
22F81F
CDD700
D1
7D
12
13
7C
12
C1
0D
C29C02
C34F00
MOV
MOV
SHLD
CALL
POP
MOV
STAX
INX
MOV
STAX
POP
DCR
JNZ
JMP
;OBSAH LEVEHO REGISTRU Z PARU H :AA
;PRENOS OBSAHU PRAVEHO REG. DO HL:AAFF
;OBSAH REG.PARU DO ZAS.MONIT.1FF8:FFAA
;ZOBR. REG.PARU,ZMENA OBSAHU 1FF8:F7A7
;ADRESA ZASOB.PAMETI REGIST.
DE:1FDD
;OBSAH PRAVEHO REGISTRU DO
A : F7
;A JEHO UCHOVANI V ZASOBNIKU (DE): F7
;ZVETSENI ADRESY ZASOB.PAMETI DE:1FDE
;OBSAH LEVEHO REGISTRU DO
A :A7
;A JEHO UCHOVANI V ZASOBNIKU (DE):A7
;NAVRAT BC ZE ZASOBNIKU
BC:0005
;ZMENSENI CITACE REGISTRU
BC:0004
;SKOK NA ZOBR. DALSIHO REG. PARU
;KONEC PROCEDURY, NAVRAT DO MONITORU
0341 C9
RET
14
CTE0: INR 9
CD4203
CALL INBIT
D22903
JNC K-4
CD4203
CALL INBIT
D22903
JNC x-10
7A
MOV A,D
17
RAL
79
MOV A,C
1F
RAR
4F
MOV C,A
1600
MVI D,00
05
DCR B
CY:
D :
CY:
CY:
DD
DDEE
EEDD
E7D7
1FD9
E7
E7
1FDA
D7
D7
0003
0002
HH
HHLL
LLHH
L7H7
1FDF
L7
L7
1FE0
H7
H7
0002
0001
SPH
SPSP
SPSP
77SP
1FE4
77
77
1EE5
SP
SP
0001
0000
0 *
0
05
06
04
24
0,48
E0
70
70
03
24
0,48
70
38
38
;KONEC CTENI BYTU,NAVRAT,NACTENY BYTE JE ULOZEN V REGISTRU C:
DB
1,B6
C0
E0
E0
DB
1,B6
80
C0
C0
02
24
0,48
38
1C
1C
01
24
0,48
1C
0E
0E
RET,C:07
00
24
0,48
0E
07
07
17 16....01 00 FF....F3*F2 F1....D0 CF*
AB
0 0
0 0 0
0 *0 0
0 0 *0 0
0 0
STOP BIT(0),24H VZORKU * ‘0’ VYZN.
*CD CC....AC AB
*
* STOP BIT (0)
ZAV.TON: 256+15 VZORKU *
FF FE....01 00 FF....F2*F1 F0....CF CE*CD CC....AB AA
1 1
1 1 1
1 *1 1
1 0 *1 1
1 0
* (‘1’VYZN.BIT)
* DRUHY A DALSI PRUCHOD PROCEDUROU
1(ZAV.TON DELKY 21,6MS)* (START BIT)
CY=0...0 1
CY=0
;CY=0,VYZN.’0’+ST0P BIT,+1 DO D :
;CTENI VYZN.’0’+ STOP BITU
CY:
;CY=0, CTE DALE ‘0’
;CY=1,NAHODNE, POKRACUJ
;CY=0,CTE DALE ‘0’
;CY=1,OBSAH D SE MUZE MENIT
A :CD
;NASTAVENI CY CTENYM BITEM
CY,A:1,9A
;NACTENI PREDCHOZIHO OBSAHU
A : 00
;CY=CTENY BIT ZPET DO STRANCE A : 80
;A JEHO UCHOVANI V REGISTRU
C : 80
;NASTAVENI CITACE DELKY BITU
D :00
;ZMENSENI POCITADLA BITU
B :07
;CY=0,DROP OUT, CTE DALE
0323 CD4203
CALL INBIT
;CY=1,ZAVADECI TON,-l DO
;ZAV.TON+START+VYZN.’1’ BITY
031C 15
CTE1: DCR D
031D CD4203
CALL INBIT
CALL INBIT
;CY=1,NAHODNA NEBO ZAVAD. TON
;CY=0,CTENA 0 NEBO MEZERA
;CY=0,CTENA MEZERA
CALL INBIT
0316 CD4203
0329
032A
032D
0330
0333
0336
0337
0338
0339
033A
033B
033D
BB
BBCC
CCB8
C7B7
1FDB
C7
C7
1FDC
B7
B7
0004
0003
‘TIN’, PRIKLAD CTENI ZAVADECIHO TONU (ASI 21,6 MS) A BYTU CISLA BLOKU ZAZNAMU NA MGP
B,08
;POCITADLO BITU CTENEHO BYTU
B :08
D,00
;VYNULOVANI CITACE DELKY BITU D :00 (CITAC DELKY TRVANI ZAZNAMU JEDNOHO BITU NA MGP)
INBIT
;CTENI SIGNALU Z MAGNETOFONU
CY=0
H,M
L,C
1FF8H
MODAD
D
A,L
D
D
A,H
D
B
C
029CH
004FH
0310 CD4203 CTE0: CALL INBIT
030A CD4203
;
;
;PROCEDURA
0300 0608
TIN: MVI
0302 1600
MVI
0304 CD4203 CTE1: CALL
02B4
02B5
0286
0289
02BC
02BD
02BE
02BF
02C0
02C1
02C2
02C3
02C4
02C7
79
;CY=1,NAHODNA NEBO START BIT
034C
034E
0351
0354
0357
035A
035D
0360
3E05
CDAB00
CDD700
CDFB00
219500
22FC1F
CD1601
3E23
0341 C9
CY:
1
0
0 *
;NASTAVI CY CTENOU ‘1’CI’0’ CY,A:0,48
;NACTENI PREDCHOZIHO OBSAHU
A : 07
;BIT Z CY ZPET DO STRADACE
A : 03
;UCHOVANI NOVEHO OBSAHU A V
C : 03
;NASTAVENI CITACE DELKY BITU
D : 00
;ZMENSENI POCITADLA BITU
B :07
1,B6
81
C0
C0
05
1.B6
03
81
81
06
04
0,48
C0
60
60
03
1,B6
60
B0
B0
02
1,B6
B0
D8
D8
01
0,48
DB
6C
6C
00
0,48
6C
36
36
*B8 B9...DA DB
*0 0 ...0 0
0 *
FF FE....DD DC*DB DA....B8 B7*
1 1 ....1 0/1*1 1 ....1 0 *
1
0 0...0 1
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
SAVE: MVI A,05H
;ZKRATKA PROCEDURY ‘S’ DO
A :05
CALL CLEAR
;PRIPRAVA ZOBRAZENI = S........
CALL MODAD
;ZOBRAZENI A URCENI ADRESY
1FF8:1C00 OD NIZ SE BUOOU DATA ZAZNAMENAVAT
CALL MODDA
;URCENI CISLA BLOKU ZAZNAMU 1FFA:07
- TOTO CISLO IDENTIFIKUJE ZAZNAM NA MAGNETOFONU
LXI H,0095H ;ADRESA ZPRAVY “MG RUN” DO
HL:0095
SHLD 1FFCH
;A JEJI ULOZENI DO ZASOBNIKU
CALL OUTKE
;ZOBR.”MG RUN”,CEKA NA POTVRZENI ZPRAVY LIBOVOLNOU KLAVESOU (MIMO.RE+I)
MVI A,23H
;ZNAK ‘O’ V KOOU SEGMENTOVEK
A :23
C,A
D,00
B
A,C
17
79
1F
4F
1600
05
0337
0338
0339
033A
033B
033D
RAL
MOV
RAR
MOV
MVI
DCR
14
CTE0: INR D
CD4203
CALL INBIT
D22903
JNC x-4
CD4203
CALL INBIT
D22903
JNC x-10
0329
032A
032D
0330
0333
D :
CY:
CY:
CY:
CY:
;CY=0,ZVETSENI CITACE DELKY
D : 24 23....02 01*00 FF....DE DD*
;CTENI VYZN’0’ A STOP BITU
CY: 0 0 ....0 0 *0 0 ....0 0 *
;CY=0,CTE’0’,SK0K DO CYKLU
(STOP BIT
+ ‘0’ VYZN.BIT) *
;CY=1,NAHODNA NEBO DALSI START BIT
;CY=0,CTE ‘0’,SK0K DO CYKLU
;CY=0,DROP OUT NEBO VYZN.O’
0323 CD4203
CALL INBIT
;CY=1,START BIT l.BITU l.BYTU
;CTE START BIT A ‘1’VYZN.BIT
031C 15
CTE1: DCR D
031D CD4203
CALL INBIT
CALL INBIT
0316 CD4203
;CY=0,DR0UP OUT NEBO ‘0’VYZN.
;CTE VYZN.’0’ NEBO STOP PIT
CALL INBIT
TIN’ PRO 1. BYTE DAT (36H) ZA CISLEM BLOKU ZAZNAMU (07) NA MGP
B,08
;POCITADLO BITU V BYTU
B :08
D,00
;CITAC DELKY ZAZNAMU BITU
INBIT
;CTE 9.START BIT CISLA BLOKU
CY:1 0...1 0
0310 CD4203 CTE0: CALL INBIT
030A CD4203
;
;
;PROCEDURA
0300 0608
TIN: MVI
0302 1600
MVI
0304 CD4203 CTE1: CALL
HLDA - 01|02
INT - 03|04
- 05|06
WAIT - 07|08
A0 - 09|10
A1 - 11|12
A2 - 13|14
+12V - 15|16
A3 - 17|18
A4 - 19|20
A5 - 21|22
A6 - 23|24
A7 - 25|26
A8 - 27|28
A9 - 29|30
A15 - 31|32
A12 - 33|34
A13 - 35|36
A14 - 37|38
A11 - 39|40
MR - 41|42
CS4 - 43|44
- 45|46
DB1 - 47|48
- 49|50
RDYIN - 51|52
DB5 - 53|54
DB6 - 55|56
- 57|58
2 TTL - 59|60
DB4 - 61|62
+5V
I/OW
INTE
HOLD
GND
+12V
RESET
-5V
-5V
INTA
GND
CS6
CS5
A10
CS2
CS3
DB0
+5V
DB2
CSC
DB3
I/OR
DB7
STSB
MW
PB3
PB4
FB5
PB6
PB7
PC1
FC0
PC4
PC5
PC6
PC7
A9
PA7
PA6
PA5
PA4
PB7
PB5
PB3
PB1
01|02
03|04
05|06
07|08
09|10
11|12
13|14
15|16
17|18
19|20
21|22
23|24
25|26
27|28
29|30
31|32
33|34
35|36
37|38
39|40
41|42
43|44
45|46
47|48
PA0
PA1
PA2
PA3
PB6
PB4
PB2
PB0
K3:
1 - MGIN
2 - GND
3 - MGOUT
-
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
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
PB2
PB1
FB0
PC3
PC2
GND
31
32
77
3E14
CDAB00
CDD700
CDFB00
219500
22FC1F
CD1601
2AF81F
3E07
D3F8
3E0F
D3FA
1600
CD4203
DAAB03
15
CD0003
3AFA1F
B9
C2CC03
CD0003
71
2C
038C
038E
0391
0394
0397
039A
039D
03A0
03A3
03A5
03A7
03A9
03AB
03AD
03B0
03B3
0387
03BA
038D
03BE
03C1
03C4
03C5
CALL
LDA
CMP
JN2
CALL
MOV
INR
TIN
1FFAH
C
03CCH
TIN
M,C
L
;D=0,POKRACUJE CTENI MEZERY, ZAVADECIHO TONU BLOKU DAT A BYTU S CISLEM TOHOTO BLOKU
;CISLO BLOKU ZAZNAMENANYCH DAT A :07
;SROVNANO S PRECTENYM CISLEM
A : ?
;Z=0, JE RUZNE, PODEJ ZPRAVU
;Z=1, JE STEJNE, CTE SE ZAZNAM
;A ZAPISE BYTE DO PAMETI
;ZVETSI SE ADRESA PAMETI
MVI E,04H
;DOBA PULPERIODY TONU
DCR E
;CYKL VYTVARENI TONU
0
0
0
0
0
0
0
0
...
0
0
JNZ 02F4H
;VYSTUP (PA7 X PA6)
_______________________________________________________
XRI 40H
;DOPLNEK BITU A6 STRADACE
A :47
07
47
07
47
07
47
07
... 47
07
DCR D
;ZMENSENI POCIT>PERIOD TONU
D :1F
1E
1D
1C
1B
1A
19
18
... 01
00
JNZ 02F0H
;SKOK NA ZAZNAM OPACNE PULPERIODY
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
LOAD: MVI A,14H
;ZKRATKA PROCEDURY ‘L’ DO
A :14
CALL CLEAR
;PRIPRAVA ZOBRAZENI L........
CALL MODAD
;URCENI ADRESY UKLADANI DAT 1FF8:001C -PRIKLAD ZVOLENE ADRESY: 1C00
CALL MODDA
;URCENI CISLA CLCKU ZA7NAMU 1FFA:07
-PRIKLAD CISLA STEJNEHO JAKO PRI SAVE
LXI H,0095H ;ADRESA ZPRAVY “MC-RUN”
HL:0095
SHLD 1FFCH
;JE UCHOVANA VE VYST REGIST. 1FFC:9500
CALL OUTKE
;ZOBRAZENI, PROGRAM CEKA NA POTVRZENI ZPRAVY “MC-RUN” STLACENIM LIBOVOLNE KLAVESY (MIMO=RE+I)
LHLD 1FF8H
;ADRESA UKLADANI DAT DO
HL:1C00
MVI A,07H
;SYMBOL ‘T’ V KODU SEGMENTOVEK A :07
OUT PA
;JE VYSLAN DO PORTU A
PA:07
MVI A,0FH
;KOD POZICE LEVE SEGMENTOVKY
A :0F
OUT PC
;JE VYSLAN DO PORTU C
PC:0F
DISP T........
MVI D,A0H
;KONSTATNTA MINIMALNI MEZERY
D :A0
MEZI BLOKY DAT NEBO PRED 1. BLOKEM DAT
CALL INBIT
;CTENI ZACATKU MGP NEBO MEZERY MEZI BLOKY ZAZNAMU NA MGP
JC
x-5
;CY=1,PRI CTENI BLOKU S NIZSIM CISLEM NEZ OCEKAVANY BLOK -SKOK PRI CTENI LOG 1
DCR D
;CY=0,CTENA LOG 0 BLOKU ZAZNAMU S NIZSIM CISLEM, NEBO CTENA MEZERA MEZI BLOKY (ZACATEK MGP)
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
1E04
1D
C2F402
EE40
15
C2F002
C9
02F2
02F4
02F5
02F8
02FA
02FB
02FE
76
33
0348 DBFA
034A 17
034B C9
IN
PC
;E=0, CTENI VZORKU SIGNALU
A :X0000000, CY=Y
RAL
;POSUN VLEVO PRES CY BIT CY: X,A :0000000Y
X=1, START BIT NEBO ‘1’ VYZNAMOVY BIT
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) ;
;
;
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
0095
0096
0097
0098
0099
009A
009B
009C
009D
009E
009F
00A0
00A1
00A2
00A3
00A4
00A5
00A6
00A7
00A0
00A9
00AA
1E TMGRN: DB 1E
1E
DB 16
20
DB 20
19
DB 19
19
DB 19
12
DB 12
15
DB 15
1B
DB 1B
1E
DB 1E
1E TMGSP: DB 1E
16
DB 16
20
DB 20
19
DB 19
05
DB 05
10
DB 10
11
DB 11
13
DB 13
IE
DB 1E
FF
DB FF
FF
DB FF
FF
DB FF
FF
DB FF
;
;M
;G
;SP
;SP
;R
;U
;N
;
;
;M
;G
;SP
;S(5)
;T
;o
;P
;
012B
012C
012D
012E
012F
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139
013A
013B
013C
013D
013E
013F
08 TSFK:
09
0D
0B
0A
13
14
0E
0C
0F
05
1A
0D
0B
0A
E4 TAR:
DF
D9
DB
DD
FF
;SP
;HL
;DE
;BC
;AF (PSW)
;P
;L
;E
;C
;F
;S
;H
;D
;B
;A
;DOLNI BYTE ADRESY PRO SP
;HL
;DE
;BC
;AF
34
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
08
09
0D
0B
0A
13
14
0E
0C
0F
05
1A
0D
0B
0A
E4
DF
D9
DB
DD
FF
75
01A4
01A5
01A6
01A7
01A8
01A9
01AA
01AB
84
88
91
8D
8C
89
85
81
DB
DB
DB
D8
DB
DB
DB
DB
‘4’
‘8’
‘EX’
‘D’
‘C’
‘9’
‘5’
‘1’
01AD
01AE
01AF
01B0
01B1
01B2
01B3
01B4
86
8A
9A
8F
8E
8B
87
83
DB
DB
DB
DB
DB
DB
DB
DB
‘6’
‘A’
‘R’
‘F’
‘E’
‘B’
‘7’
‘3’
01B6
01B7
01B8
01B9
01BA
01BB
01BC
01BD
94
93
FF
97
92
FF
FF
90
DB
DB
DB
DB
DB
DB
DB
DB
‘S’
‘L’
FFH
‘BR’
‘M’
FFH
FFH
‘=’
TABULKA PREVODU NA SEDMISEGMENTOVY ZOBRAZOVAC
01BE 40 79 24 30 19 12 02 78 00 10 08 03 46 21 06 0E
ZNAKY 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 42 61 7B 11 FF FF FF FF FF
ZNAKY G J , Y
TABULKA ZAKLADNIHO OHLASENI
01E7 “PMI -80”
TABULKA CHYBOVYCH HLASENI
74
35
36
MOV B,B
MOV D,B
MOV H,B
MOV M,B
ADD B
SUB B
ANA B
ORA B
RNZ
RNC
RPO
RP
2x
3x
4x
5x
6x
7x
8x
9x
Ax
Bx
Cx
Dx
Ex
Fx
POP PSW
POP H
POP D
POP B
ORA C
ANA C
SUB C
ADD C
MOV M,C
MOV H,C
MOV D,C
MOV B,C
ORA D
ANA D
SUB D
ADD D
MOV M,D
MOV H,D
MOV D,D
MOV B,D
STAX D
DI
XTHL
ORA E
ANA E
SUB E
ADD E
MOV M,E
MOV H,E
MOV D,E
MOV B,E
INX SP
INX H
INX D
ORA H
ANA H
SUB H
ADD H
MOV M,H
MOV H,H
MOV D,H
MOV B,H
INR M
INR H
INR D
PUSH PSW
PUSH H
PUSH D
PUSH B
ORA L
ANA L
SUB L
ADD L
MOV M,L
MOV H,L
MOV D,L
MOV B,L
DCR M
DCR H
DCR D
ORA M
ANA M
SUB M
ADD M
HLT
MOV H,M
MOV D,M
MOV B,M
RST 6
RST 4
RST 2
RST 0
ORA A
ANA A
SUB A
ADD A
MOV M,A
MOV H,A
MOV D,A
MOV B,A
STC
DAA
RAL
RM
RPE
RC
RZ
CMP B
XRA B
SBB B
ADC B
MOV A,B
MOV L,B
MOV E,B
MOV C,B
-
-
-
SPHL
PCHL
*RET
RET
CMP C
XRA C
SBB C
ADC C
MOV A,C
MOV L,C
MOV E,C
MOV C,C
DAD SP
DAD H
DAD D
CMP D
XRA D
SBB D
ADC D
MOV A,D
MOV L,D
MOV E,D
MOV C,D
LDAX D
EI
XCHG
X
CMP E
XRA E
SBB E
ADC E
MOV A,E
MOV L,E
MOV E,E
MOV C,E
DCX SP
DCX H
DCX D
DCX B
xB
TABULKA HLASENI BREAK
LDAX B
xA
CMP H
XRA H
SBB H
ADC H
MOV A,H
MOV L,H
MOV E,H
MOV C,H
INR A
INR L
INR E
INR C
xC
-
-
-
CMP L
XRA L
SBB L
ADC L
MOV A,L
MOV L,L
MOV E,L
MOV C,L
DCR A
DCR L
DCR E
DCR C
xD
CMP M
XRA M
SBB M
ADC M
MOV A,M
MOV L,M
MOV E,M
MOV C,M
xE
RST 7
RST 5
RST 3
RST 1
CMP A
XRA A
SBB A
ADC A
MOV A,A
MOV L,A
MOV E,A
MOV C,A
CMC
CMA
RAR
RRC
xF
DW LOAD
DB FFH,FFH,FFH
DAD B
x9
021B 8C 03
021D FF FF FF
-
x8
DW SAVE
RLC
x7
0218 4C 03
-
x6
DW REG
DCR B
x5
0215 7E 02
INR B
x4
DW BREAK
INX B
x3
0212 5A 02
STAX B
x2
DW EXEC
1x
x1
020F 29 02
NOP
x0
DW MEMD
0x
HEX
020C 72 00
73
72
M
A
C
D
E
L
M
A
B
C
D
E
H
L
M
D8
A
B
C
D
E
H
L
ADC
ADD
ADD
ADD
ADD
ADD
ADD
ANA
ANA
ANA
ANA
ANA
ANA
ANA
ANA
ANI
CMA
CMC
CMP
CMP
CMP
CMP
CMP
CMP
CMP
2F
3F
BF
B8
B9
BA
BB
BC
BD
A7
A0
A1
A2
A3
A4
A5
A6
E6
85
86
81
82
83
8E
87
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
INR
INR
INR
INR
INR
INX
INX
INX
INX
DCR
DCX
DCX
DCX
DCX
DI
EI
HLT
IN
DCR
DCR
DCR
DCR
DCR
DAD
DAD
D
E
H
L
M
B
D
H
SP
D8
M
B
D
H
SP
E
H
A
B
C
D
H
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
19
29
3D
05
0D
1D
25
35
0B
1B
2B
3B
F3
FB
76
DB
14
1C
24
2C
34
03
13
23
33
000X XXXX
11XX XXX0
37
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
LXI
LXI
LXI
B,M
C,A
C,B
C,C
C,D
C,E
C,H
C,L
C,M
A,D
A,E
A,H
A,L
A,M
B,A
B,B
B,C
B,D
A,A
A,B
B,D16
D,D16
H,D16
LDAX B
LDAX D
46
4F
48
49
4A
4B
4C
4D
4E
7A
7B
7C
7D
7E
47
40
41
42
7F
78
01
11
21
0A
1A
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
3
3
1
1
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MVI
MVI
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
M,A
M,B
M,C
M,D
M,E
M,H
M,L
A,D8
B,D8
H,E
H,H
H,L
H,M
L,A
L,B
L,C
L,D
L,E
H,B
H,C
E,H
E,L
E,M
E,C
E,D
77
70
71
72
73
74
75
3E
06
63
64
65
66
6F
68
69
6A
6B
60
61
5C
5D
5E
59
5A
1
1
1
1
1
1
1
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
L
M
D8
D
E
RM
RNC
RNZ
RP
RPE
RPO
RRC
RST
RST
POP
POP
PUSH
PUSH
PUSH
PUSH
RAL
RAR
RC
0
1
H
PSW
B
D
H
PSW
PCHL
POP B
ORA
ORA
ORI
ORA
ORA
F8
D0
C0
F0
E8
E0
0F
C7
CF
E1
F1
C5
D5
E5
F5
17
1F
D8
E9
C1
B5
B6
F6
B2
B3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
XCHG
XRA
XRA
XRA
XRA
XRA
XRA
XRA
XRA
STAX
STAX
STC
SUB
SUB
SUB
SUB
SUB
SUB
SIM
SPHL
SBB
SBB
SBI
SBB
SBB
A
B
C
D
E
H
L
M
A
B
C
D
E
H
B
D
L
M
D8
D
E
EB
AF
A8
A9
AA
AB
AC
AD
AE
02
12
37
97
90
91
92
93
94
30
F9
9D
9E
DE
9A
9B
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
00H
01H
-
0FH
0
A
9
-
F
FFH
FFH
03H 0EH
FFH FFH atd.
FFH
-
-
E
00010
1E27
1E28
1E2C
1E30
1E34
C9
24
50
9E
FF
01
33
80
E0
13
3C
6A
C0
RET
FF TAB: DB
1C
53
B0
;
;
;
;
A’, H’, C”, C
D’, E’, F’, G’
G, A, H, C’
C, D, E, F
KONEC
26
+5V
25
28
-5V
27
30
+12V
29
71
A
B
C
D
E
F
=
=
=
=
=
=
0A,
0B,
0C,
0D,
0E,
0F,
G
H
I
J
K
L
=
=
=
=
=
=
20,
1A,
01,
21,
85,
14,
M
N
O
P
Q
R
=
=
=
=
=
=
16,
1B,
11,
13,
43,
12,
S
T
U
V
X
Y
=
=
=
=
=
=
05,
10,
15,
8E,
9B,
23,
Z
=
“
,
?
=
=
=
=
=
=
02,
18,
1F,
1E,
22,
1D
EX:1E00=
-
-
-
39
01
-
10
-
1D00H.
-
01H
02H
-
03H
-
00H
-
1C00H
n
69
-
n
-
-
Uv yst =
-
Uvst
2n -1
KONEC
Uanalog =
Uvst
n
2 -1
n
i=1
K i 2i 1
0
1
vst
41
-
KONEC
vst
U
EX:1CB0=
-
1000
1100
1010
1011
FFH
vst
1FFAH
RE
I
-
00H
-
42
67
1C6D 05
DCR
B
-
-
1C82 0D
DCR
C
-
1C8D 2B
DCX
H
-
-
1C00H
-
66
43
IR4max =
UBET1 R2
R 4 (R2 + R3 )
1C15
1C17
1C19
1C1A
1C1B
1C1C
25mA
D3 FB
DB F9
T10:
0F
0F
23
D2 17 1C
1C22 22 F8 1F
1C25 CD BB 00
1C00H do 1CFFH
EX 1E00
1C2E
1C30
1C31
1C34
1C35
OUT
IN
RRC
RRC
INX
JNC
FBH
F9H
; A <- PB
; CY <- D1
H
T10
SHLD 1FF8H
CALL OUTAD
3E 00
WAIT: MVI
3D
W5:
DCR
C2 30 1C
JNZ
C9
RET
7D
UPRAVA: MOV
A,0
A
W5
A,L
1C38 6F
1C39 7C
MOV
MOV
L,A
A,H
1C3C 67
1C3D C9
MOV
RET
H,A
I
0008H
R B
0
EX:1C60=
na adrese 1E70H na 02H
1C00H
1CFFH
0100H
-
44
65
1E59 3E 40
MVI
A,40H
1E5F
1E62
1E65
1E66
1E69
1E6C
1E6D
1E6E
LXI
LXI
DAD
JNC
JMP
INX
INX
MOV
H,FFE0H
D,0001H
D
; HL <- HL+DE
CEK
BLIK
B
H
A,B
1E71 C2 0C 1E
1E74 3E 00
1E76 D3 F6
JNZ
MVI
OUT
PROG1
A,0
PC
1E79 3D
TIME:
1E7A C2 79 1E
1E7D C9
DCR
JNZ
RET
A
TIME
21
11
19
D2
C3
03
23
78
E0 FF
01 00
CEK:
65 1E
5B 1E
POKR:
EPAD
ZAR
0000H
01H
0100H
02H
0200H
03H
0300H
04H
1C02 CD AB 00
CALL CLEAR
1C07 D3 FB
OUT
64
CWR
uC (t) = U (1 e
t
RC
)
1
t1
=
t2
1
2
=
2
R1C1
R2C 2
29.
; IO10
45
1E05 D3 F7
1E0C
1E0D
1E0F
1E10
1E12
79
D3 F5
78
E6 20
D3 F6
1E16 7E
EX 1C60 =
0
CWR
PROG1: MOV
OUT
MOV
ORI
OUT
A,C
PB
A,B
20H
PC
; A <- AL
PROG2: MOV
A,M
; A <- (HL)
1E19 3E 04
MVI
A,04H
1E1E
1E1F
1E21
1E23
78
E6 A0
D3 F6
3E 18
MOV
ORI
OUT
MVI
A,B
A0H
PC
A,18H
1E28
1E29
1E2B
1E2D
78
E6 20
D3 F6
3E 04
MOV
ORI
OUT
MVI
A,B
20H
PC
A,04H
1E32 78
1E33 E6 60
1E35 3E 04
MOV
ORI
MVI
A,B
60H
A,04H
1E3C D3 F7
OUT
CWR
1E40 57
MOV
D,A
1E43
1E45
1E46
1E48
OUT
MOV
ORI
OUT
CWR
A,B
20H
PC
JNZ
PROG2
D3 F7
78
E6 20
D3 F6
1E50 C2 16 1E
46
OUT
; A <- AH
; A <- A v 0010 0000
; PC <- AH, D=1
; A <- AH
; P <- 1 (+24V)
; P <- 0
; [WE] = 0V
; [WE] = 12V
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
1F0F 1F
IN
RAR
0F5H
; B0 <- KOMP
; CY <- KOMP
RE
1F30
1F31
1F32
1F33
1F36
62
7A
W5:
B3
1B
C2 30 1F
C9
MOV
ORA
DCX
JNZ
RET
A,D
E
D
W5
47
1C00 3E 88
MVI
A,88
1C04
1C07
1C0A
1C0B
LXI
LXI
MOV
MVI
H,1D00
B,1FFF
D,M
; D <- (HL) = B1
A,00
1C11 23
1C12 5E
1C13 23
INX
MOV
INX
H
E,M
H
1C15 D3 01
OUT
01
1C1B
1C1D
1C1F
1C21
1C24
1C27
1C28
1C29
1C2A
1C2B
1C2C
1C2D
1C2E
1C2F
1C30
1C31
1C32
1C33
1C36
MVI
OUT
MVI
CALL
JMP
RST
RST
RST
RST
RST
RST
RST
RST
RST
PUSH
MOV
ORA
JNZ
DCR
A,FF
01
A,03
1C30
1C14
7
7
7
7
7
7
7
7
7
PSW
A,B
C
1C43
E
1C3B F1
1C3C C1
POP
POP
PSW
B
1C43 0B
1C44 F1
1C45 3D
DCX
POP
DCR
B
PSW
A
1C4A FF
RST
7
21 00 1D
01 FF 1F
56
3E 00
3E
D3
3E
CD
C3
FF
FF
FF
FF
FF
FF
FF
FF
FF
F5
78
B1
C2
1D
FF
01
03
30 1C
14 1C
43 1C
; E <- (HL) = B2
; B3
; B2 <- D2-1
; A <- B3
; A <- B3
61
1E9B CD D2 1E
1E9E D2 AB 1E
1EA1 23
CALL COMP
JNC KONEC
INX H
; HL == DE ?
; 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
1EC2
1EC3
1EC4
RLC
RLC
RLC
RLC
07
07
07
07
1ECB F1
1ECC CD D8 1E
POP PSW
CALL HEXAS
1ED2 7C
1ED3 BA
COMP:
MOV
CMP
A,H
D
1ED5
1ED6
1ED7
1ED8
7D
BB
C9
E6 0F
MOV
CMP
RET
HEXAS: ANI
A,L
E
1EDF
1EE1
1EE3
1EE4
06 07
C6 30
4F
C9
HX5:
ADI
ADI
MOV
RET
0FH
‘A’-’9’-1
‘0’
C,A
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
0
0
1
0
x2
STX
DC2
“
2
B
R
0
0
1
1
x3
ETX
DC3
3
C
S
0
1
0
0
x4
EOT
DC4
$
4
D
T
0
1
0
1
x5
ENQ
NAK
%
5
E
U
0
1
1
0
x6
ACK
SYN
&
6
F
V
0
1
1
1
x7
BEL
ETB
‘
7
G
v
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
\
1
1
0
1
xD
CR
GS
-
=
M
]
1
1
1
0
xE
SO
RS
.
>
N
1
1
1
1
xF
SI
US
/
?
0
1E8C 7C
MOV
A,H
1E90 7D
MOV
A,L
q
s
e
u
v
G
l
w
|
}
-
_
o
DEL
59
1F03 F5
1F04 DB F6
1F06 E6 01
LP:
PUSH PSW
IN
F6H
ANI 01H
1F0B F1
1F0C C9
POP
RET
PSW
1F13 D3 F7
1F15 C9
OUT
RET
F7H
; A <- PC
1FD9
1FDA
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
D
51
1C00 3A 00 1F 4F 3A 02 1F 81 32 04 1F C3 00 00
JZ
PRER
1DA0 CA CB 1D
1DA3 FE 00
1DA5 CA 83 1D
JZ
CPI
JZ
PRER
00H
CHR10
1DAD 26 00
MVI
H,0
10000
10
5
T
1DB5 E6 01
ANI
01H
10001
11
+
Z
1DB8 6F
MOV
L,A
10010
12
)
L
10011
13
2
W
10100
14
1DBA 7E
1DBB E1
MOV
POP
A,M
H
10101
15
6
Y
1DBE B9
CMP
C
I
10110
16
0
P
U
10111
17
1
Q
11000
18
9
0
1DC2 29
1DC3 29
1DC4 29
DAD
DAD
DAD
H
H
H
D
11001
19
?
B
4
R
11010
1A
BEL
J
11011
1B
N
11100
1C
.
M
1DCE C3 83 1D
JMP
CHR10
F
11101
1D
/
X
:
C
11110
1E
=
V
(
K
11111
1F
1DD5 C9
RET
00000
00
00001
01
3
00010
02
LF
00011
03
-
00100
04
00101
05
‘
S
00110
06
8
00111
07
7
01000
08
01001
09
01010
0A
01011
0D
01100
0C
,
01101
0D
01110
0E
01111
0F
52
1D9B CA CB 1D
E
A
SP
CR
H
; A <- 0000 000Z
; A <- HL
G
1...
A...
57
1E07 D5
PUSH D
1E0D CD AC 1E
CALL ZMENA
1E13 0E 09
1E15 CD 24 1F
MVI C,”D”
CALL CO
1E1B
1E1C
1E1D
1E20
1E21
1E24
1E25
1E26
1E27
1E28
1E29
1E2A
1E2B
1E2C
POP
POP
CALL
INX
JNC
PUSH
PUSH
MOV
PUSH
RLC
RLC
RLC
RLC
ANI
D1
E1
CD 4B 1E
23
D2 00 00
E5
D5
7E
F5
07
07
07
07
E6 0F
1E2F CD 80 1E
1E32 F1
1E33 E6 0F
1E36
1E39
1E3C
1E3E
1E41
1E43
1E46
1E48
1E4B
1E4C
1E4D
1E4E
1E4F
1E50
CD
C3
0E
CD
0E
C3
0E
C3
7C
BA
C0
7D
BB
C9
80
18
08
24
02
24
04
24
1E53 D3 FB
1E55 C9
56
1E
1E
D
H
COMP
; HL<DE ?
H
MONITOR
H
D
A,M
; A <- (HL)
PSW
0FH
CALL CHROUT
POP PSW
ANI 0FH
CALL
JMP
CRLF: MVI
1F
CALL
MVI
1F
JMP
SPACE: MVI
1F
JMP
COMP: MOV
CMP
RNZ
MOV
CMP
RET
CHROUT
LOOP
C,”CR”
CO
C,”LF”
CO
C,”SP”
CO
A,H
D
A,L
E
OUT 0FBH
RET
*
1F00 01 00 05 CI:
1F03 DB F9
CI5:
1F05 07
LXI
IN
RLC
B,0500H
F9H
1F0C DB F9
IN
F9H
1F17 17
1F18 79
RAL
MOV
A,C
1F1A 4F
MOV
C,A
1F1F 0F
1F20 0F
1F21 0F
RRC
RRC
RRC
1F26 79
1F27 07
MOV
RLC
A,C
1F2C 4F
MOV
C,A
; B<-5, C<-0
; A7<-PB7
53
1F34 79
MOV
1F3A 00
NOP
1F3E
1F3F
1F40
1F41
1F44
DCX
MOV
ORA
JNZ
RET
D
A,D
E
CEK
1F48 C3 3E 1F
JMP
CEK
1E86
1E87
1E8A
1E8B
CMP C
JZ SHODA
MOV A,B
CPI 40H
1B
CEK:
7A
B3
C2 3E 1F
C9
B9
CA 93 1E
78
FE 40
1E8E 04
1E8F 23
INR
INX
1E94 1F
1E95 F5
RAR
PUSH PSW
1E99
1E9A
1E9B
1E9C
1F
07
07
07
RAR
RLC
RLC
RLC
1E9E 3A B5 1E
1EA1 07
1EA2 07
LDA
RLC
RLC
PAMZM
1EA8 4F
MOV
C,A
54
1EAC 79
1EAD 0F
A,C
; (HL) = C ?
; B = 64 ?
B
H
; CY <- 0/1.../, 1 (A...)
1EBA
1EBC
1EBE
1EC0
1EC2
1EC4
1EC6
1EC8
1ECA
1ECC
1ECE
1ED0
1ED2
1ED4
1ED6
1ED8
1EDA
1EDC
1EDE
1EE0
1EE2
1EE4
1EE6
1EE8
1EEA
1EEC
1EEE
1EF0
1EF2
1EF4
FF
FF
FF
FF
0*
07
FF
FF
04
FF
FF
FF
FF
FF
05
FF
FF
02
FF
06
00
01
09
FF
FF
FF
FF
FF
FF
FF
1E06 E5
ZMENA: MOV
RRC
A,C
FF
0A
FF
FF
FF
FF
FF
0D
FF
FF
FF
0F
0C
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
0B
FF
FF
FF
FF
FF
FF
PUSH H
55

Podobné dokumenty

Untitled - NOSTALCOMP

Untitled - NOSTALCOMP 2.1 Mikroprocesor MHB8080A a jeho podpůrné obvody Již v úvodu této kapitoly jsme uvedli, že tzv. jádrem mikropočítače PMI-80 je mikroprocesor MHB8080A a jeho podpůrné obvody MH8224 a MH8228. Podro...

Více