Você está na página 1de 10
Flags Pulsos Mneménico Fungao Opcode | Bytes| de Afetados clock | cy | ac | ov Mov DPTR, | Mova dado de 16 bits #Dado 16 para OPTR so }H] 8 | ae ft Soma A +DPTR obtendo um enderego de 16 bits na onvopm | __meméria de ox fH} + | a |-]-]- programa. Carrega acumulador com esta meméria Move A, | Idem ao anterior, @AHPC. mas soma A+PC. 8 Hy 4 24 a | Mova RAM externa MovxA,@Ri| (End.8 bits) parao | 1110/0011] B} 1 | 24 | - | - | - acumulador Mova RAM externa Mowe (End, 16 bits) para o Eo H} 4 aa |-|-|- @ acumulador Mova acumulador Movx @Ri,A| paraaRAMexterna | 1111oo1i|B{ 1 | 24 | - | - | - (End. 8 bits) Mov Mova acumulador * para a RAM externa ro jH| 1 | 24 | -[-]- @OPTRA (End. 16 bits) Incrementa 0 SP e Push Direto | entdo coloca a co {H| 2 | 2 |-]-]- meméria no Stack Retira dado do Stack . e coloca na meméria, _|. Pop Direto | “Gepois decrementa Do H| 2 24 | - SP Troca entre si o contetido do XCHARn | comet eg | Moonabe}e] 1 | i f-|-|- registro rr XCHA, | Troca meméria com fot. Direto ‘acumulador co |H) 2 |} te 1 . | Troca RAM indireta . xcHA@ri | Tora MAM navel | rrooori |B) 1 wz | - Troca nibble menos XCHD signdicativo do ; | od. A@RI acumuladoreda | TOVOE| By 1 RAM indireta entre si Figura 12.5 - Transferéncia de Dados © Software Basico do 8051 suaFamila-o Assembler 143 Mneménico Soma contetido de ADDA, AN | en ao acumulador Jooron ate] |v | abe | B appa, | Semac.contetido da DIRETO | Posigdo de meméria ao acumulador a. Soma o contetido da ADD A, @RI | RAM enderagada por | 0010/0111 Ri ao acumulador ADDA, | Soma dado ao #DADO acumulador waa a et? Soma contetido de Rin e ocarry a0 acumulador Soma o conteddo da ADDC A, | posigdo de meméria alo DIRETO e ocary eo acumulador Soma o contedido da ADDC A, | RAM enderegada por alo @Ri Rie ocarry a0 acumulador H Subtrai o contetido SUBBA, Rn | de Rne o Borrow do | 1001/1 abc acumulador ADDC A, Soma o dado e o #DADO | carry a0 acumulador i TT Sores , Subtrai o contetido SUBB A, da posigao de DIRETO meméria e o Borrow do acurnulador Subtrai o conteido SUBB A, | da RAM enderecada . @Ri por Rie o Borrowdo | TOV! | BY 1 acumulador suapa, | Subtalo dado eo #DADO Borrow do. acumulador Soma 1 a0 INCA acumulador Figura 12.3 - Operagoes Aritméticas (parte) 122 AnlirarAee Pratinac An Miaranantraladar ONG4 Soma 1 ao rev |ae [oy mA contatido de Rn 0000/1 abc : Soma 1 a posigao HRETO de memoria 05 12 7 Soma 1 & RAM me GR enderegada por Ri 0000/0111 12 - Subtrai 1 do ceca acumulador 4 ie . Subtrai 1 do DEC An contetido de Rin 0001/1 abe 12 - ES Subtrai 1 da 45 42 - GRETO posigao da memédria Subtrai 1 da RAM : DEC @RI enderegada por Ri | 0001/0111 12 - Soma 1 ao registro mc oPTR DPTR AZ 24 - Multiplica Ae B ii resultado: BA Aa 46 ? Divide Ae B ovaAB resultado: 84 48 o Ainteiro e B resto Ajuste decimal do — acumulador Da 12 yf aL LL. Figura 12.3 - Operagoes Aritméticas O Software Basico do 8051 e sua Famila - o Assembler 139 Flags Afetados Operagao “E* entre ANLA.B | coeto’s acumulador | TOUT abe |B) 1 | 12 ANLA, | *E* entre memériae ss ful 2 2 | DIRETO acumulador ' yoyo f 4 E RAM I. TS “Tod 7 “E* ene ANL A,@Ri indireta e acumulador 1010111 | B 1 12 - - - — | ANLA, *E" ontre DADO @ 2 |- #DADO acumulador . entre acumulador ANL e memoria. DIRETO.A Resultado na Se ywy 2 pe yey meméria ANL DIRETO, | — "E* entre dado | | , “E* entre e # DADO meméria 53 Hy 3 24 oy tT — 4 "OU" entre registro @ r ORL A, Ro acumulador 0100/1 abe | B “QU entre meméria e 45 DIRETO acumulador | | "our entre RAM ORLA@ Al | indireta e acumulador Sroorenst |B] rye delet: ORLA, | “OUrenedacoe | a 2>lwl.l-l. #DATA acumulador J L | *OU" entre t acumulador © ORL meméria, a2 fu} 2 | a2 ]-]-]- DIRETO.A Resultado na meméria ORL “oun DIRETO, | “OW"enite dado @ 43H 24 -|- ea meméria | “ou exciusivo" | 1 OAL A, Rn entre registro e 0110/1 abe |B} 1 12 -f-e]- acumulador LL LL "OU EXCLUSIVO" DIRESO entre meméria e 6 ju} 2} wilt. acumulador "OU EXCLUSIVO" XRLA,@Ri | entre RAM indiretae | or1oo11i}e} 1 | a ]-]- | - acumulador L Figura 12.4 - Operagoes Légicas (parte) 140 Aplicagées Praticas do Microcontrolador 8051 Flags Afetados XRL DIRETO,# DADO XRL AH “OU EXCLUSIVO' entre DADO dado e acumulador XRL “OU EXCLUSIVO" entre DIRETO,A acumulador e memoria. Resultado na meméria "OU EXCLUSIVO' entre dado e memoria CRLA RLC FazA=0 Inverte 0 estado dos bits do acumulador desloca acumulador a esquerda destoca acumulador a esquerda através do carry ‘by, —~-——] bo} desloca acumulador a direita [po} {cy} desloca acumulador & direita através do carry DibeRSpepafeaieio9 [b3[b2)b1[b0|b7 [be ]b5|b4] toca os nibbles do acumulador. Equivale a 4RRA ou 4 RLA Figura 12.4 - Operagées Légicas O Software Basico do 8051 e sua Famila - 0 Assembler 141 Flay Pulsos Mneménico Fungao Opcode | Bytes} de Afeta Clock Fey | ac Mova 0 registro para Mov A, Rn eta | 1110/1 abe 1 wa] -|- Mov A, Mova memoria para Direto © acumulador ES 2} wy] - Mova RAM Mov A,@Ri || enderegada por Riao | 1110/0111 1 12 -]- acumulador Mov A, | Movao dado para o #Dado acumulador 74 rr a re Mova 0 acumulador Mov Rn, A para o registro 1111/1 abe 1 12 - - MovRn, | Mova meméria para Direto o registro 1010/1 abe a Mov Rn, | Mova o dado para o Yoado registro 0111/1 abe 2 wzf-]- Mov Direto, Mova acumulador A para a meméria Fs 2) 2 ye] Mov Direto, | Movao registro para - Rn ‘ameméria 1000/1 abe a a Mova 0 contetido da Mov Direto 1, meméria direta 2 Direto 2 para a memoria 85 a ae en direta1 . Mova RAM von enderegada por Ri | 1000/01 i 2 af -|- para ameméria Mov Direto, | Movao dado para a #Dado meméria 7 S| t4 Pe] Mova o acumulador Mov @ RIA para a RAM 1111/011 1 wz] -|- enderecada por Ri . Mova a meméria Mewar, para a RAM 1010/011 i 2fea]-]. enderegada por Ri Mov @Ri, | Movac dado para a . Noado RAM indirota 0111/0111 2] ]-]- Figura 12.5 - Transferéncia de Dados (parte) 142 Aplicagées Praticas do Microcontrolador 8051 - Pulses pve] woe | om fo Eh cLRC Zera.o Cary Zera o bit endregado Seta o carry SETB bit Inverte o estado do carry Inverte o estado do CPL bit bit enderegado "EB" entre 0 bit ANLG, bit | enderegaao eocany “E" entre o | ANL C,/bit complemento do bit Bo H 2 24 ? - enderecado e 0 carry "OU" entre o bit ORL C, bit 72 enderegado e 0 carry "OU" entre o [or C. bit | complemento do bit enderegado e © carry Mova 0 bit enderecado para o A2 H 42 carry MOV C, bit / Mova o carry para o MOV biLC | “bit enderegado Desvia se o carry wCrel estiver setado 40 Hy 2 Desvia se 0 carry INC rel estiver zerado "| soy Ry) 2 Desvio se o bit JB bitrel | enderegado estiver 20 H] 3 | 24 L -fo].- setado Figura 12.6 - Instrugdes para Varidveis Booleanas (parte) 144 apicacées Praticas do Microcontrolador 8051 a10a9a8 Chama sub-rotina | 10001 ACALL numa faixa de ide o | 26 ENDI1 2Kbytes daatual | exemplono| ~ . osigdio item anterior) Chama sub-rotina LCALL | emqualquer posigao END16 da meméria de eH may pepe programa RET | Retorne da sub-otina! 22 =|H| 1 | 24 | - Retome da i RETI itenupsie azz |u| + | a | - | - } [-— AJMP — | enderego numa faixa | ACALL | END11 | de2Kbytesdaatual | atoagas | ~| ? aa ye . posicao ‘00001 Desvia para qualquer | Eilts | Posicdo da meméria | . de programa | Desvia para outro | idema | ‘SUMP rel | Desvio curto relative 80 | Desvia para o | ump | enderego obtido da | @A+OPTR | somadoacumuladr| 7? |H) 1 | 24 | - - edo DPTR Desvia seo ; Yr | acumulador tor ‘zeo"| 8° =f 4} 2 | e4 || | - eet — Desvia se 0 JNZ rel acumulador "nao for 70 H 2 24 7 - - zero" = Compara e desvia se CUNEA, | 0 acumulador for 2 DIRETO, rel | diferente dameméria} 5 | H| 3 | 24 | 2) - | - enderecada Compara e desvia se . poabD ret | 2.8cumulador for se fH| 3 | a |e] -]- . diferente do dado Compara e desvia se Neh © registro for wliftabe |B} 3 24 | 2 . diferente do dado ;, | Compara e desvia se $O0DG ai aRAMindiretafor | to1oi1i]B} 3 | 24 | 27] - | - ia diferente do dado Figura 12.7 - Instrugdes de Desvio (parte) 146 Aplicagées Praticas do Microcontrolador 8051 JNB bit, rel JBC bit,rel Desvia se o bit enderecado estiver zerado = O Desvia se 0 bit enderegado estiver setado e depois zera obit Figura 12.6 - Instrug6es para Varidveis Booleanas O Software Basico do 8051 e sua Famila - o Assembler 145 Mneménico Decrementa o DJNZ Rn,rel | registto e desviase / for "diferente" de zero Decrementa a meméria e desvia se for "diferente" de ; Z6r0 DJNZ Direto, ret Nenhuma operagao Figura 12.7 - Instrugoes de Desvio O Software Basico do 8051 e sua Famila - o Assembler 147

Você também pode gostar