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

Documentos relacionados