instruções lógicas e aritméticas

21
Microprocessadores Instruções Lógicas e Aritméticas Rev. 02 / 2016 Prof. Henrique Aula 18

Upload: others

Post on 23-Nov-2021

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instruções Lógicas e Aritméticas

Microprocessadores

Instruções Lógicas e Aritméticas

Rev. 02 / 2016 Prof. Henrique

Aul

a 18

Page 2: Instruções Lógicas e Aritméticas

Roteiro

Introdução

Formato das instruções

Problemas Lógicos

Problemas Aritméticos

Referências

Aul

a 18

2

Page 3: Instruções Lógicas e Aritméticas

IntroduçãoLinguagem Assembly

3

Page 4: Instruções Lógicas e Aritméticas

Introdução

A linguagem assembly é o nível mais baixo para o

desenvolvimento de software conhecido atualmente,

pois pois atua diretamente na melhoria contínua de

desempenho do hardware em nível de microinstruções.

4

Page 5: Instruções Lógicas e Aritméticas

Introdução

Sempre iniciaremos qualquer programa definindo o

nome e o local do projeto, a escolha da CPU 8051 e,

em seguida, habilitando as memórias de código e de

dados externas com a maior capacidade possível de

65536b e 61440b, respectivamente.

5

Page 6: Instruções Lógicas e Aritméticas

Introdução

Em seguida salve o arquivo do projeto com extensão

(.asm) com o nome escolhido por você, de tal modo

que você não se esqueça dele futuramente (boas

práticas de programação)!

6

Page 7: Instruções Lógicas e Aritméticas

InstruçõesFormato na IDE

7

Page 8: Instruções Lógicas e Aritméticas

Instruções

As instruções na linguagem contém quatro partes bem

definidas, a saber:

n Rótulo (opcional)

n Mnemônico (obrigatório)

n Operandos (depende do opcode)

n Comentários (opcional)

8

Page 9: Instruções Lógicas e Aritméticas

Instruções

Exemplo

CONT: MOV A, P1

INC R0 ; R0 ← R0 + 1

MOV B, R0

ADD A, B

9

RÓTULO

MNEMÔNICO OPERANDO

COMENTÁRIOS

Page 10: Instruções Lógicas e Aritméticas

Instruções

Rótulo

Forma de “apelido” de uma posição do programa para o

ponteiro de instrução (PC), o qual identifica uma

posição específica do programa que poderá ser

vinculada a um procedimento ou função.

10

Page 11: Instruções Lógicas e Aritméticas

Instruções

Rótulo

SOMA: MOV A, P1

MOV B, R0

ADD A, B ; soma dois bytes.

11

RÓTULO

Page 12: Instruções Lógicas e Aritméticas

Instruções

Mnemônico

É a instrução propriamente dita, consta no opcode do

processador, ou seja, é bem definida e executa

determinada ação após decodificada pela Unidade de

Controle.

12

Page 13: Instruções Lógicas e Aritméticas

Instruções

Mnemônico

SOMA: MOV A, P1 ; MOV faz movimentação

MOV B, R0 ;de dados internos à RAM.

ADD A, B

13

MNEMÔNICO

Page 14: Instruções Lógicas e Aritméticas

Instruções

Operando

É sobre quem se deseja realizar operação.

14

Page 15: Instruções Lógicas e Aritméticas

Instruções

Operando

OPR: MOV A, P0 ; A ← P0

PUSH A

CLR A

15

SÓ PODE USAR “A” COMO OPERANDO

Page 16: Instruções Lógicas e Aritméticas

Instruções

Comentários

São utilizados para facilitar o desenvolvimento na

linguagem, não importa para fins de compilação e

código.

16

Page 17: Instruções Lógicas e Aritméticas

Instruções

Comentários

OPR: MOV A, P0 ; A recebe P0

PUSH A ; joga P0 na pilha.

CLR A ; limpa A.

17

BOAS PRÁTICAS DE PROGRAMAÇÃO.

Page 18: Instruções Lógicas e Aritméticas

Problemas LógicosLinguagem Assembly

18

Page 19: Instruções Lógicas e Aritméticas

Problemas

Aritméticos

1. Some P2 e SP e exiba-o em P1.

2. Faça o produto entre R0 e P3 e exiba-o em P2.

3. Subtraia dois valores da RAM interna e envie para B.

4. Realize divisão de dois números provenientes de

portas duas portas distintas e envie os resultados pelas

mesmas portas que foram lidas.

5. Realize a seguinte operação: P0 = SP*(P1 - B) + R319

Page 20: Instruções Lógicas e Aritméticas

Problemas

Lógicos

1. Verificar se P1.0 e A.5 estão habilitados!

2. Verificar se a soma de dois números resultou em um

número de nove bits.

3. Como verificar se dois valores são iguais?

4. Movimente três bits quaisquer de P1 para posições

bit endereçáveis da memória RAM.

5. Verifique se @0020h da RAM externa contém 00h.20

Page 21: Instruções Lógicas e Aritméticas

Referências

OSMERA, Martin. MCU 8051 IDE handbook draft. 2012. Disponível em <http://www2.sorocaba.unesp.br/professor/marilza/Simulador%20MCU8051/MANUAL_MCU8051IDE.pdf>. Acesso em Ago/2016.

NICOLOSI, D. E. C. Microcontrolador 8051 detalhado. São Paulo: Érica, 2000. 221p. ISBN 9788571947214.

MANZANO, J. A. N. G. Programação ASSEMBLY padrão IBM-PC 8086/8088. São Paulo: Érica, 2013. ISBN 9788536516547.

GIMENEZ, S. P. Microcontroladores 8051. São Paulo: Prentice Hall, 2002. 270p. ISBN 8587918281.

21