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


Terceira aula de microprocessadores, Slides de Microprocessadores

Terceira aula de microprocessadores

Tipologia: Slides

2019

Compartilhado em 10/09/2019

lucas-correa-65
lucas-correa-65 🇧🇷

3 documentos

1 / 40

Toggle sidebar

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

Não perca as partes importantes!

bg1
Introdução a Linguagem de Programação
x85
Prof. Dr. Remy Eskinazi
DEE UPE Escola Politécnica / CEFET-PE
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28

Pré-visualização parcial do texto

Baixe Terceira aula de microprocessadores e outras Slides em PDF para Microprocessadores, somente na Docsity!

Introdução a Linguagem de Programação

x

Prof. Dr. Remy Eskinazi

DEE – UPE – Escola Politécnica / CEFET-PE [email protected]

Introdução a Linguagem de Programação

  • Cada μp tem suas próprias palavras (Opcodes ), significados e linguagem
    • Opcodes length – nº de bits que o μp reconhece e processa de cada vez
    • Opcodes são formados pelas várias combinações desses bits
    • 8085: linguagem de até 256 opcodes (2^8 )
  • Projetista da CPU cria instruções:
    • seleciona combinações de padrões de bits
    • Atribui um significado especifico para cada combinação usando decodificadores
  • Cada μp tem seu próprio conjunto de instruções
    • Programa em assembly para um microprocessador não é transferível (executável) para outro de arquitetura diferente.
  • Instruções são compostas por uma ou mais palavras
  • Conjunto de instruções: linguagem de máquina
  • O μp determina:
    • A linguagem de máquina e
    • Operações do sistema

Formato da Instrução

  • Identificação de registradores Código Registradores Código Par de Registradores 000 B 00 BC 001 C 01 DE 010 D 10 HL 011 E 11 SP 100 H 101 L 111 A 110 Reservado **Instrução Código da Instrução
  1. RLC: Rotaciona os bits de A à 00000111 = 07H (RLC)** **esquerda de uma posição (opcode: 8bits)
  2. ADD Reg: Adiciona o conteúdo de 10000 SSS (opcode: 5bits)** **um registrador ao A (operando: 3bits)
  3. ADD B 10000 000 = 80H
  4. MOV C,A 01 001 111 = 4F (opcode: 01)** DDD SSS (operando: 001 111) D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 Opcode DDD SSS

Notações

  • Notações usadas na descrição de instruções
    • R um registrador de 8 bits (A,B,C,D,E,H,L)
    • M registrador de Memória (HL)
    • Rs registrador fonte
    • Rd registrador destino (A,B,C,D,E,H,L)
    • Rp par de registradores (BC, DE, HL, SP)

Ferramentas para Desenvolvimento de Programas em Assembly

  • Assembler/Compilador
    • programa que faz a tradução para linguagem de máquina
      • Assembly / C → Código binário executável
  • Linker
    • Liga os vários arquivos objeto, gerando um único executável
  • Cada μp tem seu próprio Assembler / Compilador

Montagem de Programa 8

  • ASM file – arquivo fonte
  • OBJ file – arquivo binário intermediário (Utilizado como entrada no Linker)
  • HEX file – arquivo executável utilizado para programar o Microcontrolador
  • LST file – arquivo com proposta de documentação: » locações de memória, mnemônicos, comentários _- Obs. No simulador 8085 o arquivo de execução é o OBJ (.o)_* Programa Fonte Asm / C (código fonte) Programa em Código binário (código objeto) montador Programa em Código binário executável (HEX file) Linker Compilador

Arquitetura interna do uP x ULA ACC Temp B (^) C D E H L PC SP Decodificação e Controle Dados Endereços Controle Flags

Arquitetura x

ULA

Instruções x85 – Mover Dados

  • X no mnemônico implica que a instruçao manipula Par de Registradores (16 bits);
  • LXI Load Register Pair with Immediate data
  • LDAX Load Accumulator from Address in Register Pair
  • STAX Store Accumulator in Address in Register Pair
  • XCHG Exchange H & L with D & E
  • XTHL Exchange Top of Stack with H & L

Instruções x85 – Aritmética

  • Soma, Subtração, Incrementa ou Decrementa dados nos Registradores ou Memória.
  • ADD Add to Accumulator
  • ADI Add Immediate Data to Accumulator
  • ADC Add to Accumulator Using Carry Flag
  • ACI Add Immediate data to Accumulator Using Carry
  • SUB Subtract from Accumulator
  • SUI Subtract Immediate Data from Accumulator
  • SBB Subtract from Accumulator Using Borrow (Carry) Flag
  • SBI Subtract Immediate from Accumulator Using Borrow (Carry) Flag
  • INR Increment Specified Byte by One
  • DCR Decrement Specified Byte by One
  • INX Increment Register Pair by One
  • DCX Decrement Register Pair by One
  • DAD Double Register Add; Add Content of Register Pair to H & L Register Pair
  • DAA Decimal Adjust of Acumalator

Instruções x85 – Lógica

  • Compare instructions - Compara o operando com o Acumulador;
    • CMP Compare
    • CPI Compare Using Immediate Data
  • Rotate instructions – Deslocam 1 bit para esquerda ou direita :
  • RLC Rotate Accumulator Left
  • RRC Rotate Accumulator Right
  • RAL Rotate Left Through Carry
  • RAR Rotate Right Through Carry
  • Complemento e Carry:
  • CMA Complement Accumulator
  • CMC Complement Carry Flag
  • STC Set Carry Flag

Instruções x85 – Lógica

  • Salto Incondicional
  • JMP Jump
  • CALL Call
  • RET Return
  • Salto Condicional
  • JNZ Not Zero (Z = 0)
  • JZ Zero (Z = 1)
  • JNC No Carry (C = 0)
  • JC Carry (C = 1)
  • JPO Parity Odd (P = 0)
  • JPE Parity Even (P = 1)
  • JP Plus (S = 0)
  • JM Minus (S = 1)

Instruções x85 – Operações de E/S

  • IN Input Operation
  • OUT Output Operation

Instruções x85 – Operações de Controle

  • EI Enable Interrupt System
  • DI Disable Interrupt System
  • HLT Halt
  • NOP No Operation