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 F0 RS1 RS0 OV F1 P Memória Dados Interna 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
Áreas Bit endereçáveis 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 Dados Memória de Dados Interna Memória de Dados Externa Memória de Programa
Instruções Booleanas (bit)
Instruções de Desvio de Fluxo Não Condicionais 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) 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
Seqüência de estados Execução de instruções na memória de programa externa PCL - Program Counter Low PCH - Program Counter Low DPH - Data Pointer High DPL - Data Pointer Low