Transcript
Page 1: Introducere in Microprocesoare_Part16

tabetr se va introduce"in program codul in binar asociat mnemonicuruirespectiv, oPCoDE. In $enJrar, codui asoci"t -""-"nicriiui respectivse glsegte intr-o localie-de m.moii" a cirei oai"rJr" a.i.i-i"e in functiede adresa la car-c se'afti;";;;;i;iln tabelul ,l" ri,;;;l;;i'l;Hil;;'ceasta de con'ersic a mn('moniceror s3_.pot d"tccta er-oride sintaxr.;de e>remplu, se scrie- DRC in r". a" o'cri ."* ." ,r.r"^Jo."rp,rrrae niciunui cod din setul de instrucliuni inscris'i" t"firi^i""."ironotori, creciasamblorul genereazi un mesaj de eroare.Prin procesur de asamblare, asamblorul, parcurgind rinie dupi linie,prodr-rce pentt-u ficcare.instrucfiune iinu, aoi sau lrei baiti, in functie<1c lipul insirucfirrnii.. Acesri b;iti l.;b;i"; fi;-";;)"ri ril'-"."iii-iladrcse su.ccesi'r', deci csrc n...iure"o

"uacnqi ;';;;;.;i". rocatiilorocupate de programul obiect. In acest sens, asamrrrorul va ij i;:3;ilicu un numirii"tor de.rocalii nupiL c'm numiirii.torur de adiese dintr_unrnicrop'occsor irrdicd adresa de'ra care sc va rcfcri rnicroprocesorur,tot asa ;i numiLritorul de loca,rii va inaica "dr;r;"i;-;;; r" ,r" depuneurmS"toarea instrucfiune sau clatii u=u-bi"t5 ; pG.-;;;iii. N.,-ere_torui de localii se"iniliarizeazi la inceputur "r""itre?iiiilo"i se incre_rnenlcazi pcnt'u ficcare nou Lait ,t r'',sr.u.ii;"tbt. piJ;";i';;;"dri;-

structiunii ORG fixeaz,i" incepr,rtul la o adresi doriti. sau realizea zd. unsalt la o altb. adresL clin memorie.Apqre- o _situatie, .pr-r!in diferitl" cle incrementarea naturali a numi_ritorului de iocalii, cin<r'se utlrizeazi instrucliuni ;; ;;;ffi o etichetisau care au operanzi simborici, de excmpru,'ri'iilc d^ii" ii cinci dinrelafia (5.6). Pentru stabiri'ca i "i".il.i rearc are .tr.rr"t"roi ;i operan_zilor simbolici asambrorur rearireair'ir, ,o",,'oria sistemuiur, pe ringetabelul mncmorrict,ror inst.ucf iuniloi sl"o ,one liberi 1""iJ""t in RAI\I)cu un tabct de definirc ar simboruiirbr, rigui" 5.i;.'L;;; asambrorur

Sjunse linia a patra tJetccti,rd prezen,ta'ur-rEi "ti.h.i" *'Jro."deazr infclul urmrtor: r - sc srocr[az; i;"|;;"ilft;;;;;r"iiuJJa"r ASCrral.etichetei CICLU; 2 - se rtoiii."ra-"iresa atribuitd" etichetei, aceastiadresS" fiind co'tin'tur numl'etoi"iui a" r"""!iit;A;ffi;rul ajungela linia a trcia. i"";, ii"Ji"-;j;G;. il ii'iu

" cincea, se aroci simboluruiCICLU

'aloarea'corespunzitoare" inscrisi anterior in taber. Dar daci.simbolul operanclului 'este a"ri"it-"ri"ri", i;;;;;"e ;;";; se poatesubstitui cu val,area 'eard.

in r"ru-ut, a"o^."..-^.;*b1";; nu poatetrata totdeauna simultan la o ringoit irecere mnemonicele, etichetere{u operanzii simbolici 'or fi necesare doui treceri (faze) f"r," prog."-rnul sursi.

Schema logici" de principiu pentru un asarnblor in doui treceri estereprezentati in figura 5.19. La prima trecere, asarnblorul convertestemnemonicele in cod masind. gi aranjeazi. etichetele in tabel d" ;i;;"r"rr_La a doua trecere asamblorul sutstituie operanzii simbolici cu varo-rile alocate la prima trecere. un exemplu concret de asamblare, in doui180

Y'5A] Di EICAR T

Fig. 5.1e. scheml logici, de n:::?t;.":::l:u un prosram asambtor in

treceri, pentru programul din (5.5) este reprezentatS. in figura 5.20,*Asarnblorul genereazS. un program obiect ca fi;ier pe diferite supolturF(bandn perforatir, disc,listing). Uneori inf.aza de depanare a unui-sistemcu ajutorul analizorului logic (v. capitolul 7) este necesarS. o translatare,inversi, adic5. din cod ma;inl in limbaj de asamblare, operalie care serealizeazl, cu un program asamblor inrrers (sau dezasamblor). Progr-amul..obiect verificat din punct de vedere al functionalitlfii,-cu afutorulumri _pr_ogramator va fi inscris intr-o memorie de programe (PROM,EPITOM sau EAROM).

Pentru un sistem pe bazf, de microprocesor inainte de a elaboraprogramul obiect pentru aplicafia respectivii. este necesar a se intocmiharta memoriei, adici a se rcpartiza spaliile de memorie rezervate.pentru ROM ;i RAM ;i apoi in interiorul acestora a se specifica segmente.pentru diferite necesit5li. Intr-o organizare tipicS" Ia adresele infirioarese repartizeazd memoriei ROM (instrucliunile), iar la cele superioare-mernoria.de date $AM) care are rezervati" ;i zona de stiv[.- Exist[doui variante de asambloare, absolute ;i relocabite. Un asanxblor absolut.

I

'1I

d

I1A;REITRT

lN ri I AL r ZAREA NUr'IARAT0FULU

aE ,.0fATil

clliREA UriEl ir.lsT RULTtui.iliI I,cD ASall

TICHiTA?

ar iiRtA ur.lut ilNEt'1cNiciAstlli

IEAZA (-C0U: ASaii AtiiXtl{0liLtU:Ul ;ll TABi!

.XISTATCDUi ?

rf.rDttATA ct IUMARAioRU.

181

Page 2: Introducere in Microprocesoare_Part16

. -t,i!d,;. i:a. a,1-:

-d L t':!S 5,1,i.t.".i. t, at,L. ai t-

-r::: lttLU

iirliA_i 0t AsAt'lBLAF;

INSTR. OPERAI'iD

0R6 3C10i]MCV A,C

JZ NIXT

r'40v A,B --JN Z S'iART

o)Iii)iT: Cl{A

0R6

START: M0V

tMA

)7

,/,/

,t I !{Bt J lf /' fiA"lAIAI,IFLART NI,I i IZ:E Sti;'ri8A /

I-_J-,

nl 'NEXT:) rilAul

Fig. 5.21. Utilizarea etichetelor pentru r.nodificarea programului surs5, fdrio rescriere completS: zr - prograrn inifial; b - program modi{icat.

Utilizarea adreselor simbolice in locu1 celor absolute este de impor*'fan![ majori pentru tlexibiiitatea progiamelor surs5.. Adresele simbolice-permit stabiiirea legS"tulilor de ramificalie -in program indicindu-s"nu adresa a.bsolutl, ci eticheta acelei adrese. In plus, etichctelc permit:nodificarea programului prin introducerea sau eliminarea de instruc-iiuni firi a fi necesarl rescrierea programului cum ar fi cazul daciradresele sint absolute. De exemplu, prograrnul din figura 5.21, a ritili-zeaziL doui. instructiuni ai ci,ror operanzi simbolici STAITT ;i NfiXl's?nt etichete ale altor doui instructirini. Introduccrea Llnei instnrc-lirrni, figura 5.21 , b nu necesitS. rescrierea in limtraj de asamblarer aprogramului anterior, etichetele rS.minind aceleir;i. [,a asamL>lilrc, asarjr..trl,onitr automat aloc5. alte va-lori etichetelor proclucincl moclificirtilede adrese numai in plogramul otriect.

Majori'tatea asambloareior reaiizeazl tabele dc simboluri (mnen.rci-r-iice, etichete, operanzi simboiici) si pe baza acestorai Slerercazit cttr.inlctrinaie ce sint compatibile peniru furrc{ionarca- unui iu'ttitrit tip d"'microprocesor, deci asambloaiele sint dependentc clc- rrricroproecsur. (J

c1as5. superioari <ie prograne sint meta-asarlbloarcle care gcneri'eaz!asambloare, adici produc programe obiect pentru or-icc tip'cie micro.-procesor deci sint independente de marsinl. Pentru asarnblatea tu]uiprograln sursi scris pentru un anumit tip de microprocesor de cirtrr: un

ccn ltl:iltiACF'SA I\SIRUCTIUNEA!IiC}JETA

SiAPT,

an..i.' A I-r!!l\ mEL€REsa s!islrf-ia ape.0l: r

sir i:l :i- st atr:'re ftttrcr:j1 a:;a:':

3[10HAD _-'-

i

I1

l,rl

t

{i

tl

li

il

ll

I

ii

l1

J1

11

t,,lL

ri- .,-t"l ir l-4.'^-.,'I :i r'.'

I r- !1

i1_,1J

:

;llLXl .'-I

;;;l ) ii* TNSTRUCTTuNt eoiucnrA3ti2 I ,o311i Ir19*5E scHtMBA ADRESA oF

lcr,. ft ic REFERTRE

:c,s li ra

rcro ll ce

rc'r i[J''o3c1a I l3ctctgl zF

START --_ I

I

C:.:tlJc 13:n

a 133lJ

!i ,:4 tl0 r_151]

i 1361-l

0 r3:r i

ir : - " -' t''., r,1ii,',tul:, J]:'.';,i.i:"i;"o i rni.u".",.x'iiulu

i obie c r

'3cncreaz."i pi.r.:l' rnr]l obicci ciir',.iia i s-ai-r reparLizat ni5te valori absoi",.r,.::re a{lrt'lt' in sp.l;i111 cie mt:inorie, de exemplu, prin inter-irecliul psr.udir)iii-strrictiunii oP't'. ,lsainblorir,r vdccaltil 1tr'a'it.ltalia p""t. iftcorsitler..-.iun asarnblor ab,col.Lrt a ciLrui ecli-csr"L cLe incepr-rt este'obcoH.

.{i'.rrtai, l' irLIr'orlus,- rlc ,rrr .rslmr,lor r.clocabi] sl'irr gesrirrne. i:.ntorici ";i eiirbo'area moCr-r.la.,: . ir;;g;unr-rlui. Un program comptr::;.

l^"-1,..ji.i*p:'r.tit i*tr-'' n,'ri-r mare"cle Drogramc fiici" lmocluie) fr.-,carc dintrc dct'''i:, rrroriLri', iii't[ irrtrt ca un progrrrir inrlepcndcn,. r.

lt:,f:19: Toll'l loarc.fi esernL.,t.rr inccpind,ic ti aa?sr'f.liri"rr; u00 iltar cind toetc nroJrriele si'c rsrmbleLe trebuie rerrnite in piograur. .

*l:^.rll" f,ac parte. Deci,'n asamblor reiocabii trebuie ue f,orJa*, i,-.ptu.s 1a-!* de asemblonrl abs.olut. si rLn progr'rftr c?rc, s,r nn,'asc.i prog: -mele obiect ele rnoclulelor di'du-i,.rtircse abscrrrIc si car.., .i ri:].. ,-..r::-de harta rnernoriei. - r- ----- "-' !

182I

i

183

Page 3: Introducere in Microprocesoare_Part16

rneta-asamblor acestLi.r trebuie si i se introducd. tabelul cu codul rnne;rnonicelor instructiuniior, formatul instrucfiunil;, ;i;;;;;riicete pseu_'doinstrucfiunilor-iorosite pentru "..i-iip,i" .i.iop.;;;;;;.'b., un ase_rnenea program de generaie de asamblaie se poate'elabora un asamblorpentru un microprocesor care nu exist[ f.izic'.

., ., r"jr:,manre,e r:"1,:, ::il:"::":i;il",.rnic arectate de rno-oul cum reu$este s6 atruci" .(citeasci) ;i si duc-d. (inscric) datere in rne_morie. De. f1pf, -oricare proiectant de structuri de microprocesoare cu-noa;te princ_ipiul - comir.nicafia informaqiei esie mai-.o".iir"it"ore decitprocesarea. Microprocesorul gbg0 trebuie si genereze un cuvint de i6bili pentru adresairea unei locafii au"ttt"rnori" in care este stocati datace urmeazi a fi nrocesatd.. Felul cum se constr.uieste (se compune)adresa loca{iei cIL mcmorie este denumit ntod de adresire. r\Iodur dcadresare afecteaz,i;;rffi ;d;;"::,idi:#:i1fl:,1#,ry:"1."T..T,uilTffi'3r.."J,?TiXl1tul ci microprocesoarele sint inzesti;i;.r tot mai rnurte posibiliti"ti ccimplem entare a modurilot a"--"ar!."i" i{i*"p,".;:;il: fi-d;;:lt;ri:ase moduri de adresare: impliciti, a registr"tdf, ai*"te-, ii*tiiu,^ii;:directS.), cu registre^ ry-re9he, .o-Li"nte. L1 3ft-q tipuri d.e mrcropro_cesoare se mai not iniilni adresare indexatl, inclirecia, r"I"tir,.i. .t..ADRESAR\* iai;ricifn: fr.]'ta unere initiut4luii care prin{ns5;i formatul binar (opcoDEj i";il i-piirrt^i.J.trli'i" i" p"rt":ia ope-rafie. De exempiu, instruc,ti"*; d. 4,tir"r.-i..i*"ra a acumu-tratorului DAA, implicit ic t"fe.r.'aouii" acumulator ; instrLrcti**ea dcinscriere a fanionului de conditil Sib-"t".

ADRESAREA REcrsriELoR. Acest mod de arrresare a r.e-gistrului (r1g ]" regis{ru) se foloseqte .1nd op"rrna"i i*pii."t i' ope-ralia respec.tivii sc alti in unul din registrcie dt_;;;, -

Eie , n, E. H siz- Instrucfiunilc care forosesc "dr"r""rea

t" registro i",rti^"ir"r"rir"'tiiibinar.(oPCoDE) cte un.byre ;i .oaiirii" ,*gi;ti"to, l;;ii;";". Ulrimiitrei biti mai putin semnifiiari,ii ,ro, .odifi.o';;;i;i;"i';ffr"a i"r op"r",,_dului), urmxforii trei bif i.registruf d..ti";tj;;i;";'pii*ii ?Ji bifi maisemnificativi codul operiliei," figura s.Zz. todarile'impuse pentru re-gistrele microprocesorurui iini da"te io t"u.rJl.l. F;";IJA;, in accasti.form5" de instructiuni cu adrcsarc ra registru, "n"i-

ai" ,.gi.d" ;.i.;acumulatorut (al c6rui "oa

.ii"-ir ii. c"r" ,irli -i,ri"'""#"t")Lt. ".".t.,iDIDIDISISIS

CODUL CODU]L@ERATIEI REOISTRULUI. IIE ,DESIINATIE

x84

CODULREGISTRi.JLUI

sunsA

F.ie. 5.22. Reprezentarea bililor pentru cctli.ficarea registrelor surs5, 9i destinaf-ie in cadml

instrucfiunilor cu adresare la registru.

liP de adresare, se re{eri.la registrele simple de g bifi, dar existd. citevar:;rrc SC_ref€r5". 1a registre pereche, adicd. iroceseaz5.'cuvinte de l6 biti.ADRESAREA DIRECT,{. Adresar6a directd. ".t" ili*"i ;l-pi;

rrrod de adresare a memoriei. Fiecare instrucliune cu adresare directi.'online adresa. loca-tiei de memorie in care se afld. op"r"rrdol necesarI)rocesarrl. lnstrucfrunea .ocup5. trei locatii succesive in memoria del'.?F.,uo,g: ln.prima locafie. e.te codul opera-tiei, in a doua localie estel,a-rtul cel mai pufin semnificatir- al adreiei, iar in a treia locatie baitulccl mai sernnificativ al adresei. Rezurti cL o astfel de instruciiune ne:c,'site. cel.pufin trei citiri la memorie (cicluri magin[)

-gi eventual al

patrulea ciclu p:ntru esecrrfia instrucfiuirii. In consbcinla, b instructiunecu adresarc directi consurni. multe stdri ale microprocesoruiui. un:::i+l dc. ir:st.rc!iune dc lcest tip. este LDA 8F6A^H, care expriml9!_eratla de rncirclrr- a acumulatorului cu conlinutul locafiei de la a^dresa8F'6AH.

LIA4BAJ DE .\SAItrBLARtr LII,rBAJ niASINA}JNEMONIC OI)ERAND

I_DA 61i5-{HSA I}ISTRUCTIUNE3A ; CODUL II'TSTRUCTIUI{II.0-\;l8F;I ADRESA LOCATIEI.

ILDA SFC,AHr l 1 E Mo R i L

---itat_A co\lNUTuLLOCAT I EI

(.ADRESA 'e r sa IL'CAT I E I

cofrllN ir\ D D'sA

.\DREAFOlAFO2AFO3

I'Iodul de e{ccluare a instiuctiunii de cltre microprocesorul g0g0 esteindicat in figura 5.23.Adresarea in irectl se dedrice din extinderea moduiui de adresare

{irect5.. Byte-ul aI doilea si al treilea al instrucfi""iilnaiJ o adresidrn memorle, dar ln aceastd. locatie 'u se afl5", ca la adresarea directi,operandul, in aceast5. loca{ie se afie adresa a:tei tocafii ;i;;;i continuieste.operandul.necesar procesi.r.ii.. Adresarea inclirectf, este r"comaria"lidacl mai rnuii;i utilizat'lri a' acces simultan 1a aceia;i i"iior"io, (mutu-acces).

,--59DATA CERU'IAI\I PR.]iEsARE

Fig. 5.23. Explicativ5 pentru nodul de a<iresaredirecti

185

Page 4: Introducere in Microprocesoare_Part16

Fig. 5"24, Explicativd i rrrij !r edrej:,i.er.*imediatd lpentru un cu.rir,1 ir lin baiir

pi de doi bai.ir)IMVI A O',H I

INSTRJCT !

L:l!:i!1Exl

jl.|,l RUcTIu

"t !A

OA32 H

Ii 0A.l.l Hl

O P CCDE

OPERANI-]

AaJNrJLATi,rl

;5A.i tl

-5 Ai g

,r5A5 H

0P coDII

I rPtPANl

RiGts-iRliL t,irRi::t rE rl

ct4,&-s,4ft8 IfuIEDIAf a. Tn adresarea imecliati, operardul ,,_e-cesar in. procesare. este situat imediilt dupi baitut ." t.po'rrllltit cod-ir-1,opt'rafit i. Tnslruciiunea crr adr,.sare imediaii cristr .u ,r!,.-,,,r1 dr. r:r,lrart sru de tloi 1rail i; cr id.rr1, cr instrucfiunc" . r o.up, :.r

'rerrr._,.,,doui. r-espectiv trei ioia{ii, fi[ura s t; ];rito;ti"",r"l;;;at.: sint uti-lizate ptirtru. irtroclucerca co'stantelor (simpie ;;; ;rri,l;l"nn calcu-lrn cazuI crnd constanta. esle duLli (16 biti) instrucfiunca'.e folos:?irpentru introducerea unei aclrcse intr-un regiitru, care apoi se va s111i2,pent-ru adresarea memoriei (aclresare cu reg"istru perechej. Inrtrucfirinikrimediate, in raport cu ccic de acrresarre diricte,-<jcu;i;,"rir" in rnr:-morie mai redus (corrsidclind si locatia unde se "ril artoi. ji necesitiirun rrurrrir tl,'cicluri nr.ai mic- Dc crcrnpirr, instt,ictiunil",iii'::g-lra 5.Ziau in linrl,lj de a,aml,lalc forma;

I_Ii\rIlAJ ASAMBLARE LIMBAJ MASrli-{l,{NEn{On- IC 0PltR ANI)

it\/I A,05HADII]JSA I N SI'I{UCTIUNE0A32IJ -1Ii ; SE IITICARCA ACIt_rlfUI_1i"

]-ORUL CU; DATA 05H.

0,13-1ll 05i xI FI,4183FI 4-5A3ir 21 ; sli INCARCA REGTSTRLI-45,\4Fl 83; PEIiECHIi H CT_r 4.{93H.45A)II 44;

sc: ubser",iL l:L 'r-i) c1{)80 nl,:dr-rl tle asamblare in rnemorie ::l uliiLicuviul- dc rloi l;aiii;'baituj cr.I inai ir.itiri r.n,r-rificativ ll- adrr:s;i inrctiiairlLipir ccilr-i in-'tr:rrctiunii, ial liaitrri ci:l mai semnificativ ja a,dresa rrr,rI-i irtos.l'r.

,1 D li It's'1 ]i I: A L Lr 1i/:tGl,s?'R rr i' E Irll.c tIE. Adr-esa unei Locatii:clc memorie in carc sr'. aflil riata necesarii poatc fi specificatr"u prin coiu

186

t! r u"iJ -lT: a

i.l;i. Erplicati-z;i pen:ru aciresarea cu i eEi:-itrrt] peiectl.:

1.::Lutrii.unui registru pcrechc ca in fiqura 5.2-i. prin utilizare;r a,jl.es:,:crir rc-gisrrul percche, instructiunea nrimai necesiil- doi baiti in plurs i.."r,'-:. indlce adresal ca 1a cea cu adrcsare directir. Llu accst mocl'de u'd.."an..,:n r-cgistlu _pereche, spafiui in rnemoria de programe se micsoreazi sii'itrrza rie aducere a datelor cre;te, deoarece siaci' numiirul ciiluriloi .i-<:1t-ire a rueinoriei. o utilizare'obisnLritiL pentrLl aclresarea cu. regi-.trul.lr:rt.cche estc in manipul;i.rca tal-,ellclor c1e date in memorie. --\ceasrjmanipntrare a tabelcloi' se 1;azeazi.pe iaplul cir aclresa de inceput esi,.:ircir.rcatl..intr-un registru pereche, iar dqpi fiecare citir.e (sau inscriere)e. menoiiei conlinutul reg'istrului perech-e este incrcmentat sau clecr:-;-r--iitrI, deci- est_c' posibilS" adiesarea localit-i urnrtoar-e. De obicei, r..-' ,';r,:. rrer-cch,. ,? ,'itc ccl rn.ri Lrtilizat I-.c:r1r.ll lrr .:i rriur-l J,, xdi.r,:.,.:.,-rrr\.r iir.irrrctir,rni pcrmit;i aclrcsarea cir-r'cgistr-.rl" B;;7i. pri,. uri-)-'z:1.r.',,'. '.inur registru perccirc irL'ntLu ildrcsare s-ar. putcl pr-ivi loclir:.r-: inclnclic adresatl"L ca un re3isli"u al. ilicroproces.rlulr-r.i. '

-'iD1les.'4RE cu ilYDICATotluL Df. s'TIl'-i. L)e.>i roirrtr.;-r:i.,,. i _ lolo:.est" pcnLt.u utl r.r,:;rr.,,d rn..rnu!.ici. ,rtn:r.t.L L,-.,r.r''r,] rtii s.. ,r_'.i c,. tut mo,l inrir'.pr.nrlerti rlt. lti r,...lLl-- l:r ,r;).:,tSU. l'ulLr.i. r_.1 i.r:.. _

tl'rs si :..cest:r, ca un. moci cle adresare , ptnirn a exirlica it-.rncrionar,-..sii'ei. Registrui inclicator :Ll r-irfului siir-ei Sp - fiointcr-u1 stir-ti -(:izick.tsointcr). pcate fi utilizat pentr-,,r adresarea i douir locatii r.il:mcL;e -.uccesive, lii transferui rlc in{ormalie intre acestea ;i oiicalec--,1

. relistlele. pereche . ale microprocesorului. Explicalia fuirc!ionirii

iilci sti','r- s-a dat in s,.:ctiuirea 1.3, d,:Lr.s-a considerat ce stiia era compus:Lci:r registre inrerne (special clesl.inate pentru acest scop). Teoieti,c"si.:a construiti in rnemoria RAi{ pc;are avea o capaciti-fe oricit der.rr-. Sir.t po:ribiJe d.ou-i scnsuri de transfer de infbrmatie intre 'on:.;-j:'i.o perc'chc li.menoi-ie: depu'erea coniinutului unui'registru ne--r-' ire i:r Joui locarii succcsive diri.rir; {pt-sH) si scoaterca coif inrrtul":ir. dcui localii succcsii'c di' stiii qi incirca/ei unui registru'perechg(PoP). Registrui indicatoi

-de .iiril toi.1.".',.r" indici adresa u]tina.-[

iccalii ocupate- din stiv5, - indici. rrirful stir"ei. Stiva poate''fi constru.it;_?n sns, adic5" depunerile (PUSH) in memorie se fac li adrese succesi.-,',.ciescL''oare ;i respectiv scoaterea {PoP) continutu.lu.i din stir'i. se face

,ifir

Page 5: Introducere in Microprocesoare_Part16

PUSH

FDOO H

F301 H

FDO2 H

FDO3 H

]NAINTE DE DEPUNEREA(PUSH)REGISIRULUI PERiCHE B JN STIV'i

FDOO H

FDO,] H

FD02 H

FDO3 H

l'.{ ,sll.ll confinutur Tgistrului indicator de stivd. Sp era egal cu ad.resar irt*lui siivci FD01 piin instruigio""" eu"siiil;'r""rrd'azil: | _con_I irrrrtul rcgistrutui B. este.dcpu. i" ro""1i, J;;r;;iisi,1rj : FD02H ;2 - continutul rcqistrului c'este depud in tocolia aJ "a#i (sp_z) :. i'D' r H ; 3 - .31ti,"i"r;.il;;jdj;;i;;;;t" .,r#'"',,e mic;orat;rursmat cu doi Sp-Z, deci iiaice "i.t"f rii".i.-i" iiilr; s.z6,b ester-uprczcntati operatia.(instrucfiunea) pop o, a"-.."il"i oi' stivi acorrfinu_tului registrului'n, .r"h-""li,rio, virful stivei era ra adresaH".?*ft;^tstruiliunea

pOp O-se ,"ili"""rain fetut urmi.tor: 1 _ con_rlrutrlr rocatrer de adresl" i'dicatd. de virfur stivei sp es1" a"pr.-inr., ristrul E ; Z - continutui locafiei d". "dr"re iSp +ll

""1t" a"p,r, i'r'' -istrul D: s - conlinutul regisiruruii.dicator de stivd. este automatrrr;rrit cu 2, deci indice virfui ,ti""i.

. Piogramatorul poate :ezerva, in memorie , o zon6. pentru stivi deorice iungime. virfuf stivei se inifiaIi;;;ir;-i;;;;;"r "|i.#ioi progr.-printi-o instrucliune care. prescrie. conlinut;i ,"gilt rl;t

-i;; operafiilecu stiva sint utiliza_te totde'auna cind este ,r.."r"?d t"li.";;""r registre

:lt^Ti: (inclusiv pC),.pentru . ft lJorit" i,. ,ut"i"?-"iilr]rogr"_" ;iaDol se impune revenirea ra starea inifiali, situafii ilp;r; a? ffird_i:ti ntare a subrutinelor si servirea intrerupeillor.' ADRESAREA coMBINATA. unele instrucliuni au un mod dea.tlrcsare compus din moduriG pr.r"rt"i" anterior. De exemplu, instruc-

{runc;L_de ap.lare a unci subrutine cnri "..".ite "-"irtiare directiurrnati de o adresare cu registru perecrre 1"*i """.i .,i ,""girtro irrai_aa"tor de stiv5").

Alte tipuri de microprocesoare prezinti. ;i aite moduri de adresarecurrr ar fi: indexat[, relativb. etc. ($ 3.+.01.Nlodul de adresare aI unei i'strucfiuni afecteaz|" direct timpurr.i'rosar pentru executarca acesteia, cit si numir"ra" io.utiii" m"*ori"

rtifill; De exemplu, instruc-tiunil" .,i mod de "ar"r"i"-l-plicit sauIa regrstru necesitd,lo::,11

:i,1gur_bait ir, *emoiie;-;;.i' 6 singurald,:::"t" (F ETCH) s,-i- apoi proces6azi cu operanzi aej a

"xisierrli in hardulmlcropr-ocesorului. Numirul de adresiri'"t" *.-.iri"i;];1;'_" instruc_tiune, determinS. ."1 :a ^p--i9"""1"t-

ti*pul unui ci.i" i"rtr".fiune Eii),i9?rll spaliul

. de memorie consumat. Rezultd. ;e- ;i;' justificatlatlrmafra c5. pentru un microplocesor perfor-"rr,t"i" ."r. ,i"t mai multinfluc nf a tc db comunicalia iirform"liii" a".il l;;.;;;" ilopriu-zisa.

5.4. Setul de instrucfiuni la pp g0g0

- l'ainte de-a expune setul de instrucliuni ai microprocesorurui8080 este necesar a ei<plica simboturiio+ "ili""i"tiii.'i,ii"r#" l28l [36]:- registrul r.,i-rrl"iort ---- 'roLr*v rvav'L(

addr - cuvintul de adresd. cu lungimea de 16 bifi;

J_/-Ei-lo_g!E

AnREsA Si';+i,'#,DIN (irv^

CONTINUTULUIRE6ISTRULUI

b)

Fig. 5.26. L.ucrul(PUSH

DUPA DEPUN€REA(PUSH B) i]EOISTRULUI

CDI]IINUIUL REGIJ;RPiRECHE B8nrG-r;-]

I os 1., l{sr)rxuL pERtChl dJJBfQ PEi.TRU A.:i

UII: ':.ARI

a Irv srlva

II

I

I

tIUp

-rtEr1s8G-CONTi NUTUL

ADRESA LOCATILORDIN STIVA

CFOg H

CFOA H

CFOA H

CFOC H

irarNru oE sc';rirnEr,rpcp)0,,'., ,r,uo i ,0,u,,*rr,uft_rrTRU ReGrsrRu p[RECi1! :,

CFO9 H

CFOA H

CFOB H.

CFOC H

DupAscoATEREAipop;)DNsrrvi | -------EA CONTINUIUL PE$TRU REGISTRU PERECHE Dcu stivd rcalizatd in RAM: c _ operafiunea cle clepunereB); u - operaf iurre, d. ,"oat"rJ",l_''"'irl 1i,,inu;j*.

in sti'r5,

de la adrese succesive descrescl.toare. DacL stiva cre;te in jos, pri*opera!ia de pUSH ,adle1c.!c ro."1iiili'ii";;;; ri,u !tl)"r" succesir.,iar p_rin operatia de pop ;;;;i;'Jrt crescure succcsiv.Pentru microprocesorur E0g0 stir-a cre;te in jos. in figura 5.26, aestc reprezentaid opcratia (iustrucriun"rj',i""ir'ui'H"h:'r rnaintc rre

lBB

-:,_

PERECHE

CONII NUTULRE6ISTRULUI SP

i89

Page 6: Introducere in Microprocesoare_Part16

da.ia - crllintu.I cje clata cu lungimea .le g biii:r/a/,a tr6- cuLr-intu] tle ciata cr"r..lungimea ele j6 bili;hail 2 - al doilea bair al instiuctiunii;: ,a.l 3 - al trcilca Lair al iusrructiurrii :

r'""i -- cu'i'L cu-_1'rigir*ea dc g rriti care estc J,--:..:c ull,,:, 1..rr.:'lltrale;ie;rre :

/ t '.,1- r.rrrr:l din :.cgisti.cle .1 , B, C, ll, E, H, L;xr'jl,.Ss-9 -crir-int formar din trei biti .^t"'reprezinti. codul un.,ria clira:egistrele 4.8.C.D, E,Il, L tDDDi coUuf r- ,i.rr*ul,ri . - dc-,_ti na{ie,. s'.ss.- c.odul- registr uiui sursiL). c"aiil ii.-*rcs :-r LLrz i: -

toal'e sint cele clin tabeiLrl :.1 "

- ,r:rrrl ,iirt rc.*i.r.r-ele pn6,6j1* (R _ I] . f It _ L li,trI -, l-{ - 1., sF - strrck poirrtc,r;;-_ cu-r-.iut form;rt tiin d_cr l.,iqir r::-r.c rcfrezinti. corlul unr-_1.i tli:;',registr eIc' .ircl'e.irc. co,iurilc curespunz:lto:Lre sint c..1,, din.tairelul 5. i ;

- rcgistrul ccl l'a i se ninificatii- :,ri urei pe r,,cJri <re r.i,iist; ,,:i,:llL-ot'd. r :

- ,egis'Lrul cti mai p'"itin semnificati'al urei pricciri cb i.:.l.istret.[or',--or.r.1erj j

- cr-lf iiltril cii'i(' Liti corilinut in registrul num:ir::toi- cL. r,-ires.,:ilq$ - i,,aj1-Lrt ci.t mai'semnificaiir.) ;PCL - I'aitrrl trl nrai putin sr_.mnii'icatir,) ;

- .ui'iiitul cie i6 l-'i i cortin.t in regist.rl inclicator ci,,, sti'a.isPFI - baitul cel*raiscmnificativ il adresei t-irr"r,.,i strr,.i,sPL - baitr-rl ce'i nai pntin scmnificati'l tr "ai.r.'r'rii,-rr,,i,stir-ei) ;

- lritul .ria a1 crr.intulLri ciintr_In l9,S]s_try,Qn: A,1,2,.^..,7i:.i', C)-. -JC - farioarr.le.ct^c c_ondiii*, ZiZnnO),:1.e.rtXl.'i i,t_SI!,\Ttr), Lt{ fRA\SpORT1, b.;' qrn,o,ispOli-i.'-i.*_'_ur,llln,'.

- -co:r{inututr jccaiiei de rnemorie, sau al unui re::jstru, :_;. c;liLri:i

adresa sau simbcl este cr-rprins in parantezi;-,:_:".^1.,.: esic in partea dreapti a sAgelii se rrar_i;t{:re i,n;r;.r.te;:

:II1]Sa;

- iI lo.ti" :

- SAU EXCI-LISI\-:- :.1\LI ]osic (:-\L I \CLL >I\'7 i

- adur:ale:- scidere. in corlplernent fa{i rie cioi ;- lllulttp.licat-(:

- cele douir valori sint schimba_te intre ele;

-1"-^-'; - crir int for"nrrf Jirr trei bi!i ce poar-e coclifica i:: ..j:rar sirrri,. ,l.r:ilc zecirr:,tlc 0. I , Z, ...', j.

i90

rp

,li'

'r /t.

".t

t,

7r-

o

Avv+

.s-

Iir crr,:itirluare se \-or descrie cele 7Z de instructiuni recunoscutel, . lr)l'of)rou!-trorul 8080, foiosinrl pentrri fiecare instrucliune urmltoarearr, ,.rr siunc in forma de prezentare [28]:

- in.rl-rr-icliunca in lirnbaj de asamblare, cu denumirea (in iirnba:r;1l,.:ir) in partea dreaptS" i

clc.r:nerea sirnboXici a operatiei realizatl de instrucfiune;-- f.rrmat',rl in limbai icod) magini a instrucliunii;- explicalii rcfcritoar*: tra numlrul de cicluri 9i de st5"ri necesare,

,n(){lri: dr: irjre sare si. fanio;rnelc afectate in urrna exe'cutlrii instruc,liunii.r Ii );rt i exista iiouiL variantc dr: execulie a instruc{iunii atunci valorile

lrir cloul-t nrirncie, alc st'J"ri1or consurnate, sint despS"rlite prin linie:

" ,lir i-i - -.ia:ir.) j

- exr;i.nirk' de scricre in lirnba"j c1e asamblare a ciiferitelor varianteir ir'stLur-tinni si eventuan prolrarnc.

5"4..1. Grupul instrilitiur'rilor de transfer

Accst ELLUI de inrir,lcli'.rni este utilizat pentru transferuL infor"ma-r,lrri, ::irb forma 'le cuvintc, intre rcgistr:e, sau intre registre gi mernorie,{lr:;i;:,rctiuail: rli: trans{cr nu afecteazS. {anioanele de conditie,

\ HSl- rtr, r?{r," 1 + ii21

( llor:e /egiste;' )

i,ler;rii,rr.rtul r,-.jistrului 12 r:i',. r1,-,ptr;l.at iil L',3i.ii'ul ; I

:sr..trL,iui rZ n't se modilici..['ic,r,rr:itul 1n limbaj maqin;i.:

contr.nutril re-

OPCODE

.D;stina!ieI

5i;,1 rrgistiu

I{l\" B,A

I,I0\" ,\,8

l,ii)\"T-,H.

:1,I{)\- C,C

S.\L \-8.\ZA CO]\ T. A{: LTbTULATORU [-LIN I :].it.)

I\C,\IiC,\ AC{-I,ILTLATORLIL CLI COi\l'{-),u.t'uL Iiiic. B.INCARCA REt;{,i fi"-L:n- L C{- CONT{i^i{- { LrLREG. H.II{C;\RCA C CL: C, NICI O OirilRAtrf[,COS.qLr-1'{A }'IAI },[L.tr-TE ST-\IiI ir]ii-i'f'I\ STR{-TC'|IUstr,\ }iOP.

r-1.--r--.-;.

l':L c.i er:t are :

.Iia-rtioane:j-' :':u \ltr.':r n'AR-f :

ti{ {-11_.:lP:

1 {-,} 1


Top Related