ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / ZPS-2 / Program pro přenos dat po RS232C s "podáním ruky"


Listing program pro přenos dat po RS232C s "podáním ruky"

Zdrojový kód byl získán pomocí zpětného inženýrství.


	MACRO-80 3.44	09-Dec-81	PAGE	1


    1	                                ;NEJAKE PRENASEDLO PO RS232C S PODANIM RURY
    2	                                ;
    3	                                	; KONSTANTY
    4	  0008                          BS	EQU	08H		; ZNAK ZPET
    5	  001D                          GS	EQU	1DH
    6	  001F                          US	EQU	1FH
    7	  000D                          CR	EQU	0DH
    8	  000A                          LF	EQU	0AH
    9	                                
   10	                                ;DSM-1
   11	  0010                          RMS	EQU	10H		; STAV MODEM
   12	  0011                          RDI	EQU	11H		; STAV UARTU
   13	  0012                          ROD	EQU	12H		; PRJMUTA DATA
   14	  0010                          WMC	EQU	10H		; RIZENI MODEMU
   15	  0011                          CRL	EQU	11H		; RIZENI UARTU
   16	  0012                          TBRL	EQU	12H		; DATA K VYSILANI
   17	  0013                          RUART	EQU	13H		; RESET UARTU
   18	                                
   19	                                
   20	                                	; SLUZBY MONITORU (V5.0)
   21	  0596                          CI@	EQU	0596H		; "103H" VSTUP Z CONSOLI
   22	  0124                          CRLF	EQU	0124H		; NOVY RADEK
   23	  0127                          EXPR	EQU	0127H		; SKLADANI ADRES (N=POCET <C>, SP)
   24	  0136                          HILO	EQU	0136H		; HL+1, SROVNANI S DE
   25	  0139                          NEXT	EQU	0139H		; NAVRAT DO MONITORU
   26	  013F                          CINCR	EQU	013FH		; ECHO+ANALYZA
   27	  014B                          EXFLG	EQU	014BH		; EXTERNI RIZENI FLAGU
   28	  0568                          COA@@	EQU	0568H		; VYSTUP NA CONSOLI Z <A> A NEPOSKODI SE <BC>
   29	                                
   30	                                	; ROZSIRENE SLUZBY MONITORU V5.0
   31	  0151                          TX	EQU	0151H		; ZOBRAZENI NASLEDUJICIHO TEXTU
   32	                                
   33	                                	;PROMENE V RAM
   34	  4103                          NAMBUF	EQU	4103H
   35	                                
   36	                                ;--------------------------------
   37	  0000'                         	ASEG
   38	                                	ORG	1400H
   39	                                ;
   40	  1400    CD 0151               	CALL	TX		; ZOBRAZ TEXT
   41	  1403    1D 1F 42 4C           	DB	GS,US,'BLOCK DATA '
   42	  1407    4F 43 4B 20           
   43	  140B    44 41 54 41           
   44	  140F    20                    
   45	  1410    54 52 41 4E           	DB	'TRANSFER SAPI'
   46	  1414    53 46 45 52           
   47	  1418    20 53 41 50           
   48	  141C    49                    
   49	  141D    20 20 2D 20           	DB	'  -  P=',CR,LF,CR,LF
   50	  1421    20 50 3D 0D           
   51	  1425    0A 0D 0A              
   52	  1428    45 4E 54 45           	DB	'ENTER PARTNER '
   53	  142C    52 20 50 41           
   54	  1430    52 54 4E 45           
   55	  1434    52 20                 
   56	  1436    28 41 2F 48           	DB	'(A/H)?',' '+80H
	MACRO-80 3.44	09-Dec-81	PAGE	1-1


   57	  143A    29 3F A0              
   58	  143D    CD 013F               VYBER:	CALL	CINCR		; ECHO+ANALYZA
   59	  1440    FE 41                 	CPI	'A'
   60	  1442    CA 145B               	JZ	VYBER1
   61	  1445    FE 48                 	CPI	'H'
   62	  1447    CA 145F               	JZ	VYBER2
   63	  144A    0E 05                 	MVI	C,5		; NASTAV KURZOR
   64	  144C    3E 02                 	MVI	A,2		; NA RADEK 2
   65	  144E    CD 014B               	CALL	EXFLG
   66	  1451    0E 06                 	MVI	C,6		; NASTAV KURZOR
   67	  1453    3E 21                 	MVI	A,21H		; NA POZICI 33
   68	  1455    CD 014B               	CALL	EXFLG
   69	  1458    C3 143D               	JMP	VYBER		; POKUT CHYBA TAK ZNOVU
   70	                                ;
   71	  145B    AF                    VYBER1:	XRA	A
   72	  145C    C3 1461               	JMP	VYBER3
   73	                                ;
   74	  145F    3E 01                 VYBER2:	MVI	A,1
   75	  1461    32 4103               VYBER3:	STA	NAMBUF		; ULOZ TYP PRENOSU
   76	  1464    CD 0151               VYBER4:	CALL	TX		; ZOBRAZ TEXT
   77	  1467    1D 1F 42 4C           	DB	GS,US,'BLOCK DATA '
   78	  146B    4F 43 4B 20           
   79	  146F    44 41 54 41           
   80	  1473    20                    
   81	  1474    54 52 41 4E           	DB	'TRANSFER SAPI'
   82	  1478    53 46 45 52           
   83	  147C    20 53 41 50           
   84	  1480    49                    
   85	  1481    20 20 2D 20           	DB	'  -  P','='+80H
   86	  1485    20 50 BD              
   87	  1488    3A 4103               	LDA	NAMBUF		; NACTI TYP PRENOSU
   88	  148B    B7                    	ORA	A
   89	  148C    C2 1498               	JNZ	VYBER5
   90	  148F    CD 0151               	CALL	TX		; ZOBRAZ TEXT
   91	  1492    41 54 A0              	DB	'AT',' '+80H
   92	  1495    C3 149E               	JMP	VYBER6
   93	                                ;
   94	  1498    CD 0151               VYBER5:	CALL	TX		; ZOBRAZ TEXT
   95	  149B    48 50 A0              	DB	'HP',' '+80H
   96	  149E    0E 05                 VYBER6:	MVI	C,5		; NASTAV KURZOR
   97	  14A0    3E 02                 	MVI	A,2		; NA RADEK 2
   98	  14A2    CD 014B               	CALL	EXFLG
   99	  14A5    0E 06                 	MVI	C,6		; NASTAV KURZOR
  100	  14A7    3E 00                 	MVI	A,0		; NA POZICI 0
  101	  14A9    CD 014B               	CALL	EXFLG
  102	  14AC    CD 0151               	CALL	TX		; ZOBRAZ TEXT
  103	  14AF    45 4E 54 45           	DB	'ENTER SOURCE '
  104	  14B3    52 20 53 4F           
  105	  14B7    55 52 43 45           
  106	  14BB    20                    
  107	  14BC    4F 52 20 45           	DB	'OR END (S/P/E)?'
  108	  14C0    4E 44 20 28           
  109	  14C4    53 2F 50 2F           
  110	  14C8    45 29 3F              
  111	  14CB    A0                    	DB	' '+80H
  112	  14CC    CD 013F               VYBER7:	CALL	CINCR		; ECHO+ANALYZA
	MACRO-80 3.44	09-Dec-81	PAGE	1-2


  113	  14CF    F5                    	PUSH	PSW		; SCHOV ZNAK POVELU
  114	  14D0    0E 05                 	MVI	C,5		; NASTAV KURZOR
  115	  14D2    3E 00                 	MVI	A,0		; NA RADEK 0
  116	  14D4    CD 014B               	CALL	EXFLG
  117	  14D7    0E 06                 	MVI	C,6		; NASTAV KURZOR
  118	  14D9    3E 19                 	MVI	A,19H		; NA POZICI 25
  119	  14DB    CD 014B               	CALL	EXFLG
  120	  14DE    F1                    	POP	PSW		; OBNOV ZNAK POVELU
  121	  14DF    FE 50                 	CPI	'P'
  122	  14E1    CA 162A               	JZ	PRIJ		; PRIJMI DATA
  123	  14E4    FE 53                 	CPI	'S'
  124	  14E6    CA 1585               	JZ	VYS		; ODESLI DATA
  125	  14E9    FE 45                 	CPI	'E'
  126	  14EB    CA 16D6               	JZ	KONEC		; KONEC
  127	  14EE    C3 14CC               	JMP	VYBER7		; POKUT CHYBA TAK ZNOVU
  128	                                
  129	                                ;VYZVA K ZADANI JMENA SUBORU
  130	  14F1    0E 05                 VZJMEN:	MVI	C,5		; NASTAV KURZOR
  131	  14F3    3E 02                 	MVI	A,2		; NA RADEK 2
  132	  14F5    CD 014B               	CALL	EXFLG
  133	  14F8    0E 06                 	MVI	C,6		; NASTAV KURZOR
  134	  14FA    3E 00                 	MVI	A,0		; NA POZICI 0
  135	  14FC    CD 014B               	CALL	EXFLG
  136	  14FF    CD 0151               	CALL	TX		; ZOBRAZ TEXT
  137	  1502    45 4E 54 45           	DB	'ENTER FILE NAME'
  138	  1506    52 20 46 49           
  139	  150A    4C 45 20 4E           
  140	  150E    41 4D 45              
  141	  1511    20 20 20 20           	DB	'                '
  142	  1515    20 20 20 20           
  143	  1519    20 20 20 20           
  144	  151D    20 20 20 20           
  145	  1521    0D 0A BA              	DB	CR,LF,':'+80H
  146	  1524    C9                    	RET
  147	                                ;
  148	                                
  149	                                
  150	                                
  151	                                ;ODESLE DATA PRES DSM-1/1 PO RS232 S "PODANIM RUKZ"
  152	                                ;PODLE STAVU NA <NAMBUF> SE ROZHODNE ZDA BUDE RIZENI
  153	                                ;PRENOSU PODLE DTR NEBO DTR/CTS
  154	                                
  155	                                ;
  156	  1525    4F                    DOUT:	MOV	C,A		; SCHOV DATA DO <C>
  157	  1526    3A 4103               	LDA	NAMBUF		; NACTI TYP KOMUNIKACE
  158	  1529    B7                    	ORA	A
  159	  152A    79                    	MOV	A,C		; OBNOV DATA
  160	  152B    C2 153E               	JNZ	DOUT3		; POKUT 1 TAK DTR/CTS
  161	                                
  162	                                ;DTR
  163	  152E    4F                    DOUT1:	MOV	C,A		; SCHOV DATA DO <A>
  164	  152F    3E 02                 	MVI	A,2		; DTR "TERMINAL PRIPRAVEN"
  165	  1531    D3 10                 	OUT	WMC		; RIZENI MODEMU
  166	  1533    DB 11                 DOUT2:	IN	RDI		; STAV UARTU
  167	  1535    07                    	RLC
  168	  1536    07                    	RLC			; TBRE DO <CY>
	MACRO-80 3.44	09-Dec-81	PAGE	1-3


  169	  1537    D2 1533               	JNC	DOUT2		; JESTE SE VYSILA
  170	  153A    79                    	MOV	A,C		; VRAT DATA DO <A>
  171	  153B    D3 12                 	OUT	TBRL		; A ODESLI JE PO RS232C
  172	  153D    C9                    	RET
  173	                                
  174	                                ;DTR/CTS
  175	  153E    4F                    DOUT3:	MOV	C,A		; SCHOV DATA DO <C>
  176	  153F    3E 03                 	MVI	A,3		; DTR "TERMINAL PRIPRAVEN", RTS "PRIPRAVEN K PRIJMU"
  177	  1541    D3 10                 	OUT	WMC		; RIZENI MODEMU
  178	  1543    DB 10                 DOUT4:	IN	RMS		; STAV MODEMU
  179	  1545    07                    	RLC			; CTS "POVOLENI K VYSILANI"
  180	  1546    DA 1543               	JC	DOUT4		; NENI-LI CTS TAK ZNOVU
  181	  1549    07                    	RLC			; DSR "VYZVA K VYSILANI"
  182	  154A    DA 1543               	JC	DOUT4		; NENI-LI DSR TAK ZNOVU
  183	  154D    79                    	MOV	A,C		; OBNOV DATA 
  184	  154E    D3 12                 	OUT	TBRL		; A ODESLI JE
  185	  1550    CD 16DE               	CALL	WAIT		; CHVILI POCKEJ
  186	  1553    C9                    	RET
  187	                                
  188	                                ;PRIJME DATA PRES DSM-1/1 PO RS232 S "PODANIM RUKZ"
  189	                                ;PODLE STAVU NA <NAMBUF> SE ROZHODNE ZDA BUDE RIZENI
  190	                                ;PRENOSU PODLE DTR NEBO DTR/DSR/CDC
  191	                                
  192	  1554    3A 4103               DIN:	LDA	NAMBUF		; NACTI TYP KOMUNIKACE
  193	  1557    B7                    	ORA	A
  194	  1558    C2 1568               	JNZ	DIN3		; POKUT 1 TAK DTR/DSR/CDC, JINAK DTR
  195	  155B    3E 03                 DIN1:	MVI	A,3		; DTR "TERMINAL PRIPRAVEN", RTS "PRIPRAVEN K PRIJMU"
  196	  155D    D3 10                 	OUT	WMC		; RIZENI MODEMU
  197	  155F    DB 11                 DIN2:	IN	RDI		; STAV UARTU
  198	  1561    07                    	RLC			; JSOU DATA
  199	  1562    D2 155F               	JNC	DIN2		; NEJSOU-LI TAK ZNOVU
  200	  1565    C3 157D               	JMP	DIN6
  201	                                ;
  202	  1568    3E 02                 DIN3:	MVI	A,2		; DTR "TERMINAL PRIPRAVEN"
  203	  156A    D3 10                 	OUT	WMC		; RIZENI MODEMU
  204	  156C    DB 10                 DIN4:	IN	RMS		; STAV MODEMU
  205	  156E    07                    	RLC
  206	  156F    07                    	RLC			; DSR "VYZVA K VYSILANI"
  207	  1570    DA 156C               	JC	DIN4		; NENI-LI DSR TAK ZNOVU
  208	  1573    07                    	RLC			; DCD "POVOLENI KOMUNIKACE"
  209	  1574    DA 156C               	JC	DIN4		; NENI-LI DCD TAK ZNOVU
  210	  1577    DB 11                 DIN5:	IN	RDI		; STAV UARTU
  211	  1579    07                    	RLC			; JSOU DATA
  212	  157A    D2 1577               	JNC	DIN5		; NEJSOU-LI TAK ZNOVU
  213	  157D    DB 12                 DIN6:	IN	ROD		; CTI DATA
  214	  157F    4F                    	MOV	C,A		; SCHOV DATA DO <C>
  215	  1580    AF                    	XRA	A		; SHOD DTR A RTS
  216	  1581    D3 10                 	OUT	WMC		; RIZENI MODEMU
  217	  1583    79                    	MOV	A,C		; OBNOV DATA
  218	  1584    C9                    	RET
  219	                                ;
  220	  1585    CD 0151               VYS:	CALL	TX		; ZOBRAZ TEXT
  221	  1588    3E 3E BE              	DB	'>>','>'+80H
  222	  158B    CD 14F1               	CALL	VZJMEN		; VYZVA K ZADANI JMENA SUBORU
  223	  158E    CD 15E0               	CALL	NSL		; NASTAV SERIOAVOU LINKU
  224	  1591    3E 02                 	MVI	A,2		; STX
	MACRO-80 3.44	09-Dec-81	PAGE	1-4


  225	  1593    CD 1525               	CALL	DOUT		; ODESLI DATA
  226	  1596    CD 1695               	CALL	JMENO		; NACTI A ODESLI JMENO SOUBORU
  227	  1599    CD 15D4               	CALL	PARAM		; NACTI PARAMETRY
  228	  159C    CD 15EA               	CALL	OPARAM		; A ODESLIJE
  229	  159F    CD 1606               	CALL	OLF		; ODESLE LF
  230	  15A2    3A 4103               	LDA	NAMBUF		; NACTI TYP PRENOSU
  231	  15A5    B7                    	ORA	A
  232	  15A6    CA 15B6               	JZ	VYS2		; JE-LI 0 TAK TXT (30H - 3FH), JINAK BIN
  233	  15A9    7E                    VYS1:	MOV	A,M		; NACTI DATA
  234	  15AA    CD 153E               	CALL	DOUT3		; ADESLI JE
  235	  15AD    CD 0136               	CALL	HILO
  236	  15B0    D2 15A9               	JNC	VYS1		; POKUT NENI KONC TAK DALSI
  237	  15B3    C3 16AD               	JMP	TRANS		; DOTAZ NA KONEC PRENOSU
  238	                                ;
  239	  15B6    7E                    VYS2:	MOV	A,M		; NACTI DATA
  240	  15B7    47                    	MOV	B,A		; ACHOV DO <B>
  241	  15B8    CD 15CC               	CALL	VYS3		; PREVOD
  242	  15BB    78                    	MOV	A,B		; OBNOV DATA
  243	  15BC    0F                    	RRC
  244	  15BD    0F                    	RRC
  245	  15BE    0F                    	RRC
  246	  15BF    0F                    	RRC			; ROTACE O 4 DITI V PRAVO
  247	  15C0    CD 15CC               	CALL	VYS3		; PREVOD
  248	  15C3    CD 0136               	CALL	HILO
  249	  15C6    D2 15B6               	JNC	VYS2		; POKUT NENI KONC TAK DALSI
  250	  15C9    C3 16AD               	JMP	TRANS		; DOTAZ NA KONEC PRENOSU
  251	                                ;
  252	  15CC    E6 0F                 VYS3:	ANI	0FH		; JEN SPODNI 4 BITI
  253	  15CE    C6 30                 	ADI	30H		; PRICTI 30H TJ. 0
  254	  15D0    CD 152E               	CALL	DOUT1		; ODESLI DATA
  255	  15D3    C9                    	RET
  256	                                ;NACTE PARAMETRY PRO PRENOS
  257	                                ;POCATEK DAT <HL>
  258	                                ;KONEC DAT <DE>
  259	                                ;KAM UKLADAT PRI CTENI <BC>
  260	  15D4    0E 03                 PARAM:	MVI	C,3		; BUDOU 3 PARAMETRY
  261	  15D6    CD 0127               	CALL	EXPR		; NACTI JE
  262	  15D9    C1                    	POP	B		; KAM UKLADAT PRI CTENI
  263	  15DA    D1                    	POP	D		; KONEC DAT
  264	  15DB    E1                    	POP	H		; POCATEK DAT
  265	  15DC    C9                    	RET
  266	                                ;
  267	                                ;MRTVY KOD
  268	                                ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  269	  15DD    32 4103               	STA	NAMBUF		; 15DD  32 03 41	2.A
  270	                                ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  271	                                ;
  272	                                ;
  273	                                ;NASTAVI SERIOVOU LINKU
  274	  15E0    AF                    NSL:	XRA	A		; RS 232C, DTR A RTS NEAKTIVNI
  275	  15E1    D3 10                 	OUT	WMC		; RIZENI MODEMU
  276	  15E3    3E 0D                 	MVI	A,00001101B	; 8 BITU, 1 STOP BIT, BEZ PATITY
  277	  15E5    D3 11                 	OUT	CRL		; RIZENI UARTU
  278	  15E7    DB 12                 	IN	ROD		; PRIJMUTA DATA
  279	  15E9    C9                    	RET
  280	                                ;
	MACRO-80 3.44	09-Dec-81	PAGE	1-5


  281	                                ;ODESLE PARATRY Z REBISTRU <BC>, <DE> A <HL>
  282	                                ;POCATEK DAT <HL>
  283	                                ;KONEC DAT <DE>
  284	                                ;KAM UKLADAT PRI CTENI <BC>
  285	  15EA    79                    OPARAM:	MOV	A,C
  286	  15EB    C5                    	PUSH	B
  287	  15EC    CD 1525               	CALL	DOUT
  288	  15EF    C1                    	POP	B
  289	  15F0    78                    	MOV	A,B
  290	  15F1    CD 1525               	CALL	DOUT
  291	  15F4    7B                    	MOV	A,E
  292	  15F5    CD 1525               	CALL	DOUT
  293	  15F8    7A                    	MOV	A,D
  294	  15F9    CD 1525               	CALL	DOUT
  295	  15FC    7D                    	MOV	A,L
  296	  15FD    CD 1525               	CALL	DOUT
  297	  1600    7C                    	MOV	A,H
  298	  1601    CD 1525               	CALL	DOUT
  299	  1604    78                    	MOV	A,B
  300	  1605    C9                    	RET
  301	                                ;
  302	  1606    3E 0A                 OLF:	MVI	A,LF		; DO <A> LF
  303	  1608    CD 1525               	CALL	DOUT		; A ODESLI
  304	  160B    C9                    	RET
  305	                                ;
  306	                                ;MRTVY KOD
  307	                                ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  308	  160C    E5                    	PUSH	H		; 160C  E5		E
  309	  160D    4E                    	MOV	C,M		; 160D  4E		N
  310	  160E    23                    	INX	H		; 160E  23		#
  311	  160F    46                    	MOV	B,M		; 160F  46		F
  312	  1610    23                    	INX	H		; 1610  23		#
  313	  1611    5E                    	MOV	E,M		; 1611  5E		^
  314	  1612    23                    	INX	H		; 1612  23		#
  315	  1613    56                    	MOV	D,M		; 1613  56		V
  316	  1614    C5                    	PUSH	B		; 1614  C5		E
  317	  1615    C1                    X1615:	POP	B		; 1615  C1		A
  318	  1616    78                    	MOV	A,B		; 1616  78		X
  319	  1617    B1                    	ORA	C		; 1617  B1		1
  320	  1618    CA 1625               	JZ	X1625		; 1618  CA 25 16	J%.
  321	  161B    0B                    	DCX	B		; 161B  0B		.
  322	  161C    C5                    	PUSH	B		; 161C  C5		E
  323	  161D    1A                    	LDAX	D		; 161D  1A		.
  324	  161E    CD 1525               	CALL	DOUT		; 161E  CD 25 15	M%.
  325	  1621    13                    	INX	D		; 1621  13		.
  326	  1622    C3 1615               	JMP	X1615		; 1622  C3 15 16	C..
  327	                                ;
  328	  1625    CD 1606               X1625:	CALL	OLF		; 1625  CD 06 16	M..
  329	  1628    E1                    	POP	H		; 1628  E1		A
  330	  1629    C9                    	RET			; 1629  C9		I
  331	                                ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  332	                                ;
  333	                                ;
  334	  162A    CD 0151               PRIJ:	CALL	TX		; ZOBRAZ TEXT
  335	  162D    3C 3C BC              	DB	'<<','<'+80H
  336	  1630    CD 14F1               	CALL	VZJMEN		; VYZVA K ZADANI JMENA SUBORU
	MACRO-80 3.44	09-Dec-81	PAGE	1-6


  337	  1633    CD 15E0               	CALL	NSL		; NASTAV SERIOVOU LINKY
  338	  1636    3E 04                 	MVI	A,4		; EOT
  339	  1638    CD 1525               	CALL	DOUT		; ODESLI DATA
  340	  163B    CD 1695               	CALL	JMENO		; NACTI A ODESLI JMENO SOUBORU
  341	  163E    CD 1675               	CALL	CADR		; NACTI ADRESY
  342	  1641    3A 4103               	LDA	NAMBUF		; NACTI TYP PRENOSU
  343	  1644    B7                    	ORA	A
  344	  1645    CA 1658               	JZ	PRIJ2		; JE-LI 0 TAK TXT (30H - 3FH), JINAK BIN
  345	  1648    C5                    PRIJ1:	PUSH	B		; SCHOV ADRESU
  346	  1649    CD 1568               	CALL	DIN3		; NACTI DATA
  347	  164C    C1                    	POP	B		; OBNOV ADRESU
  348	  164D    02                    	STAX	B		; ULOZ DATA
  349	  164E    03                    	INX	B		; ADRESA +1
  350	  164F    CD 0136               	CALL	HILO
  351	  1652    D2 1648               	JNC	PRIJ1		; POKUT NENI VSE TAK DALSI
  352	  1655    C3 16AD               	JMP	TRANS		; DOTAZ NA KONEC PRENOSU
  353	                                ;
  354	  1658    C5                    PRIJ2:	PUSH	B		; SCHOV ADRESU
  355	  1659    CD 155B               	CALL	DIN1		; NACTI DATA
  356	  165C    E6 0F                 	ANI	0FH		; JEN SODNI 4 BITI
  357	  165E    47                    	MOV	B,A		; ODLOZ DO <B>
  358	  165F    CD 155B               	CALL	DIN1		; NACTI DATA
  359	  1662    07                    	RLC
  360	  1663    07                    	RLC
  361	  1664    07                    	RLC
  362	  1665    07                    	RLC			; ROTACE O 4 BITI V LEVO
  363	  1666    E6 F0                 	ANI	0F0H		; JEN HORNI 4 BITI
  364	  1668    80                    	ADD	B		; SECTI <B> S <A>
  365	  1669    C1                    	POP	B		; OBNOV ADRESU
  366	  166A    02                    	STAX	B		; ULOZ
  367	  166B    03                    	INX	B		; ADRESA +1
  368	  166C    CD 0136               	CALL	HILO
  369	  166F    D2 1658               	JNC	PRIJ2		; POKUT NENI KONEC TAK DALSI
  370	  1672    C3 16AD               	JMP	TRANS		; DOTAZ NA KONEC PRENOSU
  371	                                ;
  372	                                ;NACTE ADRESY
  373	                                ;POCATEK DAT <HL>
  374	                                ;KONEC DAT <DE>
  375	                                ;KAM UKLADAT PRI CTENI <BC>
  376	  1675    CD 1554               CADR:	CALL	DIN
  377	  1678    FE 00                 	CPI	0
  378	  167A    C2 1675               	JNZ	CADR		; POKUT 0 TAK ZNOVU
  379	  167D    6F                    	MOV	L,A
  380	  167E    CD 1554               	CALL	DIN
  381	  1681    67                    	MOV	H,A
  382	  1682    E5                    	PUSH	H
  383	  1683    CD 1554               	CALL	DIN
  384	  1686    5F                    	MOV	E,A
  385	  1687    CD 1554               	CALL	DIN
  386	  168A    57                    	MOV	D,A
  387	  168B    CD 1554               	CALL	DIN
  388	  168E    6F                    	MOV	L,A
  389	  168F    CD 1554               	CALL	DIN
  390	  1692    67                    	MOV	H,A
  391	  1693    C1                    	POP	B
  392	  1694    C9                    	RET
	MACRO-80 3.44	09-Dec-81	PAGE	1-7


  393	                                ;
  394	                                ;
  395	  1695    06 0A                 JMENO:	MVI	B,0AH		; 10 ZNAKU PRO JMENO
  396	  1697    21 4104               	LXI	H,NAMBUF+1	; POCATEK BUFRU PRO JMENO SOUBORU
  397	  169A    E5                    	PUSH	H		; SCHOV ADRESU
  398	  169B    CD 16EA               	CALL	VSTXT		; ZADAJ JMENO
  399	  169E    36 0A                 	MVI	M,0AH		; ULOZ NA KONEC TEXTU LF
  400	  16A0    EB                    	XCHG			; DOHOD <DE> A <HL>
  401	  16A1    E1                    	POP	H		; OBNOV ADRESU POCATKU BUFFERU
  402	  16A2    7E                    JMENO1:	MOV	A,M		; NACTI DATA
  403	  16A3    CD 1525               	CALL	DOUT		; A ODESLI JE
  404	  16A6    CD 0136               	CALL	HILO
  405	  16A9    D2 16A2               	JNC	JMENO1		; POKUT NENI KONEC TAK DALSI
  406	  16AC    C9                    	RET
  407	                                ;
  408	  16AD    CD 0151               TRANS:	CALL	TX		; ZOBRAZ TEXT
  409	  16B0    54 52 41 4E           	DB	'TRANSFER DONE',CR,LF
  410	  16B4    53 46 45 52           
  411	  16B8    20 44 4F 4E           
  412	  16BC    45 0D 0A              
  413	  16BF    52 45 50 45           	DB	'REPEAT(Y/N)','?'+80H
  414	  16C3    41 54 28 59           
  415	  16C7    2F 4E 29 BF           
  416	  16CB    CD 013F               	CALL	CINCR		; ECHO+ANALYZA
  417	  16CE    FE 59                 	CPI	'Y'
  418	  16D0    CA 1464               	JZ	VYBER4
  419	  16D3    C3 0139               	JMP	NEXT		; NAVRAT DO MONITORU
  420	                                ;
  421	  16D6    3E FF                 KONEC:	MVI	A,0FFH		; FF - KONEN PRENOSU ??
  422	  16D8    CD 1525               	CALL	DOUT		; ODESLI DATA
  423	  16DB    C3 0139               	JMP	NEXT		; NAVRAT DO MONITORU
  424	                                ;
  425	                                ;SPOZDOVACI SMICKA
  426	                                ;T=(24*<BC>)+29US = 6149US 
  427	  16DE    C5                    WAIT:	PUSH	B		; 11 SCHOV <BC>
  428	  16DF    01 00FF               	LXI	B,00FFH		; 10 255 CIKLU
  429	  16E2    0B                    WAIT1:	DCX	B		; 5
  430	  16E3    78                    	MOV	A,B		; 5
  431	  16E4    B1                    	ORA	C		; 4
  432	  16E5    C2 16E2               	JNZ	WAIT1		; 10
  433	  16E8    C1                    	POP	B		; 10 OBNOV <BC>
  434	  16E9    C9                    	RET			; 10+17
  435	                                ;
  436	                                ;VSTUP TEXTU
  437	                                ;V <HL> JE 4104H, V <B> JE 0AH
  438	                                ;
  439	  16EA    5D                    VSTXT:	MOV	E,L		; SCHOV ADRESU
  440	  16EB    36 20                 VSTXT1:	MVI	M,' '		; ULOZ MEZERU
  441	  16ED    CD 0596               	CALL	CI@		; "103H" VSTUP Z CONSOLI
  442	  16F0    E6 7F                 	ANI	7FH		; JEN SPODNICH 7 BITU
  443	  16F2    FE 03                 	CPI	3		; JE-LI EXT "KONEC TEXTU"
  444	  16F4    CA 0139               	JZ	NEXT		; NAVRAT DO MONITORU
  445	  16F7    FE 0D                 	CPI	CR		; JE-LI KONEC RADKU
  446	  16F9    CA 171F               	JZ	VSTXT4		; 2X CRLF A NAVRAT
  447	  16FC    FE 7F                 	CPI	7FH		; DEL
  448	  16FE    CA 1706               	JZ	VSTXT2		; JE-LI
	MACRO-80 3.44	09-Dec-81	PAGE	1-8


  449	  1701    FE 08                 	CPI	BS		; ZNAK ZPET
  450	  1703    C2 1716               	JNZ	VSTXT3		; MAME NORMALNI ZNAK
  451	  1706    7B                    VSTXT2:	MOV	A,E		; ADRESU DO <A>
  452	  1707    BD                    	CMP	L		; SROVNEJ SE SKUTECNOU
  453	  1708    CA 16EB               	JZ	VSTXT1		; POKUT SHODA TAK DALSI ZNAK
  454	  170B    2B                    	DCX	H		; ADRESA -1
  455	  170C    04                    	INR	B		; POCITADLO +1
  456	  170D    CD 0151               	CALL	TX		; ZOBRAZ TEXT
  457	  1710    08 20 88              	DB	BS,' ',BS+80H	; SMAZ ZNAK
  458	  1713    C3 16EB               	JMP	VSTXT1		; DALSI ZNAK
  459	                                ;
  460	  1716    77                    VSTXT3:	MOV	M,A		; ULOZ ZNAK
  461	  1717    23                    	INX	H		; DALSI ADRESA
  462	  1718    CD 0568               	CALL	COA@@		; ZOBRAZ ZNAK
  463	  171B    05                    	DCR	B		; POCITADLO -1
  464	  171C    C2 16EB               	JNZ	VSTXT1		; POKUT NENI 0 TAK DALSI ZNAK
  465	  171F    CD 0124               VSTXT4:	CALL	CRLF		; ODRADKUJ
  466	  1722    C3 0124               	JMP	CRLF		; ODRADKUJ
  467	                                ;
  468	                                	END
	MACRO-80 3.44	09-Dec-81	PAGE	S


Macros:

Symbols:
0008 	BS              1675 	CADR            0596 	CI@             
013F 	CINCR           0568 	COA@@           000D 	CR              
0011 	CRL             0124 	CRLF            1554 	DIN             
155B 	DIN1            155F 	DIN2            1568 	DIN3            
156C 	DIN4            1577 	DIN5            157D 	DIN6            
1525 	DOUT            152E 	DOUT1           1533 	DOUT2           
153E 	DOUT3           1543 	DOUT4           014B 	EXFLG           
0127 	EXPR            001D 	GS              0136 	HILO            
1695 	JMENO           16A2 	JMENO1          16D6 	KONEC           
000A 	LF              4103 	NAMBUF          0139 	NEXT            
15E0 	NSL             1606 	OLF             15EA 	OPARAM          
15D4 	PARAM           162A 	PRIJ            1648 	PRIJ1           
1658 	PRIJ2           0011 	RDI             0010 	RMS             
0012 	ROD             0013 	RUART           0012 	TBRL            
16AD 	TRANS           0151 	TX              001F 	US              
16EA 	VSTXT           16EB 	VSTXT1          1706 	VSTXT2          
1716 	VSTXT3          171F 	VSTXT4          143D 	VYBER           
145B 	VYBER1          145F 	VYBER2          1461 	VYBER3          
1464 	VYBER4          1498 	VYBER5          149E 	VYBER6          
14CC 	VYBER7          1585 	VYS             15A9 	VYS1            
15B6 	VYS2            15CC 	VYS3            14F1 	VZJMEN          
16DE 	WAIT            16E2 	WAIT1           0010 	WMC             
1615 	X1615           1625 	X1625           



No Fatal error(s)



BS	    4#	  449	  457	  457
CADR	  341	  376#	  378
CI@	   21#	  441
CINCR	   26#	   58	  112	  416
COA@@	   28#	  462
CR	    7#	   50	   51	  145	  412	  445
CRL	   15#	  277
CRLF	   22#	  465	  466
DIN	  192#	  376	  380	  383	  385	  387	  389
DIN1	  195#	  355	  358
DIN2	  197#	  199
DIN3	  194	  202#	  346
DIN4	  204#	  207	  209
DIN5	  210#	  212
DIN6	  200	  213#
DOUT	  156#	  225	  287	  290	  292	  294	  296	  298	  303	  324	  339	  403
	  422
DOUT1	  163#	  254
DOUT2	  166#	  169
DOUT3	  160	  175#	  234
DOUT4	  178#	  180	  182
EXFLG	   27#	   65	   68	   98	  101	  116	  119	  132	  135
EXPR	   23#	  261
GS	    5#	   41	   77
HILO	   24#	  235	  248	  350	  368	  404
JMENO	  226	  340	  395#
JMENO1	  402#	  405
KONEC	  126	  421#
LF	    8#	   50	   51	  145	  302	  412
NAMBUF	   34#	   75	   87	  157	  192	  230	  269	  342	  396
NEXT	   25#	  419	  423	  444
NSL	  223	  274#	  337
OLF	  229	  302#	  328
OPARAM	  228	  285#
PARAM	  227	  260#
PRIJ	  122	  334#
PRIJ1	  345#	  351
PRIJ2	  344	  354#	  369
RDI	   12#	  166	  197	  210
RMS	   11#	  178	  204
ROD	   13#	  213	  278
RUART	   17#
TBRL	   16#	  171	  184
TRANS	  237	  250	  352	  370	  408#
TX	   31#	   40	   76	   90	   94	  102	  136	  220	  334	  408	  456
US	    6#	   41	   77
VSTXT	  398	  439#
VSTXT1	  440#	  453	  458	  464

VSTXT2	  448	  451#
VSTXT3	  450	  460#
VSTXT4	  446	  465#
VYBER	   58#	   69
VYBER1	   60	   71#
VYBER2	   62	   74#
VYBER3	   72	   75#
VYBER4	   76#	  418
VYBER5	   89	   94#
VYBER6	   92	   96#
VYBER7	  112#	  127
VYS	  124	  220#
VYS1	  233#	  236
VYS2	  232	  239#	  249
VYS3	  241	  247	  252#
VZJMEN	  130#	  222	  336
WAIT	  185	  427#
WAIT1	  429#	  432
WMC	   14#	  165	  177	  196	  203	  216	  275
X1615	  317#	  326
X1625	  320	  328#


ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / ZPS-2 / Program pro přenos dat po RS232C s "podáním ruky"



SAPI.cz - web o československých osmibitech, zejména SAPI-1. Provozuje EC1045 od roku 2011
Za korekce češtiny dekuji: MELSOFTovi, Silliconovi, Martinu Lukáškovi a NOSTALCOMPovi

Když začínám blbnout z 8bitů tak se chodím léčit mezi otaku.
Animefest.cz