Você está na página 1de 77

Arquitetura de Computadores

Prof. Fbio M. Costa Instituto de Informtica UFG 1S/ !!" ISA Parte II: Arquiteturas-Exemplo Simuladores e Mquinas Reais

#b$eti%os Gerais

&emonstrar os conceitos 'en(ricos de arquiteturas de computadores )n*%e+ ISA, atra%(s do uso de a+'umas arquiteturase.emp+o representati%as

computadores /ipot(ticos0 simu+adores computadores reais0 Inte+ .12

Introdu3ir o t4pico de pro'rama56o em bai.o n*%e+7 como ferramenta para o entendimento de arquiteturas de computadores

Arquiteturas estudadas

Computadores /ipot(ticos )simu+adores com fina+idade didtica,0


8eander A/mes 9amses Cesar

;eber7 9au+ F. <Fundamentos de Arquitetura de Computadores=. S(rie de >i%ros &idticos do Instituto de Informtica da UF9GS7 8?mero 17 a. @di56o. Sa'ra->u33atto7 !!1

Computadores reais0

I:M PC fam*+ia Inte+ .12

# Computador 8eander

>ar'ura de dados e endere5os0 1 bits

i.e.7 comprimento de pa+a%ra de 1 bits

&ados representados em comp+emento de 1 acumu+ador de 1 bits )AC,

arquitetura de acumu+ador

1 apontador de pro'rama de 1 bits )PC, 1 re'istrador de estado )f+a's, com c4di'os de condi56o0

ne'ati%o )8, e 3ero )A,

8eander0 Formato das Instru5Bes


opcode0 1 bits operando0 1 bits se'uintes


especifica um endere5o modo direto Endereo


G F ! )i'norados,

Mem4ria
opcode operando

x: Endereo x+1:

H opcode

endere5o direto Obs : o se'undo bCte )operando, ocorre apenas em instru5Bes de manipu+a56o de dados7 i.e.7 que fa3em referDncia E mem4ria

...

8eander0 #r'ani3a56o da Mem4ria - Con%en5Bes


"2 pa+a%ras de 1 bits0 "2 bCtes Primeiros 1 1 bCtes )metade inferior,0

C4di'o do pro'rama &ados do pro'rama

1 1 bCtes se'uintes )metade superior,0

Apenas con%en5Bes0 dados e c4di'o podem ser +oca+i3ados em qua+quer +u'ar

Mas um n6o pode in%adir a rea do outro

8eander0 Con$unto de Instru5Bes


C)di$o !!!! !!!1 !!1! !!11 !1!! !1!1 !11! 1!!! 1!!1 1!1! 1111 Instru'(o 8#P SJA end >&A end A&& end #9 8#J MMP end M8 MA I>J end end end A8& end Si$ni%i&ado nen/uma opera56o M@M)end, L AC AC L M@M)end, AC L M@M)end, N AC AC L M@M)end, OR AC )<ou= bit-a-bit, AC L M@M)end, A!# AC )<e= bit-a-bit, AC L !O" AC )comp+emento de 1, PC L end )des%io incondiciona+, IF 8K1 JI@8 PC L end IF AK1 JI@8 PC L end t(rmino da e.ecu56o )/a+t,

8eander0 C4di'os de Condi56o )F+a's,

Gerados pe+a Unidade >4'ico-Aritim(tica ap4s as se'uintes opera5Bes0

A&&7 8#J7 A8&7 #9 e >&A

Jestados pe+as instru5Bes M8 e MA 8 )ne'ati%o,0 indica o sina+ do resu+tado


10 resu+tado ( ne'ati%o !0 resu+tado ( positi%o 10 resu+tado ( i'ua+ a 3ero !0 resu+tado ( diferente de 3ero

A )3ero,0 indica se o resu+tado ( i'ua+ a 3ero


8eander0 Simu+ador

Object 1

# Computadore A/mes

>ar'ura de dados e endere5os0 1 bits &ados representados em comp+emento de 1 acumu+ador de 1 bits )AC, 1 apontador de pro'rama de 1 bits )PC, 1 re'istrador de estado )f+a's, com " c4di'os de condi56o0

ne'ati%o )8, e 3ero )A, carrC out )C,7 borroO out ):,7 o%erf+oO )P,

Compat*%e+ com o 8eander

A/mes0 Con$unto de Instru5Bes


C)di$o !!!! .... !!!1 .... !!1! .... !!11 .... !1!! .... !1!1 .... !11! .... !111 .... 1!!! .... 1!!1 !!.. 1!!1 !1.. 1!!1 1!.. 1!!1 11.. Instru'(o 8#P SJA end >&A end A&& end #9 8#J SU: end MMP end M8 MP MP end end end end A8& end Si$ni%i&ado nen/uma opera56o M@M)end, L AC AC L M@M)end, AC L AC N M@M)end, AC L AC OR M@M)end, (ou bit-a-bit) AC L AC A!# M@M)end, (e bit-a-bit) AC L !O" AC )comp+emento de 1, AC L AC - M@M)end, PC L end )des%io incondiciona+, IF 8K1 JI@8 PC L end IF 8K! JI@8 PC L end IF PK1 JI@8 PC L end IF PK! JI@8 PC L end

M8P end

A/mes0 Con$unto de Instru5Bes ) ,


C)di$o 1!1! !!.. 1!1! !1.. 1!11 !!.. 1!11 !1.. 1!11 1!.. 1!11 11.. 111! ..!! 111! ..!1 111! ..1! 111! ..11 1111 .... Instru'(o MA MC M: SI9 SI> 9#9 9#> I>J end end end M8A end M8C end M8: end Si$ni%i&ado IF AK1 JI@8 PC L end IF AK! JI@8 PC L end IF CK1 JI@8 PC L end IF AK! JI@8 PC L end IF :K1 JI@8 PC L end IF AK! JI@8 PC L end C L AC)!,Q AC)i-1, L AC)i,Q AC)H, L ! C L AC)H,Q AC)i, L AC)i-1,Q AC)!, L ! C L AC)!,Q AC)i-1, L AC)i,Q AC)H, L C C L AC)H,Q AC)i, L AC)i-1,Q AC)!, L C t(rmino da e.ecu56o )/a+t,

Instru5Bes que afetam os C4di'os de Condi56o


Instru'(o 8#P SJA end >&A end A&& end SU: end #9 end C)di$os alterados nen/um nen/um 87 A 87 A7 P7 C 87 A7 P7 : 87 A 87 A 87 A Instru'(o MMP end M.. SI9 SI> 9#9 9#> I>J end C)di$os alterados nen/um nen/um 87 A7 C 87 A7 C 87 A7 C 87 A7 C nen/um

A8& end 8#J

A/mes0 Simu+ador

Object 2

# Computadore 9amses

Incorpora os recursos do 8@A8&@9 Acrescenta


#utros modos de endere5amento )o 8@A8&@9 s4 tem o direto, 8o%os re'istradores 8o%os bits no re'istrador de estado )c4di'os de condi56o, 8o%as instru5Bes )mais poderosas,

R compat*%e+ com o c4di'o escrito para o 8@A8&@9 )( capa3 de rodar os pro'ramas do 8@A8&@9,

9amses0 Caracter*sticas

>ar'ura de dados e endere5os K 1 bits

Jaman/o da mem4ria K "2 bCtes Isso tem efeito nos c+cu+os que en%o+%em a U>A

&ados representados em comp+emento de

9e'istradores )em ne'rito os adicionais ao 8eander,


&e uso 'era+0 A e * )1 bits, 9e'istrador de *ndice0 + )1 bits, Apontador de pro'rama )PC, 9e'istrador de estado

C4di'os de condi56o 87 A e C

9amses0 Formato de Instru5Bes

Instru5Bes s6o representadas por 1 ou bCtes

Seme+/ante ao 8eander

9amses0 Modos de @ndere5amento

,, #ireto0 endere5o do operando no se'undo bCte )como no 8eander, ,- Indireto0 endere5o do endere5o do operando no se'undo bCte -, Imediato0 o pr4prio operando no se'undo bCte -- Indexado0 o se'undo bCte cont(m um endere5o )base,7 que ( somado ao conte?do do re'istrador 9S )*ndice, para compor o endere5o do operando

9amses0 Modo &ireto


A K M@M)Pa+a%ra imediata, K M@M)M@M)PC,, mem)ria )rea do pro'rama, PC )rea de dados,

9amses0 Modo &ireto @.emp+o


A K M@M))M@M)PC,, K M@M)TFI, K "I mem)ria )rea do pro'rama, PC )rea de dados,

9amses0 Modo Indireto


A K M@M)M@M)Pa+a%ra imediata,, K M@M)M@M)M@M)PC,,, )rea de dados, mem)ria )rea do pro'rama, PC

9amses0 Modo Indireto @.emp+o


A K M@M)M@M)M@M)PC,,, K M@M)M@M)TFI,, K M@M)CGI, K "I

)rea de dados, mem)ria )rea do pro'rama, PC

9amses0 Modo Imediato


A K Pa+a%ra imediata K M@M)PC,

)rea de dados, mem)ria )rea do pro'rama, PC

9amses0 Modo Imediato @.emp+o


A K M@M)PC, K "I

)rea de dados, mem)ria )rea do pro'rama, PC

9amses0 Modo Inde.ado


A K M@M)SNPa+a%ra imediata, K M@M )S N M@M)PC,, mem)ria )rea do pro'rama, PC )rea de dados,

9amses0 Modo Inde.ado @.emp+o


A K M@M)S N M@M)PC, K M@M )TFI N !2I, K M@M)TTI, K "I

mem)ria )rea do pro'rama, PC

)rea de dados,

9amses0 C4di'os dos 9e'istradores


!!0 9e'istrador A )9A, !10 9e'istrador : )9:, 1!0 9e'istrador de *ndice )9S, 110 indefinido

9amses0 9epresenta56o simb4+ica dos modos de endere5amento

&ireto0 end K n

@.10 8#M@ @. 0 TFI @.10 8#M@7I @. 0 TFI7I @.10 U8#M@ @. 0 U "I @.10 8#M@7S @. 0 TFI7S

Indireto0 end K n7I


Imediato0 end K Un

Inde.ado0 end K n7S


9amses0 &es%ios e Modos de @ndere5amento

#s se'uintes modos de endere5amento podem ser usados para especificar o endere5o a+%o de des%ios

direto indireto inde.ado

Modo imediato0 n6o ( %+ido seria um des%io para a pr4pria instru56o

9amses0 &es%ios no Modo &ireto

@ndere5o de des%io0

Pa+a%ra imediata K M@M)PC, Pr4.ima instru56o K M@M)M@M)PC,,

# que ( equi%a+ente a0

9amses0 &es%ios no Modo Indireto

@ndere5o de des%io

M@M)M@M)PC,, M@M)M@M)M@M)PC,,,

Pr4.ima instru56o

9amses0 &es%ios no Modo Inde.ado

@ndere5o de des%io

S N M@M)PC, M@M)S N M@M)PC,,

Pr4.ima Instru56o

9amses0 Con$unto de Instru5Bes )1,

Acesso E mem4ria

SJ9 r end >&9 r end A&& r end SU: r end #9 r end A8& r end 8#J r 8@G r

Q M@M)end, L r Q r L M@M)end, Q r L M@M)end, N r

Aritim(ticas e +4'icas

Q r L 8#J)r, ne'. bit-a-bit Q r L -r

9amses0 Con$unto de Instru5Bes ) ,

Instru5Bes de contro+e de f+u.o


MMP M8 MA MC MS9

end end end end end

Q PC L end Q IF 8K1 JI@8 PC L end Q IF AK1 JI@8 PC L end Q IF CK1 JI@8 PC L end Q M@M)end, L PCQ PC L endN1

&es%io para sub-rotina

9amses0 Con$unto de Instru5Bes )F,

Instru56o de des+ocamento de bits

SI9 r

Q r L r/

Considerar as +imita5Bes impostas pe+o formato de instru56o adotado

9amses0 C4di'os de Condi56o


Instru'(o !!1! >&9 !!11 A&& !1!! #9 !1!1 A8& !11! 8#J !111 SU: 11!1 8@G 111! SI9 C)di$os de Condi'(o 87 A 87 A7 C 87 A 87 A 87 A 87 A7 C #bs.0 carrCK10 n6o /ou%e borroOQ carrCK!0 /ou%e borroO 87 A7 C 87 A7 C #bs.0 carrC K bit menos si'nificati%o )des+ocado para fora do re'istrador,

@.erc*cio

@.. F );eber,0

Inicia+i3a56o de uma rea de mem4ria com n posi5Bes


end. 1 10 n?mero de posi5Bes end. 1 T0 posi56o inicia+

# Montador &aeda+us

Uso de mnemVnicos em +u'ar dos c4di'os de opera56o binrios

e%ita ter que montar os c4di'os manua+mente

Permite o uso de r4tu+os em +u'ar de endere5os


dados instru5Bes )para uso em des%ios,

9amses0 Subrotinas )procedimentos,


C/amada0 MS9 end

Jump to SubRoutine

9etorno0 MMP end7I

des%io com endere5o indireto

# endere5o de retorno ( arma3enado na primeira pa+a%ra da subrotina @.ecu56o de MS9 end


M@M)end, L PC Qarma3ena o endere5o de retorno PC L end N 1 Qdes%io para a primeira instru56o Qda subrotina

@.emp+o0

Uma subrotina para ca+cu+ar o comp+emento de de um n?mero


End Instru'(o 2! 8#P Qaqui ficar o end. de retorno 21 8#J : 2 A&& : U1 2G MMP 2!7I Qretorno da subrotina

C/amada da subrotina0 MS9 2!

@.emp+os de c/amadas
... 1! MS9 2! Q'uarda end. 1 na pos. 2! da mem. 1 ... Qinstru56o a e.ecutar ap4s o retorno ... 12 MS9 2! Q'uarda end. 11 na pos. 2! da mem. 11 ... Q instru56o a e.ecutar ap4s o retorno ... 2! 8#P Qposi56o onde ser 'uardado o end. retorno 21 ... Qposi56o onde fica a primeira instr. da rotina

@m ambos os casos7 ap4s MS97 PC K 21

9amses0 Subrotinas >imita5Bes

86o permite recursi%idade

Por queWWW i.e.7 mesmo c4di'o comparti+/ado por %rios pro'ramas

86o permite reentrXncia

Por queWWW

Mas permite c/amadas anin/adas

uma subrotina que c/ama outra7 que c/ama outra7 ...

9amses0 Subrotinas Passa'em de ParXmetros

&uas moda+idades0

Por %a+or passa-se o %a+or da %ari%e+ Por nome passa-se o endere5o da %ari%e+ %ia re'istrador %ia mem4ria7 em endere5os pre-estabe+ecidos %ia mem4ria7 nas posi5Bes se'uintes E c/amada %ia mem4ria7 em endere5o apontado por 9S )modo inde.ado,

Mecanismos0

Passa'em por 9e'istrador

Pro$rama prin&ipal:
LDR A primeiro_operando LDR B segundo_operando JSR multiplica STR A resultado

Subrotina:
multiplica: NOP STR A op1 STR B op2 multiplicao! LDR A result J"P multiplica# $

Passa'em por Mem4ria

Pro$rama prin&ipal:
LDR STR LDR STR JSR LDR STR A A A A primeiro_operando param1 segundo_operando param2 multiplica A param% A resultado

Subrotina
NOP LDR A param1 STR A op1 LDR A param2 STR A op2 <multiplicao> LDR A result STR A param% J"P multiplica#$

Passa'em por Mem4ria )na rea do pro'rama,


Subrotina:
A A A A A A A A A A multiplica# $ param1 multiplica '1 multiplica multiplica# $ param2 multiplica '1 multiplica

Pro$rama prin&ipal:
JSR multiplica valor do 1o. operando! valor do 2o. operando! endereo do resultado! instruo seguinte!! &&&

multiplica: NOP LDR STR LDR ADD STR LDR STR LDR ADD STR

multiplica()o! LDR STR LDR STR LDR ADD STR A A B B A A A multiplica# $ param% result param%# $ multiplica '1 multiplica

J"P multiplica# $

#utra op56o para acesso aos parXmetros0 Modo Inde.ado

Subrotina
LDR * multiplica +endere(o do primeiro operando LDR A ,#* +-alor do primeiro operando STR A param1 LDR A 1#* STR A param2 multiplica()o! STR LDR LDR STR * * A A end_ret 2#* result ,#* +endere(o do terceiro op& .retorno/ +resultado da rotina +sal-a result& no endere(o do %o& par0metro +-alor do segundo operando

multiplica: NOP

LDR * end_ret ADD * '% +atuali1a o endere(o de retorno STR * multiplica J"P multiplica# $ +retorna da su2rotina

# Computador Iipot(tico Cesar0 Pis6o 'era+ da arquitetura


Caracter*sticas 'erais #r'ani3a56o de mem4ria Modos de endere5amento Manipu+a56o da Pi+/a Con$unto de instru5Bes @ntrada e Sa*da Subrotinas

# Computador Iipot(tico Cesar0 Pis6o 'era+ da arquitetura


Modos de endere5amento0 1 9e'istrador de estado com G c4di'os de condi56o0

87 A7 C7 P

Processamento de pi+/a Incompat*%e+ com o 8@A8&@9 e 9AMS@S &ados e endere5os com 12 bits 9epresenta56o dos dados em comp+emento de Instru5Bes com !7 1 ou endere5os )operandos, 9e'istradores de uso 'era+

9! at( 9"0 sem fun56o espec*fica 920 apontador de pi+/a )SP StacY Pointer, 9H0 apontador de pro'rama )PC Pro'ram Counter,

Cesar0 #r'ani3a56o de mem4ria


#r'ani3ada em bCtes 9a3Bes


Acomodar instru5Bes com 1 bCte Usada em processadores comerciais @m 'era+7 dados mais +ar'os possuem taman/os m?+tip+os de 1 bits :i' endian ou /i'//+oO0 Motoro+a7 C@SA9 >itt+e endian ou +oO//i'/0 Inte+

Formas de arma3enamento

Cesar0 Modos de @ndere5amento

Obs : todos os modos )e.ceto !!!, podem ser usados tanto para acesso a dados quanto para indicar endere5os de des%io Z para endere5o de des%io7 o modo !!! )re'istrador, n6o ( %+ido

Cesar0 Modos de endere5amento usando o re'istrador 9H )PC,

# processador permite +i%re acesso ao PC )contador de pro'rama,. A+'uns modos de endere5amento comuns podem ser obtidos desta forma0

imediato abso+uto )ou direto,

Cesar0 Modo Imediato

Uso do re'istrador 9H )PC, no modo re'istrador com p4s-incremento A pa+a%ra ) bCtes, se'uinte E instru56o atua+ cont(m o operando imediato

Ap4s buscar a instru56o7 PC aponta para o primeiro bCte desta pa+a%ra

operando0 M@M)PC, PC L PC N

Ap4s e.ecutar o acesso )ao operando imediato,

isto (7 o endere5o da pr4.ima instru56o efeti%a

Cesar0 Modo &ireto

Uso do re'istrador 9H )PC, no modo p4s-incremento indireto A pa+a%ra se'uinte E instru56o atua+ cont(m o endere5o do operando

Ap4s a busca da instru56o7 PC aponta para o endere5o do operando

operando0 M@M)M@M)PC,, PC L PC N

Ap4s e.ecutar o acesso ao operando

Cesar0 Manipu+a56o da Pi+/a do Sistema


Apontador de topo da pi+/a )SP-Stack Pointer,0

re'istrador 92

Inicia+i3ado com ! @mpi+/amento0


SP := SP 2 MEM(SP) := dado

&esempi+/amento
Dado := MEM(SP) SP := SP + 2

Cresce em dire56o aos endere5os menores

86o e.iste contro+e de co+is6o com o pro'rama ou dados

Obs : n6o / instru5Bes espec*ficas para manipu+a56o da pi+/a usar os modos de re'istrador p4s- e pr(-incremento com o re'istrador 92

Cesar0 Con$unto de Instru5Bes


C)di$o /0 bits mais si$ni%i&ati1os do -o b2te da instru'(o3 !!!! !!!1 e !!1! !!11 !1!! !1!1 !11! !111 1!!! 1!!1 a 111! 1111 Cate$oria de Instru'.es 8#P Instru5Bes sobre c4di'os de condi56o Instru5Bes de des%io condiciona+ Instru56o de des%io incondiciona+ )MMP, Instru56o de contro+e de +a5o )S#:, Instr. de des%io para subrotina )MS9, Instr. de retorno de subrotina )9JS, Instru5Bes de um operando Instru5Bes de dois operandos Instru56o de parada )I>J,

Cesar0 Instru56o 8#P

#cupa apenas 1 bCte


H ! ! ! ! S S S S !

!OP

os bits ! a F podem assumir qua+quer %a+or

Cesar0 Instru5Bes para manipu+ar c4di'os de condi56o


#cupam apenas 1 bCte Formato0

CCC0 ! ! ! 1 n 3 % c

des+i'a )3era, os c4di'os de condi56o correspondentes aos bits se+ecionados )n7 37 %7 c, +i'a os c4di'os de condi56o se+ecionados

SCC0 ! ! 1 ! n 3 % c

Cesar0 Instru5Bes de des%io Condiciona+


#cupam bCtes Formato 'era+0


*&&&
H ! d

! ! d 1 d 1 d c d c d c d c d

&&&&0 condi56o a ser testada se'undo bCte0 des+ocamento re+ati%o ao PC


em comp+emento de 0 fai.a PC-1 1 at( PCN1 H %a+or do PC uti+i3ado0 endere5o da pr4.ima instru56o )isto (7 ap4s o bCte de des+ocamento,

Cesar0 &es%io condiciona+0 C4di'os de condi56o e mnemVnicos

Cesar0 Instru56o de &es%io Incondiciona+


#cupa bCtes Formato0


4MP
H ! .

! ! m ! m . m . r . r . r

1 .

bits .0 podem assumir qua+quer %a+or @specifica56o do endere5o de des%io0


&ampo mmm0 modo de endere5amento &ampo r r r0 re'istrador uti+i3ado

Cesar0 Instru56o de Contro+e de >a5o


#cupa bCtes Si'nificado0


Subtract One and Branch if not zero uti+i3a um re'istrador como contador
H ! d ! 1 d ! d 1 d . d r d r d r d

Formato0 SO*

bits r r r0 re'istrador usado como contador bits d0 endere5o para o des%io )in*cio do +a5o,7 e.presso como um des+ocamento re+ati%o ao PC

Cesar0 Instru56o de des%io para Subrotina

#cupa

bCtes7 com o se'uinte formato0


H ! . ! 1 . 1 m ! m . m r r r r r r

4SR

bits r r r do -o b2te0 re'istrador de retorno pode ser o pr4prio PC[ )i.e.7 9H, bits mmm e rrr /5o b2te30 modo de endere5amento e re'istrador usados para ca+cu+ar o endere5o da subrotina
temporrio endereo da subrotina pilha registrador de retorno registrador de retorno R7 (i.e., PC) R7 temporrio

@.ecu56o0

Cesar0 9etorno de Subrotina

#cupa apenas 1 bCteQ formato0


R"S

H ! ! 1 1 1 . r r r

campo r r r0 indica o re'istrador de retorno

cont(m o endere5o de retorno


R7 (PC) registrador de retorno registrador de retorno topo da pilha

@.ecu56o0

Cesar0 Instru5Bes de 1 #perando

Formato 'era+0
H 1 .

! ! . ! m ! m c m c r c r c r

&ampo &&&&0 c4di'o espec*fico da instru56o &ampos mmm e rrr0 modo de endere5amento e re'istrador usados para ca+cu+ar o operando da instru56o

Cesar0 Instru5Bes de 1 #perando

Cesar0 Instru5Bes de #perandos

Formato 'era+0
H 1 r

! c r c m c m m m m r m r r r

&ampo &&&0 c4di'o espec*fico da instru56o primeiro par mmm e rrr0 operando fonte se$undo par mmm e rrr0 operando destino

Cesar0 Instru5Bes de #perandos

Cesar0 Codifica56o Simb4+ica )com uso do montador,

Modos de endere5amento
S6mbolo 9. )9.,N -)9., ddd)9., )9., ))9.,N, )-)9.,, )ddd)9.,, Unnn )onde0 nnn K %a+or da constante, nnn )onde0 nnn K endere5o de mem.,

Modo 9e'istrador 9e'. )indireto, com p4s-decremento 9e'. )indireto, com pr(-decremento Inde.ado 9e'istrador indireto 9e'. p4s-incr. )dup+amente, indireto 9e'. pr(-decr. )dup+amente, indireto Inde.ado Indireto Imediato Abso+uto ou direto

Cesar0 Codifica56o Simb4+ica )com uso do montador,

Instru5Bes )mnemVnicos,
Codifica56o simb4+ica
CCC 8!9 8:9 8;9 8C9 SCC 8!9 8:9 8;9 8C9 *&&& ddd )onde0 ddd K des+ocamento em re+a56o ao 9H. @..0 :8@ -12, 4MP end )onde0 end indica o endere5o a+%o do des%io7 com uso de um modo de endere5amento apropriado, SO* Rx7 ddd )onde0 ddd K des+ocamento, 4SR Rx7 end )onde0 end K endere5o da subrotina, R"S Rx )e 9. K re'. de retorno, +++ op_end )onde0 op\end K end. do operando, )@..0 &@C op\end op L op 1, +++ end_fonte7 end_dest )@..0 M#P end\fonte7 end\dest dest L fonte,

Cate'oria de Instru5Bes
Instru5Bes sobre c4di'os de condi56o Instru5Bes de des%io condiciona+ Instru56o de des%io incondiciona+

Instru56o de contro+e de +a5o Instru5Bes para des%io e retorno de subrotina Instru5Bes de um operando Instru5Bes de dois operandos

Cesar0 @ntrada e Sa*da


Pisor a+fanum(rico com F2 posi5Bes

+etras e d*'itos +eitura de um caractere teste se uma tec+a foi di'itada Usa o tec+ado do computador /ospedeiro endere5os 2""!! a 2""F"0 %isor 2"GTT0 ?+timo caractere di'itado 2"GT10 estado do tec+ado )1!/ se um caractere foi di'itado,

Jec+ado

@/S mapeada na mem4ria7 nos ?+timos F1 bCtes


@ste bCte de%e ser 3erado toda %e3 que um caractere ( +ido )em prepara56o para a +eitura do pr4.imo caractere,

Cesar0 @ntrada e Sa*da @.emp+o


MOV MOV $% &S& 'E( MOV #65498, ! #655##, 1 ( !) ( !) )4 65499, ( 1) "status do teclado "1a. posio do visor "zera status do tecl. "testa se tecla digit. "seno, volta p/ teste "se sim, escreve caract. "digitado no visor "prxima pos. do visor "testa se fim do visor "para ler prx. tecla

*+$ 1 'E( )18 ' )16 ,%&

Cesar0 Subrotinas

MS9 9.7 end


9.0 re'istrador de retorno )ou de +i'a56o, end0 endere5o da subrotina

9. ( sa+%o na pi+/a 9. L endere5o de retorno )bCte se'uinte ao MS9, 9H L end )i.e.7 des%io para end, 9H L 9. 9. L topo da pi+/a
Obser1a'(o: Pode-se usar 9H como o pr4prio re'istrador de retorno )mais comum em arquiteturas atuais7 mas menos f+e.*%e+,

9JS 9.

@.emp+o
13 14 2, 22 && && 43 && && 89 &&& "O5 R,# '43 JSR R6# .R,/ +c7amada &&& &&& &&& "O5 R%# R3 &&& +corpo da su2rotina &&& RTS R6 +retorno

@.emp+o com passa'em de parXmetros


19 2# 24 26 28 !# --62 64 66 68 -84 --.S 5, 62 /ara0 1 /ara0 2 /ara0 ! ------$% 4 MOV ( 5)+, MOV ( 5)+, MOV ( 5)+, --&S 5 +c7amada da su2rotina +-etor de par0metros .% 2:tes/

+posi()o para onde de-e retornar

1 2 !

+in;cio da su2rotina +o2t<m o primeiro par0metro +o2t<m o segundo par0metro +o2t<m o terceiro par0metro +retorno da su2rotina

A :ib+ioteca :ibCesar

>impar o %isor rotina iterati%a Mu+tip+icar dois inteiros positi%os de 12 bits >impar o %isor rotina mais rpida &i%idir um n?mero inteiro positi%o de F bits por outro de 12 bits @scre%er no %isor Identifica56o da %ers6o da bib+ioteca

:ib+io'rafia

;eber7 9au+ F. <Fundamentos deArquitetura de Computadores=. a. @di56o. Sa'ra->u33atto7 !!1

Cap*tu+os G7 " e 11

Você também pode gostar