Documente Academic
Documente Profesional
Documente Cultură
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
,. ." ~.
IIUTlHA
1:'
IIllmllr disc .d~c.lllt ................................................. ..
211,- . Citire 30
l
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
II
I
ANEXA '. I 37
'~IL'
" ,~ ,
~,
~
1
;', r
:j '
'i
f'
~·11j"
(:
., .
'i·,: , ...
',"J! '.:j ~,,
'J,I.'
INTRODUCERE
!ll)11!lgUrIl
"111'1111'(" pc ecranul televizorului, 41;, afişează emblema tnierosiste
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
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:
,---_._---------
. 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)
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'
7\
..
----,
"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:~
- 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-, .. """"_,, ·
"'!'"
\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
601 alhnstrlJ)
UIO roşu ,
011 mn!lenla
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).
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
~ ·)
!'.
-1·· ~ ._ ~_. _ - -- ----""- " ---~'-"'-"""-----'-~W~1V~~1
II
J
CTRL/Rt;= 12H - In.~erare spnţil\ fn poziţia curent1\
nici un circuit sp('cializaL in acest scop. A"('asln c constituit1l din Irei compo
-intrarea l.IST~~Pal':tm('lrii dl' fII nqiOIl (l r<' ;li inlerfe\ei se ţ.l'ogl'l1l1lt'azil cu aju
• x 1 i1Ţ1-T v I \' ! ~ __
unde: viteza vvv =000 1 ~.()
b2u(ls
010 tiOObouds
01 6 biţi
10 7 biţi
11 8 biti
XONN-XOFF x =, O - nu
1 - da
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:
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
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ă
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
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. .: .;" . ...
'"'l: I
stric'l'l' l'ar:H'lt'r la di~l'v:l, ith'lI) lip "J.lST" . r;" ',: "!: ~ 'I '.
cilllfal'c in .. tI;n'I'III~"
l~
,.~-
i{
il. Com·enţiiJe de apel nI . rutinclo·r CrjM respectă standar
dele PLjl\I de comtinicare 'parametri. . . 1i:';;
'I-'
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
-
1.4. PMITICIULAHlTAŢI Ix IJTILIZAREA nUTI~ELOR CP/ll UE
LlTRU el! FIŞIERE PE DISC
~.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
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
~'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) . - .
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
;j:/; 'j:;-; ,
'"'lt'lii li' - :!'. o. ',\" '
2:; -27 .,. . 'ZAP' : .; i' ( Îi i:' (
,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
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).
"
lntrilri:
rt'!liSlrlll C: OOH
(Coll~nl(' 11111111)
Intrllti:
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. '
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 ~~'~_~""" ...
"It!':!"er" currnl
(1I(·ader lupul)
lutrllri:
rr!lhlrul C: 031[
Il'şiri:
rl'!lj"lrlll A: codul unul l'aracter ASCIl
I
I_ _ _._ ... .__ __ ~
_ ~-----_._--
"J'\I!lIoh" ellrelll
IlItrlld
.. 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
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
1\ isint a cti\'e in acest. caz. carac terele de ' edit'are aiI' sistl'
!-
,~-----_.
., : I J .. \ : ' . ' , , , ' 1 ; ., ~ I " •i
-------'
' ,: ., '! I . 1 : ' " > 1 . ' . . ', I 1. •
~,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
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 ",-~"", __
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
.
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
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.
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
E(('('I: rutina ell'z;,clivea1.ii logie toate unil1iţile de disc, (le aC<Jrdll atrI
u
"'_·'_ ' ~" - _ "''''' '''''''I~'' _______ ............_
Iw.-- '''' . ' ' ''' '''''''' . ''·'''<lli'''''''''''~",*,'''' :"'''I1I:"Q,oW!''''''''''''' .... ~ .. _ ....
--.,
" adresa OOSOH. Rutina poate fi folositA atunci cind o aplicaţie nece
il
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.
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 ., , ': .. ~ ~ .' . ' , :
Inlrllri:
r('[Ji,;tI'1I1 e: 1111 '.
rr!Ji~tJ'('I(' n.'\: E: adr(,~1\ FCU
h;id: .
r('gislruI' A: octet de stare, .' . :.
-' - --
\.
-~-.~----..."..
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
.' ~
~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),
._
,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.
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".
...
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'.
-:
lklll un: ,
I I~~~iri
L :
I'I'!Jj,' lrnI C: 19H
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. "
;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). . . ' ,
. ,,: ., .. ~
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 '"
Inlrări:
re!lbtrul C: IDII
I t·~iri:
rcuiSlrt'IC 11&1.: re('lorul de unil:'Ili Il/O
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),
- 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
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 :
'(Hl'ad .!Iandom)
Intriiri:
lI'gistnd C: 21 H
Ieşiri:
rt'!Iistrul A: octet de stare "
83
- - - - - - -- - -- - ---- - _..
.~
~ I\
tire sE'cwnţiaIă" /" scriere secvenţi:t1ă" se . ~:a . aplica asupra
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 ope)'n \ia dC' , ,,~('J"iere directă" .,~a efecL lIa t Jf~rect, a tu nei registrul .
l'ronrC' posihilc sint ccll' de la rutina . 3:~ plus codul . 05 care ' indică
lr~iri :
'.
: rutilla nl'cesilfl ea FCH-ul adrl's a t prin rE'gistrele "D&E" 'să
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)
Inn!Jill\~ ,"i~tunIă ':i 'fi'jiel'lIlui (dac ă fişierul 1\ fo~t ereat in Itc.ces di-.
' Î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
1!llrări:
1' ~!Jis lrlll c: ~Hl
re!Jistr('I~ H & E: adn'sa FeIl
. 1~7iri:
.: . ~ .
.. minulrnl inl'c!Jislr,lrii
astfel: · · · . · ., ·
' 35
"~'~"P i j tţ ,...
li
:j>
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
~ ...,(\
AN E·X A
Jo:=lItllnăr IInltale
scl"ctnlli
11.--1
ro Deschidere IIsl.,.
----1 C= 'W I l
0& E = ndresa . "CD A=oclel stare
.
.1
~:
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
"''7Wo~~!'!T-""'
. , . V" "'_1
· JI
l
• r
, ,
OI... . ...
Bun ,te,tlpar: 25 V 88
'l ••,
O"'•••'"C
..
.
IJ
,;-
a ,.
~
"ţ . ..."