Introducere in Microprocesoare_Part23
-
Upload
mesuzana-1 -
Category
Documents
-
view
238 -
download
2
description
Transcript of Introducere in Microprocesoare_Part23
ci;rdbilul opt"estc 0 si o aciresl in spare cindbitul opt este 1. Ad,resareSr:elativi perntite genera.iea unui coci indepeirdent de pozilia instrucfiunilin plogram, adici. o aciresf relati'ii la continutul curlnt aitr pc. I-"a utr8080. o astfcl dc pi,sibilitate tle gnner-art, a unui cod independent 'Ce
pgziiie rezuitl plin foiosirca :irnbrhilui g in gimp,.ri ope?anC (-,-ezi$ 5.3.1). -Adre:3rea relativi,.cai-e prcrduce o adresi reiativi^ia conlinutulcurent din PC, poate fi prir-it.i. ca o generare de cod relativ siu codlelocabil.
.. . 9ypl cum s-a r-Izut in S 5.3.1 asamblorui pioduce pentru fiecarelinie (instrucfiune) de program, in iirnbaj cle asarnbtrarej o translatarein cod rna;ini. cperatiile necesai:e pentit translatarea mnemonicelorinsirucliunilor sau operatiile implicaie c1e o pseudoinstrucfiune potfi descrise printr-o succesiune de- instrucfiuni, ^definite ca o' m"rrdi*-strucfiune. Rezrdtl c5. tiir program asambior poaie fi conccput pe bazxile macroinstruct.irrni, pentru fiecare instrucliune si pseucioinstiucfiuneiefininclu-se cite o
-dacroinstrucqiune; atunci de fiecare datd. cind
asambiorul exploreazi o linie in piogramul sursi r-a face referire Iarnacroinstrucliunea corespunzS.toare. De exemplu, fse presupune cia.samblorul intilnegte rnnemonicul ECITJ ciluia ii coreipuncie in aSCllcodul 45 51 55H; atunci o subrutiniL de clutare va g-Lsi acest cocl iniabeiul- de simboluri pentru mnemonice (deci mnemonic corect) la oadresS. ADRS. Apci, cu aceastb" adresl" se prepa-rx" referir-ea la macroin-sti'uciiunea de tratare a pseudcinstructiunii
-ggu. Folosirea macroi;r-
strir-cfiunilor poate fi o modalitate de realizare hodulari a unui pro-erarrr agamblor.
Lltilizarea rracroinstruciiunilor in programarea in limbaj de asam-biaie duce la o scurtare si o rrodularizare aprogiamului sursi. AvantajelenodularizSrii prin folcsirea macroinstru{iunilor slnt:
- se scurteazS. timpul de elaborare aI programului;- se red*ce nrrmirul de erori inf.aza de punere Ia punct a progra*
rlrului, daci o rlacroinsiruc,'iune este corectd. toate secvenfele obtinr:tein urma dezr,.oit.ilii I'or {i corecte ;
- morlificlrile in programul sursi se fac mai u;or; o modificareintr-o macroins{ruciiune se face doar in forma de de}inire, asamblorulficind mociificirile in toate dezvoltirile ;
un program de , aplicafie bazat pe macroinstrucliuni pcate fiimplementat intr-un sistem {b"rb. rnemorie-RAM.
Deoarece o macroinstructiune va genera, in piogramul obiect, oride cite ori se face o referire, aceea;i succesiune delnstruc{iuni aparedezavantajul ocupirii unui spaliu destul de mare in memorie. Acestconsum mare de memorio pobte fi e'itat prin utilizarea subru-tinelor.
264
- 5.4.7. Programarea cu subrutine
.Subru,tina este o secvenlE de prograrn caxe poate fi apelati. oriele cite ori este nevoie de;i este piasatl in rnemorie o singurS. dath. Aceastiisecven!5. de program, deoarece implementeazi u.n anumit a)"goritm,poate fi privitl ca un program independent. Algoritrnii operafiiior le-petitive pot fi implementali sub formi de su'brutine, de exe:nphi:c'peratiile de intrareiiegire, conversia <iatelor, manipularea unor listesau a altor structuri de date, operaliile maternatice in binal sau lntsCD, operalii specifice unui program aplicatir,' etc. /
Unei succesiuni de instructiuni ca s5. fie transformati intr-o subrutiuitrebuie s[ i se teparlizeze rrrr'rro*. care este de oblcei eticheta primeirnstrucgiuni din secvenld 9i o ultimir instruciiune care este RET(rrrn).FrogramuL princilal (apehrti coniii;.e intotdearirra. in p[rtile in caretste necesarS. actiune:'. subrutinei, er instluctiune de apelare CiiLL aic5,rei opeiand este nuqele sul,rrutinei. X-a apclarea Eu-brutinei SUBinstrucfiunea CALL SUB r-a depune in stiv5" adresa insirucLii:irii umi.-toare (adresa de ler.enire in prograinui apelaret), iar' numirS"torui deadrese va fi incd.rcat cu aCresa de eticireta SUB, adic5. inceputulsubruiinei".[ter-enirea'din subrutini esie efcctuati de ir-l:tructiunea i?ET care scoa'/eclin stir,5" adre:a de revenire. Insl-rrrcl'ir-'ini1e C,tLL gi RET asigufl ap.e-ll';ea su"brutinei ;i rcinicarctr-ea din s:,'urut:uE in piogra,ilsl apr la:r1 .
Subrutinei ii coresp,rnde in U.r':baje de r-iivel supciiir, der"i cu rnici di-terenle, noliunea de p;:ocedu-r5..
Prograrnril pi'incipal poate apeia o subrutin.l ori Ce cite oi'i este;rer-oie, ca in figura 5.39, a. Lineori, rnformatia proglamului principalexistentS" in registlele interne ale micrcprocesorului, la momentul ape-l5rii subrutinei, trebuie depus[ in stiv5.; aceasta poate fi impusi fiede preg5,tirea unei ruidri f5"ri erori a subiu.tinei, fie ctre reluarea coiect'iia programului principal. Urrnitorul exemplu aratir. douir moduri de:pelare a aceieia;i subrut'ine denr'tmit5 SLTB:
EXEMPLT{ 1
:
CALI- SUB 1 APELAREA SUBRUTINEI SUB.
MVI 8,1'O
tsUCLA: CALL SUB
DCR BJliz BUCLA
SUB: PUSH PSW
SE INCARCA VALOAREA 10 IN REG.B (qONTQBJ.SE APELEAZA SUBRUTiNA DE 10ORI.SE DECREMENTEAZA CONTORUL.DACA (B) + o SALT LA ADRESABUCLA.INCEPUTUL SUBRUTINEI. SESALVEAZA REGISTRELE
265
PROtRAriur in !ttp^rl
TAL! SUB
PROGNAH PR]NtIPAT
0Pa00t]AITUL 1NFER AL ATRISEI
IA]IUL SUPAL AORESF
i\iSTRUCIURMAiOAR E
PUSH
PUSHPUSH
TA!t SL'/S
POP HPOP D
0Pr00EBA]TI..]L iIIFTR At AORESE
BAIII,'I SUP AL AORIST
INSTRUTT URMtrTOARE
S1,8.8/
RE /ErliRr-
-$t..--{t;-.
'..*'
Sll3R!Iiita A
s, I A FR x a-rs:R-q l;sq J;-l
l'tl
a)
ItALt S'JB A {
I
N'Iodalitifi de apelare a_subrutinelor: e - apelarea repetati a aceleiasisubrutine; b -apelarea inlinfuitii a str-brutinelor-
INTERNEPREGATINDU.LE PENTRIISUBRUTINA.
SUCCESIUNEA DE INSTRUCTIT'\ IALE SUBRUTINE]sn nBl'etCCoNTiNUruLREGI STRELOR PRE GATINDTI-I,E
PENTRU RELUAREA OPERATIiLCR INPROGRAMUL APELANT.
REINTOARCERE IN PROGRA}{ULAPELAJ.{T. ULTINIA INSTRUCTIUNE"
Fig. 5.40. Modalitlfi de salyare si refacere a confinuturilor registrelorinterne ale microprocesorului: a - instrucfiunile PUSH 9i pOp plasatein programul apelant; b - instrucfiunile PUSH gi POP plasate in su6rutinl
Deoarece salvarea si scoaterea din stivE a confinutului intern almicroprocesorului .sau numai a anumitor registre, consume tirnp gifpaliu din memoria RAM, totdeauna se impune a se analiza care^ dininformafiile registrelor se pot pierde si care nu. in cazul cind se impune;aceaste nanipulare a conlinuturilor registrelor interne se pune ;i pro-blema eficienlei plas[rii instructiunilor PUSH ;i POP, ia in'figura5.39. Introducerea in programul apelant a instrucliunilor PUSH ;i POP,pe ling5" apelul subrutinei duce la un consum de memorie pentiu pro-gramul principal, figura 5.40, a, dezavantaj ce este inlb"tuiat cind a-aeaste operafie este efectuatS" de subrutinS", figura 5.40,b.
Lucrul cu subrutine poate duce la o i.nldttlu,ire de apeldr,i, adichprograrnul principal apeleazh o subrutinS., care la rindul ei apeleazd. o,altd. subrutinS", care;i ea_ap_eleaz5. 1a rindul ei o alt5. subrutinl si agamai departe, figura 5.39,b. Fiecare subrutini" din acestea fiind apelat5"prin CALL, iar revenirea se face prin RET. in apelarea inldnfuitS" tiebuiesl se aibl in vedere restrictia ca o subrutinl s5" nu cheme alte subrutinede care, direct sau indirect, este la rindul ei apeiatl. Pentru a se relua€orect programul apelant, la toate aceste subrutine inldnfuite, estenecesar ca ordinea de scoatere din memorie s5. fie inversS. decit ordineade Salvare, adici s5. se p5.streze principiul LIFO. Practic, numirul desubrutine inlS.nt,uite este limitat doar de spaliul de rnemorie ITANI repar-tizat ca stiv[. Mirimea acestui spafiu se alege in funcfie de informaliilenecesare a se salva in stivi. Deoarece la pP 8080 stiva cregte in jos€ste recomandat a se aloca pentru inceputul stivei adresa disponibili
7 3i
I
1-jg.5..r9
l\tAr- ::B 8 il_%ll!il1l=l!3!!lI \:q- L!tf:J!34-1!$!l-Jl r- l;\..;RJ_T URMtrTOARt I
\%L\ \ I IlJ. \ I
---1___ii::il____l
DH
POPRET
266
PSW
267
aea mai mare din RAII sise poate ertind" siiva.r.irful stivei a coborit suir
EXEMPLUL Z
VSTIV: INCARCA BAITUL INFERIOR AI-ADRESEI Ltr STI\T COMPLEMEN],\Rtr "
TRANSFERA IN REGISTRUI- L.INCARCA BAtrTUL SUPERIOR Ai-ADRESEI LISTII'COMPLtr}{ENTARE.TRAi{SFERA IN REGISTRUI- H.FORNIEAZA COMPLEMENTLTLFATA DE DOI.(HXL) : ({Lrsrrv+1) (Lrsrrv)t-.-(sP) D-\CA (SP) ESTE > DEili'LI\IIT\ I\FERiOAR,\ ATUFiCIREZULTA CY: i, ALTFtrL CY: O"
REi\I'OARCERE.
LDACMAMOl:LDACNI.\
LISTi\-
L,ALISTI\-+ I
a sq fixa adresa iimit6 inferioarS. pini la car,:Urmi.toarea subrutinS. VSTIV verifici driiadresa inferioar5" (inscrisS" in locatia LIST{\'; :
iranrsierului unor blocuri de rJate, ceea ce..se poate tealiza ci1 o sublutililttlenurl:it5" TBD dezvoliatd mai jos. Blocul de date confine un nutnitrNRF baigi, se afliL intr-o zon[ de adrese consecutive din memorie irrcare Xrrirna locafie corespunde etichetei SURSA ;i trebuie transferatintr-o altd. zonl tot la adrese consecutir-e din care prima localie aree'tich,eta DEST. in acest caz nu se transmit subrutinei datele de vehi-c,ulat, ci doar valorile parainetrilor l{RB, SURSA, DEST. Vaioriic-acestor parametrii se tlaiismit ca nigte date prin interrnediul regi*streior.i" H-L, D-E in feiul urmitor':
EXE},IPLUL 4
I'IO1- H,AINX H
D.\D SP
LXI H,SURS-\ ; SE I\CAIiCA I\ I?EG. FI-I-.\DRESA PR] \IL LL'I B C.IT DETR,{\S\{IS.
i-\I S,DFS.| ; 5E INCARCA ADRESA UNDE StrSIOC}IEAZA PRiUUL BAIT.
}'I\-I C,\RB ; CONTORUL Str I\CARCA CUNUMARLiL DE tsAITI DIN BLOC:
.ALL rBD ' +il1ktTB* iYBt';i.'"lif
MbV A,]I ; SE INCARCA BAITL,L IN ACU}ILT_I--4.TOR.
; Str OBIINE ADRESA BAI'|L'fLUILrR}iATOIt.
; SE STQCIfEAZA BAITUL DIN,\CL}fL-LATOR.
; URMATOAREA ADRESA DtrSTOCARE.
: DECRE&IENTtrAZA COI{TORUL., I}AC,4. II.i S_.\. TF.A\SFEI?.AT TOT
BLOCL I- SALT LA TBD.; DACA S--_\ TRANSFERAT TOT
IILOCI-IL REVE-'iIRE IN; PRCGI{AIIUL AP]ILANT.
La reintoarcere i' program*l principal Cy:1 va inclica ci. maiexistS. fpafiu disponibiiln -.ri'a egil cu'continutul registrurr:Li H-[-"
Prin-legarea,su-brutinei se infelege apelarea, r"t'errlreu, preciLm sitransferul, in ambele sensuri, a datelor necesare procesirii intle sr-rb-rutini ;i programul apelant. Transferul se poate teatlira prin inte::inediulregistrelor, memoriei sau stivei.
Pentru. transferul unui nurnS.r restrins de date se pot utiiiza rc:gis-trele inteine. ln ce1 mai simpLu caz se transmite o siigur:1 dati frir:,interrnediul registrului acurnilator, ca in exemplul urriitor:
RET
EXEMPL(IL 3
,],IVI A, ,A: ; INCARCA IN ACUNTULATORCODUL ASCII AL CARACTERUL.L]trA CE TREBLIIE AFISAT PtrDISPLAY.
CALI- DISPLY ; ESTE APELATA SUBRUTINA DETRANSFER A CARACTERELORSPRE DISPLAY.
Pentru un numir extins de date transferul se face prin internlediuiunor localii din memorie. Dac[ datele se citesc ;i se inicriu, totdeaunacind este apelatS. subrutina, de la acelea;i adrese, atunci nu este nece-sar un transfer deoarece insl-;i subrutina i;i genereazi. adresele respec-tive (fixe). Dac5. zonele de date pentru tianifer nu au adrese fixi inmemorie atunci se vor caracteriza aceste zone prin nigte mirimi carese vor transmite subrutinei ca pararnetrii. Se
-presupune necesitatee
268
TtsL:
IsX H
ST.{X D
INX D
DCR C
J\z TBn
i?trT
Foarte frecr.ent clatele ce trebuie pr-ocesate nu forneazl un bloc,a.'jjca nu sint sitnate la adrese succesive ci au o rdspindire in tot spa-tiutr memoriei. in acest caz. se {ormeaz5, o iisti" care in iocalii de adresesuccesive cuprinde'adresele tutriror ciatclor din memorie in ordinea inoare ueJ-)uie transferaie, ligura 5.41. Subrutina care va procesa dateierdspindite in memorie r.a pri.ni doar valorile celor doi parametrii:
trSTg-eticheta adresei cle inctput ciin 1isi6; NRB-numfu'ul total de,date. Apoi cu instrucliuni de {orria LXI rp, LiSTA, LDAX rp, STAXrp poate fi accesibill oricare ciati. Se i-a exempli{ica cu o subrutini(ihl.StsYT) care insumeaz5" un nurnlr \ltB de date djsp,ersate la dife-: ite actrrese in memorie ; adresa de inceput a listei este LIST-{.
269
H EMORI E
AOR{SA I,
AORTSA 1
. AORESA ]
ADRTSA N
ADRESA 2
EXEM PL UL5:
LKI
},IVI
CALL
INSBYT: XiiACiCLU: IIOV
MOV
INX[TOV
LDAX
ADD
H,LiSTA
C,NRB
I}iSBYT
AB,A
E,}I
HD,M
D
B
Fig. 5,4l. Modalitate de transfer a datelor lasubrutini cind acestea sint dispersate in totspafiul memoriei
; SE T'RANSFERA SUBRUTINEIADRESA DE II{CEPI]T.SE TRANSFEITA SUBRUTINTIVALOAREA DE CCNTOR.
APELAREA SLIBRUTINEI ]]EINSLI}{ARE.STERGE ACLI},IULATORUL.NIEMOTTEA Z A RE ZI] LTATU LPARTIAL IN REGISTRUI- B.BAITUL INFERIOR. AL ADRESEIIN REGISTRUL E.INCREMENTEAZA H.BAITUL SUPERIOR AL ADREStrIIN REGISTRUL D.INCARCA BAITUL INACUMULATOR.ADUNA BAITLiL LA ST]UAPARTIALA"ADRESA UR}{ATOARE DIN LISTA"DECREMtr}iTEAZA CONTORL]L.]{U S-AU ADTI]{AT TOATEDATELE, SA]-T I-A CICLLT.REVENIRE iN PROGRAMULPRINCIPAL.
Acelea;i metode de transfer a datelorse pot aplica si la intoarccre.a,din subrutinl in programul principai.
Dintre dezavantajele lucrului cu subrutine se pot menliona:
- mS"rirea timpului de execulie al programului; fiecare apelarenecesitS. cel pufin execulia unei instruc{iuni CALL gi a unei instrucfiuniRET;
- i.rnpune existenla stivei, deci a memoriei RANI.I)ar le impune pcnderea avantajelor:
- subrutinele se pot constitui intr-o bibliotecS. care ofer5. solutiitesiate pentru problemele intilnite fi-ecvent;
- sc:rierea si testarea unui prograln se scurteaze;
- se scurteazS" lungimea programului surs5. si a programului obiect;
- se face- econornie de memorie;
- modul acesta cle lucru cu subrutint (rnodular) rcduce mult posi-bilitatca gre;elilor.
Comparativ, avantajele si dezavantajele in folosirea macroinstruc-{iunilor sau subrutinelor nu duc la o recomandare a uneia in favoarea'celeilalte. Este posibii sf, se obtinir acelea;i rezultate in ambele variante..nn unele cazlrri, utilizarra unei singure subrutine, in locul a mai multormacroinstructiuni, poate duce la o reducere a programului. in alte \ /
'cazuri, cind sint implica'ii mulli parametrii, utilizarea unei macroinstruc-{iuni pcate fi mai eficientir decit a unei subrutine. I)e asemenea, se'evidenliaz5. faptul c5. o macroinstructiune poate apela subrutine ;i o,subrutinS. poate face refcriri la rnacroinstrucfiuni.
PIiOBLEIIE
P.5.1. Se se scrie urr progiarn peltm tleplasarea unei liste cle 10 baifi. Prirnalocalie a listei are adresa ,IICI, iar adresa dc transler este ACOLO.
P.5.2. Sir sc scrie un progf:un perrtlu testarea l-ritr-,lui de rang zero din acumu-.lator. DacI lritul zero cste I sJr, s3 sL'teze ('raloare: 1) bitul 3 din locafia de memoricFLAGI. Dacd bitul zeio esi.0, sA se scteze bitul 4 din localia de memorie FLAGI.
P.5.3. Care este singura instructiune care ;telge acunulatolul 9i pune CY: 0,AC:0?
P.5.4. S: se scrie ulr prograrn de citire a datelor de la portul 10. Dacir cuvintul.citit de la portul 10 ale o valoare impari, si se inscric acest cuvint complcmentat inportul 1. Daci:, cu-zintul citit cste un num5,r par', si se inscrie acest cuvint, cu bitul derang 3 egal cu zero, il portul 2.
P.5.5. Si se scrie ur) program cale s5. inscrie intii cuvintul FFH in portul de ie;ire2 ;i a.poi s5, se inscrie. in acela;i port cu-rintul 00H. Aceasti operafie s5 se repete de 450,de ori,
P.5.6. Si se scrie un progranl cale s5, exarnineze cuvintul din acumulator. Dacdacest cuzint are valoare diferiti de zero, 'zaloare par5, pozitiv gi paritate imparl, si secontinue procesarea la localia de memorie CONT, Altfel sd, se continue procesarea lalocafia de memorie ACOLO.
P.5.7. SA se scrie un program de deplasare cu un bit spre dreapta a unui cuvintcp lungimea de 16 bifi, situat in dou5. locafii de memorie succesive.
INX I{DCR C
JNZ CICLU
RET
270271
P.5.8. Care esrre cu.rintuX drn locatiapiasfarn; \1I\rIoR.4.LDAjN[INR\i\T: ST.i
-rnR, {liFttsDR: il0E{
dup& rularea urnd.r,rrrrlui
de 1 sec i p:F 8d8t),
progian.irri uinri.tlr I
d,- mer:rorie tsDR
..LDA COU:\iT 1 ; X\LtRtr.\trEi.iTE-\2.\ COU\T 1..\DI 1
ST.\ COL"\T 1 :
C.ALL ST'RR .
I-DA COUNT :, ; tSCnntrE\TE-dZ-\ COL..\IT 2.SL'I I
ST.\ COUNT 2 ;
IIiTR: PUSI{ PS$r ; SLtsRLiflN-{ DE IliTfiERUpERE.LD-\ COU\T 2 ; XNCRENIENTE,\Z-\ Cr_- t COl,*i_:..\DI iSTA COUNT 2 ;
POP FS\\'RE'f l
P'5'11' Se se scrie un prcgfanr care:zerificd c*',.irrt'l crin acum.latoi. F:r_.granr'rtrebuie sir apeleze subrutineG cillcrm uirndtonririi tabel:Cuvintul din regishul -\ Subrutina apelat;
CAPiTOLL,IL 6
LUCRUI- CU PER,IFERICELE iTqTN-UNrI SISTEMPE BAZA DE MFCROPROCESOR
Unul din avariiajeJ.e majore ai.e electronicii progiarnate, in ineple-mentarea sistemelor pe baze de microprocesor, conste in faptul c5. ingenel'al structura pe partea de hardrvare, dupl curn s-a aritat ;i in$ 5.2, figura 5.9 este standarcl, diferenlele de la un sistem la altul fiinddoar natura perifericelor ;i el'entual interfafarea. Dar, pe partea desoftware, diferenfe existS. de Xa sistem la sistem, depinzind de naturaaplicaliei respective. Garna procesetror comandate, cu un sistem pe bazi.<ie microprocesor, fiind foarte 1arg5., rezultS" c5" si perifericele utilizatesint extrem de nurneroase si l-ariate. S-ar putea, si nu ln exclusivitaie,impirli perifericele dupi tunc,tionaiitatea lor in : perifer.ice de stocaye'tnes'iad (cu capacitate mare de mernorarc), periJerice conteysalionala(in limbaj uman) ;i peri,ferice in titn.p real.
Uneori, cerinleie de memorie a1e unui mini sau microsistem, potfi destui de extinse. Deoarece o capacitate de memorie RAI\{ semicon*ductoare de ordinul milioanelor sau zeci de milioane de baifi ar der.eni,din punct de vedere al costului, prohibitir'l, s-au dez\roltat sisteme dEmemorie de capacitate mare, dar cu tirnp de acces rnai lung cum ar {i:sisteme cu discuri, benzi sau casete magnetice, sisteme cu band5" pe1-forat6, sisteme cu bule magnetice, cu dispozitir-e cuplat-e prin sariind-{CCD, Charge Coupied Devi-es), sisteme holografice eic. inti-un sistemeiigital mai compiex memoria este structuratS. ierarhic. Memorla pri-mard (saa operativS") este constituiti in RAII ;i are timpul de acces
- cel mai scurt. Memol.ia secund.ard este constituiti de unitatea de discurisau de floppy-disk, avind un timp de acces mai .lung decit memoriaprimari, dar in care se stocheazd. informatia adilionald" (programe de.
sistem), informatia, intre memsria operativi ;i cea secundari, putlndu-setransfera in ambele sensul-i. Ultimul tip de memorie, din aceastLierarhie, fiind cea care ar constiiui. o aylt,iati de dgte in sensul c5. infor-rnalia stocati, aici ar fi necesarS. o 'iatd. pe sirpt[minir, pe |-rni sau 1a unan, reprezentativ pentrr-r acest tip iilnttr banda rnagnetici,L .cau perforat;...
.d,FFFIA-\DRNXT,{tsDR
t'.J.). 5d 5c scl . Lill lro{rJil.t _JI-Xsj,zJ:: : 0,5 g.sj.
P..5. 10. Ar trebui ca intrerupei.ea s:i[ -ni]c trebuie antorizat5, lnirertro'eie:r r.
S1: ET
rtalizeazi" o ilitirziere
iie r:piicit r,lezacti.zatd il
ZeroNegati-z
SZtrROSMINIT-S
F ecare subruti'i. tretr'ie sir -car'zeze ;i .-.i refaci .o,'tinr*1 l**.,loto*i*---..,-_li 1l^,9 se utilizeze alte.insrrucgiuni, cunr ar fi: pUSH, pdp, pCmlDentru a realiza apelarea unei subrutine gi respecti-r re-renirrea; sii se scrie, .ii:
eta.a. e,S I:-1. rrrr ex,.nrpirr cle apclare ;i de rc rerrirr
P.5. Ii. Se se realizeze urmitoareletransport CY: ?
aduniri. Care este :zaloarea {anioltilni r1,:
l
0010 1101 1100 1001 010i 1100+1011100X r1i1001111 f,1110000trP.5. 11. care este -raloarea iur.iol*rcl in ,,"rrr" "f".,ili *rre*relor scj,j:ri
1101 0110 0it1 10lx i001 1000__q119_109 _ 10,0 r 1000 _ 1100 i00 r
P'i.15. care este coniinutul registr,r*i dupi ce se esecuti. *rniitorun pro_qia:ir.
LDA DNTI},f^{D{ gqT{])-{AFiI-T
DSLiII:.\:T{
? l.)zt,_)-
.P.erifericel,e conaersalionare sint cere ra care intrarea gi ie;irea inf-or_maliei ar fi similari. conversa.tiei intre A;"i G;;;.. 6i"ia cu rearili3I_.1 dlt"zei si recu*oa;tcrii vorbirii au apirut te.-ir,"t"t" la care11111."1/iulirea se face pri' voce, deci ra aceitea
"trir"ii"r- de conver_satronal este qi mai-.potri'it..Dar cele mai ri.spindite, actual, sint-tei_minalele care'posedi o.claviature pcntru intr.oducerea datelor si u'ecran pentru afisarea ,da^teror,. dcnumitc simplu tti;iiy .".,^i.r-i""i
9T:Ja.i].1'"u-Ray-1u5";. in.ujiimuiiimp s_a raspindii.Ji ," tip cle ter_mrnar \rdeo cu cc'an sensibil prin atingere p"nt.r, modifi."r*. in{or-:lii:l t':il: ,,jo'.ile de rerminale viaeS qcrtr, r_bo, *irialc lichide,plasma' polarizare-dcplasare-dielectricd) intrd in cai"goiia celor cuinscrie'e voia"tili". (sofi-copy). Term inalerc ;"; ;rJ;."1'inr"girtr"r"permanentS" (hard-copy) a informafiei pe hirtie ui" p" fit-
-ri"i i"pi"-zentate i* primrrl rinci $e imprimaniele cu inrpa.,', t".-i"", crectro-statice, cy je! de cerneala r", c,, peni{i" rprrliii)-"t..-'ur"i'p".if".i.conversafional i se adaugi, pe lingi. simpll {acitiiatc-de"int.a'rc7ie;rre
1 ilf91maiilj,-Rosibititatda proccsa"rii infdrmati;i-i;';.*'i'ver caiitativli_p^-lllr:,j1:e^^1: anurnir grad de inreligenfi. peri{ericui inteligenteste un sistem complex care posed5. in struJtura,sa microprocesoare sauYLSI-uri dedicatc.^
,,__- Lu sistemele pe bazi de microprocesor ce comandi procese in
'mp reat pot tr conectate periferice di.ti-e cele mai diverse'.orn uo ti,panouri de comandi, c-chipamente mecani.", hidiuJi."]"rrrr".u.rr"tic"'electrice (relee, tiristoare, senzori, .o"r'".to".", ;;itf;ilui, motou.",'convertoare A/N sau N/A, semnalizi.ri etc.) ,u" f.nipi-"hie de alti:1r:1 i^L:rir", apiicalie cu microprocesor,_pehtro
" .t*orrica cu ope_l'atorur, este necesa' un paqou de control. pentru sisteme simple (ciml:j,].$_:^"L:lpl.; vottmietru electronic, sist"me aiiir".ii"", roboli deDucatarre.e:o:) Y' panou trebuie si. contini. un minim de comutatoarest semnalrzd'. Pentr' sisteme mai complexe (cum ar fi de exempru:l:Tf"l: logice, ma;ini_ unelte, uzine i-utomite etc.) panout devineloarte complex, incluzinc in structura sa terminale foaite sofisticate.cu toat[
''rarea varietate. a perifericeror atasate la un sistem pe bazd,,de,rnicroproc_esor, din fericire, conectarea lor se,"aoll l.-*"rrr."."",
f"1t_1,:,til,,lli de semnale:..intr*.i anatogice, iegiri "*ogi*, '.;l.i
discrete,rntran drscrete (termenii de intrarc si iesire si nt co[siderati relativ lauuxur dc lntormatrc 1a{i de rnicroprocesor).Modalitatea de conectare a u'ui sistem cu rnicroprocesor ra peri-feric.(sau, maj general, la un proces) pentru a rearizaceea ce se numesteun sistem
-pe bazd de microproirtor,'"si" reprezentate in figura 611.-i;d;:3::..y*:,ti",T".i la obiect se consideri cd periferic"f iprt".r"f) esteo rmprrmanti. La funcliona'ca pirtii mecanic-e a impriniantei concurd.o"anumitSoparte electrici" de actionaie ;i circuite -l;il;i;;'de comandaalerente. rn plus, este necesard o parte electronici de contror care, de'exemplu, si fixeze momentul cind se tipire;te un caracter, sd. determine
274 t
I
---t--/Lui:illiii
[*,,]PE R iF
\;:,
UI]iTATE DEc o lrA l.tOA
lC0r.JTttai.ER
(;.,TA,i ;li.iii :l rT':1.1.1 il
Fig' 6'1' structur'l de principiu "",'ii.:1"j"rX":larea
(interfatarea) unui periferic
corectitudinea caracterului primit, si deplaseze carul mobii dupi fie-care caracter tiplrit, si constate dac5" este hirtie, s5. comande inceputulde rind etc. Pentru toate aceste circuite de control se utilizeazS" ter-.menul de un'itate d,e comand,d (sau controler). Dar acest controler trebuiesi comunice cu microprocesorul. Conectarea controlerului Ia microsistemse face prin intermediul unor circuite denumite interfafi. Aceasti deli-mitare neti, in controler ;i interfa!5., poate fi in realitate destul de voa-.latl gi are mai mult o nuan]l didacticS.. Daci inter{afa ;i controlerulsint construite fizic (ca volum) in aceeasi cutie, foarte des se denumegteinter{a!5.. Sau, dacf controleiul si interfala sint realizate integrat,'inacela;i chip, se denume;te circwit ded,icat (sau controler, ;i poate uneoridep5.;i in complexitate structura unui microprocesor). Indiferent de.aceste denumiri, in principiu, pentru conectarea unui periferic coles-punde structura din figura 6.1.
Conectarea proceselor cu sistemul se poate realiza prin elemen{.ede interfalare standard sau prin interfele proiectate special (nestan-dard). Odatl reafizatd. partea de interfalare fizici (hardware) sistemultrebuie inzestrat cu programe (subrutine) pentru lucul cu aceste peri-ferice.i
6.1. lnterfefe nestandard
. Interfafarea nestandard poarti pecetea experientei, fanteziei pro-iectantului ;i disponibilitllii de componente. De aceea, indicafiile datereferitor Ia implementarea unei interfele nestandard nu pot fi consi-derate ca fiind exclusive.
Din. punct de vedere al funcfioni.rii microprocesorului o interfatirse,reduce 1a unul sau mai multe porturi. In acest sens un port este unpugct prin care se face schimb de informaiie drnspre/inspre erteiior.
, Comunicalia cu portul necesitS, selectarea acestuia ;i apoi inscriereasau citirea. Adresarea porturilor se poate face in spaliul rnemoriei,izolat sau combinat (r.ezi Q 5.2.1), deci selectarea practic rezulti. din:
27s,