introducere in microprocesoare_part20

6
negativ, adicd' continut.ul acumulatorului este mai mic decit (byte 2), iar daci s : 0 inctica (Ai t (;;i;;i. i; cazut cinJ a.;;;fi;i transporr CY: t, atunci aceste't-Jsie ;;;;#;#:,ctc, deci-est"-;;;; a se g[si relafia de ordonar" i" i"".gi. l;";";;."" fanionului Cy. -- CY. Daci cei^doigperanzi,au acelasi semn;i (A) > (bait 2) nu aparc imprrrmul, deci Cy-: C (de cxcmplu, instruc,tiunea, CpI A0H) tar dacS' cY: [ /instruciiu".u c]t fzril-..i d.oi operanzi sintin rela_ tia (A) < (r,ait 2).'pentru'cur,,i.l,riri'*;6r;;i"iirii*",'"iJi;asi rclafii dc ordonai" p.od.,. ,"i;,i-l;i;;liJ i",,Tr., cv. Testarea fanioaneror z $ cy a".in .,r*atoarele reralii cre ordonare: rloirlrlrislsjs I opconn Cicluri : 1 Stiri : 4 Adresare: la registru Fanioane: Z,S,P, CY, AC lixenopht,: SCAI}tr DIN AL i. NU SE MODiFICA (-rltP B (.N'TP A 45 Cl*{P M CONTINUTT]L REG. B SE ACU]\{{,TI-ATORULUI. SE PUNE FAT{IONUL Z: ACUh{ULATORUL. Semnul operanzilor Valoarea fanionului Relalia de ordonare orlcale oricare acelagi acelasi diferi't diferit Exernplw: Aceastd unui cuvint de un (A) : (bait (A) I (bait (A) < (bait (A) 2 (bait (A) > (bait (A) < (bait , ut,ilizatii pentru compararea test rrnpus5", VAL. TEST IMPUSA. ACUPIUI-ATCR CUVINTUI. (Cowpare register) (Cot'n.fare menict'y ) (Roiaie leJt zuith carrl') instruc!iune poatr, fi bait cu o valoare dc ; VALOARtr DE SE ADUCE II{ DE TtrSTAT. 2) z) 2) 2) 2\ 2) Z 7 CY CY CY CY _1 -0 :0 -1 :0 (A) - ((H)(LD Confinutui localiei de rnemorie, a- cErei a.dresl este specificatx in regrstrul pereche_ H, se scade din continutul acumulatdruiui, rezul- tatul nu -aqare^ nici u'cic, dar sint afeciate r*";"""Li." .or"rf"""nto, rezultatului. confinutul actimulatoruiui nu se modific6.'cei doi operanzi sint conliderali numeie irit*i", cu semn, in cornptremeiit fa{i"._de._ doi. Z: 1. daci (A) : ((H)(L)); Ct' : r-O"ia''1a; I < ((H){L)). TtrST: EQU VAL LDA ADRS. CPI TEST JZ T i\T/- .t I I v (A) -vAL:?. (4) : vAL, sAr-r LA {A) > vAL SAi_T LA. ... . . - (A) < \rAL, SE CONTrhiut PROGRAT,{UL. comparare a c'r'inte10-.,rnriltiir a it se pro ce de azi sirnilar, adic 5 succesiv, baili de acelasi r""g, inc'"pi";,1;l;";;;;; ;:;; m 1l1jol opCoDE Ciciuri : 2 Stlri : 7 Adresarc: cu registru pereche Fanioane: Z, S, P, CY, AC Ii xentpl,u: LXI I1,4zi83I{; SE PT{ESCRiE, IN IiEG. ptr}tECHE }I. ; ADRESA 44837't. CMP M ; !F COMPARA COI{TII{UTLrL ACUMUT,ATORULLTtr ; CU CtrL AL LOCATTEI DE i_A ADRESA 4483H. Pentru se compard. superlor. {44) cMx, (A) - t (o) 46 RLC c-onfin*tul registrurui r este scizut din conlinutul acumuratorufui, rezultatul n* este i'.scris nici unde,--iar sint afectate fanioanere corespunzitor rezultaturui,care ur ti t."turt ;t ;p; il"".,J*orutoo. conlinutul acumuratorului gi t"iiii*i,ti"r ,ri se modificd.. cei <ioi operanzi sint consiclerali .numli.;-il;;;-, cu semn, rcprczentate in comptement fati. a" bloi.--Z'_"r A;" (;i:'(;i;,iy'I"i a^.a (A) < (o). (4,*r) * (A"), (Ao) *- (Ar), (Cy) .- (A?) Qgnfinutui acumula-to.rlui este rotit, cu o pozitie, spre stinga. Bitul cel mai semnificativ din a.cumurator A, de diiplaseJzi. in fani- onul de. transportcY;i in p.or.)!\a bitului cerui ruai putin semnifi- catii', figura 5.31, a; nurnai CY esle afectat. 228 225

Upload: mesuzana-1

Post on 10-Feb-2016

239 views

Category:

Documents


0 download

DESCRIPTION

15

TRANSCRIPT

Page 1: Introducere in Microprocesoare_Part20

negativ, adicd' continut.ul acumulatorului este mai mic decit (byte 2),iar daci s : 0 inctica (Ai t (;;i;;i. i; cazut cinJ a.;;;fi;i transporrCY: t, atunci aceste't-Jsie ;;;;#;#:,ctc, deci-est"-;;;; a se g[sirelafia de ordonar" i" i"".gi. l;";";;."" fanionului Cy.-- CY. Daci cei^doigperanzi,au acelasi semn;i (A) > (bait 2) nuaparc imprrrmul, deci Cy-: C (de cxcmplu, instruc,tiunea, CpI A0H)tar dacS' cY: [ /instruciiu".u c]t fzril-..i d.oi operanzi sintin rela_tia (A) < (r,ait 2).'pentru'cur,,i.l,riri'*;6r;;i"iirii*",'"iJi;asi rclafiidc ordonai" p.od.,. ,"i;,i-l;i;;liJ i",,Tr., cv.

Testarea fanioaneror z $ cy a".in .,r*atoarele reralii cre ordonare:

rloirlrlrislsjs I opconnCicluri : 1

Stiri : 4Adresare: la registruFanioane: Z,S,P, CY, AC

lixenopht,:

SCAI}tr DIN AL

i. NU SE MODiFICA

(-rltP B

(.N'TP A

45 Cl*{P M

CONTINUTT]L REG. B SEACU]\{{,TI-ATORULUI.SE PUNE FAT{IONUL Z:ACUh{ULATORUL.Semnul

operanzilorValoareafanionului

Relalia deordonare

orlcaleoricareacelagiacelasidiferi'tdiferit

Exernplw: Aceastdunui cuvint de un

(A) : (bait(A) I (bait(A) < (bait(A) 2 (bait(A) > (bait(A) < (bait

, ut,ilizatii pentru compararea

test rrnpus5", VAL.TEST IMPUSA.

ACUPIUI-ATCR CUVINTUI.

(Cowpare register)

(Cot'n.fare menict'y )

(Roiaie leJt zuith carrl')

instruc!iune poatr, fibait cu o valoare dc

; VALOARtr DESE ADUCE II{DE TtrSTAT.

2)z)2)2)2\2)

Z7

CYCYCYCY

_1

-0:0-1:0

(A) - ((H)(LD

Confinutui localiei de rnemorie, a- cErei a.dresl este specificatx inregrstrul pereche_ H, se scade din continutul acumulatdruiui, rezul-tatul nu -aqare^

nici u'cic, dar sint afeciate r*";"""Li." .or"rf"""nto,rezultatului. confinutul actimulatoruiui nu se modific6.'cei doioperanzi sint conliderali numeie irit*i", cu semn, in cornptremeiitfa{i"._de._ doi. Z: 1. daci (A) : ((H)(L)); Ct' : r-O"ia''1a; I< ((H){L)).

TtrST: EQU VALLDA ADRS.

CPI TESTJZT i\T/-

.t I I v

(A) -vAL:?.(4) : vAL, sAr-r LA{A) > vAL SAi_T LA. ... . .

-

(A) < \rAL, SE CONTrhiut PROGRAT,{UL.comparare a c'r'inte10-.,rnriltiir a it se pro ce de azi sirnilar, adic 5succesiv, baili de acelasi r""g, inc'"pi";,1;l;";;;;; ;:;;

m 1l1jol opCoDECiciuri : 2Stlri : 7Adresarc: cu registru perecheFanioane: Z, S, P, CY, AC

Ii xentpl,u:

LXI I1,4zi83I{; SE PT{ESCRiE, IN IiEG. ptr}tECHE }I.; ADRESA 44837't.

CMP M ; !F COMPARA COI{TII{UTLrL ACUMUT,ATORULLTtr; CU CtrL AL LOCATTEI DE i_A ADRESA 4483H.

Pentruse compard.superlor.

{44) cMx,

(A) -t

(o) 46 RLC

c-onfin*tul registrurui r este scizut din conlinutul acumuratorufui,rezultatul n* este i'.scris nici unde,--iar sint afectate fanioanerecorespunzitor rezultaturui,care ur ti t."turt ;t ;p; il"".,J*orutoo.conlinutul acumuratorului gi t"iiii*i,ti"r ,ri se modificd.. cei <ioioperanzi sint consiclerali .numli.;-il;;;-, cu semn, rcprczentatein comptement fati. a" bloi.--Z'_"r A;" (;i:'(;i;,iy'I"i a^.a(A) < (o).

(4,*r) * (A"), (Ao) *- (Ar), (Cy) .- (A?)

Qgnfinutui acumula-to.rlui este rotit, cu o pozitie, spre stinga.Bitul cel mai semnificativ din a.cumurator A, de diiplaseJzi. in fani-onul de. transportcY;i in p.or.)!\a bitului cerui ruai putin semnifi-catii', figura 5.31, a; nurnai CY esle afectat.

228

225

Page 2: Introducere in Microprocesoare_Part20

Cicluri : 1

Stlri : 4Fanioane: CY

Exemplu: Dacl, (A) : B3H ;ifiunii RLC, se obline (CY) -4'7 RFTC

Cicluri : 1

St5.ri : 4Fanioane: CY

Eryn+plw: Dacn (A) : B3lI ;i (CY) :RRC se obline (CY) :0, (A) : 0i01

8rTo)

Fig. 5.31. Instrucliuni de iotirerotile spre stilg,r, I{LC;

230

(CY) : 6, dupi executarea instruc-1 9i (A) :01110001 :'11H.

(Rotate righ,t with carry)

OPCODE

Cicluri : I

Stiri : 4I"anioane: CY

Dxent'plu,: Dacl (A) : B7H;i (CY) :0, <lupi executarea instrucliuniiIiAL, se ob{ine (CY) : i ;i (A) :0110 1110:6EH.49 RAR (Rotate right tltrangh, carry )

(A,) * (A,nt), (CY) * (ls)

(A?) +- (Cy).

Conlinutul acun-rulatorului este rotit, cu o ;,ozitie, spre cireaptasi prin fanionul de transport CY. Bitul cel rnai pulin semnificativeste deplasat in fanionul de transport, iar fanionul de transport CYeste deplasat in pozi'iia cclui mai :emniflcativ t',it al acumulatorului,figura 5.32, b. Numai CY estc afcctat.

I ol ol o_Lt I t I t I t i t i opcoDECicluri : 1

St5,ri : 4Fanioane: CY

Instrucliunile de rotire genereazS. procedee de testare a valoriiunui bit dintr-un bait prin deplasarea corespunzS,toare a continutuluiacumulatorului gi testarea fanionului de transport CY.Exenoplw: Dac[ (A) : BTFI ;i CY : 0, dupl executai:ea instructiuniiRAR, se obline (CY) :1 ;i (A) :0101 i011:5BH. Se vor prezentain continuare dou5. subrutine care utilizeazd" instructiuni de rotire aleacumulatc'rului.

SUBRUTINA PEI\TRLT DEPLASAREA SPRE STINGA CUUIV BIT AL UI{LTI CUVIIIV: FAITMA:I DIN 7-REI BAITI.LA INTRARE I]Y SUBRUTII{A CY : O

START: LDA CMPSB;;

RAL :

;

CMPSB,BYTEZ;

BYTE2;'CilI:'B ;

loiolololoirlrirl OPCODE lolololliolllrlli

A, u (A,rr), (Ar) *- (,,{o)

(cY) -- (,a6)

Qonljnutul acumulaiorului_ esie rotit, cu o pozifie, spre dreapta.tsi1"ul cel mai pu{in semnificaiiv din acum*litor'As se deplaseazb.in fanionul de transpoit cY si in pozitia celui rnii semnificativ.figura 5.31, l,; nuin ri CY e;tc aleclat.

OPCODE

0, dup5. executarea in;trucliuniii100 : 5cH.

48 RAL (R.otate Left th:,ough car/)t)

(4,,*r) * @"), (CY) *- (Ar)

(,46) *- (CY)

Conlinutul . acuinutrato::uiui este rotit, cu o p"tziiie, spre stinga;i prin faniorui 11: trninsport cY. tsitul c,:l rnii semnificativ esledeplasat i1 CY, iar CY este depiasat in pcziiia celui rnai puiinsernnificativ bit ai acumrla,torului, figura -5.32,'

o, Nunri Cy esteafectat.

lololololrlrlrlrl

LIuia - instrucliune de

dreapta, ltRC

STALDARALSTALDA

SE INCARCA BAITUL CEL JITAI PUTINSEivlNIFICATIV.BITUL A7 Str TI?ECtr IN CY IAR AODEVINE:0.Str S'IOCHEAZA REZL,LTATUL.SE INCARCA I]AITUI, AL DOILEA.SE ROTESTE CU U}i BIT.SB STOCI]EAZA BAJTU]- AL DOILEA.SE ]IiCARCA, BAITUL CEL MAISE-l,INIFICA]'IV.

a conlinutului acrrmulatorului:b - instrucliune de rotire spre

o1i

Page 3: Introducere in Microprocesoare_Part20

oiFig. 5.32. Instrucliuni de rotiretrarrsport, CY: a - instrucliune

RAL

STA C},{SB

RET

BIT

bl

-a cottinutului acumulatoruluide rotire spre stlnga, RAL; 6 _

spre dreapta, RAR

:-E_B_OTESI'E CU UN BrT, sE prEnDr,i;9IruL DrN PozirrA A. ', "- L Lu)

:P_plqqHF,AZA BArriIt cEL MArSEN,{Nitr{CATIV.

*PI{f_0ARCERE rN PROGRAMULPRINCIPAL.

gi prin fanionul <Ieinstrricfiune de r.otire

F;g. 5.33. Organigrama subrutinei de serializare

Pentru transmiterea inrormaliei pe o magistrale de un singur f-ir,de exemplu, pentru un tctetype,-"iiiii"",. pirroruioi aJ banci etc.,cuvintul din resistrir acumuiat6i ir"uui'"^r"ri alizat. Forma rie transmisieseriali, a unui c"uvint .r9 "" t;i;;rt";;;.?..ltaginfigui" r.l. i" incepu_tul transmisiei se trimite (d" .;;i" i. ri,-,;u t;;;fi;iiiei ce date)bitul de start: o, apoi.tigli".rti;ri"r""i;i al zec.,rea i,it

"rr* Jritrrl destop - 1. Frccventa ln bauzi* /hl;j;;;,,c.ontum a r r

"i ;; t*;, ;i # f ; oH'l { ;i ::'lill.?:",:,'"0 *f,: :

"l;' tJ f ruilizare prin sof i ar put"" fl1"r-;;ir'l; rubrurina cu orgarigrama dinllgura 5.33, cu urrnitoarea formd i,i l,_rrul t-lc asarnblare:SUBRUTTNA pEryIfq sDRrALrz,tRE 1,ELE|,.pE. sEINTRA r.^/ suaRUII-Ar,,1 .f CiT,fiiT_('L DE SERIALIZAT1.^/ REGI.$TRUL C !LEqV*tr"Aii,B"),UN SE FIXEAZA PRITIT{MPUL CII{S{]MAr fu iiE{u:iINA DET-AY,

SUBRUTINA DELAY PRODUCE INTIRZIEREA DE g,/ ]UIS(DACA NU A?ARE STAREA 7: WArrl.-Toiir.up',bovaBUCLE SUPRAPUSE SIMILAR CA Tt'V SUbNiT}UdTNTTRZIERE LUNGA L-fL DE LA EXEM7LU.-Aids,q,ttII{STRUCTIUT{II DCX r/, 31.

SE POZITIONEAZA IN AO TIR}IATORUT\BIT.SE PRESCRIE BITUL DE STOP CY-ILYE4L TNSTRUC. s1).SE DECREMENTEAZA CONTORUL.F) + O ? ATUNCI SALT LA ADRESAiNCA.REINTOARCERE IN PITOGRAMULPRINCIPAL.

SE trNCARCA PRiMUt CONTOR CU N:6.SE INCARCA AL DOiLEA CONTOR CUP : 200.iNTIRZiERE 1,5 MS IN BUCLAINTERTOARA.

SALT LA ADRESA DLO.REINTOARCEREIN SUBRUTINASER.IALIZARE.

RAR

STC

DCR BJr z rt{cA

RET

|TYGUT: Mytr 8,10 ; SE p{?ESCi?{E CO},.TORUI_; (REGTSTRUL B).i,IOV A,C ; ceiiect.enul-*ijn SERTALIZAT SEINCARCA IN ACUMUL.cr{A A , ;g elfdfiubii"bjil,r ne srARr,CY: g.

RAL J CV: O SE DEPLASEAZA IN POZITIA

DELAY: I,M D,dDLO : MVI 8,200

DLl : DCR E

50 CMA

Q{ -- (A\

rNCA: ouru j..S_iryt??fq%ti,3fY.L"*rErypEcAr.L DELAJIBi:$iitxil 'fli,;^ ; rNrrRZ(YEZL IITSTRUCT. s5).

JNZ DLlDCR DJNZ DLORET

* Dupd. numele inventatorului J.M.E. Baudot.

232

-

233

1i\]SIRIE INV,41 NARFA

TRIi'1ITT UI] tsIT ALtUVINTUi-Ul PE LIN A Co

A |'IAGISTRAIII DI DATI

lNl IRZIERE 9.1 ms:JUERUTII']A DFl tY

S -AUti.lit'lts 1c BtTi?

( C ornpl,ement accwmulator )

Page 4: Introducere in Microprocesoare_Part20

lo I ol r lo I t I r I i / rl opcoppCicluri : 1

St5.ri : 4Fanioane: -

Exanliw: Prin aplicar-ea instrucliunii ClfA, dac5" sc presupune ciacumulator era (A) : 1010 1100: ACH, se obline (A):0101 0011: 53H, ceea ce reprezint5. complernentul fa{X de unu.

I ol ol t I 1 I 1 | tl tlt I opcoDE

Cicluri : 1

Stdri : 4Fanioane: CY

{i xewplu:

CMC; SE COMPLENIENTEAZA FANIO}{UL CY.

Instrucliunile set carry STC gi cornplementeazi- carry CMC permitprogramatorului controlul asupra fanionului de transport. Controlulasupra bitului CY este important, in operalii, unde valoarea inifiali. aacestuia este prescriptibilS", cum ar fi utilizarea instrucfiunilor R.AL;i RAR. De;i nu existil. instrucfiune de ;tergere a fanionului de transportaceastl operalie poate fi realizafd, de urmS"toarele doul instrucliuni1

STC; SilT CARRY, CY: 1.

Ch{C; RESETEAZA CARRY, CY:0..A1te forme Ce instructiuni care realizeaz'a- reseiarea lui CY (;i respectivAC : 0) sint:

OITA AANA A

.Aceste instrucliuni nu rnodificil, conlinutul acumulatorului, dar afec-teazl celelalte fanioane (5, Z, P).

Grut'wl'instr ucliunilor lo g'ice :

- Operafia logic[ SI intre acumulator ;i unregisttu (Andaccutnulator uitk re gister ).

- Opera{ia iogicS" SI intre acumulator ;i o loca}ie de memo-rie (A'nd accutn'ulator wilh m,e'm,ory).

- Operalia logic5, SI imediati cu acumulatorul (Anitimru'ed'iate ).

- Operalia logic[ SAU EXCLUSIV intre acumulator ginn registru (EXCLUSIVE OR reg'ister).

- Operalia logicl SAU EXCI-USIV lntre acurnulator 9io'localie de"memorie (EXCLUSIVE OR tnewory).

- Operalia logic5. SAU EXCLUSIV imediatl cu acumula-torul (EXCLUSIVE OR i.mtnediate).

- Operalia iogici. SAU intre acumulator si un registru(OR accwnulator ztiilt reg'ister ).

- Opera{ia logicir SAU intre acurnulator si o locafie dememorie (OR accumwl,ator with wernory).

- Operalia logicS" SAU imediatS. cu acumuiatorul (ORimmeCiate ).

C cr, iir rii r'1rezultatulfanion.

acr rrula{cr uJlise obline tot in

tsic c<nrpltmcniat (0* l) siacumulator. Nu cste afcctat

(1 -+ 0)"nici-un

tn

C}{A

XRI I'FH

CO}TPI-ENIENT FATA DE UNU ALACU}'TULATORULUI.COMPLEN,TE}iT FATA DE UNU ALACUMULATORULUI DAR SINT AFECTATEFANIOANELE Z, S,P.

(Set carry )un alt fanion nu este

AceastS- instruciiune (CI,IA) poate fi utiid. in calculul complemer-tului fali de doi. (1e complementeazi;i se adaug5. 1). Foarte util5. aparegi in cazul cind informatia se prime;te, sau se trimite, pe magistrala dedate in Iogic5" negativi (din considerente electrice).

51 STC

(CY).- 1

Fanionul de transport este pus pe 1. Niciafectat.

I ololl t I t i ol t I i I tj opcoDECicluri : 1

Stili : 4Fanioane: CY : I

Exem,plu:

STC; }.ANIONUL Dtr TRANSPORT ESTE PUS\.ALOAREA 1.

52 CnlC (Conrplctncnt cat ry )

(cv) .- (alz)

Fanionul de transpcrt CY este cc,mplementat.nu cste afectat.

234

PE

;\NA T

ANA M

AliI data

XRA r

XRA M

XRI data

OF.A r

ORA M

ORI dataNici un ait fanion

235

Page 5: Introducere in Microprocesoare_Part20

CMP r

CMF n{

CPi Cata

RLC

RR.C

RAR

RAL

STCC},,IC

CMA

- .C9*pg3re. intre coni_inutul unui registru cu cel al acumu_latoruhii (Contpare register )- Comp-arare intre co_nfinutui unei localii de memorie-cu

cel al acumulatorului (Contfare rctetiory).

- Comparare imediati a baitului cu continutul acumula-toruiui (Com.pare irntnediate ).- Rotirea acumula.torutrui (;i a fanionului) spre stinga

( Rotate leJt zuitlt can y ) "

- Rotirea acumulatcl-uiui (gi a fanicnrilui) spre clreapta(iioiale .right zait/t, rerrl,).

- Ir.ctirea acumulatoruiui spre dreapta, prin fanionul Cy( Ratate accwntulator throigh oarr j 1.

- Rotiiea acumulatorului spre stinga, prin fanionul Cy(Ratate rtgltt throwgh cari3t).

- Setarea fanionulrri de transport (Sef carry ).-- Ccnrplernentarea. fanionului de transport (Cotnplem.enf

carry ).- ccnrpleme't arca acum*lator ului ( c ant prem ent acct*i,rla-

tor).

5.4.4. Grupr.rl instrucgiunilor de saft

Condilia (re,{eritoare la Z, Cy , p, S ) Cod.

NZ - nu este zero, Z: O 1"ot ,"to;

-

000Z^- estezero, Z:1 (zero) 001IiC - itu este transport,' CY': 0 (not carr-\r) 010C - existl transport, CY: 1 (carry) 011

FO - impar, P:b (par-itrr ocid)' 100PE - par, P: i (paiity evcn) ' l0lP - numdr poziiiv, S:0 (irirrs) liO\[-uumir iregaliv, S: r ihinus; ltl

53 JVItr addr (Jumf )(PC) +- (bait 3) (ba;.t z)

.SoJ! . (-t.tonCilionat) la instr'.r.cliunea <le adresI specilicatl_

baitul 3 gi z al iastrucliunii JMp. Adresa d,e sar.t este'inlrodusi.num5.r5.torul de adrese, vechiul continut al lui FC se pi;rd,e.

rntn

irl rlolojoloil,tlrrrrl

OPCODEBAITULINF'ERIORBAITUTSUPERIOR

\

'\L!aonnseror laLLl.. Grupul ins-trucfiunilor de-sait_ schimbl succesiunea de cregteie in

ordinea rrril:flerelor naturale a adreselor instructiuniior scoase clin memoriace programe, prin prescrierea in numi'i-torur de ad'ese pc a unui alinr:mE.r. Fiecare instruc.liune..dq t4!_orep1 in memoria de programetrei ioca{ii succesive, pdrna fiind oPCoDE, iar urmirtoarele go"re;g;fina<fu'esa nouE- ce se inscrie in numrri.torul de ad.rcse, pc. Dupa rnscnereai" .PC microprocesorul va ruia programul ctre la aceastE iroui adres;i.F+tttl doud. tipuri de salt in program: necandiliorcat gi corr,d,i!;orit. {ifntilnirea-in program a unei instrorc!,iurt,i de salt necondiiional, micro-procesorul .pirdsegte modul de rulare in ordinea cre;teiii naturale aadreselor. ;i va s5,ri obligatoriu la adresa conlinuti in'ultimii doi baitiai acestei instruc{iuni. In schimb, la intilnirea unei ,instrucliuni a, ioltcandi{i.onat, microprocesor-ul va rula de la noua adresi numai daci esteindeplinit5" o a.numit5.-condifie, .sau daci nu este indepiinitd. conditiava rula in continuare (frri satt) in crdinea cresterii natuiale a adreseioiin g9ryor1a de programe. structurite de progiame ,cu ramuri -uriipr"pot tr rmpJcmcnratc cu ajulorul inslrucliunilor de salt conditionat. con_difia 9ar-e determini efectuarea instrucliunii de salt rezulti in urmatestirii fanioanelor de condifii. Acestea (2, s, p, cy) {urnizeazi unnumd.r de 8 posibilitlli ce salt diferite, iodificate in' felul urmbtor:

236

'-1 |llt_

Cicluri : 3Stiri : i0Adlesare: ime'ji.at5.Fanioane:-

I xintN,! u:

JHP A3B2II; SAL'I FIECCNDI'i-{C.,.IAT LA AD|TESA A3EZi{.le{P START; SAI_T r{ECOI\DITICi,{At- LA ADRESA CU

; EfIC{fEt'A STARI.

In figura 5.34, a este reprezentat traseul urmat in memsria deprograme pentru o instrucliune de saLt necondilionat JNIF ADRS.

.51 jconditicn addr (Conditional, jutnp )Daci (CCC), PC *- (bait 3) (bs.it 2tDaci condigia specificati est'c verjficatS. atunci salt la iirstructiuneaeie adresS" indica'ii in baitul i,gi-z al instruciiunii Jconclition,'altfelse continuS" cu instrucfiune-a de la aclresa nri"i.to"i", figura 5.34, b.Adresa de salt este introdus5 in numi"rb.torui de adiiie, vechiulconlinut ai lui PC se pierde.

-

237

Page 6: Introducere in Microprocesoare_Part20

OPCODEBAITULINFEITIORBAITULSLTPERIOR

rc ADRS I

_r r'1P ALIRS

OPCODEtsAITUI-II{FERIORBAITUI-SUPERIOR

o'Jou,.uru,

O'JCiciuri : 3litiri : i0.Adresare: imediati.Fanioane: -

Exemplw:

JNZ ADRES;it:

JZ ADRES;?,

JNC ADRES;

JC ADITES

Jlo ADRES

JPE ADITES

ADRtrS;;

ADRES;;

In figura 5.34, D csteprograme de o instructiune

55 C,{LL addr (Cail )((ql) _ lJ <__ (PCH)(1ry) - 2) <- ( PCL){sr) -(sP) _z(.PC) * (bait 3) (bait z)

reprezentat trasenl generat in nei-noria dede salt conditionat JC ADRS.

]rlllololl]lltl't

lllCicluri : 5Stiri : t7adresare : irnediatd/cuFanioane: -

PACA REZULTATUI- NU A FOST ZERO, Z: CISALT I-A ADRES, ALTFEL CONTINUA CUINSTRUCTIUNEA URTIATOARE.- --

DACA REZULTAIqL A FOST ZERO, Z:1, SALI.LA ADRES, ALTFEL CON:IINUA

''TJINSTRUCTIUNEA URMATOARE.DACA NU EXISTA TRANSPORT, CY:0, SALT_L,1,ADRES, ALTFEL CONTINUA'CUINSTRUCTIUNEA URMATOARF].DACA EXISTA TITANSPORT, CY: 1, SALT LAADRES, ALTFEL CONTINUA CIIINSTRUCTIUNEA URMATOARE.DACA REZULTATUL ARE UN NI]}trAR IN{PAR?^E_,PJli 1, P:0, SALT LA AbRES, ALTFEiCONTI}{UA CU INSTITUCTII-INEAURNIATOARE.!4CA REZULTATUL ARE UN NUMAR PAR Dtr9_rJI 1,,p_= 1, SALT LA ADRES, ALTFEI, COliTi l{uACU INSTRUCTIUNEA URNfAfOARE.DACA REZULTATUL ESTE U}T NUMAR POZITIVS : O, SALT LA ADRES, ALTFE' CbirifUA ^CiJ

INSTRUCTIUNEA URMATOARE.DACA REZULTATUL ESTE UNI NUMAR ]{EGATIV.S: 1, SALT LA ADRES, ALTFEL COXTTXUA CUINSTRUCTIUNEA URMATOARTi.

h1

Irig. 5.34. Traseu prin m:rnorie det!:rminat de o instrucfiune de sllt: o * saltrreconditionat, JIIP ,\DIIS; b - selt daci c.<ist5, transoort CY : 1, Jtl ADRS

ADRs.1

ADRS

A0RS*1

Se pirirse;te necondilionat secvenla normal5. a programuiui ;i seface salt Ia rularea subprogramului, a c5.rui prim5" instrucliune areadresa specificatl in cimpul operandului (addr). Executalea instruc-{iunii CALL addr necesitS. urmi"toarele operalii: I - se , salveazS.in stivir la adresa (S1') - 1 baitui ce1 rnai semnificativ (PCH) alnurn5,ri-toruiui de adrese si la adresa (SP) - Z,baitul cel rnai pufinsernnificativ (PCL) ; Z - se mic-soreazS- cu doi confinutul registru-iui S_P .pentru a indica virful stivei (stiva creste in jos)j 3 _, sginscrie in numS.ri,torul de programe adresa de salt. Nici un fanionnu este afectat. Adresa salvat5" in stiva, de revenire in programulapelant, este cea corespunzS"toare instrucfiunii urmS"toare. Aceastiinstrucfiune poaie fi realizatS. si prin depunerea in siivi a adreseiinstrucfiunii urmitoare din pro,:gram, cu ajutorui instrr.lctiuniiPUSH 61, urmatii apoi de instructiunea de salt necondilionat (saucondi!ionat).

ADRS

A0R5+1

o)

JP

JM

o'l^oourut

ALI

238

Ei@

PRO 6R,,\I'JUL PR!N(IPAI. PRO6RAI'IUL PRiNIIPA!

registru pereche

239