

	BASD: dopolnenie BASIC 2.5 diskowymi operaciqmi
	-----------------------------------------------

1. spisok dopolnitelxnyh operacij
---------------------------------

	A) zagruzka/wygruzka programm na disk		LOAD/SAVE
	b) zapusk programm s diska			RUN
	w) zagruzka/wygruzka bloka dannyh na disk	LOAD/SAVE DATA
	g) rabota s fajlami prqmogo dostupa		OPEN,PUT,GET,CLOSE
	d) prosmotr i udalenie fajlow na diske		FILES,DELETE FILES
	e) izmenenie operatora HIMEM
	g) wyhod iz bejsika w mikro-dos                 BYE
2. opisanie dopolnitelxnyh komand
---------------------------------

		2.1. zagruzka/wygruzka programm na diske

	wygruzka programmy na disk proizwoditsq operatorom: SAVE "imq", 
gde imq - ne bolee 8 liter, iskl`~aq '*' i '?'. programma na diske 
polu~aet ras{irenie 'BAS'. naprimer:

	SAVE "PR"

obrazuet na diske, s kotorogo zapuskali BASD.COM, fajl PR.BAS, a 

	SAVE "A:PR"

delaet tove samoe na zadannom diske (zdesx disk a).

	zagruzka programmy s diska proizwoditsq operatorom: LOAD "imq".
sintaksis komandy analogi~en komande SAVE.

	primer:

	LOAD "PR"

wwodit s diska programmu PR.BAS i peredaet uprawlenie BASIC.

	oba |ti operatora movno ispolxzowatx kak w komandnoj stroke 
BASIC, tak i w programme. posle wypolneniq w programmnom revime operatora 
SAVE programma prodolvit swo` rabotu, a posle wypolneniq operatora LOAD 
uprawlenie obqzatelxno peredaetsq BASIC interpretatoru.


		2.2. zapusk programm s diska

	operator RUN pomimo wypolnqemyh w BASIK 2.5 funkcij proizwodit 
zagruzku i zapusk programmy s diska. sintaksis analogi~en operatoram LOAD 
i SAVE. pozwolqet proizwoditx perehod ot odnoj BASIC programmy k drugoj, 
~to pozwolqet sozdawatx bolx{ie programmnye kompleksy.

primer:
-------

programma 1: PR0.BAS

		10 GOSUB 1000
		20 RUN "PR.BAS"
		1000 ....
		1010 RETURN

programma 2: PR.BAS

		10 ...

posle wypolneniq programmy PR0.BAS proizojdet zagruzka programmy PR.BAS 
i ee wypolnenie.

	razre{aetsq zapusk zagruvaemoj programmy s zadannogo w operatore 
RUN nomera operatora BASIC programmy, naprimer:

	RUN "A",100		- zagruzka programmy A.BAS i ee wypolnenie s 
				operatora 100

	10 AA=200:BB=40		- zagruzka programmy B.BAS i ee wypolnenie s
	20 RUN "A",AA+BB	operatora 240



		2.3. wygruzka/zagruzka blokow dannyh s diska

	wygruzka blokow dannyh proizwolxnogo razmera na disk proizwoditsq 
operatorom:

	SAVE DATA "imq",adrna~,adrkon

zdesx 
	imq - imq fajla dannyh na diske (ot 1 do 8 liter). Fajl polu~it 
		ras{irenie .DBA
	adrna~ - adres na~ala bloka w pamqti (l`boe arifieti~eskoe wyra-
		venie)
	adrkon - adres poslednego bajta bloka (l`boe arifmeti~eskoe wyra-
		venie)

prime~anie:
	a) realxnaq dlina bloka dannyh na diske movet bytx bolx{e, ~em 
(adrkon-adrna~+1) bajt, tak kak ona kratna 128 bajtam. t.e., esli 
adrna~=&6000, a adrkon=&6023, to realxno na disk budet wywedena oblastx 
ot &6000 do &607F.
	b) sleduet imetx w widu, ~to w fajle dannyh ne zapominaetsq 
adres na~ala bloka dannyh, i pri wwode |togo bloka ego neobhodimo zadatx
e}e raz.

	zagruzka bloka dannyh s diska w pamqtx proizwoditsq operatorom:

	LOAD DATA "imq",adres

zdesx
	imq - imq fajla dannyh na diske (ot 1 do 8 liter) s ras{ireniem  
		'DBA'
	adres - adres na~ala zagruzki bloka dannyh w pamqtx (l`boe 
		arifmeti~eskoe wyravenie)


ostorovno:
----------
	t.k. operator LOAD DATA ne prowerqet, kuda proizwoditsq zapisx iz 
fajla, to programmist dolven sam sleditx, ~toby ego ispolxzowanie ne na-
ru{ilo BASIC interpretatora, ego oblasti dannyh, steka.

	poskolxku na wremq raboty wseh diskowyh operatorow oblastx pamqti 
ot &A000 do &FFFF perekrywaetsq programmoj obmena s mikro-dos, ne rekomen-
duetsq proizwoditx obmen dannymi mevdu |toj oblastx` i diskami.




		2.4. rabota s fajlami prqmogo dostupa

	dlq otkrytiq fajla ispolxzuetsq operator    OPEN #F,"NAME". zdesx F - 
nomer fajla ot 1 do 8, a NAME - imq fajla w wide, ispolxzuemom w operacionnoj 
sisteme s proizwolxnym ras{ireniem (neqwnye imena ne dopuska`tsq).

	zapisx w fajl proizwoditsq operatorom   PUT #F,NUMBER,ADRBGN. zdesx 
ADRBGN - adres na~ala zapisi dlinoj 128 bajt w pamqti, a NUMBER - ee nomer w 
fajle (ot 0 do 65535, ili ot &0000 do &FFFF).

	~tenie iz fajla proizwoditsq operatorom  GET #F,NUMBER,ADRBGN. sin-
taksis analogi~en komande PUT, A ADRBGN - adres, s kotorogo budet proizwo-
ditxsq zagruzka ukazannogo bloka dlinoj 128 bajt w pamqtx.

	w operatorah PUT #F i GET #F dlq ADRBGN i NUMBER movno ispolxzowatx 
l`boe arifmeti~eskoe wyravenie.

	zakrytie fajla obespe~iwaetsq operatorom   CLOSE #F.

primer raboty s fajlami prqmogo dostupa: 
----------------------------------------
	sm. programmy PUTGET.BAS i BIGFILE.BAS

ostorovno:
----------
	t.k. operatory PUT #F i GET #F ne prowerq`t ADRBGN, to programmist 
dolven sam sleditx, ~toby ego ispolxzowanie ne naru{ilo BASIC interpretatora, 
ego oblasti dannyh, steka.
	poskolxku na wremq raboty wseh diskowyh operatorow oblastx pamqti 
ot &A000 do &FFFF perekrywaetsq programmoj obmena s mikro-dos, ne rekomen-
duetsq proizwoditx obmen dannymi mevdu |toj oblastx` i diskami.

ostorovno: !!!
--------------
	iz-za o{ibok w BDOS mikro-dos 3.1 rabota s fajlami prqmogo dostupa raz-
merom bolee 16k, k sovaleni`, wozmovna tolxko w nulewom polxzowatele (USER 0).
nadeemsq, ~to |to neudobstwo ne okavet su}estwennogo wliqniq na wa{u rabotu.



		2.5. prosmotr oglawleniq diska i udalenie fajlow

	prosmotr oglawleniq (tolxko oblasti teku}ego polxzowatelq!!!) proiz-
woditsq operatorom FILES.

	primery ispolxzowaniq:

FILES			- wse fajly diska, s kotorogo zapuskalsq BASD.COM
FILES ""		- tove samoe
FILES "A:"		- wse fajly zadannogo diska (zdesx disk a)
FILES "NAME.DIM"	- fajly s imenem NAME i ras{ireniem DIM na tek. diske
FILES "B:NAME.DIM"	- tove dlq diska B

	dopuskaetsq ispolxzowanie simwolow '*' i '?' kak w imeni fajla, tak 
i w ego ras{irenii, ras{irenie movet otsutstwowatx, naprimer:

FILES "A*"		- wse fajly s perwoj bukwoj imeni "a" bez ras{ireniq

	udalenie fajlow proizwoditsq operatorom DELETE FILES s sintaksisom, 
analogi~nym operatoru FILES, odnako operator DELETE FILES bez parametrow 
priwodit k sintaksi~eskoj o{ibke. |to sdelano dlq togo, ~toby po o{ibke ne 
udalitx wse fajly. dlq udaleniq wseh fajlow nado ispolxzowatx operatory:

	DELETE FILES ""		- wse fajly na tek. diske
	DELETE FILES "A:"	- wse fajly na diske a


ostorovno:
----------
	operator DELETE FILES ne prosit razre{eniq na udalenie fajlow, po|tomu 
pered ego ispolxzowaniem rekomenduetsq ispolxzowatx operator FILES, ~toby ube-
ditxsq, ~to budut udaleny tolxko velaemye fajly.


		2.6. izmenenie operatora HIMEM.

	poskolxku dlq raboty BASD.COM trebuetsq pamqtx na~inaq s adresa 
&0A000 do &FFFF, to w operatore HIMEM zapre}eno zadawatx adres bolx{e, 
~em &A000H.
	na rabotu s |kranami ograni~eniq ne nakladywa`tsq, t.k. pri ob-
ra}enii k mikro-dos oblastx pamqti &A000-&FFFF |kranow zamenqetsq sootw. 
oblastx` kwazidiska, a zatem wosstanawliwaetsq.


                2.7. wyhod iz bejsika w mikro-dos (CP/M).

        dlq wozwrata iz bejsika w mikro-dos (CP/M) nuvno nabratx komandu

  BYE <wk>


        	3. programma inicializacii ADV$.BAS
	        -----------------------------------

	pri zapuske BASD.COM zapuskaet programmu ADV$.BAS, kotoraq 
inicializiruet nekotorye sistemnye peremennye BASIC interpretatora. |ta 
programma dolvna nahoditxsq na tom ve diske i w toj ve oblasti polxzowa-
telq, ~to i BASD.COM.

	pri velanii wy movete prosmotretx |tu programmu, zagruziw ee w 
pamqtx operatorom  LOAD "ADV$", a takve izmenitx ee i zapisatx pod tem ve 
imenem na disk operatorom  SAVE "ADV$". pri |tom neobhodimo ostawitx wse 
operatory, proizwodq}ie inicializaci` BASIC interpretatora, t.k. w pro-
tiwnom slu~ae wy ne smovete na~atx rabotu (|kran ostanetsq temnym, blo-
kiruetsq rabota nekotoryh operatorow i t.d.).

=========================================================================
 wnimanie! posle zapuska fajl "ADV$.BAS" spra{iwaet "pokazatx katalog ?".
   pri navatii na klawi{i "d","D" ili probel, wywoditxsq katalog teku}ego
diska (CURRENT DISK), T.E. diska s kotorogo byl zapu}en diskowyj bejsik;
   pri navatii na klawi{u "wk" wywoditxsq katalog diska "a";
   pri navatii na l`bye drugie klawi{i wywoda kataloga ne proishodit !!!

     