Ú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


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


8 bity / SAPI-1 / Programové vybavení / ZPS-2 / BASIC EXP V5.0




VÝPIS PROGRAMU:



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	 B A S I C        EXP		( V 5.0  )
					DNE 25.3.87
       	(C) 1986 TESLA DIZ BRNO 	[PERINA]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

   BASIC EX(TEND OF) P(ASCAL) JE SHORA KOMPATIBILNI S
BASICEM V4.0 EX A JE NAVIC ROZSIREN O NASLEDUJICI PRIKAZY.
BASIC EXP JE URCEN PRO MIKROPOCITACE SAPI-1 A ONDRA.


  1) RIDICI PROGRAMOVE STRUKTURY OBDOBNE PASCALU
	IF-THEN-ELSE    S MOZNOSTI DEKLARACE BLOKU (BEG-BEND)
		        A VNORENI ROZHODOVACICH PRIKAZU.
	REPEAT-UNTIL    PRIKAZ CYKLU.
	WHILE-DO-WEND   PRIKAZ CYKLU.
	PROC JMENO(PAR1,PAR2,..VAR PARN.)...VOLANI PROCEDUR
		        JMENEM A PREDAVANI PARAMETRU.
	FUNC JMENO(PAR1,PAR2...PARN) .......VOLANI VICERADKOVE FUNKCE
		        JMENEM VCETNE PREDANI PARAMETRU. (FUNKCE MUZE
		        PRACOVAT I SE STRINGOVYMI PROMENNYMI.)
	ON-GOTO/GOSUB-ELSE

  2) NOVE EDICNI FUNKCE
	AUTO	 AUTOMATICKE CISLOVANI RADKU.
	SEEK     VYHLEDANI CASTI TEXTU PROGRAMU A PRECHOD
	         DO EDITORU.
	@	 MOZNOST EDICE PO CHYBE NEBO OPRAVE BEZ
		 ZADANI CISLA RADKU.
	RENUM    PRECISLOVANI PROGAMOVYCH RADEK A ODKAZU
		 NA NE V PRIKAZECH (GOTO, THEN...).
	DELETE   ZRUSENI CASTI PROGRAMU.

	1-64999 JE MAXIMALNI POCET RADKU.

	GENEROVANI KLICOVYCH SLOV KLAVESOU "->" A PISMENEM (A-Z).

  3) MODUL PRO RIZENI PRERUSENI
	INTRP	     ZADANI POCATECNICH PARAMETRU PRO RIZENI.
	INTRP ON     POVOLENI PRERUSENI.
	INTRP OFF    ZAKAZANI PRERUSENI.

  4) DALSI ROZSIRENI
	USING	     PRIKAZ PRINT JE ROZSIREN O MOZNOST RIZENI
	      	     FORMATU VYSTUPNICH DAT.
	DEG ON/OFF   PREPINANI MEZI RADIANY A DEGREE.
	TR STEP      TRASOVANI PO KROCICH.
	SAVEB/LOADB  UKLADANI A CTENI BINARNIHO KODU PROGRAMU.
	SAVEP/LOADP  UKLADANI A CTENI BINARNIHO SOUBORU TYPU
		     PRIVAT, KTERY NELZE VYPSAT ANI ZOBRAZIT.
	SAVE "JMENO" MOZNOST ZADANI JMENA V PROGRAMU.
	CLEAR 	     JAKO DRUHY PARAMETR MUZE BYT POCET BYTE
		     PRO REZERVOVANI PAMETI.
	CALL/USR     MOHOU PRENASET DVA 16-TI BITOVE PARAMETRY.

P O Z N A M K A:
----------------
   JDE O POPIS BASICU V5.0, KTERY JE IMPLEMENTOVAN NA ONDROVI.
PROTO NEKTERE FUNKCE NEMOHOU FUNGOVAT NA SAPI-1 S MONITOREM 
V4.0 (NAPR. WND, LOAD B "JMENO.." ATD). VYUZITI TECHTO FUNKCI
NA SAPI-1 UMOZNI NOVY MONITOR V5.0.



RESERVOVANA SLOVA (BASIC EXP V5.0):
-----------------------------------

ABS	AND	ASC	ATN	AUTO	BEEP	BEG	BEND	BYE
CALL	CHR$	CLEAR	CLOSE	CLS	CODE	CONT	COS	CURS
DATA	DEF	DEG	DELETE	DIM	DO	ELSE	END	ENDF
ENDP	END	EXP	FILL	FIND	FN	FOR	FRE	FUNC
GET	GOSUB	GOTO	HEX	IF	INKEY	INP	INPUT	INT
INTRP	LEFT$	LEN	LET	LIST	LLIST	LOAD	LOADB	LOG
MID$	MODE	NEW	NEXT	NOT	ON	OPEN	OR	OUT
PEEK	POKE	POS	PRINT	PROC	PTR	PUT	READ	REM
REPEAT	RENUM	RESTORE	RETURN	RIGHT$	RND	RUN	SAVE	SAVEB
SAVEP	SEEK	SGN	SIN	SPC	SQR	STEP	STOP	STR$
TAB	TAN	THEN	TO	TRON	TROFF	TRSTEP	UNTIL	USING
USR	VAL	VAR	WND	WAIT	WEND	WHILE	XOR
!	@	+	-	/	*	^	=	&
#	(	)	<	>	.

POZNAMKA: ONDRA MA MISTO MODE PRIKAZ FAST.


GRAFICKE PRIKAZY (BASIC EXP V5.0/G):
------------------------------------

AXES	COLOR	CLSG	DRAW	FILL	GETP	DEF CODE     DEF FILL
GETX	GETY	LABEL	MOVE	PLOT	SCALE	DRAW INPUT


ARITMETICKE OPERATORY:
----------------------

        + ..... PLUS,SECITANI
        - ..... MINUS,ODECITANI
        * ..... KRAT,NASOBENI
        / ..... LOMENO,DELENI
        ^ ..... UMOCNENO
      ( ) ..... ZAVORKY


RELACNI OPERATORY:
------------------

        >  .... VETSI
        <  .... MENSI
        =  .... SHODNY
        >= .... VETSI NEBO SHODNY
        =< .... SHODNY NEBO MENSI
        <> .... NESHODNY
                  

LOGICKE OPERATORY:
------------------

        NOT ... LOGICKA INVERZE,NEGACE
        OR  ... LOGICKY SOUCET
        AND ... LOGICKY SOUCIN
	XOR ... LOGICKA NEEKVIVALENCE


POZNAMKA:
---------
   V DALSIM POPISU BUDOU POUZITY K DEFINOVANI TYPU PROMENNYCH,
VYRAZU A CISEL RADKU SYMBOLY, KTERE NEMAJI VZTAH K JAZYKU "BASIC"
A SLOUZI JEN KE ZKRACENI POPISU. JEDNA SE O SYMBOLY:

  A ... CISELNA KONSTANTA, CISELNA PROMENNA NEBO ARITMETICKY
	VYRAZ.
        POUZITELNY CISELNY ROZSAH:  1.70141E+38  <->  1E-38
                                    0
                                   -1E-38  <->  -1.70141E+38
  
  S$ .. STRING (STRINGOVA KONSTANTA), RETEZCOVA PROMENNA NEBO
	RETEZCOVY VYRAZ.
	DELKU STRINGOVYCH PROMENNYCH NENI NUTNO DIMENSOVAT, NASTAVUJI
	SE DYNAMICKY, JE POUZE NUTNO DEFINOVAT CELKOVY PAMETOVY PROSTOR
	PRO RETEZCOVE PROMENNE POVELEM "CLEAR N" (N ... POCET BYTE).
	NENI MOZNO SPOJOVAT RETEZCE, JEJICH VYSLEDNA DELKA BY BYLA
	VETSI NEZ POCET ZNAKU RESERVOVANYCH POVELEM "CLEAR".

  L ... LOG. KONSTANTA, LOG. PROMENNA, RELACE NEBO LOGICKY VYRAZ.        

        LOG. KONSTANTA ... 0, -1
        LOG. PROMENNA .... PROMENNA, NABYVAJICI HODNOT 0 NEBO -1 (NOT 0)
        RELACE ........... A=B  DAT(I)>=C  ALFA<>BETA  A(I,J)<10
        LOG. VYRAZ ....... A=B OR C=D  ALFA<BETA AND A(I)=C  M OR N AND O
			  HEX(80) XOR ALFA

  N, LINE ................ CELE CISLO, CISLO RADKU (0 - 64999).

  PAR,PAR1,PAR2 - PARN ... PARAMETR ( ARGUMENT ).



********************************************************************




		INSTRUKCE JAZYKA

		%%%%%%%%%%%%%%%%



	DEKLARACE PROMENYCH A PRIRAZENI HODNOTY
	=======================================


DIM ........... DEFINOVANI POCTU ROZMERU POLI, DOLNI MEZ INDEXU JE 0.
		HORNI MEZ SE UVADI V PRIKAZU DIM. IMPLICITNI HODNOTA
		JE 10 (NENI-LI PRIKAZ DIM UVEDEN). MAX. POCET INDEXU
		(ROZMERU POLE) JE 8.

 	PR/     DIM A(15),B(20,M),A$(19)


VAR ........... DEFINOVANI PROMENNYCH A ODKAZU PRI VOLANI PROCEDUR.

	PR/	VAR X,Y,Z
		PROC JMENO(A,VAR X)


LET P=A ....... PROVEDE VYRAZ A PRIDELI VYSLEDEK PROMENNE.
		"LET" NENI POVINNE !

        PR/     LET A=B*C+D/E
                LET B$=A$+B$
                A=B*C+D/E



	DEKLARACE FUNKCE A PROCEDURY
	============================


DEF FNA(P) .... DEFINICE JEDNORADKOVE NUMERICKE FUNKCE JEDNE PROMENNE. 
    :           PARAMETR SE NEMUSI VE VLASTNI FUNKCI VYSKYTOVAT, JE VSAK
DEF FNZZ(P)	NUTNO JEJ ALESPON FORMALNE V NAZVU FUNKCE UVEST. VOLANI
		FUNKCE SE PROVADI UVEDENIM JMENA FUNKCE.

	PR/	DEF FNA(P)=P^2+P+10
		DEF FNAB(N)=FNA(N)+N^2
		DEF FNP(PI)=3.14159	! ARGUMENT JE BEZVYZNAMNY,
					! FUNKCE JE FORMALNE SPRAVNA,
					! LEPE JE ALE: A=3.14159 
		DEF FNR(DG)=FNP(PI)/180*DG	! =A/180*DEG


FUNC JMENO(PAR1,...,PARN)
		DEFINICE VICERADKOVE FUNKCE, POCET VSTUPNICH PARAMETRU
		NENI OMEZEN. V TELU FUNKCE MUSI BYT JMENU FUNKCE PRIRAZENA
		HODNOTA. DEKLARACE FUNKCE MUSI BYT UKONCENA PRIKAZEM ENDF.
		VICERADKOVA FUNKCE SE MUZE POUZIT JAK PRO NUMERICKE
		PROMENNE TAK I PRO RETEZCOVE PROMENNE.
		PARAMETRY FUNKCE JSOU NEPOVINNE.
		VOLANI VICERADKOVE FUNKCE SE PROVADI UVEDENIM JMENA FUNKCE,
		KTEREMU PREDCHAZI ZNAK "&".

ENDF .......... UKONCENI DEKLARACE FUNKCE.

	PR/	FUNC UHEL(A,B)		! PRIKLAD DEFINICE
		   .
		   .
		  UHEL=8*B+A/C		! VYSLEDEK
		ENDF


PROC JMENO(PAR1,...,PARN)
		DEKLARACE PROCEDURY VOLANE JMENEM. PARAMETRY JSOU NEPOVINNE.
		PROCEDURA - PODPROGRAM MUZE BYT	NA VICE RADCICH. DEKLARACE
		PROCEDURY VOLANE JMENEM MUSI BYT UKONCENA PRIKAZEM ENDP.
		PODOBNE JAKO V JAZYKU PASCAL SE DEKLARUJE FUNKCE NEBO
		PROCEDURA PRED VOLANIM, T.J. NA ZACATKU PROGRAMU. NA ROZDIL
		OD PODPROGRAMU SE DEFINICE PROCEDURY NEVYKONA.

ENDP .......... UKONCENI DEKLARACE PROCEDURY VOLANE JMENEM.

	PR/	PROC NAZEV(P1,P2)
		   .
		   .
		ENDP

		VOLANI VIZ PRIKAZ GOSUB.


POZNAMKA K DEKLARACI FUNKCE A PROCEDURY VOLANE JMENEM:
	- NAZEV FUNKCE I PROCEDURY MA NEOMEZENY POCET ZNAKU.
	- NAZEV MUZE BYT SHODNY S NAZVY PROMENNYCH CI POLI.
	- POCET PARAMETRU FUNKCE CI PROCEDURY NENI OMEZEN.
	  POCET SKUTECNYCH PARAMETRU PRI VOLANI FUNKCE CI PROCEDURY
	  VSAK MUSI ODPOVIDAT POCTU FORMALNICH PARAMETRU V JEJICH
	  DEKLARACI.
	- DEKLARACE FUNKCI A PROCEDUR MAJI BYT NA ZACATKU PROGRAMU.



	VOLANI FUNKCI, PODPROGRAMU A PROCEDUR
	=====================================


FNA(P) ........ VOLANI DEFINOVANE FUNKCE.
  :
FNZZ(P)
	PR/	A=FNP(PI)


&JMENO(PAR1,...,PARN)
		VOLANI DEFINOVANE FUNKCE, POCET PARAMETRU MUSI
		ODPOVIDAT DEFINICI FUNKCE.

	PR/	PRINT &UHEL(ALFA,BETA)	! VOLANI FUNKCE DEF. JMENEM


	VOLANI PODPROGRAMU A PROCEDUR
	-----------------------------

PODPROGRAMY V BASICU EXP MOHOU BYT VOLANY DVEMA ZPUSOBY: BUD, JAK JE 
V BASICU OBVYKLE, VOLANIM CISLA RADKU A NEBO VOLANIM JMENEM S MOZNOSTI
PREDAVAT PARAMETRY. V OBOU PRIPADECH MUSI BYT PODPROGRAM UKONCEN
PRIKAZEM RETURN.
BASIC EXP BYL ROZSIREN O MOZNOST VOLANI PROCEDUR JMENEM S PRENOSEM
PARAMETRU. V TOMTO PRIPADE MUSI BYT PROCEDURA DEKLAROVANA POMOCI PRIKAZU
PROC A UKONCENA PRIKAZEM ENDP.
PODPROGRAM MUZE BYT VOLAN STEJNE JAKO PROCEDURA. VOLANIM PODPROGRAMU A
PROCEDUR JMENEM SE ZVYSUJE CITELNOST A PREHLEDNOST PROGRAMUV BASICU.
PODPROGRAM SE LISI OD PROCEDURY UMISTENIM V PROGRAMU (KE KONCI PROGRAMU)
A UKONCENIM (INSTRUKCI RETURN).


GOSUB N ....... VYVOLANI PODPROGRAMU (N=CISLO RADKU).

GOSUB JMENO(PAR1,...,PARN)
		VYVOLANI PROCEDURY JMENEM A ZAVEDENI VSTUPNICH
		PARAMETRU.

	PR/	GOSUB NAZEV(A,B(J))


RETURN ........ NAVRAT Z PODPROGRAMU.


POZNAMKA:  BASIC EXP TEDY UMOZNUJE:
	1) VOLANI PODPROGRAMU CISLEM RADKU:  "GOSUB N".
	   PODPROGRAM MUSI BYT UKONCEN PRIKAZEM RETURN. NEJVHODNEJSI
	   UMISTENI PODPROGRAMU JE NA KONCI PROGRAMU.
	2) VOLANI PODPROGRAMU JMENEM:  "GOSUB JMENO [(PAR1,...,PARN)]".
	   PODPROGRAM MUSI BYT DEFINOVAN POMOCI "PROC JMENO" (NUTNE PRO
	   PRENOS PARAMETRU), ALE UKONCEN JE PRIKAZEM RETURN. NEJVHODNEJSI
	   UMISTENI JE NA KONCI PROGRAMU.
	3) VOLANI PROCEDURY JMENEM:  "GOSUB JMENO [(PAR1,...,PARN)]".
	   PROCEDURA MUSI BYT DEFINOVANA POMOCI "PROC JMENO" A UKONCENA
	   PRIKAZEM ENDP. NEJVHODNEJSI UMISTENI JE NA ZACATKU PROGRAMU.


	PR/	DEKLARACE A VOLANI PODPROGRAMU JMENEM:
		:
		30 GOSUB PRENOS
		40 IF BETA>30 THEN GOSUB PRENOS ELSE GOSUB KONEC
		:
		:
		1000 PROC PRENOS	! DEKLARACE JMENA PODPROGRAMU
		1010 A=1		! TELO PODPROGRAMU
		:
		1130 RETURN		! POVINNE UKONCENI - NAVRAT


	PR/ 	POUZITI VAR T.J. PREDANI VYSLEDKU Z PROCEDURY ZPET
		:
		10 PROC AB(X,VAR Y)
		20  Y=Y+X
		30 ENDP
		50 A=1:GOSUB AB(1,A)
		:
		PO PROVEDENI PROCEDURY BUDE A=2..!!
		(VAR ... PUSOBI ZPETNE DOSAZENI DO PROMENNE.)



	PRIKAZY PRO VETVENI PROGRAMU
	============================


GOTO N ........ SKOK DO JINE CASTI PROGRAMU. PROMENNA JAKO CISLO RADKU
		NENI POVOLENA.

	PR/	GOTO 1000


IF L THEN PRIKAZ
		PODMINENY PRIKAZ. PRIKAZ SE PROVEDE POUZE PRI SPLNENI
		PODMINKY L. 


IF L GOTO N ... PODMINENY SKOK NA CISLO RADKU N.

IF L THEN N ... TOTEZ


IF L THEN PRIKAZ1 : PRIKAZ2 : PRIKAZ3
		PODMINENE PROVEDENI  C E L E H O   Z B Y T K U  RADKU
		(JESTLIZE JE SPLNENA PODMINKA L).

        PR/     IF X>Y THEN A=4*B
                IF A=B THEN PRINT D : A=A+3 : GOTO 200


IF L THEN PRIKAZ1 ELSE PRIKAZ2
		UPLNY PODMINENY PRIKAZ. PRI SPLNENI PODMINKY L SE
		PROVEDE PRIKAZ1, V OPACNEM PRIPADE PRIKAZ2.

	PR/	IF A=B THEN A=1:PRINT "OK" ELSE A=0:PRINT "BAD"


BASIC V5.0 BYL DOPLNEN DVEMA PRIKAZY BEG A BEND, KTERE VYMEZUJI
	VICERADKOVY BLOK PRIKAZU. NA TENTO BLOK LZE POHLIZET JAKO NA
	JEDEN PRIKAZ. TO UMOZNUJE BASICU EXP VNOROVAT PODMINENE PRIKAZY
	DO SEBE. VYCHAZELO SE Z PASCALOVSKYCH STRUKTUR BLOKU, KDE BLOK
	JE DEFINOVAN PRIKAZEM BEGIN A UKONCEN PRIKAZEM END.


BEG ........... ZACATEK BLOKU PRIKAZU. HLAVNI POUZITI V PRIKAZECH
	        TYPU IF/THEN/ELSE.

BEND .......... KONEC BLOKU PRIKAZU.


	JEDNOTLIVE PODMINKY LZE VNOROVAT VIZ:

	PR/	10 ! UKAZKY STRUKTUR IF/THEN/ELSE
		20 A=1:B=1:C=1
		30 IF A=B THEN PRINT"A,B .. SHODNE" 
		35	  ELSE PRINT"A,B .. RUZNE"
		40 IF A=C THEN
		50    BEG
		60     !...PROGRAMOVY BLOK (+)
		70     PRINT"A=C"
		80    BEND
		90   ELSE
		100   BEG
		110    !...PROGRAMOVY BLOK (-)
		120    PRINT"A<>C"
		130    IF A=B THEN
		140      BEG
		150       !...VNORENA PODMINKA
		160       PRINT"A<>C A A=B"
		170      BEND
		180   BEND
		190 IF A=0 THEN PRINT A ELSE
		200        BEG
		210          PRINT B
		220          ! JINY TVAR ZAPISU
		230        BEND
		240 IF C=A THEN BEG PRINT A:A=B*C/2:BEND ELSE PRINT C



	PREPINACE
	---------

PREPINACE UMOZNUJI VETVENI PROGRAMU NA ZAKLADE HODNOTY PROMENNE.
JE-LI HODNOTA PROMENNE "A" ROVNA 1 PROVEDE SE SKOK NA PRIKAZOVY RADEK N1,
PRO A=2 NA N2 ATD. V PREPINACICH LZE POUZIT PRIKAZU ELSE PRO VSECHNY
OSTATNI HODNOTY PREPINACE, KTERE NEJSOU UVEDENY V SEZNAMU, JINAK SE
PROVEDE NASLEDUJICI PRIKAZOVY RADEK. PREPINAC MUZE BYT PRO SKOKY NEBO
PRO VOLANI PODPROGRAMU.


ON A GOTO N1,N2,N3, ... ,NN
		VETVENI PODLE HODNOTY VYRAZU


ON A GOSUB N1,N2,N3, ... ,NN
		VYVOLANI SUBRUTINY DLE HODNOTY VYRAZU. JE MOZNE 
		POUZIT I ELSE. PRO ON/GOSUB JE MOZNO VYUZIT VOLANI
		PODPROGRAMU JMENEM.

	PR/	ON X-2 GOTO 1010,1050,1200
                ON X GOSUB 2000,2010,2020
		ON X GOSUB 111,222,333 ELSE 500
		ON X GOSUB ALPHA,BETA,GAMA ELSE EMPTY


POZNAMKA: PRO PRIKAZ RENUM POUZIVEJTE POUZE CISLA RADKU NEBO
	  JMENA PROCEDUR V PRIKAZU ON .., NE SMISENY ZAPIS!



	CYKLY
	=====


BASIC EXP MA TRI TYPY CYKLU:
  A)  FOR-TO-STEP --NEXT    CYKL S NASTAVENYM POCTEM OPAKOVANI
  B)  WHILE-DO --WEND	    CYKL POKUD JE SPLNENA PODNIMKA
  C)  REPEAT  --UNTIL	    CYKL POKUD NENI SPLNENA PODMINKA
CYKLY TYPU B,C JSOU PREVZATY Z JAZYKA PASCAL A UMOZNUJI V BASICU
POUZIVAT ZAKLADU STRUKTUROVANEHO PROGRAMOVANI.


FOR P=A1 TO A2
		PROGRAMOVA SMYCKA, KROK PO 1.

FOR P=A1 TO A2 STEP A3
		PROGRAMOVA SMYCKA S KROKEM A3.


NEXT P ........ KONEC SMYCKY, NAZEV PROMENNE  N E N I  POVINNY!

NEXT SEZNAM ... KONEC DVOU A VICE SMYCEK.

	PR/	70  FOR B=10 TO -2 STEP -1
		72   PRINT B
                74   FOR A=2*X TO M(I)
		76    PRINT A;
		78   NEXT A
		80   PRINT
		82  NEXT B


WHILE ......... PROGRAMOVA SMYCKA TYPU WHILE (VIZ PASCAL).
DO ............ ZACATEK PRIKAZU WHILE.
WEND........... UKONCENI PRIKAZU WHILE.
		PRIKAZ WHILE SE PROVADI DOKUD JE SPLNENA PODMINKA.
		JE UKONCEN PRIKAZEM WEND.

	PR/	10 A=0
		12 WHILE A<3 DO
		14  B=0:PRINTA:......
		16    WHILE B<2 DO
		18     B=B+1:A=A+1:PRINT B:.....
		20    WEND !KONEC B
		22  PRINT:.....
		24 WEND !KONEC A


REPEAT ........ PROGRAMOVA SMYCKA TYPU REPEAT (VIZ PASCAL).
UNTIL ......... PRIKAZ PRO VYHODNOCENI PODMINKY CYKLU.
		PRIKAZ SE PROVADI DOKUD NENI SPLNENA PODMINKA.

	PR/	10 A=0
		12 REPEAT
		14  B=0
		16    REPEAT
		18      A=A+1:B=B+1:......
		20      .
		22      .
		24    UNTIL B=2
		26 UNTIL A>2


	UKAZKA VZAJEMNEHO VNORENI PROGRAMOVYCH STRUKTUR

	PR/	10 ! UKAZKA STRUKTUR WHILE...WEND, REPEAT...UNTIL
		20 A=1
		30 WHILE A<3 DO
		40   B=1
		50   REPEAT
		60     PRINT"A=";A;"B=";B
		70     B=B+1  !..... PROGRAMOVY BLOK
		80     C=1
		85     IF C=B THEN PRINT "SHODA B,A"
		90     WHILE C<2 DO
		100      PRINT"C=";C
		110      C=C+A   !......PROGRAMOVY BLOK
		111      IF A=1 THEN
		112	 BEG
		113        GOSUB 1000 !....
		114	   GOSUB 1200
		115	 BEND
		116	 ELSE        !MOZNO ZAPSAT TEZ: ELSE GOSUB 1200
		117	 BEG         !NE VSAK: ELSE       !NA DVA RADKY,
		118	  GOSUB 1200 !         GOSUB 1200 !ALE BEZ BEG A BEND
		119      BEND
		120    WEND
		130    PRINT
		140   UNTIL B=3
		150   A=A+1
		160 WEND



	OPERACE VSTUPU 
	==============


	VSTUP Z PAMETI
	--------------

READ SEZNAM ... PRIDELUJE HODNOTY ZE SEZNAMU 'DATA' SEZNAMU PROMENNYCH.

	PR/	READ A(1),A(2),A(3),X,B$
                READ ALFA,BETA
                READ Z$ 
                        

DATA .......... SEZNAM HODNOT PRO 'READ'.

	PR/	DATA 10,20,30,3.15,"KONEC"
                DATA 3.5E-3,7.1E-3
                DATA "JMENO"


RESTORE ....... NAVRAT UKAZATELE V SEZNAMU 'DATA' NA ZACATEK.

RESTORE N .....        -"-		          NA RADEK N (ROZSIRENI).


	VSTUP SOUBORU
	-------------

INPUT SEZNAM .. HODNOTY NEBO STRINGY Z KONZOLY SE PRIDELI PROMENNYM.

INPUT "TEXT";SEZNAM
		TOTEZ JAKO PREDCHOZI, NAVIC SE VYPISE 'TEXT'.

INPUT #R SEZNAM
		CTENI Z :RI:(MAGNETOFONU) MISTO :CI:(KONZOLY). NEPROVADI
		SE ECHO NA :CO:(OBRAZOVKU).

	PR/	INPUT A
                INPUT ALFA,BETA,GAMA
                INPUT Z$,K(I),X
		INPUT "NAPIS JMENO";JM$
		INPUT #R A$,B$,X
		INPUT "TEXT1";A,"TEXT2",B,"TEXT3";C
			V PRIKAZU INPUT MUZE BYT VICE NAPOVEDNYCH TEXTU
			ZA ZNAKEM " MUZE BYT I (,), POTOM SE NAPOVEDNY
			TEXT ODSUNE JAKO BY BYL V PRIKAZU PRINT.


INKEY ......... PREDA HODNOTU (DECIMAL) POSLEDNI STISKLE KLAVESY BEHEM
		PROVADENI PROGRAMU, NENI-LI STISKNUTA ZADNA KLAVESA,
		POTOM JE FUNKCE=0.

	PR/ 	12  IF INKEY > 0 THEN 100




	OPERACE VYSTUPU
	===============


PRINT SEZNAM .. TISKNOU SE STRINGOVE KONSTANTY, STRINGOVE PROMENNE,
( ? SEZNAM )    NUMERICKE KONSTANTY, NUMERICKE PROMENNE, FUNKCE A VYRAZY
		DLE SEZNAMU.

	PR/	PRINT "KOEFICIENT="; K ;"SILA="; S ;"KP"
                PRINT A$,AFA,B$(I),
                PRINT NOT 17
		PRINT #H SEZNAM ...... HARDCOPY (CO + LP)
		PRINT #P SEZNAM ...... DEROVAC
		PRINT #L	.......TISKARNA
		PRINT #B	.......BUCKET (NULOVY VYSTUP)

POZNAMKA: MISTO PRIKAZU 'PRINT' JE MOZNO UZIT ZKRACENE JEN '?'. LISTUJE
	  SE VSAK SPRAVNE 'PRINT'.
	  UVNITR SEZNAMU ZA PRIKAZEM 'PRINT' URCUJE TYP ODDELOVACE
          UPRAVU TEXTOVEHO RADKU. ODDELENI CARKOU ZPUSOBI POSUN NA
          NEJBLIZSI TABELACNI POSICI. ODDELENI STREDNIKEM NEVYVOLA ZADNE 
          DOPLNUJICI FUNKCE. ODDELOVACE JE MOZNO POUZIT I NA ZACATKU NEBO
          KONCI RADKU.

	PR/	PRINT ,,"TEXT";T;"JMENO";JM$;


	FUNKCE PRO PRIKAZ "PRINT"
	-------------------------

USING ......... UZIVATELSKE NASTAVENI FORMATU VYSTUPU NUMERICKYCH DAT.
		POMOCI "#" SE PRESNE UDA ROZSAH ZOBRAZENI A POLOHA 
		DESETINNE TECKY. POUZITI JE PATRNO Z NASLEDUJICICH
		PRIKLADU:

	PR/	10 A=12.34 : PRINT USING"##.#";A
		12 B=123   : PRINT USING"####";B
		14 C=.01234: PRINT USING".###";C
		16 D=100.23: PRINT USING"##.#";D
		18 E=1.23  : PRINT USING"####.####";E
		: RUN		! PO ODSTARTOVANI VYPISE
		 12.3
		  123
		 .012
		 % 100.23	! PRETECENI
		    1.2300


TAB(A) ........ DALSI TISK ZACNE OD POSICE 'A'. ZA TAB(A) NENI NUTNO
		UVADET SYMBOLY (;),(,) PRO TISK.

	PR/	PRINT "VYSLEDEK";V;TAB(30)"HLADINA = ";B 

                     
SPC(A) ........ VYSTOUPI 'A' MEZER.
                     
	PR/	PRINT SPC(10);"POCET=";P1;SPC(10);"CENA=";C

                     
POS ........... POCET JIZ VYSTOUPENYCH ZNAKU OD ZACATKU RADKU.

	PR/	PRINT "12345";POS


FAST N ........ VYSLE NA :CO: HODNOTU BYTE "N".
		TENTO PRIKAZ JE POUZE U MIKROPOCITACE ONDRA.



	PRIKAZY PRO PRACI SE SOUBORY
	============================


FIND .......... NASTAVI PRIZNAK PRO OTEVRENI NOVEHO SOUBORU. OPERACNI
		SYSTEM AUTOMATICKY PRI CTENI 1. ZNAKU (NAPR. Z KAZETY)
		PROVEDE VYHLEDANI SOUBORU A PRECTE 1.BYTE.
		(FIND LZE POUZIT I PRO UKONCENI CTENI ZE VSTUPNIHO SOUBORU)

	PR/	FIND "JMENO SOUBORU"


OPEN .......... NASTAV PRIZNAK PRO OPERACNI SYSTEM PRO OTEVRENI SOUBORU
		PRO ZAPIS. NA KAZETE MUZE BYT OTEVREN SOUBOR JEN PRO
		CTENI A NEBO JEN PRO ZAPIS !!

OPEN "JMENO.TYP A POZNAMKA"
		OTEVRENI SOUBORU SE ZADANIM JEHO JMENA PRIMO V PROGRAMU.

OPEN "@JMENO.TYP A POZNAMKA"
		PROVEDE OKAMZITE OTEVRENI SOUBORU (BEZ VYHLEDAVANI, T.J.
		FUNKCI APPEND MONITORU).
		VYSE DVA UVEDENE PRIKAZY JSOU U SAPI-1 PODMINENY POUZITIM
		MONITORU V5.0.


CLOSE ......... UZAVRI VYSTUPNI SOUBOR.

	PR/	10 OPEN 	! OTEVRI SOUBOR NA KAZATE
		11 PUT A 	! A ZAPIS 1.BYTE
		12 PUT B
		13 PRINT #P "DALSI DATA..";B$,X,Y
		.....
		100 CLOSE 	! UKONCENI SOUBORU
		101 FIND  	! OTEVRENI PRO CTENI
		102 A=GET:IF A=HEX(1A) THEN PRINT "END OF FILE":GOTO 400


GET ........... CTE BYTE ZE VSTUPNIHO MEDIA ":RI:" (SNIMAC PASKY NEBO
		KAZETA, PODLE HODNOTY IOBYTE).

	PR/	10 FIND 	! OTEVRI SOUBOR
		20 A=GET 	! 1. CTENI VYHLEDA SOUBOR A CTE BYTE
		22 A1=GET 	! CTE 2.BYTE
		30 IF A=0 THEN 100 ELSE INPUT #R B$
		.......
		100 FIND	! JINY SOUBOR


GET LINE ...... CTE BYTE, ALE KDYZ SKONCI SOUBOR, AUTOMATICKY POKRACUJE
		NA RADKU "LINE".

	PR/	10 A=GET 100
		20 PRINT CHR$(A)
		30 ...
		100 PRINT "KONEC SOUBORU":END


PUT ........... ZAPIS BYTE NA VYSTUPNI MEDIUM.



	SPECIALNI FUNKCE PRO OBRAZOVKU
	==============================


BEEP[N] ....... BEEP - PROVEDE ZVUKOVOU INDIKACI (SAPI-1).

BEEP[N,M[;N1,M1]]
		TVAR PRIKAZU PRO ONDRU;	N - TON, M - DELKA TONU.


CURS X,Y ...... NASTAV CURSOR NA HODNOTU X(0-39) A Y(0-23).


MODE A ........ NASTAV MOD ZOBRAZENI NA DISPLAY.

	PR/   	MODE 1      ! TISK
		MODE 128    ! BLIKAJICI PODTRZENI


WND Y ......... "WINDOW" (OKNO) - RESERVUJ Y(0-15) RADKU OD HORNIHO
		OKRAJE OBRAZOVKY. TYTO RADKY NEBUDOU PREPISOVANY.
		POUZE PO NASTAVENI CURS X,Y JE MOZNE DO NICH ZAPISOVAT.
		TENTO PRIKAZ JE U SAPI-1 PODMINEN POUZITIM MONITORU
		V5.0.

WND X1,[,Y1[,X2[,Y2]]]
		UPLNA DEFINICE OKNA - X1 ... HORNI OKRAJ
				      Y1 ... LEVY OKRAJ
				      X2 ... SPODNI OKRAJ
				      Y2 ... PRAVY OKRAJ

WND # ......... ZMENA OKNA. MOHOU BYT DEFINOVANA DVE OKNA A PRIKAZEM
		WND #  SE PROVADI JEJICH PREPINANI.


POZNAMKA:  PO DEFINICI OKNA JE PRVNI VYSTUP NA OBRAZOVKU NUTNO PROVEST
	   DO OKNA (ADRESACI CURSORU NEBO ZAPSANIM PRIKAZU CLS).


CLS ........... CLEAR SCREEN -  VYMAZ OBRAZOVKU (MIMO RESERVOVANOU
		OBLAST).

	PR/	10  WND 5,4,12,30
		12  CLS
		14  PRINT "TISK DO OKNA 1"
		16  WND #			! ZMENA OKNA
		18  WND 13,0,23,40
		20  CLS
		22  PRINT "TISK DO OKNA 2"
		24  WND #			! ZMENA OKNA



	PRIME VSTUPNI/VYSTUPNI OPERACE
	==============================


PEEK(A) ....... CTENI BYTE Z PAMETI Z ADRESY 'A' - FUNKCE.


POKE A1,A2[,A3,..]
		ZAPIS BYTE 'A2' (PRIPADNE I DALSI BYTY) OD ADRESY
		'A1' POCINAJE.

	PR/  	POKE HEX(4300),1,2	! <4300>=01, <4301>=02


INP(A) ........ CTENI PORTU 'A' - FUNKCE.
                     
OUT A1,A2 ..... ZAPIS BYTE 'A2' DO PORTU 'A1'.

                     
WAIT A1,A2[,A3]
		CEKANI NA VYSKYT MASKY 'A2' NA PORTU 'A1'. JE-LI
		ZADANO A3, POTOM SE CEKA NA SHODU A POTE PROVEDENI
		DALSI INSTRUKCE.

	PR/  	WAIT A1,A2  ODPOVIDA:

		WAIT0:	IN	A1	; CTI Z A1
		  	ANI	A2	; MASKA
			CPI	A2	; SHODA ?
			JNZ	WAIT0	; NE, CEKEJ DAL

			WAIT A1,A2,A3	ODPOVIDA:

		WAIT1:	IN	A1
			ANI	A2
			CPI	A3	; SHODA NA DATA ?
			JNZ	WAIT1	; NE, CEKEJ
	


	OBSLUHA PRERUSENI V BASICU EXP
	==============================


INTRP LINE, ADR
		INICIALIZUJI SE PARAMETRY PRO OBSLUHU PRERUSENI. PO
		POVOLENI PRERUSENI "INTRP oN" SE PO VYKONANI KAZDEHO
		PRIKAZU (BASIC) TESTUJE OBSAH PAMETOVEHO MISTA "ADR"
		V PAMETI RAM. JE-LI 0 A POVOLENE PRERUSENI PRIKEZEM "ON",
		POTOM SE PRERUSI PROGRAM V BASICU A SPUSTI SE PODPROGAM,
		KTERY ZACINE NA	RADKU "LINE". ZAROVEN SE OBSAH PAMETI
		"ADR" PREPISE NA 0FFH A ZAKAZE SE PRERUSENI. PODPROgRAM
		SE UKONCI PRIKAZEM "INTRP ON: RETURN" A POKRACUJE SE
		V PROVADENI PRERUSENEHO PROGAMU.


INTRP ON ...... POVOLENI PRERUSENI PO PROVEDENI NASLEDUJICIHO PRIKAZU.

INTRP OFF ..... ZAKAZ PRERUSENI, POCATECNI NASTAVENI.

	PR/	10 INTRP 100, HEX(4300)	! IF 4300H=0 THEN GOSUB 100
		12 INTRP ON		! POVOL PRERUSENI
		14 ....			! PROGRAM..
		50 INTRP OFF		! ZAKAZ
		...
		90 END
		100 PRINT "PRERUSENI..."
		102 IF PEEK HEX(4301)=1 THEN GOSUB 140 	 ! PODLE 4301H
					! SE ROZHODUJE O OBSLUZE
		104 INTRP ON		! POVOL PRERUSENI PO RETURN
		106 RETURN
		...........


!! POZOR !! -  U SAPI-1 JE NUTNO PROVEST DOPORUCENE UPRAVY PRO PRERUSENI
 	       OD ZPETNEHO BEHU (DESKA AND-1).



	FUNKCE PRO RIZENI KOMUNIKACE S PROGRAMEM V ASSEMBLERU
	=====================================================


HEX(N) ........ DOSAD HEX. HODNOTU.

	PR/	X=CALL(HEX(130),1000)	! HEXADECIMALNE ZOBRAZI DESITKOVE
					! CISLO. NA ADRESE 130H JE SLUZBA
					! "DADR" MONITORU.


X=CALL(ADR[,HL[,DE]])
		VOLANI PODPROGRAMU NA ADRESE (ADR). JE MOZNE NASTAVIT
		HODNOTU (16 BITU) DO HL (PLATI L=C=A). OBSAH REGISTRU
		HL PO NAVRATU SE ULOZI DO X.


Y=USR(ADR[,C[,DE]])
		VOLANI PODPROGRAMU NA ADRESE (ADR). JE MOZNE NASTAVIT
		(8 BITU) DO C NEBO A (PLATI L=C=A) A PO NAVRATU
		Z PODPROGRAMU SE ULOZI REG. A DO PROMENNE Y.
		REGISTRY B,DE,HL JE MOZNO U FUNKCI USR A CALL MENIT.

	PR/	1 AREG=USER(HEX(4300)) 	  ! VOLANI PODPR. NA 4300H
		2 DUMMY=USER(HEX(109),7)  ! POSLI BELL NA "CO"
		3 X=CALL(1234,HEX(1DE0))  ! 16 BITU PRENOS (HL)
		4 A=USR(HEX(4300),12,7)	  ! VOLANI PODPR. NA ADRESE
					  ! 4300H, L=C=A=12, E=7


CODE ADR;HEX DATA,....DATA
		PRIKAZ CODE ULOZI OD ZADANE ADRESY DATA DO PAMETI.
		TAKTO JE MOZNE ULOZIT DO PAMETI RAM TABULKU A NEBO
		PODPROGAM. DATA SE PISI HEXADECIMALNE.

	PR/	CODE HEX(40F0);3E,20,21,0,0,C9  ! ODPOVIDA PODPROGRAMU
						! V ASSEMBLERU (I 8080)
		40F0:	MVI	A,' '
			LXI	H,0
			RET		; POVINNE !!


PTR(X) ........ DOSAD ADRESU PROMENNE X.

	PR/	10 DADR=HEX(130)	    ! SLUZBA MONITORU NA ADR. 130H
		20 DUMMY=CALL(DADR,PTR(X))  ! TISKNI HEX.



	STANDARTNI FUNKCE
	=================


SGN(A) ........ SIGNUM (-1 PRO A<0,  0 PRO A=0,  1 PRO A>0)

INT(A) ........ CELOCISELNA CAST ( FRC = A-INT(A) )

ABS(A) ........ ABSOLUTNI HODNOTA

SQR(A) ........ ODMOCNINA

LOG(A) ........ PRIROZENY LOGARITMUS

EXP(A) ........ E UMOCNENO NA A

RND(A) ........ RANDOM-NAHODNE CISLO V ROZSAHU 0 AZ 1. ZAPORNY PARAMETR
		OVLIVNI DALSI PRUBEH GENEROVANI RADY NAHODNYCH CISEL.
		LZE JEJ POUZIT PRO POCATECNI NASTAVENI.

FRE(0) ........ DELKA VOLNE PAMETI V BYTECH.

FRE(A$) ....... DELKA VOLNE PAMETI PRO STRINGY (255 PO ZAVEDENI).



		TRIGONOMETRICKE FUNKCE
		======================


SIN(A) ........ SINUS

COS(A) ........ COSINUS

TAN(A) ........ TANGENS

ATN(A) ........ ARCUS TANGENS


DEG ON/OFF ....	NASTAVUJE MODE ZADAVANI PARAMETRU PRO GONIOMETRICKE
		FUNCE (SIN, COS, TAN A ANT). IMPLICITNE JE OFF.
		JE-LI OFF, POTOM SE ZADAVAJI HODNOTY V RADIANECH,
		JINAK SE ZADAVEJI VE STUPNICH (DEGREE).

	PR/	1 DEG OFF:A=SIN(0.123)     ! RADIANY
		2 DEG ON :B=SIN(30)	   ! DEGREE



	STRINGOVE FUNKCE
	================


VAL(S$) ....... CISELNA HODNOTA RETEZU, PRVNI NENUMERICKY ZNAK UKONCI.

STR$(A) ....... PREVOD CISELNE PROMENNE NA STRING.

CHR$(A) ....... PREVOD CISELNE PROMENNE NA ASCII ZNAK.

ASC("ZNAK") ... PREVOD ZNAKU ASCII NA KOD (DEKADICKY).

LEN(S$) ....... DELKA RETEZU (POCET ZNAKU).

LEFT$(S$,A) ... POCET 'A' ZNAKU RETEZU ZLEVA.

RIGHT$(S$,A) .. POCET 'A' ZNAKU RETEZU ZPRAVA.

MID$(S$,A) .... POCINAJE ZNAKEM 'A' DO KONCE RETEZU.

MID$(S$,A1,A2). POCINAJE ZNAKEM 'A1', POCET ZNAKU 'A2' RETEZU.


POZNAMKA: FUNKCE, JEJICHZ NAZEV KONCI '$', VYTVARI NOVY STRING.
          K TOMU JE TREBA REZERVOVAT PRISLUSNY PAMETOVY PROSTOR
          PRIKAZEM 'CLEAR A' NA ZACATKU PROGRAMU. PARAMETR 'A'
	  PRIKAZU UDAVA POCET BYTE, REZERVOVANYCH PRO STRINGY.
          BEZ TOHOTO PRIKAZU JE CELKOVA KAPACITA 255 BYTE
	  (PO ZAVEDENI BASICU).



	KOMENTARE
	=========


REM ........... UMISTENI KOMENTARE DO ZDROJOVEHO PROGRAMU.

        PR/     REM  LIBOVOLNY TEXT


! .............	POZNAMKA. TENTO TYP POZNAMKY NELZE POUZIT V PRIKAZU
		"DATA"!
		(U MIKROPOCITACE ONDRA JE PRED "!" NUTNO UVEST I ":")

	PR/	GOTO 100  ! SKOK NA KONEC - SAPI-1
		GOTO 100 :! SKOK NA KONEC - ONDRA



	UKONCENI PROGRAMU
	=================


END ........... UKONCENI PROGRAMU, ZOBRAZI SE "READY".


STOP .......... PRERUSENI CHODU PROGRAMU, OHLASI SE "BREAK IN N",
                POKRACUJE SE PRIKAZEM "CONT".




*************************************************************************


	POVELY INTERPRETU BASIC:
	========================

RUN ........... SPUSTENI VLOZENEHO PROGRAMU, MUZE MIT PARAMETR - CISLO
		RADKU. PRED EXEKUCI PROGRAMU SE AUTOMATICKY NULUJI
		VSECHNY PROMENNE.


NEW ........... VYMAZANI PAMETI PROGRAMU A VSECH PROMENNYCH (PRIPRAVA
		PRO ZADAVANI NOVEHO PROGRAMU).


CLEAR[DELKA[,RAM]]
		SMAZANI TABULEK PROMENNYCH. PRIPADNY PARAMETR UDAVA
		REZERVACI PAMETI PRO STRINGY, PORIZENE STRINGOVYMI
		FUNKCEMI NEBO PRIKAZEM "INPUT S$".
		RAM .. UMOZNI ZMENIT KONEC PAMETI A VYTVORIT CHRANENOU
		ZONU PRO ZAPIS DAT (CODE..). CASTY POZADEVEK JE, ABY NOVE
		ZAVEDENY PROGRAM MOHL POUZIVAT DATA Z MINULEHO PROGRAMU.
		PRIKAZ CLEAR X,RAM UMOZNUJE VYMEZIT V PAMETI CHRANENOU
		ZONU (NEBO SLUZBA IODEF Z MONITORU). POMOCI POKE LZE DO NI
		ULOZIT DATA A PO ZAVEDENI NOVEHO PROGRAMU A PO PRIKAZU
		CLEAR JE MOZNE CIST PUVODNI DATA PRIKAZEM PEEK.
		POVEL CLEAR MUZE BYT POUZIT I V PROGRAMU, ALE MUSI BYT
		NA SAMOSTATNEM RADKU A HNED JAKO JEDEN Z PRVNICH PRIKAZU
		PROGRAMU.

	PR/ 	CLEAR 255,1000
		BASIC VYPISE NOVY KONEC RAM
		"END OF RAM 48512"


GOTO .......... SPUSTENI PROGRAMU BEZ NULOVANI TABULEK (PRO LADENI).


? SEZNAM ...... VYTISTENI HODNOT PROMENNYCH DLE SEZNAMU.
(PRINT SEZNAM)


BYE ........... SKOK DO MONITORU PRES RST 0.



	EDICNI POVELY
	-------------

LIST .......... LISTOVANI PROGRAMU OD POCATKU, LZE ZASTAVIT POMOCI
		'CTRL-C' (ETX) NEBO PRERUSIT POMOCI 'CTRL-S'.

LIST N ........ OD RADKU "N".

LIST N,POCET .. OD RADKU "N" ZADANY POCET RADKU.

LLIST ......... TISK PROGRAMU NA TISKARNU.


RENUM [NOVE-CISLO[,STARE-CISLO[,OFFSET]]]
		POVEL RENUMBER PROVEDE PRECISLOVANI PROGRAMOVYCH RADKU
		VCETNE UPRAV V PRIKAZECH TYPU GOTO, GOSUB ...
		IMPLICITNI NASTAVENI JE RENUM 10,10,10. PRECISLOVANI
		SE PROVEDE OD RADKU "STARE-CISLO", KTEREMU SE PRIDELI
		"NOVE-CISLO" S PRIRUSTKEM "OFFSET" AZ DO KONCE PROGRAMU.


AUTO LINE[,N] . AUTOMATICKE ZADAVANI CISLA RADKU.
		LINE .. POCATECNI HODNOTA
		N ..    POCET RADKU O KTERY SE ZVYSI NASLEDUJICI CISLO
			RADKU
		VKLADADNI SE UKONCI ZADANIM PRAZDNEHO RADKU (CR) NEBO 
		'CTRL-C'.


SEEK TXSTRING[;LINE]
		POVEL SEEK VYHLEDA V PROGRAMU TEXT (TXSTING JE LIBOVOLNY
		TEXT MIMO ZNAKU: ' ',';' A CR).
		HLEDANI ZACINA OD RADKU LINE (KDYZ NENI LINE ZADANO,
		PAK LINE =0). PO VYHLEDANI SE ZOBRAZI RADEK I S POLOHOU
		CORSORU. OBSLUHA RIDI DALSI VYHLEDAVANI PRIKAZY:
		- ' '..	DALSI VYHLEDAVANI
		- CR .. UKONCENI POVELU SEEK
		N    .. KAZDY JINY ZNAK = VOLANI EDITORU


DELETE START_LINE,END_LINE
		ZRUSI USEK PROGRAMU OD RADKU PO RADEK.


@ LINE......... EDICE RADKU. EDICE SE PROVADI V HORNI CASTI OBRAZOVKY
		A RESPEKTUJE OKNO. ZADA-LI SE POUZE ZKRACENY POVEL "@"
		(BEZ LINE), AUTOMATICKY SE ZOBRAZI RADEK, KTERY BYL
		NAPOSLED EDITOVAN A NEBO VE KTEREM BYLA CHYBA.
		KOPIROVANI RADKU LZE PROVEST PRIKAZEM @, KDE SE	PREPISE
		CISLO RADKU NA NOVE. PUVODNI RADEK SE VSAK ZACHOVA!

		POVELY PRO RIZENI EDICE JEDNOHO RADKU:

		->	POSUN O ZNAK DOPRAVA (U SAPI-1 TABULATOR)
		<-	POSUN O ZNAK DOLEVA
		LF	POSUN O NEKOLIK ZNAKU DOPRAVA
		ESC	NASTAV KURZOR NA OPACNY OKRAJ RADKU
		DEL	ZRUSENI ZNAKU
		CR	UKONCENI EDICE RADKU
		XXX	KAZDY JINY ZNAK SE ZAPISE



		TRASOVACI POVELY
		----------------

TRON .......... START TRASOVANI PROGRAMU. NA OBRAZOVKU SE VYPISUJI CISLA
		RADKU, KTERE PROGRAM REALIZUJE.

TROFF ......... KONEC TRASOVANI PROGRAMU.

TRSTEP ........ TRASOVANI PO KROCICH
		' '..DALSI KROK
		CR ..KONEC TRASOVANI

CONT .......... POKRACOVANI PROGRAMU PO "STOP" NEBO 'CTRL-C' (ETX).



		PRACE SE SOUBORY
		----------------

LOAD .......... ZAVEDENI PROGRAMU V ASCII. JE-LI V PAMETI JIZ
		JINY PROGRAM, POTOM BASIC VYPISE "APPEND (Y/N)"
		Y..PRIPOJI SE DALSI PROGRAM (MERGE)
		N..ZRUSI STARY PROGRAM A ZAVEDE NOVY

LOAD B ........ ZAVEDE PROGRAM V BINARNI FORME DO PAMETI A AUTOMATICKY
		ZAVEDENY PROGRAM ODSTARTUJE.
		!! POZOR - BINARNI FORMA NENI PRENOSNA MEZI RUZNYMI
		VERSEMI BASICU EX, EXP.

LOAD CODE ..... PRECTE BINARNI SOUBOR (VYTVORENY 'SAVE CODE' NEBO
		'K_S' V MIKOSU) DO PAMETI.


SAVE .......... ZAPIS PROGRAMU V ASCII NA VNEJSI PAMET.

SAVE B ........ ZAPIS PROGRAMU V BINARNIM TVARU NA VNEJSI PAMET.

SAVE P ........ (PRIVATE) - ZAPIS PROGRAMU V BINARNI FORME S UTAJENIM,
		TJ. PROGRAM PO NATAZENI PRIKAZEM "LOAD B" NELZE
		PROHLIZET (LIST,SEEK).

SAVE CODE ..... ZAPISE NA KAZETU BINARNI SOUBOR.


POZNAMKA:  U ONDRY A SAPI-1 S MONITOREM V5.0 LZE ZADAVAT JMENO
	   SOUBORU PRIMO V TEXTU PROGRAMU.

	PR/	SAVE B "JMENO PROGRAMU"
		LOAD B "JMENO PROGRAMU"
		SAVE "@JMENO"   ! ZNAK @ ZPUSOBI ZAPIS BEZ VYHLEDAVANI
				! (V MIKOSU SE PROVEDE FUNKCE 'APPEND'
				! MISTO 'OPEN')



	POZNAMKY:
	=========

BASIC EXP V5.0 VYHOVUJE NORME JAZYKA MINIMALNI BASIC.

PRIKAZ, PRED KTERYM NENI CISLO RADKU, SE PROVADI OKAMZITE.
CISLOVANE PRIKAZY SE UMISTUJI DLE CISEL RADKU DO ZDROJOVEHO
PROGRAMU. PRI SHODE CISLA JE PRISLUSNY RADEK PREPSAN.

MAXIMALNI POCET ZNAKU NA INSTRUKCNIM RADKU JE 132 VCETNE CISLA
RADKU A MEZER. MAXIMALNI CISLO RADKU JE 64999.

POCET MEZER MEZI CISLEM RADKU A PRVNI INSTRUKCI ZUSTANE UCHOVAN
		    5  FOR J=1 TO K
	  	    10  FOR I=1 TO 10
		    20   X=J*SIN(I):Z=Z/15+X:PRINT "X=";X,"Z=";Z
		    30  NEXT I
		    35 NEXT J

NAZVY PROMENNYCH MOHOU BYT VICEZNAKOVE (PRVNI VZDY PISMENO), ALE
ROZHODUJICI JSOU POUZE PRVNI  D V A  ZNAKY.

CELA RESERVOVANA SLOVA SE NESMI UZIVAT JAKO NAZVY PROMENNYCH.
PRO NUMERICKE PROMENNE A STRINGY JE MOZNO POUZIT TECHZE NAZVU
(NA PR.  "B"   A   "B$").

MAXIMALNI DELKA JEDNOHO STRINGU JE 255 BYTE (BEZ OHLEDU NA DELKU
OBLASTI PRO STRINGY VYMEZENOU POMOCI 'CLEAR').

PRERUSENI CHODU PROGRAMU (PO 'RUN') JE MOZNE KLAVESOU 'CTRL-C' (ETX).

POTLACENI TISKU Z PROGRAMU SE PROVEDE STISKNUTIM 'CTRL-S'. OBNOVENI
TISKU OPAKOVANIM LIBOVOLNE KLAVESY.




******************************************************************************


	HLASENI CHYB:
	=============

	ERROR XX IN LINE N   - PROGRAMOVY REZIM
	ERROR XX	     - POVELOVY REZIM

	XX - TYP CHYBY, N - CISLO RADKU.

	BASIC CEKA NA POVEL OBSLUHY. PO STISKNUTI "@" ( EDICE CHYBNEHO
	RADKU) AUTOMATICKY ZOBRAZI TEXT RADKU, NA KTEREM BYLA HLASENA
	CHYBA.

   XX ... TYP CHYBY
   ..........................
   NF ... NEXT WITHOUT "FOR"
   SN ... SYNTAX ERROR
   RG ... RETURN WITHOUT "GOSUB"
   OD ... OUT OF DATA  (NOTHING TO "READ")
   FC ... FUNCTION ERROR
   OV ... OVERFLOW VALUE
   OM ... OVERFLOW MEMORY
   US ... UNDEFINED STATEMENT (LINE)
   BS ... INDEX OVERFLOW (BAD SUBSCRIPT - SUBSCRIPT OUT OF RANGE)
   DD ... DOUBLE DIMENSION
   /0 ... ZERO DIVIDE
   ID ... ILEGAL DIRECT
   TM ... TYPE MISMATCH
   OS ... OVERFLOW STRING MEMORY SPACE
   LS ... LONG STRING (>255 )
   ST ... STRING FUNCTION TOO KOMPLEX
   CN ... CONTINUE ERROR
   UF ... UNDEFINED FUNCTION
   WE ... WEND NESTING
   UN ... UNTIL NESTING
   BE ... BEND,BEG NESTING
   M# ... TOO MUCH ## IN USING
   ND ... NO BINAR DATA
   PA ... PARAMETR ERROR
   PE ... PROCEDURE END
   FE ... FUNCTION END
   VA ... VAR ERROR

  EXTRA DATA IGNORED	-	PREBYTECNA DATA IGNOROVANA
  REDO FROM START	-	PISMENO MISTO CISLICE (NOVY VSTUP)



P O Z N A M K A:
----------------
BASIC EXP V5.0, V5.0/G, MONITOR V5.0, MIKOS V5.0 BUDOU K DODANI 
I S POPISEM V TESLE DIZ, HRONOVICKA 437, PARDUBICE. DALE UVITAME
VYSLEDKY VASICH TESTU A ZKUSENNOSTI JAK KLADNE TAK I JINE.

[]


VÝPIS PROGRAMU:



Ú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


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


8 bity / SAPI-1 / Programové vybavení / ZPS-2 / BASIC EXP V5.0



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