Comparação Processadores
Hardwired x Microcoded
Processador Microded
Processador Hardwired
Ciclos por Instrução e Bytes p/modo de end.
PSW - Memória
C AC RS1 OVF0 RS0 F1 P
Bit 7 - C - Carry Flag, setado qdo a adição > 0FFh ou quando a subtração < 0. Vai um da soma ou empresta um da subtração.
Bit 6 - AC - Auxiliary Carry Flag, setado qdo o low nibble afeta o high nibble, útil em operações com BCD.
Bit 5 - F0 - Flag de usuário, disponível.
Bit 4,3 - RS1, RS0 - Bits de seleção do banco de registradores.
Bit 2 - OV - Overflow Flag, indica estouro de conta em operações de soma e subtração. Ou seja resultados > +127 e < -128.
Bit 1 - F1 - Flag de usuário, disponível.
Bit 0 - P - Parity Flag, flag de paridade - setado se o acumulador possui um número ímpar de “1s”. Ou de outra forma Acumulador + o bit de paridade tem sempre um número par de “1”s.
Memória Dados Interna
Registradores de I/O
Áreas Bit endereçáveis- Área entre 20 e 2Fh
16 bytes, 128 bits onde cada bit tem um endereço especial - 00 a 7Fh
- Área dos SFR
P0 - Endereçável como byte - 80h ou Bits individuais: 80, 81, 82, 83, 84, 85, 86, 87h (possuem nomes P0.0, P0.1 ....).
P1 - 90h ou Bits individuais: 90, 91, 92, 93, 94, 95, 96, 97h (possuem nomes P1.0, P1.1 ....).
P2 - A0h ou Bits individuais: A0, A1, A2, A3, A4, A5, A6, A7h (possuem nomes P2.0, P2.1 ....).
P3 - B0h ou Bits individuais: B0, B1, B2, B3, B4, B5, B6, B7h (possuem nomes P3.0, P3.1 ....).
- Outros
ACC, B, IE, IP, PSW, SCON, TCON
Instruções Aritméticas
Instruções Lógicas
Movimentação de DadosMemória de Dados Interna
Memória de Dados Externa
Memória de Programa
Instruções Booleanas (bit)
Instruções de Desvio de Fluxo
LCALL --> Jump para uma subrotina dentro do espaco de 64Kbytes
ACALL --> Jump para uma subrotina dentro do espaco de 2Kbytes (11bits)
SJMP --> Jump para uma posição -128, +127 posições a partir da próxima
LJMP --> Jump para qualquer posição dentro do espaço de 64Kbytes
AJMP --> Jump para qualquer posição dentro de um espaço de 2Kbbytes (11bits)
Não Condicionais
Condicionais
CJNE --> Se byte #data, pula. Se <byte> < #data então C=1, senão C = 0
Seqüência de estados
Executando instruções
1 ciclo de máquina = 12 ciclos de clock = 6 estados
Execução de instruções na memória de programa externa
Seqüência de estados
PCL - Program Counter Low
PCH - Program Counter Low
DPH - Data Pointer High
DPL - Data Pointer Low