SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
PROGRAMAÇÃO EM LINGUAGEM
MÁQUINA
LCC2 - 2014
 SIMULADORES DO PROCESSADOR 8086:
 TASM – Turbo Assembler da Borland
 MASM – Marco Assembler da Microsoft
 Debug – Ferramenta do MS-DOS
 EMU8086 – Simulador gráfico do 8086
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 2
EMU8086
 VANTAGENS:
 Visualização em modo gráfico
 Memória
 Stack
 ALU;
 FLAGS;
 Variáveis;
 Log Debug;
 Registadores;
 Janela da consola (Emulator Screen);
 ASCII tabela;
 Emulador
 …
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 3
EMU8086
 VANTAGENS:
 Não é necessário saber onde cada instrução está
na memória;
 Utiliza-se uma label para executar as instruções de
desvios;
 Quando ocorre um erro no programa não é
necessário refaze-lo a partir da instrução;
 Pode-se criar variáveis mais facilmente.
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 4
EMU8086
 DESVANTAGENS:
 Alguns comandos ou interrupções não funcionam
corretamente
AH = 8; int 21;
MOV DX , 0100h;
Usar o LEA para registadores de 16 bits
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 5
EMU8086
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 6
#make_COM#
; COM file is loaded at CS:0100h
ORG 100h
mov AH, 09h
LEA DX, mensagem
int 21h
int 20h
mensagem DB 50h, 72h, 6Fh, 66h, 65h, 2Eh, 20h, 4Eh, 6Fh,
62h, 72h, 65h, 21h, 24h
ret
Escreva um programa que retorne na consola o teu
nome. Para tal a variável mensagem deverá receber
os caracteres representado pelo sistema
hexadecimal
EMU8086
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 7
#make_COM#
; COM file is loaded at CS:0100h
ORG 100h
MOV AX, 000Ah
MOV BX, 000Bh
PUSH AX
PUSH BX
CALL procedimento
INC AX
INC BX
CALL procedimento
POP BX
POP AX
INT 20h
procedimento: MOV AX, 0001h
MOV BX, 0002h
INC AX
INC BX
ret
ret
EXERCÍCIO PILHA
EMU8086
 ENDEREÇAMENTO DIRECTO
 O endereço é dado na instrução
Mov ax, var1
 ENDEREÇAMENTO INDIRECTO SOBRE O
REGISTO
 O endereço é lido de um registo base (BX ou BP)
ou index (SI ou DI)
Mov ax, [bx]
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 8
EMU8086
 ENDEREÇAMENTO BASEADO
 O endereço é lido de um registo base (BX ou BP)
ao qual é adicionado o valor indicado na
instrução
Mov ax, [bx+5]
 ENDEREÇAMENTO INDEXADO
 Identico ao anterior mas usando um registo de index
(SI ou DI)
Mov ax, [SI+10]
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 9
EMU8086
 ENDEREÇAMENTO BASEADO INDEXADO
 O endereço é dado pela soma de um registo base
(BX ou BP) com um registo de index (SI ou DI) e
ainda com um valor indicado na instrução
Mov ax, [bx] [si]
Mov ax, tabela[bx] [si]
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 10
EMU8086
 Endereçamento Imediato:
MOV CH, FFh
MOV CH 11111111b
 Endereçamento por Registrador:
MOV BL, CH
 Endereçamento por Deslocamento(Offset):
MOV AX, [00100h]
MOV AX, [BX]
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 11
EMU8086
 Endereçamento de Base Indexada:
MOV AX, [00100h + BX]
MOV AX, [BX + 00100h]
MOV AX, 00100h[BX]
MOV AX, [BX] + 00100h
MOV DX, OFFSET x ;Usando variáveis
29-03-2014Prof. Nobre - Programação e Linguagem Máquina 12
EMU8086
PROGRAMAÇÃO EM LINGUAGEM
MÁQUINA
LCC2 - 2014

Mais conteúdo relacionado

Mais procurados

Apresentacao tic profissionais
Apresentacao tic profissionaisApresentacao tic profissionais
Apresentacao tic profissionais
Vanda Pereira
 
Aula 02 história dos computadores
Aula  02   história dos computadoresAula  02   história dos computadores
Aula 02 história dos computadores
Daniel Moura
 
TransíStor E Sua EvoluçãO
TransíStor E Sua EvoluçãOTransíStor E Sua EvoluçãO
TransíStor E Sua EvoluçãO
bruno roberto
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
Fabio Souza
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
Tácito Graça
 

Mais procurados (17)

Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
Cadeia de Markov em Tempo Contínuo
Cadeia de Markov em Tempo ContínuoCadeia de Markov em Tempo Contínuo
Cadeia de Markov em Tempo Contínuo
 
Apresentacao tic profissionais
Apresentacao tic profissionaisApresentacao tic profissionais
Apresentacao tic profissionais
 
Aula 02 história dos computadores
Aula  02   história dos computadoresAula  02   história dos computadores
Aula 02 história dos computadores
 
Barramentos
Barramentos Barramentos
Barramentos
 
TransíStor E Sua EvoluçãO
TransíStor E Sua EvoluçãOTransíStor E Sua EvoluçãO
TransíStor E Sua EvoluçãO
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
 
Estudos de Controle - Aula 2: Laplace
Estudos de Controle - Aula 2: LaplaceEstudos de Controle - Aula 2: Laplace
Estudos de Controle - Aula 2: Laplace
 
Fonte de alimentação
Fonte de alimentaçãoFonte de alimentação
Fonte de alimentação
 
Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
 
Estudos de Controle - Aula 9: Análise de Resposta Transitória e de Regime Est...
Estudos de Controle - Aula 9: Análise de Resposta Transitória e de Regime Est...Estudos de Controle - Aula 9: Análise de Resposta Transitória e de Regime Est...
Estudos de Controle - Aula 9: Análise de Resposta Transitória e de Regime Est...
 
Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.
 
MANUAL PLACA DIAGNÓSTICO PC ANALYZER PCI USB.pdf
MANUAL PLACA DIAGNÓSTICO PC ANALYZER PCI USB.pdfMANUAL PLACA DIAGNÓSTICO PC ANALYZER PCI USB.pdf
MANUAL PLACA DIAGNÓSTICO PC ANALYZER PCI USB.pdf
 
Webinar: Desenvolvendo projetos com ESP32
Webinar: Desenvolvendo projetos com ESP32Webinar: Desenvolvendo projetos com ESP32
Webinar: Desenvolvendo projetos com ESP32
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de Computadores
 
Aula 17
Aula 17Aula 17
Aula 17
 

Destaque

Aula 4 a linguagem assembly
Aula 4   a linguagem assemblyAula 4   a linguagem assembly
Aula 4 a linguagem assembly
LCCIMETRO
 
Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051
Thiago Oliveira
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introdução
Elaine Cecília Gatto
 
Aula 2 - Assembly - 8051
Aula 2 - Assembly - 8051Aula 2 - Assembly - 8051
Aula 2 - Assembly - 8051
Thiago Oliveira
 
Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programação
LCCIMETRO
 
Aula 1 apresentação - conteudo programático
Aula 1   apresentação - conteudo programáticoAula 1   apresentação - conteudo programático
Aula 1 apresentação - conteudo programático
LCCIMETRO
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadores
LCCIMETRO
 
Aula 4 - Assembly - 8051
Aula 4 - Assembly - 8051Aula 4 - Assembly - 8051
Aula 4 - Assembly - 8051
Thiago Oliveira
 
Aula 3 - Assembly - 8051
Aula 3 - Assembly - 8051Aula 3 - Assembly - 8051
Aula 3 - Assembly - 8051
Thiago Oliveira
 
Aula 5 instrução mov
Aula 5   instrução movAula 5   instrução mov
Aula 5 instrução mov
LCCIMETRO
 
Programming with 8085-Microprocessor and interfacing
Programming with 8085-Microprocessor and interfacingProgramming with 8085-Microprocessor and interfacing
Programming with 8085-Microprocessor and interfacing
Amitabh Shukla
 

Destaque (20)

Arquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyArquitetura de Computadores: Assembly
Arquitetura de Computadores: Assembly
 
Aula 4 a linguagem assembly
Aula 4   a linguagem assemblyAula 4   a linguagem assembly
Aula 4 a linguagem assembly
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
Assembly
AssemblyAssembly
Assembly
 
Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introdução
 
Aula 2 - Assembly - 8051
Aula 2 - Assembly - 8051Aula 2 - Assembly - 8051
Aula 2 - Assembly - 8051
 
Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programação
 
Aula 1 apresentação - conteudo programático
Aula 1   apresentação - conteudo programáticoAula 1   apresentação - conteudo programático
Aula 1 apresentação - conteudo programático
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadores
 
Assembly para pc-25paginas
Assembly para pc-25paginasAssembly para pc-25paginas
Assembly para pc-25paginas
 
Aula 4 - Assembly - 8051
Aula 4 - Assembly - 8051Aula 4 - Assembly - 8051
Aula 4 - Assembly - 8051
 
Aula 3 - Assembly - 8051
Aula 3 - Assembly - 8051Aula 3 - Assembly - 8051
Aula 3 - Assembly - 8051
 
Aula 5 instrução mov
Aula 5   instrução movAula 5   instrução mov
Aula 5 instrução mov
 
A comp exame1 2009 2010 prob11.a)
A comp exame1 2009 2010 prob11.a)A comp exame1 2009 2010 prob11.a)
A comp exame1 2009 2010 prob11.a)
 
Guia de linguagem Assembly para microcontroladores Atmel AVR.
Guia de linguagem Assembly para microcontroladores Atmel AVR.Guia de linguagem Assembly para microcontroladores Atmel AVR.
Guia de linguagem Assembly para microcontroladores Atmel AVR.
 
Resumo assembly x86 16 bits
Resumo assembly x86 16 bitsResumo assembly x86 16 bits
Resumo assembly x86 16 bits
 
Criando um sistema operacional básico
Criando um sistema operacional básicoCriando um sistema operacional básico
Criando um sistema operacional básico
 
Programming with 8085-Microprocessor and interfacing
Programming with 8085-Microprocessor and interfacingProgramming with 8085-Microprocessor and interfacing
Programming with 8085-Microprocessor and interfacing
 
Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02
 

Semelhante a Aula 6 emu8086

Apostila para aprender sobre CPUs e tudo mais
Apostila para aprender sobre CPUs e tudo maisApostila para aprender sobre CPUs e tudo mais
Apostila para aprender sobre CPUs e tudo mais
Gilberto Mota
 
Pic apostila
Pic apostilaPic apostila
Pic apostila
moschen
 

Semelhante a Aula 6 emu8086 (20)

Linguagem Assembly
Linguagem AssemblyLinguagem Assembly
Linguagem Assembly
 
Pic18xx
Pic18xxPic18xx
Pic18xx
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de Computadores
 
Sistemas logicos programaveis
Sistemas logicos programaveisSistemas logicos programaveis
Sistemas logicos programaveis
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladores
 
Oc2 cap03
Oc2 cap03Oc2 cap03
Oc2 cap03
 
Assembly PDFs Eduardo Cj como usar o assembly
Assembly PDFs Eduardo Cj como usar o assemblyAssembly PDFs Eduardo Cj como usar o assembly
Assembly PDFs Eduardo Cj como usar o assembly
 
Compiladores 7
Compiladores 7Compiladores 7
Compiladores 7
 
8085 2
8085 28085 2
8085 2
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Apostila para aprender sobre CPUs e tudo mais
Apostila para aprender sobre CPUs e tudo maisApostila para aprender sobre CPUs e tudo mais
Apostila para aprender sobre CPUs e tudo mais
 
Pic16f628a
Pic16f628aPic16f628a
Pic16f628a
 
Pro2 15p
Pro2 15pPro2 15p
Pro2 15p
 
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORESARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
 
Gerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - CompiladoresGerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - Compiladores
 
Aula 004 noções de hardware
Aula 004   noções de hardwareAula 004   noções de hardware
Aula 004 noções de hardware
 
Roteiro exp9
Roteiro exp9Roteiro exp9
Roteiro exp9
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladores
 
Apostila cpic
Apostila cpicApostila cpic
Apostila cpic
 
Pic apostila
Pic apostilaPic apostila
Pic apostila
 

Aula 6 emu8086

  • 2.  SIMULADORES DO PROCESSADOR 8086:  TASM – Turbo Assembler da Borland  MASM – Marco Assembler da Microsoft  Debug – Ferramenta do MS-DOS  EMU8086 – Simulador gráfico do 8086 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 2 EMU8086
  • 3.  VANTAGENS:  Visualização em modo gráfico  Memória  Stack  ALU;  FLAGS;  Variáveis;  Log Debug;  Registadores;  Janela da consola (Emulator Screen);  ASCII tabela;  Emulador  … 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 3 EMU8086
  • 4.  VANTAGENS:  Não é necessário saber onde cada instrução está na memória;  Utiliza-se uma label para executar as instruções de desvios;  Quando ocorre um erro no programa não é necessário refaze-lo a partir da instrução;  Pode-se criar variáveis mais facilmente. 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 4 EMU8086
  • 5.  DESVANTAGENS:  Alguns comandos ou interrupções não funcionam corretamente AH = 8; int 21; MOV DX , 0100h; Usar o LEA para registadores de 16 bits 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 5 EMU8086
  • 6. 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 6 #make_COM# ; COM file is loaded at CS:0100h ORG 100h mov AH, 09h LEA DX, mensagem int 21h int 20h mensagem DB 50h, 72h, 6Fh, 66h, 65h, 2Eh, 20h, 4Eh, 6Fh, 62h, 72h, 65h, 21h, 24h ret Escreva um programa que retorne na consola o teu nome. Para tal a variável mensagem deverá receber os caracteres representado pelo sistema hexadecimal EMU8086
  • 7. 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 7 #make_COM# ; COM file is loaded at CS:0100h ORG 100h MOV AX, 000Ah MOV BX, 000Bh PUSH AX PUSH BX CALL procedimento INC AX INC BX CALL procedimento POP BX POP AX INT 20h procedimento: MOV AX, 0001h MOV BX, 0002h INC AX INC BX ret ret EXERCÍCIO PILHA EMU8086
  • 8.  ENDEREÇAMENTO DIRECTO  O endereço é dado na instrução Mov ax, var1  ENDEREÇAMENTO INDIRECTO SOBRE O REGISTO  O endereço é lido de um registo base (BX ou BP) ou index (SI ou DI) Mov ax, [bx] 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 8 EMU8086
  • 9.  ENDEREÇAMENTO BASEADO  O endereço é lido de um registo base (BX ou BP) ao qual é adicionado o valor indicado na instrução Mov ax, [bx+5]  ENDEREÇAMENTO INDEXADO  Identico ao anterior mas usando um registo de index (SI ou DI) Mov ax, [SI+10] 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 9 EMU8086
  • 10.  ENDEREÇAMENTO BASEADO INDEXADO  O endereço é dado pela soma de um registo base (BX ou BP) com um registo de index (SI ou DI) e ainda com um valor indicado na instrução Mov ax, [bx] [si] Mov ax, tabela[bx] [si] 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 10 EMU8086
  • 11.  Endereçamento Imediato: MOV CH, FFh MOV CH 11111111b  Endereçamento por Registrador: MOV BL, CH  Endereçamento por Deslocamento(Offset): MOV AX, [00100h] MOV AX, [BX] 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 11 EMU8086
  • 12.  Endereçamento de Base Indexada: MOV AX, [00100h + BX] MOV AX, [BX + 00100h] MOV AX, 00100h[BX] MOV AX, [BX] + 00100h MOV DX, OFFSET x ;Usando variáveis 29-03-2014Prof. Nobre - Programação e Linguagem Máquina 12 EMU8086