Programação Assembly
                8051 – Aula 2


1 de agosto de 2012   Minicurso: Assembly para 8051 GDESTE   1
Instruções de desvios incondicionais
              MNEMÔNICO                 OPERAÇÃO              TEMPO DE EXECUÇÃO(𝜇s)
              JMP endereço        Salto para o endereço                 2
              CALL endereço     Sub-rotina para endereço                2
                      RET         Retorno da sub-rotina                 2
                      RETI       Retorno da interrupção                 2




1 de agosto de 2012           Minicurso: Assembly para 8051 GDESTE                    2
Instruções de desvios incondicionais




1 de agosto de 2012   Minicurso: Assembly para 8051 GDESTE   3
Instruções de desvios condicionais
                                                                        TEMPO DE
           MNEMÔNICO                        OPERAÇÃO
                                                                      EXECUÇÃO(𝜇s)
                JZ rel             Salto para o endereço se A=0            2
               JNZ rel            Salto para o endereço se A!=0            2
                                    Decrementa e salto para o
          DJNZ <byte>,rel                                                  2
                                        endereço se !=o
         CJNE A,<byte>,rel         Compara e salta se A!=<byte>            2
        CJNE <byte>,#cte,rel     Compara e salta se <byte> != #cte         2
             JB <bit>,rel                 Salta se <bit>=1                 2
            JNB <bit>,rel                Salta se <bit> = 0                2




1 de agosto de 2012            Minicurso: Assembly para 8051 GDESTE                  4
Instruções de desvios condicionais
                                                                  TEMPO DE
           MNEMÔNICO                  OPERAÇÃO
                                                                EXECUÇÃO(𝜇s)
                JC rel       Salto para o endereço se C=1            2
               JNC rel       Salto para o endereço se C=0            2
                 JBC           Salta se <bit>=1; CLR <bit>           2




1 de agosto de 2012      Minicurso: Assembly para 8051 GDESTE                  5
Instruções lógicas
            MNEMÔNICO               OPERAÇÃO                TEMPO DE EXECUÇÃO(𝜇s)
            ANL A,<byte>         A = A AND <byte>                     1
            ANL <byte>,A      <byte>= <byte> AND A                    1
            ORL A,<byte>         A = A OR <byte>                      1
            ORL<byte>, A       <byte> =<byte> OR A                    1
                  RL A      Rotaciona A para a esquerda               1
                 RR A        Rotaciona A para a direita               1
             XRL A,<byte>        A = A XOR <byte>                     1




1 de agosto de 2012         Minicurso: Assembly para 8051 GDESTE                    6
Instruções lógicas
              RL A

   ACC

              RR A

   ACC




1 de agosto de 2012   Minicurso: Assembly para 8051 GDESTE   7
Prática 3: O vai e volta
               Implemente em Assembly para 8051 um
               programa que acione em sequencia de vai e
               volta de 8 Led's ligados na P1.




1 de agosto de 2012    Minicurso: Assembly para 8051 GDESTE   8
Prática 4: Semáforo para pedestres
               Implementar um semáforo automático com
               sinalização de tempo de sinal verde para o
               pedestre. Utilizar os Led’s e um display de 7
               segmentos ligados na P0.




1 de agosto de 2012     Minicurso: Assembly para 8051 GDESTE   9

Aula 2 - Assembly - 8051

  • 1.
    Programação Assembly 8051 – Aula 2 1 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 1
  • 2.
    Instruções de desviosincondicionais MNEMÔNICO OPERAÇÃO TEMPO DE EXECUÇÃO(𝜇s) JMP endereço Salto para o endereço 2 CALL endereço Sub-rotina para endereço 2 RET Retorno da sub-rotina 2 RETI Retorno da interrupção 2 1 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 2
  • 3.
    Instruções de desviosincondicionais 1 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 3
  • 4.
    Instruções de desvioscondicionais TEMPO DE MNEMÔNICO OPERAÇÃO EXECUÇÃO(𝜇s) JZ rel Salto para o endereço se A=0 2 JNZ rel Salto para o endereço se A!=0 2 Decrementa e salto para o DJNZ <byte>,rel 2 endereço se !=o CJNE A,<byte>,rel Compara e salta se A!=<byte> 2 CJNE <byte>,#cte,rel Compara e salta se <byte> != #cte 2 JB <bit>,rel Salta se <bit>=1 2 JNB <bit>,rel Salta se <bit> = 0 2 1 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 4
  • 5.
    Instruções de desvioscondicionais TEMPO DE MNEMÔNICO OPERAÇÃO EXECUÇÃO(𝜇s) JC rel Salto para o endereço se C=1 2 JNC rel Salto para o endereço se C=0 2 JBC Salta se <bit>=1; CLR <bit> 2 1 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 5
  • 6.
    Instruções lógicas MNEMÔNICO OPERAÇÃO TEMPO DE EXECUÇÃO(𝜇s) ANL A,<byte> A = A AND <byte> 1 ANL <byte>,A <byte>= <byte> AND A 1 ORL A,<byte> A = A OR <byte> 1 ORL<byte>, A <byte> =<byte> OR A 1 RL A Rotaciona A para a esquerda 1 RR A Rotaciona A para a direita 1 XRL A,<byte> A = A XOR <byte> 1 1 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 6
  • 7.
    Instruções lógicas RL A ACC RR A ACC 1 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 7
  • 8.
    Prática 3: Ovai e volta Implemente em Assembly para 8051 um programa que acione em sequencia de vai e volta de 8 Led's ligados na P1. 1 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 8
  • 9.
    Prática 4: Semáforopara pedestres Implementar um semáforo automático com sinalização de tempo de sinal verde para o pedestre. Utilizar os Led’s e um display de 7 segmentos ligados na P0. 1 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 9