Apresentação do Easy4
Transcrição
Apresentação do Easy4
O µProcessador Easy4* • Características do µP Easy4: – Processador de 4 bits * - © 1998 David Herget and Nancy Thiebeault, “PC Architecture From Assembly Language to C”, Prentice-Hall, ISBN 0-13-653775-8 Easy4, 1/10 – – – – – – – – – – 1 registo genérico A instruction pointer stack pointer somador carry flag zero flag 16 nibbles (4bit) de memória 16 instruções porto A - display 7 segmentos porto B - teclado HEX Sistemas de µProcessadores Jorge Lobo, Set 2000 Simulador do Easy4 Conjunto de 16 instruções 16 nibbles (4bit) de Memória Registos e Flags Interface do utilizador Easy4, 2/10 Sistemas de µProcessadores Jorge Lobo, Set 2000 Conjunto de Instruções do Easy4 • Exemplo de uma instrução – colocar no registo A um numero: MOVE A,NUMBER • atenção à notação, a “movimentação” é da direita para a esquerda! MOVE A,NUMBER • Formato das instruções e memória op-code, operando, … – Easy4: instruções simples e instruções com 1 operando Assembly Código Máquina Memória ADD A,[F] 0x3F bin 0011 1111 POP 0x4 Easy4, 3/10 bin 0100 Sistemas de µProcessadores end1: 3 end2: F end1: 4 Jorge Lobo, Set 2000 Conjunto de Instruções do Easy4 • Instruções: – de movimentação de dados – MOVE A,NUMBER – MOVE A,ADDRESS – MOVE ADDRESS,A – aritméticas – – – – Flags: INCREMENT A ADD A,ADDRESS SUBTRACT A,ADDDRESS COMPARE A,ADDRESS – de salto e condicionais – – – – Easy4, 4/10 JUMP JUMP JUMP JUMP TO IF IF IF ADDRESS LESS THAN GREATER THAN EQUAL TO resultado da adição >16 resultado da adição =16 resultado da subtracção <0 resultado da subtracção =0 compare: A>NUMBER compare: A<NUMBER compare: A=NUMBER Sistemas de µProcessadores carry=1 carry=1 carry=1 carry=0 carry=0 carry=1 carry=0 zero=0 zero=1 zero=0 zero=1 zero=0 zero=0 zero=1 Jorge Lobo, Set 2000 Conjunto de Instruções do Easy4 • Instruções: ... ... – manipulação da pilha ... ... – PUSH – POP – outras – STOP – IN B – OUT A Easy4, 5/10 ... stack pointer ... ... stack base pointer Sistemas de µProcessadores ... Jorge Lobo, Set 2000 Exemplos • Colocar o valor 7 no registo A MOVE A,7 STOP • Colocar o valor 5 na célula de memória F MOVE A,5 MOVE [F],A STOP • Adicionar 3 ao valor na célula de memória B MOVE A,3 ADD A,[B] MOVE [B],A STOP • Escrever no display o valor da célula de memória 8. Easy4, 6/10 MOVE A,[8] OUT A Sistemas de µProcessadores Jorge Lobo, Set 2000 Funcionamento e BUS do EASY4 • Diagrama temporal do MOVE A,[address] • (seleccionar Show Easy4 BUS) Easy4, 7/10 Sistemas de µProcessadores Jorge Lobo, Set 2000 Funcionamento e BUS do EASY4 • Diagrama temporal do OUT A • (seleccionar Show Easy4 BUS) Easy4, 8/10 Sistemas de µProcessadores Jorge Lobo, Set 2000 Exercícios • calcular 9+5-2, ficando o resultado no registo A • ler número do teclado, escrever o número no display se for maior que 6, senão escrever 0. • Escrever no display contagem decrescente 9->0. Easy4, 9/10 Sistemas de µProcessadores Jorge Lobo, Set 2000 Mais exemplos e exercícios MOVE A,7 PUSH MOVE A,2 PUSH POP STOP • Qual a evolução da pilha? • Escreva um programa que aceite 2 valores do teclado e os coloque no display por ordem inversa Easy4, 10/10 Sistemas de µProcessadores Jorge Lobo, Set 2000