aula 4 conjunto de instruções do microprocessador 8085 ......4.5.2 - exemplos de programas -...

30
Microprocessadores I Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético

Upload: others

Post on 08-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

Microprocessadores I

Aula 4

Conjunto de Instruções do Microprocessador

8085

Grupo Aritmético

Page 2: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.1 - Grupos de Instruções

As instruções no 8085 são distribuídas em 5 grupos:

1. Grupo de transferência da dados: Move dados entre registradores

ou posição de memória e registradores;

2. Grupo Aritmético: Adição, subtração, Incrementos, decremento;

3. Grupo Lógico: AND, OR, XOR, Comparação, Rotação,

Complemento;

4. Grupo de Desvio: Condicionais, Incondicionais, Subrotinas;

5. Grupo de Controle, Pilha, Entrada e Saída.

Page 3: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.2 - Instruções Lógicas e Aritméticas

Operaçoes Lógicas e Aritméticas são realizadas na Unidade Lógica e

Aritmética (ULA).

O Acumulador (Registrador A) e dois Registradores Temporários (W e Z)

estão conectados diretamente à ULA.

• Um dos operandos: Acumulador

• Segundo operando: vem de B, C, D, E, H, L ou da memória e passa é

armazenado no registrador temporário.

• O resultado da operação é armazenado no Acumulador.

Page 4: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.3 - Registradores de FLAGS

Operação na ULA, pode afetar os bits de flags.

FLAGS: Bits de estados que são setados ou zerados conforme sua função e e ficam armazenados no Registrador F

FLAGS

CY = Carry P = Parity AC = Auxiliar Carry

Z = Zero S = Signal

Flags podem ser utilizados para o controle e desvio de programas através de determinadas instruções.

Page 5: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.3.1 – Flag Carry : CY

Carry => É setado (nível lógico 1) quando o resultado da operação é um

número maior que 8 bits. Indica um Overflow (Estouro).

Caso contrário ele é zerado.

Exemplo: FFH + 11H = 10H e CY = 1

Page 6: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.3.2 – FLAG Paridade – Parity : P

PARITY => É setado (1) quando o resultado de uma operação produz um

valor com quantidade PAR de bits “1”.

Caso contrário assume valor zero (0).

Exemplo: 0EH + 01H = 0FH. P = 1

0FH = 0000 1111B

Page 7: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.3.3 – FLAG Auxiliar Carry: AC

AUXILIAR CARRY => É setado quando há um VAI-UM do quarto para o

quinto bit. Caso contrário é zerado.

Exemplo: 05H + 0CH = 11H. AC = 1

Page 8: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.3.4 – FLAG Zero - Z

ZERO => Assume valor “1” quando uma operação resulta em um valor

ZERO. Caso contrário assume “0”.

Exemplo: FDH + 03H = 00H. Z = 1 e CY = 1.

Page 9: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.3.5 – FLAG Sinal (Signal) : S

SIGNAL => Assume valor “1” quando o resultado de uma operação produz

um número maior que 7FH (operações com sinais).

Page 10: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.4 - Instruções Aritméticas – Parte I

Page 11: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.4 - Instruções Aritméticas – Parte 2

Page 12: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5 - Código de Operação - Instruções Aritméticas

Page 13: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

3.3.1a - Código de Operação para as Instruções de Transferência

13

Page 14: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.1 - Exemplos de Programas - Instruções Aritméticas

Indique a representação simbólica de cada

uma das instruções.

Page 15: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.1 - Exemplos de Programas - Instruções Aritméticas

Converta o programa para linguagem de

máquina do 8085!

Page 16: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.1 - Exemplos de Programas - Instruções Aritméticas

Qual o conteúdo dos registradores?

Page 17: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.1 - Exemplos de Programas - Instruções Aritméticas

Page 18: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.1 - Exemplos de Programas - Instruções Aritméticas

Page 19: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.2 - Exemplos de Programas - Instruções Aritméticas

• Indique a representação simbólica de cada instrução.

• Obtenha o conteudo de todos os registradores e memória envolvida nas

operações.

Page 20: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.2 - Exemplos de Programas - Instruções Aritméticas

Na operação de subtração em complemento de 2, o flag CY é o

complemento do carry.

Exemplo. 03 – 02

0000 0011

+ 1111 1110

-----------------

1 0000 0001 Resultado = 01 e CY = 0

Page 21: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.2 - Exemplos de Programas - Instruções Aritméticas

Abacus

Page 22: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.3 - Exemplos de Instruções Aritméticas

Exemplo: 0FH – 01H

0000 1111

+ 1111 1111

------------------

1 0000 1110 => Carry = 1, então CY = 0

Exemplo: 0CH – 12H

0000 1100

+ 1110 1110

------------------

0 1111 1010 => Carry = 0, então CY = 1

0000 0101 + 1 = - 0000 0110

Page 23: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.3 - Exemplos de Instruções Aritméticas - ABACUS

Exemplo: 0CH – 12H

0CH = 0000 1100

12H = 0001 0010 C2(12H) = 1110 1110

0000 1100

+ 1110 1110

------------------

0 1111 1010 => (FA H)

Carry = 0, então CY = 1 (Negativo)

0000 0101 + 1 = - 0000 0110 (-5D)

Page 24: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.4 - Exemplos de Instruções Aritméticas

• Indique a representação simbólica de cada

instrução.

• Obtenha o conteudo de todos os

registradores e memória envolvida nas

operações.

Page 25: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.4 - Exemplos de Instruções Aritméticas

Page 26: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.5 - Exemplos de Instruções Aritméticas

1. ADD B

(A) = 21H e (B) = 31H

2. ADD M

(H) = 20H, (L) = 33H, (A) = 21H, (2033H) = FFH

3. ADI 45

(A) = 21H

4. ADC B

(A) = 21H, (B) = 31H E CY = 1

5. ADC M

(A) = 21H, (H) = 20H, (L) = 33H, (2033H) = FF, CY = 1

Page 27: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.6 - Exemplos de Instruções Aritméticas

6. SUB C

(A) = 31H, (C) = 21H E CY = 1

7 – SUB B

(A) = 21H, (B) = 31H E CY = 1

8. SBB M

(A) = 45H, (H) = 20H, (L) = 33H, (2033H) = FC, CY = 1

Page 28: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.6 - Exemplos de Instruções Aritméticas

6. SUB C

(A) = 31H, (C) = 21H E CY = 1

(A) = 0F H (F) = S Z 0 AC 0 P 1 CY = 0 0 0 1 0 1 1 0 = 16 H

7 – SUB B

(A) = 21H, (B) = 31H E CY = 1

8. SBB M

(A) = 45H, (H) = 20H, (L) = 33H, (2033H) = FC, CY = 1

Page 29: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.6 - Exemplos de Instruções Aritméticas

6. SUB C

(A) = 31H, (C) = 21H E CY = 1

(A) = 0F H (F) = S Z 0 AC 0 P 1 CY = 0 0 0 1 0 1 1 0 = 16 H

7 – SUB B

(A) = 21H, (B) = 31H E CY = 1

(A) = F0 (F) = S Z 0 AC 0 P 1 CY = 1 0 0 1 0 1 1 1 = 97 H

8. SBB M

(A) = 45H, (H) = 20H, (L) = 33H, (2033H) = FC, CY = 1

Page 30: Aula 4 Conjunto de Instruções do Microprocessador 8085 ......4.5.2 - Exemplos de Programas - Instruções Aritméticas Na operação de subtração em complemento de 2, o flag CY

4.5.6 - Exemplos de Instruções Aritméticas

6. SUB C

(A) = 31H, (C) = 21H E CY = 1

(A) = 0F H (F) = S Z 0 AC 0 P 1 CY = 0 0 0 1 0 1 1 0 = 16 H

7 – SUB B

(A) = 21H, (B) = 31H E CY = 1

(A) = F0 (F) = S Z 0 AC 0 P 1 CY = 1 0 0 1 0 1 1 1 = 97 H

8. SBB M

(A) = 45H, (H) = 20H, (L) = 33H, (2033H) = FC, CY = 1(A) = 48 (F) = S Z 0 AC 0 P 1 CY = 0 0 0 0 0 1 1 1 = 07 H