Sunteți pe pagina 1din 39

lr . COORDONATORI1 SEIUEI. , .

i
t
"!' .. '( ~ ./'!
" dr. ing. Dan Roman ... ., ,\.' \ :." , ". ,' ,. :' . "

'dr.Emil Munteanu:
~ . ... .... ~

"1
TEHNOREDACTORI '.'1
••
- ,r' ")
', !
COPERTA SERIEI "
,
designe~ bivili Dernşteanu 1,
J .~

"
''>,"
t. ' ·' ·
,"
'II
,1

II:

.
~~ t . .'.
~~ ~':I
'"
i~
.\
'~
\ .:. .1 >'1
.,
1., 4
"1
-1
',ki
,
'~
.~
,~

(
',.

'1
1111 pleme,ntarea sistl'mului de operare CP/M S-lI l'I'nliull. de un colectiv de la "

I,T.C.!. filiala Braşov format diri: mat, AreCta I\larcel. Inut. Pop I\Iircea
OYf' UUS de: dr. ing. Toacse Gbeorghe
I
" " .T ', ;: J'J :1-S ! : i 't : .1
". . ,,:, ' );

. - ',:.. ,.1
,. ." ~.

,·r',' :! , ' :':. ,


, \ '. ' J~ ....

( '.' " . ), .. . .. , · .. .1. · . ;


:! , . ~.. ," j . .; ;~
· f.i 1· ..... •
..,; :" ..." f t-': ·
: I
CUPHINS

J.I Qr~nlllzoreli CP/M 6

1.1 .1 Parti c ularităţi ale sistemului 7


1.1,:1 ,UtIIlznren mcmo!'lel Interne 8
1, 1.:1 OI·lInllizal'.a discului 8
1. 1.,1 nr.po 7.illvul cunso!n 9
1.1.4.1, 'fastatnrn 9
1.1.4 .2 Afişaj", 9
1.1.4 ,:1 F'"Il'\ilh' de tI'l'lnlna! Il
1. 1.5 Int~ rfn lo s('rialil HS232 1:1

j,~ ""' I' lIţIn progran"'!ur 1r:"..llori! 13

1.11 C:ollvrllţllpclIlru 0":'1 II'! fllllc\illor de sis tem CP/M 14


1,,1 !'nrllcnlnr il ll!1 In ulilizOl'ea rutinelor C:P/M de lucru cu lIşl er< pe disc 16

1,6 l' rt'zl'nl"rea rutinelor CP/M 20


II I 1"" 1\' i\ O Reinillaliza"'c sistem CP/M 20
1111'1'1:11 ,\ l..c Citire carad"f de la consolA 20
III1'1'1 NJ\ 2 Ser;" re ('ora('lcr In consolă 20
1111'1'1:11;\ a Citire ('Aradl'r de la dispozitivul ,.Hca dor" curenl. ... .......... .... . . . :lI
1I11T1 .'\ . \ Scriel'e caracler In dispozitivul ,.Puuch" curent
111 1'1'1,'\ .\ "
;,
~
SITi(·" c"ru<"l er In dispozitivul ..Llst'· curent
2\
2\
I"'TINI\ Citire/Scrlerc dind il la eOllsolA 21
11I1'I'lN,\ 7 CItire ocld IOUYTE 22
1111'1'11\' 1\ U ~lodirÎl'are octd 10 B YTE :l:l
Itl j'I'I"1\ 9 Tip!\I'it'c In l'OllSOlt1 a unul ~lr de ca.rflct~rc 22
III '1'11\'1\ 10 Citir(' !Julll'r consol ă , 2a
III/IINI\ 11 Cii i"" sl ore cOllsol ă 24
1I1 \'IIN ,\ l~ Citirc versiulle sistem 24
1I111'INI\ 1:1 I niţia lizare slare sistem discuri 24
, IJ \J I'IN/\ 11 Sl'II'c lal'C disc 25
illI'I'IN/\ 13 1I.·sd.ldl'te lIşier 25
II I) I'IN,\ 111 tU l' hidel'c lişkr 26
II IlI'tl\A 17 Caul,i ill ,.director" prima inlrarc 26
I!I II'II\ ,\ 111 Cunl:l fII "dirl'dor" urmăloarea jll~l' nre 27
IUfI'IN,.. 111 !;ikq:erc Ii~il't 27
un Cillre scev(' nl!uIă 28
U1 Scriere secwll \laiA 28
U~ C"eare !Işl"r 29
U:t Sl'l ,IIl,iJ3rc "'"lle !I ~ !er 29
U4 (;IU"e vector d " ullildll-dlse activ. 30
J
3

'J"7~" - ft "1 . - - W, , '" ,i =e:.:eus. .V. :.A .


_.!.=:..!;."=-._- - ~~~~"'." ­
?I
T-

IIUTlHA
1:'
IIllmllr disc .d~c.lllt ................................................. ..
211,- . Citire 30
l

ntrrl~A !ll- Modllir.~


•.ndr..n DMA" 30
IIU'lI.".'\ !7f' ~ CItire ndres.'l veclor de nln<are 31 I

IIUTIN4. 28 - Selare "\rILIllI R/U ph,lru o unllnle de dl.e '. ..... .. ..... ,,, ....... ..
reuri.",' !!lI :- Citire veclor de unltAl1 n/o ..................................,.............
:lI
31
.!l,
IIU1'I."A 3ţ'" - Modltlcarr atrlhule flşicr . ......... ........... ,............... .... .. . ........ ..
'" IHrrt~:A 3 ' -
nUTI-VA :12 ­
Cllire adresn .. 1>10" ""-,,o,'o lll'lrl ,lIsc· ..... .'......... ... ............. ..
Cltlre/Modlfic-or" lIulII~r ultll,.u!or
:l:l

:l1

:1:1
Ul!:tTiA 3~ - CItire dlrecl,l :n
IIUT 1:1 A lI<I ,- Scriere dlrera. ... .... . .. .. ,,,, . ........ . .............. : . .... .. ............... . ... , :1-\
JUrr t:~.-\ 35 r
Determinare lunGime Ilşlcr :).'1
nUTI".\ 3 i-'- Deterlllin... nllmăr IlIrt',:islrnrc .. .. . :i ~J

utJl'IX ,\ 3 - D~zactl"are dtscurt


31i
\lUT I:Y.\ 48' '_. Scriei" dlreclG CII umplere cU .ero ...... ... ..... . .......... . ........... .. 3ti ·

II
I
ANEXA '. I 37

'~IL'
" ,~ ,
~,
~

1
;', r
:j '
'i
f'
~·11j"
(:
., .

'i·,: , ...
',"J! '.:j ~,,
'J,I.'

INTRODUCERE

tClnul COBRA este un calculator care la dorinţa utilizatorului

In. maşina BASIC-SPECTRTJ~I sau CP/;\f.

!ll)11!lgUrIl
"111'1111'(" pc ecranul televizorului, 41;, afişează emblema tnierosiste­

l' ~I' n~teaptă introducerea unei opţiuni.

tllllilllI l :
It '1II'IIre'lIrca sistemului tie operare CP/M:
prin apflsarca laslri ..D"
Y, 1III'~n'Hrc'a inlerprrtorului BASIC-SPECTRU~[:
!II' pe casela mugnetieă prin apăsarea tllstei "C"
din memoria EPHOM prin apăsarea tl'lstei "B"
\IlINI'rVII\ ii:
lncllrcarea sistemului de operare CP/Mprcsupunc exist<>n\a pe
• ri~iertllui ~·S.et"M

-- nu ni rlÎ este necesar utililllrui SY SGEN, !I(,oarece încărcarea

ului de opernrc se fl'lc'! din fişier, deci rnultiplicarea acestuia se poate

cn unul din utilitarele DIP sau PIP .

Il"C'Cizil ri suplirnentare pri\'ind organizarea şi funcţionare:! sistemului


,luuă rcgimuri se pot obtine consultînd manualele: C013~A BASIC,
IA CP/~r., . ~
" ---­
C~ok. ~ys

c (;l( ~ • SJS
E0,si0-·


.~W"''''''-.~:oi&.iIo -~_ .....~ .......................... ,
""".0_ '''-· t"IIIl
"
.;!{~

:1
-~ ~;

' l~

. . .1
'. .r.
1'11

,'1 ~i

. 'J(
Acest ml\~L, d~scrie org~~i:r:QfI.':1 ,~istem:ullli
CPj:\! (inclusi\' org:lIlÎl.lIl'l'::\
lTIf'moriei) şi punct!'le dl' intrare' in sistem. ~(' vor pn'zentn inforlll,,\iil!'
necesarI' pentru scril'ren dt' program.!' eXt'cut.aJIÎll· suh CPjM, progranll' ('C
utilizează flicilttă\ il(' de TiE şi de lucru CII discul oft;,rjle,de sisl!'n!, ..
.; . ':::" :~ . :"'" :.";".;.. ::! ..... .) '.
• : j' ;, ":,,', ! , . ,tt'. l ~~;

~ . F- ,
t.i ·OHG'A .\IZARE.\ CI'/.lI .
.' I ~ .' ' .: •
.
'F.~ "
.
. '.
"

Sistemul CP/.\l este alcătuit din punct dc v('dere logic dill uhilăto8n'le
patru I)ărţi:

mos sistemul de T/E de bază, care oferă hite'daţa ~ll I)('ri­


fericele '. . .
.. , .. ,
nnos - sistenl.\.ll.de exploatare a ' discul'ilor, carc · oferă primi­
t iwlc de acces la disc •
. ~. r

Cc.p procrsol:ul de comenzi-consola i


, " ... '. . -,' ~ . t ..... h
Tl'A zona pentru progr'lme tran7.itoriiJ ,' ! ~ ' .... ~ . , " .',' II
.' . CIlIDIHlllentl'Ie IlIOS ~i . UDOS sint Wupa,tc'lutr-un silJllUr pl'u!Jram uumit
FDOS, car!' lUI' un I.UUN dl" iUII·art· .1!lÎt·. Componenta CCp·{'.sh"\l1l pn)'grlllo,
distinct. care utiliuază progral\lul F!)OS pentru a oferi o inl<.'rl'.\I.il : .fI,'xihiIă
intre utilizalor şi informaţiil!' rxisll'ul!' pe disc. TPA eslI' o ZOU,"l d,' I\ll'I~,oril'
(i.I'. zo'na de m!'morif' (' ill'(" nu ('si" IIliliz,d?i de F1)OS şi CCP) 'ÎIl '1":11;,;\;' ('XI'­
CUi ă com!'n7.ile ' lnlOzil orii CPO: ~i pJ'0gr;\llI.ck·ul iliz;i lot: tIc' irip)i·f,:r.\ iL ()hll"~
nizar!'R ml'mori!'i intr-un siSIt'1I\ standar'd epil''\l !'sle: . . ,
0000

,---_._---------­
. HOOT:

IlIlramclri sistem

. TBA.S~:
I TPA

nlASE:
cel'
FHASI:: j ro n {) S (IWOS+1ll0S)
I J<'FFl<'

,~
;~'d ·-·ItÎli*..siIRi ..,,;rt,uâ..~1!IIo ~~..ii..l.i.i.&" ~"""" , ..... ',.-~ __

"
l' i 11\
IIVATm: D e obiceiadresn BOOT esl~ egaIr,cu OOOOH; adresa TPA "
este egală cu. BOOT+OIOOII=OlOOH, iur adresele CSASE
şi PSASE ' depind de tipul sistemului_ CP/lI-L .
Adrrse)e 000011 - 0007H sînt rt''I.r.rvlllp p('ntrtl:
OUUUlI - 0002II salt la rutina derrini\ialir.are a !iisLelilulni CP/M

---­
exislcntă in mos (J,MP WBOOT)

01lU311 oCletul IOJ3YfE


111111111 IlI11tlfll'lll utilizatorului curent ~i . al di~Cllll1~ instalat
IIUII:J1I . _ . 000711 SilIt III punelul de inlrart' în FDOS, ' respecti\' In
- EDOS (JMP PB~SE) ;: . '",; "

011111111 01l3FlI Ildresa de salt p.e nLru .instru cţlunile · :,RST n" ne­
utilizate de sistem. Programele de drpaJ\are .dina­
mic!iODT,,, SIn utiJiz,';]z:, pC1ltru punctele de in­
trerupei'e, instrucţiunea nST 7,
UO{OII llo:Jnn neutiliza ţi de sistem,
uO:Jnn - 1I0iCon hl o('ul de control fişier implicit pregătit de CCI'
pentru programele Încărcate in TPc\.
111171111 OJlD,::Il zona tnmpon ele 1/ 0 impliciIă penlrucipera\ii .cu
discul (conl ine s('ctornl citit sali !icris). .
zo na utiliz ;,tii de CU' pentru" Lra nsmile progra­
melor înc ă rcate linia de. cOlllnndii
zona utilizată ca stiva de lucru pentru prtJgramcle
execulate în TI'A.
1I\'I\ŢI1:, II •.. Adresa OOO~I1 esle J'Ul\'CT DE I~TR\IlE <lin .programe
. .. . 'tranzit()rii in rutin('le sislemului Cri \{ (in . i3DOS) _ .
' \/ .' ~~ J\drQsa.. pl'czcll"r, in loea~ii1e. OOOGH :- OOIJ7f) poate fi
, . . folosit[, p c ntru a detcrmina dimcnsiune;] lll:ixiJIl:ă :1 ITIC.-.
!llori"i elisp"nij,il~ «(>n's;qHlnînd cii se rcal'()pcl'ii COlllpO­
'11'." .. .... : 'llenta ' C'CP) . . ' .
l·. Atln'sa OOO:HI ('ste rezervată penlru oclelul IOBYTE
~ ;f . (l'()nfigllral.i~l de I/Ji. curentă) . f. .
:';' '''O ,
d. :\dt"'s:l ()(JO·jJI ('3le rpzcrva!ii pcnli'u a stoca numărul
lIti '/it.alvrllllli ellr('nt ~i număl'Ill 'discului insl.hlnl; ·oclclu\
d" la aceastfl adr('să are forma:
lIumăr utilizator em'cnl
--flj,ou --111-\- -----0000 ­
llumăr
'0-.--­
disc instulnl

A-J'

1.1.1. PAHTICULA\UTJ\TI ALE STSTE~IULUI CP/\\ -- «(JUnA


Sistelllui Cl'/ " implellll'nlal pc mÎrroi.,aleulalorul COBIlA pr('zintă
dif('r(,ll\" faUI d,' SiS!('lllUI s(alld,ml CI'/" 2.2 "la},oral dp firma j)J(;J-r.\L
. \Ilell, (1:11' I'~'" "'1lllpalilJil I'n ac('sla ill ceC<I l'l' prÎ\'('~lc forlllalui \ ' 0­
IUdor şi hiT'" du)'. '. ,

7\

..

----,

'I.l ,2, 'uT


I
lVIZAnEA MEMOn lE! !i"i'rERNE
'H.rt. memo</'il'1 Int~rne II sistemului COBRAI
FFFFR -- ~ -
-----­
.8 I O S
FAII"H - ~----

"1
.8 DOS ,"
EC~tlH --~---C C r ','.,
E4M,8 ~.
B 1 O S
DEOOR ..)-~ g~ 2.
HAli VIDEO ,[
r.OOOR 1---­ 4<'l~.:)""2..
r.E~F.nATnn CAIL\CTE1tE
nUlJ'FEHF: ,,' \
UMR 1 - - - - -- .- - - ­ ,', \
T P ,\ il , I

AUUIR 1---------,---­
ZONA SISTF.JI
"1 \
:11
,1
I
!
fi IIIIH
"1'
:1: •

,,!~\ 1
I.Ll, eRGANIZAREA DlSCCLlJI ,1
'~
SI!temul de operare el'i ll implC'mentat pe mlcrocnlculalorul COnRA
rteUlleaşt, urmlito/lrf'le rotmat~ d(' disc : . Iii
:~
._- [ormat standard 8" simpln drnsÎlilte (compatibil MIU, ~llIR, n I.
"-'OJl, B7., .. .)
t:t 1 .~
. ;~
- fnrrul st"ndanl 5: li4 dnhl1i densitate 512 octeţi/sector (compa­ 'k
tikil ,II),,'IOR, ... ) .
- r.. nnat COBRA - Il' simplă densitnle (dirl'ctory In pista O)
:~
,~
5" 1/4 dublă densitatf' (directory in pista O) :~

f.aracteristici : I:~

tiisc Hexibil ~":

- 77 pisle/di~c

- 26 sedoare/pistii

:~
-- 128 octeti/sl'!:lor
~
disc f1exihil 5" 1/4 1
I
dublă densitate (ro!mat mAt) I
- 40 pjste.' dis~ " :; I
.- o sectoare/pIstă
- 512 octeţi/sector
" i, ') {.
I
II Il

:. u,~ ·:'r-, .. """"_,, ·

"'!'"

dublA dertsltillc; (format CODllA)


40 pistei disc
10 sectoare/pistl1 i?? i~ D'
512 octel i/sector
Al'egerea ulluia din formaLele de mal sus ~e face folosind utilitarul
trHsK prezentat in "Manual de utilizare" al microcalCulalorului COBMA.

\.l.4 lJISPOZITIVUL CONSOL .:s.

o altii particularitate a microcaleulatorului COBnA es.te faptul că el


1111 foloseşte ca dispozitiv consolă un"terminal care să realizeze funcţiile de
Intrure, ieşire şi de (~ditare, aşa c.llm ('ste cazul celorlalte microcalculatoare
din aceeaşi categorie, care au implementate sistemul de operare CP/~I. Tuate
r\l!icl-iil!' de terminal amintite mai sus sintreali1.:1te de un set de rutine spe"
Illuliz:lte (dependclItc de maşin1l), implementllte chiar In compollcJ,I la 1.1105
\1 l:I;/~I. Di,m In cOlitinuaJ'l~ () dl'scril're a facilităţilor hard ş; a soluţiei suft
n,lo\-lt:ltl', lu vedere.') lIt.ili1.:"lrii ('ricil'nle a ullur elrJlJenl.e mai simple şi IlIa;
Idtine, În loclil IInui terminal speciulil.at: tastatura lIlatricialii Q\\'EItTY
(In intrllre), TV SllU lIIunitor T\' alb-negrii sali color (in ieşire).

\1 1.1.4.1 Tas/uluru •
Este utilizatii o laslalurli lip QWEIIT'f cu () linii x 8 (',)loall<!, ul!ci
,IM pozi t il indepelldelll r, I nstabilc. ParI!' Ui II nceste tast!' şi nI Il uMil te, I rîpla le
I,rin tnslnrea simulblllii Il două luste (de ('x. tasta Slllfo'T sau eTHI. ~i Incă
II tustll), obţinÎndu-se astfel codurile literelor mici, ale semneloi' gralice spe­
dnle şi ale controalt'lol'. ·
Deoarece spaţiul de afişare lire dim('nsiunea de 24 linii X 32 c(,loane, el
unle considerat numai c~, o fercustril ce se mişcă laternl (stinga S:1U dreapta)
" III cadrulullui spaţiu cu dimensiulIl'a de 24 linii X 80 coloane, iar accste depla­
~ftri pol fi comnndate din taslulllră . De aS('JlIenCII IOn! poate Ci comalldatll
tlill tasLat.urli şi viteza dl' l'x('l'u\Îl' II scrullu!ui vertical şi lIumărul de coloane
cu care se deplascozli Crreaslra III bllf[erul alfa numeric mare. Vi leza de
Ilxccuţie n scrollului \'Crtical t!slc daLă tie faplul că ucesla se realizează (0"'­
Ilollal) pe 1, 2, 4 sali 8 linii TV. Ială acesle comenzi:
- scroll stinga I coloana'
- serull drenpta 1 coloana
G IIAFICS revenire In coloana O
la o tastare scade viteza cu o treaptrt
lu o tastare crcşte viteza cu o treaptă
NOSCIIOLL se întrerupe afişarra plnă In relasture NOSCROLL

1~1.4,2 Ar~ajul
Cn dispozitiv de tlfi~III'C se foloseşte un aparat l'V (obişnuit) alb-negru
.nu color. l'rocesul cure reolil.ea1.l1 oCişnrell informa\iilor pe ecranul. TV este

,8
I

,,~ " :IITt ,urm.litq'ul .: ,mi'1roprOCf'SOrlll '.ZRII $i eomponeitl:a lJumită COlHroll!'1:


Yld ," ', Î~i.tliSJl/JUilp c rind ,accI'slI1 la o wn[\ de memorie nllmilă 'HAM 'VlHEO,
('U"IIOllcrlll ';;dc'!) , r ,\ plorind ,În l'ilir(' <!"l':\slii zonă tiI' Iilemorie. ari~('azrl fie­ i)
I
('III " hit pc 'T I'n liul Tr ,dc exemplu În C()(I\'cnlin O punr:t stins; '1 pUllcl aprins
:II/"' , ,~I.n 1:1 lIlicl'ocafculato:lrelc 1'11,\1-:, ',DJlC snu ZXlllI).
!:',,'
!)irnl' n.; illnl'~' zonci ari~:rle pe I'lTaJl1l1 TV sint de IU2 X 25(j ,pti!ldl' (hi(i), !;
1\1:" 1. spatii! se ~onsidel'll a "fi IIIlpiirl,il,ln rnalrici de ~ x 1\. hiţi (pllIlI:I!' ), d(,,'i
In '" ,',: ;~:.! IHatdci de S x,l) 11\111<'11'. in 'l'ontinuarea :H'l'slei ZO/ll' dl' IIII'/llOri('
C(' "oil(irrr illfOl'fwtiC lIfi5ahilrt, uJ'lnl'azli () zonă ti" 1Il1' lIlorie ai ('::in'i IH' ll'li
"" " , "~id,: r(1 in \ rm{tloarea con\'en(ir : l'iecare. oetl'l din :tcl'a~l'-I ZOll11 l'olldi­
\'0" . ad lJillni\,() . afi~al'ea IIl1l'i \Ilalrki dt' Il x ll pllnell' dill zulla dl' ,~l'I'i.'i'-1
11I:,i :;U~, A('cas I condiţionare SI' 1'l':r1izl'a7.ă prill IIl'llliiloal'l'lI slrllclllrar('
fU It, I iooalii a bi ilol' din oel!'\ii <!ccslri de ti dOlla zone, nUlllill' meliloril' ('H
nlr ii'u le: , ' .. i " "
II ' ,. "
: I'-~--B---IU-;--~:'-r---i
fi 7 (j ~4 3 21 1) , ,

fII aceastlll'COfl\' cn~iC se depă~('~II' ,parlajarea rrlct1l~ mai' sus in O'plilld


:;Iin ·:, I pUJlcl ap ins, ajl\ngindu-~c la IIrlll:d(lardl': IW o 1IJ:llricl' dcM:X,,(lpu 'ill'l!'
r,,,t
:~ (' defini dor li culq:'i, UJlil ('onstitllil'd fondul (hirlin) reprezeJllal[\ de hit,ii
de- \'aloare O din~lIlatri(;I' ~i ('[\r,'ia i se :dribuir c\lharr. d,,'l'initll dl' hiţii () , ._ ~
din nclcl~t1 ..alrllllt, c('abll,;1 nr!o.lre. C(: " ,.tit~lind ~er i~I,1I (cerncala ) l'('pn:z(:I1 ~
L<I ,', de lU!lI de f"tlo:l!'(' I din IlIall'lI'(' ŞI ,';,rela , ~,~ :dl'lbille l'ulo:ln'lI dl'llIlIla
d" Ilitii 3-5 clil\ ' oct~l.ul atrihut, Bitul (j dii p')si hilil:tII'C\ defin irii Il (10\1'"
1l1l:II , ţe pcntru fi)~ (', nn' ('(110:<,'(' ~i ~e l111nll'~I,! nlriJrat tle ~lJ.r\llI c ir,' (.o 11IIrl\l:'!,
1 CII Slri\lucirr), ridichd deci la J r, 1I111f1111 III de nr! o! 'i.. Cdl! opt cul,!'rj S!,lt-d"I,ilc
se oIcsellllleilz li astfd:
000 J\C!lrII

601 alhnstrlJ)

UIO roşu ,

011 mn!lenla

100 INde '

101 (.ynn

110
111
!Ialhen
alb

"

tI
Bitul 7 din octetul atribut \'alidcllză funr(ional'en blinldng (seltinl­
ban'a altcrnali,'ă a culorii fOfldului C!J aceea a sc risului), I
,1
Pe ecra nul T\', zOlla graficii de 2,)('.~ l v2 pixcli ('st,! Încadra(ii de" I:tar·
gifiI' fi IIm ; [i't DOIlDER li cărci culoarc poate fi defillită dc utili7.alor ill
con \'C nţia de cU;lIare de mai 5U3 cu ajutolul flll\c(il' i dc lermin:11 CTI\I./\.I·
l\!oelific,\rea culorii I'AI'EB-ului şi <1 L\'K-ului. lI\odificarea 'sl:II'ii IIl'
s', r111llcirc ~i !Jli\~kjl1g se facr eu aj utorul fUBcţiei de lerll\iO:II eTHL/e.
Intii În cont,intlal't! harla l.()nc!or de ilu'llIorir d,'serisl' IlIai inain!t':
ad rt'~" IUCl'Jlul adn:s:l srlrşil ('0111111111
[n!lOIl C7FFlI primII If('llIIe
UHlIlIl CFFFH li rlOlr:1 Ir.'illu'
UUIIIIII H7Fl'H li ,I'('ia trrhnl'
UHOlllI HAFFIl :1.(11111 CII Illrihule
'1~Il ,,, ri~ w:,Pc':' "on~lit~lÎ'tu tiin c('11' 2,t. x~ 2 ~ x'&' biţi este
WIWI/IlI ;', ill!r<'ly~u! ill zona COOOII .'- ])7FVII fiidndu-sc CII
IIUntlil,n'a c.un\clI!ic cle adresare: '.f
.' .}~I

<"
r(·zinlil 1I111llriruÎ 'rilldll­
IIlr·,, ' liliic dp :l:l de matrici de 8>:~ hÎ\i dc' i!~~;Jrt! aHanul'ni!rieă sau
t·i',. I.:.! 1.1 U) esle o grupare de trt>i bil.i cr' j'('prczintii nUIlI[m,{ lilliei de
jid ,1 .. X>( 1) hiti (care in lotal sînt 2,1. TI '1'0 l'ste.ogniparr de doi"hi\i cc
'I"V,IIII:' Ilillil~rlll !n~illlii in cnn~ se " firi lillia de JilaLriei rl'fe rit ii. iar OI
I Il'J OI ()II ('sle" gl'l.lP~II'C de dnd bi\i Cl' reprr z inlă 1ll1l1l[I.rulm·atri eiidl' 1) :< g
II (dl'ri ,·cte!.lIl C(' ('t·pr.:zill!ă u linie 11(' ~ biti din . malrice) din!r-llil rilld
Inlltllll' (" 11)(' () lillic sau pe lin riud există :12 coloallc).Pl'erilofllll iapllll im·
1111111 "ii ordinea de a\'a nsarc a a('('s !or grllpe d" !,iţi (~s l" II rll1;l!oan': ,,: O.
I 1.. T; iar va lurile limită ale acc'slor grup" c!e hiţi silll : O (IJI)000-llI11),
(111/111 II), L (000-- 111). '1' (00-10).

1. 1.·l.il Furtr!iile de lumillal


, I'{' III1~il fUllcl.ia ohi~II\1il[\ de :tfişare a srllllui 1It> caractr/'e alfanlllOci'i ce
1I1'lIli",', 1I:;]i sint ill!pl c' III\' lllaLc ~i alle f:ln c\ ii dr, termin , l, c:tl'r,. "01' fi ' pre­
I ilie mai jos :
1·:SC.I ,= I Bl UlII
pozil,ÎolI<lre ahs(llulfl X\' a cl:"sorullii
ESC.:~ = 1 HII, :J:lI [
eOlT1l1lare ..wraparouud·'/bloclire \'erlic:lI:,
I-:S<: ,'I , =dBII,:!·11 J con' III are ..wra p'a round"/hlod\lc , ol'iz/;,ol ,ll :,'
1·:SC .5 = lBll,:r')fL aulo line-feet! _inadiv/"c th' _.
I·:SC.A = I BI-f,.1111 cursor in sus
1': SC,13 =113a .·12[1 <'111'30 1' În jos
J·:SC,C = IB/[ ,'131! cursor la drrapla
J': SC,D := 1H1J,<1 ·11J cursor In' slingu
E SC.E =1 Bl 1, ,1511 ~I('rge n~ ecran i~ : '
I-: S<:.II
1':.';1.:, 1
=dBlJ. . IXH
,-.: IUlI . 1'11 f
cursor in pl)zitia "ho!nc" (stinga sus)
lI'grf~ lilli(' (:\1 ddilare ÎII jos

1·::-:;C,.1 = 1IlII,!.\11 ~1('I' gerc pillfl !a s[ir:jiL dc Jlagin:\
I':SC, I( =IUll. ,IBlI 'i 1crgt'rc pÎn:, la s[irşiLul liniei
]·:S<:.',. = 1HII.IClI .­ Îllser;lI'c ;] unei linii vi;],!
I:S I:,:\I
1'::-'<:. 1\"
"'" J BII ..Jlll 1 ..­ "liIll1l!arel! liniei eurcnLp
" ,j LlII.I]·:11 -­ acli\':.Irc a[i~3rc in invers \'ic'eo t

I':S C,U
I':SC ,H
= lJ.llI.II:11 -- rC \'l'lIi re In a ri ~a re in vi de·, .dired
~~ Illll /, 211 Î!lsn:m' Sj':ttiH În p',zi\ ia e tll 'elllă (':,":::::
~ .'
I·:SC, S
1':SC, '1I
~~ 11!1 1,53H " slergere ti ear:lc lcrlllL:i ':!Ircnt din Unie
,-, lBII. ;,!JlI i,ozi!i(Jnan~ :lhsolu ![( ' 'lA a cursorului
f ':
i f

l
~ ·)

CTHL/F.: = 0011 -' dimiuart> a linie i eli 1'1 ) 11 le


CTIIL/r == Olill inserare a uil ci linii \,jc!c '. ' "
CI 1:1./11 :, ()SII t'ursor la s'l iJiga
1:'111 Ljl o: (l ~ 1l1 I.. blliare ',rizonlalf,
C'11U.j.l = ()\ II Ll,' a\':ln); linic " ,~, '
UlU.f~I = Oj)lI ­ Cit l<'lll r <ia r
CllTL/K c-.' 01 ,: 1I
CIIU.f0 =0 1-'11
:11'1 ivarp :tri~:iI·('. In video ill\'l' rs
revenire la :l[işurr ÎIl , video direct
i:
".
;..
": _-
i .... ~ .
..
~ ţO:-
I l; >J, ; .
'1::'

!'.
-1·· ~ ._ ~_. _ - -- ----""- " ---~'-"'-"""-----'-~W~1V~~1

II

J
CTRL/Rt;= 12H - In.~erare spnţil\ fn poziţia curent1\

CTRL/UbI5H - cursor la dreapta

C1RL/V:!= iGH -- ştergere pină la sfirşitnl liniei

CTRL!"/';" 17H ştergere pină la sfîrşitul paginii

CTRL/X .= 18H ştergere ccrall

..., CTRLj\.'= 19H


CTRLjZl = 1 AH
cursor În poziţia "home" (slinga sus)
- cursor in sus .
1:
CThLj9" =lBH - ESC iniţiază o secvenţă de' escape
CTFi.Lj~B=02H - seleu1.ă culoarea BORDER-ului (acumulatorul va
, conţinc codul culorii dorite pentru BOKDEH)
CTHLjC ;"'03h - s('leaz[\ ocldlll atribuit (ca III ai sus)
CTHL/ \,=04h - progrnrneazii interfaţa nS232
DEL =7FH - ştt'rgc caraclerul precedent

1.1.4.4 thter{Clla serialel lIS2S2


I

Interfaţa serÎ:!Iă 115232 ('sIc impll'mentală soIt şi deci nu t'sl" folosit

nici un circuit sp('cializaL in acest scop. A"('asln c constituit1l din Irei compo­

nente care asiffură şi fUllc!iile pl'nl ru "arc :1 fost implfIlH!lItat:l: programarl'a

parametrilor ifterfetei, emisia ~i recI' Pl i:l. Utilizarea fur:c\iilur de clnisil' 'ii

recepţie se fa .e prin inlritrilc (mO~) CO~Ii\'. CO~OFr. dup ă modific:IIN

In prealabil a [octetului IOHYTE ("'''\' ~pun7.[llor). sau numai in l'mi~i~ prin

-intrarea l.IST~~Pal':tm('lrii dl' fII nqiOIl (l r<' ;li inlerfe\ei se ţ.l'ogl'l1l1lt'azil cu aju­

torul utililarutui HS23:!.CO.\1 S:lU CII :.Ijulorul rllllc\iei de Il!l'Ininal CTRL/D

unde acumulat:brul va conţine un cod (; I~ arE' u nni\l.(,ar.~a !. emnificaţie :

• x 1 i1Ţ1-T v I \' ! ~ __
unde: viteza vvv =000 1 ~.()
b2u(ls

001 300 h3ulls

010 tiOObouds

'1 011 1200 bauds

100 2400 bauus

101 4~OO baucts

:ilO 9600 hauds

111 19200 bauds

ur. biţi bb= 00 5 biţi

01 6 biţi

10 7 biţi

11 8 biti

XONN-XOFF x =, O - nu

1 - da

paritate pp 00 _. fără paritate

01 _ . paritate indiferentă

10 -- paritate p~ră
11 - paritate impol'ă

13
...
r,x~~~ ~.~r6&~1tjhl 'fif1iJ. t,.'~

'1 •
!
1.2 EXECUŢIA pnOGflAll1ELOn TflAN7(ITOml . :~

Programele tranzito~ii
sint comenzi tr~nZi~9rii
'CPjM şi
programe-uti­
IIUlor de aplicaţii. !:
Orice program tranzitoriu se Incarcă de pel~1isc in zona TPA şi se exe­
t!\111I "upă cum va fi prezentat In continllar(',:,
Ctililatorul comunică cu cOIllPoncnta CCJl(deci cu sistemul CPjM)
"rin inl rOOllccrca, după fiecare prompter CP/r-.f (" ?,") a unei linii de comandă.
l ~ jtrRre linic de comandă .are una din următoarele.forme:

(1) (~oll1al\da <CR>


(2) comanda specificator-fişier <CR>
O) (,()Jllanda sp('cificator-fişier 1. specificator-fişier 2 <CR>
Ulld(' "comanda" ~slc numl'le unei comenzi CP/M rezidente (ex: ERA, DIR,
"'VI'E etc.) sau numele unei comenzi CP/)! tranzilorii sau numele unui
progrnm-utili1.iltor. Dacă "comanda" e.si.e nUlllcle unei comenzi CPj~I, atunci
l~t':'St[1 comandă l'stc l'xcculată imcdiat. In caz conlrar, CCI' cantă pe discul
.p~rifkat (in"irat inainte de comandă) sau pe discul instalat, un fişier cu nu­
Inrl~ :

c'omonda, eo."
Dacii 1111 astrel de ('işil'r este găsit, atunci se presuplllle că l'l reprezintă
,Ill;;ill('a-nJ(',lIoric a unui program care se cxecută în ZOM; TP'\ şi car(', im- .
IlIl'il. sl' î1\l' ,lIT[1 ill mcmorie începind de la aorl'sa TRASE. COlllpOllcnta

1 :CP illcarcă ri~irrul tip ".COM" de pc disc in memorie, inct>pind d~. Ia .ildresa

'I'IIASE ~i ii predf\ controlul printr-o instrucpune de tip "CALL", La· sfîr­

tII III rX(,l'uţiei programului, l'.ontrolul poate reveui in cer- (prinlr-o instruc­

\hlul' dl' lip " HET") sali in CP/i\1 (printr-o instfllcţiune ,,1:111' nOOT"), Dată

,~ cltlrt'~It· ca la srir~ilul ('xecuţieÎ programului cont.rolul să rf'\ină iu CCP,

lIul'Î progra'lIIul In'huic sit nu supras('rjl~ zona C13ASE - FH ..\SE , In caz

1111111 1':11', prog'~'alllul po,tle sfl fc,loseaseă IIlcmori " pin:1 la adresil FBASE - 1.

llal'ă in liuia dc' c"nlOndă '('xisIă upul sau doi specificatori d(' rişi.'r,

Mlul\l:i componenta CCI' prl'ţ.(flt('~lc şi uliul sau două "blocllri de control fi­

(FCB), in zona dt' m('lIIoJ'ie rezt'l'\' nlii pentru "parametri sislem", . \ Cf'stc

B-uri sinl l·.(luslrllile in fOI'l11alul impus de .· PDOS pl'ntru accesul la fi­

(\'t'1.i cap, IA).


I'rogrulIll'ic t r'lllzitorii pot folo&i:
facililăţile, C.P/il! de IjE pentru a comuuica cu consola şi cu dispo­
zi~iHlc p('riferice, precum şi
I •
sub~istemul de lucru cu discul, pentru accesul la rişiere rczidente
pe ac~st suport.
,\,'c'r~1I1 din I'I'U!lr:lIlH' tran7,it,;rli In sistl'lllul de l/J~ itI <:1'/" ~r. (81'" prin
~lllit(':rI'!1 (';1Irl' ~islc'lIlnl 1:1'/1\1, prin punctul tie inlrarc In j."JiOS (I'Xi~t('llt
IIdr('~a 1100'1'.11111(/:'11), a uuui nllmllr tic rutln:'l şi n unei ntlrl'sc pentru
rmAI;] sprl'ifΫ'1' rlltiuI·i. 11111'11 I''xl'culin rutinei, I·' OOS Intollrcl' o \'al"lIre
;ac\il'll Illudnl tiI' d"sfl\~urnrc 11 "I)era!il'i (oJIt'rn\i1' dl's(:i~uraIl1 eorl'Cl ~all
de cronre (uullleric), dac:'l oc'c'usla a t'~uul).

al
,· ..._ _·.- n.. i.. . .f."" , ~ \ ...6~Will\
1~'::~;~'4Ltii'';''''''''''~;''''l
• . ~ IIQUW ~ [Ji "- •• ~ ~1C \f. _ ,~_

't!}!i
.~
l. ~\ COX\E\TII l'E~·{ltl· :\PEI.n, H i;\,CfULOH HE ~1!:.'TE~1 CI'/ ~(

. ' Sistemul ,CPf\l PIIII(' la (I!spoziţia utillza!oril,)1' () .s criţ ·d~.: r'=lti.,(ţ carc
l' ,t fi 3]1l' latc 1.11 radlul progralIIrlor llanzitorii. Hntinck ·sc :lul.pal't ' il\ ,dOlli'1
l , l~g:()rij : ,1
. ' .

':
nll.··'·
ill~~\
i"
dl' IJE
.
PI'IIII'II ' IWI:,H\'ril'l'
.

'~illlpl., ·
",:-+, nllill(i dl' I/E pl'lllm IU('I'III ('II fi~i!'r(' 1'" dbc:

IIlllill~h,'id'., ' 1 ; I~
J. .: .;" . ...

1I\'IIIrll pi'riîC'I'Î('I' si"iplt, ' "ill'!;

-' tiIÎl't' (:ar:Il'lt' r ,1., la ('III.I'O!;1

scril'f(' ('aratl!'r la . tom,uJii

.(' il i 1'~/s.c.rit'rc ti il'l'('I,' la 1'011;'01:1

eÎI (rl' earactrr dl' la dbpo'l.itil'lll li(1 "HE :\ HEU:,': .

scril'r" 1':!1':\c\t'r la di,;p0'l.ili\'lIt lip " l'{ iXCI("

'"'l: I
stric'l'l' l'ar:H'lt'r la di~l'v:l, ith'lI) lip "J.lST" . r;" ',: "!: ~ 'I '.

tdlir~! ll\lldifil'ar,' o\' lt'l I nnYTE


lil':lrirc la ('1111,111:1 a .l1l1l1i '~ir tic l'araclc!'!!
. ' )0-

cilil'c hllffl'r ('IIIISO!:1

citiI'(' SllIrI' ('ollslOli't,

\ Rutin('lc de 1/1-: 1"'IlIl'll 11\1'1'111 tII ii~h'rc I'C disc sint


I.. cl'('arl' ii~ier
dt'"ch idl'rt, ii~i('l'
În\'hitll'rt, fi~i"I' .

cilllfal'c in .. tI;n'I'III~"

. ~ .- IIlt)~iiicHI' ~ 111111\(' fitier


~1 ..r!JI·I't' fi~il'I'
. eilil'~ .sc<'wlljial:' S:lll dil't'I'lii li IIl1ul li~it'r
s\'I'i.,l'c sI'I" '('lIpal:' ~all din'I'I:' II IInui fi~it'r
llwlliiicare all'Îhllll' J'i~Ît'r .~ ~ .;
iui! iali'l.l!rc " lIl~n,,,a U~l.\"
, ,
iIiHialh~a ..(' stan' !'OÎ;I('lU tli~l~~lri
s.a,
~<>< '))­
In .\NEXA eSll'~ pI1 ' ;:t' J1tal;1 lista cOl\lpl ~ tă u J"JlÎllelor CPJ~l dbpo-
Ilibile,
,hel'sul la .nllinclt' FIlOS se rl'ali7.e:lză prin transmiterea În:
rt'!li;,trul "C" :. 1I1l11I;lrllllli TuLilld şi
1"' I'I'chl'l\ ih rl'!li,lr!! "H,'i:E" a 111101' parallletri Hece~ari rutinei.
Hlilincle }!J)OS pot :l\'t':! ,':! il'~iri \':tlori pl' tlll ild('l (i1l " ll'gis!rlll ' ,;,~")
~ au pe ,;"i oct('li (Îl! \ll'rechl':! <1(' I't'gislru .. 11,xL"), " ., ,
\IIlSEH ... .\TI1: li, Pelllrtnll:illl'lc r :lI'l' :lUI':r :('~iri \'al"l'i pc' doi ;);;Il'\C ;IC(;~I('
,'alori ~e g :I~\"(' ş i illl'l'gisln'''' ,, :\ " _ ~~ " II". (Î.e·, (.\ r , l. ~i
(U)=H)

l~
,.~-

i{
il. Com·enţiiJe de apel nI . rutinclo·r CrjM respectă standar­
dele PLjl\I de comtinicare 'parametri. . . 1i:';;
'I-'

e. Există rutine CPjM care folosesc doar registrul "E·' penlru


transmiterea unor parametri nl'c('sari apelului ,lor
cI. · Există rutine CPj~l care Jln necesWi pilrametri (apelul
,. lor presupullc .doar I rammitcrea. prin registrul "C", a
nu III ă rul u i ru ti nei)
~
~
"
. e.Există rutine CPjM care nu au ieşiri.

11
Hel.ultli ·c[1 scc\I'lI!n ~Ialldard lIf'eesar.l (l('nlru apelul Ullur ruline CI'/.\I
'!llt- : ,:i
,~
IlII(')S EQU 0005H

:\ln C, IIllniiir rulin:l


I.:'\I J), I'nrnm('lrii specifiel l'ullnei
,\IrI E, llaramelru speciIic rulinei]
L\LL HIIUS ;apel rutină prin punctul de in­
trare
În FDOS
(II!SEHL\T\E: Liniile cuprinse inLre [ ,] repreziillă linii op\ionale, depen­
<l(' lIle ,le tipul rutinei.
S-a arfdal În (";Ipitolul 1.2 că după lndircaren ,ţe pe disc,.In memorie,
I! II II IIi progn'lIl Iranzitoriu, ("OIl1)lollcllla cer ii predii arestuia conlr"I,,1
III'illlr-<I :nstrue(illllf' de lip "C,\L\:'. Execu\ia programului tranziloriu in­
1'('1'" ;I\ind SI',1I1 puz i lion.i1 pc (1 slh·ii cu o capacil:!te de 1) nivele (Iii octeţi) .
III .. ar(' f'xisl:l insnisii d,lIar "dres:l d(' n";l'nirl' În CCI' (7 niHll' ~illl ;lIt~ libere).
Ih',i an'aslrl sli\·:1 1111 ('Sll' ,le oLicei [olositii de C{:Ln~ progralnl'le trallzilorii
lll:ljorilrllra nc<,sl.lIra ft'zervindu-şi Il sli\·:1 proprie şi revellind in CCI' prill­
l 1'·0 illstrul'\illlle de lip ,,,1\11' BOOT"). tolllşi esle IItil d,,· CIIIl()Stllt [,'pllll
l'A ..a ('sIc sufi('i "lll de lIIare [)I'Hlrll a J"I'aliza aJl<'lllri de ruline CI'/.\1. ,\n'sL
Illnll ('~le posihil intrlldl CUIl\lll'"t!ula FOOS la fiecart! in!rare intr-o rlilill;!
tit' ,isl('III. COllllllf\ SI'-ul pe o slivfl locală, nea[eclÎnd nst f(, 1 sliva illilial:'l :!
I'r"Vr:'IllIlI11i. l'rograllllll ill lilllhnj de :Isnmhlnre de mai jos n·pr,!ziJlI~ lin
('X"IIIJlllI ill an'~t SI'IIS, ('1 r.. ~lizind I"Îlin·a 11111.1' cara~Lere d,~ [:1 tOlls"l:" l,ill[1
1.. illtilnirea ulllli cal'~c.t('r .. :'!r" e,,;'e ddennillu Înloarcerea cOlllrullillli in cep:
HIIOS · EQU · 11110:111 [lUIlCt de inlrare slandard in rnLilll'le
ePj \1
t:O~I~ EQlJ 1 nltintl ..Collsole In)lut" .
01111 - I!HlII .,,!resa de bază peHtru · TP:\
,\ EXTI:
,\1\"1 (,CO:\I~ prf'gfdirc apd rut.inaCON IN
C:\I.L BlIIIS . ; citire ca rnel I'r de la cOlJsolii eu pre­
' ('
Ivar(':, cnradcrului in rrgisl rlll f\"
"
{:I'I '*- ' ; lc'sl pCIILrll sffrşit dl' prclllcJ':!n~ "
.J:\"Z
IU·:1'
:\'.E.\.TC relnaru prC'llIcrare dac:'1 n'l ('
rcvl'nire ÎII CCP
'*'
~'" \ . ­
"
,_ .. ..":Â_a.. ~._ .i.......... ..,~1
A4. . . . . b - e,rs........ii..,. 'b ritii;~.i!ll NiiîWtl&ilWJîtiri

-
1.4. PMITICIULAHlTAŢI Ix IJTILIZAREA nUTI~ELOR CP/ll UE
LlTRU el! FIŞIERE PE DISC

Pentru lucrul cu discul flexibil sistemul CP/~f implementează, pe {il'­


1:lIrc volum disc, () structură d(' fi~iere identificate prin nume. Fiecare uni­
,1
IIiIe de disc. este. din punct de \'!'drre logic., disLÎnrtă. avînd o zonă n'zcr\'ată
r'Cll'ru "dirr('!or" ~i o <1ltă zonă prutTIl fi~i~rrIe de datE'. Fiecare [j~ier are aso­ "1
~II
d~t un idrntifirator <1lciil uil din: .
',1
codul penlru seleclarea anită(ii de disc (o \il~ră A -P) ,1
' ,!
numele (alc'ituit din 1 _.1< e<1ractere ASCII diferite de spaţiu) '1
e:xtensi;1 (tipul) fişierului '(alcătuită din 0-3 earac.tere ASCII di­
fHite de , spa(iu)
Extellsiile de fi lIese cntegoria generică din care face parte un anumit
{işi(', · .
in timp ce n\lmele idenlifici\ ill mod unic fişierul in cadrul categoriei
rr3p,'cti\'e. ,\stfel, sislemul CP/ '[ utiJizrază u~miito:uelr ('xtE'n~il standard:
A~-'I pentru fişirl'r sursa in Jimhaj d(' aSBlllblarr trat~bile ('II
1'1
n~aJllblorul .\ S:\1 sau IlIAC
PIi:-' penlru rişie\'{' lislillg '. '
Hl:X . pent ru fişiere hexa .j;
1l.\S penlru ri~i('l'r S1II'sa limbaj BASIC
III
'il
J\T p~JlIIU fi~jrl'('((Hl-obirc! intt"rm('diar
·1
.. CO If pl' nl I'n ri~il'l'(, cod-obipc L di rect execlIl;lbil
UEr. pelllrll fi~i(' 1'(' l'od-ohie('\ I'elocabil '"
~- l i

con p~'nlrll ri~iel'(' Slll'~a ÎII lilllbaj COBOL


"1
.FOn pCl1 f rll fişil'rp sursa ill limbaj FORTRAN !II
:\I.\C pellll'lI fişil'n' surs:, ill limbaj de ansamhlare lralabile cu ·1
aS:lmblornl .\IXO '~
lI,\I~ pc II I.!'II fişi(, re ee l'l'IJl"ezintă versiuni anterioare inlr-un III
, proees tic editarc l~xle r~

SS~ pClltru fişicl't" tempor:,re '~

~.n. .~
;;1
Fişil'l'dc surs" sîni trulale ca o ~~c\'en(ă tie carJelel'e ASCII, in c<,re 'i;
fiecare ,.linie" din fhi~r se tl'!'IlIin;, prin srn' cnţ~ tic caractere <CR> <LF>
(OJ1l! OAll). :\stf~), o illregi~lrare CI'/\I (de 12~ de octeti) poate conţine
,
,j

'~
III"; multI' linii de I('xt. surs:i. Sril'~ilnl unui fişier ASCl1 este indicat. prin
c<lnclel'ul CTRL/Z (1 :\1I) sali prin "sfir,iLuJ fizic" de fişiH, delrclat de ci:lrl' <Ii
rutina CP : ~1 cir citin'. C"'ad,'rele CTHL/Z cxislenlc Într'lp, (işil'r cod-,ihh'eL ',1
(dr exemplu, in iişif'l'c lip CO\I, sili\. igr.orate, sfir.iil.ul ('e îişier fiind delrclnt
de mtina cP/,r tI(, cilin'.
Oric(' fişier CP/\1 esle o srl'Yrll(il de IIH'.ximulII (5531) inl'I'gistrări, de
cite 128 oetp(i fi,'cal'r, 1I1111'.erolal!' dt' la (! la fi55:15. Dc~i din pund de vedere
[o:.;ic inregislrfll'i)r Înlr-1I11 fişirr sintcolltigue tot tlşi, fizic (pe disc) ele pot să
nil fie, eOlllig'Je.
Fi(',':~lc ri:~icr ,~~lt~, illlpl'I\, Îtllpiiqil in S('gwl'lIll' d~ dlr II; KB, <lrllu­ •!
milc "cJ.I,'nsii 10 tti('.c". 111 f;l<!rlll fi,'.drt>i "rxh'nsii lo~:i('e" rxis':1 128 dl' ill­ ]
!'~ ,,:: istrrtri (128* 12& B"'~ 1.• Kll) 11t11Jll'rolate ,' Ir :a () la 127 (OOH --iFIi). SI'.
o[" e-rvă (;', in ca(\ru! ullri "l'xlrllsii logice" contll!'ul de inrrgislrftl'Î poate fi
!"'I'rrzcnt:l: pc 8 biţi. Inforlllatiile pri\'illd fiecarr ,,~xl(Olisie logi('ii" u unui
,
I

,1
fi~ier oC).1l'fl spaţiu in ,,(l!rcclol'lIl" discului rcsJl,~cl'iv, '0 "CXll'HSic logicii" {Iti

16" I
"hlc' ['mnnt1i din mai multe blocuri de nlocnl'(,. Un bloc de nlocare re­
.
11Ir. '~Jl:tţiI11 disc minim ce poatl' fi alorat. unui fi~iel'. Un hloc de alocare
111111111111111 1 1(U şi maximum 16 KH; diIu('JlsiuJlen hlocului de. alocare
MI"hililfl In gl'Jlcra,'cri sistemului Cl'j:\I.
I'c'II11U ttlilir.arNI rlltinelor C1'/1\1 de li,crlt cu- fişiere pe disc trebuie ....,
1110' ul'lIl:ltonrelc cf)nvcn\ii:
-i
in[ol'lllntiiie de identi"ficnl'e a oridirui fişier Sl' Iransl11it către rutinele ,,.
". r;-"
li illtr-ttll Jonilat slandnrd, ~i nnll1111' sub forma uuui "hloc dl' control
(Fîll' Conlrol JllIll·k=FCn). Dimc'nsiullt',1 [-'Cfi depinde de tipul acce­
III ri~i("r (este ciI' 1\:3 de ()cteli penlru aecc's secvenţial şi de :.I(i de octeţi 'ij
rll arc '('s din'ct) ..\dresn FCB-ului se Iransmite ÎJl gl'neral prin registrele t,j
I~.
,' ,~ .
~:
orice oJl(,l'aţie tie citire/scriere date Într-ull fîş.ier se I'cnlizt'<lză a~upra ..{:

1t,
;10
11Ii'l'gistriiri d(~ 1211 de octeli.
.­ adresa ele ÎJl('~put a zonei de IIH'lIlOrie (de 128 de octeti) utili'zată "<;o'

.. P
bufrl'r in operntiile de citire/scriere SI' numeşte "lIdresa 11.\1,\". Această
nu se transmite cn parn/l1rlru. eu fiiml iniţializată de către sistemul
sau dl' călt'(' () Illlill;1 C:P/~I special:1 (rutina 26).
1
t :",
.~-;
?\

1 ""
SP 'HlnH'*Il' .. di~c SC· II'l·lal'; IlCI':J' unitntc dl', disc care:: fost :1ctivată
p:
F- ,,:
:Ictiunca t:OlI1)lont'lIll'i CCI' (di'l'nl ÎlIslnl:H prin CCP este in mo­ !
111111 lansilrii Ill!ui program il! TPA .. di~c S('\l'ctfll") san
._. prin ruti,iu Cl'/ M de sC'leclare disc (rlltÎJ![l 14)
- ­ SI' Jll!mc~I( "db.l' :\('Ih'" art'H unit..,t(' dc elisc. care de In ultitna ini­
Ilillza/'\'(reillitializ:Jl'e li sistemului Cr;;\[ sau de la ultima operaţie de iniţia­
~ ,~:~re sistem dis!:lIri (J'Itiina 1:.1) , :J fiic111 ohiectul unei selcr!ii:

.-. cX}llidte (prin CCI' snll prin l'utina CP/M de selectare disc (rutiua
.4» sau '
-- ÎUI)llieite (pri n 11'-0 mti nă ele deschidere sa u neare n unui fişier
CII octet UII dill FUI difl'rit dl' zerul.

IISEIl\' Al'JE: Sisll'llIul CP/;\I foloseşte intl~rn pentru FCn zona de memorie
II O;; eli - OU7FU (:)6 octeţi), int' ca "ndrl'sl\ D;\IA" adresa
1I01lllH (bufrerul pentru operatii de citire/scriere este de
la ndresn 0080H pină la OOFFH (128 octeţi)). Utilizatorul
ponlc sit folosescă in programe aceste zone de memorie
pentru [o'CB-II1, respectiv pentru bllfferul propriu .
Structura stnndard :\ IInlli ren l'sj.e urlll:'toarea:
oele(ul 00 eodul IIl1it:'\lii de dis.e pc rare s!! găseşte fişierul,
res pec ti \' :
OOH pentru (liscul selectat
011.[ .- pentru unitatea "A"

.l:
lOJI - pentru unitatea P"
"
17.
.. ,..u... ..-:;;:';:. ... ~ ' .: ;..;- ..~~ -"...:;; <liIt1"'jh't:! i':::' ~t ,.!!hj ~

i;'j
rn
oeli>tll O) -08 IInm~l~ lIşil;rnhll exprimat in ASCII (caracll'rt'
, ~ ­
majuscule, Cll B7 ,= 0); dneii numele fişi~nllui
are Illai pn\ i n de S e":lraclcrc. alune.i ci 'p.hni.'
• ~! {,olllpl~lat III -dreapta cu hlaDlmri.
, ~

- octelli 09-11
:; - ('xlrnsia (tipul) J'işiNului expriinat In ,\Sell
1., , (cara c tere Ilwjuscule) ; dae[t exte nsia a 1'(' mai
1c q puţin d('- 3 I: al':lclere. _ a tunci ~lerst cîmp , trt.hll;~
': ., '1 ~~'i eOlllllll'lat la dreu)lla l'tI hlant',lIri.
/, Dacii fişipl'ltl r s le prolt'j :lt la scril'l'l' (H/O) alllll\'i
I il B7 din ()C It'llil OU esle rg:ll c u 1; alll't'l, ucesi
bit es le egill r it Il, _
Dacii fişierul es lI' invizibil (SYS) alunci B7
din oclettl.! IOI'sl,,' I; altfel, ac~st hit ('sit' ('gal
cu O,
oClcttd : 12 lIulll:lrul tlll'l'nl al ..cxt(,Jls!ei lo!/ic(' '' a I'işirnlitli ;
i de obiet' i acrsl t1cl'ct esle sclal de ntilizal ol' pl'
OOfl.
-- octetul 13 l'ezc l'val pI' ntl'u sislem
;
- , oc!t,tul 14 I'l'zel'\'at pr llirit sistem;' acr~t odet <,sI c setul
pc IlOII alullci l'Înd s(' I.'x('cutii Opt'mlii dl' lip
!' - , OPEl\", MAKE, SE .\HCH,
octetul 15 (~U nl"r de illl'('!JÎsl":il'i ill ('adnil .. ('xlI·nsil,j JO!!-i('('"
, eurclltc (ia \'al ori Înln' !lOII ~i 7FII); ncrsl \'ÎmI'
s:, , rsle complet al tir cillre sislclll,
~ ottetU 1(;-'-31 , rezl'n-a\i -~)('nlru ,sislrlll «('i\'or fi c(ltnpll'l~, \i
. :' : . de citIre sis lem)
octelul 32 '- nlllw1rnl inf('!Ji~lrării diu ,,,exll'lIsin IU!JÎl' ă" 1'11­
s('J f o l o seşte in ~eeesul Sl' c \'( 'nţial la 0­
]'('11([';
, şiere; in Itlod normal ltC('st od_l·t ('~lc s('l al d('

căln ' uliliz alo r ]I~ (JOII la ,d esehilkrpii fi~i('! ' t\ltli,

-- oct(~ fli 33 -:-35 -- rep n'zintft lin p a rH/n et "u 'Ip\iollal f"losil ntlllwi
În :1 1:('('StI 1 direct: la t'hi('f'(' , EI illdicit , illllll:irlil
'. ~: : ~ : " ,:, !; t; · ~
' fllrt' !J j,:tl':1rii de sl'Ti;;/(' ilit (:ln' \' alori illll'(' O()(HI! I
," şi FFFFl-l cu pw:ihilit:,l<' 'd r de)Jii ~in' in (,c!t'l ul

l' ,;

~f
"
',' 35). Oele !.ii :tl ~l J ,j l'l'prc-zinI ă o \'"l"are pl' IIi
- biţi cu panca CI':\ Illai pUlin ~I'lIlllifi"ilti\' ;t
- iu oetctul 33 ~i '~e ,; ltl :,j se mnifi cat l\-;t in ol'll'llil
,: ,'; '.. ,,31, ' , ,,-'
Fit'!larl~ fişi~r ('are , trebuie !'XJlloalat prin 1I'(,JlIIie să :lÎbil UII FUI
el'!"
pr'o priu, care să furllizl·ze. prnt.l'tl fi rca re opc r~ \il' Cii fi~il'l't11 inforltla \i i J1l'i­

"ind numele şi aloc~rca acesluia, Orice l'C('Cg la lin fi~i('1' illlplic ii illiţi :t1iz al't'a

de ,'iitre utilizator, (progi'amator) :t FC!l-ltllli L".Il'l'gpllll :l.,ilo~. l't's)lI'(' li\ prin

insc r,ierea În oc~etii 00-11:1 s p(' (,i ficaton:llli fi~irrtlltli si prill ltltIJl.!t'!'!'iI l'tI

OOIl Il I'esluilli de odcti ;J2-:11;:~5) , Inl'ol'ltl :; \i ilt· din rCU-urile 1 ' (lI'I'~I)llllzrt­

toan' fişiel'l)lor de pc un disc se giisl'se Inl'l';~ i s ll:tll' in .. dircC'lol'tll" discului

~'cs J weliv şi sint. aduse În nll'moria intern:-t inainl',' 1':1 tllili za l(ll'td să inel'a"it

IUC\'ti! asupra fişierullli/ fi~ierel ()r (vezi r~llin('le OI'E~. :\IAKE), Cupia tiin

' 18
.i: l\ '~ t,
" FCI3-ului est.e actualizată pe măsură ce au loc opnuliUasupra
1. i~r Ia lerminarea lucrului c.u acrsla ea este:înregistrată pc : disc. (vezi

tLOSE) . - .

i\llIlid cind o comandă (program) se lansează În execuţie prij}: '


. . . ; ~" : ' ....
spl'cifiealor-fişier J <eR >
~p('ciîicalor-ri~ier 1 spc<:iricaltlr-fişic'r 2 <CH>
'III:, CCP cOllslJ'uicşte (după cum s-a ariitat În cap. 1.2) primii 16
~
dll! două FCB-uri pornind :de ,l a .specifieatoJ'ul /sp~cific?-torii .de fişier
11\1 in linia d(' ('ollwndf, (dupii lIumele COII\{·ll'l.ii), ,\ulolllal, CCl' (:omple­
(01I1(';i ('sir (':lZl") Jllltllf'lr ~i exh'llsia fÎ:; Îer('lol' cu hlancuri, Primlll FCR
' 11,1 \'!Iii la adn'!'a tJlI:iCI ( ~i poale fi folosil ca alan' pentl'll operaţii ul­
""'p r:l ri,i(,I'l,llIi .. sJll·('iricator-fi~icl''' , ', :\1 (fuil!'a FCB esle conslruit
(ii 11 , -:11 din primlll FCn (adie:1 de la adr('~a ()()llCH) şi Ir,,!Jnie s.i fi"
Inlr-,' al1:\ 1.1111:\ !I(. 1I11'IIIU1';e inainle d" ulilizarea lI!i. Dac:1 de eX('rnplll,
111"n:! inll'(.dll(,l' comanda: , I 1 ' ! ~ .'

1'lIlIli:-': .\ .\ lE 1l::\.ZOT Y.ZAI' :k. CR > .,·, . :':


1'111 l'Il()(jl':A\II':.CO~I u,· [le discul inst:Jlat va fi ÎIlC~I'Cat in iona TPA.
11111(',,1 <il' ('I)'1!,',,1 de la "drl'sa 00;)(11 \'a fi ini(ializal astr.. l: 1
! , : 0,, !,:

II('II'''!! IlI1 ~- (I:!I! (eo!l uuitale ,, ~n ., . " . ) "


I.

1"'1 t'l ii fiI --lIa ,,'.\'

'''''''1 ii n:I-11. = 'ZIIT'

lIt'lt'lii I:!-I:i dHIH ,., ,. i ., ' . . ,1 .. ' : . ' :: >1' : ; ; ! ';', i ri: .

'H'I ('1 t:I Ifi --- UIIIl (I'''!l di~(" s(!I('\~llll, earl' in R('('st l'''·f. "S'IC I'hiar

.!is",,! inst.ilai)' · : ::", . '

;j:/; 'j:;-; ,
'"'lt'lii li' - :!'. o. ',\" '
2:; -27 .,. . 'ZAP' : .; i' ( Îi i:' (

:!!I .. :11--- oun· . I"i;.·.·, 1

.\'1'11':: l"I'Il!-:I';!!OajoI'iil 'lrt'hliic' s ă " sMveze con(inutlll celui <i<:-al


. doik:1 FCB (cl·i IIi O('ll' !i incepînd de la adi'esa 01)(jCI!)
ill .. inlc dr a drschidc fişierul eOl'esplln7.ălor primului FCB
,.:." (,1.0- la,Jdn's[" ()O~C1I). inlrucîl .. prin ue~chid .. r(>a: ' a\:e~llIi;,
Î'I,['''·1l1;.~iilt~.j·('rl'l'ilt)an· Ia (:I'l, ele-al tl"iI~a , .ri'ii(·r ,'or fi şL(o rsl";
!d: (slijll'a:;Clist,) dr dt ·(, si~I(,1lJ (lc>ci\t,~, ruli,, ;t ,OPGN).. ;,, :,
),' ') , 1):\";1 idr-o lilic , (1<: .(,oll,an c' ~ CP/;\! . nll fll'arc ' nici l~n,';ped- :
:,,' , i fil ' at()r-[j~i( ' 1' alllud l0.neIl' 005Dll - - OO' i'7lL.şi , ()OliDH ...,-(jl)7iH :
\ ' 01' (,OIl~iIH.· hlaucurt: i . ' ' ; ' : i .' .' q:
COIIIIHJIlI'llla Cel' as ; g(lr~ ,Jllloll1al lrallSfol'lllarca lI1illllS- I
("I!tolol' in majllscule,
('arn('h'ri~ti(':'i illll'tlrtalllii' ]l(:;Il'I·;,' ·'utiIi),:'II';I";i ~iSt"';ll:I;II!i U'/:'.I ('sll' 1·
C'5 (lllpfl 1\'('''p\it>u:lI'I'[' um:j li, :ii diJ· cPlIlflnclf, el !);I"lrt'O\z:i la :1­
IIl1lWlllln huil'1'1' I'l'l,lrll l'I'n-tl!;1, ÎII C:'f'(' l'xislil oţopil' ~l I'Oll\illl'llIllli

dr I,'ollHlndrl eXI'l'plind IIU!Ill'!e ('('II1(·llzii. ,Astfel, l)(~nll''' t·xrlllpllli

,I"ral nn .l. rl';. ,~I', J!"rrvrnl dr,la,.:run·s;, , O(!I)~i!~ \:! :I\<:a IInn[II"rul ('ollli""I :

111'1"1111 011 ," tlEII \IIUII"II'III d(' ('nr"(~lrrc llllle "'" Iinill 11(· (' u"",ndii

("I"'plll1d IIumr!r (·I)IlI(·!ll.ii)

1I1·!o·lul .111 .' : ',',.'. ; ".' ." ..,. ,:1 ,1;, ','i : ,; , ., 1
IIClt'lii ' U:.! , · -II!! -. ~ · H:.\.ZOT',': : __ " 1,.; ' '. ' , . ~' ~I.j ,; . 1" ,:,,01,,: ,,: :)
_._-------_.... _- - _._--_.---------_..- ----_._------_.. _- ._.-!
II:
.~ ' . ~UML- ... ~~..... u,~"'~ . . .~~~~:· ~ ftIt··tg;

octctul 109
oetetlJ 10-14='Y.Z,\1"
Este, şi in acest caz, sarcina utilizatorului (le a extrage inforn'a\iiie
din acest buffer, inainte d~ a executa orice operaţie asupra unui fhiN, oJler.l­
I le prin care această zon1\ este sU(lraserisă(iniţial "adresa ]);\IA" este I'gală
'ou 008011, adic1\ tocmai adrl'sa cir lll('r]lut a aCl'stui huffrr consoJii).

"

1.;) pnJ:;ZE\TAIIF..\ m iTI\ELO II CI'i 'l

l' RtiTI\ ,\ \l: Heill i!ializnr~ sist(,1lI CI' / ;\1


(~y~It' 1II JtI'Ht)

lntrilri:

rt'!liSlrlll C: OOH

Eiect: Întoarce controlul din programd utilizalor In CP(\I: acefl~til


funcţiI' are acelaşi efert l'a ".J~IP OOOOH",
-
Rel'lI\'.\
1: CitirI' rllrlH'll'r tit' In COJlsoI:i

(Coll~nl(' 11111111)

Intrllti:

rr!Ji~trul (:: fiiII


It'şiri:
rt'!JiS!rlll :\: ('udlll ullui caracter :\SClf

Efr.ct: pn'ia nn e Ur:l rt l' r d l' la c o nsolă şi-I transmite in registnl ., \".
şi in pllls <.: Cit > , < I.F> şi < liS> (eTIIL II)
Toat(' ('arncler('ll' til,:Irihilt.'
~Int lransmise in ~e"u In (,oll~olil. J)(' aS('Il1('Ill'a caracterul f.THl./I ('1': ,13)
mută ('ursorul in 1Il'1t\ătoarl'a p o ziţi e' <1,' laoulare. l{('stul d~ caractere IIcli ,lă- ' ,~
ribile IIU sint t ransmise În <,roll la ('OIlSO! [I. Hutina ,\.jll'aptă un lilll]l nrlim t ;\t ,,!
pină ci nd 5(' ta5teaz ii lIlI caracter In l',onsol:l. '

BUTI"" 2: ~erit'r4' ('urneler la cOllsoJ:i


(C"">,,lc Outplllj
Intrări: "

r('!]islrul c: 0:'11
I
I tl'!]istm\ E: (,olbll c:t\"I.f·!t'rlllui "SCII
!
!_ . _ - - - - - -----­ -_ ....•_-- - . I
r~rect: transmite la COIl50\:\ ~': Iract~rnl sr~c c i 'ril' ''! prin registrul "E".I
Caracterele "TAB" (CRTL/I) sint ('XPHI1l!;lle iar caracterul CTTIL/S ~ste ~

20
~-a.r., ,,,,,. _ _ ,,,-,,,~,:Ii.;,iL~· -~:w""' '''' --'''CI ''~'''~~~. 'Ii .~'lJW... ~'i;~.i.tJI,.:.-.~ , ~,-''''~ •.. , .... .;..., ~ ... ;";;.~ . .. -.l ~~'~_~""" ...

luh'l'l'retat dio('pt stup ddilul't'o Reluarea defilării, dupil CTRLjS se face cu


lII'k,' 10ar:JC'lrr difcrit d(' CTJlL/ C, carereiniţializează si~tt'mul CP;:\1.

In : TT~' A :1: Citin' caractrr de la · C\j,'pozilinll

"It!':!"er" currnl

(1I(·ader lupul)

lutrllri:

rr!lhlrul C: 031[

Il'şiri:
rl'!lj"lrlll A: codul unul l'aracter ASCIl
I
I_ _ _._ ... .__ __ ~
_ ~-----_._--

Ef,'('I: preia l!ll rar;lctt'r de li dispozitivul RDH: curent şi - l depune In


rt.gi~1 rul "A"o Hlifina aşlt'<lplă un timp uelimilat prC'luarea car;l clerullli de
In nOB:o o

II t'TJ:'\ 0\ ,,: S(~rierc cnracll'r In di"po:dti\'ul

"J'\I!lIoh" ellrelll

(1'IIul'h "\II put)

IlItrlld

rl,!,i ~ trlll C: 0111

rtO!li.' lrnl E: codul unIIi ('aracler ASCII


- - - - - - - -_00 _____ 00. _____- - - - J
E('cl: transmite la dispozitinll PUN: curent carnclel"JI specific~t rrin
n'gistl'lll ,:E"o

HUTINA ti: l'\('rirrl' cararler la di~l'ozili"\I1

.. J.i,t" cnrr.llt

(I.i~t Olltput)
Intrări:
rl'!listrul C: IJ511 o"'{;
i
r(;!li~trul E: codul ulIlIl earllcler ASCII
i
1
'o i
,- , i
Efl'Cl: Ir:lIIsmi te la
rrgistrlll "E" .
di~pozi Ii\ II 1
.
L ST: curcont caracterul specificat pri n

.. _._-------.----- - .._---------_ .. __ ._- -, I


HUTINA ei: Citirc/ Scri~Te II ir.,(· tii
(Direcl COlIsole 1/ 0.)
III cons"h1 II
Intrări: i
rC!1islrnl 4:: fiii H !
O!
J'('!lislrul E: - flFHr (penlru citire dl' la consolă)
- (:odul unui carnl'ler ASUr (p.~nlru scrierc ţ
la cOllsolă)
le~iri: rl'!lislrnl l\:codll.l IIl1l1i(,Rr:"'I!~ r ASCU'sau
MIel de stare
'--------_.

21
~}'."'!" "I .... ... ~_v.d""" "'''''4;'''''''1I1I.''''' ...:..tJ:...d:__.4 .u .. " ....L;i•."'.J..i.KZ_~

1-:1"('1: ila(;!i[ r:(I!li~lrul,.E" 't'SIC t'!lal CU ' 'OFFH, rituncÎ rulina realizează .
•ltlr,II (i:lră N'OU) , ÎI . uUlli'ral'aclH dr la ' eonsolă, R~gistrul ' " Au. \'aconţine . j
1111111 ";lractn\llui ASCll illtrodl!S S2 11 OOH, dacă nu s-a introdus . nici un
1II IIe l . , , . . · , . : " . , ' ,'" .. .1 :
nJ:li~'an~"a'; t;aptll n'e;'imitllt " introdl;c~r~a ' ' ~n\li
caracter
1;
de la ronsolii (t':'I Înt o<lrre imediat (A)=OOH. daCl\ in regi­

stlrl d,c interfaţă al consold nu exist[1 nlei .':IU caracter dis­

po libil), EstI' indicnt , l'u, utilizatorul s5 :i~tepte 'prin program

int 'odllcerea unIIi l'ar:lctt>r de ' la c'o nsolli, '

1\ isint a cti\'e in acest. caz. carac terele de ' edit'are aiI' sistl'­

:f. , • m lui: CPj t\I"(ex : DEL,d':\B;CTHL/R etc,).


I
lla('ă rt·!lislr';I .. E" (,onli"!' ('odul unui caraClcr ASCII, nllll/(,j rtllinn 1
'HllIr l' Il;:ils('rirr",lţ la (,ollsol:l a rllraetcrului r4'~preti\', ,,1 " ; 1'';;, ;
ti · , l\lItina li mi lrc buie S[I fie folosit ă împreună ('U alte rutin!' CI'!, ~I ! ca~ll .
'flllÎl r a ză intrări/Ieşiri CII consola (rlItiurle I.:.!. !l. 10 ~i 11). ,: : ,11:: .: ,
~~
Hl '~I\, ;\,7lC~lirt, o('h·t IOHYTE".' . J.:~~ ti{
\,
(1'1'11 / 0 Byll') " ,,, '; .

In f I'i: l ' .• '; , :1 1 .: -H: LI

,') , .rr!liSlrUI f:: U7l~ "


lo-ifil .
' ,i . ,

.;. ." . : ' . i , ."

" ' ~ I il 'j, ti l


L
,,.,':J.;""Ij.'lrul .\ ';.. \":llunr(,3 curt'nl:'i ;' ;l octetului IOJJYTE I'
1-'---------~----- ,

EÎeN; ('ile~lc la ) adf('~"


Qc tt: I\11 de I 1" IJl)tHH ~i îl plasează In I'(',l(i~t 1'111 "A",
. " .I !.

!-
,~-----_.
., : I J .. \ : ' . ' , , , ' 1 ; ., ~ I " •i

-------'
' ,: ., '! I . 1 : ' " > 1 . ' . . ', I 1. •
~,I: , . I~; · "

IIt:p:\ .\ H: \Iodiîil'arc ol>11'l IODYTE


i. '!I\ ,, (~rt 1/0 ' llytl') • )1 I .. : i: / . I ; 1" ;:, ~ ~ !'

)nlruri: "" 1, :' " / ... ;,;


I'cnislrul (;: uun : ' " t) I ·i:,
rl'!Jis lrul E: ,'alo arc pelllrll ol'letitl'; I'OHYTE
i : ;:! ~ ,' : :, ~ i .I :­

1
.. '?:-:-~~-":".~~-,,-,- ~,n- -~~ ',7
Efl'CI : s(',ric c" lllinullil I'r g islrului "E" la adresa OOO~-H , modificînd
IIsll " l ronfigurali
'- ' 1(
a d~ I/ E cur('lIl :l, . "
.' I .} I ,,:,., ' , , L ') , :: . . I ' . l ~ , ( ; : .-.. . I . \ ' i 1 ~. , ; , :
,
: l ',., 1: ~
, I . ' 1 " ; I ,: I
., j Uf

H1.JTI\;A lI; T ill:1rirc In t'Ollsol:'1 a uliul şir de cnrnClrr.~


;1. \ "" ., (l'rilit Siriug) " " " ', "" ,,' ', 1 r F I. l 1: 1
i l}. ) "{ I\o" , I) I '! I :, t t \
1ni r:lri:
. i li: I II!!
HUÎ!;trnl C: U!)U i 'l ;;~ : : •\ i i i ~ , .~ .;
l' ,"l'", "i , ;'registrr\r D &,E: , adrrslI ~irului l de 1 ,carnelt'rc
o. , :) II d : \ "q ) L ) ~:' I )I·!:,; :," i i;J:" 1:, , ·
.m.-~

l~frel: Up'ărrşte' Hr 'co lI~ol5 ' şlrut'dc ' CaI'i!ct(:rC' 'ASe II 1 a'drui adrl"s1î de
Im , pt:.l eSlc specificată in I'cg;btrele"D'&E", ' Tipărirea se tt'l'Ininii atunci
· i ...- . ~ . . ;~. . :.;,-<~.~ <............. _ i' :Jd....,.,-"" .......~r~~ l""~.~-4P "'f ",-~"", __

"11 Întilnit caracterul.,S·'. Rutina tnteazi: c:Il::lctere\e TAB (CTRL/I)


II', IlIul/ud curs(Jru\ in t:Î'miltoarca poziţiI' dd tnbulare. L:l fel ca in ru­
~, SI' fan' wrif!('arc pentru caraderll! crn~~/s (stop defilare).

IIl'TL\A 10: titil'e huff'~f ccnsolă I:.


(lh'ad C"",,ole DUii('l')ll
Jntr;1ri:
~Ii.' " .
rl'!listrul ' C: OA1I
rl'!Jislrl'!e ]) & 1~: udrl'~a buHcr
{ţ,

Ef('eI: n,lill<l III' flnit\' dlÎrea unei Ii'nii' introduse de la ('0115015 C\I transfe­
('on\inutuiili I'i intr-o zon:1 de memorie;) l'ill'~i adresă dt' inceput ('ste

II
in rr~istrrl,' .. D ,t E". _, ,
() lini(' editatf, la consolă se consideră ' tf'rminatii '1tund dnd s-a in­
earaclE'l'ul (CH) Sin: caracterul (LF) sau atunci ,cil\d s-a d('pă~it capa­
hUrr!'l'lliui ('onsolei ~1)('('ifi('lItă dl' utilizator In primul oell't diu hufil'f.
'Iduc,' ia hurt'erul n (,:'J'l:i a\lre:;ă t'ste dntii in rrgis'trrle "D <':: E'.' tlr­
('on\inul:
_. oell'lul UII = nlllluhul mllxilU dt· . tnrnCIl'l'c din IJllfft'rul conso)l'i
(ci, yalon ' intre '1 ~i ~i55); ncesl cimp eSle inilializat
, d(· (·Mrt· ulilizu\(lr InaÎnl,l'u apelului rnlind 10
rt "
OCl!~lul OI numărul de caractere inlroduse inlin;e (fără.<CH > şi
Ir' :
:=

.. <LF»
uctetii 1l:!-II' . =; carac't erele' din linia ' de ediUil<,(d.
ATll: , . Dacă . nl1l1lflrul de.. caraclere din linia de . edilare este mai
â:.. <:3..... tu) rl·
I

inic dedl nU1l1ărţll .Jn<1xim , de cal'act('re, d·i n buffel'. atuuci ţ,. I

dupil ulli,".!!' caracter cili'l' din linia' de '!'dilare (i.c. carac­ ,.


tl'l'nl •. cr"~ ' ~i pină la p,;zi \i<1 cor!'sl;unzăt{)~re ultimului ca- , ~ ,
ral't!'r posibil în buffCl', "or l'xisla (in bllffi.-i') o serie de {'o­
raCiNe fClrii sC'lliuifka\ie pentru utilizator (ele rcpn',inl5
r;'"
lin rest ucini\ializal din hUrr<'rld fonsolei). , , )
, ,' , , ln timpul introducerii dc la cqnsola li liniei sînt acti\'C. pentru ~
1):.. :
."., f'orcC\ii.' 'raradilrcfe de 'l'ditare ale sistemului Cr( \l:

IIrJlOl·T/DEL. .,.. şterge


din hufferul de intrare şi . redă in
it
-. )
, ': . . ee-ou ull;{nul ' 'caracter intn)dus de la ~+f,
,. ' . , cOllsolfl' ' . :'. I"t'
tJ..
eTIII./C; ,'--' reincărcarea sistemului' dc'operarc " ' w·
- ... I, _...
I (:TnYE, . , . ,:: lndică sr;rliitulJizi~ a1junei linii; cursorul
'. " : 5C "o,iliol\l'ază lit, incepu lui liniei dar
ti.:
!tI{',! - i. · linia ' nu' se transmite decit atunci cînd k'
t, I ,
'se tastează <CR) rf'
tr
r
;r r . : ! .. . .

CTHLllI " __ introduceiin Luffcrul de intrare un ca­


o

. . racter ;,back space" care are ca efect


':/) .,f: '': ;! '' :; ,;,; ', , : intcnrcel'ea ,· cursorului . pe . ecran cu o
·; J;,,')l!': . ),: ;~ " r .. L'Jr;;:ir ~p07.iţic r ,/~: '. L , 1 '. •. ". ,. ' ;'i; '"1,' ro '" j. !'~ ~:~ "
ti, .
:23 ~\,

.
i" l
~.1""
ti!
,
!'
b
?
~ ., """ , .- . _••. Jk_ ""'*1\
. ........

·i,
;~
ţTItL/J l'slt' echivlllc'nt IIl1l'i caracler<LF>~i
1'l'llI'el,intl\ sfir~jtul UIII,j linii
l' C1'IIV11 est!' ' celri\'a!.'/Ii ullui carucl(' !' < f.H> şi
r('pn'zinlii sfirşilul IIll1'i linii
I ~
, '(TlIL/ R lipăreşte la consolă pc, linia imediat
,j, Itrln1,tO<lre ('on\inlliul C'lIrt'nl ;,1 bllrrt'rllllli
II
"II "1
ot' intrare, Pri'n acrsl caral'ler se poale
. ~ "II
\'izl\ 'IIi;(a '.: onii/lllllll Cllrl'nt al IIIll'i linii
;ii' in I'me s-au dedlwl ('!) re CI ii prin
m;BOUT (j)EL)
CTULjt : ş\t'rgc inlegr<11 linia inlrodusll de la con-
sol·ii '
tTlCI./ X identic cu CTHLjV

l' Hl'l'IX.\ 11: Citiri' sture ('onsoIli (fi!'t COllsolr StatI!';)


Intrări: ,1

rt'gislful C: OIUI
It'~iri :
rl'!lislrul :\: stare C'on"olll

------
1::11.'1": rutina wrirică dad'i s-u introdus 1111 cnracler d(' la consolă sau
1111. Dad. in rl'gislrul de inlerfll\ă al consolei exislă lin cnractcr di~ponibil,
alllnci rlliinn iulonrce in regislrul ,./\." valoare:, OFFII. In C:IZ contrar, in
I'~gisl rul ,..\" SI' ,'a ana \'aloarea OOB.

Ul'TIX:\ 12: Chin' \'I'.tsillne sis1l'1II


(1I1, turn Y I'rsion l\' umber)
lntrilri:
rt'!lbtrul C: OCH
1
I Ieşiri:

i
\
re!Ji,trl'le 11& L: uUllliir de \'('l'sJUI\('
---------------
Erl'l·t: rutina intoarce in r('gistrele "H &. L" o valoare egală cu numllrul

eli' \'ersiull: ni sistt'mului CPj:\1 sub care se lucrează, respectiv (H)=OOH iar

0_1 "= I\umiirul de \ rrsiulw (t'x: 221! pentru versiunea 2.2).

Jll'TlXA 13: IlIilbli'l.ure stare slsl('m diseuri


(Besl'l Disk System)
Intr;lri:
r"glsfruI C: OUH

E(('('I: rutina ell'z;,clivea1.ii logie toate unil1iţile de disc, (le aC<Jrdll atrI­

blliui IV\\'), asignează ca elisc selectat unitatea "A" şi s.t~bileşte ca "adresll

u
"'_·'_ ' ~" - _ "''''' '''''''I~'' _______ ............_
Iw.-- '''' . ' ' ''' '''''''' . ''·'''<lli'''''''''''~",*,'''' :"'''I1I:"Q,oW!''''''''''''' .... ~ .. _ ....
--.,

" adresa OOSOH. Rutina poate fi folositA atunci cind o aplicaţie nece­
il

.chimbări de volume disc fără a se reiniţializa sistemul CP/M (prin CTRL/ e)

Jll'TIl\' A 11: Srll'ctarc disc


(Srleet Disk)
Jntrilri:
rrgistrlll C: OEH
rl"glstrul E: număr unitate s~leet8tl\

Efel't: rutina desenlncază unitatea specifiratA in registrul "Eu ca "disc


at", Numărul unităţii de disc se specifică prin valorile: OOH pentru
nlea _ "A", 0111 pcntru unitatea "B", ... , OFH pl'ntru unitatea "P", In
('xeeu\iri rulinri. urdtateR specificată În registrul "E" este trecută In
.. acliv·· (di~r aeti,,) care Încarell "directorul" \'o)'\Imului respecti\'; uni­
l~mÎnl' in această stare pină la o noul\ iniţializare sau reinitializare a
IIlui Cl'/ ~1 sali piniI la o riouă operaţie de ..ini\ializare stare sistem dis­
(rutina 1;~). IlR(':'\ In timp f'(' (1 unitate I'stc "activă" se fac sehimhllri
1111111' disc, atuu~i autolllat lIuitatl'n I'ste dl's(~lIlnată de eătrc sistrlll ca
(\'I'1.i ~i rutiull :!R).
1 -: nV,\ŢIE: To.. le FCB-ulile care au primul octet egal cu OOH se referă
illlplicit la fi~iere l'ar!! se găsesc pe discul selectat.

IWTIN Al,,: IJl's('hitll'rl' fi~il'f (Open File)


Intrări:
rt,!,istful c: OFII
rl'!Jistrl"ll" D.'( E: adresa FeB
Ieşiri
fl"gistrul A: octet de stare

Ef"ct: rutina realizează acth-a reu ullui fişier care se găseşte in "di­
" orul" discull~i specific:-tt priil fld<'lul Of) din Fen şi care aparline utili­
-ului curent. Adresa 1-'C13-lIlui fi)ierll!ui de deschis esle dată prin registrele
& F.", -
Programul 1-'DOS caut~l În dircl'lorul discului specificat o intrare iden­
"11 "aloarca octetilor 1 - -·12 din FCB.

EIl'-ATIE: In FeB ocll'\ii 1:! :;i :\2 In'huie s('la\i de călrc 1·llili7.ator pc
0011, inainll'a alll'luh!Î rulinl'Î l~ .
nacii progl'[llnlll FDOS g~s(')ll' o aslfl'1 dl~ inlrare, atunci informa\iilE'"
_. director·' corrspllllz~toare ci sint copia!c in o r. leţii·15 -:lI din FCB, ])1'\'­
Îndu-se astfel accesul la fi)ier peulrll "pera(ii ullerioare d(' c.it.irl'/scrit're.
I\utina Înl f.l :lrl'c În registrul "A" o \,doare O -- :~, d:-tcii 0pcr:\ţia de Ul'S­
re s-a CÎcr!ual. wrect ~i o v:lloare ('gală cu 2 ~5 (OFF!!), dacă ace:-tst:l
r ş ual.

II\' "TIE: P rr'grallH,lflful IlU trehuie S oi efectueze operatii asupra IInui


. ',,- ,. . ~~ :!'-!~~ ~~ ~. ~ ~~~)j~al corect deschiderea sa.

2&


,
.',
.. EXistăPDsf:hilillllt'a .ca in cndl'lll . ren-ului, î.l1octelii 1 ~11sl'l lIpurl!
uh sfleCm('a~ol'-I,unipl\\ ' de . fi~ic<r, adidi s~; aparll ' cll-radt·re·.. ?'j (CU1:(" htlo,
n!iesc Dricr ('an~t,lf'r In PD7,itia r('speclldi), In aCf'st . C!lZ, prDgramul FDOS
caulă in ,,(lirt'dor" prima inlrare ean' corespunde speeificntorulni-lIluItipln
,le fişier din j;SB, . . . .
Il
I I

' !~
OlhEII\' ATIE: hhc{( fişierul tI('schis 'pi-in aCl'jst n rnUn:t urmează Sr\ fie ex­
. )lloalat srcwlI(ial, incepind cu primul ':~rf(t articol, atunri
tilizutorul tr"huir să , S('t('7,C Dcletul 32 tiin FCB pc (JOII
;. ~p('ltlru ca prima citire/ scri('re sf\ se aplice asupra prill\ri
. '\I't'gislrări <ii n fişi!'!'), '
- -.---1- - --'- --'­
~! . 1I1T1.\',\ !Ii.: ;In~hlder:: I1~ler ., , ': .. ~ ~ .' . ' , :

. ;" , , «(Juse d"le)


I~til'1:
,:: '.
'rl'!li~lrlll.C: Ion' . -o; .
,. 1'"
r(' !li~ln'JI' n ,Ii; E: . ndresn }<~Cl1 '
.'Jt.~irl,; ,.'..
rt'!li~lrlil A: II<'IeI dl' .:;(are

" ------_-----.:...._.....- - ---'----_.- '­


• Ell'cl: rul Ia
l'l'alizl'ază I'('\ersul rut inelor 1 j (OPEN) şi :.!2 (\IAKE),
,\st \('1, prt'SuplH nd câ FCB-ul a eiinli nclrrst" ('sic specificatII in rf'!!:istJ'l'l('
.,D .'\ E" a fosl. : t'lh,:;t anteriDr printr-o rutinfl tip "deschidere ri~ier" (rulina
I?! "au t!c " ne:\, " fi~ier" (rHtina ,~~), rulina ~Ir .. Iltc~lÎde. r~, f!şiel''' illreg,istrenză
!'Cll-lIl r un'nt r 1 "dlJ:f'rLorul " (i1scUllll ~' )l.(·('lrlcal. acluallzlnu aslfr! Intrarea
tiin .. tlircc' "1''' rOI'l 's)lunz :l toare rişil'ru \ ui r<,sp('('li\-:
HulÎlt:l IlIluar('(' III I'(' g i;lrul ".\" () \'alo"r(' "gală Cll Q ·-3'tlacă operaţia
tic Illl'hid('H' s-a (lt,~r~~Hrat eoreclsall () \':,loalc ('g:olii ,w 255 (OFFII) . da(' [1
nlll.,(·lr fi~il' '' ;jlui dill FCn 1111 a ros t g[lsit ill "tlin:,:tol",
1I1chid"rca fişil'l'elor ('are au (ost n:ploal' al (' doar in citire eslI! op\iOllală ,
:\uIII<li iişirl'('le il) rare s-au efe('t ual opcra\iile de sC i' i('re trebuie illl'hisr ()l('lItru
a ' Idunliza In ,.~Iirf'dor· ' inrol'lllal,ii\e ref('ritoal'~ 1,1 a('cl e fişien'J,
Iladt ili FCB-lIl ~işil'rului de inchis apare UII specificator lI1ultiplu (Î,e,
car"d(,rc ,, ?"), atunl'Î rulina \'a d(' clua c[lut.arca Î Jl . " uil'ector" a)a cum face
I\ltina 15,
- - - - _!.-_ ._ - - -------­
II L:TI:\A 1 i: Caulă tn "dirrelur" Ilrilllll intrnrll

. (Seardl for Firs()

Inlrllri:
r('[Ji,;tI'1I1 e: 1111 '.
rr!Ji~tJ'('I(' n.'\: E: adr(,~1\ FCU
h;id: .
r('gislruI' A: octet de stare, .' . :.
-' - --
\.
-~-.~----..."..

Ef('c(: mtinn"cauti.l in " dircctDr" prim a inlrare care , cor"spullue vulo­


ril(,, ' octePlo r Q -12 din FCB- ul n ('ărui atlrf's[\ este dal!l}n rcgistrl'k ;.J) .& E",
]{lItina iutoarcc În n 'gist1'ul " A" \' a loar~a 255 (Qf-TII) d ucă Illl a gllsil o nslfcl
de iulrare snu, D' valoarecoprinsă intre O-3 dacă a găsit-o .. Dacă in "dircclo1'''

26
i~

speCifitUlOl'lIIJfjŞ;{'l'lllui
.)'
g(,situ o il'tt ral'l' idenlic-li" cu din FeR, Iltillll'l
{~'.
1IH'lllol'ir a <'ill'('i u<ll'('slf este' ;,atl"l'esa fnl/\" va
fi ('ompletlltA ('II o

rarI' d(' "din'dor" (12H oc1eţi). şi.'annme':'rt (l('ra inregistrarI' din .. cJi­
.' ~

, 1'_:I1:(~ ('on!im' inll'lll'ru n'spr~li\'i\, . ..\drr.s.u r htli\'ll :1 intr.-,rii, in radr~1


'"
Ir:,rI, !It' " Ii'rl'dor", rstl' I'gala cu (:\) ;\.2. (1\11, {'on\lnlll de l'I'glsll'll .. A'

~I"\' sting:1 1'11 :i hi,P sau ",\DIJ,A" (\1: ~ ori), (Irogralllrlc OI' ar,lil'a\ii pol
Il", jll' h:1Za :H'I'sll'l adresl' rl'bt I\'e. din hllrrel'lIl ca\'I' ron t,llIl' Inl'rglsl ru­
,t.' "l/in'('\nr", illful'lna\iilt, din " dirertor" rc1ati~',"\a inlnll'ea grlsit:" • Il .
,~ ~'
/):,1':\ FCB-Il\ !'fln\in(' 1111 spl'cirkator-mliHirln (i,r, apar Garue!,' n' ,,'?"
\ii\(' 1 , 12), alund rulina Înloarcc J>Hl\IA 'inlrare din "dir!'!'l"r" care
"1' spe!'ifi(,:lturili, Dan'l oe!rlul 00 din I'"CA conţine ca ra ci l'I'ul .. ?",
I rntina Îi1tllan'(' IIlIlolI'ml Iirilll:l Intru!'!' tiin "dit'r('(orul" ,fiscului s('lct:tat
l'I ' nt !Il' lIuiniir11i u(ilizat'o\'ului ('flrÎl'ia ii aparţine inlrarea rrsIwr.l'ivă,
Ilt dl', rUlI\Îl1U,tlil :\(:estri intrări ~,;i indifnrnt dacă inlr:'l\'t!<I I'slc' ~lr:" rsă
~:
. ~.:
,.r .,'
IWTI:\'\ IIf~, (;aulil iti
,;djrcetor" următoarea iaitrarc
;$,
(Seareh for :\'exI) ~~i ~.
~t.iif
11I1r:lri: ' jJ
r"!Jislrlll C: 1:!11 "'ţ,
ll'~iri : ' ..­ .:'"
rl'!/islrul A: oClet:de stare 1~~
~'~~:

aCl'<lsl ii ru tinii <,stI' si mil:lI'ă ruti nei 17 eli cxcep! i a rap t ului că
lond" disl'u\lIi speciril'al IIU se ill\' eslighează de la Îllcr[liitul sau (ca in
I'c\ela1te rtlline), ci SI' caul[1 illl.rarl'a coresputlzălonre FeR-ului ince­
!Il' la ult.illla intrare din "elirrl'lor" găsită.

[{lIliua inl.oilrce 111 rl'gislrlll "A" (ca ~i rulina 17), valoarea ~5~ (OFFH),

se mui gflseşte În "dir!'clor" nici o inlrare identică cu FeB-ul speci­


r·"
l
L~
~ ;:-l;~
i~
, '~

._
,I
­ I

r~l'
H UTI N A ll): ~'rr!li'rl' iişiel' (I)rll'fe FiII')
Intl'ări:
1','!/iS..P'1I1 C: Iau !'1',"
re!/istn'le 1) &]~: a'dresa reu
' 1' ,'şil'Î : !~i~·.
Ij~,
',' I'C!/iSll'ltl A: octet de sl:lrc ,,\
tI"
, , t\o,,,~ 1­
Efl'(',I;: ru ti 1'1:1 realj;.~(·azii şll'l'gl'l'l':1 ulluia sau \Ilai 1i1:I!IOI:' [i~il'n', ,~peci­

l' prin 1'Cn~1I1 a c:II'lIÎ adr('sii ('slc !Ial'. in n' g islre\e ,. D & E a, FCU-ul poate
«
f ,-'
linc \III, spl:dficalor-iudh'idual ' lll, ri~ier sau un specificator-mulliplu de

(pot, apare earacl.rrc .. ?" in zona elI' IIHIIII\ ~<lU de ('xtcnsir II ri~iertlllli,

-·â
1111 ~i in ,1:C11I:\ 1'1'1111'11. nlllll\'le : IIniliilii de disl\ pr c:trc se g[lsc~tc fi~it,rtll _.. "~.
1'1111\ se , HUlI':' În- l'ulÎnele 17 şi 1g), .. ,
Hiilina '1I1tOlIIT<\ În regislrul "A" ,,:tloarea 255 (OFF11). dacă fi~il'l'ul;ri­
s'pl'l'ificalc În FCU IIU au fosl găsite, ' şi o yulo[Jl'e 0-:3, dac[1 operaţia
,tcrgere s-a dcctuat normal.

27
R A 20: Citire sec\'eDfiali1
(Rtad Sequentinl) '
In'r~ri: ,
l'
rruislru) {;: 11,1[
II,
" r~gis 1 rrll' n &. E: adres II. FCB
I ,I
Ie,.j~\.:
r('lJistrn1 A: oNel d" stare

EfeN: presupunînd că FeB-ul a cărui adresă est'~ sp~cifleRtl III 11'NI~II', ' h'
..O & E" a fost activat printr-o rutină tie "deschidere fişit!r" (rutlllll 11\) 111111
de .. creare fişier"(rutina 22), rutina "citire secve'nţiall\" realizeRI,i\ dllrt'l\ .'111
, fişier a urmiiloarrÎ. inrl'gislrllrl de 128 de octeti şi transferarea 'ei III IIUIIIIU1'h'.
Intr-o zonă a cărei ndresă este "nd resn DMA" . Numărul inrcglstr/l"1I din 1'11I1rlli
"extensiei logice" currntc rslr sp<,c,j(jrnl prin oc-Ieful 32 din FeB. 1>111'1\ ('I"I'~,
\'aloar 'e~ ~crstui oc('1 ,'a fi aulomat incr(,lIl('nlnlli cu 1. Dael'l \'lIlulI.'('1I .'(1.
7,lIl1a({tin orldul :12 d e pă ş('~Il' 1:!7 (iFII) ;lIl1ncÎ, automat, urm'ttollr('1\ ,.r~.
r.
Irnsi" logică " a fi:)il'rtJ!lIi I'sll' dl'sl'hbă ~i ol'lr[lIl :12 in valoare:t 001 rllllrI
"slfrl pn;giilil Pl'lltru llrmftloarl'<! operaţiI' de citire. Dacă oper.tlia dl' dt!rl'
s-a ('k!'luat Ilormal, alunci r!'gisl rui " ,-\,' ya a"ca yaloarea OOH; in ('111. rUII·
, trar. ;,dic1t atllncÎ cind nUlHai t'XiSt[1 dal(' in fişirr (s-a atins sfîrşitul ri~i('rulllll).
rl'gisl mi "A" ,:1 :lyea o \'aloare diferil:t de QOH.

Itt;T/\'A 21: Sl'riNI' sf'l'\,(,lI!ialll


(\\'ri((' Sl'cllll'ntinl)
[ntr:lri:
r~lIb(rul t:~ Iăll
rl'gis.rrle lJ {( E udresa Ft:B
1f'şiri:
rrgistrul A: ocll't dc slare

Efef·t: presupunind că FCB-ul a clinti adrrsă este speci~icală in regi­


~tr.rlr .. O & E" a fost activat prin! r-o opl'ra(ie dl~ "deschide!'! fişil'r" (rutina
15) sau "crellre fişier" (rutina 22) :lnlerioară. l'1llina "scriere sel:\'c,n(ialii" rea­
lize!lz:, sericf(,a In fi ,5 irr a un('i lnregistrftr; de 12,~ de oeteţi. Inrtgistrarl'a de
scris este luală din ml'lnorie. dc' la o ;l(lrr .~;1 ega\:i CII .. 8dresa D:lI:\" şi (Os te
plasa!;t in fişier in poziţi:t (tată de valoarea octetului 32 din FCI3 (/lulnărul
Inregislr:rrii in (',adrul "exll'ns;!'; logice" ('lll'rlltr". l)upii scrierea inrtgistrării
In fişi,'r, conţinutul odetului :~2 din FCB ('sIt' automal incrementat cu \.
ll~cii in urma incrementării rezullă Il drpăşire (o valonr{' mai mare de 127
(i,r. 71,' 11») al unri, aulomat. ('str drschisă nrmfiloan'n " exten,il' logică" a
[i~icrului şi oell'lul :~2 din FCB este iniţializat. CII 001-1. În \'ederl'a \lnor ope­
ruţii de scriere ulterionrr. Operaţia dt' "sl'riere seC\'rn\ia.ft" poate avea loc
~i in qdrul unor fi~ierc dt' ja create corrc!. caz i'n. cart' Înrellistrările ce se scriu
IC \'01' suprapllne pt'ste crle exislente. praclic inlot'uindll-Ie pe ('cle "l'chi .
Hudna intoaree in t'('gistl'ul ...'\" yal(l:!l'ea OOH daeil opera,\ia de scrirrr
II <leCUl'S normal sali o "aloar(' diC'ritil de 0011. da('ll "pC'ra\ia dc scrirre a eşuat
tlntorilă lipsei de spaţiu pe disc. '
I! .. .. H . .. ~~ ~ . ~ . .. , !.:;.\O .~ _ . _. ~ ~"OlJIA~~.iO~'ti.;I-lo"""~," Au.:....tI~~'o:I""""" · .' ' ••' 7. ' _) ' ...;&ett

It
"
HrTl~A 22: Cr('ure fişier
(:\lnkl1 Filt·)
Intrări:
rt.'gistrul C: tliU
re!Jistr"le D & E: adrt'sa FCB
Ieşiri:
rt'gistrul A: octet de ~tnre

Ei~ct: rutin:! are at:~I!lşi efect ca şi rutina ..deschidere fişier" (rutinn 15),
pţia faptului eli in ;lcet cuz, FeH-ul trehuie 511 conţină numele unui
,'arI' nu I'xlsli\ III "directorul" dlseulul sp<,eilleut.
Programul FI>OS c('(!l!uză inlrurt.'a din "din·etor" corespunzătoare reD­
şi ini\illlizeazli atit FCB-ul cit şi .. directorul" disctJlui. [or\Înd lungimeu
lui pe O.
VAŢIE: Programul trebuie !iă e\'Île duplicarea . num elor fişierelor
in "director", respectiv trebuie să se asigure că in "director"
nu t'xistfl lin alt fişi('r cu nume identic cu cel al fişie r ului de
creat. In a cest scop, este indicat ca .1'1 să cfectuc:le :lnrerior
rutinei 22 o operaţ i e de "ş tergere fişier " (rutina 19).
22 intoarce in r('gistrul "A" cj ""Ioare O -:1 dacă operaţia S-ll
rat normal sau o vuloare 2~5 (OFFB) dacă IIU mai există 'spaţiu in
discului . Hulina 22 are ca efect· secund a r şi activ:lrea FCD · ului,
lIe cesaril o operal,i(' ulterioar:l de " deschidere fişier".
...

HI:'1'I:\ ,\ 2:\: S('himhare IIUl\le fi~ier


(HI'J1Ullle Fift')
Intrări:
re!JiSlrul C: 1711
rl'!Jistrt·lt, .)) & E: adrl'su !len
Ieşiri:
registrul A: oct('t de stare

rutina realizellză schimhare a lIumelui unui fişier. Rutina utili­


F<:13-ul ndresat prin f('gistrt'le "D & E " astfel:
primii 16 oCl e ţi din FCR r('pn'zintă numele \cclli al fişierului
ullimii 10 octeţi din FeB rcpJ'('zint5 Ilum ele nou al fişierului
octetul 00 din FCB f{'Jln'zintă n\lmele IIllil1i\ii pc ('are se găseşte
fişierul de redenumit (octetul Iti din FeB treLuie să fie OOH).
Rutina intoarce in registrul ,.A" o valoare 0-3 dac1l operaţia s-u. des­
normal sau . \'fj l"lIf1Oa 255 (OFFH) d a că nu s-a gllsit in "directorlll"
speci[) c-"~Ull l1şier cu
nume identic ·CÎI 'c el al fişierului de redenumit.

29 ;
'~

I.
'.
.J
J,1tl)T\':\
.
'1 '
Jllll':iri:

____
....;---7"'"-'--'
:!~: (il irI' "('('lm: tit- ulllt"II·dl~(' 1It'lh'('
(B('lurn !.(lU-in "l'('lor)
. , ,, ,

, 1,
, , f('!tislnll C: IllII \.
~l'silÎ:
~' r('!llslrt'l~ 1[ '" 1, \'('('101"111 d~ UJlllllp-(!I.;c 111'11\'1'

,
Ef('('I: 1"l(lilla "mdizeH/ii rall' din unitălilt, <l\. disc \ _.p ('stI' .,al'tid",
rl'spt'rlh raft' ~Iill al'l'slt' ulIll~\i a rost adi,'alii:
-, ('xpli II printr-o rrtillii d~ .. s\'!rctare disr" (rulinn 11)
illlpii .il plinlr-" 0IH 'r.,\Il' tiI' dc~\'hid('l'e / l'l't'(\re l'i~it'I'(I'U \altluTl' dil\'rllt'
Iii' llll:'l In .H'It'lul n\\ din FUI). . ' .
I'elll ni ifl\ill,\ilc tit' dis(' ndi"c. I'ulina lnlo<ll'ce o "alunre, logicII ,,1 ".
i;tr'prnlrn ct'l." (' :II'!' nil ~Î111 adi\'c o valoare logidi "O". Bitul DO din
I'I'~i~lrll/ "L" , rt'JlI'('zintli slan'(\unit'ăţii "A". iai' bitlll ' Jl7 din I'rgistrul .:ll "
l't'prrzinl'l st:lrt'a unită!ii .. 1''' , .\sU(·!. prin registl'rle "H&1." (rrsp\·cth·, B ..\i:I\)
rlll.in;t jnl\'afT~ 111\ \'(~tI()r C~ indidi slurl'it tuturor ullitft\ilo l: A -:;-1'.
-:

1 ,t'TI~ ,\ 2:i: Cilire f1111l1i!;r di"t· ~,,'II'I'~aL

-1 II ,' . (H"(lIrll , Currcnl Ilisl,)

lklll un: ,

I I~~~iri
L :
I'I'!Jj,' lrnI C: 19H

I r rt'ţJi"lfll/ .\: nUIII:hlll dis(,I~ lui sel('t·tuL


,- ---------------'- ,- -----, .
Ef('('I: rutina Îl\toarCt~ in registrul " A " llumăru! "discului selectat".
A ...·sl 1I11111iiresic 0011 prntru unitalea "A" şi . .. 0l'1I prnlru unit:ltca ..p",
1
Ii.LTIX.\ 21;: :\Iodirit'are ..adresa U\l ,\"
(SI'! IHL\ Address)
Intriiri:
\'('ui~ll'nl C: lAII
relJi"lreh' 1) 8: E: ndl'e"a ))1\IA

l~ft't' I: futinu pcrmilr lIlodil'it':,ren " adrcs\'i Di\IA ". adid\ :\ :ltln'sci huf­
frll,lui CI' 128 lc!r\i lolt ~i\i in ql' la\iil{' de cili;r / ~rr:t'lC ri~;l'l\', III 1i'_'ller:I/,
"adl('sn D\IA" stabilil ă la inil,;al iznlra (1'/M,!:\ reilli\ializnrea CPj ill precllm
~ i <lupii o opewh' (\1' .. ini(inlizarr slare sislem discllri" (rulina 13). rslr adn's:I
001-1111. Hulin:l rrl'lililc ('omulart'a ;,ecsl ei adrl'sc pc ' ori\'~ nilii adrl'sr, (dală
În l('gistj'~II' , ,,0'-;: E "), ,pl'nlli\illd ,'slrel localizarra buffern\lIi <le 12X de oc­
te! i in ori,'\' zoni"1 tie mt·l\Iori\'. , ,
, Hlltin1\ slahill'şlt> .,adrrsa D:\1.\" ca fiind ~gnlă 'CII atlrl>~n spccifirnlă
in r"gbl rei\' "D.\ E". Noua ,'aloan' Jlentru "adresn D1\1A" esle \'ulabilă !lifti"1 fa:
o inidulizlll'c sun 'rl'iniţializare li siste;null1i CP/M
UII :111 ap('l :11 rutinei 26 . 1. "

o o!J<'nl\i" c]l' "iiliţia1izarc st~re sistrm ,dh~c ,lIri" (rutina 1:3)

;fi,
IWTI:'\A 27: Citire : IHln'sa \et'l~r 111' aluca,re,
(Get ADDH (1\1101' )) ,
Intrild: ,It
rl'!Ji"lrnl (;: I Bll.;.:' ',!,

I l'~il"i :
rl'lJbtrcle 11& L: adresa \'t'('torullli de .lIlul'ure
----------~ ,

EfN't: l'utin:1 Îuloarc(' ill r\!gistrt·ll' "U & L" adresa wctorului de alocare
i,il r!is<'ului se]{>ctal. Sist~mul Cl'/~l pi\strează lnnwmorie, pentru fie­
unital!' ,.actidi:', tlll wdor de aloearc. Acest \"('dor poate fi folosit pentPI
ermijla dillll'nsiilllca Spa\illllli-disl; ri3lnas lilH'r pl' un \"olii·ni(\'ezic'o~,
. trullzitr;ric S·L\T). . . ' ,
. ,,: ., .. ~

Infonlla\iile euprinse ill \'edorul de ulm'arc asoeiat I1n!'i


iiiJiHtl,i de disc '· earc' a fosL deselllmlla ca H j O de către
CP!~! (ÎII urma schimbării l1ul1i volum disc fără illi\iali­
..,7.urca sislemului Ctii"l sali fără o overll\ie de .. inil)ali­
. 'zarl' st"are sistem discuri" (rutina I:\}) pol fi fabl'.

!Il'TIN ;\ 2U: Selarr :ttrihul n/o prlilrn " unltaie dr disc


(\\"rile I'rolrl,t Disl.)
[ntnlri :
re!listrul C: I CII

J·: rl'ct: rulina dcs.!'llIneuză temporar di"tlll srleclnl ca disc II/O. Oriel'.
hlcl'rrare de srrit' n' pe <1('('1 disr. pînă la o inqi :dizarr ~all rcilli\inlizart! a ~iste­
1II11111i CP/M sal'l pină 1:1 () i'lll"ra\il' !It' .Jnil,i:i1iz:II'I' slare s'istl'lI\ ' discuri" (r utina
1:1), va proulI("(' mesajtll: .
IIDOS EIIH 1111 d:II/0 '"

IILTI:\;\ :!!): Citire \l'dOI" de unit:'ili It/ O,


(Gel Head / Onl~' \"et"tor) 'f­

Inlrări:
re!lbtrul C: IDII
I t·~iri:
rcuiSlrt'IC 11&1.: re('lorul de unil:'Ili Il/O

Eft'el: rutina Întoarce În J"t·gistn·I(" .. H&L" 1111 Vl'ctOl" . ee indică unÎtă­

II.le de disc care silit desemnate en H,'O În acel moment. Bitlll BO din re­

ilrul "L" corespunde unităţii ",\'4. im bitul 117 din registnl! "II" eon'spundc

Itfl\ii ' .Y·'. O "aluarr logică ,, 1" illdil-ii f"pllll rii unitatea respcdi\'ă este

,/0. .

31 ,
disc de\": ne R/O dupll' \III " ',,' .,
schim b,trii, \'0 lLli disc din ~('CII lIullAl1! (.'M\,mll'
semne<llă aII unitatea respt>di\'11 CII 1\/U),

Htil'lX A :.10: Modifi~IHe Iltrlbul. Ilfl..


\ 1, (Sel FiI~ .\ 1t1'Ihut~lI)
lni,,\ri:
rt'\/islrul C: lF.H
n & E: adresa }"CII'
rt'!/i~lrt'l('
leJţi:
rt'!fislrlll A: octet de starII

Efect: ";:tiJt ;~rmilt'-;-;Odi;i(~ :trea


nI rihutelor BIQ ~iSYS
III, IIn\ll "
şier specificat In FCB-ul a cărui atlres1\ ' este dată In registl'ele "D.\ E", I CD.,,1
trebuie să ('onţiilă lIU specifil'(llor--individual de fişier. Noile ntrlb\It;, ' ,1,
li.
~iel'ldui se specifică prin:

- bit ul B~
dill octetul, O~) din FeB (.1" reprez!Df.A fişier protejat III
scrierI" (H/O»
bitlll B~din o('telul 10 din FeB (,.1" reprelir.tă fişier in\'Ldbll (SYS)
,Rutinu caufă ,III .. direl'to,r'; o, intra~'e c,nrl' ?ore:;puade, oete1ilo.r 1 -11
I:CB; ,compa!\~ţla se face I~nol'llld "alor,de IJlţllor B7 d"n oct~ţll 1 -1,1
I'CB ŞI din ,~\.lIrt'dor", I}nca o astfd de lIltrare I"~te gilsltă rvtlna modl­
[idi ('OreSpldlzălti\- inl rarca din "director" coresp"nzăto,lft·, Huţina Intoarce
in n'~istrlll ,..\" u valoare 0-3 pentru t::(lzu! ia carr, ojlN!lţia S-1\ desfăşural
('(,rel'! S1lU n \'alourc egalil 1'11 255 (CFFH) pentru ('azu1 in eare nil a fost
găsit;1 'o astf..I <it' int rart',
-------:î-­
I JlLTIX,\ 31: Ulire udreslt .. bloc de pllralllNrI disc"
(fi.·, AIllHt (Digk l'arUls»
Intrilri:
t('!Jistrul C: IFli
Ip',~iri :
rp(ji~lrcle H & L: Ildrt'SII blocului de parametri 1'1.1 discului

Efeet: TlItina Întoarce in I'l'gistl'ele "H &L" adresa "blocului de para­


metri ai disculni", bloc can' ('sIc rezident in BIOS, Această udrcs1\ ' poate fi
'folosit ă:
penl ru (1 exlrage tiin zolla respectivă inrorma' ţii privind IlIlTl\Ulelrii
disc ului (informaţii llCCeSarl' pentru a fi afişate sau pentru a se re­
aliza, pe baza lor, caklll~)
penll'u a modifica, prin program, parame~ri( discului; dt Ilbleel
prll(jrtlmele de llpli~alil IIU folosesc rutine 31 ln acest scop.
RCft\.-\ 32: Citlre/~lodlficare num~r utilizator curent
(S~t ! Get l1s~rCod(l)
IntrAri: !I

r(>fll~
i C : 90H
. tr.u - ,fi

:h
re!li~trul F.: --OFFII (pt'ntru citlrt număr utiliza~or
curent.) ,
numArul udlÎ1:atorlllul eur~nt (pent.ru mo­
diri('area numArului utilizatorului curent)
ll!'~lri :

registrul A: numărul ut!lizntorillul currnt , (dacl (E) =-'

- OFFli) MU nici o "/lloare (daei\ (E) "" UFFH)

Efect: rutina permite citirea numilrului utilizatorului curent (dacii


OFFH) şi Intoarcerea acestui număr in registrul "A" sau modificarea
li utilizatorului curent, In funcţie de valoarea curentă a registrului
(modulo 16), :\umărnl utilizatorului curent variază int.re OOH şi OFH . .-,
In JTIXA 3:1: Cilirl' directă

'(Hl'ad .!Iandom)

Intriiri:

lI'gistnd C: 21 H

f('!Iistrl'le n & E: adresa FeB

Ieşiri:
rt'!Iistrul A: octet de stare "

F.feet: rutina este sindlară rutinei ..citire sec"e'nţiaIă" (rutina 20) cu

ia faptului că nu Se eilr,şle din fişier inregistrarea de 128 de ocleţi cu

I specificat In oclelul 32 din FeR. ci inregistrarea al carei număr

at In ode ţii 33 şi :H din FCB, Octeţii 33 şi 34 din FCB reprezintă o

pe 16 hiţi cuprinsă Inlrt' OOOOH -- OFFFFH cn partea cea mai puţin


ficativă In octctul J:I şi ('1'11, mai semnificativll In ocletul :~·L Octetul
trrlJuie să fic OOH Înl !'ueit o valoare diferită dc OOH indil' lI o .. depăşire"
nf:lnl sfîrşilului fişierului.
Cilirea directă Ilcct'silă in prealabil deschiderea .. eAl~nsiei logice" CII
IOa fi~ierului (prima ..exlensie logică" a fişierului), operaţie care se
ză prin rutina lE•.
Dacă Gperaţia de citire directii s-a efectuat corect, IItun~i:
I
regi'strul .. AU va avea valoar('a OOH
Inregistrarea citită din fişicr, se \'a găsi dep'lsă In memorie la ..adresa
'

valorilc ocleţilor 12 (numărul ..extensici logice" curente) şi 3:.! (nu­


mărul Inrl'gisfriirii in cadrul ..extensiei logice" curente) \'or fi auto­
mat modHicalf, In funcţie ,de numărul Inregistrării citite (ocle\iî
33 şi 34)
valoarea octetului 32 nu va fi incrementată cu 1 (ca tn rulina 20)

83
- - - - - - -- - -- - ---- - _..
.~

Il operaţie de "citir~ direct:!." pot fi folosite operaţii


.'. '~ ; '· il ... ;-';'1 ;re ·*cH'nţială"i;.srr(erc · sccvenţfalil.·':.· Programatorlll
'
buie să ţfnă cont de fapt III că prima operaţie de "d·

~ I\
tire sE'cwnţiaIă" /" scriere secvenţi:t1ă" se . ~:a . aplica asupra

:'0,. acelei,{\şi Înregistrări care s-aprelunt prin "citire directă"

. (lnln;Cit octetlll . :~2 nu . <1 . fost incrementat cu 1). Se poate

: lIşăJ pri ,Ii r-o .


ci·1i re sec\· eri.\iaIă ". falslr ii,cremt'nta. octetul 32

din FC13. astrrl Îndt oprra\iile de "cilirrl5criere secvrnţială"

urm.atoare .să se ap!ir.e· asupra Îl.ll'egisl rărilor care urfilează

... celei prl'lII:1le prin "cilire ·; c;iil:CCtă".


,.. . .
2. D· , ă oF-crapa de ,.citire directă" s-a apllcnt aSIIJlrn 111­
limri . îu,:~gisl r~r.t : .d.intr-o "ex~.c.nsie . ~ogică" , . n.lI; ~r rrnli7.l'a~ll
. Q.llt:01.llt ..de~eblderl'n :...c. xlel,I ~ 'N . .I0UII'C" urlll.lw:HC (l'U III :,
10 • ruliliit1 20) . ... .
(
I
: Da('ă .. oper:l\ia · ele, ~.c·ili\·e· clirc.cJ~o~ . lIl1 ;;"a. efectuat:Gorect! . .atllIlC.~!·~~:istrul
i \ '.'3 : ~ ' on\ine codlll ciI' eJ'oar(' ,' r~spectiY: .o.. ... . . "." ... ~ .
cII'.,·rjiili;:i
.
'
· lYnE'i
'.~ . .
ill:,'t'gislr5 'r( ' liE'~l'I'i~e .... r.
.' :.", . .
. ".~ " .. ..
;:: . ...
0:1 impusii,i itatc ete' În<'!lidl' re li ;.l·xlrnsiei logice" currllie (Irehuie
rrdl'~chi .
"
sau' \ 'cl'it'iIă •., r:drnsia l()gică~ mlll1ărul () a fişierului)
, 1, '
Ii I.
Ola ac('('s la . ·.. l'xlensir !ogi (' ă" a fi~ic'rlilui care nu a h~t l'rrnlă ,
-;- 06 odelul' ,3 ('~Ic 4ifl';'iI llt' ooiI ( inrercare d~ '~lill!ar(' in arara

l i mitl'l~r: (izi('l~ ..ale fi·şirru.llIi) . .. .

gl' nl'r:iI . eoâi.lrile !It' t'!'oare direrite ci., OIlH pot ,n.jlllerprdale ca
<1,. date ".
1.-.­
- -- -- ._----- -_.
.HLTIXA .3~: ..S('r!cj'e din~('Ii\ .. ... :­
"!- - ..
.;, 1.· ;.... ("·l'ill' . H:llidulll) ' , ';1'

1\llrjitj.~ ' .,. ~ . ... . o J•.' : ...... , ·,&.,'1 "

rC!lislrlll' c: 22Jl ': .,


' 01 l'io!lislrele Il.\: E adreslI Ft:~ . ";';
:Itoşiri:
"",1
r('!lislrul A: oclel de slare.
._-~-.:........;....._. ~
!.
o Ei..N: rutina esle' identicil cu l'utiita de ' "citire directă" cu excepţia l
ului l'ă . o. inre.gistrare de 1:21{ dt' oc\'c\i aflată il.l memorie la "adresa D!\r!\"
scri,5 pe
di sc. hrl'~isih, 'l'('a ~l' \'a scric in fişier 'in .poziţla coreSplIll7.ă­
IlIill1;lrului ei ' (ol'trlii .:):~ ~i ;\.1). Da c;1 acestei poziţii nu îi fusese, alocat
II, ;, tunci rutin:! . inainte de slTil'rt'. realizea7.ă aceasLă alocare.

Dacfl inl'rgislrarl'a!le scris 1111 arc lllI lIumăr aslfel Încît ca


s[I . .rie prilIla , 'i nl'l'gistran' dinlr-lIu l.Jloc . lIcalocat, alullci ru­
t il)a va 0rupa ficl h· loale înrcgislrflrile r anterioal;e înrcgis­
tr:ării de scris. din :Jlowl resprclh . de alocan· . .
Inrcgistrăril(' oCllpate ficti\' (care sînt dl!' fapt "gfIllri" În
fişÎCrul resp:('c.li\') \'or ii ('0 II Iuhili·l.a Itl in "conlorul de Illrr~
!Jistr:lri" diu clldrul "CxlclIs!ei IO!lice" e'Jfen.to · (octet prr7.ent
I
"in inLrarC'H d(1 ·." dircl'tor"); dar vor un : conţÎnu.L aleator
1I!,pa
(\'l'zi şi ' riltiilllI\O), : ,,' .. " ' .'
IIrnia, un.ci ()pI'!·n\ii 'dr.' ,;scrler~ u i r~et[l:' ynlo jl~ o'~te\'iior I:!.şi :~2s~

, uar octetlll ~~2 nu · se IIlcrenJE'lIlC'fl7.U. CII . lfl~1 ()al~ ohseryaţllle · refE'-.

rnLiJul :~:\ sinI yalahil(' şi PCI,trtl rlllÎl!a 3'1.1 . . ..

;1 ope)'n \ia dC' , ,,~('J"iere directă" .,~a efecL lIa t Jf~rect, a tu nei registrul .

a yaloHrea 0011: in cai!: contrar el va con\lIie codul dc eroare. Co.­

l'ronrC' posihilc sint ccll' de la rutina . 3:~ plus codul . 05 care ' indică

1:I!~a s('J'il' rii dalt'lvr Întrueît nu a mai fos'!: spaţiu in "dirt'ctor"

ITI' a rea um,j. 1I0i. ,, ~'xtcnsii log.ice".


,.
HI.·TI ~.\ :i:"i:' I)crermillarc ' htll!limc fişl~r :J"
·.\t:~lIlliUh! File . Si~t,) . ;
irilrill'i:

rr!JIslrul C: 2:UJ . . . .'.

fruiSlrcle D & E: ndn'su FCn

lr~iri :

Inll!linu'a virtuală u fişierului '

(III ul'lrlii :J3, :l'o şi · 35 din J~Cn)

'.
: rutilla nl'cesilfl ea FCH-ul adrl's a t prin rE'gistrele "D&E" 'să

oetl,\ i ~ i ",i t·cmlin!\. InI sIII'f' ifiC'nlnr-indh'jdllal de ii~il'f. Tlutina eaută

OI''' inforllla !ii prhilld ri~ i l'rlll spl' d fi eal în FCI3 ~icompletE'a1.ă

34 ş i :l!i cu o Y;l!oa rC' l' gal;l eu num ă rul corespullzalor primei Înre­

III' pc disc (I;l I'C ill'l Il ca zi, dlll'" sJ'ir~ilnl ii7.it, al fişil'rnlui. Astfel, octeţii
li :~ 5 r('pr~zint 3 "Jnngillll'a ri ~ ier{dui " . lungime c'are poate fi: '
J~III!Ji~;e' relllă (ri zie ii) a fisirl\tlui .(d acă fişierul a fost <:real (scris)

src\'en ţ ial) ' . '. ,... . .

Inn!Jill\~ ,"i~tunIă ':i 'fi'jiel'lIlui (dac ă fişierul 1\ fo~t ereat in Itc.ces di-.

1·I'rt . ~i ~Xi S tfl " găuri' in al ocarea fj~ierului) ' . . .. . ' .

. octetul '35 a re \'~Ioare qial ii cu OUl'atunci, rezu!tit că fişierul

um ill'uI maxim llr inl'l'gisiI'ări' posibile (:ii ' anume 65535).

il!a . poat e fi folosilit pentru a aMluga înregistrări Înt.r-un fişier,

' În :lpl'11I1 ('i Sl' dl' lerminii . lInmă r ul de ordine fII prim ei Înregistrări

l' III' după sl'irşil!ll Îizic al l'~ic rulni, num il r de ord ine ee poate fi fo­

co ntinuare de cfllTC " sC' c \' e ll~~t de operaţii de "scriere directii".

UlJ,Tll\'A :lG: J)~t.('rlIIinarc IIl1ll1ilr lllrt'!Jislrnrc

1 (Sc,j Jlnndmil HC('''fll)

1!llrări:
1' ~!Jis lrlll c: ~Hl
re!Jistr('I~ H & E: adn'sa FeIl
. 1~7iri:
.: . ~ .
.. minulrnl inl'c!Jislr,lrii

1: ·. rutina întoai:cc il! octcţii ':-n, 34 ~i 35 dinFCD numărul 'Înre­


l'l'nt l' dilltr-t'lIl .fi~ier · C'lre li fosl ciI it/sc ris scc\·cn\ial. H u lina poate

astfel: · · · . · ., ·

' 35

"~'~"P i j tţ ,...
li
:j>

.- pentru <feterminarca nu mirului dl! ordine al UMr înregistrări din­


tr-un fişier, care conţin o anumită "chcl~". rn I\rt'~t ~A7, fişierul se paţcllrg!'
(in citire) s~C\'cnlial, se \'l'rifică dH(~ă InrcllistrarllJl dtlt/l. (', onţine "cheia" c/lu·
tatII şi dacA o cOl)tlrll', "lunţl ~(' npl"lud t'\lt,lnll :ll~ JlClnLl'lI II d('lt~t'nJlnl\ "nu­
mlml de ordinc' \, al inregistrqrii respective, Act\St /ltlmill' de ul'dine se sto­
chează şi apoi 51'\ co n tinuă i'f1"cstigan;1l (secvenţln!.') II ff~lel'lJlul, LA sflrşitul
prelucrării s(' \'11 (displlnc de o listă a t.uturor numlll'elol' Inrl'lllHlrftrlh'lJ' core
conl in "I.'heh," rr~'l'cl'\ i I'ii •. Pe /1/11.11 Ilcest~i liste, utlll1.BI.CII'ul ponte oltl dlrocl
inregistrArile cEH'; II Ilitercsell~i} .
- aluncl cîpel se doreşle trrcere'l ele la Accesul flllc\'en!lal Inlr-un fi­
şier la RCCl'sul direct. In acest ca/.. dupii ce un fi~i~l' a [,)sL exploullit sl'cnll­
, ţial pInii 11\ un Il nil llIi I punct, s'o apeleR7. ă rutina 31i penlru 1\ dcl<'l'Illina .. nu­
mărul de ordine·' al Îllr~~istri(rii curente. Pe blll.3 al:cstul număr li,· urdiJ\l! MI'
pot reali7.a, in continuare, opera lii de citire/scriere directă ("!ll·raţii ('1' Se
ap1ic~ de la un anumit punct (selectat) din fişier in continuan'),

nUT,;\" ,\ :17: n,,·,.Rl·lh'arp diseuri


(nl'''~1 llrlH)
Intrllri:
. j r"!li,trul C: :!:;H
lP~irl:
' r"lIi"lrlll A: OOH

Ercct: dczaclivl'"ză unittilik de disc spt'cificatein vectorul dt'finit prin


('o'nţiflutulregistrelor " D &E'· )i acordi', acestor unităţi atributul ni\\'. Bitul
BO din regisi rul "E·· corespunde. ',mităţii "A" iar bitul B7 din n·gistrul .. D"
coresllUlIde unităţii ,, 1"', O \'alu~lIc lugică ..1" În "ectorul definit reprezintă
u optiuJl('-utilizntor dt' .. ue7.lIctivarp·· il unităţii respective.
Rulin~ SI' folosl' ştl', de obi cpi. pentru II modifica atributul R/O,' care
a fost asucint und unităli cip dis!' pri~ apelul rutinei 28,
OBSI:n\,.\ŢIE: Discul sl'l~ctat nn poate fi <!ez:lcti,·at prin această rutină
r.i nlll1l ... i printr. ., rutină 13.

I~_- ________..____
m 5T1\"ELE 311 ~i :1!1: Acestc rutinc nu au nici Uil rI"et
În RrNlstli ve .. ~iunc de 111~t"l\l

Il ti TI 1\' A 10:. Serl.·I'I· directă eu umplere cu O


(lVrit .. Jlllndlllll With Zero FiIl)
[ulrAri:
regisl/'ul C: 21111
rC!Jislfl·ie D&E: 11t1rrsa FCB
1c~iri:
r('ni~tl'Ul A: oet"t de stare
.. _--------- ---. _-
Efeot: ".• tina ('stt' l;imilllr,', rutinei 34 (scriere directă) CII exceptia faptu­
lui că InRlnte de a Sl' scrie o lurrnÎStrarl', Intr-un bloe Ilrnlocat, acesta este
automat umplut cu zerouri. ",trd, toate .. găurile" dintr-un fişier creat in
acces direct vor [i recunoscute, prin conţinutul lor (zero~ri):·
, ~~~~~,

~ ...,(\
AN E·X A

n.llur,,'r~ rlltlllP ,Intrlrl 1.,111

Jo:=lItllnăr IInltale
scl"ctnlli
11.--1
ro Deschidere IIsl.,.
----1 C= 'W I l ­
0& E = ndresa . "CD A=oclel stare

(;= ­11111 A =otlcl slnre


1) &: 1'; .-.c udrcsn FCn
r.= III! 'A =octcl stnro
FCI3

.
.1
~:

li 1, " , "d, i',


.~

'1 ,,,,, .1 " . '1''' ' 2 r--·· ~,


1: .' . J'
, :;;ch,llllh"r~ ),!'"I<' fişl!!r . II,
:
,. C,= 17I·I · •
'"-;"""'---~--7--':e'"':----;;~+17', -_ __._ ~~_'E_,_=_a_d_rl~~ FC~ ___ ..;......0._ _ _ _ _ _._
I A ,,,,,.~ctet ~.tllrc
I.--...J---r-"'-­

l~ ' ,Cilil:,' \'C,c t ot;',lle IIlliIU.\i,1 isc


"dh'c ,,"
. (' 7~ 1 8 H ' IT .\: r.,= \'cdo.... 1 <lo '
unlli!1t disc nelJ\'c
I
----p,"- Cilil,,, IIliill ill' <I i,,· si' leelat C=19H ----I-i:= n"Il1M .~--
, . ,;~I ,1, .. ' ,, ' seteel:! l '

1.\ ~todJric:l\'c ~udn's" ll~\.\"

i . .
C=,~----,
II .1( E = ,\(!resa
-1'
lJ~IA

­
11\ C:-:il"'tr-"-"-:'()-I·~c.".\-t\'-\~
' · l'l''''l-''·
- ' ' de'alo('an>
C=,lBH , IJ&E= :"lresa \celur
" . I ' 1
' UI,! aluc""rc
Sel .. r.. nll'ilml 1"i U Ill'lllrn o tlni· G=ICH
Iair. li,,' di sc, I _ --,""":'-,'-l'=-__--'-'
"- -11, - 1 Cilire - \'l"' !f.II' d u IIniUII\ I\i() ţ=lllH l.l ,1; L,= \'eduml <le
" . ..,nll,!!1 II/O
1 (·;'_ 1' \ Iollifi l' ar e a lrll",lc ' fişlrr C=lEH :\ =octc! .lore
D & E =adresa F CS
I I' CHin: adr(:~; ,.. I, loc 'de par~lIl1ctrl
diSt'··
G~lFH'
,; "
'l' I H&L=n<lresadeIJl0cu­
~ ulul
pn­

:!o
'..
Cillrt': \lodifi(';ln"
­
I1l1lUiir ulili.,..;llor G=:lOH
rlllllelrt tllse
- ----
A"""I"""" II II II za 101'
c\.II'l' nl E=Ol'FH sau nimic
,:,. : ,i· lIuml\r ulllimior

curellt

21 CiUI',' cllrccl:\
C~21I1 ' ,\=oetc l slare
D& E=ndre' :1 FCB
---::!~.. - \~ dlr ,!c l ă C=2211 A ,= oc l c l sla re
o" " . : \. I II ' 1 '0& E=ndl'c"O F C13 II ' '

-;~,, '- 'Dd('rmlrhtrJ ' IllJ1 gllllc î'\şlcr C == 2:lH lun gime \' irluală ill . :
.<1 .1 I l' ,U & E= udresa j'CU uct c!1I 3:1, 31 şi 35
. 1., lii <Iln Fell

" De lNl1Iill:gţ,
. , 1·""I1I"r... /Ilregl.lr"r"
'
l' G=. . 2~ II ,,
ll&E=o<llcsn H ,13

tlum ;'rHI. iuft'a;istrare

I ;1~.'= Dr>.•.l diY1Irl' dISL'IIl'l~_L-= ~



_ _ _ _ __ .\ = 110 11
Ii2', .J ' ~1 ; 1 \ II'U?IE:\'lxr_r/\:""'~_ ---~--
1 :1: ' E I\II'Ui \II ': 'T.\T.\
1~2~ - ScrÎ('11: dil'cL'l{l ClI IIl1lplen~ ('I;-'--~I C~:2siT--- -- l ' A= uclct stnre
I :t.t'ro
,,---. 1 -.4-.,-- - r,.-­

"''7Wo~~!'!T-""'
. , . V" "'_1

· JI

l
• r

, ,

OI... . ...

Edltltt de I.T.C. I. Braşov

Bun ,te,tlpar: 25 V 88
'l ••,

O"'•••'"C­
..
.
IJ

,;-
a ,.
~

"ţ . ..."

Tiparul c"ecut"t suh comandn nr. ' 1205

' ':':'­ " tnf""r"ln,'~",..."'. p~ngr-:l.tJc~ Braşov

S-ar putea să vă placă și