Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Aula - 08, Notas de aula de Mecatrônica

Programação Assembly - parte 1: Operações aritméticas, laços condicionais e re repetição.

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 05/10/2010

alan-barbosa-9
alan-barbosa-9 🇧🇷

5

(2)

14 documentos

1 / 27

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Microprocessadores
Aula 08:
Programação Assembly
Parte 1: Operações
1
Programação Assembly
Parte 1: Operações
aritméticas, laços condicionais e de repetição
Referência para a aula:
1 Apostila: Instruções e Diretivas [Xerox].
Prof.: Edgar Campos Furtado
Sala: 217.2
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Pré-visualização parcial do texto

Baixe Aula - 08 e outras Notas de aula em PDF para Mecatrônica, somente na Docsity!

Microprocessadores Aula 08: Programação Assembly

-^ Parte 1: Operações

Programação Assembly

-^ Parte 1: Operações

aritméticas, laços condicionais e de repetiçãoReferência para a aula: 1 – Apostila:

Instruções e Diretivas [Xerox].

Prof.: Edgar Campos Furtado

[email protected]^ Sala: 217.

PROGRAMAÇÃO EM ASSEMBLY

A^ elaboração

de^ um

código

em^

Assembly

está^

condicionada

a

construção de estruturas básicas, tais como:1. Operações algébricas com o conteúdo de registradores;2. Rotinas de comparação de conteúdo de registradores;3. Laços condicionais;

AULA-

4. Laços de repetição. DIRETIVAS UFSJ – CAP© Edgar C. Furtado

é^ um

conjunto

de^

instruções

de^

linguagens

de

programação que especifica como o montador deve processar ocódigo fonte.No curso

serão

abordadas

algumas

das^

diretivas

associadas

ao

montador MPLAB, da MICROCHIP.

DECLARAÇÃO DE VARIÁVEIS

Memória de Dados

Endereço do

AULA-

UFSJ – CAP© Edgar C. Furtado

Endereço do^ PrimeiroRegistrador deUso Geral

REPRESENTAÇÃO NUMÉRICA

O primeiro passo para se tratar equações algébricas consiste emestabelecer uma forma de representação dos números.•^ Para

números

naturais

(positivos

e^

nulos)

necessita-se

representar apenas a magnitude do número;

AULA-

-^ Para UFSJ – CAP© Edgar C. Furtado

números

inteiros

(positivo,

nulo

e^ negativo)

pode-se

utilizar a representação

sinal-magnitude;

-^ Para números reais utiliza-se o padrão IEEE 754 (leitura do textocomplementar, no xerox);

OPERAÇÕES ARITMÉTICAS

ADIÇÃO:

Considere a seguinte expressão: Em que A e B são registradores e L um literal.

AULA-

Implementação em Assembly: UFSJ – CAP© Edgar C. Furtado

OPERAÇÕES ARITMÉTICAS

ADIÇÃO E SUBTRAÇÃO:

Considere a seguinte expressão:

Em^ se^

tratando

com^ números

binários,

a^ melhor

maneira

de^ se

realizar

tal

A^1

A^2 AULA-^

Em^ se UFSJ – CAP© Edgar C. Furtado tratando

com^ números

binários,

a^ melhor

maneira

de^ se

realizar

tal

operação

é^ considerar

a^ representação

sinal-magnitude

e^ a^ operação

de

complemento de 2.A operação de complemento de 2 do número 5

= 0000 0101d

b

Complemento

de^1

=^1111

+^1 =^

Complemento

de^2

=^1111

=^ -5d

OPERAÇÕES ARITMÉTICAS

Exemplos de operações com complemento de 2 Exemplo

3:^ resultado

negativo

Operação:

5d^

+(–19d)

=^ -14d

=^0^1111

Carry

Como o resultado foi negativo:

AULA-

UFSJ – CAP© Edgar C. Furtado

Como o resultado foi negativo: •^ Complemento de 2 para resultado = 0000 1110 (14d);•^ Mudar o bit mais significativo para 1 (8 bit);•^ Resultado: 1000 1110 = -14d; As^ Instruções

SUBWF

e^ SUBLW

retornam

as^ respostas

para^

números

negativos

em^

complemento

de^

2,^ bastando

aplicar

novamente

o

complemento de 2 no resultado.

OPERAÇÕES ARITMÉTICAS

Caso para A

≥^ A 1 2

Caso para A

< A 1 2

Considere a seguinte expressão:

Se a representação forsinal-magnitude.

AULA-

UFSJ – CAP© Edgar C. Furtado

Complemento de 2 do resultado

OPERAÇÕES ARITMÉTICAS

Para A

≥^ Ae A 1 2

< A 1 2

Implementação Completa #2:

AULA-

UFSJ – CAP© Edgar C. Furtado

OPERAÇÕES ARITMÉTICAS

MULTIPLICAÇÃO

COM

NÚMEROS

NATURAIS:

Considere

a^ seguinte

expressão: Para números naturais (sempre positivos), o caso da multiplicação pode ser considerado

como^

uma^ soma

de^ vários

termos

AULA-

considerado UFSJ – CAP© Edgar C. Furtado

como^

uma^ soma

de^ vários

termos

OPERAÇÕES ARITMÉTICAS

MULTIPLICAÇÃO POR 2:

No caso da multiplicação por 2, para números pares

pode-se utilizar a instrução RLF.^ Exemplo:

AULA-

Ressalvas:•^ Para UFSJ – CAP© Edgar C. Furtado

multiplicação

com^

número

natural,

o^ maior

valor^

possível

de

forma a não ocorrer estouro é 127

= 0111 1111d

; 2x127b

= 254d

=d

;b

-^ Para multiplicação com número inteiro, o maior valor possível de formaa não ocorrer estouro é x011 1111 = 63d; 2x

= x111 1110 = 126d

.d

Lembrando sempre de verificar o sinal.

OPERAÇÕES ARITMÉTICAS

COMPARAÇÃO:

Em^ diversas

situações

se^ faz

necessário

a^ utilização

de

procedimentos de comparação entre conteúdo de registradores.^ Considere a instrução:

SUBWF

REG1,W

| W

^ REG1 - W

Em termos dos indicadores C e Z pode-se estabelecer:

AULA-

UFSJ – CAP© Edgar C. Furtado

LAÇOS CONDICIONAIS

Os laços condicionais podem ser implementados com:

BTFSS

GOTO

RETURN

BTFSC

CALL

RETLW AULA-^

Convencionando: UFSJ – CAP© Edgar C. Furtado

LAÇOS CONDICIONAIS

Considere o seguinte algoritmo:

Implementação

Assembly

AULA-

UFSJ – CAP© Edgar C. Furtado