You are on page 1of 103

INSTRUES ASSEMBLER PIC - Microchip

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 1/103

INSTRUES ASSEMBLER
Introduo
Atravs das Instru !es o "#di$o-%onte &ode e'e"utar as %un !es deter(inadas &elo &ro$ra(ador &ara "ontrolar o siste(a e'terno de a"ordo "o( o &ro)eto. A Instru *o Asse(+ler %or(ada &or u(a srie de &alavras ,(ne(-ni"os. que tradu/e( a %un *o a ser reali/ada. 0or(al(ente1 "ada %a+ri"ante desenvolve seu &r#&rio "on)unto de instru !es que te( a&li"a *o e'"lusiva nos seus "o(&onentes1 se( nenhu(a "o(&ati+ilidade "o( outros %a+ri"antes. 2ara o &ro$ra(ador1 "a+e estudar "ada instru *o no seu %or(ato1 %un *o e a&li"a *o de a"ordo "o( o "ontrolador e(&re$ado no &ro)eto. 3 "laro que1 se e'iste( v4rios &ro)etos de a&li"a *o desenvolvidos &or u(a 5ni"a e(&resa1 esta o&tar4 &elo uso de u( s# %a+ri"ante de "ontrolador &or u(a si(&les quest*o de "usto/investi(ento na edu"a *o dos &ro$ra(adores &ara a lin$ua$e( de &ro$ra(a *o ,"on)unto de instru !es. e "ara"ter6sti"as de inter"a(+io de &ro$ra(as ou tre"hos de &ro$ra(as e( a&li"a !es diversas. 0o $eral1 entre os diversos "ontroladores e'istentes no (er"ado1 a %un *o que se dese)a reali/ar "o( u(a instru *o e( qualquer dis&ositivo n*o altera1 a&enas o no(e da instru *o ,(ne(-ni"o. que so%re u(a altera *o. 2ara o nosso "aso1 ser*o utili/adas as instru !es da %a(6lia 2IC 7 Mi"ro"hi&1 que re5ne u( "on)unto de 38 instru !es a&li"adas e( "ontroladores de 9 +its ,Mid Ran$e MC:..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;/103

ndice de In tru!e
As instru !es s*o a$ru&adas e( tr<s "ate$orias +4si"as de a&li"a *o= INSTRU"# #RIENTA$A A B%TE &B%TE-#RIENTE$ #PERATI#N'
MNEM#NIC# A>>?F A0>?F CERF CER? CCMF >DCF >DCF@A I0CF I0CF@A ICR?F MCIF MCI?F 0C2 REF RRF @:B?F @?A2F OCR?F $ESCRI"# @o(a o valor "ontido e( ? "o( valor "ontido e( F C&era *o A0> ,D. entre o valor "ontido e( ? e valor "ontido e( F Colo"a valor 0 ,/ero. no re$istro F Colo"a valor 0 ,/ero. no re$istro ? FCo(&le(ento de 1G ,1Hs "o(&le(ent. do valor "ontido e( F >e"re(enta u(a unidade do valor "ontido e( F >e"re(enta u(a unidade do valor "ontido e( F e salta a instru *o se$uinte se o resultado %or 0 ,/ero. In"re(enta u(a unidade no valor "ontido e( F In"re(enta u(a unidade no valor "ontido e( F e salta a instru *o se$uinte se o resultao %or 0 ,/ero. C&era *o CR ,C:. entre o valor "ontido e( ? e valor "ontido e( F Mover o valor "ontido no re$istro F &ara o destino es&e"i%i"ado Mover o valor "ontido e( ? &ara o re$istro F 0enhu(a o&era *o ,0o C&eration. Rota"iona valor "ontido e( F J esquerda atravs do +it CARRK Rota"iona valor "ontido e( F J direita atravs do +it CARRK @u+trai o valor "ontido e( ? do valor "ontido e( F Lro"a 0IBMEC "o( 0IBMNI no re$istro F C&era *o DOCE:@IID CR ,C: DOCE:@IIC. entre o valor "ontido e( ? e valor "ontido e( F CM 1 1 1 1 1 1 1 ,;. 1 1 ,;. 1 1 1 1 1 1 1 1 1 A C C C1 >C1 A B B B A A A STATUS C1 >C1 A A A A A A B B B B B B B B P()* B B B B

INSTRU"# #RIENTA$A A BIT &BIT-#RIENTE$ #PERATI#N'


MNEM#NIC# BCF B@F BLF@C BLF@@ $ESCRI"# Colo"a valor P0H ,"lear. no +it F CM 1 STATUS P()* B B B B

Colo"a valor P1H ,set. no +it F 1 Lesta o valor ,n6vel l#$i"o. do +it F e salta a instru *o se$uinte se valor do 1 ,;. +it %or i$ual a P0H ,"lear. Lesta o valor ,n6vel l#$i"o. do +it F e salta a instru *o se$uinte se valor do 1 ,;. +it %or i$ual a P1H ,set.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 3/103

INSTRU"# LITERAL E C#NTR#LE &LITERAL AN$ C#NTR#L #PERATI#N'


MNEM#NIC# A>>E? A0>E? CAEE CER?>L QCLC ICRE? MCIE? RDLFID RDLE? RDL:R0 @EDD2 @:BE? OCRE? $ESCRI"# @o(a valor literal ao valor "ontido e( ? C&era *o A0> ,D. entre o valor literal e valor "ontido e( ? Cha(a su+-rotina Colo"a valor /ero no re$istro ?>L ,?at"hdo$ Li(er. I4 &ara ,o endere o indi"ado. C&era *o CR ,C:. entre o valor literal e valor "ontido e( ? Mover o valor literal &ara o re$istro ? Retorna do Lrata(ento das Interru& !es Retorna o valor literal no re$istro ? Retorna de u(a su+-rotina Iai &ara (odo +ai'o "onsu(o @u+trai valor literal do valor "ontido e( ? C&era *o DOCE:@IID CR ,C: DOCE:@IIC. entre o valor literal e valor "ontido e( ? CM 1 1 ; 1 ; 1 1 ; ; ; 1 1 1 /LC1 /2> C1 >C1 A A B B A B B B B STATUS C1 >C1 A A /LC1 /2> P()* B B B

Interpret+ndo + In,or-+!e
Cada instru *o se a&resenta "o(o u( "a&6tulo onde des"rita e( sua %un *o "o( os detalhes ne"ess4rios &ara a "o(&reens*o de sua o&era *o1 in"lu6dos e'e(&los de a&li"a *o "o( a(ostra da sinta'e no "#di$oM%onte e "o(o o"orre o "o(&orta(ento dos +its e re$istros quando a instru *o e'e"utada. .u+dro $e-on tr+ti/o Cont( as in%or(a !es +4si"as &ara "onsulta de a&li"a *o indi"ando a %un *o e o uso a instru *o. MNEM0NIC# For(a "ontra6da da instru *o - nor(al(ente %or(ado &elas ini"iais da %rase que des"reve a o&era *o - o "o(&ilador dis&!es dos "#di$os de "onvers*o adequados &ara esta %or(a. Frase que des"reve a o&era *o reali/ada &ela instru *o re&rodu/indo o te'to na l6n$ua de ori$e( ,in$les.. For(a que as instru !es deve( ser es"ritas no "#di$oM%onte &ara que o "o(&ilador inter&rete "orreta(ente a "onvers*o &ara "#di$o de (4quina. >es"reve a o&era *o da instru *o "o( detalhes.

INSTRU"# SINTA1E $ESCRI"#

Ruantidade de Ci"los de M4quina ne"ess4rios &ara que a instru *o se)a e'e"utada CICL# M(.UINA "o(&leta(ente - te(&o de e'e"u *o da instru *o1 de&endente da %requen"ia do "lo"S do dis&ositivo a&li"ado. STATUS Bit do re$istro @LAL:@ que so%re altera *o quando a e'e"u *o da instru *o resulta e( situa *o de%inida &elo %a+ri"ante ,ver quadro des"ritivo do re$istro @LAL:@..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 4/103

#r2+ni3+o do Re2i tro Ee(+rar que todos os siste(as &ro"essados te( "o(o +ase as L"ni"as >i$itais %unda(entais lo$o1 a estrutura do re$istro onde a in%or(a *o ar(a/enada se$ue todos os &adr!es ha+ituais de %or(ato1 no(es1 lo"ali/a *o de +it et".1 et".1 et".. 2ara a e'&osi *o do %un"iona(ento das instru !es e seu e(&re$o1 os e'e(&los ser*o se(&re +aseados nos ele(entos identi%i"ados "o(o (ostra a %i$ura a+ai'o=
TUUUUUUUUUUUUUUUUUUUUUUUV W posio bit X UUUV Y Z Z TUUUUUUUUV W nome bit X UUUUUV BCLAC Z Z 8 Y [ 4 3 ; 1 0 1 0 1 0 1 0 0 1 2CRLA
M@B E@B

Z \UUUUUV Bit (enos si$ni%i"ativo Z E@B - Eeast @i$ni%i"ant Bit Z \UUUUUUUUUUUUUUUUUUUUUUUUUUV Bit (ais si$ni%i"ativo M@B - Most @i$ni%i"ant Bit

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [/103

4oc+5u67rio 8 posio bit 9 n5(ero inteiro1 no intervalo de 0 a 81 que identi%i"a a &osi *o do +it e( u( re$istro1 "ontado se(&re da direita &ara a esquerda1 "o(e ando no +it 0 ,E@B - +it (enos si$ni%i"ativo.. W nome registro X18 posio bit 9
2CRLA1; ] IDRIFICA C D@LA>C >C BIL W ] RDQ. W nome registro X

BT:SC

posio bit X >C

BT:SC

] IDRIFICA C D@LA>C >C BIL Y >C RDQ. 2CRLA TUUUUUUV W posio bit X UUUV Y Z Z Z 8 Y [ 4 3 ; 1 0 1 0 1 0 1 0 0 1

2CRLA

M@B

E@B

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 8 nome bit 9 no(e que identi%i"a o +it dentro do re$istro e( su+stitui *o do n5(ero que identi%i"a a W posio bit X - o no(e do +it &ode ser esta+ele"ido &elo %a+ri"ante ,Re$istros de Fun !es Ds&e"iais - @FR.= W nome registro X18 nome bit 9 ] >D@EIQA C BIL W nome bit X 0C RDQI@LRC ] W nome registro X
INTC#N<PEIE TUUV 2DID Z Z 0 0 0 0 0 0 0 0 I0LCC0 ] >D@EIQA BIL 2DID 0C RDQI@LRC I0LCC0

BC:

BC:

Cu &ode ser esta+ele"ido &elo &ro$ra(ador ,Re$istros de :so Qeral. e devida(ente de"larado na 4rea de >iretivas.
BC: BC:

8 nome bit 9
:=C#NT TUUV FMCC0L Z Z 0 0 0 0 0

] >D@EIQA C BIL W

nome bit X

] >D@EIQA BIL FMCC0L

FEAQ

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y/103

8 nome registro 9 -

identi%i"a u( re$istro na (e(#ria ,Ra( ou 2ro$ra(a. a &artir de u( no(e - o no(e do re$istro &ode ser esta+ele"ido &elo %a+ri"ante ,Re$istros de Fun !es Ds&e"iais @FR.=
0 1 0 0 0 0 0 0 LMR0

Cu &ode ser esta+ele"ido &elo &ro$ra(ador ,Re$istros de :so Qeral. e devida(ente de"larado na 4rea de >iretivas=
CBECC^ D0>C CBECC^ 0';0 :LA) D0>C 0 1 0 0 0

W endereo X 8 nome registro 9

] RDQI@LRC :@C QDRAE

] RDQI@LRC 2ARA FEAQ@ >D CC0LRCED 0 0 0 FEAQ

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 8 registro origem 9 - identi%i"a o re$istro de ori$e( do valor a ser e(&re$ado &ela instru *o a &artir de u( no(e - o no(e do re$istro &ode ser esta+ele"ido &elo %a+ri"ante ,Re$istros de Fun !es Ds&e"iais - @FR.1 ou &ode ser esta+ele"ido &elo &ro$ra(ador ,Re$istros de :so Qeral. e devida(ente de"larado na 4rea de >iretivas.
A$$>:

8 registro origem 91W registro destino X

] @CMAR C IAECR >C W registro origem ] CCM C IAECR >C W registro destino X D CCECCAR C ] RD@:ELA>C >A C2DRA_`C 0C W registro destino X ] @CMAR C IAECR >C RDQ. ? CCM C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. ?

A$$>:

C#NT1?

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 8 registro destino 9 - identi%i"a o re$istro de destino do valor resultado da e'e"u *o da instru *o a &artir de u( no(e - o no(e do re$istro &ode ser esta+ele"ido &elo %a+ri"ante ,Re$istros de Fun !es Ds&e"iais - @FR.1 ou &ode ser esta+ele"ido &elo &ro$ra(ador ,Re$istros de :so Qeral. e devida(ente de"larado na 4rea de >iretivas.
SUB>:

W registro origem X18 registro destino 9

] @CMAR C IAECR >C W registro origem ] CCM C IAECR >C W registro destino X D CCECCAR C ] RD@:ELA>C >A C2DRA_`C 0C W registro destino X ] @CMAR C IAECR >C RDQ. ? CCM C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. ?

SUB>:

CC0L1>

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 8/103

8 nome literal 9 -

identi%i"a u( valor nu(ri"o ,"onstante. a &artir de u( no(e esta+ele"ido &elo &ro$ra(ador e devida(ente de"larado na 4rea de >iretivas. A utili/a *o do valor nu(ri"o ,"onstante. no &ro$ra(a se %a/ utili/ando se(&re o no(e dado. C "o(&ilador se en"arre$a de reali/ar a su+stitui *o do no(e &elo valor no re$istro.
DR: .OOO ] RDEACIC0A C 0CMD 8 nome ] IAECR 0:M3RICC OOO

8 nome literal 9
RE:ERENCIA

literal 9 AC

DR:

.133

] RDEACIC0A C 0CMD PRDFDRD0CIAH AC ] IAECR 0:M3RICC 133 ] MCIDR 8

M#4L> M#4L>

8 nome literal 9
RE:ERENCIA

nome literal 9 2ARA RDQ. ?

] MCIDR PRDFDRD0CIAH 2ARA RDQ. ?

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 8 endereo 9 identi%i"a o destino de u( desvio ori$inado no "#di$oM%onte - o &ro$ra(ador &ode utili/ar no(es &ara identi%i"ar os diversos endere os. C "o(&ilador se en"arre$a de reali/ara a su+stitui *o do no(e &ela &osi *o nu(ri"a na (e(#ria. 0*o te( ne"essidade de se de"larar os no(es dos endere os na 4rea de >iretivas. 8 endereo 9
SINALI?ACA# ] >D@IIA 2ARA @:B-RCLI0A 8

CALL CALL

endereo 9

] >D@IIA 2ARA @:B-RCLI0A >D SINALI?A"#

)#T# )#T#

8 endereo 9
$ESLI)A=LE$

] IAI 2ARA C D0>DRD_C 8

endereo 9

] IAI 2ARA C D0>DRD_C $ESLI)A=LE$

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 8 valor 9 valor nu(ri"o direta(ente de"larado na instru *o dentro do "#di$oM%onte - o &ro$ra(ador n*o identi%i"ou o valor atravs de u( no(e de"larado na 4rea de >iretivas. 8 valor 9
Ba10000011a ] MCIDR 8

M#4L> M#4L>

valor 9 2ARA RDQ. ?

] MCIDR EILDRAE 2ARA RDQ. ?

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 9/103

STATUS
C re$istro @LAL:@ dis&!e de Y +its de %la$ ,sinali/a *o. rea$indo ao resultado das o&era !es reali/adas &or diversas instru !es. A ta+ela des"reve a&enas os +its rela"ionados Js %un !es a%etadas.
R@> A R@> ; R@> B R C R D R@> E R@> F R@> G

IRP
MSB

RPF

RPG

@T#

@P$

$C

C
LSB

BIT #PER INCI# 8 R/? 0

N#ME IRP

:UN"# @ele *o da 24$ina de Me(#ria ,usado &ara endere a(ento indireto.

Y=[

R/?

1 b Ativa 24$inas de Me(#ria ; e 3 ,BanS; e BanS3. 0 b Ativa 24$inas de Me(#ria 0 e 1 ,BanS0 e BanS1. RPFHRPG @ele *o da 24$ina de Me(#ria ,usado &ara endere a(ento direto. 11 b Ativa 24$ina de Me(#ria 3 ,BanS3. 10 b Ativa 24$ina de Me(#ria ; ,BanS;. 01 b Ativa 24$ina de Me(#ria 1 ,BanS1. 00 b Ativa 24$ina de Me(#ria 0 ,BanS0. Li(e-Cut - Le(&o es$otado 7 a C2: in%or(a as se$uintes o"orr<n"ias neste +it= 1 b a&#s ener$i/a *o do "ontrolador ou o"orr<n"ia da instru *o CER?>L ou o"orr<n"ia da instru *o @EDD2 0 b te(&o es$otado &ara o"orr<n"ia da instru *o ?>L ,o &ro$ra(a est4 &arado e( u( loo& in%inito. 2ocer >ocn 7 Rueda Ali(enta *o/Redu *o de Consu(o - a C2: in%or(a as se$uintes o"orr<n"ias neste +it= 1 b a&#s ener$i/a *o do "ontrolador ou o"orr<n"ia da instru *o @EDD2 0 b e'e"u *o da instru *o @EDD2 Aero - a C2: in%or(a as se$uintes o"orr<n"ias neste +it= 1 b o resultado da 5lti(a o&era *o arit(ti"a/l#$i"a %oi /ero 0 b o resultado da 5lti(a o&era *o arit(ti"a/l#$i"a n*o %oi /ero >i$it Carrd/Borroc - >6$ito de Lrans&orte/D(&rsti(o - a C2: in%or(a as se$uintes o"orr<n"ias neste +it= 1 b o resultado da 5lti(a o&era *o arit(ti"a/l#$i"a n*o e'"edeu os 4 +its (enos si$ni%i"ativos do re$istro. 0 b o resultado da 5lti(a o&era *o arit(ti"a/l#$i"a e'"edeu os 4 +its (enos si$ni%i"ativos do re$istro. Carrd/Borroc - Lrans&orte/D(&rsti(o - a C2: in%or(a as se$uintes o"orr<n"ias neste +it= 1 b o resultado da 5lti(a o&era *o arit(ti"a/l#$i"a n*o e'"edeu o valor ;[[. 0 b o resultado da 5lti(a o&era *o arit(ti"a/l#$i"a e'"edeu o valor ;[[.

@T#

@P$

R/?

R/?

$C

R/?

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 9/103

BC:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# BC: Bit Clear F BCF BCF BCF W nome bit X 7 +it &erten"e a Re$istro de :so Qeral W nome registro X1W nome bit X 7 +it &erten"e a Re$istro Ds&e"ial W nome registro X1W posio bit X 7 uso $eral

Colo"a o valor ,n6vel l#$i"o. P0H ,"lear. no +it identi%i"ado &or W nome bit X

CICL# M(.UINA 1 STATUS 0enhu(

Dsta instru *o "olo"a o n6vel l#$i"o P0H ,/ero - "lear. no +it es&e"6%i"o e( u( deter(inado re$istro. @# a%eta o +it "onsiderado dentro do re$istro. A sinta'e da instru *o de&ende do ti&o de re$istro e( que o +it est4 lo"ali/ado= Bit e( Re$istro de :so Qeral= BCF W nome bit X

C &ro$ra(ador indi"a o no(e do Bit e rela"iona ao no(e do Re$istro de :so Qeral na 4rea de >iretivas 7 no "#di$oM%onte1 usar o no(e do Bit a&#s a instru *o. Bit e( Re$istro Ds&e"ial= BCF W nome registro X1W nome bit X

C no(e do Bit )4 e'iste ,o %a+ri"ante esta+ele"e no arquivo de in"lus*o. (as n*o te( rela"iona(ento entre ele e os Re$istros Ds&e"iais ,o %a+ri"ante n*o "olo"a este rela"iona(ento no arquivo de in"lus*o. 7 no "#di$oM%onte o &ro$ra(ador deve identi%i"ar o Re$istro Ds&e"ial e o no(e do Bit. :so Qeral= BCF W nome registro X1W posio bit X

C Re$istro Ds&e"ial n*o &ossui no(es &ara os Bits ,&or e'e(&lo= re$istros 2CRL. 7 no "#di$oM%onte1 o &ro$ra(ador indi"a o no(e do re$istro ,de%inido na 4rea de >iretivas. e a &osi *o do Bit. DODM2EC@= Bit e- Re2i tro de U o )er+6 #per+oH >esli$ar o +it FMCC0L e BC: 8 nome bit 9

B >e%inir o no(e do +it na 4rea de diretivas identi%i"ando qual o re$istro e qual a &osi *o do +it no re$istro=
f>DFI0D FMCC0L FEAQ1Y ] I>D0LIFICA0>C CCM C 0CMD PFMCC0LH C BIL Y >C ] RDQI@LRC FEAQ

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 10/103

B Ialor "ontido no +it Y ,FMCC0L. do re$istro FEAQ antes da e'e"u *o da instru *o=
TUUV FMCC0L Z Z 0 1 0 0 0 0 0 0 FEAQ

B Instru *o
BC: BC: W no(e +it X FMCC0L ] >D@EIQA W no(e +it X ] >D@EIQA FEAQ FMCC0L

B Ialor "ontido no +it Y ,FMCC0L. do re$istro FEAQ de&ois da e'e"u *o da instru *o=
TUUV FMCC0L Z Z 0 0 0 0 0 0 0 0 FEAQ

Bit e- Re2i tro E peci+6 #per+oH

BC: 8 nome registro 9<8 nome bit 9

>esli$ar a interru& *o do LMR0 no re$istro I0LCC0

B Ialor "ontido no +it [ ,L0ID. do re$istro I0LCC0 antes da e'e"u *o da instru *o=
TUUV L0ID Z Z 1 0 1 0 0 0 0 0 I0LCC0

B Instru *o
BC: BC: W no(e re$istro X1W no(e +it X I0LCC01L0ID ] >D@EIQA W no(e re$istro X1W no(e +it X ] >D@EIQA I0LDRR:2_`C LMR0

B Ialor "ontido no +it [ ,L0ID. do re$istro I0LCC0 de&ois da e'e"u *o da instru *o=
TUUV L0ID Z Z 1 0 0 0 0 0 0 0 I0LCC0

U o )er+6 #per+oH

BC: 8 nome registro 9<8 posio bit 9

>esli$ar o +it rela"ionado a u( Eed ,a&a$ar o Eed eltri"a(ente li$ado a u(a sa6da.

B Ialor "ontido no +it Y ,eltri"a(ente li$ado a u( Eed. do re$istro 2CRLA antes da e'e"u *o da instru *o ,o estado do +it indi"a que o Eed est4 li$ado.=
TUUV ED> Z Z 0 1 0 0 0 0 0 0 2CRL A
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 11/103

B Instru *o
BC: BC: W no(e re$istro X1W &osi *o +it X 2CRLA1Y ] >D@EIQA W no(e re$istro X1W &osi *o +it X ] >D@EIQA C BIL Y >C RDQI@LRC 2CRLA

B Ialor "ontido no +it Y ,eltri"a(ente li$ado a u( Eed. do re$istro 2CRLA de&ois da e'e"u *o da instru *o ,o estado do +it indi"a que o Eed est4 desli$ado.=
TUUV ED> Z Z 0 0 0 0 0 0 0 0 2CRL A

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 1;/103

BS:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# BS: Bit @et F B@F B@F B@F W nome bit X 7 +it &erten"e a Re$istro de :so Qeral W nome registro X1W nome bit X 7 +it &erten"e a Re$istro Ds&e"ial W nome registro X1W posio bit X 7 uso $eral

Colo"a o valor ,n6vel l#$i"o. P1H ,set. no +it identi%i"ado &or W nome bit X

CICL# M(.UINA 1 STATUS 0enhu(

Dsta instru *o "olo"a o n6vel l#$i"o ,valor. P1H ,set. no +it es&e"6%i"o e( u( deter(inado re$istro. @# a%eta o +it "onsiderado dentro do re$istro. A sinta'e da instru *o de&ende do ti&o de re$istro e( que est4 lo"ali/ado= Bit e( Re$istro de :so Qeral= B@F W nome bit X

C &ro$ra(ador indi"a o no(e do Bit e rela"iona ao no(e do Re$istro de :so Qeral na 4rea de >iretivas 7 no "#di$oM%onte1 usar o no(e do Bit a&#s a instru *o Bit e( Re$istro Ds&e"ial= B@F W nome registro X1W nome bit X

C no(e do Bit )4 e'iste ,o %a+ri"ante esta+ele"e no arquivo de in"lus*o. (as n*o te( rela"iona(ento entre ele e os Re$istros Ds&e"iais ,o %a+ri"ante n*o "olo"a este rela"iona(ento no arquivo de in"lus*o. 7 no "#di$oM%onte o &ro$ra(ador deve identi%i"ar o Re$istro Ds&e"ial e no(e do Bit :so Qeral= B@F W nome registro X1W posio bit X

C Re$istro Ds&e"ial n*o &ossui no(es &ara os Bits ,&or e'e(&lo= re$istros 2CRL. 7 no "#di$oM%onte1 o &ro$ra(ador indi"a o no(e do re$istro ,de%inido na 4rea de >iretivas. e a &osi *o do Bit. DODM2EC@= Bit e- Re2i tro de U o )er+6 #per+oH Ei$ar o +it FMCC0L e BS: 8 nome bit 9

B >e%inir o no(e do +it na 4rea de diretivas identi%i"ando qual o re$istro e qual a &osi *o do +it no re$istro=
f>DFI0D FMCC0L FEAQ1Y ] I>D0LIFICA0>C CCM C 0CMD PFMCC0LH C BIL Y >C ] RDQI@LRC FEAQ

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 13/103

B Ialor "ontido no +it Y ,FMCC0L. do re$istro FEAQ antes da e'e"u *o da instru *o=
TUUV FMCC0L Z Z 0 0 0 0 0 0 0 0 FEAQ

B Instru *o
BS: BS: W no(e +it X FMCC0L ] EIQA W no(e +it X ] EIQA FEAQ FMCC0L

B Ialor "ontido no +it Y ,FMCC0L. do re$istro FEAQ de&ois da e'e"u *o da instru *o=
TUUV FMCC0L Z Z 0 1 0 0 0 0 0 0 FEAQ

Bit e- Re2i tro E peci+6 #per+oH

BS:

8 nome registro 9<8 posio bit 9

Ei$ar a interru& *o do LMR0 no re$istro I0LCC0

B Ialor "ontido no +it [ ,L0ID. do re$istro I0LCC0 antes da e'e"u *o da instru *o=
TUUV L0ID Z Z 1 0 0 0 0 0 0 0 I0LCC0

B Instru *o
BS: BS: W no(e re$istro X1W no(e +it X I0LCC01L0ID ] EIQA W no(e re$istro X1W no(e +it X ] EIQA I0LDRR:2_`C LMR0

B Ialor "ontido no +it [ ,L0ID. do re$istro I0LCC0 de&ois da e'e"u *o da instru *o=
TUUV L0ID Z Z 1 0 1 0 0 0 0 0 I0LCC0

U o )er+6 #per+oH

BS:

8 nome registro 9<8 posio bit 9

Ei$ar o +it rela"ionado a u( Eed ,a"ender o Eed li$ado a u(a sa6da.

B Ialor "ontido no +it Y ,eltri"a(ente li$ado a u( Eed. do re$istro 2CRLA antes da e'e"u *o da instru *o ,o estado do +it indi"a que o Eed est4 desli$ado.=
TUUV ED> Z Z 0 0 0 0 0 0 0 0 2CRL A
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 14/103

B Instru *o
BS: BS: W no(e re$istro X1W &osi *o +it X 2CRLA1Y ] EIQA W no(e re$istro X1W &osi *o +it X ] EIQA BIL Y 0C RDQI@LRC 2CRLA

B Ialor "ontido no +it Y ,eltri"a(ente li$ado a u( Eed. do re$istro 2CRLA de&ois da e'e"u *o da instru *o ,o estado do +it indi"a que o Eed est4 li$ado.=
TUUV ED> Z Z 0 1 0 0 0 0 0 0 2CRL A

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 1[/103

BT:SC
MNEM0NIC# INSTRU"# SINTA1E BT:SC Bit Lest F1 @Si& i% Clear BLF@C W nome bit X 7 uso $eral BLF@C W nome registro X1W nome bit X 7 +it &erten"e a Re$istro Ds&e"ial BLF@C W nome registro X1W posio bit X - +it &erten"e a Re$ de :so Qeral Lesta o valor ,n6vel l#$i"o. do +it identi%i"ado &or W nome bit X e salta a instru *o $ESCRI"# se$uinte se valor do +it %or i$ual a P0H ,"lear. ; CM se valor do +it b P0H ,"lear. 7 e'e"uta u(a 0C2 CICL# M(.UINA 1 CM se valor do +it b P1H ,set. STATUS 0enhu(

Dsta instru *o veri%i"a o n6vel l#$i"o ,valor. de u( +it es&e"6%i"o e( u( deter(inado re$istro= - se o +it b P1H ,set. e'e"uta a instru *o se$uinte ,no "aso u( QCLC.. - se o +it b P0H ,"lear. salta a instru *o se$uinte e e'e"uta as de(ais instru !es. AtenoH a e'e"u *o da instru *o ,teste de u( +it. n*o altera o valor "ontido no +it. A sinta'e da instru *o de&ende do ti&o de re$istro e( que est4 lo"ali/ado= Bit e( Re$istro de :so Qeral= BLF@C W nome bit X

C &ro$ra(ador indi"a o no(e do Bit e rela"iona ao no(e do Re$istro de :so Qeral na 4rea de >iretivas 7 no "#di$oM%onte1 usar o no(e do Bit a&#s a instru *o Bit e( Re$istro Ds&e"ial= BLF@C W nome registro X1 W nome bit X

C no(e do Bit )4 e'iste ,o %a+ri"ante esta+ele"e no arquivo de in"lus*o. (as n*o te( rela"iona(ento entre ele e os Re$istros Ds&e"iais ,o %a+ri"ante n*o "olo"a este rela"iona(ento no arquivo de in"lus*o. 7 no "#di$oM%onte o &ro$ra(ador deve identi%i"ar o Re$istro Ds&e"ial e no(e do Bit :so Qeral= BLF@C W nome registro X1 W posio bit X

C Re$istro Ds&e"ial n*o &ossui no(es &ara os Bits ,&or e'e(&lo= re$istros 2CRL. 7 no "#di$oM%onte1 o &ro$ra(ador indi"a o no(e do re$istro ,de"larado na 4rea de >iretivas. e a &osi *o do Bit. 0os DODM2EC@ >D @I0LAOD &ode(os ver "o(o a instru *o deve ser es"rita no "#di$oM%onte nas suas diversas %or(as1 (as n*o e'&li"a "o(o a instru *o %un"iona. 0o DODM2EC >D A2EICA_`C utili/a-se u( "#di$oM%onte %un"ional "o(&leto &ara e'&li"ar "o(o a instru *o o&era "o( detalhe. DODM2EC@ >D @I0LAOD= Bit e- Re2i tro de U o )er+6 #per+oH e BT:SC 8 nome bit 9

Lestar o valor do +it FMCC0L


Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 1Y/103

B >e%inir o no(e do +it na 4rea de diretivas identi%i"ando qual o re$istro e qual a &osi *o do +it no re$istro=
f>DFI0D FMCC0L FEAQ1Y ] I>D0LIFICA0>C CCM C 0CMD PFMCC0LH C BIL Y >C ] RDQI@LRC FEAQ

B Ialor "ontido no +it Y ,FMCC0L. do re$istro FEAQ=


TUUV FMCC0L Z Z 0 0 0 0 0 0 0 0 FEAQ

B Instru *o
BT:SC BT:SC W no(e +it X FMCC0L ] IDRIFICA D@LA>C W no(e +it X ] IDRIFICA D@LA>C FEAQ FMCC0L

Bit e- Re2i tro E peci+6 #per+oH

BT:SC

8 nome registro 9<8 posio bit 9

Ieri%i"ar se a interru& *o do LMR0 ,no re$istro I0LCC0. est4 ha+ilitada

B Ialor "ontido no +it [ ,L0ID. do re$istro I0LCC0=


TUUV L0ID Z Z 1 0 0 0 0 0 0 0 I0LCC0

B Instru *o
BT:SC BT:SC W no(e re$istro X1W no(e +it X I0LCC01L0ID ] IDRIFICA D@LA>C W no(e re$istro X1W no(e +it X ] IDRIFICA D@LA>C L0ID - I0LDRR:2_`C LMR0

U o )er+6 #per+oH

BT:SC

8 nome registro 9<8 posio bit 9

Ieri%i"ar o +it rela"ionado a u( Eed ,veri%i"ar se o Eed est4 li$ado.

B Ialor "ontido no +it Y ,eltri"a(ente li$ado a u( Eed. do re$istro 2CRLA ,o estado do +it indi"a que o Eed est4 desli$ado.=
TUUV ED> Z Z 0 0 0 0 0 0 0 0 2CRL A

B Instru *o
BT:SC BT:SC W no(e re$istro X1W &osi *o +it X 2CRLA1Y ] IDRIFICA D@LA>C W no(e re$istro X1W &osi *o +it X ] IDRIFCA D@LA>C >C BIL Y 0C RDQI@LRC 2CRLA

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 18/103

DODM2EC >D A2EICA_`C= 2ara estudar a (aneira "o(o a instru *o %un"iona dentro de u( "#di$oM%onte1 va(os desenvolver u(a a&li"a *o si(&les onde &ossa(os veri%i"ar detalhada(ente o "o(&orta(ento dos +its "ontrolados . Considere(os o dia$ra(a %un"ional=

I>>

R1

MC: RA0

RAY R; B1 E1 I@@

A o&era *o &ro&osta +astante si(&les= - Apert+ o 5oto BF< +cende o 6ed LF* - So6t+ o 5oto BF< +p+2+ o 6ed LF* Cs estados l#$i"os que os "o(&onentes B1 e E1 &ode( a&resentar &ara a o&era *o &ro&osta=
B1 Eivre 2ressionado A&a$ado A"eso 1 0 0 1

E1

A$ora &ode(os ela+orar o %lu'o$ra(a re&resentativo do %un"iona(ento do siste(a=


I0ICIC

B1

b 1 ,B1 livre.

E1 b 0

b0 ,B1 &ressionado.

E1 b 1

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 19/103

0o e'e(&lo de a&li"a *o va(os e(&re$ar a sinta'e da instru *o= Bit e( Re$istro de :so Qeral e BLF@C W nome bit X

C &ro$ra(ador deve indi"ar o no(e do Bit e rela"ionar ao no(e do Re$istro de :so Qeral na 4rea de >iretivas 7 no "#di$oM%onte ser4 usado o no(e do Bit a&#s a instru *o B >e%inir o no(e dos +its de entrada e sa6da na 4rea de diretivas rela"ionando o no(e ao re$istro e J &osi *o do +it no re$istro=
f>DFI0D f>DFI0D B1 E1 2CRLA10 2CRLA1Y ] RDEACIC0A0>C C 0CMD PB1H AC BIL 0 >C ] RDQI@LRC 2CRLA ] RDEACIC0A0>C C 0CMD PE1H C BIL Y >C ] RDQI@LRC 2CRLA TUUV B1 e +it 0 Z 0 0 1 2CRL A

TUUV E1 e +it Y Z Z 0 0 0 0 0

Baseado no %lu'o$ra(a1 o "#di$oM%onte &ode ser es"rito "o(o=


I0ICIC BT:SC )#T# BS: )#T# >D@EIQAME1 BC: )#T# E1 I0ICIC ] >D@EIQA E1 ] RDLCR0A 2ARA I0ICIC B1 >D@EIQAME1 E1 I0ICIC ] IDRIFICA C D@LA>C >C BIL R:D RD2RD@D0LA B1 ] B1 b 1 V IAI 2ARA >D@EIQAME1 ] B1 b 0 V EIQA E1 ] RDLCR0A 2ARA I0ICIC

A e'e"u *o do "#di$o "o(e a e( I0ICIC1 veri%i"a o n6vel l#$i"o ,valor. do +it re&resentado &elo no(e B1 e adota u(a das duas &ossi+ilidades que a instru *o o%ere"e1 "o(o o "#di$oM%onte indi"a a+ai'o=
TUUVI0ICIC Z TUg BT:SC B1 ] IDRIFICA C D@LA>C >D B1 Z Z Z Z b0 b1 UUV IAECRD@ R:D B1 2C>D A@@:MIR Z Z Z Z Z \V )#T# >D@EIQAME1 h ] B1 b 1 V IAI 2ARA >D@EIQAME1 Z \UUV BS: E1 Z ] B1 b 0 V EIQA E1 Z )#T# I0ICIC h Z ] RDLCR0A 2ARA I0ICIC Z Z Z Z ,B:@CA D0>DRD_C I0ICIC. Z ZiUUUUUUUUUUUUUUUUUUUUUUUj Z Z Z Z ,B:@CA D0>DRD_C >D@EIQAME1. Z TUUUUUUUUUUUUUUUUUUUUUUUUj Z >D@EIQAME1 Z \UUV BC: E1 ] >D@EIQA E1 Z )#T# I0ICIC h ] RDLCR0A 2ARA I0ICIC Z Z Z ,B:@CA D0>DRD_C I0ICIC. \UUUUUUUUUUUUUUUUUUUUUUUUj

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 19/103

Analisando as o& !es da instru *o= B @e B1 b P1H ,set. - B1 livre reali/a a instru *o se$uinte ,no "aso1 u( QCLC.. C %lu'o$ra(a (ostra o "a(inho que o "#di$oM%onte reali/a &ara esta "ondi *o=
I0ICIC

B1

b1 ,B1 livre.

E1 b 0

b0 ,B1 &ressionado.

E1 b 1

A sequen"ia do "#di$oM%onte reali/ada na %or(a indi"ada ,e( ver(elho1 ta(+(.=


TUUVI0ICIC Z TUg BT:SC B1 ] IDRIFICA C D@LA>C >D B1 Z Z Z Z b0 b1 UUV IAECR B1 b 1 Z Z Z Z Z \V )#T# >D@EIQAME1 h ] B1 b 1 V IAI 2ARA >D@EIQAME1 Z \UUV BS: E1 Z ] B1 b 0 V EIQA E1 Z )#T# I0ICIC h Z ] RDLCR0A 2ARA I0ICIC Z Z Z Z ,B:@CA D0>DRD_C I0ICIC. Z ZiUUUUUUUUUUUUUUUUUUUUUUUj Z Z Z Z ,B:@CA D0>DRD_C >D@EIQAME1. Z TUUUUUUUUUUUUUUUUUUUUUUUUj Z >D@EIQAME1 Z \UUV BC: E1 ] >D@EIQA E1 Z )#T# I0ICIC h ] RDLCR0A 2ARA I0ICIC Z Z Z ,B:@CA D0>DRD_C I0ICIC. \UUUUUUUUUUUUUUUUUUUUUUUUj

Analisando o "o(&orta(ento dos +its envolvidos nas instru !es dentro do re$istro 2CRLA= B Ialor "ontido no +it 0 ,B1. do re$istro 2CRLA antes da e'e"u *o da instru *o BLF@C=
TUUV E1 Z Z 0 0 0 0 0 0 0 TUUV B1 Z Z 1 2CRL A

B Instru *o - durante a e'e"u *o do "#di$oM%onte1 so(ente as instru !es envolvidas s*o "onsideradas1 as de(ais s*o "o(&leta(ente i$noradas - n*o e'iste( - &ortanto1 o "ontrolador vai ver o "#di$oM%onte da se$uinte %or(a=

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;0/103

TUUVI0ICIC Z g BT:SC B1 ] IDRIFICA C D@LA>C >D B1 Z Z Z b1 Z Z Z \V )#T# >D@EIQAME1 h ] B1 b 1 V IAI 2ARA >D@EIQAME1 Z Z Z Z Z ,B:@CA D0>DRD_C >D@EIQAME1. Z TUUUUUUUUUUUUUUUUUUUUUUUUj Z >D@EIQAME1 Z \UUV BC: E1 ] >D@EIQA E1 Z )#T# I0ICIC h ] RDLCR0A 2ARA I0ICIC Z Z Z ,B:@CA D0>DRD_C I0ICIC. \UUUUUUUUUUUUUUUUUUUUUUUUj

B Ialor "ontido no +it 0 ,B1. do re$istro 2CRLA de&ois da e'e"u *o da instru *o BLF@C - o valor "ontido no +it 0 ,B1. n*o se altera "o( a e'e"u *o da instru *o] a e'e"u *o da instru *o BCF i(&!e o valor 0 ,/ero. no +it Y ,E1..
TUUV E1 Z Z 0 0 0 0 0 0 0 TUUV B1 Z Z 1 2CRL A

B @e B1 b P0H ,"lear. - B1 &ressionado salta a instru *o se$uinte e e'e"uta a instru *o en"ontrada ,no "aso1 u( B@F.. C %lu'o$ra(a (ostra o "a(inho que o "#di$oM%onte reali/a &ara esta "ondi *o=
I0ICIC

B1

b1 ,B1 livre.

E1 b 0

b0 ,B1 &ressionado.

E1 b 1

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;1/103

A sequen"ia do "#di$oM%onte reali/ada na %or(a indi"ada ,e( ver(elho1 ta(+(.=


TUUVI0ICIC Z TUg BT:SC B1 ] IDRIFICA C D@LA>C >D B1 Z Z Z Z b0 b1 UUV IAECR B1 b 0 Z Z Z Z Z \V )#T# >D@EIQAME1 h ] B1 b 1 V IAI 2ARA >D@EIQAME1 Z \UUV BS: E1 Z ] B1 b 0 V EIQA E1 Z )#T# I0ICIC h Z ] RDLCR0A 2ARA I0ICIC Z Z Z Z ,B:@CA D0>DRD_C I0ICIC. Z ZiUUUUUUUUUUUUUUUUUUUUUUUj Z Z Z Z ,B:@CA D0>DRD_C >D@EIQAME1. Z TUUUUUUUUUUUUUUUUUUUUUUUUj Z >D@EIQAME1 Z \UUV BC: E1 ] >D@EIQA E1 Z )#T# I0ICIC h ] RDLCR0A 2ARA I0ICIC Z Z Z ,B:@CA D0>DRD_C I0ICIC. \UUUUUUUUUUUUUUUUUUUUUUUUj

Analisando o "o(&orta(ento dos +its envolvidos nas instru !es dentro do re$istro 2CRLA= B Ialor "ontido no +it 0 ,B1. do re$istro 2CRLA antes da e'e"u *o da instru *o BLF@C=
TUUV E1 Z Z 0 0 0 0 0 0 0 TUUV B1 Z Z 0 2CRL A

B Instru *o - durante a e'e"u *o do "#di$oM%onte1 so(ente as instru !es envolvidas s*o "onsideradas1 as de(ais s*o "o(&leta(ente i$noradas - n*o e'iste( - &ortanto1 o "ontrolador vai ver o "#di$oM%onte da se$uinte %or(a=
TUUVI0ICIC Z TUg BT:SC B1 Z Z Z b0 Z Z Z \UUV BS: E1 Z )#T# I0ICIC h Z Z Z ,B:@CA D0>DRD_C I0ICIC. ZiUUUUUUUUUUUUUUUUUUUUUUUj ] IDRIFICA C D@LA>C >D B1

] B1 b 0 V EIQA E1 ] RDLCR0A 2ARA I0ICIC

B Ialor "ontido no +it 0 ,B1. do re$istro 2CRLA de&ois da e'e"u *o da instru *o BLF@C - o valor "ontido no +it 0 ,B1. n*o se altera "o( a e'e"u *o da instru *o] a e'e"u *o da instru *o B@F i(&!e o valor 1 ,u(. no +it Y ,E1..
TUUV E1 Z Z 0 1 0 0 0 0 0 TUUV B1 Z Z 1 2CRL A

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;;/103

BT:SS
MNEM0NIC# INSTRU"# SINTA1E BT:SS Bit Lest F1 @Si& i% @et BLF@@ W nome bit X 7 uso $eral BLF@@ W nome registro X1W nome bit X 7 +it &erten"e a Re$istro Ds&e"ial BLF@@ W nome registro X1W posio bit X - +it &erten"e a Re$ de :so Qeral Lesta o valor ,n6vel l#$i"o. do +it identi%i"ado &or F W nome bit X e salta a instru *o $ESCRI"# se$uinte se valor do +it %or i$ual a P1H ,set. ; CM se valor do +it b P1H ,set. 7 e'e"uta u(a 0C2 CICL# M(.UINA 1 CM se valor do +it b P0H ,"lear. STATUS 0enhu(

Dsta instru *o veri%i"a o n6vel l#$i"o ,valor. de u( +it es&e"6%i"o e( u( deter(inado re$istro= - se o +it b P0H ,"lear. e'e"uta a instru *o se$uinte ,no "aso u( QCLC.. - se o +it b P1H ,set. salta a instru *o se$uinte e e'e"uta as de(ais instru !es. AtenoH a e'e"u *o da instru *o ,teste de u( +it. n*o altera o valor "ontido no +it. A sinta'e da instru *o de&ende do ti&o de re$istro e( que est4 lo"ali/ado= Bit e( Re$istro de :so Qeral= BLF@@ W nome bit X

C &ro$ra(ador indi"a o no(e do Bit e rela"iona ao no(e do Re$istro de :so Qeral na 4rea de >iretivas 7 no "#di$oM%onte1 usar o no(e do Bit a&#s a instru *o Bit e( Re$istro Ds&e"ial= BLF@@ W nome registro X1W nome bit X

C no(e do Bit )4 e'iste ,o %a+ri"ante esta+ele"e no arquivo de in"lus*o. (as n*o te( rela"iona(ento entre ele e os Re$istros Ds&e"iais ,o %a+ri"ante n*o "olo"a este rela"iona(ento no arquivo de in"lus*o. 7 no "#di$oM%onte o &ro$ra(ador deve identi%i"ar o Re$istro Ds&e"ial e no(e do Bit :so Qeral= BLF@@ W nome registro X1W posio bit X

C Re$istro Ds&e"ial n*o &ossui no(es &ara os Bits ,&or e'e(&lo= re$istros 2CRL. 7 no "#di$oM%onte1 o &ro$ra(ador indi"a o no(e do re$istro ,de"larado na 4rea de >iretivas. e a &osi *o do Bit. 0os DODM2EC@ >D @I0LAOD &ode(os ver "o(o a instru *o deve ser es"rita no "#di$oM%onte nas suas diversas %or(as1 (as n*o e'&li"a "o(o a instru *o %un"iona. 0o DODM2EC >D A2EICA_`C utili/a-se u( "#di$oM%onte %un"ional "o(&leto &ara e'&li"ar "o(o a instru *o o&era "o( detalhe.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;3/103

DODM2EC@ >D @I0LAOD= Bit e- Re2i tro de U o )er+6 #per+oH e BT:SS 8 nome bit 9

Lestar o valor do +it FMCC0L

B >e%inir o no(e do +it na 4rea de diretivas identi%i"ando qual o re$istro e qual a &osi *o do +it no re$istro=
f>DFI0D FMCC0L FEAQ1Y ] I>D0LIFICA0>C CCM C 0CMD PFMCC0LH C BIL Y >C ] RDQI@LRC FEAQ

B Ialor "ontido no +it Y ,FMCC0L. do re$istro FEAQ=


TUUV FMCC0L Z Z 0 0 0 0 0 0 0 0 FEAQ

B Instru *o
BT:SS BT:SS W no(e +it X FMCC0L ] IDRIFICA D@LA>C W no(e +it X ] IDRIFICA D@LA>C FEAQ FMCC0L

Bit e- Re2i tro E peci+6 #per+oH

BT:SS

8 nome registro 9<8 posio bit 9

Ieri%i"ar se a interru& *o do LMR0 ,no re$istro I0LCC0. est4 ha+ilitada

B Ialor "ontido no +it [ ,L0ID. do re$istro I0LCC0=


TUUV L0ID Z Z 1 0 0 0 0 0 0 0 I0LCC0

B Instru *o
BT:SS BT:SS W no(e re$istro X1W no(e +it X I0LCC01L0ID ] IDRIFICA D@LA>C W no(e re$istro X1W no(e +it X ] IDRIFICA D@LA>C L0ID - I0LDRR:2_`C LMR0

U o )er+6 #per+oH

BT:SS

8 nome registro 9<8 posio bit 9

Ieri%i"ar o +it rela"ionado a u( Eed ,veri%i"ar se o Eed est4 li$ado.

B Ialor "ontido no +it Y ,eltri"a(ente li$ado a u( Eed. do re$istro 2CRLA ,o estado do +it indi"a que o Eed est4 desli$ado.=
TUUV ED> Z Z 0 0 0 0 0 0 0 0 2CRL A

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;4/103

B Instru *o
BT:SS BT:SS W no(e re$istro X1W &osi *o +it X 2CRLA1Y ] IDRIFICA D@LA>C W no(e re$istro X1W &osi *o +it X ] IDRIFCA D@LA>C >C BIL Y 0C RDQI@LRC 2CRLA

DODM2EC >D A2EICA_`C= 2ara estudar a (aneira "o(o a instru *o %un"iona dentro de u( "#di$oM%onte1 va(os desenvolver u(a a&li"a *o si(&les onde &ossa(os veri%i"ar detalhada(ente o "o(&orta(ento dos +its "ontrolados . Considere(os o dia$ra(a %un"ional=

I>>

R1

MC: RA0

RAY R; B1 E1 I@@

A o&era *o &ro&osta +astante si(&les= - Apert+ o 5oto BF< +cende o 6ed LF* - So6t+ o 5oto BF< +p+2+ o 6ed LF* Cs estados l#$i"os que os "o(&onentes B1 e E1 &ode( a&resentar &ara a o&era *o &ro&osta=
B1 Eivre 2ressionado A&a$ado A"eso 1 0 0 1

E1

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;[/103

A$ora &ode(os ela+orar o %lu'o$ra(a re&resentativo do %un"iona(ento do siste(a=


I0ICIC

B1

b 1 ,B1 livre.

E1 b 0

b0 ,B1 &ressionado.

E1 b 1

0o e'e(&lo de a&li"a *o va(os e(&re$ar a sinta'e da instru *o= Bit e( Re$istro de :so Qeral e BLF@@ W nome bit X

C &ro$ra(ador deve indi"ar o no(e do Bit e rela"ionar ao no(e do Re$istro de :so Qeral na 4rea de >iretivas 7 no "#di$oM%onte ser4 usado o no(e do Bit a&#s a instru *o B >e%inir o no(e dos +its de entrada e sa6da na 4rea de diretivas rela"ionando o no(e ao re$istro e J &osi *o do +it no re$istro=
f>DFI0D f>DFI0D B1 E1 2CRLA10 2CRLA1Y ] RDEACIC0A0>C C 0CMD PB1H AC BIL 0 >C ] RDQI@LRC 2CRLA ] RDEACIC0A0>C C 0CMD PE1H C BIL Y >C ] RDQI@LRC 2CRLA TUUV B1 e +it 0 Z 0 0 1 2CRL A

TUUV E1 e +it Y Z Z 0 0 0 0 0

Baseado no %lu'o$ra(a1 o "#di$oM%onte &ode ser es"rito "o(o=


I0ICIC BT:SS )#T# BC: )#T# EIQAME1 BS: )#T# E1 I0ICIC ] EIQA E1 ] RDLCR0A 2ARA I0ICIC B1 EIQAME1 E1 I0ICIC ] IDRIFICA C D@LA>C >C BIL R:D RD2RD@D0LA B1 ] B1 b 0 V IAI 2ARA EIQAME1 ] B1 b 1 V >D@EIQA E1 ] RDLCR0A 2ARA I0ICIC

A e'e"u *o do "#di$o "o(e a e( I0ICIC1 veri%i"a o n6vel l#$i"o ,valor. do +it re&resentado &elo no(e B1 e adota u(a das duas &ossi+ilidades que a instru *o o%ere"e1 "o(o o "#di$oM%onte indi"a a+ai'o=

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;Y/103

TUUVI0ICIC Z TUg BT:SS B1 ] IDRIFICA C D@LA>C >D B1 Z Z Z Z b1 b0 UUV IAECRD@ R:D B1 2C>D A@@:MIR Z Z Z Z Z \V )#T# EIQAME1 h ] B1 b 0 V IAI 2ARA EIQAME1 Z \UUV BC: E1 Z ] B1 b 1 V >D@EIQA E1 Z )#T# I0ICIC h Z ] RDLCR0A 2ARA I0ICIC Z Z Z Z ,B:@CA D0>DRD_C I0ICIC. Z ZiUUUUUUUUUUUUUUUUUUUUUUUj Z Z Z Z ,B:@CA D0>DRD_C EIQAME1. Z TUUUUUUUUUUUUUUUUUUUUUUUUj Z EIQAME1 Z \UUV BS: E1 ] EIQA E1 Z )#T# I0ICIC h ] RDLCR0A 2ARA I0ICIC Z Z Z ,B:@CA D0>DRD_C I0ICIC. \UUUUUUUUUUUUUUUUUUUUUUUUj

Analisando as o& !es da instru *o= B @e B1 b P1H ,set. - B1 livre salta a instru *o se$uinte e e'e"uta a instru *o en"ontrada ,BCF.. C %lu'o$ra(a (ostra o "a(inho que o "#di$oM%onte reali/a &ara esta "ondi *o=
I0ICIC

B1

b1 ,B1 livre.

E1 b 0

b0 ,B1 &ressionado.

E1 b 1

A sequen"ia do "#di$oM%onte reali/ada na %or(a indi"ada ,e( ver(elho1 ta(+(.=


TUUVI0ICIC Z TUg BT:SS B1 ] IDRIFICA C D@LA>C >D B1 Z Z Z Z b1 b0 UUV IAECR B1 b 1 Z Z Z Z Z \V )#T# EIQAME1 h ] B1 b 0 V IAI 2ARA EIQAME1 Z \UUV BC: E1 Z ] B1 b 1 V >D@EIQA E1 Z )#T# I0ICIC h Z ] RDLCR0A 2ARA I0ICIC Z Z Z Z ,B:@CA D0>DRD_C I0ICIC. Z ZiUUUUUUUUUUUUUUUUUUUUUUUj Z Z Z Z ,B:@CA D0>DRD_C EIQAME1. Z TUUUUUUUUUUUUUUUUUUUUUUUUj Z EIQAME1 Z \UUV BS: E1 ] EIQA E1 Z )#T# I0ICIC h ] RDLCR0A 2ARA I0ICIC Z Z Z ,B:@CA D0>DRD_C I0ICIC. \UUUUUUUUUUUUUUUUUUUUUUUUj
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;8/103

Analisando o "o(&orta(ento dos +its envolvidos nas instru !es dentro do re$istro 2CRLA= B Ialor "ontido no +it 0 ,B1. do re$istro 2CRLA antes da e'e"u *o da instru *o BLF@@=
TUUV E1 Z Z 0 0 0 0 0 0 0 TUUV B1 Z Z 1 2CRL A

B Instru *o - durante a e'e"u *o do "#di$oM%onte1 so(ente as instru !es envolvidas s*o "onsideradas1 as de(ais s*o "o(&leta(ente i$noradas - n*o e'iste( - &ortanto1 o "ontrolador vai ver o "#di$oM%onte da se$uinte %or(a=
TUUVI0ICIC Z TUg BT:SS B1 Z Z Z b1 Z Z Z \UUV BC: E1 Z )#T# I0ICIC h Z Z Z ,B:@CA D0>DRD_C I0ICIC. ZiUUUUUUUUUUUUUUUUUUUUUUUj ] IDRIFICA C D@LA>C >D B1

] B1 b 1 V >D@EIQA E1 ] RDLCR0A 2ARA I0ICIC

B Ialor "ontido no +it 0 ,B1. do re$istro 2CRLA de&ois da e'e"u *o da instru *o BLF@@ - o valor "ontido no +it 0 ,B1. n*o se altera "o( a e'e"u *o da instru *o] a e'e"u *o da instru *o BCF i(&!e o valor 0 ,/ero. no +it Y ,E1..
TUUV E1 Z Z 0 0 0 0 0 0 0 TUUV B1 Z Z 1 2CRL A

B @e B1 b P0H ,"lear. - B1 &ressionado reali/a a instru *o se$uinte ,QCLC.. C %lu'o$ra(a (ostra o "a(inho que o "#di$oM%onte reali/a &ara esta "ondi *o=
I0ICIC

B1

b1 ,B1 livre.

E1 b 0

b0 ,B1 &ressionado.

E1 b 1

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;9/103

A sequen"ia do "#di$oM%onte reali/ada na %or(a indi"ada ,e( ver(elho1 ta(+(.=


TUUVI0ICIC Z TUg BT:SS B1 ] IDRIFICA C D@LA>C >D B1 Z Z Z Z b1 b0 UUV IAECR B1 b 0 Z Z Z Z Z \V )#T# EIQAME1 h ] B1 b 0 V IAI 2ARA EIQAME1 Z \UUV BC: E1 Z ] B1 b 1 V >D@EIQA E1 Z )#T# I0ICIC h Z ] RDLCR0A 2ARA I0ICIC Z Z Z Z ,B:@CA D0>DRD_C I0ICIC. Z ZiUUUUUUUUUUUUUUUUUUUUUUUj Z Z Z Z ,B:@CA D0>DRD_C EIQAME1. Z TUUUUUUUUUUUUUUUUUUUUUUUUj Z EIQAME1 Z \UUV BS: E1 ] EIQA E1 Z )#T# I0ICIC h ] RDLCR0A 2ARA I0ICIC Z Z Z ,B:@CA D0>DRD_C I0ICIC. \UUUUUUUUUUUUUUUUUUUUUUUUj

Analisando o "o(&orta(ento dos +its envolvidos nas instru !es dentro do re$istro 2CRLA= B Ialor "ontido no +it 0 ,B1. do re$istro 2CRLA antes da e'e"u *o da instru *o BLF@@=
TUUV E1 Z Z 0 0 0 0 0 0 0 TUUV B1 Z Z 0 2CRL A

B Instru *o - durante a e'e"u *o do "#di$oM%onte1 so(ente as instru !es envolvidas s*o "onsideradas1 as de(ais s*o "o(&leta(ente i$noradas - n*o e'iste( - &ortanto1 o "ontrolador vai ver o "#di$oM%onte da se$uinte %or(a=
TUUVI0ICIC Z g BT:SS B1 ] IDRIFICA C D@LA>C >D B1 Z Z Z b0 Z Z Z \V )#T# EIQAME1 h ] B1 b 0 V IAI 2ARA EIQAME1 Z Z Z Z Z ,B:@CA D0>DRD_C EIQAME1. Z TUUUUUUUUUUUUUUUUUUUUUUUUj Z EIQAME1 Z \UUV BS: E1 ] EIQA E1 Z )#T# I0ICIC h ] RDLCR0A 2ARA I0ICIC Z Z Z ,B:@CA D0>DRD_C I0ICIC. \UUUUUUUUUUUUUUUUUUUUUUUUj

B Ialor "ontido no +it 0 ,B1. do re$istro 2CRLA de&ois da e'e"u *o da instru *o BLF@@ - o valor "ontido no +it 0 ,B1. n*o se altera "o( a e'e"u *o da instru *o] a e'e"u *o da instru *o B@F i(&!e o valor 1 ,u(. no +it Y ,E1..
TUUV E1 Z Z 0 1 0 0 0 0 0 TUUV B1 Z Z 1 2CRL A
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 ;9/103

CALL
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# CALL Call @u+routine CAEE W endereo X >esvia o &ro$ra(a &ara u(a su+-rotina ,sequen"ia de instru !es &r-de%inida. identi%i"ada &or W endereo X 0enhu(

CICL# M(.UINA ; STATUS

Dsta instru *o desvia o &ro$ra(a &ara o endere o indi"ado e( W nome subrotina X e e'e"uta a sequen"ia de instru !es indi"ada. A sequen"ia de instru !es do desvio deve ser en"errada "o( a instru *o RDL:R01 que retorna J &osi *o i(ediata(ente se$uinte J da instru *o CAEE. DODM2EC=
CALL @I0AEIAACAC h ] >D@IIA 2ARA @:B-RCLI0A >D F@I0AEIAACACG TUUV T Z Z Zk Z ] @DR:D0CIA >D I0@LR:_lD@ >D DODC:_`C Z Zk Z ] 0CRMAE >C 2RCQRAMA Z Zk Z Z \ Z Z Z Z ,B:@CA D0>DRD_C @I0AEIAACAC. Z TUUUUUUUUUUUUUUUUUUUUj Z @I0AEIAACAC Z T Z Zk ] @DR:D0CIA >D I0@LR:_lD@ >D DODC:_`C Z Zk ] >A @:B-RCLI0A F@I0AEIAACACG Z Zk Z \ Z RETURNh ] @Am>A >A @:B-RCLI0A F@I0AEIAACACG Z Z Z Z Z ,B:@CA D0>DRD_C >D RDLCR0C - linha se$uinte J da instru *o CAEE. \UUUUUUUUUUj

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 30/103

CLR:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# CLR: Clear F CERF W nome registro X

Colo"a o valor P0H ,"lear. dentro do re$istro identi%i"ado &or W nome registro X

CICL# M(.UINA 1 STATUS A

Dsta instru *o su+stitui todos os valores de "ada +it de u( re$istro &elo valor P0H ,"lear.. Aten *o= "olo"ar valor P0H ,/ero. e( todos os +its de u( re$istro n*o si$ni%i"a a&a$ar o valor "ontido anterior(ente neste re$istro1 u(a ve/ que o n5(ero F/eroG re&resentado &or u( re$istro "o( todos os +its "o( valor P0H ,/ero.. DODM2EC= B Ialor "ontido no re$istro 2CRLA antes da e'e"u *o da instru *o=
1 0 1 0 1 0 0 1 2CRLA

B Instru *o
CLR: 2CRLA ]CCECCA IAECR ADRC 0C RDQI@LRC 2CRLA

B Ialor "ontido no re$istro 2CRLA de&ois da e'e"u *o da instru *o=


0 0 0 0 0 0 0 0 2CRLA

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 31/103

CLR>
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# CLR> Clear ? CER? Colo"a o valor P0H ,"lear. dentro do re$istro ?

CICL# M(.UINA 1 STATUS A

Dsta instru *o su+stitui todos os valores de "ada +it do re$istro ? &elo valor P0H ,"lear.. Aten *o= "olo"ar valor P0H ,/ero. e( todos os +its de u( re$istro n*o si$ni%i"a a&a$ar o valor "ontido anterior(ente neste re$istro1 u(a ve/ que o n5(ero F/eroG re&resentado &or u( re$istro "o( todos os +its "o( valor P0H ,/ero.. DODM2EC= B Ialor "ontido no re$istro ? antes da e'e"u *o da instru *o=
1 0 1 0 1 0 0 1 ?

B Instru *o
CLR> ] CCECCA IAECR ADRC 0C RDQI@LRC ?

B Ialor "ontido no re$istro ? de&ois da e'e"u *o da instru *o=


0 0 0 0 0 0 0 0 ?

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 3;/103

$EC:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# CICL# M(.UINA STATUS $EC: >e"re(ent F >DCF W nome registro X >e"re(enta de u(a unidade o valor "ontido no re$istro F identi%i"ado &or W nome registro X 1 A

Dsta instru *o su+trai u(a unidade , 1 . do re$istro. @e o resultado da su+tra *o do re$istro resultar e( valor /ero ,nulo.1 o +it A do re$istro @LAL:@ altera o valor &ara P1H. 3 ne"ess4rio que o re$istro se)a de%inido "o(o vari4vel nas diretivas. DODM2EC= B >e%inir o re$istro "o(o vari4vel nas diretivas=
CBECC^ 0';0 CC0L D0>C ] RDQI@LRC CC0LA>CR

B Ialor "ontido no re$istro CC0L antes da e'e"u *o da instru *o=


0 0 0 0 0 0 1 0 ; CC0L

B Instru *o
$EC: CC0L 0 0 0 0 0 ] >DCRDMD0LA :MA :0I>A>D C RDQ. CC0L 0 1 0 ; CC0L

n
0 0 0 0 0 0 0 1 1

n
CC0L n 1

CC0L

B Ialor "ontido no re$istro CC0L de&ois da e'e"u *o da instru *o >DCF=


0 0 0 0 0 0 0 1 1 CC0L

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 33/103

$EC:S?
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# $EC:S? >e"re(ent F1 @Si& i% Aero >DCF@A W nome registro X

>e"re(enta de u(a unidade o valor "ontido no re$istro F identi%i"ado &or W nome registro X e salta a instru *o se$uine se o resultado da o&era *o %or /ero. ; CM se valor do re$istro %or i$ual a /ero 7 e'e"uta u(a 0C2 CICL# M(.UINA 1 CM se valor do re$istro %or di%erente de /ero STATUS 0enhu(

Dsta instru *o su+trai u(a unidade , 1 . do re$istro e veri%i"a se o resultado da o&era *o /ero ,nulo.= - se o resultado da o&era *o b P0H ,i$ual a /ero. salta a instru *o se$uinte e e'e"uta as de(ais instru !es. - se o resultado da o&era *o o P0H ,di%erente de /ero. e'e"uta a instru *o se$uinte ,no "aso u( QCLC.. 3 ne"ess4rio que o re$istro se)a de%inido "o(o vari4vel nas diretivas. DODM2EC= B >e%inir o re$istro "o(o vari4vel nas diretivas=
CBECC^ 0';0 CC0L D0>C ] RDQI@LRC CC0LA>CR

Ia(os "onsiderar o "#di$o a+ai'o=


I0ICIC $EC:S? )#T# BS: T Zk Zk Zk \ CC0L I0ICIC FEAQ ] >DCRDMD0LA :MA :0I>A>D C RDQ. CC0L ] RD@:ELA>C o 0 V IAI 2ARA I0ICIC ] RD@:ELA>C b 0 V CCECCA P1H 0C BIL FEAQ ] @DR:D0CIA >D I0@LR:_lD@ >C 2RCQRAMA

A e'e"u *o do "#di$o "o(e a e( I0ICIC1 su+trai u(a unidade do re$istro CC0L1veri%i"a se o resultado da o&era *o /ero e deve adotar u(a das duas &ossi+ilidades que a instru *o o%ere"e= B Resultado da o&era *o o P0H ,di%erente de /ero. e'e"uta a instru *o se$uinte ,no "aso u( QCLC.. B Ialor "ontido no re$istro CC0L antes da e'e"u *o da instru *o=
0 0 0 0 0 0 1 0 ; CC0L

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 34/103

B Instru *o
$EC:S? CC0L 0 0 0 0 0 ] >DCRDMD0LA :MA :0I>A>D C RDQ. CC0L 0 1 0 ; CC0L

n
0 0 0 0 0 0 0 1 1

n
CC0L n 1

CC0L

B Ialor "ontido no re$istro CC0L de&ois da e'e"u *o da instru *o >DCF@A=


0 0 0 0 0 0 0 1 1 CC0L

B Instru *o se$uinte
)#T# I0ICIC ] RD@:ELA>C o 0 V IAI 2ARA I0ICIC

B Resultado da o&era *o b P0H ,"lear. salta a instru *o se$uinte e e'e"uta as de(ais instru !es. B Ialor "ontido no re$istro CC0L antes da e'e"u *o da instru *o=
0 0 0 0 0 0 0 1 1 CC0L

B Instru *o
$EC:S? CC0L 0 0 0 0 0 ] >DCRDMD0LA :MA :0I>A>D C RDQ. CC0L 0 0 1 1 CC0L

n
0 0 0 0 0 0 0 1 1

n
CC0L n 1

CC0L

B Ialor "ontido no re$istro CC0L de&ois da e'e"u *o da instru *o >DCF@A=


0 0 0 0 0 0 0 0 0 CC0L

B Instru *o se$uinte
BS: T Zk Zk Zk \ FEAQ ] RD@:ELA>C b 0 V CCECCA P1H 0C BIL FEAQ ] @DR:D0CIA >D I0@LR:_lD@ >C 2RCQRAMA

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 3[/103

C+servando o "#di$o "o(&leto "o( as indi"a !es de "a(inhos a sere( se$uidos e( %un *odo resultado da o&era *o I0CF@A1 &ode(os notar que1 u(a ve/ es"olhido o "a(inho de e'e"u *o1 as de(ais &oss+ilidades s*o i$noradas=
TUUUUUUUUUUUUUUUUUUUh
Z ,B:@CA D0>DRD_C.

I0ICIC TUg $EC:S? b0 o0 Z \V )#T# \UUV BS: T Zk Zk Zk \

Z CC0L Z Z I0ICIC j FEAQ

] >DCRDMD0LA :MA :0I>A>D C RDQ. CC0L ] RD@:ELA>C o 0 V IAI 2ARA I0ICIC ] RD@:ELA>C b 0 V CCECCA P1H 0C BIL FEAQ ] @DR:D0CIA >D I0@LR:_lD@ >C 2RCQRAMA

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 3Y/103

)#T#
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# )#T# Qo Lo QCLC W endereo X

>esvia &ara o W endereo X indi"ado

CICL# M(.UINA ; STATUS 0enhu(

Dsta instru *o "ria u( desvio in"ondi"ional &ara qualquer outra &arte do &ro$ra(a de a"ordo "o( o no(e do endere o indi"ado. Dste desvio n*o te( retorno e n*o de&ende de "ondi !es internas ou e'ternas ao &ro$ra(a. DODM2EC= B Instru *o
)#T# >D@EIQAMED> h Z ] IAI 2ARA C D0>DRD_C >D@EIQAMED>

,B:@CA D0>DRD_C >D@EIQAMED>.

TUUUUUUUUUUUUUUUUUUUUUUUUj >D@EIQAMED> Z \UUV BC: ED>

] >D@EIQA ED>

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 38/103

INC:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# INC: In"re(ent F I0CF W nome registro X In"re(enta de u(a unidade o valor "ontido no re$istro F identi%i"ado &or W nome registro X A

CICL# M(.UINA 1 STATUS

Dsta instru *o adi"iona u(a unidade , 1 . ao re$istro. @e o resultado da adi *o ao re$istro resultar e( valor /ero ,nulo.1 o +it A do re$istro @LAL:@ altera o valor &ara P1H. 3 ne"ess4rio que o re$istro se)a de%inido "o(o vari4vel nas diretivas. DODM2EC= B >e%inir o re$istro "o(o vari4vel nas diretivas=
CBECC^ 0';0 CC0L D0>C ] RDQI@LRC CC0LA>CR

B Ialor "ontido no re$istro CC0L antes da e'e"u *o da instru *o=


1 1 1 1 1 1 1 0 ;[4 CC0L

B Instru *o
INC: CC0L 1 1 1 1 1 ] I0CRDMD0LA :MA :0I>A>D C RDQ. CC0L 1 1 0 ;[4 CC0L

I
0 0 0 0 0 0 0 1 1

I
CC0L I 1

;[[

CC0L

B Ialor "ontido no re$istro CC0L de&ois da e'e"u *o da instru *o I0CF=


1 1 1 1 1 1 1 1 ;[[ CC0L

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 39/103

INC:S?
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# INC:S? In"re(ent F1 @Si& i% Aero I0CF@A W nome registro X

In"re(enta de u(a unidade o valor "ontido no re$istro F identi%i"ado &or W nome registro X e salta a instru *o se$uine se o resultado da o&era *o %or /ero. ; CM se valor do re$istro %or i$ual a /ero 7 e'e"uta u(a 0C2 CICL# M(.UINA 1 CM se valor do re$istro %or di%erente de /ero STATUS 0enhu(

Dsta instru *o adi"iona u(a unidade , 1 . ao re$istro e veri%i"a se o resultado da o&era *o /ero ,nulo.= - se o resultado da o&era *o b P0H ,i$ual a /ero. salta a instru *o se$uinte e e'e"uta as de(ais instru !es. - se o resultado da o&era *o o P0H ,di%erente de /ero. e'e"uta a instru *o se$uinte ,no "aso u( QCLC.. 3 ne"ess4rio que o re$istro se)a de%inido "o(o vari4vel nas diretivas. DODM2EC= B >e%inir o re$istro "o(o vari4vel nas diretivas=
CBECC^ 0';0 CC0L D0>C ] RDQI@LRC CC0LA>CR

Ia(os "onsiderar o "#di$o a+ai'o=


I0ICIC INC:S? )#T# BS: T Zk Zk Zk \ CC0L I0ICIC FEAQ ] I0CRDMD0LA :MA :0I>A>D C RDQ. CC0L ] RD@:ELA>C o 0 V IAI 2ARA I0ICIC ] RD@:ELA>C b 0 V CCECCA P1H 0C BIL FEAQ ] @DR:D0CIA >D I0@LR:_lD@ >C 2RCQRAMA

A e'e"u *o do "#di$o "o(e a e( I0ICIC1 adi"iona u(a unidade ao re$istro CC0L1veri%i"a se o resultado da o&era *o /ero e deve adotar u(a das duas &ossi+ilidades que a instru *o o%ere"e= B Resultado da o&era *o o P0H ,di%erente de /ero. e'e"uta a instru *o se$uinte ,no "aso u( QCLC.. B Ialor "ontido no re$istro CC0L antes da e'e"u *o da instru *o=
1 1 1 1 1 1 1 0 ;[4 CC0L

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 39/103

B Instru *o
INC:S? CC0L 1 1 1 1 1 ] I0CRDMD0LA :MA :0I>A>D C RDQ. CC0L 1 1 0 ;[4 CC0L

I
0 0 0 0 0 0 0 1 1

I
CC0L I 1

;[[

CC0L

B Ialor "ontido no re$istro CC0L de&ois da e'e"u *o da instru *o I0CF@A=


1 1 1 1 1 1 1 1 ;[[ CC0L

B Instru *o se$uinte
)#T# I0ICIC ] RD@:ELA>C o 0 V IAI 2ARA I0ICIC

B Resultado da o&era *o b P0H ,i$ual a /ero. salta a instru *o se$uinte e e'e"uta as de(ais instru !es. B Ialor "ontido no re$istro CC0L antes da e'e"u *o da instru *o=
1 1 1 1 1 1 1 1 ;[[ CC0L

B Instru *o
INC:S? CC0L 1 1 1 1 1 ] I0CRDMD0LA :MA :0I>A>D C RDQ. CC0L 1 1 1 ;[[ CC0L

I
0 0 0 0 0 0 0 1 1

I
CC0L I 1

CC0L

B Ialor "ontido no re$istro CC0L de&ois da e'e"u *o da instru *o I0CF@A=


0 0 0 0 0 0 0 0 0 CC0L

B Instru *o se$uinte
BS: T Zk Zk Zk \ FEAQ ] RD@:ELA>C b 0 V CCECCA P1H 0C BIL FEAQ ] @DR:D0CIA >D I0@LR:_lD@ >C 2RCQRAMA

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 40/103

C+servando o "#di$o "o(&leto "o( as indi"a !es de "a(inhos a sere( se$uidos e( %un *odo resultado da o&era *o I0CF@A1 &ode(os notar que1 u(a ve/ es"olhido o "a(inho de e'e"u *o1 as de(ais &oss+ilidades s*o i$noradas=
TUUUUUUUUUUUUUUUUUUUh
Z ,B:@CA D0>DRD_C.

I0ICIC TUg INC:S? b0 o0 Z \V )#T# \UUV BS: T Zk Zk Zk \

Z CC0L Z Z I0ICIC j FEAQ

] I0CRDMD0LA :MA :0I>A>D C RDQ. CC0L ] RD@:ELA>C o 0 V IAI 2ARA I0ICIC ] RD@:ELA>C b 0 V CCECCA P1H 0C BIL FEAQ ] @DR:D0CIA >D I0@LR:_lD@ >C 2RCQRAMA

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 41/103

M#4L>
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# M#4L> Move Eiteral to ? MCIE? W nome literal X MCIE? W valor X Mover o valor do literal identi%i"ado &or W nome literal X ou W valor X &ara o re$istro ? 0enhu(

CICL# M(.UINA 1 STATUS

Dsta instru *o usada &ara "o&iar o valor de u( n5(ero ou "onstante ,literal. ar(a/enado e( u( re$istro da (e(#ria de &ro$ra(a1 &ara o re$istro ?. C+servar que n*o i(&orta a %or(a que o valor de"larado ,+in4rio1 de"i(al ou he'a. no &ro$ra(a1 o valor que ser4 "olo"ado no re$istro ? ser4 se(&re e( +in4rio. C valor do literal &ode ser e'&resso de duas %or(as= - No-e Liter+6= o valor do literal rela"ionado a u( no(e esta+ele"ido &elo &ro$ra(ador e de"larado dentro das diretivas. - 4+6or= o valor do literal de"larado direta(ente na %or(a nu(ri"a dentro da &r#&ria instru *o. DODM2EC@= - No-e Liter+6 B Rela"ionar a "onstante a u( no(e e de"larar o valor na 4rea de diretivas=
CLMLDM2C DR: .1;[ ] CC0@LA0LD >D LDM2C

B Ialor "ontido no re$istro ? antes da e'e"u *o da instru *o=


0 0 0 0 0 0 0 0 ?

B Instru *o
M#4L> CLMLDM2C ] MCIDR EILDRAE 2ARA RDQ. ?

B Ialor "ontido no re$istro ? de&ois da e'e"u *o da instru *o=


0 1 1 1 1 1 0 1 ?

- 4+6or e- 5in7rio B Ialor "ontido no re$istro ? antes da e'e"u *o da instru *o=


0 0 0 0 0 0 0 0 ?

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 4;/103

B Instru *o
M#4L> Ba10000011a ] MCIDR EILDRAE 2ARA RDQ. ?

B Ialor "ontido no re$istro ? de&ois da e'e"u *o da instru *o=


1 0 0 0 0 0 1 1 ?

- 4+6or e- deci-+6 B Ialor "ontido no re$istro ? antes da e'e"u *o da instru *o=


0 0 0 0 0 0 0 0 ?

B Instru *o
M#4L> .1;3 ] MCIDR EILDRAE 2ARA RDQ. ?

B Ialor "ontido no re$istro ? de&ois da e'e"u *o da instru *o=


0 1 1 1 1 0 1 1 ?

- 4+6or e- heJ+deci-+6 B Ialor "ontido no re$istro ? antes da e'e"u *o da instru *o=


0 0 0 0 0 0 0 0 ?

B Instru *o
M#4L> 0'4F ] MCIDR EILDRAE 2ARA RDQ. ?

B Ialor "ontido no re$istro ? de&ois da e'e"u *o da instru *o=


0 1 0 0 1 1 1 1 ?

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 43/103

M#4:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# M#4: Move F MCIF W registro origem X1 W registro destino X Mover o valor "ontido no re$istro F identi%i"ado e( Wregistro origemX &ara o re$istro identi%i"ado e( W registro destino X A ,ver o+serva *o.

CICL# M(.UINA 1 STATUS

Dsta instru *o usada &ara "o&iar o valor "ontido no re$istro F Wregistro origemX &ara o re$istro F identi%i"ado e( Wregistro destinoX da se$uinte (aneira= - se o re$istro de ori$e( %or o re$istro ?1 o re$istro de destino ser4 se(&re o re$istro ?. - se o re$istro de ori$e( %or o re$istro F1 o re$istro de destino ser4 o re$istro F ou o re$istro ?. - n*o &oss6vel (over do re$istro de ori$e( ? &ara o re$istro de destino F. C+serva *o= se o valor "ontido no re$istro de ori$e( F %or nulo ,todos os +its "ont( o valor P0H.1 a e'e"u *o da instru *o MCIF (uda o estado do +it A do re$istro @LAL:@ de 0 e 11 indi"ando que o resultado da o&era *o %oi nulo. C &ro$ra(ador &ode utili/ar este evento &ara testar se o re$istro de ori$e( F nulo ou n*o. DODM2EC= - Mo/er /+6or do re2i tro de ori2e- > p+r+ o re2i tro de de tino > B Ialor "ontido no re$istro ? antes da e'e"u *o da instru *o=
1 0 1 0 1 0 0 1 ?

B Instru *o
M#4: ?1? ] MCIDR C IAECR CC0LI>C 0C RDQ. ? 2ARA C RDQ. ?

B Ialor "ontido no re$istro ? de&ois da e'e"u *o da instru *o=


1 0 1 0 1 0 0 1 ?

- Mo/er /+6or do re2i tro de ori2e- : &INTC#N' p+r+ o re2i tro de de tino : &INTC#N'* B Ialor "ontido no re$istro I0LCC0 antes da e'e"u *o da instru *o=
1 0 1 0 1 1 1 1 I0LCC0

B Instru *o
M#4: I0LCC01F ] MCIDR C IAECR CC0LI>C 0C RDQ. I0LCC0 2ARA ] C RDQ. I0LCC0

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 44/103

B Ialor "ontido no re$istro I0LCC0 de&ois da e'e"u *o da instru *o=


1 0 1 0 1 0 0 1 I0LCC0

- Mo/er /+6or do re2i tro de ori2e- : &INTC#N' p+r+ o re2i tro de de tino > B Ialores "ontidos nos re$istros I0LCC0 e ? antes da e'e"u *o da instru *o=
1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 I0LCC0 ?

B Instru *o
M#4: I0LCC01? ] MCIDR C IAECR CC0LI>C 0C RDQ. I0LCC0 2ARA ] C RDQ. ?

B Ialores "ontidos nos re$istros I0LCC0 e ? de&ois da e'e"u *o da instru *o=


1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 I0LCC0 ?

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 4[/103

M#4>:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# M#4:> Move ? to F MCI?F W nome registro X Mover o valor "ontido no re$istro ? &ara o re$istro F identi%i"ado e( W nome registro X 0enhu(

CICL# M(.UINA 1 STATUS

Dsta instru *o usada &ara "o&iar o valor "ontido no re$istro ? &ara o re$istro F identi%i"ado e( W nome registro X DODM2EC= Ia(os reali/ar o e'e(&lo "o( u(a sequen"ia de instru !es +astante "o(u( nos &ro$ra(as1 "olo"ando o valor de u( literal no re$istro ? e1 na sequen"ia1 "olo"ar o valor "ontido no re$istro ? no re$istro I0LCC0 ,)4 e'istente na (e(#ria RAM 7 4rea @FR.. A sequen"ia de instru !es %i"a "o(o a+ai'o=
M#4L> M#4>: Ba10100000a I0LCC0 ] QID NABIEILA>C ,I0LDRR:2_lD@ EIQA>A@. ] I0LDRR:2_`C LMR0 NABIEILA>A

Cs valores dentro dos re$istros (odi%i"a(-se de a"ordo "o( a sequen"ia de instru !es= B Ialores "ontidos nos re$istros ? e I0LCC0 antes da e'e"u *o da instru *o=
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ? I0LCC0

B Instru *o
M#4L> Ba10100000a

B Ialores "ontidos nos re$istros ? e I0LCC0 de&ois da e'e"u *o da instru *o MCIE?=


1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ? I0LCC0

B Instru *o
M#4>: I0LCC0 ] QID NABIEILA>C ,I0LDRR:2_lD@ EIQA>A@. ] I0LDRR:2_`C LMR0 NABIEILA>A

B Ialores "ontidos nos re$istros ? e I0LCC0 de&ois da e'e"u *o da instru *o MCI?F=


1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 ? I0LCC0

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 4Y/103

N#P
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# N#P 0o C&eration 0C2 0*o e'e"uta nenhu(a o&era *o

CICL# M(.UINA 1 STATUS 0enhu(

Dsta instru *o n*o e'e"uta nenhu(a o&era *o es&e"6%i"a e( u( "#di$o ou &ro$ra(a. A e'e"u *o da instru *o 0C2 "onso(e 1 CM ,u( "i"lo de (4quina. que &ode ser e(&re$ado &ara &rodu/ir u( atraso equivalente. DODM2EC= Ia(os "onsiderar o "#di$o a+ai'o=
I0ICIC BT:SC )#T# BS: N#P N#P N#P )#T# BCLAC >D@EIQAMED> ED> ] IDRIFICA C D@LA>C >C BIL R:D RD2RD@D0LA BCLAC ] BCLAC b 0 V IAI 2ARA >D@EIQAMED> ] BCLAC b 1 V EIQA ED> ] ] AQ:AR>A 3 CM A0LD@ >A I0@LR:_`C QCLC ] ] RDLCR0A 2ARA I0ICIC

I0ICIC

Dntre a instru *o B@F e a instru *o QCLC e'iste( tres instru !es 0C21 isto 1 o &ro$ra(a "onso(e 3 CM se( reali/ar nenhu(a o&era *o. C n5(ero de ve/es que a instru *o 0C2 &ode ser utili/ada ,se( sequen"ia ou n*o. n*o te( li(ite. >e&ende e'"lusiva(ente da ne"essidade de uso no &ro$ra(a.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 48/103

RET:IE
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# RET:IE Return Fro( Interru&t Dna+le RDLFID Retorno de u(a Interru& *o

CICL# M(.UINA ; STATUS 0enhu(

Dsta instru *o e(&re$ada so(ente &ara retorno de interru& *o ,qualquer ti&o.. 2ara (elhor visuali/a *o da a&li"a *o da instru *o1 va(os "onsiderar o "#di$o a+ai'o "o(o u(a sequen"ia &adr*o &ara trata(ento de interru& !es=
CRQ T Zk Zk Zk \ T Zk Zk Zk \ )#T# @AIMI0L T Zk Zk Zk \ RET:IE 0O04 ] D0>DRD_C >C IDLCR >D I0LDRR:2_`C ] @DR:D0CIA >D I0@LR:_lD@ >C 2RCQRAMA ] 2ARA 2RD@DRIAR CC0LDOLC ,RDQI@LRC@ ] IM2CRLA0LD@.

] @DR:D0CIA >D I0@LR:_lD@ >C 2RCQRAMA ] 2ARA >DLDRMI0AR R:AE I0LDRR:2_`C ] FCI ALIIA>A 2ARA LRALAMD0LC @AIMI0L ] IAI 2ARA RCLI0A >D @Am>A I0LDRR:2_`C ] R:A0>C C LRALAMD0LC LDRMI0AR ] @DR:D0CIA >D I0@LR:_lD@ >C 2RCQRAMA ] 2ARA RDC:2DRAR CC0LDOLC ,RDQI@LRC@ ] IM2CRLA0LD@ @AEIC@. ] @Am>A >C LRALAMD0LC >D I0LDRR:2_`C

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 49/103

RETURN
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# RETURN Return RDL:R0 Retorna de u(a su+-rotina ,sequen"ia de instru !es &r-de%inida. e'e"utada "o(&leta(ente. 0enhu(

CICL# M(.UINA ; STATUS

Dsta instru *o retorna ao &ro$ra(a a&#s a e'e"u *o das instru !es de u(a su+-rotina ini"iada &ela instru *o CAEE. DODM2EC=
CALL @I0AEIAACAC h ] >D@IIA 2ARA @:B-RCLI0A >D F@I0AEIAACACG TUUV T Z Z Zk Z ] @DR:D0CIA >D I0@LR:_lD@ >D DODC:_`C Z Zk Z ] 0CRMAE >C 2RCQRAMA Z Zk Z Z \ Z Z Z Z ,B:@CA D0>DRD_C @I0AEIAACAC. Z TUUUUUUUUUUUUUUUUUUUUj Z @I0AEIAACAC Z T Z Zk ] @DR:D0CIA >D I0@LR:_lD@ >D DODC:_`C Z Zk ] >A @:B-RCLI0A F@I0AEIAACACG Z Zk Z \ Z RETURNh ] @Am>A >A @:B-RCLI0A F@I0AEIAACACG Z Z Z Z Z ,B:@CA D0>DRD_C >D RDLCR0C - linha se$uinte J da instru *o CAEE. \UUUUUUUUUUj

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 49/103

S>AP:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# S>AP: @ca& 0i++les in F @?A2F W registro origem X1 W registro destino X Lro"a de &osi *o o 0i++le Alto ,0IBMNI. "o( o 0i++le Bai'o ,0IBMEC. do re$istro F identi%i"ado e( Wregistro origemX e "olo"a o resultado da o&era *o no re$istro identi%i"ado e( W registro destino X 0enhu(

CICL# M(.UINA 1 STATUS

Dsta instru *o tro"a de &osi *o os quatro +its (enos si$ni%i"ativos ,0i++le Bai'o ,0IBMEC.. "o( os quatro +its (ais si$ni%i"ativos ,0i++le Alto ,0IBMNI.. do re$istro.
0 0 0 0 1 1 1 1 Re$istro

0IBBED AELC ,0IBMNI.

0IBBED BAIOC ,0IBMEC.

C resultado da o&era *o &ode ser dire"ionado &ara u( re$istro de destino da se$uinte (aneira= - se o re$istro de ori$e( %or o re$istro ?1 o re$istro de destino ser4 se(&re o re$istro ?. - se o re$istro de ori$e( %or o re$istro F1 o re$istro de destino ser4 o re$istro F ou o re$istro ?. #5 er/+o= quando a instru *o %or e(&re$ada no re$istro de ori$e( F e o resultado da o&era *o %or "olo"ado no re$istro de destino ?1 a instru *o tro"a o 0i++le Alto ,0IBMNI. "o( o 0i++le Bai'o ,0IBMEC. so(ente no re$istro de destino ?1 &reservando a &osi *o ori$inal no re$istro de ori$e( F. DODM2EC= - Troc+r + po io no re2i tro de ori2e- > e co6oc+r o re u6t+do no re2i tro de de tino > B Ialor "ontido no re$istro ? antes da e'e"u *o da instru *o=
0 0 0 0 1 1 1 1 ?

B Instru *o
S>AP: ?1? ] LRCCA C 0IBMNI CCM C 0IBMEC >C RDQ. ? ] D CCECCA C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. ?

B Ialor "ontido no re$istro ? de&ois da e'e"u *o da instru *o=


1 1 1 1 0 0 0 0 ?

- Troc+r + po io do re2i tro de ori2e- : &INTC#N' e co6oc+r o re u6t+do no re2i tro de de tino : &INTC#N'* B Ialor "ontido no re$istro I0LCC0 antes da e'e"u *o da instru *o=
0 0 0 0 1 1 1 1 I0LCC0
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [0/103

B Instru *o
S>AP: I0LCC01F ] LRCCA C 0IBMNI CCM C 0IBMEC >C RDQ. I0LCC0 ] D CCECCA C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. I0LCC0

B Ialor "ontido no re$istro I0LCC0 de&ois da e'e"u *o da instru *o=


1 1 1 1 0 0 0 0 I0LCC0

- Troc+r + po io no re2i tro de ori2e- : &INTC#N' e co6oc+r o re u6t+do no re2i tro de de tino > B Ialores "ontidos nos re$istros I0LCC0 e ? antes da e'e"u *o da instru *o=
0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 I0LCC0 ?

B Instru *o
S>AP: I0LCC01? ] LRCCA C 0IBMNI CCM C 0IBMEC >C RDQ. I0LCC0 ] D CCECCA C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. ?

B Ialores "ontidos nos re$istros I0LCC0 e ? de&ois da e'e"u *o da instru *o=


0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 I0LCC0 ?

#5 er/+o= notar que a instru *o %oi e(&re$ada no re$istro de ori$e( I0LCC0 e o resultado da o&era *o %oi "olo"ado no re$istro de destino ?1 enquanto a tro"a do 0i++le Alto ,0IBMNI. "o( o 0i++le Bai'o ,0IBMEC. o"orreu so(ente no re$istro de destino ?1 &reservando a &osi *o ori$inal no re$istro de ori$e( I0LCC0.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [1/103

I#R>:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# I#R>: ? lo$i" CR cith F ICR?F W registro origem X1 W registro destino X Reali/a a o&era *o l#$i"a CR ,ou. entre o valor "ontido no re$istro ? e o valor "ontido no re$istro F identi%i"ado e( Wregistro origemX1 e "olo"a o resultado da o&era *o no re$istro identi%i"ado e( W registro destino X A

CICL# M(.UINA 1 STATUS

Dsta instru *o reali/a a o&era *o l#$i"a CR ,ou.1 +it a +it1 entre o valor "ontido no re$istro ? e o valor "ontido no re$istro F de a"ordo "o( a e'&ress*o +ooleana= - re$istro de destino ? - re$istro de destino F W =W + F F =W + F

A ta+ela verdade da l#$i"a CR ,ou. re&resentada a+ai'o &ara todas as &oss6veis "o(+ina !es de ? e F=
> 0 0 1 1 : 0 1 0 1 0 1 1 1

A :nidade E#$i"a do &ro"essador reali/a a o&era *o e( "ada +it dos re$istros individual(ente1 "olo"ando o resultado da o&era *o no +it "orres&ondente do re$istro de destino ,? ou F.1 onde o sinal FIG re&resenta a o&era *o l#$i"a FouG=
Bit G F E D C B ; A > 0 0 1 1 0 0 1 1 p p p p p p p p : 0 1 0 1 0 1 0 1 b b b b b b b b 0 1 1 1 0 1 1 1

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [;/103

DODM2EC= - Re+6i3+r + 6K2ic+ #R &ou' entre o re2i tro > e o re2i tro C#NT e co6oc+r o re u6t+do no re2i tro > B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 ? CC0L

B Instru *o
I#R>: CC0L1? ] EqQICA CR D0LRD C RDQ. ? D C RDQ. CC0L CCECCAR C ] RD@:ELA>C >A C2DRA_`C 0C RDQ. ? 0 1 1 1 0 0 0 1 ? ,CR. I CC0L

I
0

p
1

p
1

p
0

p
1

p
0

p
0

I
0

AtenoH o sinal FIG re&resenta a o&era *o l#$i"a FouG. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 0 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro ? so%reu (odi%i"a *o ,a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o.1 enquanto o re$istro CC0L &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado.. - Re+6i3+r + 6K2ic+ #R &ou' entre o re2i tro > e o re2i tro C#NT e co6oc+r o re u6t+do no re2i tro C#NT B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 ? CC0L

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [3/103

B Instru *o
I#R>: CC0L1F ] EqQICA CR D0LRD C RDQ. ? D C RDQ. CC0L - CCECCAR ] C RD@:ELA>C >A C2DRA_`C 0C RDQ. CC0L 0 1 1 1 0 0 0 1 ? ,CR. I CC0L

I
0

p
1

p
1

p
0

p
1

p
0

p
0

I
0

CC0L

AtenoH o sinal FIG re&resenta a o&era *o l#$i"a FouG. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 0 1 1 1 1 1 1 0 1 0 0 0 0 1 1 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro CC0L so%reu (odi%i"a *o ,a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o.1 enquanto o re$istro ? &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [4/103

AN$>:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# AN$>: ? lo$i" A0> cith F A0>?F W registro origem X1 W registro destino X Reali/a a o&era *o l#$i"a A0> ,e. entre o valor "ontido no re$istro ? e o valor "ontido no re$istro F identi%i"ado e( Wregistro origemX1 e "olo"a o resultado da o&era *o no re$istro identi%i"ado e( W registro destino X A

CICL# M(.UINA 1 STATUS

Dsta instru *o reali/a a o&era *o l#$i"a A0> ,e.1 +it a +it1 entre o valor "ontido no re$istro ? e o valor "ontido no re$istro F de a"ordo "o( a e'&ress*o +ooleana= - re$istro de destino ? - re$istro de destino F W =W F F =W F

A ta+ela verdade da l#$i"a A0> ,e. re&resentada a+ai'o &ara todas as &oss6veis "o(+ina !es de ? e F=
> 0 0 1 1 : 0 1 0 1 0 0 0 1

A :nidade E#$i"a do &ro"essador reali/a a o&era *o e( "ada +it dos re$istros individual(ente1 "olo"ando o resultado da o&era *o no +it "orres&ondente do re$istro de destino ,? ou F.1 onde o sinal F G re&resenta a o&era *o l#$i"a FeG=
Bit G F E D C B ; A > 0 0 1 1 0 0 1 1 :

0 1 0 1 0 1 0 1

b b b b b b b b

0 0 0 1 0 0 0 1

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [[/103

DODM2EC= - Re+6i3+r + 6K2ic+ AN$ &e' entre o re2i tro > e o re2i tro C#NT e co6oc+r o re u6t+do no re2i tro > B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 ? CC0L

B Instru *o
AN$>: CC0L1? ] EqQICA A0> D0LRD C RDQ. ? D C RDQ. CC0L ] CCECCAR C RD@:ELA>C >A C2DRA_`C 0C RDQ ?

? ,A0>.

CC0L

AtenoH o sinal F G re&resenta a o&era *o l#$i"a FeG. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro ? so%reu (odi%i"a *o ,a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o.1 enquanto o re$istro CC0L &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado.. - Re+6i3+r + 6K2ic+ AN$ &e' entre o re2i tro > e o re2i tro C#NT e co6oc+r o re u6t+do no re2i tro C#NT B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 ? CC0L

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [Y/103

B Instru *o
AN$>: CC0L1F ] EqQICA A0> D0LRD C RDQ. ? D C RDQ. CC0L ] CCECCAR C RD@:ELA>C >A C2DRA_`C 0C RDQ ? 0 1 1 1 0 0 0 1 ? ,A0>.

CC0L

CC0L

AtenoH o sinal F G re&resenta a o&era *o l#$i"a FeG. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 0 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro CC0L so%reu (odi%i"a *o ,a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o.1 enquanto o re$istro ? &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [8/103

1#R>:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# 1#R>: ? lo$i" DOCE:@IID-CR cith F OCR?F W registro origem X1 W registro destino X Reali/a a o&era *o l#$i"a DOCE:@IID-CR ,ou-e'"lusivo. entre o valor "ontido no re$istro ? e o valor "ontido no re$istro F identi%i"ado e( Wregistro origemX1 e "olo"a o resultado da o&era *o no re$istro identi%i"ado e( W registro destino X A

CICL# M(.UINA 1 STATUS

Dsta instru *o reali/a a o&era *o l#$i"a A0> ,e.1 +it a +it1 entre o valor "ontido no re$istro ? e o valor "ontido no re$istro F de a"ordo "o( a e'&ress*o +ooleana= - re$istro de destino ? - re$istro de destino F W =W F F =W F

A ta+ela verdade da l#$i"a DOCE:@IID-CR ,ou-e'"lusivo. re&resentada a+ai'o &ara todas as &oss6veis "o(+ina !es de ? e F=
> 0 0 1 1 : 0 1 0 1 0 1 1 0

A :nidade E#$i"a do &ro"essador reali/a a o&era *o e( "ada +it dos re$istros individual(ente1 "olo"ando o resultado da o&era *o no +it "orres&ondente do re$istro de destino ,? ou F.1 onde o sinal F G re&resenta a o&era *o l#$i"a Fe'"lusive-orG=
Bit G F E D C B ; A > 0 0 1 1 0 0 1 1 :

0 1 0 1 0 1 0 1

b b b b b b b b

0 1 1 1 0 1 1 0

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [9/103

DODM2EC= - Re+6i3+r + 6K2ic+ E1CLUSI4E-#R &ou-eJc6u i/o' entre o re2i tro > e o re2i tro C#NT e co6oc+r o re u6t+do no re2i tro > B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 ? CC0L

B Instru *o
1#R>: CC0L1? ] EqQICA DOCE:@IID-CR D0LRD C RDQ. ? D C RDQ. CC0L ] CCECCAR C RD@:ELA>C >A C2DRA_`C 0C RDQ ? 0 1 1 1 0 0 0 1 ?


0 1 1 0 1 0 0 0

CC0L

AtenoH o sinal F G re&resenta a o&era *o l#$i"a Fou-e'"lusivoG. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro ? so%reu (odi%i"a *o ,a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o.1 enquanto o re$istro CC0L &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado.. - Re+6i3+r + 6K2ic+ E1CLUSI4E-#R &ou-eJc6u i/o' entre o re2i tro > e o re2i tro C#NT e co6oc+r o re u6t+do no re2i tro C#NT B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 ? CC0L

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 [9/103

B Instru *o
1#R>: CC0L1F ] EqQICA DOCE:@IID-CR D0LRD C RDQ. ? D C RDQ. CC0L ] CCECCAR C RD@:ELA>C >A C2DRA_`C 0C RDQ ? 0 1 1 1 0 0 0 1 ?


0 1 1 0 1 0 0 0

CC0L

CC0L

AtenoH o sinal F G re&resenta a o&era *o l#$i"a Fou-e'"lusivoG. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro CC0L so%reu (odi%i"a *o ,a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o.1 enquanto o re$istro ? &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y0/103

AN$L>
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# AN$L> Eiteral lo$i" A0> cith ? A0>E? W nome literal X Reali/a a o&era *o l#$i"a A0> ,e. entre o valor do literal identi%i"ado e( W nome literal X e o valor "ontido no re$istro ?] o resultado da o&era *o ser4 "olo"ado no re$istro ?. A

CICL# M(.UINA 1 STATUS

Dsta instru *o reali/a a o&era *o l#$i"a A0> ,e.1 +it a +it1 entre o valor de u( n5(ero ou "onstante ,literal. e o valor "ontido no re$istro ? de a"ordo "o( a e'&ress*o +ooleana=
W = Literal W

C valor do literal deve ser rela"ionado a u( no(e esta+ele"ido &elo &ro$ra(ador e de"larado dentro das diretivas. A ta+ela verdade da l#$i"a A0> ,e. re&resentada a+ai'o &ara todas as &oss6veis "o(+ina !es do literal e ?=
Liter+6 0 0 1 1 > 0 1 0 1 0 0 0 1

A :nidade E#$i"a do &ro"essador reali/a a o&era *o e( "ada +it dos re$istros individual(ente1 "olo"ando o resultado da o&era *o no +it "orres&ondente do re$istro ?1 onde o sinal F G re&resenta a o&era *o l#$i"a FeG=
Bit G F E D C B ; A Liter+6 0 0 1 1 0 0 1 1 >

0 1 0 1 0 1 0 1

b b b b b b b b

0 0 0 1 0 0 0 1

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y1/103

DODM2EC= - Re+6i3+r + 6K2ic+ AN$ &e' entre o 6iter+6 S#MA=RE: e o re2i tro > e co6oc+r o re u6t+do no re2i tro > B Rela"ionar o literal ,ou "onstante. a u( no(e e de"larar o valor na 4rea de diretivas=
@CMAMRDF DR: .1;[ ] IAECR >D RDFDRD0CIA >A @CMA

B Ialores "ontidos nos re$istros ? e @CMAMRDF antes da e'e"u *o da instru *o=


0 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 ? @CMAMRDF

B Instru *o
AN$L> @CMAMRDF1? ] EqQICA A0> D0LRD C EILDRAE @CMAMRDF D C RDQ. ? ] CCECCAR C RD@:ELA>C >A C2DRA_`C 0C RDQ ? 1 1 1 0 0 0 1 ? ,A0>.

@CMAMRDF

AtenoH o sinal F G re&resenta a o&era *o l#$i"a FeG. B Ialores "ontidos nos re$istros ? e @CMAMRDF de&ois da e'e"u *o da instru *o=
0 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 ? @CMAMRDF

#5 er/+o= notar que o valor "ontido no re$istro ? so%reu (odi%i"a *o ,a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o.1 enquanto o re$istro @CMAMRDF &er(ane"e inalterado ,o valor do literal n*o so%re altera *o..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y;/103

I#RL>
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# I#RL> Eiteral lo$i" CR cith ? ICRE? W nome literal X Reali/a a o&era *o l#$i"a CR ,ou. entre o valor do literal identi%i"ado e( W nome literal X e o valor "ontido no re$istro ?] o resultado da o&era *o ser4 "olo"ado no re$istro ?. A

CICL# M(.UINA 1 STATUS

Dsta instru *o reali/a a o&era *o l#$i"a CR ,ou.1 +it a +it1 entre o valor de u( n5(ero ou "onstante ,literal. e o valor "ontido no re$istro ? de a"ordo "o( a e'&ress*o +ooleana=
W = Literal + W

C valor do literal deve ser rela"ionado a u( no(e esta+ele"ido &elo &ro$ra(ador e de"larado dentro das diretivas. A ta+ela verdade da l#$i"a CR ,ou. re&resentada a+ai'o &ara todas as &oss6veis "o(+ina !es de ? e F=
> 0 0 1 1 : 0 1 0 1 0 1 1 1

A :nidade E#$i"a do &ro"essador reali/a a o&era *o e( "ada +it dos re$istros individual(ente1 "olo"ando o resultado da o&era *o no +it "orres&ondente do re$istro ?1 onde o sinal FIG re&resenta a o&era *o l#$i"a FouG=
Bit G F E D C B ; A Liter+6 0 0 1 1 0 0 1 1 p p p p p p p p > 0 1 0 1 0 1 0 1 b b b b b b b b 0 1 1 1 0 1 1 1

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y3/103

DODM2EC= - Re+6i3+r + 6K2ic+ #R &ou' entre o 6iter+6 S#MA=RE: e o re2i tro > e co6oc+r o re u6t+do no re2i tro > B Rela"ionar o literal ,ou "onstante. a u( no(e e de"larar o valor na 4rea de diretivas=
@CMAMRDF DR: .1;[ ] IAECR >D RDFDRD0CIA >A @CMA

B Ialores "ontidos nos re$istros ? e @CMAMRDF antes da e'e"u *o da instru *o=


0 0 I#RL> @CMAMRDF1? 1 1 1 1 1 1 0 1 0 1 0 0 1 1 ? @CMAMRDF

] EqQICA CR D0LRD C EILDRAE @CMAMRDF D C RDQ. ? ] CCECCAR C RD@:ELA>C >A C2DRA_`C 0C RDQ. ? 0 1 1 1 0 0 0 1 ? ,CR. I @CMAMRDF

I
0

p
1

p
1

p
1

p
1

p
1

p
0

I
1

AtenoH o sinal FIG re&resenta a o&era *o l#$i"a FouG. B Ialores "ontidos nos re$istros ? e @CMAMRDF de&ois da e'e"u *o da instru *o=
0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 ? @CMAMRDF

#5 er/+o= notar que o valor "ontido no re$istro ? so%reu (odi%i"a *o ,a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o.1 enquanto o re$istro @CMAMRDF &er(ane"e inalterado ,o valor do literal n*o so%re altera *o..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y4/103

1#RL>
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# 1#RL> Eiteral lo$i" DOCE:@IID-CR cith ? OCRE? W nome literal X Reali/a a o&era *o l#$i"a DOCE:@IID-CR ,ou-e'"lusivo. entre o valor do literal identi%i"ado e( W nome literal X e o valor "ontido no re$istro ?] e "olo"a o resultado da o&era *o no re$istro ?. A

CICL# M(.UINA 1 STATUS

Dsta instru *o reali/a a o&era *o l#$i"a A0> ,e.1 +it a +it1 entre o valor de u( n5(ero ou "onstante ,literal. e o valor "ontido no re$istro ? de a"ordo "o( a e'&ress*o +ooleana=
W = Literal W

A ta+ela verdade da l#$i"a DOCE:@IID-CR ,ou-e'"lusivo. re&resentada a+ai'o &ara todas as &oss6veis "o(+ina !es de ? e F=
> 0 0 1 1 : 0 1 0 1 0 1 1 0

A :nidade E#$i"a do &ro"essador reali/a a o&era *o e( "ada +it dos re$istros individual(ente1 "olo"ando o resultado da o&era *o no +it "orres&ondente do re$istro de destino ,? ou F.1 onde o sinal F G re&resenta a o&era *o l#$i"a Fe'"lusive-orG=
Bit G F E D C B ; A Liter+6 0 0 1 1 0 0 1 1 :

0 1 0 1 0 1 0 1

b b b b b b b b

0 1 1 1 0 1 1 0

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y[/103

DODM2EC= - Re+6i3+r + 6K2ic+ E1CLUSI4E-#R &ou-eJc6u i/o' entre o 6iter+6 S#MA=RE: e o re2i tro > e co6oc+r o re u6t+do no re2i tro > B Rela"ionar o literal ,ou "onstante. a u( no(e e de"larar o valor na 4rea de diretivas=
@CMAMRDF DR: .1;[ ] IAECR >D RDFDRD0CIA >A @CMA

B Ialores "ontidos nos re$istros ? e @CMAMRDF antes da e'e"u *o da instru *o=


0 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 ? @CMAMRDF

B Instru *o
1#RL> @CMAMRDF1? ] EqQICA DOCE:@IID-CR D0LRD C EILDRAE @CMAMRDF ] D C C RDQ. ? - CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ ? 1 1 1 0 0 0 1 ?


0 1 1 1 1 1 0 1

@CMAMRDF

AtenoH o sinal F G re&resenta a o&era *o l#$i"a Fou-e'"lusivoG. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 ? @CMAMRDF

#5 er/+o= notar que o valor "ontido no re$istro ? so%reu (odi%i"a *o ,a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o.1 enquanto o re$istro @CMAMRDF &er(ane"e inalterado ,o valor do literal n*o so%re altera *o..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 YY/103

A$$>:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# A$$>: Add ? to F A>>?F W registro origem X1 W registro destino X @o(a o valor "ontido no re$istro ? "o( o valor "ontido no re$istro F identi%i"ado e( Wregistro origemX1 e "olo"a o resultado da o&era *o no re$istro identi%i"ado e( W registro destino X C1 A

CICL# M(.UINA 1 STATUS

Dsta instru *o reali/a a o&era *o arit(ti"a da adi *o1 +it a +it1 entre o valor "ontido no re$istro ? e o valor "ontido no re$istro F de a"ordo "o( a e'&ress*o al$+ri"a= - re$istro de destino ? - re$istro de destino F W =W + F F =W + F

C &ro"esso arit(ti"o de so(a "o( n5(eros +in4rios se$ue o &ro"edi(ento=


0 1 0 1

p
0 0 0 1

p
1 1

p
1

10

A o&era *o arit(ti"a de adi *o deve atender aos li(ites i(&ostos &elo ta(anho do re$istro ,9 +its.1 isto 1 o resultado %inal da o&era *o deve ser ne"ess4ria(ente (enor ou i$ual a ;[[. Co( o&era !es onde o valor do resultado (aior que ;[[1 a sinali/a *o %eita atravs do +it ,%la$. C no re$istro @LAL:@1 que (uda de 0 ,/ero. &ara 1 ,u(. indi"ando a o"orren"ia de resultado da o&era *o "o( valor (aior que ;[[ ,over%loc.=
TUUUV %la$ sinali/a *o resultado o&era *o V;[[ Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

#5 er/+o= 1. o valor F'G re&resenta valor irrelevante ,n*o in%luen"ia o resultado.. ;. o retorno a 0 ,/ero. do %la$ %eito auto(ati"a(ente &ela :nidade E#$i"a. 3. u(a ve/ indi"ada a o"orren"ia de Fover%locG ,e'"esso. da o&era *o1 o %la$ C &ode &er(ane"er "o( valor 1 ,u(. &or v4rios "i"los de (4quina - a :nidade E#$i"a retorna o %la$ a 0 ,/ero. no "i"lo i(ediata(ente anterior a u(a nova o&era *o arit(ti"a. C &ro$ra(ador deve esta+ele"er &ro"edi(entos &ara deter(inar a o"orren"ia de Fover%locG ,e'"esso. nas o&era !es de adi *o &revistas no "#di$oM%onte.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y8/103

DODM2EC= - Re2i tro de de tino > W =W + F

- So-+r o /+6or contido no re2i tro > co- o /+6or contido no re2i tro C#NT e co6oc+r o re u6t+do no re2i tro > a. Resultado da o&era *o (enor ou i$ual a ;[[ B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 113 104 ? CC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

B Instru *o
A$$>: CC0L1? ] @CMAR C IAECR >C RDQ. ? CCM C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. ? 1 1 1 0 0 0 1 113 ? ,@CMA. I CC0L

I
0

p
1

p
1

p
0

p
1

p
0

p
0

I
0

I
104

;18

AtenoH o sinal FIG re&resenta a o&era *o arit(ti"a da adi *o. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 ;18 104 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro ? a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro CC0L &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y9/103

B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o %oi u( n5(ero (enor que ;[[ lo$o1 o %la$ de sinali/a *o &er(ane"e i$ual a 0 ,/ero..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

+. Resultado da o&era *o (aior que ;[[ ,uso do %la$ CARRK do re$istro @LAL:@. B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 113 14[ ? CC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

B Instru *o
A$$>: CC0L1? ] @CMAR C IAECR >C RDQ. ? CCM C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. ? 1 1 1 0 0 0 1 113 ? ,@CMA. I CC0L

I
1

p
0

p
0

p
1

p
0

p
0

p
0

I
1

I
14[

AtenoH o sinal FIG re&resenta a o&era *o arit(ti"a da adi *o. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 ; 14[ ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro ? a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro CC0L &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 Y9/103

B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o de adi *o %oi u( n5(ero (aior que ;[[ lo$o1 o %la$ de sinali/a *o (uda de estado1 &assando a 1 ,u(..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 1 @LAL:@
M@B E@B

Ia(os olhar o resultado desta o&era *o. Fi/e(os u(a o&era *o de adi *o entre dois valores ,113 e 14[. que deve a&resentar o resultado es&erado de ;[9 ,(aior que ;[[.=
113

p
14[ ;[9

A res&osta do %la$ C no re$istro @LAL:@ a"onte"eu da %or(a es&erada1 isto 1 (udou do valor 0 ,/ero. &ara o valor 1 ,u(.1 indi"ando que o resultado %inal da o&era *o te( valor (aior que ;[[=
IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 1
M@B E@B

@LAL:@

2or(1 o resultado a&resentado no re$istro ? n*o "orres&onde ao valor es&erado ,;[9.1 (as a&resentou o valor ;=
0 0 0 0 0 0 1 0 ; ?

C valor ;[9 n*o "a+e e( 9 +its. 2ara re&resent4-lo s*o ne"ess4rios &elo (enos 9 +its e1 "o(o &ode ser o+servado1 os 9 +its (enos si$ni%i"ativos re&resenta( o valor ;.
TUUUV nono +it - ine'istente - &eso ;9 b ;[Y Z 1 0 0 0 0 0 0 1 0 ;[9 ?

Co(o toda a estrutura do (i"ro"ontrolador +aseada e( 9 +its1 o %la$ C do re$istro @LAL:@ re&resenta o nono +it ne"ess4rio &ara a "o(&osi *o de valores (aiores do que ;[[.
TUUUV %la$ C do re$istro @LAL:@ - re&resenta o nono +it "o( &eso ;9 b ;[Y Z 1 0 0 0 0 0 0 1 0 ;[9 CC0L

\gj \UUUUUUUUUgUUUUUUUUUj Z Z Z \UUUUUUUUV ; Z p \UUUUUUUUUUUUUUUUUUUUUV ;[Y U UU


;[9

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 80/103

- Re2i tro de de tino :

F =W + F

- So-+r o /+6or contido no re2i tro > co- o /+6or contido no re2i tro C#NT e co6oc+r o re u6t+do no re2i tro C#NT a. Resultado da o&era *o (enor ou i$ual a ;[[ B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 113 104 ? CC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

B Instru *o
A$$>: CC0L1F ] @CMAR C IAECR >C RDQ. ? CCM C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. CC0L 0 1 1 1 0 0 0 1 113 ? ,@CMA. I CC0L

I
0

p
1

p
1

p
0

p
1

p
0

p
0

I
0

I
104

;18

CC0L

AtenoH o sinal FIG re&resenta a o&era *o arit(ti"a da adi *o. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 113 ;18 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro CC0L a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro ? &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 81/103

B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o %oi u( n5(ero (enor que ;[[ lo$o1 o %la$ de sinali/a *o &er(ane"e i$ual a 0 ,/ero..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

+. Resultado da o&era *o (aior que ;[[ ,uso do %la$ CARRK do re$istro @LAL:@. B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 113 14[ ? CC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

B Instru *o
A$$>: CC0L1F ] @CMAR C IAECR >C RDQ. ? CCM C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. CC0L 0 1 1 1 0 0 0 1 113 ? ,@CMA. I CC0L

I
1

p
0

p
0

p
1

p
0

p
0

p
0

I
1

I
14[

CC0L

AtenoH o sinal FIG re&resenta a o&era *o arit(ti"a da adi *o. B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=
0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 113 ; ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro CC0L a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro ? &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 8;/103

B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o de adi *o %oi u( n5(ero (aior que ;[[ lo$o1 o %la$ de sinali/a *o (uda de estado1 &assando a 1 ,u(..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 1 @LAL:@
M@B E@B

Ia(os olhar o resultado desta o&era *o. Fi/e(os u(a o&era *o de adi *o entre dois valores ,113 e 14[. que deve a&resentar o resultado es&erado de ;[9 ,(aior que ;[[.=
113

p
14[ ;[9

A res&osta do %la$ C no re$istro @LAL:@ a"onte"eu da %or(a es&erada1 isto 1 (udou do valor 0 ,/ero. &ara o valor 1 ,u(.1 indi"ando que o resultado %inal da o&era *o te( valor (aior que ;[[=
IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 1
M@B E@B

@LAL:@

2or(1 o resultado a&resentado no re$istro CC0L n*o "orres&onde ao valor es&erado ,;[9.1 (as a&resentou o valor ;=
0 0 0 0 0 0 1 0 ; CC0L

C valor ;[9 n*o "a+e e( 9 +its. 2ara re&resent4-lo s*o ne"ess4rios &elo (enos 9 +its e1 "o(o &ode ser o+servado1 os 9 +its (enos si$ni%i"ativos re&resenta( o valor ;.
TUUUV nono +it - ine'istente - &eso ;9 b ;[Y Z 1 0 0 0 0 0 0 1 0 ;[9 CC0L

\UUUUUUUUgUUUUUUUUUj Z \UUUUUUUUUUUUV ; - 9 +its (enos si$ni%i"ativos Co(o toda a estrutura do (i"ro"ontrolador +aseada e( 9 +its1 o %la$ C do re$istro @LAL:@ Fre&resentaG o nono +it ne"ess4rio &ara a "o(&osi *o de valores (aiores do que ;[[.
TUUUV %la$ C do re$istro @LAL:@ - re&resenta o nono +it "o( &eso ;9 b ;[Y Z 1 0 0 0 0 0 0 1 0 ;[9 CC0L

\gj \UUUUUUUUUgUUUUUUUUUj Z Z Z \UUUUUUUUV ; Z p \UUUUUUUUUUUUUUUUUUUUUV ;[Y U UU


;[9
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 83/103

C &ro$ra(ador deve &rever t"ni"as de avalia *o dos resultados da o&era *o dentro do "#di$oM%onte &ara inter&retar os resultados o+tidos nas o&era !es arit(ti"as reali/adas e1 se ne"ess4rio1 a"res"entar u( novo re$istro &ara re&resentar valores "o( (ais de 9 +its.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 84/103

A$$L>
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# A$$L> Add Eiteral to F A>>E? W nome literal X @o(a o valor "ontido no re$istro ? "o( o valor do literal identi%i"ado e( W nome literalX - o resultado da o&era *o se(&re "olo"ado no re$istro ?. C1 >C1 A

CICL# M(.UINA 1 STATUS

Dsta instru *o reali/a a o&era *o arit(ti"a da adi *o1 +it a +it1 entre e o valor de u( n5(ero ou "onstante ,literal. e o valor "ontido no re$istro ? de a"ordo "o( a e'&ress*o al$+ri"a=
W = Literal + W

C &ro"esso arit(ti"o de so(a "o( n5(eros +in4rios se$ue o &ro"edi(ento=


0 1 0 1

p
0 0 0 1

p
1 1

p
1

10

A o&era *o arit(ti"a de adi *o deve atender aos li(ites i(&ostos &elo ta(anho do re$istro ,9 +its.1 isto 1 o resultado %inal da o&era *o deve ser ne"ess4ria(ente (enor ou i$ual a ;[[. Co( o&era !es onde o valor do resultado (aior que ;[[1 a sinali/a *o %eita atravs do +it ,%la$. C no re$istro @LAL:@1 que (uda de 0 ,/ero. &ara 1 ,u(. indi"ando a o"orren"ia de resultado da o&era *o "o( valor (aior que ;[[ ,over%loc.=
TUUUV %la$ sinali/a *o resultado o&era *o V;[[ Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

#5 er/+o= 1. o valor F'G re&resenta valor irrelevante ,n*o in%luen"ia o resultado.. ;. o retorno a 0 ,/ero. do %la$ %eito auto(ati"a(ente &ela :nidade E#$i"a. 3. u(a ve/ indi"ada a o"orren"ia de Fover%locG ,e'"esso. da o&era *o1 o %la$ C &ode &er(ane"er "o( valor 1 ,u(. &or v4rios "i"los de (4quina - a :nidade E#$i"a retorna o %la$ a 0 ,/ero. no "i"lo i(ediata(ente anterior a u(a nova o&era *o arit(ti"a. C &ro$ra(ador deve esta+ele"er &ro"edi(entos &ara deter(inar a o"orren"ia de Fover%locG ,e'"esso. nas o&era !es de adi *o &revistas no "#di$oM%onte.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 8[/103

DODM2EC= - So-+r o /+6or contido no re2i tro > co- o /+6or do 6iter+6 CTE=C#NT - o re u6t+do er7 e-pre co6oc+do no re2i tro > a. Resultado da o&era *o (enor ou i$ual a ;[[ B Rela"ionar o literal ,ou "onstante. a u( no(e e de"larar o valor na 4rea de diretivas=
CLDMCC0L DR: .104 ] IAECR >A CC0@LA0LD >D I0mCIC >C RDQ CC0LA>CR

AtenoH valores nu(ri"os de"larados na 4rea de diretivas s*o ar(a/enados dentro da (e(#ria de &ro$ra(a - n*o &oss6vel %a/er altera !es de valor atravs do "#di$oM%onte. B Ialores "ontidos nos re$istros ? e CLDMCC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 113 104 ? CLDMCC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

B Instru *o
A$$L> CLDMCC0L ] @CMAR C IAECR >C RDQ. ? CCM C IAECR >C EILDRAE ] CLDMCC0L - C RD@:ELA>C >A C2DRA_`C @DRr ] CCECCA>C 0C RDQ. ? 1 1 1 0 0 0 1 113 ? ,@CMA. I CLDMCC0L

I
0

p
1

p
1

p
0

p
1

p
0

p
0

I
0

I
104

;18

AtenoH o sinal FIG re&resenta a o&era *o arit(ti"a da adi *o. B Ialores "ontidos nos re$istros ? e CLDMCC0L de&ois da e'e"u *o da instru *o=
1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 ;18 104 ? CLDMCC0L

#5 er/+o= notar que o valor "ontido no re$istro ? a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o. C re$istro CLDMCC0L &er(ane"e inalterado.
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 8Y/103

B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o %oi u( n5(ero (enor que ;[[ lo$o1 o %la$ de sinali/a *o &er(ane"e i$ual a 0 ,/ero..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' O ' ' 0 @LAL:@
M@B E@B

+. Resultado da o&era *o (aior que ;[[ ,uso do %la$ CARRK do re$istro @LAL:@. B Rela"ionar o literal ,ou "onstante. a u( no(e e de"larar o valor na 4rea de diretivas=
CLDMCC0L DR: .104 ] IAECR >A CC0@LA0LD >D I0mCIC >C RDQ CC0LA>CR

AtenoH valores nu(ri"os de"larados na 4rea de diretivas s*o ar(a/enados dentro da (e(#ria de &ro$ra(a - n*o &oss6vel %a/er altera !es de valor atravs do "#di$oM%onte. B Ialores "ontidos nos re$istros ? e CLDMCC0L antes da e'e"u *o da instru *o=
1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 1[4 104 ? CLDMCC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' O ' ' 0 @LAL:@
M@B E@B

B Instru *o
A$$L> CLDMCC0L ] @CMAR C IAECR >C RDQ. ? CCM C IAECR >C EILDRAE ] CLDMCC0L - C RD@:ELA>C >A C2DRA_`C @DRr ] CCECCA>C 0C RDQ. ? 0 0 1 1 0 1 0 1[4 ? ,@CMA. I CLDMCC0L

I
0

p
1

p
1

p
0

p
1

p
0

p
0

I
0

I
104

AtenoH o sinal FIG re&resenta a o&era *o arit(ti"a da adi *o.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 88/103

B Ialores "ontidos nos re$istros ? e CLDMCC0L de&ois da e'e"u *o da instru *o=


0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 ; 104 ? CLDMCC0L

#5 er/+o= notar que o valor "ontido no re$istro ? a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o. C re$istro CLDMCC0L &er(ane"e inalterado. B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o de adi *o %oi u( n5(ero (aior que ;[[ lo$o1 o %la$ de sinali/a *o (uda de estado1 &assando a 1 ,u(..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 1 @LAL:@
M@B E@B

Ia(os olhar o resultado desta o&era *o. Fi/e(os u(a o&era *o de adi *o entre dois valores ,1[4 e 104. que deve a&resentar o resultado es&erado de ;[9 ,(aior que ;[[.=
1[4

p
104 ;[9

A res&osta do %la$ C no re$istro @LAL:@ a"onte"eu da %or(a es&erada1 isto 1 (udou do valor 0 ,/ero. &ara o valor 1 ,u(.1 indi"ando que o resultado %inal da o&era *o te( valor (aior que ;[[=
IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 1
M@B E@B

@LAL:@

2or(1 o resultado a&resentado no re$istro ? n*o "orres&onde ao valor es&erado ,;[9.1 (as a&resentou o valor ;=
0 0 0 0 0 0 1 0 ; ?

C valor ;[9 n*o "a+e e( 9 +its. 2ara re&resent4-lo s*o ne"ess4rios &elo (enos 9 +its e1 "o(o &ode ser o+servado1 os 9 +its (enos si$ni%i"ativos re&resenta( o valor ;.
TUUUV nono +it - ine'istente - &eso ;9 b ;[Y Z 1 0 0 0 0 0 0 1 0 ;[9 ?

Co(o a estrutura do (i"ro"ontrolador +aseada e( 9 +its1 o %la$ C do re$istro @LAL:@ re&resenta o nono +it ne"ess4rio &ara a "o(&osi *o de valores (aiores do que ;[[.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 89/103

TUUUV %la$ C do re$istro @LAL:@ - re&resenta o nono +it "o( &eso ;9 b ;[Y Z 1 0 0 0 0 0 0 1 0 ;[9 ?

\gj \UUUUUUUUUgUUUUUUUUUj Z Z Z \UUUUUUUUV ; Z p \UUUUUUUUUUUUUUUUUUUUUV ;[Y UUU


;[9

C &ro$ra(ador deve &rever t"ni"as de avalia *o dos resultados da o&era *o dentro do "#di$oM%onte &ara inter&retar os resultados o+tidos nas o&era !es arit(ti"as reali/adas e1 se ne"ess4rio1 a"res"entar u( novo re$istro &ara re&resentar valores "o( (ais de 9 +its.

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 89/103

SUB>:
MNEM0NIC# INSTRU"# SINTA1E $ESCRI"# SUB>: @u+tra"t ? %ro( F @:B?F W registro origem X1 W registro destino X @u+trai o valor "ontido no re$istro ? do valor "ontido no re$istro F identi%i"ado e( Wregistro origemX1 e "olo"a o resultado da o&era *o no re$istro identi%i"ado e( W registro destino X C1 >C1 A

CICL# M(.UINA 1 STATUS

Dsta instru *o reali/a a o&era *o arit(ti"a da su+tra *o entre o valor "ontido no re$istro ? ,(todo do F"o(&le(ento de ;G - tcoHs "o(&le(ent.1 e o valor "ontido no re$istro F de a"ordo "o( a e'&ress*o al$+ri"a= - re$istro de destino ? - re$istro de destino F W = F W F = F W

C (e"anis(o utili/ado &ela :nidade E#$i"a e Arit(ti"a &ara a e'e"u *o da su+tra *o reali/a a adi *o do &ri(eiro o&erador ,F. ao F"o(&le(ento de ;G do se$undo o&erador ,?.. C uso do F"o(&le(ento de ;G do se$undo o&erador "onsidera o %ato do valor ser ne$ativo1 o que "olo"a a e'&ress*o al$+ri"a e%etiva(ente e(&re$ada no %or(ato= - re$istro de destino ? - re$istro de destino F W = F + ,W . F = F + ,W .

Cs resultados o+tidos "o( a o&era *o de su+tra *o s*o sinali/ados &elos %la$s C e A do re$istro @LAL:@=
TUUUUUUUV %la$ sinali/a *o resultado o&era *o nulo Z Z TUV %la$ sinali/a *o resultado o&era *o &ositivo/ne$ativo Z Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' 0 ' 0 @LAL:@
M@B E@B

#5 er/+o= 1. o valor F'G re&resenta valor irrelevante ,n*o in%luen"ia o resultado.. ;. o retorno a 0 ,/ero. do %la$ %eito auto(ati"a(ente &ela :nidade E#$i"a. 3. u(a ve/ indi"ada a o"orren"ia de Fover%locG ,e'"esso. da o&era *o1 os %la$s C e A &ode( &er(ane"er "o( valor 1 ,u(. &or v4rios "i"los de (4quina - a :nidade E#$i"a retorna os %la$s a 0 ,/ero. no "i"lo i(ediata(ente anterior a u(a nova o&era *o arit(ti"a. Considerando que os valores de F e ? s*o se(&re &ositivos ,FV0 e ?V0.1 o resultado da o&era *o de su+tra *o de&ende da orde( de $rande/a dos valores envolvidos nos re$istros F e ?1 de a"ordo "o( as &ossi+ilidades= - F V ? o resultado da o&era *o u( n5(ero &ositivo - o valor re&resentado &elo re$istro que "ont( o resultado est4 na %or(a direta e o %la$ C do re$istro @LAL:@ "olo"ado no valor 1 ,u(..

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 90/103

- F i ? o resultado da o&era *o u( n5(ero ne$ativo - o valor re&resentado &elo re$istro que "ont( o resultado est4 na %or(a do F"o(&le(ento de ;G e o %la$ C do re$istro @LAL:@ (antido no valor 0 ,/ero.. - F b ? o resultado da o&era *o nulo - o valor re&resentado &elo re$istro que "ont( o resultado nulo ,todos os +its do re$istro te( valor 0 - /ero.1 o %la$ C do re$istro @LAL:@ (antido no valor 0 ,/ero. e o %la$ A do re$istro @LAL:@ "olo"ado no valor 1 ,u(.1 indi"ando que o resultado da o&era *o %oi nulo ,o %la$ A sinali/a resultado nulo da 5lti(a o&era *o.. C &ro$ra(ador deve &rever t"ni"as de avalia *o da o&era *o dentro do "#di$oM%onte &ara inter&retar os resultados o+tidos. DODM2EC= - Re2i tro de de tino > W = F W

- Su5tr+ir o /+6or contido no re2i tro > do /+6or contido no re2i tro C#NT e co6oc+r o re u6t+do no re2i tro > a. : L > o resultado da o&era *o u( n5(ero &ositivo - o valor re&resentado &elo re$istro que "ont( o resultado ,?. est4 na %or(a direta e o %la$ C do re$istro @LAL:@ "olo"ado no valor 1 ,u(.. B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 0 1 1 0 0 0 0 0 0 1 104 113 ? CC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

B Instru *o
SUB>: CC0L1? ] @:BLRAIR C IAECR >C RDQ. ? >C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. ? 1 1 1 0 0 0 1 113 CC0L ,@:BLRAI. ?

104

AtenoH o sinal F-G re&resenta a o&era *o arit(ti"a da su+tra *o.


Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 91/103

B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o de su+tra *o %oi u( n5(ero &ositivo ,CC0L V ?. lo$o1 o %la$ de sinali/a *o (uda de estado1 &assando a 1 ,u(..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' O ' 1 @LAL:@
M@B E@B

B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=


0 0 0 1 0 1 0 1 1 0 0 0 0 0 1 1 9 113 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro ? a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro CC0L &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado.. @e na o&era *o arit(ti"a de su+tra *o o %la$ C do re$istro @LAL:@ (uda seu estado de 0 ,/ero. &ara 1 ,u(.1 o &ro$ra(ador deve esta+ele"er o &ro"edi(ento adequado no "#di$oM%onte &ara inter&retar o resultado "o(o= - o valor "ontido no re$istro CC0L (aior que o valor "ontido no re$istro ? ,CC0L V ?. antes da e'e"u *o da o&era *o de su+tra *o. - o valor "ontido no re$istro ? a&#s a e'e"u *o da o&era *o de su+tra *o u( n5(ero &ositivo e re&resenta o resultado %inal da o&era *o. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Vamos observar como a Unidade Lgica e Aritmtica realizou a operao de subtrao quando F > W: A operao e etivamente realizada oi: W = !"#$ + ,W . %sto & a ULA realizou uma operao de adio de um valor positivo '!"#$( com um valor negativo 'W() *ara representar um valor negativo na orma bin+ria utiliza,se o -complemento de ./ 't0o1s complement( deste valor& calculado da seguinte orma: a( determina,se o -complemento de 2/ 'one1s complement( invertendo os valores de todos os bits contidos no registro: 3 Valor contido no registro W antes da e4ecuo do -complemento de 2/:
5 2 2 5 2 5 5 5 256 W

3 Valor contido no registro W aps a e4ecuo do -complemento de 2/:


2 5 5 2 5 2 2 2 272 '!"8* 2( W

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 9;/103

b( somar 2 'um( ao valor do -complemento de 2/ 'one1s complement( para se obter o -complemento de ./ 't0o1s complement(:
2 5 5 2 5 2 2 2 272 '!"8* 2( W ':"8A( + U#%;A;<

+
5

9 9 9 9 9 9
5 5 5 5 5 5

+
2

+
2

27.

'!"8* .( W

!om o valor do -complemento de ./ do registro W ''!"8* .( W(& a ULA realiza a operao de adio dos valores de !"#$ e '!"8* .( W:
5 2 2 2 5 5 5 2 22= !"#$ ':"8A( +
'!"8* .(

+
2

9 9 9 9 9 9
5 5 2 2 5 5

+
5

+
27.

>

3 Valor contido no registro W depois da e4ecuo da adio:


5 5 5 5 2 5 5 2 > W

" resultado da operao de adio oi um n?mero maior que .77 logo& o lag ! do registro :$A$U: muda de estado& passando a 2 'um()
%A* A*2 A*5 B$" B*; C 4 4 4 4 4 4
8:D

TUUU@ lag sinalizao aps a e4ecuo da instruo Z ;! ! 4 2 :$A$U:


L:D

Vamos olEar o resultado desta operao) A ULA ez uma operao de adio entre dois valores '22= e 27.( que deve apresentar o resultado maior que .77 'no caso& .F7(:
22=

9
27. .F7

A resposta do lag ! no registro :$A$U: mudou do valor 5 'zero( para o valor 2 'um(& indicando que o resultado inal da operao tem valor maior que .77)
%A* A*2 A*5 B$" B*; C 4 4 4 4 4 4
8:D

;! ! 4 2
L:D

:$A$U:

*orm& o resultado apresentado no registro W no corresponde ao valor esperado da adio '.F7(& mas apresentou o valor >:
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 93/103

>

" valor .F7 no cabe em G bits) *ara represent+,lo so necess+rios pelo menos > bits e& como pode ser observado& os G bits menos signi icativos representam o valor >)
TUUU@ nono bit , ine4istente , peso .> H .7F Z 2 5 5 5 5 2 5 5 2 .F7 W

#a estrutura de G bits& o lag ! do registro :$A$U: representa o nono bit necess+rio para a composio de valores maiores do que .77) !onsequentemente& o resultado apresentado pela ULA ica:
TUUU@ lag ! do registro :$A$U: , indica resultado da subtrao positivo '!"#$ @ W( Z 2 5 5 5 5 2 5 5 2 > W

\UUUUUUUUUgUUUUUUUUUj \UUUUUUUUUUU@ registro apresenta o valor real da subtrao MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 94/103

+. : M > o resultado da o&era *o u( n5(ero ne$ativo - o valor re&resentado &elo re$istro que "ont( o resultado ,?. est4 na %or(a F"o(&le(ento de ;G e o %la$ C do re$istro @LAL:@ (ant( o valor 0 ,/ero.. B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 113 104 ? CC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

B Instru *o
SUB>: CC0L1? ] @:BLRAIR C IAECR >C RDQ. ? >C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. ? 1 1 0 1 0 0 0 104 CC0L ,@:BLRAI.. ?

113

;48

AtenoH o sinal F-G re&resenta a o&era *o arit(ti"a da su+tra *o. B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o de su+tra *o %oi u( n5(ero &ositivo ,CC0L V ?. lo$o1 o %la$ de sinali/a *o (uda de estado1 &assando a 1 ,u(..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=


1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 0 ;48 104 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro ? a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro CC0L &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado..
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 9[/103

@e na o&era *o arit(ti"a de su+tra *o o %la$ C do re$istro @LAL:@ n*o (uda seu estado de 0 ,/ero. &ara 1 ,u(.1 o &ro$ra(ador deve esta+ele"er o &ro"edi(ento adequado no "#di$oM%onte &ara inter&retar o resultado "o(o= - o valor "ontido no re$istro CC0L (enor que o valor "ontido no re$istro ? ,CC0L i ?. antes da e'e"u *o da o&era *o de su+tra *o. - o valor "ontido no re$istro ? a&#s a e'e"u *o da o&era *o de su+tra *o u( n5(ero ne$ativo e re&resenta o F"o(&le(ento de ;G do resultado %inal da o&era *o. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Vamos observar como a Unidade Lgica e Aritmtica realizou a operao de subtrao quando F < W: A operao e etivamente realizada oi: W = !"#$ + ,W . %sto & a ULA realizou uma operao de adio de um valor positivo '!"#$( com um valor negativo 'W() *ara representar um valor negativo na orma bin+ria utiliza,se o -complemento de ./ 't0o1s complement( deste valor& calculado da seguinte orma: a( determina,se o -complemento de 2/ 'one1s complement( invertendo os valores de todos os bits contidos no registro: 3 Valor contido no registro W antes da e4ecuo do -complemento de 2/:
5 2 2 2 5 5 5 2 22= W

3 Valor contido no registro W aps a e4ecuo do -complemento de 2/:


2 5 5 5 2 2 2 5 26.
'!"8* 2(

b( somar 2 'um( ao valor do -complemento de 2/ 'one1s complement( para se obter o -complemento de ./ 't0o1s complement(:
2 5 5 5 2 2 2 5 26.
'!"8* 2(

+
5

9 9 9 9 9 9
5 5 5 5 5 5

+
2

+
2

':"8A( + U#%;A;<

26=

'!"8* .(

!om o valor do -complemento de ./ do registro W ''!"8* .( W(& a ULA realiza a operao de adio dos valores de !"#$ e '!"8* .( W:
5 2 2 5 2 5 5 5 256 !"#$ ':"8A( +
'!"8* .(

+
2

9 9 9 9 9 9
5 5 5 2 2 2

+
2

+
26=

.6I

W
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 9Y/103

3 Valor contido no registro W depois da e4ecuo da adio:


2 2 2 2 5 2 2 2 .6I W

" resultado da operao de adio oi um n?mero menor que .77 logo& o lag ! do registro :$A$U: no muda de estado& mantendo o valor 5 'zero()
TUUU@ lag sinalizao aps a e4ecuo da instruo Z ;! ! 4 5 :$A$U:
L:D

%A* A*2 A*5 B$" B*; C 4 4 4 4 4 4


8:D

Vamos olEar o resultado desta operao) A ULA ez uma operao de adio entre dois valores '256 e 26=( que deve apresentar o resultado menor que .77 'no caso& .6I(:
256

9
26= .6I

A resposta do lag ! no registro :$A$U: no mudou de valor& mantendo 5 'zero(& indicando que o resultado inal da operao tem valor menor que .77)
%A* A*2 A*5 B$" B*; C 4 4 4 4 4 4
8:D

;! ! 4 5
L:D

:$A$U:

" resultado apresentado no registro W no corresponde ao valor esperado da adio '.6I(:


2 2 2 2 5 2 2 2 .6I W

#o entanto& a operao solicitada pela instruo uma subtrao& cuJo resultado deveria ser ,> 'menos >(& isto & o resultado da operao real um n?mero negativo:
256

,
22= , >

A estrutura de registro do microcontrolador no consegue representar um n?mero negativo incluindo o sinal& consequentemente& a orma de represent+,lo atravs do seu -complemento de ./ 't0o1s complement() " programador deve providenciar o c+lculo do valor real do resultado da operao usando a seguinte sequencia: a( trans erir o valor contido no registro W para um registro na memria AA8& por e4emplo& WK$<8*& para usar a instruo COMF:

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 98/103

3 Valores contidos nos registros W e WK$<8* antes da e4ecuo da instruo MOVWF:


2 2 2 2 5 2 2 2 .6I W

WK$<8*

M#4>:

?MLDM2

] LRA0@FDRD C IAECR >C RDQ. ? 2ARA C ] RDQ. ?MLDM2

3 Valores contidos nos registros W e WK$<8* aps a e4ecuo da instruo MOVWF:


2 2 2 2 5 2 2 2 .6I W

.6I

WK$<8*

b( determina,se o -complemento de 2/ 'one1s complement( e4ecutando a instruo COMF no registro WK$<8*& que inverte os valores de todos os bits contidos no registro: 3 Valor contido no registro WK$<8* antes da e4ecuo da instruo COMF '-complemento de 2/(:
2 C#M: ?MLDM2 2 2 2 5 2 2 2 .6I WK$<8*

] CAEC:EA F"o(&le(ento 1G>C RDQ. ?MLDM2

3 Valor contido no registro WK$<8* aps a e4ecuo da instruo COMF '-complemento de 2/(:
5 5 5 5 2 5 5 5 G '!"8* 2( WK$<8*

c( somar 2 'um( ao valor do -complemento de 2/ 'one1s complement( para se obter o -complemento de ./ 't0o1s complement(:
5 5 5 5 2 5 5 5 G '!"8* 2( WK$<8*

+
5

9 9 9 9 9 9
5 5 5 5 5 5

+
2

+
2

':"8A( + U#%;A;<

> '!"8* .( WK$<8*

d( retornar o valor contido no registro WK$<8* para o registro W: 3 Valores contidos nos registros W e WK$<8* antes da e4ecuo da instruo MOVF:
2 2 2 2 5 2 2 2 .6I W

>

'!"8* .(

WK$<8*

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 99/103

M#4:

?MLDM21?

] LRA0@FDRD C IAECR >C RDQ. ?MLDM2 ] 2ARA C RDQ. ?

3 Valores contidos nos registros W e WK$<8* aps a e4ecuo da instruo MOVF:


5 5 5 5 2 5 5 2 > W

>

'!"8* .(

WK$<8*

Agora o registro W contm o valor real da operao de subtrao porm& sem indicao do sinal negativo) A interpretao do sinal negativo deve ser eita pelo programador) MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 99/103

". : N > o resultado da o&era *o nulo - o valor re&resentado &elo re$istro que "ont( o resultado ,?. est4 na %or(a direta e os %la$s A e C do re$istro @LAL:@ s*o "olo"ados no valor 1 ,u(.. B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 113 113 ? CC0L

B Ialor dos %la$s A e C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUUUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z Z TUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' 0 ' 0 @LAL:@
M@B E@B

B Instru *o
SUB>: CC0L1? ] @:BLRAIR C IAECR >C RDQ. ? >C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. ? 1 1 1 0 0 0 1 113 CC0L ,@:BLRAI.. ?

113

AtenoH o sinal F-G re&resenta a o&era *o arit(ti"a da su+tra *o. B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o de su+tra *o %oi nulo ,CC0L b ?. lo$o1 o %la$ A (uda de estado1 &assando a 1 ,u(. e o %la$ C (uda de estado ta(+( &assando a 1 ,u(.
TUUUUUUUV %la$ sinali/a *o de&ois da e'e"u *o da instru *o Z Z TUV %la$ sinali/a *o de&ois da e'e"u *o da instru *o Z Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' 1 ' 1 @LAL:@
M@B E@B

B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=


0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 113 ? CC0L

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 90/103

#5 er/+o= notar que o valor "ontido no re$istro ? a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro CC0L &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado.. @e na o&era *o arit(ti"a de su+tra *o os %la$s A e C do re$istro @LAL:@ (uda( seus estados de 0 ,/ero. &ara 1 ,u(.1 o &ro$ra(ador deve esta+ele"er o &ro"edi(ento adequado no "#di$oM%onte &ara inter&retar o resultado "o(o= - o valor "ontido no re$istro CC0L i$ual ao valor "ontido no re$istro ? ,CC0L b ?. antes da e'e"u *o da o&era *o de su+tra *o. - o valor "ontido no re$istro ? a&#s a e'e"u *o da o&era *o de su+tra *o nulo e re&resenta o resultado %inal da o&era *o. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Vamos observar como a Unidade Lgica e Aritmtica realizou a operao de subtrao quando F = W: A operao e etivamente realizada oi: W = !"#$ + ,W . %sto & a ULA realizou uma operao de adio de um valor positivo '!"#$( com um valor negativo 'W() *ara representar um valor negativo na orma bin+ria utiliza,se o -complemento de ./ 't0o1s complement( deste valor& calculado da seguinte orma: a( determina,se o -complemento de 2/ 'one1s complement( invertendo os valores de todos os bits contidos no registro: 3 Valor contido no registro W antes da e4ecuo do -complemento de 2/:
5 2 2 2 5 5 5 2 22= W

3 Valor contido no registro W aps a e4ecuo do -complemento de 2/:


2 5 5 5 2 2 2 5 26.
'!"8* 2(

b( somar 2 'um( ao valor do -complemento de 2/ 'one1s complement( para se obter o -complemento de ./ 't0o1s complement(:
2 5 5 5 2 2 2 5 26.
'!"8* 2(

+
5

9 9 9 9 9 9
5 5 5 5 5 5

+
2

+
2

':"8A( + U#%;A;<

26=

'!"8* .(

!om o valor do -complemento de ./ do registro W ''!"8* .( W(& a ULA realiza a operao de adio dos valores de !"#$ e '!"8* .( W:

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 91/103

22=

!"#$ ':"8A( +
'!"8* .(

+
2

9 9 9 9 9 9
5 5 5 2 2 2

+
2

+
26=

3 Valor contido no registro W depois da e4ecuo da adio:


5 5 5 5 5 5 5 5 5 W

" resultado da operao de adio oi um n?mero maior que .77 logo& o lag ! do registro :$A$U: muda de estado& passando a 2 'um()
%A* A*2 A*5 B$" B*; C 4 4 4 4 4 4
8:D

TUUUV lag sinalizao aps a e4ecuo da instruo Z ;! ! 4 2 :$A$U:


L:D

Vamos olEar o resultado desta operao) A ULA ez uma operao de adio entre dois valores '22= e 26=( que deve apresentar o resultado maior que .77 'no caso& .7F(:
22=

9
26= .7F

A resposta do lag ! no registro :$A$U: mudou do valor 5 'zero( para o valor 2 'um(& indicando que o resultado inal da operao tem valor maior que .77& e o lag C no registro :$A$U: mudou do valor 5 'zero( para o valor 2 'um(& indicando que o resultado inal da operao tem valor nulo)
%A* A*2 A*5 B$" B*; C 4 4 4 4 4 2
8:D

;! ! 4 2
L:D

:$A$U:

" resultado apresentado no registro W corresponde ao valor esperado da adio '.7F(:


5 5 5 5 5 5 5 5 5 W

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 9;/103

- Re2i tro de de tino :

W = F W

- Su5tr+ir o /+6or contido no re2i tro > do /+6or contido no re2i tro C#NT e co6oc+r o re u6t+do no re2i tro C#NT a. : L > o resultado da o&era *o u( n5(ero &ositivo - o valor re&resentado &elo re$istro que "ont( o resultado ,CC0L. est4 na %or(a direta e o %la$ C do re$istro @LAL:@ "olo"ado no valor 1 ,u(.. B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 0 1 1 0 0 0 0 0 0 1 104 113 ? CC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' O ' ' ' 0 @LAL:@
M@B E@B

B Instru *o
SUB>: CC0L1F ] @:BLRAIR C IAECR >C RDQ. ? >C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. CC0L 0 1 1 1 0 0 0 1 113 CC0L ,@:BLRAI. ?

104

CC0L

AtenoH o sinal F-G re&resenta a o&era *o arit(ti"a da su+tra *o. B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o de su+tra *o %oi u( n5(ero &ositivo ,CC0L V ?. lo$o1 o %la$ de sinali/a *o (uda de estado1 &assando a 1 ,u(..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' O O ' O ' 1 @LAL:@
M@B E@B

B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=


0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 104 9 ? CC0L
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 93/103

#5 er/+o= notar que o valor "ontido no re$istro CC0L a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro ? &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado.. @e na o&era *o arit(ti"a de su+tra *o o %la$ C do re$istro @LAL:@ (uda seu estado de 0 ,/ero. &ara 1 ,u(.1 o &ro$ra(ador deve esta+ele"er o &ro"edi(ento adequado no "#di$oM%onte &ara inter&retar o resultado "o(o= - o valor "ontido no re$istro CC0L (aior que o valor "ontido no re$istro ? ,CC0L V ?. antes da e'e"u *o da o&era *o de su+tra *o. - o valor "ontido no re$istro CC0L a&#s a e'e"u *o da o&era *o de su+tra *o u( n5(ero &ositivo e re&resenta o resultado %inal da o&era *o. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Vamos observar como a Unidade Lgica e Aritmtica realizou a operao de subtrao quando F > W: A operao e etivamente realizada oi: W = !"#$ + ,W . %sto & a ULA realizou uma operao de adio de um valor positivo '!"#$( com um valor negativo 'W() *ara representar um valor negativo na orma bin+ria utiliza,se o -complemento de ./ 't0o1s complement( deste valor& calculado da seguinte orma: a( determina,se o -complemento de 2/ 'one1s complement( invertendo os valores de todos os bits contidos no registro: 3 Valor contido no registro W antes da e4ecuo do -complemento de 2/:
5 2 2 5 2 5 5 5 256 W

3 Valor contido no registro W aps a e4ecuo do -complemento de 2/:


2 5 5 2 5 2 2 2 272
'!"8* 2(

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 94/103

b( somar 2 'um( ao valor do -complemento de 2/ 'one1s complement( para se obter o -complemento de ./ 't0o1s complement(:
2 5 5 2 5 2 2 2 272
'!"8* 2(

+
5

9 9 9 9 9 9
5 5 5 5 5 5

+
2

+
2

':"8A( + U#%;A;<

27.

'!"8* .(

!om o valor do -complemento de ./ do registro W ''!"8* .( W(& a ULA realiza a operao de adio dos valores de !"#$ e '!"8* .( W:
5 2 2 2 5 5 5 2 22= !"#$ ':"8A( +
'!"8* .(

+
2

9 9 9 9 9 9
5 5 2 2 5 5

+
5

+
27.

>

!"#$

3 Valor contido no registro !"#$ depois da e4ecuo da adio:


5 5 5 5 2 5 5 2 > !"#$

" resultado da operao de adio oi um n?mero maior que .77 logo& o lag ! do registro :$A$U: muda de estado& passando a 2 'um()
%A* A*2 A*5 B$" B*; C 4 4 4 L 4 4
8:D

TUUU@ lag sinalizao aps a e4ecuo da instruo Z ;! ! 4 2 :$A$U:


L:D

Vamos olEar o resultado desta operao) A ULA ez uma operao de adio entre dois valores '22= e 27.( que deve apresentar o resultado maior que .77 'no caso& .F7(:
22=

9
27. .F7

A resposta do lag ! no registro :$A$U: mudou do valor 5 'zero( para o valor 2 'um(& indicando que o resultado inal da operao tem valor maior que .77)
%A* A*2 A*5 B$" B*; C 4 4 4 L 4 4
8:D

;! ! 4 2
L:D

:$A$U:

*orm& o resultado apresentado no registro !"#$ no corresponde ao valor esperado da adio '.F7(& mas apresentou o valor >:
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 9[/103

>

!"#$

" valor .F7 no cabe em G bits) *ara represent+,lo so necess+rios pelo menos > bits e& como pode ser observado& os G bits menos signi icativos representam o valor >)
TUUU@ nono bit , ine4istente , peso .> H .7F Z 2 5 5 5 5 2 5 5 2 .F7 !"#$

#a estrutura de G bits& o lag ! do registro :$A$U: representa o nono bit necess+rio para a composio de valores maiores do que .77) !onsequentemente& o resultado apresentado pela ULA ica:
TUUU@ lag ! do registro :$A$U: , indica resultado da subtrao positivo '!"#$ @ W( Z 2 5 5 5 5 2 5 5 2 > !"#$

\UUUUUUUUUgUUUUUUUUUj \UUUUUUUUUUU@ registro apresenta o valor real da subtrao MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 9Y/103

+. : M > o resultado da o&era *o u( n5(ero ne$ativo - o valor re&resentado &elo re$istro que "ont( o resultado ,CC0L. est4 na %or(a F"o(&le(ento de ;G e o %la$ C do re$istro @LAL:@ (ant( o valor 0 ,/ero.. B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 113 104 ? CC0L

B Ialor do %la$ C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' O ' ' ' 0 @LAL:@
M@B E@B

B Instru *o
SUB>: CC0L1F ] @:BLRAIR C IAECR >C RDQ. ? >C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. CC0L 0 1 1 0 1 0 0 0 104 CC0L ,@:BLRAI. ?

113

;48

CC0L

AtenoH o sinal F-G re&resenta a o&era *o arit(ti"a da su+tra *o. B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o de su+tra *o %oi u( n5(ero &ositivo ,CC0L V ?. lo$o1 o %la$ de sinali/a *o (uda de estado1 &assando a 1 ,u(..
TUUUV %la$ sinali/a *o a&#s a e'e"u *o da instru *o Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' ' ' 0 @LAL:@
M@B E@B

B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=


0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 113 ;48 ? CC0L

#5 er/+o= notar que o valor "ontido no re$istro CC0L a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro ? &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado..
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 98/103

@e na o&era *o arit(ti"a de su+tra *o o %la$ C do re$istro @LAL:@ n*o (uda seu estado de 0 ,/ero. &ara 1 ,u(.1 o &ro$ra(ador deve esta+ele"er o &ro"edi(ento adequado no "#di$oM%onte &ara inter&retar o resultado "o(o= - o valor "ontido no re$istro CC0L (enor que o valor "ontido no re$istro ? ,CC0L i ?. antes da e'e"u *o da o&era *o de su+tra *o. - o valor "ontido no re$istro CC0L a&#s a e'e"u *o da o&era *o de su+tra *o u( n5(ero ne$ativo e re&resenta o F"o(&le(ento de ;G do resultado %inal da o&era *o. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Vamos observar como a Unidade Lgica e Aritmtica realizou a operao de subtrao quando F < W: A operao e etivamente realizada oi: W = !"#$ + ,W . %sto & a ULA realizou uma operao de adio de um valor positivo '!"#$( com um valor negativo 'W() *ara representar um valor negativo na orma bin+ria utiliza,se o -complemento de ./ 't0o1s complement( deste valor& calculado da seguinte orma: a( determina,se o -complemento de 2/ 'one1s complement( invertendo os valores de todos os bits contidos no registro: 3 Valor contido no registro W antes da e4ecuo do -complemento de 2/:
5 2 2 2 5 5 5 2 22= W

3 Valor contido no registro W aps a e4ecuo do -complemento de 2/:


2 5 5 5 2 2 2 5 26.
'!"8* 2(

b( somar 2 'um( ao valor do -complemento de 2/ 'one1s complement( para se obter o -complemento de ./ 't0o1s complement(:
2 5 5 5 2 2 2 5 26.
'!"8* 2(

+
5

9 9 9 9 9 9
5 5 5 5 5 5

+
2

+
2

':"8A( + U#%;A;<

26=

'!"8* .(

!om o valor do -complemento de ./ do registro W ''!"8* .( W(& a ULA realiza a operao de adio dos valores de !"#$ e '!"8* .( W:
5 2 2 5 2 5 5 5 256 !"#$ ':"8A( +
'!"8* .(

+
2

9 9 9 9 9 9
5 5 5 2 2 2

+
2

+
26=

.6I

!"#$
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 99/103

3 Valor contido no registro !"#$ depois da e4ecuo da adio:


2 2 2 2 5 2 2 2 .6I !"#$

" resultado da operao de adio oi um n?mero menor que .77 logo& o lag ! do registro :$A$U: no muda de estado& mantendo o valor 5 'zero()
TUUU@ lag sinalizao aps a e4ecuo da instruo Z ;! ! 4 5 :$A$U:
L:D

%A* A*2 A*5 B$" B*; C 4 4 4 4 4 4


8:D

Vamos olEar o resultado desta operao) A ULA ez uma operao de adio entre dois valores '256 e 26=( que deve apresentar o resultado menor que .77 'no caso& .6I(:
256

9
26= .6I

A resposta do lag ! no registro :$A$U: no mudou de valor& mantendo 5 'zero(& indicando que o resultado inal da operao tem valor menor que .77)
%A* A*2 A*5 B$" B*; C 4 4 4 4 4 4
8:D

;! ! 4 5
L:D

:$A$U:

" resultado apresentado no registro !"#$ no corresponde ao valor esperado da adio '.6I(:
2 2 2 2 5 2 2 2 .6I !"#$

#o entanto& a operao solicitada pela instruo uma subtrao& cuJo resultado deveria ser ,> 'menos >(& isto & o resultado da operao real um n?mero negativo:
256

,
22= , >

A estrutura de registro do microcontrolador no consegue representar um n?mero negativo incluindo o sinal& consequentemente& a orma de represent+,lo atravs do seu -complemento de ./ 't0o1s complement() " programador deve providenciar o c+lculo do valor real do resultado da operao usando a seguinte sequencia: a( determina,se o -complemento de 2/ 'one1s complement( utilizando a instruo COMF& que inverte os valores de todos os bits contidos no registro:

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 99/103

3 Valor contido no registro !"#$ antes da e4ecuo da instruo COMF '-complemento de 2/(:
2 2 2 2 5 2 2 2 .6I !"#$

3 Valor contido no registro !"#$ aps a e4ecuo da instruo COMF '-complemento de 2/(:
5 5 5 5 2 5 5 5 G
'!"8* 2(

!"#$

b( somar 2 'um( ao valor do -complemento de 2/ 'one1s complement( para se obter o -complemento de ./ 't0o1s complement(:
5 5 5 5 2 5 5 5 G
'!"8* 2(

!"#$

+
5

9 9 9 9 9 9
5 5 5 5 5 5

+
2

+
2

':"8A( + U#%;A;<

>

'!"8* .(

!"#$

Agora o registro W contm o valor real da operao de subtrao porm& sem indicao do sinal negativo) A interpretao do sinal negativo deve ser eita pelo programador) MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 100/103

". : N > o resultado da o&era *o nulo - o valor re&resentado &elo re$istro que "ont( o resultado ,?. est4 na %or(a direta e os %la$s A e C do re$istro @LAL:@ s*o "olo"ados no valor 1 ,u(.. B Ialores "ontidos nos re$istros ? e CC0L antes da e'e"u *o da instru *o=
0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 113 113 ? CC0L

B Ialor dos %la$s A e C no re$istro @LAL:@ antes da e'e"u *o da instru *o ,a :nidade E#$i"a se(&re &osi"iona o valor do +it C no valor 0 ,/ero. antes de e'e"utar a instru *o.=
TUUUUUUUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z Z TUV %la$ sinali/a *o antes da e'e"u *o da instru *o Z Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' 0 ' 0 @LAL:@
M@B E@B

B Instru *o
SUB>: CC0L1F ] @:BLRAIR C IAECR >C RDQ. ? >C IAECR >C RDQ. ] CC0L D CCECCAR C RD@:ELA>C >A C2DRA_`C ] 0C RDQ. CC0L 0 1 1 1 0 0 0 1 113 CC0L ,@:BLRAI.. ?

113

CC0L

AtenoH o sinal F-G re&resenta a o&era *o arit(ti"a da su+tra *o. B Ialor do %la$ C no re$istro @LAL:@ a&#s a e'e"u *o da instru *o= C resultado da o&era *o de su+tra *o %oi nulo ,CC0L b ?. lo$o1 o %la$ A (uda de estado1 &assando a 1 ,u(. e o %la$ C (uda de estado ta(+( &assando a 1 ,u(.
TUUUUUUUV %la$ sinali/a *o de&ois da e'e"u *o da instru *o Z Z TUV %la$ sinali/a *o de&ois da e'e"u *o da instru *o Z Z IR2 R21 R20 /LC /2> A >C C ' ' ' ' ' 1 ' 1 @LAL:@
M@B E@B

B Ialores "ontidos nos re$istros ? e CC0L de&ois da e'e"u *o da instru *o=


0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 113 0 ? CC0L
Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 101/103

#5 er/+o= notar que o valor "ontido no re$istro CC0L a&resenta o resultado da o&era *o a&#s a e'e"u *o da instru *o1 enquanto o re$istro ? &er(ane"e inalterado ,o valor "ontido ori$inal(ente &reservado.. @e na o&era *o arit(ti"a de su+tra *o os %la$s A e C do re$istro @LAL:@ (uda( seus estados de 0 ,/ero. &ara 1 ,u(.1 o &ro$ra(ador deve esta+ele"er o &ro"edi(ento adequado no "#di$oM%onte &ara inter&retar o resultado "o(o= - o valor "ontido no re$istro CC0L i$ual ao valor "ontido no re$istro ? ,CC0L b ?. antes da e'e"u *o da o&era *o de su+tra *o. - o valor "ontido no re$istro CC0L a&#s a e'e"u *o da o&era *o de su+tra *o nulo e re&resenta o resultado %inal da o&era *o. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Vamos observar como a Unidade Lgica e Aritmtica realizou a operao de subtrao quando F = W: A operao e etivamente realizada oi: W = !"#$ + ,W . %sto & a ULA realizou uma operao de adio de um valor positivo '!"#$( com um valor negativo 'W() *ara representar um valor negativo na orma bin+ria utiliza,se o -complemento de ./ 't0o1s complement( deste valor& calculado da seguinte orma: a( determina,se o -complemento de 2/ 'one1s complement( invertendo os valores de todos os bits contidos no registro: 3 Valor contido no registro W antes da e4ecuo do -complemento de 2/:
5 2 2 2 5 5 5 2 22= W

3 Valor contido no registro W aps a e4ecuo do -complemento de 2/:


2 5 5 5 2 2 2 5 26.
'!"8* 2(

b( somar 2 'um( ao valor do -complemento de 2/ 'one1s complement( para se obter o -complemento de ./ 't0o1s complement(:
2 5 5 5 2 2 2 5 26.
'!"8* 2(

+
5

9 9 9 9 9 9
5 5 5 5 5 5

+
2

+
2

':"8A( + U#%;A;<

26=

'!"8* .(

!om o valor do -complemento de ./ do registro W ''!"8* .( W(& a ULA realiza a operao de adio dos valores de !"#$ e '!"8* .( W:

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 10;/103

22=

!"#$ ':"8A( +
'!"8* .(

+
2

9 9 9 9 9 9
5 5 5 2 2 2

+
2

+
26=

!"#$

3 Valor contido no registro !"#$ depois da e4ecuo da adio:


5 5 5 5 5 5 5 5 5 !"#$

" resultado da operao de adio oi um n?mero maior que .77 logo& o lag ! do registro :$A$U: muda de estado& passando a 2 'um()
%A* A*2 A*5 B$" B*; C 4 4 4 4 4 4
8:D

TUUUV lag sinalizao aps a e4ecuo da instruo Z ;! ! 4 2 :$A$U:


L:D

Vamos olEar o resultado desta operao) A ULA ez uma operao de adio entre dois valores '22= e 26=( que deve apresentar o resultado maior que .77 'no caso& .7F(:
22=

9
26= .7F

A resposta do lag ! no registro :$A$U: mudou do valor 5 'zero( para o valor 2 'um(& indicando que o resultado inal da operao tem valor maior que .77& e o lag C no registro :$A$U: mudou do valor 5 'zero( para o valor 2 'um(& indicando que o resultado inal da operao tem valor nulo)
%A* A*2 A*5 B$" B*; C 4 4 4 4 4 2
8:D

;! ! 4 2
L:D

:$A$U:

" resultado apresentado no registro !"#$ corresponde ao valor esperado da adio '.7F(:
5 5 5 5 5 5 5 5 5 !"#$

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Bento Alves Cerqueira Cesar Filho - R 1.4 - Mai/09 103/103

You might also like