.TOC
.COM ~astx 4
.COM formaty fajlow
.COM 27	oktqbrq	1989
.TTL

operacionnaq sistema  R T 1 1 (OPISANIE SOSTAWLENO NA OSNOWE

OPISANIQ os rafos S WNESENIEM IZMENENIJ I DOPOLNENIJ)

formaty	fajlow

rukowodstwo sistemnogo programmista



1984




.CPT wwedenie
.LIN
RT11 uprawlqet tremq tipami	informacii:
.AND
simwolxnoj;
.AND 0
formatnoj dwoi~noj;
.AND 0
neformatnoj dwoi~noj.
.LIN
ishodnyj fajl, napisannyj na assemblere
ili na odnom iz	qzykow wysokogo	urownq,	sodervit simwolxnyj
tip informacii.
.LIN
posle kompilqcii fajla budet polu~en ob'ektnyj fajl, soderva}ij
formatnu` dwoi~nu` informaci`.
.LIN
posle obrabotki	ob'ektnogo fajla komponow}ikom (programma
LINK) polu~ennyj fajl sodervit neformatnyj dwoi~nyj tip
informacii. |tot ve tip	informacii sodervat fajly dannyh.
.LIN
w sisteme su}estwu`t tri formata fajlow	(ris. 1):
.AND
ishodnye (tip MAC, FOR,	DAT, BAS i dr.);
|to programmy ili dannye w simwolxnom wide;
.AND
ob'ektnye (tip OBJ); oni
obrazu`tsq w rezulxtate	translqcii ishodnyh fajlow;
ob'ektnyj fajl movet sostoqtx iz odnogo	ili neskolxkih
ob'ektnyh modulej; ob'edinenie |tih modulej w
ob'ektnyj fajl osu}estwlqetsq s	pomo}x`	komandy
COPY i kl`~a /CONCATENATE; bibliote~nye	fajly nelxzq
ob'edinqtx s pomo}x`
|toj komandy, oni obrabatywa`tsq specialxnoj programmoj
bibliotekarx (LIBR);
.AND
w formate zagruzki (tip	SAV, REL, LDA);	|to ob'ektnye fajly,
skomponowannye programmoj LINK;	komponow}ik
sozdaet	iz ob'ektnogo fajla ili	fajl-"kopi` pamqti" (SAV)
dlq fonowogo razdela, ili pereme}aemyj fajl (REL) dlq
operatiwnogo razdela, ili fajl w formate absol`tnoj
zagruzki (LDA);	tip fajla zawisit ot kl`~a, kotoryj budet
zadan w	komande	LINK.
.CLN
.MID shema preobrazowaniq fajlow w sisteme
.SKI 2
.MID ishodnye  fajly
.SWT
     !-------!		 !-------!	     !-------!
     ! *.MAC !		 ! *.FOR !	     ! *.XXX !
     !-------!		 !-------!	     !-------!
	 !		     !			 !
	 !		     !			 !
	 Y		     Y			 Y
 !----------------!    !------------!	 !---------------!
 !		  !    ! kompilqtor !	 !  kompilqtor,	 !
 ! makroassembler !    !	    !	 !  napisannyj	 !
 !		  !    !  fortran   !	 ! polxzowatelem !
 !----------------!    !------------!	 !---------------!
	 !		     !			 !
	 !	   ob'ektnye ! fajly (moduli)	 !
	 Y		     Y			 Y
     !-------!		 !-------!	     !-------!
     ! *.OBJ !		 ! *.OBJ !	     ! *.OBJ !
     !-------!		 !-------!	     !-------!
	 !		     !			 !
	 Y		     Y			 Y
	 !-------------------!-------------------!
			!		      !
			!		      !
			!		      Y
			!		 !---------------!
			!   !-------!	 !		 !
			!   ! *.OBJ !<---! bibliotekarx	 !
			!   !-------!	 !		 !
	 !----------!	!	!	 !---------------!
	 !	    !	!	!
	 !	    Y	Y	Y
	 !	  !---------------!
     !-------!	  !		  !
     ! *.STB !<---!  komponow}ik  !
     !-------!	  !		  !
		  !---------------!
		      !	  !   !
	      !-------!	  !   !-------!
	      !		  !	      !
	      Y		  Y	      Y
	  !-------!   !-------!	  !-------!  fajly
	  ! *.SAV !   !	*.REL !	  ! *.LDA !  w formate
	  !-------!   !-------!	  !-------!  zagruzki
.SWT 3
.MID ris. 1
.CPT format ishodnogo fajla
.LIN
fajly ishodnyh tekstow programm, napisannyh na makroassemblere ili
fortrane, i tekstowye fajly, sozdannye redaktorom, qwlq`tsq
posledowatelxnostx` simwolow koda koi-7.
|ti fajly sodervat posledowatelxnosti
bajtow,	i kavdyj bajt predstawlqet odin	simwol koda koi-7.
.LIN
oby~no tekstowyj fajl razbiwaetsq na "stranicy",
kotorye	otdelq`tsq drug	ot druga uprawlq`}im simwolom <FF>
(perewod stranicy). stranicy mogut razbiwatxsq na stroki, kotorye
otdelq`tsq drug	ot druga posledowatelxnostx` uprawlq`}ih simwolow
<CR><LF>.
tekstowye fajly	ne ime`t specialxnyh zagolowkow	ili blokow okon~aniq
i ne sodervat formatnyh	dwoi~nyh blokow.
.LIN
kod 32 (ili <CTRL/Z>) movet zawer{atx tekstowoj	fajl. esli
komandnaq stroka dlq PIP zadana	s
kl`~om /A (ili esli ispolxzuetsq komanda
monitora COPY/ASCII) dlq kopirowaniq tekstowyh fajlow,
to pri wypolnenii operacii ona osu}estwlqet prowerku na	nali~ie
uprawlq`}ego simwola <CTRL/Z>. esli fajl sodervit <CTRL/Z>, PIP
predpolagaet, ~to |to konec fajla. esli	PIP
ispolxzuetsq w revime "po umol~ani`" (ili zadana komanda
monitora COPY bez kl`~ej) dlq kopirowaniq tekstowogo fajla,
ona ne otsleviwaet poqwlenie <CTRL/Z>. kopirowanie prodolvaetsq
do obnaruveniq fizi~eskogo konca fajla.
.CPT format ob'ektnogo modulq
.LIN
oby~no modulx programmy, napisannyj na assemblere,
na~inaetsq s direktiwy .TITLE (za kotoroj sleduet imq
modulq)	i zakan~iwaetsq	direktiwoj .END	(priznak konca
programmy). esli imq modulq otsutstwuet, to, po	umol~ani`,
modulx polu~aet	imq ".MAIN.".
.LIN
ob'ektnyj modulx oby~no	sozdaetsq pri assemblirowanii ili pri
kompilqcii, esli ishodnyj modulx napisan na qzyke wysokogo
urownq (iskl`~aq paskalx).
.LIN
modulx sostoit iz dwoi~nyh blokow. kavdyj blok - |to posledowatelxnostx
bajtow,	kotoraq	movet hranitxsq	na l`bom wne{nem nositele, w tom ~isle
i na perfolente.
.LIN
struktura dwoi~nogo bloka predstawlena na ris. 2.
.TES 18
.SWT
	  !-------------------------!-----
	  !	       1	    !	A
	  !-----	       -----!	!
	  !	       0	    !	!
	  !-------------------------!	!
	  !	s~et~ik	 bajtow	    ! koli~estwo bajtow,
	  !-----	       -----! ukazannoe
	  !	   w bloke	    ! w	s~et~ike
	  !-------------------------!	!
	  .			    .	!
	  .	   d a n n y e	    .	!
	  .			    .	V
	  !-------------------------!-----
	  ! bajt kontrolxnoj summy  !
	  !	   bloka	    !
	  !-------------------------!
.SWT
		   ris.	2
.LIN
perwye dwa bajta kavdogo bloka sodervat	identifikator na~ala bloka:
.SWT
	      mlad{ij bajt - 1;
	      star{ij bajt - 0.
.LIN
2-j i 3-j bajty	qwlq`tsq s~et~ikom i ukazywa`t koli~estwo
bajtow w bloke (bajt kontrolxnoj summy ne u~itywaetsq).
.LIN
zna~enie bajta kontrolxnoj summy bloka rawno summe zna~enij
wseh bajtow bloka w dopolnitelxnom kode.
takim obrazom, summa wseh bajtow bloka (wkl`~aq	kontrolxnu`
summu) dolvna bytx rawna nul`.
.LIN
dannye,	nahodq}iesq w dwoi~nom bloke, opredelq`tsq tipom bloka.
tip bloka zapisywaetsq w tretxe	slowo dwoi~nogo	bloka.
.LIN
kavdyj tip bloka imeet swoj kod	identifikatora tipa bloka
(kod itb). tipy	blokow predstawleny w tabl. 1.
.TES 41
.SWT
				       tablica 1
	   -------------------------------------
	    kod	itb ! tip bloka	!    funkciq
	   -------------------------------------
		    !		! informaciq o
	       1    !	   GSD	! globalxnyh
		    !		! simwolah
	   ---------!-----------!---------------
		    !		! priznak konca
	       2    !	ENDGSD	! blokow GSD w
		    !		! module
	   ---------!-----------!---------------
		    !		! ma{innye
	       3    !	   TXT	! kody
		    !		! programmy
	   ---------!-----------!---------------
		    !		! informaciq o
	       4    !	   RLD	! pereme}aemyh
		    !		! lokalxnyh
		    !		! simwolah
	   ---------!-----------!---------------
		    !		! informaciq o
		    !		! wnutrennih
	       5    !	   ISD	! simwolah (ne
		    !		! podderviwaetsq
		    !		! sistemoj)
	   ---------!-----------!---------------
		    !		! priznak konca
	       6    !	ENDMOD	! ob'ektnogo
		    !		! modulq
	   ---------!-----------!---------------
		    !		! zagolowok
	       7    !	TITLIB	! bibliote~nogo
		    !		! fajla
	   ---------!-----------!---------------
		    !		! priznak konca
	      10    !	ENDLIB	! bibliote~nogo
		    !		! fajla
.LIN
perwym blokom ob'ektnogo modulq	dolven bytx blok GSD.
esli w module sodervitsq neskolxko blokow GSD, to |ti
bloki mogut ~eredowatxsq s drugimi blokami (ris. 3). wse bloki
GSD dolvny bytx	raspoloveny pered blokom ENDGSD
(priznak konca blokow GSD). blok ISD movet bytx	raspoloven
w l`bom	meste mevdu blokami GSD	i ENDMOD.
.LIN
neobhodimo ob'qwitx wse	programmnye sekcii (PSECT, VSECT
i CSECT), opredelqemye w module	w blokah GSD. pri
rezerwirowanii oblasti dlq sekcii razmer kavdoj	opredelqemoj
programmnoj sekcii ukazywaetsq w bajtah.
.LIN
esli programmnaq sekciq	ob'qwlqetsq neskolxko raz w odnom i tom	ve
ob'ektnom module, komponow}ik ustanawliwaet samyj bolx{oj ob'qwlennyj
razmer dlq |toj	sekcii.	wse globalxnye simwoly,	kotorye	opredeleny w
dannoj programmnoj sekcii, dolvny bytx opisany w blokah	GSD, neposredstwenno
sledu`}ih za ob'qwleniem |toj programmnoj sekcii.
.LIN
specialxnaq programmnaq	sekciq,	nazywaemaq absol`tnoj sekciej (.ABS.),
razme}aetsq komponow}ikom, na~inaq s q~ejki 0 w	pamqti (ozu).
neposredstwenno	 posle tipa zapisi w bloke GSD,	kotoryj	opredelqet
absol`tnu` sekci`, ob'qwlq`tsq wse globalxnye simwoly, kotorye
sodervat absol`tnye zna~eniq (nepereme}aemye).
.LIN
esli net neobhodimosti raspredelitx mesto dlq absol`tnoj sekcii, to
w q~ejke, soderva}ej razmer |toj sekcii, neobhodimo ukazatx 0.
|to movno sdelatx dave w tom slu~ae, esli posle	nee ob'qwlqetsq
absol`tnyj globalxnyj simwol.
.LIN
globalxnyj simwol, na kotoryj ime`tsq ssylki, no kotoryj ne
opredelen w teku}em ob'ektnom module,  dolven takve bytx opisan	w
bloke GSD. |ti globalxnye ssylki mogut bytx opisany w l`bom
bloke GSD (krome samogo	perwogo, kotoryj sodervit imq modulq)
posle absol`tnoj PSECT.	oni wsegda opredelq`t
posledn`` ob'qwlennu` PSECT.
.ATT
esli 16-razrqdnoe slowo	zapominaetsq kak ~astx informacii w
bloke dannyh, ono wsegda zapominaetsq kak posledowatelxnostx iz
dwuh 8-razrqdnyh bajtow; perwym	raspolagaetsq mlad{ij bajt.
.LIN
bloki dannyh ob'ektnogo	modulq ime`t razli~nu` dlinu. perwyj bajt w bloke
dannyh sodervit	kod, kotoryj identificiruet tip	bloka dannyh.
kody mogut imetx zna~eniq ot 0 do 10 (wosxmeri~noe).
format posledu`}ej informacii w	bloke dannyh zawisit
ot tipa	bloka dannyh.
.TES 38
.SWT
.MID format ob'ektnogo modulq
.SKI 2
	  !--------!
	  !   GSD  !  inicializaciq blokow GSD
	  !--------!
	  !   RLD  !  inicializaciq blokow RLD
	  !--------!
	  !   GSD  !  dopolnitelxnyj blok GSD
	  !--------!---
	  !   TXT  ! !
	  !--------! !	tekstowye bloki
	  !   TXT  ! V
	  !--------!---
	  !   RLD  !  informaciq o pereme}aemyh
	  !--------!  lokalxnyh	simwolah
	      ...
	      ...
	      ...
	  !--------!
	  !   GSD  !
	  !--------!
	  ! ENDGSD !  blok konca blokow	GSD
	  !--------!---
	  !   ISD  ! !	informaciq o
	  !--------! !	wnutrennih
	  !   ISD  ! V	simwolah
	  !--------!---
	  !   TXT  !
	  !--------!
	  !   TXT  !
	  !--------!
	  !   TXT  !
	  !--------!
	  !   RLD  !
	  !--------!
	  ! ENDMOD !  blok konca modulq
	  !--------!

.MID ris. 3
.LIN
blok ENDMOD (priznak konca ob'ektnogo modulq) dolven
bytx poslednim w ob'ektnom module.
.HLV
blok GSD
.LIN
bloki GSD sodervat ws` informaci`, neobhodimu` komponow}iku
dlq nazna~eniq adresow globalxnym simwolam i dlq raspredeleniq
pamqti,	zapra{iwaemoj zadaniem.
.LIN
blok GSD sostoit iz |lementow, kavdyj iz kotoryh
imeet format, predstawlennyj na	ris. 4.
.TES 16
.SWT
	    format |lementa bloka
.SKI 2
	    !-------------------!  identifikator
	    !	 0    !	   1	!  bloka GSD
	    !-------------------!
	    ! imq w kode RAD50	!
	    !---	     ---!
	    !	  (2 slowa)	!
	    !---------!---------!
	    !  ki|b   !	flavki	!
	    !---------!---------!
	    ! dlina ili	sme}enie!
	    !-------------------!

		   ris.	4
.LIN
star{ij	bajt ~etwertogo	slowa bloka GSD	sodervit
kod identifikatora |lementa bloka (ki|b). zna~enie ki|b
ukazywaet na tip soderva}ejsq informacii:
.DFN 0
informaciq ob ob'ektnom	module;
.DFN 1
imq kontrolxnoj	sekcii (.CSECT);
.DFN 2
imq tablicy wnutrennih simwolow	(sistemoj ne ispolxzuetsq);
.DFN 3
informaciq o startowom adrese;
.DFN 4
informaciq o globalxnyh	simwolah;
.DFN 5
informaciq o programmnoj sekcii	(.ASECT, .CSECT
ili .PSECT);
.DFN 6
identifikator wersii programmy (.IDENT);
.DFN 7
informaciq o wirtualxnoj sekcii	programmy (.VSECT).
.HLV 2
informaciq ob ob'ektnom	module (ki|b=0)
.LIN
|lement	ob'ektnogo modulq ob'qwlqet imq	ob'ektnogo modulq i
imeet strukturu, predstawlennu`	na ris.	5.
.TES 12
.SWT
	  !-----------------!
	  !   imq modulq    !
	  !---		 ---!
	  !   w	kode RAD50  !
	  !-----------------!
	  !    0   !   0    !
	  !-----------------!
	  !	   0	    !
	  !-----------------!

		ris. 5
.LIN
imq ob'ektnogo modulq ne obqzano bytx unikalxnym (edinstwennym)
po otno{eni` k drugim ob'ektnym	modulqm, poskolxku moduli
identificiru`tsq fajlom, a ne imenem modulq. odnako tolxko
odno imq modulq	movet bytx ob'qwleno w odnom ob'ektnom
module.
.LIN
|lement	ob'ektnogo modulq sodervit sledu`}u` informaci`:
.DFN slowa 1 i 2
imq modulq w kode RAD50; imq modulq
daetsq w direktiwe .TITLE;
.DFN slowo 3
mlad{ij	bajt (flavki) =	0;
.AND 0
star{ij	bajt  (ki|b)  =	0;
.DFN slowo 4
sme}enie  =  0.
.HLV 2
informaciq o kontrolxnoj sekcii	(ki|b=1)
.LIN
zapisx sodervit	imq kontrolxnoj	sekcii.	komponow}ik preobrazuet
kontrolxnye sekcii (kotorye wkl`~a`t .ASECT, neimenowannu` i
imenowannye .CSECT) w sootwetstwu`}ie .PSECT. |to preobrazowanie
wypolnqetsq dlq	sowmestimosti s	drugimi	sistemami.
.LIN
format kontrolxnoj sekcii predstawlen na ris. 6.
.TES 11
.SWT
	  !-------------------!
	  !  imq kontrolxnoj  !
	  !---		   ---!
	  !sekcii w kode RAD50!
	  !-------------------!
	  !    1   !ne ispolx-!
	  !	   ! zuetsq   !
	  !-------------------!
	  ! maksimalxnaq dlina!
	  !-------------------!

		ris. 6
.LIN
movno ob'qwitx .ASECT  i .CSECT	s pomo}x` direktiwy .PSECT.
naprimer, dlq ob'qwleniq neimenowannoj .CSECT ispolxzuetsq
 .PSECT	so sledu`}imi atributami:
.SWT
	.PSECT ,RW,I,LCL,REL,CON
.LIN
dlq ob'qwleniq imenowannoj .CSECT ispolxzuetsq .PSECT so
sledu`}imi atributami:
.SWT
	.PSECT NAME,RW,I,GBL,REL,OVR
.LIN
dlq ob'qwleniq .ASECT ispolxzuetsq .PSECT so sledu`}imi
atributami:
.SWT
	.PSECT .ABS.,RW,I,GBL,ABS,OVR
.LIN
komponow}ik preobrazuet	.ASECT i .CSECT	w .PSECT s fiksirowannymi
atributami, ukazannymi wy{e.
.HLV 2
informaciq o tablice wnutrennih	simwolow (ki|b=2)
.LIN
zapisx sodervit	imq wnutrennego	simwola	(simwol	sodervitsq
w dannom module). t.k. komponow}ik ne ispolxzuet tablicu
wnutrennih simwolow, to	|ta zapisx ne sodervit dopolnitelxnoj
informacii. pri	obrabotke blokow GSD komponow}ik ignoriruet
|tu informaci`.
.LIN
format zapisi predstawlen na ris. 7.
.TES 27
.SWT
	  !-------------------!
	  !    imq simwola    !
	  !---		   ---!
	  !    w kode RAD50   !
	  !-------------------!
	  !    2    !	 0    !
	  !-------------------!
	  !  ne	ispolxzuetsq  !
	  !-------------------!
.SWT 2
		ris. 7
.LIN
|lement	programmnoj sekcii sodervit sledu`}u` informaci`:
.DFN slowa 1 i 2
imq simwola w kode RAD50;
.DFN slowo 3
mlad{ij	bajt (flavki) rawen 0;
.AND 0
star{ij	bajt (ki|b) rawen 2;
.DFN slowo 4
ne ispolxzuetsq.
.HLV 2
informaciq o startowom adrese (ki|b=3)
.LIN
|lement	startowogo adresa ob'qwlqet startowyj adres modulq
otnositelxno PSECT i sodervit sledu`}u`	informaci`:
.DFN slowa 1 i 2
imq programmnoj	sekcii w kode RAD50;
.DFN slowo 3
mlad{ij	bajt (flavki) =	0;
.AND 0
star{ij	bajt (ki|b) = 3;
.DFN slowo 4
adres metki, ukazannoj w direktiwe .END, otnositelxno
na~ala programmnoj sekcii; esli	adres w	direktiwe
otsutstwuet, to	assembler zapisywaet w |to slowo 1;
pri komponowke LINK prosmatriwaet wse startowye	adresa,
wybiraet perwyj	~etnyj startowyj adres;	esli wse
adresa okazalisx ne~etnymi, to komponow}ik zapisywaet 1
w q~ejku 40 nulewogo bloka.
.LIN
format zapisi o	startowom adrese predstawlen na	ris. 8.
.TES 11
.SWT
	  !-------------------!
	  !	imq PSECT     !
	  !---		   ---!
	  !    w kode RAD50   !
	  !-------------------!
	  !    3    !	 0    !
	  !-------------------!
	  !	sme}enie      !
	  !-------------------!

		ris. 8
.ATT
w slu~ae, kogda	PSECT qwlqetsq absol`tnoj, to sme}enie sootwetstwuet
fakti~eskomu adresu pereda~i, esli on ne |kwiwalenten 000001.
.HLV 2
informaciq o globalxnyh	simwolah (ki|b=4)
.LIN
|lement	globalxnogo simwola imeet sledu`}u`
informaci`:
.DFN slowa 1 i 2
imq globalxnogo	simwola	w kode RAD50;
.DFN slowo 3
mlad{ij	bajt (flavki);
.AND 0
star{ij	bajt (ki|b = 4);
.DFN slowo 4
konstanta; globalxnyj simwol movet bytx	raspoloven w absol`tnoj
ili pereme}aemoj sekcii; w swqzi s |tim	4-e slowo
|lementa budet sodervatx absol`tnyj adres ili sme}enie
otnositelxno na~ala pereme}aemoj sekcii.
.LIN
dlq harakteristiki globalxnogo simwola ispolxzu`tsq
dwa flavka: bity 3 i 5.
.LIN
flavki sodervat	sledu`}u` informaci` o globalxnom simwole:
.SWT
 bit 3
	 0 - ne	opredelen w dannoj programmnoj sekcii;
	 1 - opredelen;
 bit 5
	 0 - absol`tnoe	zna~enie;
	 1 - pereme}aemoe zna~enie.
.HLV 2
informaciq o programmnoj sekcii	(ki|b=5)
.LIN
sistema	pozwolqet pri sozdanii i korrektirowke
programm primenqtx metod sekcionirowaniq.
.LIN
programma movet	sostoqtx iz nabora programmnyh sekcij. programmnaq
sekciq,	krome imeni, imeet argumenty, kotorye opredelq`t tip informacii,
soderva}ejsq w |toj sekcii. naprimer, programmnaq sekciq
movet sostoqtx tolxko iz odnih dannyh ili tolxko iz odnih
instrukcij.
.LIN
format zapisi o	programmnoj sekcii predstawlen na ris. 9.
.SWT
	  !-------------------!
	  !  imq programmnoj  !
	  !---		   ---!
	  !sekcii w kode RAD50!
	  !-------------------!
	  !    5    ! flavki  !
	  !-------------------!
	  ! maksimalxnaq dlina!
	  !-------------------!

		ris. 9
.LIN
|lement	programmnoj sekcii sodervit sledu`}u` informaci`:
.DFN slowa 1 i 2
imq programmnoj	sekcii w kode RADIX 50;
.SWT
 slowo 3
.AND 0
mlad{ij	bajt (flavki);
.AND 0
star{ij	bajt (ki|b = 5);
.DFN slowo 4
konstanta, rawnaq dline	programmnoj sekcii pl`s	2
(t.e. ukazywaet	na sledu`}ij adres, s kotorogo programmnaq
sekciq movet bytx prodolvena).
.LIN
prime~aniq:
.LIN 0
1. dlina wseh absol`tnyh sekcij	rawna dline naibolx{ej iz nih.
.LIN 0
2. w sisteme ispolxzuetsq direktiwa makroassemblera .PSECT
ili operator COMMON w fortrane
dlq opredeleniq	programmnoj sekcii. programmnaq	sekciq
imeet imq. esli	imq otsutstwuet, to wmesto nego
dolvna stoqtx zapqtaq. naprimer, esli imq programmnoj sekcii
SYM, to	direktiwa imeet	wid:
.SWT
	  .PSECT SYM,argumenty
.LIN
esli imq otsutstwuet, to direktiwa imeet wid:
.SWT
	  .PSECT ,argumenty
.LIN
makroassembler dopuskaet 256 programmnyh sekcij:
.AND
odnu absol`tnu`	programmnu` sekci`;
.AND 0
odnu neimenowannu` pereme}aemu`	programmnu`
sekci`;
.AND 0
254 imenowannye	pereme}aemye programmnye
sekcii.
.LIN
programmnaq sekciq imeet sledu`}ij nabor argumentow (flavkow):
.DFN ~tenie i zapisx (RW)
argument, ukazywa`}ij, ~to informaciq dannoj
programmnoj sekcii movet s~itywatxsq i korrektirowatxsq;
.DFN tolxko ~tenie (RO)
argument, ukazywa`}ij, ~to informaci` dannoj programmnoj sekcii
movno tolxko s~itywatx,	no ne korrektirowatx (ne podderviwaetsq
sistemoj);
.DFN absol`tnaq	sekciq (ABS)
programmnaq sekciq, kotoraq sodervit tolxko absol`tnye adresa;
esli |tot argument otsutstwuet,	to po umol~ani`	sekciq
wosprinimaetsq kak pereme}aemaq;
.DFN pereme}aemaq sekciq (REL)
programmnaq sekciq, soderva}aq pereme}aemye
adresa;	pri komponowke operatiwnoj programmy LINK
pome}aet wse q~ejki programmnoj	sekcii w bloki
pereme}enij; argument ustanawliwaetsq po umol~ani`;
.DFN globalxnaq	sekciq (GBL)
argument, ispolxzuemyj pri sozdanii owerlejnoj programmy;
w |tom slu~ae wse globalxnye sekcii, opisannye w razli~nyh
owerlejnyh modulqh, pri	komponowke peresyla`tsq
w kornewoj segment; pri	otsutstwii argumenta sekciq wosprinimaetsq
kak lokalxnaq dlq owerlejnogo segmenta,	gde razme}aetsq	dannyj modulx;
.DFN lokalxnaq sekciq (LCL)
programmnaq sekciq, raspolovennaq wnutri
ob'ektnogo modulq, w kotorom ona ob'qwlena; argument
ustanawliwaetsq	po umol~ani`;
.DFN dannye (D)
argument, ukazywa`}ij, ~to programmnaq sekciq sodervit
tolxko dannye; po umol~ani` ustanawliwaetsq, ~to programmnaq
sekciq sodervit	tolxko instrukcii;
.DFN instrukcii	(I)
argument, ukazywa`}ij, ~to programmnaq sekciq sodervit
tolxko instrukcii; ustanawliwaetsq po umol~ani`;
.DFN owerlejnaq	sekciq (OVR)
argument, ukazywa`}ij, ~to wse programmnye sekcii s
odinakowymi imenami, ob'qwlennye w raznyh modulqh,
nakladywa`tsq drug na druga pri	komponowke modulej w programmu;
pri |tom razmer	programmnoj sekcii budet rawen dline
samoj bolx{oj iz ob'qwlennyh sekcij; po	umol~ani`
ustanawliwaetsq	argument "prisoedinqemaq sekciq";
.DFN prisoedinqemaq sekciq (CON)
argument, ukazywa`}ij, ~to wse odnoimennye programmnye sekcii,
ob'qwlennye w neskolxkih modulqh, dobawlq`tsq k	perwoj
ob'qwlennoj sekcii; |tot argument ustanawliwaetsq po umol~ani`.
.LIN
|lement	programmnoj sekcii ispolxzuet sledu`}ie	flavki dlq
harakteristik sekcii:
.SWT
      bit 2
	      0	- neowerlejnaq programmnaq sekciq (CON);
	      1	- owerlejnaq (OVR);
      bit 5
	      0	- absol`tnaq (ABS);
	      1	- pereme}aemaq (REL);
      bit 6
	      0	- lokalxnaq (LCL);
	      1	- globalxnaq (GBL);
      bit 7
	      0	- sodervit tolxko instrukcii (I);
	      1	- sodervit tolxko dannye (D).
.LIN
dopuskaetsq ispolxzowanie sledu`}ih programmnyh	sekcij:
 .ASECT	i .CSECT. odnako |ti programmnye sekcii	ime`t
strogo opredelennye argumenty. pri popytke polxzowatelq
izmenitx argumenty pri translqcii wydaetsq soob}enie
ob o{ibke.
.LIN
nive priwedeny argumenty, kotorye mogut	imetx programmnye
sekcii RT11:
.SWT
	.ASECT	      RW, I, GBL, ABS, OVR
	.CSECT	      RW, I, LCL, REL, CON
	.CSECT	/imq/ RW, I, GBL, REL, OVR
	 COMMON	/imq/ RW, D, GBL, REL, OVR
.HLV 2
identifikator wersii programmy	(ki|b=6)
.LIN
identifikator wersii programmy sodervit	nomer wersii modulq.
komponow}ik izwlekaet nomer wersii iz direktiwy	.IDENT perwogo modulq,
w kotorom on zadan, i wkl`~aet ego w kartu zagruzki pamqti.
.LIN
format zapisi predstawlen na ris. 10.
.TES 11
.SWT
	  !-------------------!
	  !    simwolxnoe     !
	  !---		   ---!
	  ! imq	w kode RAD50  !
	  !-------------------!
	  !    0    !	 0    !
	  !-------------------!
	  !	    0	      !
	  !-------------------!

		ris. 10
.LIN
|lement	sodervit sledu`}u` informaci`:
.DFN slowa 1 i 2
identifikator wersii w kode RAD50;
.DFN slowa 3 i 4
ne ispolxzu`tsq.
.HLV 2
ob'qwlenie massiwa otobraveniq (ki|b=7)
.LIN
|ta zapisx sodervit informaci` o raspredelenii prostranstwa
wnutri oblasti massiwa otobraveniq pamqti zadaniq.
komponow}ik wkl`~aet imq massiwa w spisok imenowannoj PSECT,
i posledu`}ie bloki RLD	mogut ssylatxsq	na nee.
.LIN
komponow}ik dobawlqet dlinu (w blokah po 32 slowa) dlq razme}eniq
massiwa	otobraveniq zadaniq. on	opredelqet ob}ij razmer	pamqti,
neobhodimoj dlq	razme}eniq kavdogo massiwa otobraveniq.
bajt flaga ne ispolxzuetsq i predpolagaetsq rawnym nul`.
tolxko kompilqtor s qzyka fortran sm ispolxzuet	programmnye sekcii
 .VSECT.
.LIN
komponow}ik preobrazuet	VSECT w	PSECT so sledu`}imi atributami:
.SWT
	.PSECT .VIR.,RW,D,GBL,REL,CON
.LIN
dlina sootwetstwuet koli~estwu zapra{iwaemyh 32-slownyh	blokow.
esli dlina rawna nul`, to |to kornewoj segment.
.LIN
ne dolvno bytx nikakih globalxnyh simwolow w sekcii, kotoraq
na~inaetsq s nulewogo bazowogo adresa.
.ATT
dopolnitelxnoe adresnoe	okno razme}aetsq, kogda	ob'qwlen massiw	otobraveniq.
.LIN
format |lementa	"ob'qwlenie massiwa otobraveniq" predstawlen na
ris. 11.
.TES 13
.SWT
		  !-------------------!
		  !   imq massiwa     !
		  !   otobraveniq     !
		  !---		   ---!
		  !   w	kode RAD50    !
		  !-------------------!
		  !    7    ! ne isp. !
		  !-------------------!
		  !	 dlina	      !
		  !-------------------!
.SWT
			ris. 11
.HLV
blok ENDGSD
.LIN
blok ENDGSD ukazywaet, ~to predstawleny	wse bloki GSD, soderva}iesq
w dannom module.
.LIN
w kavdom ob'ektnom module dolven bytx wsego odin blok ENDGSD.
dlina bloka dannyh rawna odnomu	slowu (ris. 12).
.SWT
		 !-------------------!
		 !    0	   !	2    !
		 !-------------------!

		       ris. 12
.HLV
blok TXT
.LIN
blok tekstowoj informacii sodervit bajtowye stroki informacii,
kotorye	komponow}ik zapisywaet neposredstwenno w wyhodnoj fajl.
blok sodervit adres zagruzki, raspolovennyj w 2	bajtah.
.LIN
tekstowye zapisi mogut sodervatx slowa ili bajty informacii,
kotoraq	movet bytx prodolvena w	sledu`}em bloke	TXT. w
|tom slu~ae bloki TXT razdelq`tsq blokom RLD, soderva}im
informaci` o pereme}enii. esli tekstowoj blok ne
budet modificirowatxsq,	to emu ne budet	pred{estwowatx blok
RLD.
.LIN
blok dannyh TXT	tak ve,	kak i blok RLD,	ne dolven imetx
dlinu bolx{e 42	bajtow.
.LIN
format bloka TXT predstawlen na	ris. 13.
.TES 12
.SWT
		 !----------------!
		 !    kod  itb	  !
		 !----------------!
		 ! adres zagruzki !
		 !----------------!
		 .    dwoi~nye	  .
		 .	kody	  .
		 .    programmy	  .
		 !----------------!

		      ris. 13
.LIN
blok dannyh TXT	imeet kod identifikatora tipa bloka (kod itb),
rawnyj 3.
.LIN
adres zagruzki bloka TXT sootwetstwuet sme}eni`	ot teku}ego
bazowogo adresa	PSECT.
perwomu	bloku TXT dolven pred{estwowatx,
po krajnej mere, odin blok RLD
|tot blok RLD dolven ob'qwitx
teku}u`	PSECT.
.HLV
blok RLD
.LIN
w blokah RLD sodervitsq	informaciq o wseh sekciqh, ime`}ihsq
w programme, i ih bazowyh adresah, o pereme}aemyh globalxnyh
i lokalxnyh simwolah.
.LIN
blok RLD movet sodervatx 14 tipow komand.
komanda	(ris. 14) movet	zanimatx maksimalxno ~etyre
slowa. w zawisimosti ot
tipa komandy izmenqetsq	ee dlina. perwoe slowo komandy
prisutstwuet wo	wseh tipah komand.
.TES 15
.SWT
		 format	komandy	bloka RLD

	     !15	    8!	  7!6	      0!
	     !---------------!-----!-----------!
	     ! otnositelxnoe !	B  !	kod    !
	     !	  sme}enie   !	   ! komandy   !
	     !---------------!-----!-----------!
	     !	  imq (	dwa slowa w kode       !
	     !-----			  -----!
	     !		  RADIX	50 )	       !
	     !---------------------------------!
	     !		  konstanta	       !
	     !---------------------------------!
.SWT
			  ris. 14
.LIN
bloki pereme}eniq RLD (sm. ris.	14) sodervat informaci`, neobhodimu`
LINK dlq pereme}eniq i komponowki, i pred{estwu`}u`
bloku tekstowoj	informacii.
.LIN
kavdyj modulx dolven imetx, po krajnej mere, odin blok RLD, kotoryj
pred{estwuet perwomu bloku TXT.	perwyj blok ne modificiruet
pred{estwu`}ij blok TXT, a opredelqet teku}u` PSECT i razme}enie.
.LIN
na ris.	14 predstawlen ob}ij wid komandy, kotoraq sostoit iz
sledu`}ih komponentow:
.AND
otnositelxnoe sme}enie;	ukazywaet sme}enie ot na~ala
bloka TXT do sootwetstwu`}ego bajta
(ili slowa) dannyh; bajt sme}eniq summiruetsq so zna~eniem,
wy~islqemym otnositelxno adresa	zagruzki pred{estwu`}ego
bloka TXT; polu~ennoe zna~enie qwlqetsq	wirtualxnym adresom,
kotoryj	dolven bytx modificirowan;
.AND
tip komandy (bity  0-6); movno ukazatx do 128 tipow komand;
w RT11 ispolxzuetsq	tolxko 14 tipow	komand;
.AND
bit modifikacii	(bit "B"); ne ispolxzuetsq sistemoj; esli bit ustanowlen, to
on ignoriruetsq; komponow}ik obsluviwaet pereme}enie slowa, no ne bajta:
.AN2 0
pri B=0	komanda	modificiruet wse slowo;
.AN2 0
pri B=1	komanda	modificiruet bajt;
.AND
imq globalxnogo	ili lokalxnogo simwola ili imq
programmnoj sekcii;
.AND
konstanta; movet bytx otnositelxnym adresom ili
rezulxtatom summirowaniq, esli |togo trebuet
dannaq komanda.
.LIN
su}estwu`t sledu`}ie tipy komand:
.DFN tip 1
wnutrennee pereme}enie;
.DFN tip 2
globalxnoe pereme}enie;
.DFN tip 3
wnutrennee pereme}aemoe	sme}enie;
.DFN tip 4
globalxnoe pereme}aemoe	sme}enie;
.DFN tip 5
globalxnoe additiwnoe sme}enie;
.DFN tip 6
globalxnoe additiwnoe pereme}aemoe sme}enie;
.DFN tip 7
opredelenie sodervimogo	s~et~ika adresow;
.DFN tip 10
modifikaciq s~et~ika adresow;
.DFN tip 11
ustanowka granic programmy (.LIMIT);
.DFN tip 12
sme}enie programmnoj sekcii;
.DFN tip 13
ne ispolxzuetsq;
.DFN tip 14
pereme}aemoe sme}enie programmnoj sekcii;
.DFN tip 15
additiwnoe sme}enie programmnoj	sekcii;
.DFN tip 16
additiwnoe pereme}aemoe	sme}enie programmnoj sekcii;
.DFN tip 17
slovnoe	sme}enie.
.HLV 2
wnutrennee pereme}enie
.LIN
dannyj tip zapisi opredelqet prqmoj ukazatelx na adres wnutri modulq.
bazowyj	adres teku}ej programmnoj sekcii pribawlqetsq k	ukazannoj konstante,
i rezulxtat zapisywaetsq w wyhodnoj fajl po wy~islennomu adresu,
t.e. summiruetsq bajt sme}eniq so zna~eniem, wy~islqemym otnositelxno
adresa zagruzki	pred{estwu`}ego	bloka TXT.
.TES 7
.SWT 2
	  primer 1.		       primer 2.

 A:	 MOV	 #A,R0		     .WORD   A
.LIN 2
komanda	wnutrennego pereme}eniq	imeet format,
predstawlennyj na ris. 15.
.TES 8
.SWT
		     !-------------------!
		     !sme}enie ! B  ! 1	 !
		     !-------------------!
		     !	  konstanta	 !
		     !-------------------!

			   ris.	15
.HLV 2
globalxnoe pereme}enie
.LIN
|tot tip zapisi	opredelqet prqmoj ukazatelx na globalxnyj
simwol.	komponow}ik opredelqet globalxnyj simwol i pome}aet
rezulxtat w wyhodnoj fajl po wy~islennomu adresu.
.SWT 2
	  primer 1.		       primer 2.

	MOV	#GLOBAL,R0	     .WORD   GLOBAL
.LIN 2
format tipa komandy predstawlen	na ris.	16.
.TES 9
.SWT
		    !-------------------!
		    !sme}enie !	B  ! 2	!
		    !-------------------!
		    !  simwolxnoe imq	!
		    !---	    ----!
		    !  w kode RAD50	!
		    !-------------------!

			   ris.	16
.HLV 2
wnutrennee pereme}aemoe	sme}enie
.LIN
|tot tip zapisi	opredelqet otnositelxnu` ssylku	na
absol`tnyj adres wnutri	pereme}aemoj kontrolxnoj sekcii.
.SWT 2
	  primer 1.		       primer 2.

	CLR	177550		     MOV     177550,R0
.LIN 2
format tipa komandy predstawlen	na ris.	17.
.TES 8
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 3  !
		   !-------------------!
		   !	konstanta      !
		   !-------------------!

			 ris. 17
.HLV 2
globalxnoe pereme}aemoe	sme}enie
.LIN
|tot tip zapisi	sodervit otnositelxnu` ssylku na globalxnyj
simwol.	komponow}ik opredelqet imq globalxnogo simwola i ego
adres, zatem wy~islqet sme}enie	mevdu adresom (adres dannoj
instrukcii+2), w kotoryj budet pome}eno	sme}enie, i adresom
globalxnogo simwola. polu~ennoe	zna~enie sme}eniq zapisywaetsq
w wyhodnoj fajl	po sootwetstwu`}emu adresu (adres dannoj
instrukcii+2).
.SWT 2
	  primer 1.		       primer 2.

	 CLR	 GLOBAL		     MOV	GLOBAL,R0
.LIN 2
format tipa komandy predstawlen	na ris.	18.
.TES 9
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 4  !
		   !-------------------!
		   !  simwolxnoe imq   !
		   !---		    ---!
		   !   w kode RAD50    !
		   !-------------------!

			  ris. 18
.HLV 2
globalxnoe additiwnoe sme}enie
.LIN
|tot tip zapisi	sodervit prqmoj	ukazatelx na globalxnyj	simwol
s dopolnitelxnoj konstantoj. komponow}ik opredelqet adres
globalxnogo simwola, dobawlqet k nemu ukazannu`	konstantu
i polu~ennoe zna~enie zapisywaet w wyhodnoj fajl.
.SWT 2
	  primer 1.		       primer 2.

	MOV	  #GLOBAL+2,R0	     .WORD	GLOBAL-4
.LIN 2
format tipa komandy predstawlen	na ris.	19.
.TES 11
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 5  !
		   !-------------------!
		   !  simwolxnoe imq   !
		   !---		   ----!
		   !  w	kode RAD50     !
		   !-------------------!
		   !	konstanta      !
		   !-------------------!

			 ris. 19
.HLV 2
globalxnoe additiwnoe pereme}aemoe sme}enie
.LIN
|tot tip zapisi	sodervit ssylku	na globalxnyj simwol s
dopolnitelxnoj konstantoj. komponow}ik opredelqet adres
ukazannogo globalxnogo simwola i pribawlqet k nemu ukazannu`
konstantu. iz polu~ennogo zna~eniq komponow}ik wy~itaet
adres instrukcii+2, w kotoryj budet pome}eno polu~ennoe
sme}enie. zatem	|to sme}enie zapisywaetsq w wyhodnoj fajl.
.TES 11
.SWT 2
	  primer 1.		       primer 2.

	CLR	GLOBAL+2	     MOV     GLOBAL-5,R0
.LIN 2
format tipa komandy predstawlen	na ris.	20.
.TES 12
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 6  !
		   !-------------------!
		   !  simwolxnoe imq   !
		   !---		   ----!
		   !  w	kode RAD50     !
		   !-------------------!
		   !	konstanta      !
		   !-------------------!

			 ris. 20
.HLV 2
opredelenie sodervimogo	s~et~ika adresa
.LIN
|tot tip zapisi	ob'qwlqet teku}u` PSECT	i teku}ee
zna~enie s~et~ika. komponow}ik zapominaet poslednij
adres+2	pred{estwu`}ego	ob'qwleniq dannoj sekcii.
on dobawlqet k |tomu adresu ukazannu` konstantu	i
zapominaet rezulxtat kak teku}ee zna~enie s~et~ika.
.LIN
format tipa komandy predstawlen	na ris.	21.
.TES 11
.SWT
		   !-------------------!
		   !	0    ! B  ! 7  !
		   !-------------------!
		   !   imq sekcii      !
		   !---		   ----!
		   !  w	kode RAD50     !
		   !-------------------!
		   !	 konstanta     !
		   !-------------------!

			 ris. 21
.HLV 2
modifikaciq s~et~ika adresow
.LIN
|tot tip zapisi	modificiruet teku}ee zna~enie
s~et~ika. komponow}ik dobawlqet	k teku}emu zna~eni`
bazowogo s~et~ika PSECT	ukazannu` konstantu i zapominaet
rezulxtat kak teku}ee zna~enie s~et~ika.
.SWT 2
	  primer 1.		       primer 2.

	.  =   .+N		     .BLKB     N
.LIN 2
format tipa komandy predstawlen	na ris.	22.
.TES 15
.SWT
		   !-------------------!
		   !   0     ! B  ! 10 !
		   !-------------------!
		   !	konstanta      !
		   !-------------------!

			  ris. 22
.HLV 2
ustanowka granic programmy
.LIN
|tot tip zapisi	sozdaetsq pri ispolxzowanii direktiwy assemblera
 .LIMIT. komponow}ik izwlekaet perwyj adres wy{e zagolowka
(s kotorogo oby~no na~inaetsq stek) i werhnij adres razme}eniq
programmy. zatem on zapisywaet |ti adresa w wyhodnoj fajl w
dwa slowa.
.BLN 2
primer.
.SWT
	.LIMIT
.LIN 2
format tipa komandy predstawlen	na ris.	23.
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 11 !
		   !-------------------!

			  ris. 23
.HLV 2
sme}enie programmnoj sekcii
.LIN
|tot tip zapisi	sodervit prqmoj	ukazatelx na na~alo drugoj PSECT,
soderva}ej opredelenie imeni, na kotoru` proizwoditsq ssylka w dannoj PSECT.
komponow}ik izwlekaet teku}ee zna~enie bazowogo	adresa ukazannoj PSECT i
zapisywaet ego w wyhodnoj fajl.
.SWT 2
	 primer	1.		      primer 2.

	.PSECT	A		    .PSECT  A
 B:			   B:
	. . .			    . .	.
	. . .			    . .	.
	. . .			    . .	.

	.PSECT	C		    .PSECT  C
	MOV	#B,R0		    .WORD B
.LIN 2
format tipa komandy predstawlen	na ris.	24.
.TES 11
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 12 !
		   !-------------------!
		   !	imq sekcii     !
		   !---		   ----!
		   !   w kode RAD50    !
		   !-------------------!

			 ris. 24
.HLV 2
pereme}aemoe sme}enie programmnoj sekcii
.LIN
|tot tip zapisi	sodervit otnositelxnoe sme}enie	do
adresa na~ala drugoj PSECT, raspolovennoj w tom	ve
module.	komponow}ik opredelqet teku}ij bazowyj
adres ukazannoj	PSECT. zatem on	wy~itaet iz |togo
zna~eniq adres+2, w kotoryj budet zapisano polu~ennoe
zna~enie sme}eniq, i zapisywaet	rezulxtat w wyhodnoj
fajl.
.TES 15
.BLN 2
primer.
.SWT
	.PSECT	A
 B:
	. . .
	. . .
	. . .

	.PSECT	C
	MOV	B,R0
.LIN 2
format tipa komandy predstawlen	na ris.	25.
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 14 !
		   !-------------------!
		   !	imq sekcii     !
		   !---		   ----!
		   !   w kode RAD50    !
		   !-------------------!

			 ris. 25
.HLV 2
additiwnoe sme}enie programmnoj	sekcii
.LIN
|tot tip zapisi	opredelqet prqmoj ukazatelx na adres
w drugoj PSECT,	raspolovennoj w	tom ve module.
komponow}ik opredelqet teku}ij bazowyj adres ukazannoj PSECT.
on dobawlqet konstantu k teku}emu bazowomu adresu i polu~ennoe
zna~enie zapisywaet w wyhodnoj fajl.
.TES 15
.SWT 2
	 primer	1.		      primer 2.

	.PSECT	A		    .PSECT  A
 B:			  B:
	. . .			    . .	.
	. . .			    . .	.
	. . .			    . .	.
 C:			  C:
	. . .			    . .	.
	. . .			    . .	.
	. . .			    . .	.

	.PSECT	D
	MOV	#B+10,R0	    .WORD   B+10
	MOV	#C,R0		    .WORD   C
.LIN 2
format tipa komandy predstawlen	na ris.	26.
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 15 !
		   !-------------------!
		   !	imq sekcii     !
		   !---		   ----!
		   !  w	kode RAD50     !
		   !-------------------!
		   !	 konstanta     !
		   !-------------------!

			 ris. 26
.HLV 2
additiwnoe pereme}aemoe	sme}enie programmnoj sekcii
.LIN
|tot tip zapisi	opredelqet otnositelxnoe sme}enie do adresa
drugoj PSECT, raspolovennoj w tom ve module. komponow}ik
opredelqet teku}ij bazowyj adres ukazannoj PSECT i dobawlqet
k nemu konstantu. zatem	wy~itaet iz polu~ennogo	zna~eniq adres
instrukcii+2, w	kotoryj	budet zapisan rezulxtat. polu~ennoe
zna~enie wywoditsq w wyhodnoj fajl.
.TES 15
.BLN 2
primer.
.SWT
	.PSECT	A
 B:
	. . .
	. . .
	. . .

 C:

	.PSECT	D
	MOV	B+10,R0
	MOV	C,R0
.LIN 2
format tipa komandy predstawlen	na ris.	27.
.TES 12
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 16 !
		   !-------------------!
		   !	imq sekcii     !
		   !---		   ----!
		   !  w	kode RAD50     !
		   !-------------------!
		   !	 konstanta     !
		   !-------------------!

			 ris. 27
.HLV 2
slovnoe	sme}enie
.LIN
|tot tip zapisi	sodervit kompleksnoe pereme}aemoe wyravenie.
kompleksnoe pereme}aemoe wyravenie - |to wyravenie, w kotorom
l`baq dwoi~naq ili unarnaq operaciq makroassemblera razre{ena
s l`bym	tipom argumenta, nezawisimo ot argumenta, kotoryj movet
bytx neopredelennym globalxnym simwolom, pereme}aemym i
raspolovennym w	drugoj PSECT, absol`tnym ili kompleksnym
pereme}aemym podwyraveniem.
.LIN
slowo komandy RLD sodervit stroku znakow, opredelq`}u`
kody operacii i	argumenty. kavdyj kod operacii zanimaet
odin bajt, i polnaq komanda RLD	dolvna raspolagatxsq w odnom
bloke dannyh.
komanda	"sohranitx rezulxtat" (kody 12 i 13)
ukazywaet, ~to zna~enie	dolvno bytx zapisano w wyhodnoj
fajl po	sootwetstwu`}emu adresu.
.ATT
sleduet	pomnitx, ~to kompleksnye pereme}eniq
zapre}eny dlq programm,	komponu`}ihsq dlq raboty w
operatiwnom razdele.
.LIN
komponow}ik wosprinimaet wse operandy kak 16-bitnye znakowye
zna~eniq, ispolxzuq dwoi~nu` arifmetiku	s dopolneniem do 2. rezulxtaty
|kwiwalentny wyraveniqm, kotorye wy~islq`tsq assemblerom pri
translqcii.
.TES 4
.LIN
prime~aniq:
.LIN 0
1. popytka deleniq na nulx sootwetstwuet rezulxtatu 0.
komponow}ik wydaet preduprevda`}ee soob}enie.
.LIN 0
2. wse rezulxtaty useka`tsq slewa do 16	razrqdow. esli
~islo sli{kom weliko, to diagnostika ne	wydaetsq.
esli rezulxtat modificiruet bajt, komponow}ik
rassmatriwaet dannu` situaci` kak o{ibku use~eniq
(bajtowye operacii zapre}eny).
.LIN 0
3. wse operacii	proizwodqtsq nad pereme}aemymi
(additiwnoe) ili absol`tnymi 16-razrqdnymi zna~eniqmi PC.
.LIN
w RT11 ispolxzu`tsq	sledu`}ie kody operacij:
.DFN  0
net operacij;
.DFN  1
slovenie (+);
.DFN  2
wy~itanie (-);
.DFN  3
umnovenie (*);
.DFN  4
delenie	(/);
.DFN  5
logi~eskoe "i" (&);
.DFN  6
logi~eskoe "ili" (!);
.DFN  7
iskl`~a`}ee "ili" ;
.DFN 10
otricanie (-);
.DFN 11
dopolnenie (^C);
.DFN 12
sohranitx rezulxtat (zawer{enie	komandy);
.DFN 13
sohranitx rezulxtat s pereme}aemym sme}eniem (zawer{enie komandy);
.DFN 16
wyzwatx	globalxnyj simwol; za komandoj sledu`t ~etyre bajta,
soderva}ie simwolxnoe imq w kode RAD50;
.DFN 17
wyzwatx	pereme}aemoe zna~enie; za komandoj sleduet odin	bajt,
soderva}ij nomer sekcii, i dwa bajta, soderva}ie sme}enie w sekcii;
.DFN 20
wyzwatx	konstantu; za komandoj sledu`t dwa bajta, soderva}ie konstantu.
.TES 15
.BLN 2
primer.
.SWT
	.PSECT	ALPHA
 A:
	. . .
	. . .
	. . .

	.PSECT	BETA
 B:
	. . .
	. . .
	. . .

	MOV	#A+B-<G1/G2&^C<177120!G3>>,R1
.LIN 2
format tipa komandy predstawlen	na ris.	28.
.TES 10
.SWT
		   !-------------------!
		   !sme}enie ! B  ! 17 !
		   !-------------------!
		   !  slovnaq stroka   !
		   !-------------------!
		   !   12    !	       !
		   !-------------------!

			 ris. 28
.HLV
blok ENDMOD
.LIN
kavdyj ob'ektnyj modulx	dolven zakan~iwatxsq blokom ENDMOD
(blok konca modulq). blok ENDMOD imeet odno slowo dannyh,
kotoroe	sodervit kod identifikatora tipa bloka (kod itb=6).
.CPT format fajla STB
.LIN
komponow}ik w RT11 movet sozdawatx tretxim wyhodnym	fajlom - tablicu
opredeleniq simwolow (STB). fajl STB sodervit tablicu
opredeleniq globalxnyh simwolow, naprimer:
.AND
esli ishodnyj fajl sodervit operator "X	== 10",	to
w fajl STB zapisywaetsq	"X = 10", t.e. opredelenie globalxnogo
simwola	h;
.AND
esli ishodnyj fajl sodervit A =	FOO, to	w fajl STB zapisywaetsq
absol`tnoe zna~enie adresa FOO.
.LIN
fajl STB movet ispolxzowatxsq kak sredstwo swqzi mevdu fonowym
zadaniem i zadaniem operatiwnogo razdela. dlq |togo neobhodimo
skomponowatx fonowoe zadanie i polu~itx	fajl STB. zatem, pri
komponowke zadaniq operatiwnogo	razdela, wkl`~itx fajl STB
kak odin iz whodnyh fajlow. w |tom slu~ae zadanie operatiwnogo razdela
budet imetx dostup k simwolxnym	ssylkam, ispolxzuemym
fonowym	zadaniem. takve	movno ispolxzowatx fajl	STB dlq
sozdaniq sredstw swqzi mevdu programmoj	i simwolxnym otlad~ikom.
.LIN
fajl STB (ris. 29) sodervit tolxko bloki dannyh	GSD, za	kotorymi
sledu`t	bloki ENDGSD i ENDMOD.
.TES 28
.SWT
		   format fajla	STB
		!-----------------------!
		! imq ob'ektnogo modulq	!
		!   (blok GSD ki|b=0)	!
		!-----------------------!
		! identifikator	wersii	!
		!      programmy	!
		!   (blok GSB ki|b=6)	!
		!-----------------------!
		! imq kontrolxnoj sekcii!
		!   (blok GSB ki|b=1)	!
		!-----------------------!
		! informaciq o globalx-	!
		! nom simwole		!
		!   (blok GSB ki|b=4)	!
		!-----------------------!
		.			.
		.			.
		.			.
		!-----------------------!
		! informaciq o globalx-	!
		! nom simwole		!
		!   (blok GSB ki|b=4)	!
		!-----------------------!
		!     blok ENDGSD	!
		!-----------------------!
		!     blok ENDMOD	!
		!-----------------------!

			ris. 29
.CPT format bibliote~nyh fajlow
.LIN
w biblioteku wkl`~a`tsq	moduli,	kotorye	~asto ispolxzu`tsq
w programmah polxzowatelej. polxzowatelx movet wkl`~itx	w sistemnu`
ob'ektnu` biblioteku swoj modulx, libo sozdatx biblioteku
s pomo}x` komandy LIBRARY i kl`~a CREATE.
.LIN
ob'ektnyj modulx, wkl`~ennyj w biblioteku, perestaet bytx
nezawisimym. moduli ob'edinq`tsq i stanowqtsq ~astx` bibliote~noj
struktury.
.LIN
pri ob'edinenii	modulej	w biblioteku ispolxzuetsq
bajtowyj s~et~ik. |to swqzano s	tem, ~to dlina mnogih
modulej, soderva}ih ob'ektnyj kod ili simwolxnu` informaci`,
movet okazatxsq	rawnoj ne~etnomu ~islu bajtow. ob'edinenie
takih modulej s	ispolxzowaniem s~et~ika	slow movet
priwesti k iskaveni` informacii	(ris. 30).
.LIN
po|tomu	moduli w bibliotekah prisoedinq`tsq bajtami.
|to ozna~aet, ~to modulx movet na~inatxsq s ne~etnogo adresa.
esli |to imeet mesto, to komponow}ik zamenqet adres modulq
na ~etnyj wo wremq komponowki.
.TES 57
.SWT
.MID dwa sposoba ob'edineniq modulej
.SKI 2
		bajty			     slowa
    modulx 1   !-----!			 !-----!-----!
	       !  1  !			 !  2  !  1  !
	       !-----!			 !-----!-----!
	       !  2  !			 !  4  !  3  !
	       !-----!			 !-----!-----!
	       !  3  !			       !  5  !
	       !-----!			       !-----!
	       !  4  !
	       !-----!
	       !  5  !
	       !-----!

		bajty			     slowa
   modulx 2    !-----!			 !-----!-----!
	       !  1  !			 !  2  !  1  !
	       !-----!			 !-----!-----!
	       !  2  !			 !  4  !  3  !
	       !-----!			 !-----!-----!
	       !  3  !			       !  5  !
	       !-----!			       !-----!
	       !  4  !
	       !-----!
	       !  5  !
	       !-----!

		 ob'edinqemye moduli (1	i 2).

		bajty			    slowa
   modulx 1    !-----!	    modulx 1	!-----!-----!
	       !  1  !			!  2  !	 1  !
	       !-----!			!-----!-----!
	       !  2  !			!  4  !	 3  !
	       !-----!			!-----!-----!
	       !  3  !	    modulx 2	!  1  !	 5  !
	       !-----!			!-----!-----!
	       !  4  !			!  3  !	 2  !
	       !-----!			!-----!-----!
	       !  5  !			!  5  !	 4  !
   modulx 2    !-----!			!-----!-----!
	       !  1  !
	       !-----!
	       !  2  !
	       !-----!
	       !  3  !
	       !-----!
	       !  4  !
	       !-----!
	       !  5  !
	       !-----!

.MID ris. 30
.LIN
sistema	podderviwaet dwa tipa bibliotek: makrobiblioteku i
ob'ektnu` biblioteku. po umol~ani` ob'ektnye biblioteki	ime`t
tip fajla  OBJ,	makrobiblioteki	- MAC.
.LIN
bibliote~nyj fajl sostoit iz zagolowka fajla, zatem idut
katalog	biblioteki, moduli, wkl`~ennye w biblioteku, i
blok konca bibliote~nogo fajla (ris. 31).
.TES 23
.SKI 2
.MID format bibliote~nogo fajla
.SWT
		  !---------------!
		  !   zagolowok	  !
		  ! bibliote~nogo !
		  !	fajla	  !
		  !---------------!
		  !    katalog	  !
		  !   ob'ektnyh	  !
		  !    modulej	  !
		  !---------------!
		  !		  !
		  .   ob'ektnye	  .
		  .    moduli	  .
		  .		  .
		  !---------------!
		  !  blok konca	  !
		  ! bibliote~nogo !
		  !	fajla	  !
		  !---------------!

		       ris. 31
.LIN
w kataloge bibliote~nogo fajla imeetsq informaciq o wseh modulqh,
nahodq}ihsq w fajle.
.HLV
struktura makrobiblioteki
.LIN
zagolowok biblioteki sodervit informaci` o samoj biblioteke
i razli~en dlq dwuh tipow bibliotek. dlq makrobiblioteki on
zanimaet odin blok, neispolxzuemye q~ejki bloka
zapolnq`tsq nulqmi. struktura zagolowka
makrobiblioteki	predstawlena w tabl. 2.
.LIN
wse zna~eniq ~isel predstawleny	w wosxmeri~nom wide. data i
wremq, kotorye ime`t standartnyj format	w sisteme, qwlq`tsq
datoj i	wremenem sozdaniq biblioteki.
.TES 38
.SWT
					tablica	2
  -----------------------------------------------
   q~ejka ! zna~enie !	 wypolnqemaq funkciq
  -----------------------------------------------
      0	  !   1001   ! kod identifikatora i tipa
  --------!----------!---------------------------
      2	  !    310   ! nomer wersii biblioteki
  --------!----------!---------------------------
      4	  !	 0   !	    ne ispolxzuetsq
  --------!----------!---------------------------
      6	  !	     !	data ( 0 - esli	net )
  --------!----------!---------------------------
     10	  !	     !	    wremq sozdaniq
  --------!----------!----		     ----
     12	  !	     !	     w dwuh slowah
  --------!----------!---------------------------
     14	  !	 0   !	    ne ispolxzuetsq
  --------!----------!---------------------------
     .	  !	 .   !
     .	  !	 .   !	    ne ispolxzuetsq
     .	  !	 .   !
  --------!----------!---------------------------
     32	  !	10   ! razmer zapisej kataloga
  --------!----------!---------------------------
     34	  !	     ! otnositelxnyj nomer bloka
	  !	     !	    na~ala kataloga
  --------!----------!---------------------------
	  !	     !maksimalxnoe ~islo zapisej,
     36	  !	     !	  kotoroe movet	bytx w
	  !	     ! kataloge	(po umol~ani`
	  !	     ! otwoditsq 200)
  --------!----------!---------------------------
     40	  !	     ! s~et~ik swobodnyh zapisej
	  !	     ! w kataloge
.LIN
q~ejka 36 ukazywaet maksimalxnoe koli~estwo zapisej,
kotorye	mogut pomestitxsq w kataloge. |to zna~enie
opredelqetsq pri sozdanii biblioteki s pomo}x` programmy
LIBR i kl`~a /M:N. "N" po umol~ani` beretsq rawnym 200
(fakti~eski dlina kataloga polu~aetsq rawnoj 2 blokam).
.TES 16
.LIN
dlq makrobiblioteki katalogom qwlqetsq tablica makroimen (MNT).
struktura zapisi w kataloge odinakowa dlq 2 tipow bibliotek
i predstawlena na ris. 32. bit 15 w 3-m	slowe zapisi ispolxzuetsq
tolxko w ob'ektnoj biblioteke.
.TES 13
.SWT
     !-------------------------------------------!
     !		  i m q	 (dwa slowa		 !
     !--------				 --------!
     !		    w kode RAD50)		 !
     !-------------------------------------------!
     !	! nomer	bloka otnositelxno na~ala fajla	 !
     !-------------------------------------------!
     ! ne ispolxzu- ! otnositelxnyj bajt w bloke !
     ! etsq (7 bit) !	      (9 bit)		 !
     !-------------------------------------------!

.MID ris. 32
.LIN
katalog	makrobiblioteki	na~inaetsq s perwogo
otnositelxnogo bloka bibliote~nogo fajla.
w nulewom otnositelxnom	bloke makrobiblioteki raspoloven
ee zagolowok. dlina
kataloga opredelqetsq zaranee, po umol~ani` dlina
rawna 2	blokam.	ona movet bytx izmenena	kl`~om /M
(programma LIBR). neispolxzuemye whody w katalog zapolnq`tsq
kodom 177777 (-1). fajly makrobiblioteki zapolnq`tsq, na~inaq s
perwogo	bloka posle kataloga. |to otnositelxnyj	blok 3
bibliote~nogo fajla, esli dlina	kataloga opredelena po
umol~ani`.
.HLV
struktura ob'ektnoj biblioteki
.LIN 0
struktura zagolowka ob'ektnoj biblioteki otli~aetsq ot struktury
makrobiblioteki	i predstawlena w tabl. 3.
.TES 42
.SWT
					tablica	3
  -----------------------------------------------
   q~ejka ! zna~enie !	 wypolnqemaq funkciq
  -----------------------------------------------
      0	  !	 1   !	  kod zagolowka	bloka
  --------!----------!----		     ----
      2	  !	42   !	      biblioteki
  --------!----------!---------------------------
      4	  !	 7   !	    kod	biblioteki
  --------!----------!---------------------------
      6	  !    310   !	nomer wersii biblioteki
  --------!----------!---------------------------
     10	  !	 0   !	   ne ispolxzuetsq
  --------!----------!---------------------------
     12	  !	     ! data (0-esli otsutstwuet)
  --------!----------!---------------------------
     14	  !	     !	   wremq sozdaniq
  --------!----------!----		     ----
     16	  !	     !	    w dwuh slowah
  --------!----------!---------------------------
     20	  !	 0   ! 1, esli biblioteka sozdana
	  !	     ! s kl`~om	/X
  --------!----------!---------------------------
      .	  !	 .   !
      .	  !	 .   !	   ne ispolxzuetsq
      .	  !	 .   !
  --------!----------!---------------------------
     26	  !	10   !	 otnositelxnyj adres
	  !	     !	   na~ala kataloga
  --------!----------!---------------------------
     30	  !	     !	   koli~estwo bajtow,
	  !	     !	 otwedennyh pod	katalog
  --------!----------!---------------------------
     32	  !	 0   !	   ne ispolxzuetsq
  --------!----------!---------------------------
     34	  !	     !otnositelxnyj nomer perwogo
	  !	     !	 nezapolnennogo	bloka
  --------!----------!---------------------------
     36	  !	     !perwyj swobodnyj bajt bloka
  --------!----------!---------------------------
     40	  !	     !	    na~alo kataloga
.LIN
data sozdaniq biblioteki dana w	formate	sistemy.
.LIN
format zapisi w	kataloge ob'ektnoj biblioteki takoj ve,	kak i dlq
makrobiblioteki	(sm. ris. 32). otli~ie zakl`~aetsq w tom, ~to dlq ob'ektnyh
bibliotek katalogom qwlqetsq tablica to~ek whoda (ert).
.LIN
sleduet	pomnitx, ~to pri wkl`~enii imen	modulej	w ob'ektnu`
biblioteku s pomo}x` kl`~a /N (programma LIBR),	bit 15 slowa
"nomer bloka otnositelxno na~ala fajla"
ustanawliwaetsq	w 1. esli ve
biblioteka sozdana komandoj monitora LIBRARY, to imena modulej
ne wkl`~a`tsq.
.LIN
katalog	ob'ektnoj biblioteki na~inaetsq	neposredstwenno
za zagolowkom (slowo 40). katalog imeet	dlinu, dostato~nu` dlq
wkl`~eniq tolxko opredelennogo ~isla modulej w biblioteku.
neispolxzuemye oblasti w kataloge zapolnq`tsq nulqmi.
.HLV
format bloka konca biblioteki
.LIN 0
 wse biblioteki, opisannye wy{e, ime`t w konce specialxnyj
blok. |tot blok	ukazywaet na konec bibliote~nogo fajla.
struktura poslednego bloka predstawlena	na ris.	33.
.SWT
		  !-----!-----!
		  !  0	!   1 !
		  !-----!-----!
		  !  0	!  10 !
		  !-----!-----!
		  !  0	!  10 !
		  !-----!-----!
		  !  0	!   0 !
		  !-----!-----!
		  !	! 357 !
		  !-----!-----!

		    ris. 33
.LIN
wse star{ie bajty rawny	0. slowa sodervat sledu`}u`
informaci`:
.DFN slowo 1
priznak	na~ala bloka;
.DFN slowo 2
s~et~ik	bajtow w bloke;
.DFN slowo 3
kod bloka konca	biblioteki;
.DFN slowo 4
ne ispolxzuetsq	(rawno 0);
.DFN slowo 5
ispolxzuetsq tolxko mlad{ij bajt, kotoryj sodervit
kontrolxnu` summu.
.CPT format fajla LDA
.LIN
programma w formate LDA	movet bytx zagruvena w pamqtx
tolxko s pomo}x` absol`tnogo perfolento~nogo zagruz~ika
ili komandy monitora ABSLOAD (programma	LDA.SAV).
.LIN
format absol`tnoj zagruzki sozdan dlq sowmestimosti s
formatom perfolenty sistem plos-sm, los-sm i dos-sm.
programmy w formate LDA	mogut
bytx raspoloveny na l`bom nositele.
.LIN
fajl tipa LDA sozdaetsq	programmoj MACRO s kl`~om /ENABL:ABS
ili programmoj LINK s kl`~om /L, ili
komandoj monitora LINK s kl`~om	/LDA.
.LIN
fajl tipa LDA sodervit dwoi~nye	bloki, kavdyj iz kotoryh
imeet absol`tnyj adres zagruzki. dwoi~nye bloki	sodervat
tolxko absol`tnye dannye i adresa. poslednij dwoi~nyj blok
imeet dlinu, rawnu` 6 (priznak konca dwoi~nogo fajla), i startowyj
adres programmy. esli adres ~etnyj, to absol`tnyj zagruz~ik
wypolnqet zagruzku i zapusk programmy. esli adres ne~etnyj,
to wypolnqetsq tolxko zagruzka programmy.
.LIN
struktura programmy w formate LDA predstawlena
na ris.	34.
.LIN
fajly tipa LDA ispolxzu`tsq dlq	sozdaniq prikladnyh,
a takve	specialxnyh programm, prednazna~ennyh dlq
raboty bez operacionnoj	sistemy.
.TES 58
.SWT
		!--------------------------!
		!	     1		   !
		!-----		      -----!
		!	     0		   !
		!--------------------------!
		!     s~et~ik  bajtow	   !
		!-----		      -----!
		!	 w bloke	   !
		!--------------------------!
		!     absol`tnyj adres	   !
		!------		      -----!
		!	zagruzki	   !
		!--------------------------!
		.			   .
		.      d a n n y e	   .
		.			   .
		!--------------------------!
		!  bajt	kontrolxnoj summy  !
		!	 bloka 1	   !
		!--------------------------!
		.			   .
		.			   .
		!--------------------------!
		!	     1		   !
		!-----		      -----!
		!	     0		   !
		!--------------------------!
		!     s~et~ik  bajtow	   !
		!-----		      -----!
		!	 w bloke	   !
		!--------------------------!
		!      absol`tnyj adres	   !
		!-----		      -----!
		!	 zagruzki	   !
		!--------------------------!
		.			   .
		.	d a n n	y e	   .
		.			   .
		!--------------------------!
		!  bajt	kontrolxnoj summy  !
		!	  bloka	N	   !
		!--------------------------!
		!	      1		   !
		!-----		      -----!
		!	      0		   !
		!--------------------------!
		!	      6		   !
		!-----		      -----!
		!	      0		   !
		!--------------------------!
		!     startowyj	adres	   !
		!-----		      -----!
		!	programmy	   !
		!--------------------------!
		!  bajt	kontrolxnoj summy  !
		!--------------------------!

			 ris. 34
.CPT format fajla SAV
.LIN
format SAV ispolxzuetsq	dlq programm, kotorye budut rabotatx
w fonowom razdele. |tot	format sodervit	absol`tnye adresa
pamqti.
.LIN
w nulewom bloke	fajla nahoditsq	informaciq, sostawlennaq
komponow}ikom dlq monitora. ostalxnye bloki sodervat
dwoi~nye kody programmy.
.LIN
w q~ejkah nulewogo bloka fajla nahoditsq sledu`}aq
informaciq dlq monitora:
.DFN 0
perwye tri simwola (VIR) kl`~a VIRTUAL w kode RAD50;
ispolxzuetsq, esli komponowka proizwodilasx s kl`~om /V;
.DFN 2
werhnij	wirtualxnyj adres pamqti, ispolxzuemyj programmoj;
ispolxzuetsq, esli pri komponowke w komandnoj stroke byl ukazan	kl`~ /V;
.DFN 4 - 12
ne ispolxzu`tsq;
.DFN 14, 16
wektor prerywanij po instrukcii	BPT;
ustanawliwaetsq	tolxko,	esli pri rabote	RT11XM wo whodnoj
stroke komponow}ika byl	ukazan kl`~ /R;
.DFN 20, 22
wektor prerywanij po instrukcii	IOT; ustanawliwaetsq tolxko pri
rabote RT11XM, esli	w komandnoj stroke komponow}ika	ukazan
kl`~ /R;
.DFN 24	- 32
ne ispolxzu`tsq;
.DFN 34, 36
wektor prerywanij po instrukcii	TRAP; ustanawliwaetsq,
esli pri komponowke w komandnoj	stroke byl ukazan
kl`~ /R;
.DFN 40
startowyj adres	programmy;
.DFN 42
na~alxnoe zna~enie ukazatelq steka (izmenqetsq kl`~om komponow}ika /M);
.DFN 44
slowo sostoqniq	programmy (JSW);
.DFN 46
adres zagruzki USR (0 ozna~aet standartnoe
razme}enie);
.DFN 50
werhnij	adres pamqti, ispolxzuemyj programmoj;
.DFN 52	- 54
ne ispolxzu`tsq;
.DFN 56
w os NTS ispolxzuetsq
dlq ukazaniq razmera oblasti w kslowah,	trebuemoj dlq raboty programmy;
.DFN 60	- 64
ne ispolxzu`tsq;
.DFN 66
adres na~ala blokow opredeleniq	okon (ustanawliwaetsq, esli byl	zadan
kl`~ komponow}ika /V);
.DFN 70	- 356
ne ispolxzu`tsq;
.DFN 360 - 377
karta zagruzki programmy w pamqtx.
.LIN
q~ejka 40, soderva}aq adres zapuska programmy, movet bytx ustanowlena
pri komponowke kl`~om /TRANSFER.
naprimer, ukazatx adres	zapuska	programmy rawnym 2000 (wosxmeri~noe):
.SWT
	.LINK PROGR.OBJ/TRANSFER:2000
.LIN
programma PROGR.SAV, sozdawaemaq komponow}ikom,
budet zapuskatxsq s 2000 adresa.
oby~no adres zapuska programmy opredelqetsq iz direktiwy .END.
.LIN
q~ejki 360 - 377 w nulewom bloke fajla ispolxzu`tsq komponow}ikom
dlq pereda~i informacii	o raspredelenii	pamqti
KMON. kavdyj bit q~eek sootwetstwuet opredelennomu
bloku pamqti iz	256 slow i ustanawliwaetsq w tom slu~ae, esli
programma zanimaet hotq	by odno	slowo w	dannom bloke pamqti.
|ta informaciq ispolxzuetsq KMON dlq opredeleniq, budet	li
polxzowatelxskaq programma perekrywatx KMON i USR.
.LIN
pri zagruzke nulewogo bloka w KMON proizwoditsq	prowerka
q~eek bloka otnositelxno bitowoj shemy za}ity sistemy, kotoraq
sodervitsq w RMON. w q~ejki, kotorye za}i}eny w	sheme,
takie, kak naprimer, wektory ustrojstw sistemy,
zapisx informacii iz nulewogo bloka ne proizwoditsq.
.LIN
komandy	monitora R i RUN sluvat	dlq zagruzki i zapuska programm
tipa SAV. komanda RUN ob'edinqet dwe komandy: GET i START.
pri wypolnenii |toj komandy KMON s~itywaet nulewoj blok	fajla
tipa SAV wo wnutrennij bufer USR, wybiraet informaci` iz
q~eek 40-62 i 360-377. srawniwaq bitowu` za}itu	pamqti
(LOWMAP), nahodq}u`sq w	RMON, s	q~ejkami w nulewom bloke,
KMON zagruvaet w pamqtx	(w sootwetstwu`}u` oblastx RMON) iz bufera
USR te q~ejki, kotorye ne za}i}eny.
naprimer, wektory prerywanij ustrojstw,	drajwery kotoryh
wkl`~eny w sistemnye tablicy RMON,  ne budut izmeneny.
zatem KMON ustanawliwaet w q~ejku 50 werhnij adres ispolxzuemoj
pamqti ili werhnij adres programmy, kakim by bolx{im on	ni byl.
.LIN
pri wypolnenii komandy RUN ili GET KMON	prowerqet
wozmovnostx perekrytiq ego zagruvaemoj programmoj.
esli |to imeet mesto, to KMON peresylaet perekrywa`}ie
bloki programmy	w fajl swopinga	SWAP.SYS.
posle wypolneniq wseh neobhodimyh
operacij KMON, pered pereda~ej uprawleniq RMON,	proizwodit
s~itywanie w pamqtx teh	blokow programmy, kotorye byli zapisany	w
fajl SWAP.SYS i	obmeniwalisx s blokami KMON i, wozmovno, USR.
.LIN
w slu~ae wypolneniq komandy R, KMON  ne	 wybiraet kartu	zagruzki
dlq prosmotra, kakie bloki fajla dolvny	zagruvatxsq.
wmesto |togo on	obra}aetsq k RMON i s~itywaet ws` informaci` w
pamqtx swy{e 1000 adresa (komanda R ne ispolxzuet fajl SWAP.SYS).
monitor	s~itaet, ~to KMON i USR	byli uve wygruveny, i na~inaet
wypolnenie programmy.
.CPT format fajla REL
.LIN
format REL ispolxzuetsq	dlq programm, kotorye budut rabotatx
w operatiwnom razdele.
.LIN
programmy w formate zagruzki REL
sozda`tsq dlq raboty s RT11FB(XM).
.LIN
dlq sozdaniq operatiwnoj programmy ispolxzuetsq	programma LINK
s kl`~om /R ili	komanda	LINK s kl`~om /FOREGROUND.
komponow}ik ob'edinqet ob'ektnye moduli	i wy~islqet
globalxnye ssylki.
.LIN
ob'ektnye moduli, ispolxzuemye dlq sozdaniq fajla tipa REL,
komponu`tsq tak	ve, kak	fajly
tipa SAV s bazowym adresom 1000. |to daet wozmovnostx
polxzowatelqm ispolxzowatx direktiwy .ASECT dlq	razme}eniq
informacii w oblastx ot	0 do 777 w fajle tipa REL.
no, w otli~ie ot fajla tipa SAV, fajl tipa REL
ne nastraiwaetsq na  adresa pamqti wo wremq komponowki.	informaciq o
pereme}enii wkl`~ena dlq ispolxzowaniq pri zagruzke komandoj FRUN (SRUN)
i neobhodima dlq opredeleniq,
kakie q~ejki w programme dolvny	bytx nastroeny pri
zagruzke programmy w pamqtx.
.LIN
w otli~ie ot fonowoj programmy,	kotoraq	sodervit tolxko
odin informacionnyj blok (nulewoj blok), operatiwnaq
programma imeet	dwa ili	bolx{e informacionnyh blokow.
.LIN
w nulewom bloke, pomimo	informacii, opisannoj dlq fajla	SAV,
sodervitsq:
.DFN 52
razmer kornewogo segmenta w bajtah;
.DFN 54
razmer steka w bajtah; po umol~ani` rawen 128 (desqti~noe);
izmenqetsq kl`~om komponow}ika /R:N;
.DFN 56
razmer owerlejnoj oblasti w bajtah (0, esli net	owerleew);
.DFN 60
tip fajla (REL)	w kode RAD50;
.DFN 62
nomer bloka, s kotorogo	na~inaetsq informaciq o	pereme}enii;
.DFN 64
adres tablicy drajwera owerleew	dlq owerlejnyh fajlow.
.LIN
su}estwuet dwa wida fajlow tipa	REL: owerlejnye	i neowerlejnye.
.HLV
neowerlejnaq operatiwnaq programma
.LIN
struktura neowerlejnoj operatiwnoj programmy
predstawlena na	ris. 35.
.TES 18
.SWT
		   !---------------!
		   !	nulewoj	   !
		   !	  blok	   !
		   !---------------!
		   !		   !
		   . bloki teksta  .
		   .   programmy   .
		   .		   .
		   !---------------!
		   !		   !
		   .	 bloki	   .
		   . pereme}enij   .
		   .		   .
		   !---------------!
.SWT
		       ris. 35
.LIN
kavdaq q~ejka bloka informacii o pereme}enii sodervit sme}enie
otnositelxno
na~ala programmy (na~alxnyj adres rawen	1000). dlq togo,
~toby pereme}enie wypolnqlosx wsegda na	granicu	slowa,
adres razdelen na dwa. bit 15 ukazywaet	znak pereme}eniq
(polovitelxnyj ili otricatelxnyj). na ris. 36 predstawlen
blok informacii	o pereme}enii.
.TES 11
.SWT
 BLOCK NUMBER 003
 000/ 000002 000007 100012 000040 . . .
 020/ 177776 000000 000000 000000 . . .
 040/ 000000 000000 000000 000000 . . .
  .
  .
  .
 760/ 000000 000000 000000 000000 . . .
.SWT
	   ris.	36
.LIN
w programme (sm. ris. 36) korrektiru`tsq sledu`}ie q~ejki: 4, 16,
24, 100. q~ejka	24 imeet otricatelxnoe sme}enie.
q~ejka,	soderva}aq ~islo 177776	(-2), qwlqetsq priznakom
konca dannyh w bloke informacii	o pereme}enii.
.LIN
pri wypolnenii komandy FRUN  monitor zagruvaet
nulewoj	blok wo	wnutrennij bufer USR dlq prowerki q~eek	bloka
otnositelxno karty za}ity pamqti.
.LIN
iz q~ejki 52 nulewogo bloka wybiraetsq informaciq o razmerah
programmy i oblastx w pamqti oswobovdaetsq pereme}eniem
wniz KMON i USR.
tekst programmy	s~itywaetsq w oswobovdennu` oblastx pamqti.
.LIN
informaciq o  pereme}enii s~itywaetsq wo wnutrennij bufer.
q~ejki pamqti, ukazannye w bloke informacii o pereme}enii,
korrektiru`tsq
(sodervimoe q~eek summiruetsq s	adresom
ili wy~itaetsq iz adresa zagruzki programmy
w pamqtx).
.LIN
posle wypolneniq korrektirowki programma gotowa	dlq zapuska.
.HLV
owerlejnaq operatiwnaq programma
.LIN 0
struktura operatiwnoj programmy, soderva}ej owerlejnye
segmenty (ris. 37), podobna strukture neowerlejnoj programmy
(sm. ris. 35). odnako, krome kornewogo segmenta, ime`tsq
takve pereme}aemye owerlejnye segmenty.
.LIN
owerlejnye segmenty ne qwlq`tsq	rezidentnymi w pamqti.
oni zagruva`tsq	tolxko pri wyzowe iz kornewogo
ili iz owerlejnogo segmenta.
dlq swedeniq k minimumu	wremennyh zatrat na korrektirowku
owerlejnyh segmentow pri mnogokratnyh wyzowah w	pamqtx,	nastrojka
wseh segmentow proizwoditsq  kavdyj raz	pri
zagruzke programmy po komande FRUN ili SRUN.
.LIN
priznakom konca	segmenta (owerlejnogo ili kornewogo)
qwlqetsq kod 177777 (-1), priznakom konca informacii w
bloke pereme}enij - 177776 (-2).
.TES 49
.SWT
		    !--------------!
		    !	 nulewoj   !
		    !	  blok	   !
		    !--------------!
		    ! bloki teksta !
		    !  kornewogo   !
		    !  segmenta	1  !
		    !--------------!
		    ! bloki teksta !
		    ! owerlejnogo  !
		    !  segmenta	1  !
		    !--------------!
		    .		   .
		    .		   .
		    .		   .
		    !--------------!
		    ! bloki teksta !
		    ! owerlejnogo  !
		    !  segmenta	N  !
		    !--------------!
		    !	 bloki	   !
		    ! pereme}enij  !
		    ! kornewogo	   !
		    !  segmenta	   !
		    !--------------!
		    !	   -1	   !
		    !--------------!
		    !	 bloki	   !
		    ! pereme}enij  !
		    ! owerlejnogo  !
		    ! segmenta	1  !
		    !--------------!
		    !	   -1	   !
		    !--------------!
		    .		   .
		    .		   .
		    .		   .
		    !--------------!
		    !	 bloki	   !
		    ! pereme}enij  !
		    ! owerlejnogo  !
		    ! segmenta	N  !
		    !--------------!
		    !	   -2	   !
		    !--------------!

			ris. 37
.LIN
process	obrabotki owerlejnoj programmy sostoit w sledu`}em:
.AND
nulewoj	blok s~itywaetsq  KMON wo wnutrennij bufer KMON;
USR opredelqet iz q~eek	52 i 56	razmer wsej programmy
i opredelqet mesto w pamqti i adres zagruzki;
.AND
bloki TXT kornewogo segmenta zagruva`tsq w pamqtx;
blok pereme}enij kornewogo segmenta (nomer sodervitsq
w q~ejke 62) zapisywaetsq wo wnutrennij	bufer KMON;
KMON korrektiruet ukazannye w bloke
pereme}enij q~ejki pamqti;
procedura obrabotki owerlejnyh segmentow analogi~na
procedure obrabotki kornewyh segmentow.	su}estwennaq
raznica	zakl`~aetsq w tom, ~to skorrektirowannye
i nastroennye na opredelennoe mesto w pamqti owerlejnye
segmenty perepisywa`tsq	na nositelx. |to pozwolqet
pri wyzowe owerleew s~itywatx ih za odno obra}enie k
ustrojstwu, na kotorom nahoditsq programma.
.LIN
pri nowoj zagruzke programmy po	komande	FRUN (SRUN) procedura,
opisannaq wy{e,	powtorqetsq snowa.
.LIN
|to wozmovno blagodarq otli~i` blokow pereme}eniq
owerlejnoj programmy ot	neowerlejnoj. raznica
zakl`~aetsq w tom, ~to,	krome adresow q~eek,
podleva}ih pereme}eni`,	blok sodervit i	dannye,
hranq}iesq w |tih q~ejkah (ris.	38): w perwom slowe ukazano
<sme}enie * 2>,	wo wtorom slowe	- perwona~alxnoe sodervimoe
|togo slowa.
.TES 11
.SWT
 BLOCK NUMBER 003
 000/ 000002 177777 000007 000340 100012 000020	. . .
 020/ 177776 000000 000000 000000 000000 000000	. . .
 040/ 000000 000000 000000 000000 000000 000000	. . .
  .
  .
  .
 760/ 000000 000000 000000 000000 000000 000000	. . .

.MID ris. 38
.LIN
dannye,	soderva}iesq w pereme}aemyh q~ejkah, neobhodimo
hranitx, tak kak pri posledu`}ih zagruzkah mogut izmenitxsq
uslowiq:
.AND
raznye wersii monitora;
.AND 0
izmenenie konfiguracii pamqti;
.AND 0
drugie drajwery	ustrojstw rezidentny w pamqti.
.CPT format fajla perekrestnyh ssylok
.LIN
programma CREF sozdaet listing tablicy perekrestnyh ssylok.
ona movet bytx wyzwana tolxko po cepo~ke (makrokomandoj	.CHAIN)
iz drugoj
programmy (takoj, naprimer, kak	sobstwennyj qzykowyj processor
polxzowatelq). CREF dobawlqet raspe~atku tablicy perekrestnyh
ssylok k fajlu listinga, sozdannomu wyzywa`}ej programmoj.
.LIN
do wyzowa  CREF	po cepo~ke neobhodimo zapolnitx	opredelennye q~ejki
oblasti	sohraneniq dannyh w wyzywa`}ej programme specialxnoj
informaciej (q~ejki pamqti s absol`tnymi adresami ot 500
do 776). CREF trebuet sledu`}u`	informaci`:
.SWT
     500   .RAD50 /SY /
     502   .RAD50 /CRE/
     504   .RAD50 /F  /
     506   .RAD50 /SAV/
.AND
specifikaciq fajla dlq wyzowa CREF;
.DFN	 510
nomer kanala wyhodnogo fajla;
.DFN	 512
imq wyhodnogo ustrojstwa w kode	.RAD50;
.DFN	 514
nomer star{ego zapisannogo bloka pl`s 1	(wyhodnogo fajla);
.DFN	 516
nomer kanala whodnogo fajla;
.DFN	 520
imq whodnogo ustrojstwa	w kode .RAD50;
.DFN	 524
format raspe~atki:
.DF2	0
80 pozicij;
.DF2   -1
132 pozicii;
.SWT
     526   .RAD50 /DEV/
     530   .RAD50 /FIL/
     532   .RAD50 /NAM/
     534   .RAD50 /TYP/
.AND
programma, kotoroj CREF	wozwra}aet uprawlenie po cepo~ke; esli
zadano zna~enie	0, to CREF zakrywaet fajl listinga i peredaet
uprawlenie monitoru;
.DFN  536-776
stroka kodow koi-7, ispolxzuemaq CREF kak zagolowok stranicy
raspe~atki (bez	nomera stranicy).
.LIN
whodnoj	fajl, sozdawaemyj CREF,	dolven sodervatx 12-bajtowye (desqti~noe)
zapisi dlq kavdoj ssylki na simwol. zapisx dlq whodnogo	fajla CREF imeet
sledu`}ij format (sme}enie w bajtah dano w wosxmeri~nom	wide):
.DFN  0
opisatelx sekcii tablicy:
.DF2 razrqdy 0 - 4
sodervat znak, kotoryj CREF ispolxzuet kak imq sekcii;
zna~enie koi-7 usekaetsq do 5 razrqdow;
.DF2 razrqdy 5 - 7
sodervat nomer sekcii;
|to zna~enie ispolxzuetsq dlq uporqdo~eniq sekcij w raspe~atke;
.DFN  1	-  6
imq simwola w koi-7;
.DFN  7	- 10
nomer stranicy (dwoi~noe); esli	nomer stranicy ne ispolxzuetsq,	to
dolvno sodervatx -1;
.DFN 11	- 12
nomer stroki (dwoi~noe);
.DFN 13
odnosimwolxnyj identifikator, wywodimyj	CREF posle |toj	ssylki;
oby~no |tot znak ispolxzuetsq dlq ukazaniq to~ki opredeleniq ili
dlq razru{a`}ej	predydu}ee zna~enie ssylki.
.CPT format fajla protokolirowaniq o{ibok
.LIN
drajwery ustrojstw w sisteme s poddervkoj podsistemy protokolirowaniq o{ibok
(EL) obra}a`tsq	k modul` protokolirowaniq o{ibok
~erez ukazatelx	w monitore.
|to obra}enie proizwoditsq posle kavdogo zawer{eniq (kak uspe{nogo,
tak i neuspe{nogo) operacii na ustrojstwe. blok	kopirowaniq w
modulx protokolirowaniq	o{ibok wybiraet	(kopiruet) sootwetstwu`}u` informaci`
iz drajwera i razme}aet	ee wo whodnom bufere protokola w oblasti
pamqti,	prinadleva}ej |tomu modul`. zadanie protokolirowaniq
o{ibok nahoditsq w priostanowlennom sostoqnii, poka blok kopirowaniq ne
zapi{et	informaci` wo whodnoj bufer. w |tot moment monitor snimaet
uslowie	blokirowki, pozwolqq zadani` obrabotatx	nowye dannye.
.LIN
zadanie	protokolirowaniq o{ibok	priostanawliwaetsq do teh por, poka
wo whodnom bufere protokola ne zapolnitsq 200 ili bolee	slow iz
ob}ego ob'ema bufera w 256 slow	(desqti~noe). blok kopirowaniq zadaniq
EL informiruet ob |tom monitor,	ustanawliwaq bit "C" slowa
sostoqniq processora pri wozwrate uprawleniq. t.e. zadanie
protokolirowaniq o{ibok	razblokiruetsq monitorom tolxko	togda, kogda
whodnoj	bufer protokola	sodervit dostato~no mnogo informacii dlq
obrabotki.
.LIN
dlq o{ibok ustrojstw, o{ibok k|{-pamqti, o{ibok	pariteta pamqti
modulx protokolirowaniq	o{ibok sna~ala sozdaet ili obnowlqet
statisti~esku` informaci` ob ustrojstwe	w kopii	zagolowka
diskowogo fajla, kotoraq nahoditsq w pamqti.
zadanie	EL zapisywaet informaci` ob o{ibke w wyhodnoj bufer
(ili w odin iz dwuh pri	ispolxzowanii dwojnoj buferizacii)
do teh por, poka 256-slownyj (desqti~noe) bufer	ne zapolnitsq.
t.e. zapisi ob o{ibkah zapisywa`tsq do teh por,	poka w bufere
estx mesto dlq sledu`}ej zapisi. w protiwnom slu~ae proizwoditsq
zapisx obnowlennogo zagolowka fajla i zapisx bufera (t.e.
nakoplennoj diagnostiki) w fajl	na diske s imenem ERRLOG.DAT.
na ris.	39 predstawlena	podsistema protokolirowaniq o{ibok.
.LIN
dlq uspe{nyh operacij obmena modulx protokolirowaniq o{ibok sozdaet
ili obnowlqet statisti~esku` informaci`	ob ustrojstwe w
kopii zagolowka	fajla, kotoraq nahoditsq w pamqti, analogi~no
tomu, kak |to proishodit pri o{ibkah ustrojstw ili pamqti.
obnowlennyj zagolowok zapisywaetsq na disk tolxko posle	10
(desqti~noe) zaprotokolirowannyh operacij wwoda/wywoda.
.TES 50
.SKI
.MID podsistema	protokolirowaniq o{ibok
.SWT 2
    !------------!
    ! drajwer #1 !--
    !------------! !	    !--------------------!
	.....	   !------->!  blok kopirowaniq	 !---!
    !------------! !	    !--------------------!   !
    ! drajwer #N !--	    !	whodnoj	 bufer	 !<--!
    !------------!	    !--------------------!   !
			    !			 !---!
    !---------------!	    !  blok wywoda	 !
    ! m	o n i t	o r !------>!		na disk	 !----!
    !---------------!/ \    !--------------------!    !
		      !	  --!  zagolowok fajla	 !-!  !
		      !	  ! !--------------------! !  !
		      !	  !-! wyhodnoj bufer # 1 ! !  !
	 !------------!	  ! !--------------------! !<--
	 !		  !-! wyhodnoj bufer # 2 !-!
	/ \		  ! !--------------------!
	 !		  !
	 !		  V
    !--------!	    !-----------------!	     !--------!
    ! ERROUT !<-----! fajl ERRLOG.DAT !<-----! ELINIT !
    !--------!	    !-----------------!	     !--------!
	 !
	 V
      !-----!
      !	/ \ !  protokol	o{ibok
      !/   \!	  i statistiki

.DFN drajwery
razme}a`t informaci` wo	whodnom	bufere ~erez ukazatelx
 $ELPTR	w RMON;
.DFN ELINIT
inicializaciq fajla ERRLOG.DAT i zapusk	EL;
.DFN monitor
razblokiruet zadanie EL	dlq oswobovdeniq whodnogo bufera i
podgotowki dannyh dlq wywoda;
.DFN ERROUT
zadanie	raspe~atki; swqzywaetsq	s EL dlq wywoda	teku}ih	dannyh
iz whodnogo bufera w fajl ERRLOG.DAT dlq sozdaniq polnoj
itogowoj raspe~atki.
.SKI 2
.MID ris. 39
.LIN
ris. 40	ill`striruet format zapisi wo wnutrennem whodnom
bufere modulq protokolirowaniq o{ibok.
.TES 32
.SWT
     format zapisi ob o{ibke ustrojstwa	wo wnutrennem
	  bufere modulq	protokolirowaniq o{ibok

  !--------------------------!--------------------------!
  !	 nomer	  zapisi     !	   razmer    zapisi	!
  !--------------------------!--------------------------!
  ! identifikator ustrojstwa !	   s~et~ik popytok	!
  !--------------------------!--------------------------!
  !	fizi~eskij    nomer	bloka	  (Q.BLKN)	!
  !--------------------------!--------------------------!
  ! rezerw!  nomer !nomer us-!	kod			!
  !(1 raz-! zadaniq!trojstwa !	  specifikacii		!
  ! rqd)  ! (4 raz-! (3	raz- !	      (8 razrqdow)	!
  !	  ! rqda)  ! rqda)   !				!
  !--------------------------!--------------------------!
  !	   adres    bufera    polxzowatelq		!
  !--------------------------!--------------------------!
  !		s~et~ik	   slow	   (Q.WCNT)		!
  !--------------------------!--------------------------!
  !    zna~enie	PAR1 (Q.PAR) - tolxko w	RT11XM		!
  !--------------------------!--------------------------!
  !    ob}ee		     !	~islo			!
  !	    ~islo	     !	     fiksiruemyh	!
  !		 popytok     !	 registrow ustrojstwa	!
  !--------------------------!--------------------------!
  !		    registry  ustrojstwa :		!
  !		       ...............			!
  !--------------------------!--------------------------!

.MID ris. 40
na ris.	41 pokazan format zapisi ob uspe{noj pereda~e.
.TES 18
.SWT
    format zapisi ob uspe{noj pereda~e wo wnutrennem
	 bufere	modulq protokolirowaniq	o{ibok

  !--------------------------!--------------------------!
  !	 nomer	  zapisi     !	   razmer    zapisi	!
  !--------------------------!--------------------------!
  ! identifikator ustrojstwa !		 - 1		!
  !--------------------------!--------------------------!
  ! rezerw!  nomer !nomer us-!	kod			!
  !(1 raz-! zadaniq!trojstwa !	  specifikacii		!
  ! rqd)  ! (4 raz-! (3	raz- !	      (8 razrqdow)	!
  !	  ! rqda)  ! rqda)   !				!
  !--------------------------!--------------------------!
  !		s~et~ik	   slow	   (Q.WCNT)		!
  !--------------------------!--------------------------!

.MID ris. 41
.LIN
na ris.	42 predstawlen
format zapisi ob o{ibkah k|{-pamqti i o{ibkah pariteta pamqti.
.LIN
zna~enie identifikatora	ID na ris. 42 sledu`}ee:
.DFN -2
dlq o{ibok k|{-pamqti;
.DFN -3
dlq o{ibok pariteta pamqti;
.DFN -4
dlq o{ibok pariteta pamqti i k|{-pamqti	odnowremenno.
.TES 30
.SWT
      format zapisi ob o{ibke k|{-pamqti i/ili o{ibke
       ~etnosti	pamqti wo wnutrennem bufere modulq
		 protokolirowaniq o{ibok

  !--------------------------!--------------------------!
  !	 nomer	  zapisi     !	   razmer    zapisi	!
  !--------------------------!--------------------------!
  !  ~islo registrow pamqti  !		 ID		!
  !--------------------------!--------------------------!
  !			     PC				!
  !--------------------------!--------------------------!
  !			     PS				!
  !--------------------------!--------------------------!
  !			    MPR1			!
  !--------------------------!--------------------------!
  !		       adres	 MPR1			!
  !--------------------------!--------------------------!
  !	informaciq o registrah pamqti (	do 16 {t.)	!
  !		       ..............			!
  !--------------------------!--------------------------!
  ! registr sistemnoj o{ibki pamqti (tolxko pri	nali~ii	!
  !			k|{-pamqti)			!
  !--------------------------!--------------------------!
  ! registr uprawleniq k|{-pamqtx` (tolxko pri nali~ii	!
  !			k|{-pamqti)			!
  !--------------------------!--------------------------!
  !   registr HIT/MISS (tolxko pri nali~ii k|{-pamqti)	!
  !--------------------------!--------------------------!

.MID ris. 42
.CPY SRC:MO3241.TXT

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  