Prática de Programação Assembly 8086

Slides:



Advertisements
Apresentações semelhantes
Parte 1: Organização de Computadores
Advertisements

Parte 1: Organização de Computadores
Modelos de Microprocessadores
WebDesign Redes de Computadores Aula 05
Arquitetura e organização de computadores
Utilizando o DOS -r ip IP 0102 :100 -g 102 A Caracter que foi impresso pelo DOS AX=0241 BX=0000 CX=0000 DX=0041 SP=FFEE BP=0000 SI=0000.
Execução de Programas Partes de um programa: ‣ Dados
SOFTWARE BÁSICO.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 03: Computador.
Arquitetura dos Microprocessadores 8086 e 8088
Arquitetura dos Microprocessadores 8086 e 8088 Sistemas Embarcados.
Arquitetura dos Microprocessadores 8086 e 8088
Assembly Language for Intel-Based Computers, 5th Edition
Execução de Programas Partes de um programa: Dados Código (instruções) Um programa necessita estar carregado em memória RAM para ser executado, sendo assim,
Organização da Memória
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
PROCEDIMENTOS COM RECURSIVIDADE
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Conhecendo Hardware Parte 1
EEL Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC.
REPRESENTAÇÃO DE INSTRUÇÕES
Montador para Intel TASM - Turbo Assembler
Modos de endereçamento
ANEXO-1 : INSTRUÇÕES(ROTINA)
ARQUITETURA DE COMPUTADORES ANEXO-1: INSTRUÇÕES (LOGICAS) AND DE DADOS ENTRE REGISTRADORES REG 0 :AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI,SP,BP,CS, DS,ES,SS.
ANEXO-1: INSTRUÇÕES (MOVIMENTAÇÃO DE DADOS)
LINGUAGEM C X LINGUAGEM ASSEMBLY
ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA SEQUENCIA DE INSTRUÇÕES
Assembly x86.
Autor: Fernando de Mesentier Silva
A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número.
Exercícios Referentes à Prova P2
EEL Microprocessadores
A ULA P RÁTICA - A SSEMBLY Ciro Luiz Araujo Ceissler.
Aula Prática - Assembly
Linguagem de Montagem.
Linguagem de Montagem Vetores.
Representação de Instruções
Classes de Arquiteturas Tipos de operação Codificação das operações
João Ferreira, Dez 2003STRINGS, 1/6 Definição de String String (sentido lato) -> um string é um conjunto de valores (não necessariamente interpretáveis.
Linguagem de Montagem PROVA 4 – 3/12.
ORGANIZAÇÃO DE COMPUTADORES
Interface C / Assembly Modo Real
2 -1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM - Laboratório.
Agenda Modos de Endereçamento.
Ciro Ceissler / ASSEMBLY Ciro Ceissler /
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Arquitetura de Computadores
Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc
Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc
8088 Assembly Software Básico Mitsuo Takaki.
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
Rotinas do BIOS e DOS Serviços de vídeo (INT 10H)
Nível ISA.
Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM Arrays e modos.
2a Aula Pratica Dispositivos Programáveis Roteador 2E-2S e Modularização.
Ciro Ceissler / ASSEMBLY Ciro Ceissler /
Lucas Aranha ASSEMBLY Lucas Aranha
ARQUITETURA DE COMPUTADORES PROGRAMAÇÃO ASSEMBLY NA ARQUITETURA X86
Afonso Ferreira Miguel
Arquitetura do ARM RISC (Reduced Instruction Set Computer) – Conjunto relativamente grande de registradores – Modelo “load/store “de processamento Operações.
Modos de Endereçamento da família MC8051
Ney Laert Vilar Calazans Exemplo de Apresentação de TP1 Descrição Resumida de uma Arquitetura de Processador: o estudo de caso do Intel 8086 ORGANIZAÇÃO.
Arquitetura ARM Subrotinas.  Implementar uma sub-rotina requer dois passos: 1.Armazenar o endereço de retorno. 2.Desviar a execução para o endereço da.
Programação em Assembly Conceitos Iniciais Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Ney Laert Vilar Calazans
Transcrição da apresentação:

Prática de Programação Assembly 8086 Otávio Alcântara

Modelo de Programação AX – Acumulador em operações aritméticas, lógicas, E/S, etc; BX – Base para instruções com vetores de dados; CX – Contador em operações iterativas e repetitivas; DX – Dados utilizados nas operações de multiplicação e divisão; SI – Endereço fonte em instruções de manipulação de vetores; DI – Endereço destino em instruções de manipulação de vetores;

Modelo de Programação Registros de Segmentos CS – Indica o segmento de código; DS – Indica o segmento de dados; ES – Indica o segmento extra de dados; SS – Indica o segmento para a pilha; IP – ponteiro de instruções; SP – ponteiro da pilha; BP – ponteiro para posições de memória; FLAGS – bits de status e controle;

Endereçamento Modo Real Endereça 1 MB de dados Endereço relativo Registrador de segmento + OFFSET CS:IP DS:BX Permite realocação de segmentos

Modos de Endereçamento de Dados Registro – MOV AL, BL Imediato – MOV AL, 28H Direto – MOV [1234], AL Indireto – MOV [BX],CL Base+Index – MV [BX+SI],BP Relativo – MOV CL,[BX+4] Relativo Base + Index – MOV ARRAY[BX+SI], DX

Conjunto de Instruções - Resumo MOV dest, src – MOV AL, BL INT num – INT 21H ADD dest, valor – ADD AL, 10h SUB dest, valor – SUB AL, 2h DEC reg – DEC BX INC reg – INC BX JMP POS – JMP FIM_PROC CALL POS - CALL LER_INT LOOP LABEL – MOV CX, 03H; LOOP M_LABEL; LODSB – carrega um byte da memória LODSW – carrega um word da memória STOSB – salva um byte na memória STOSW – salva um word na memória

Conjunto de Instruções - Resumo CMP AX, BX Comparação sem Sinal JA – Jump AX > BX JAE – Jump AX >= BX JB – Jump AX < BX JBE – Jump AX <= BX JNA – Jump !(AX > BX) JNAE – Jump !(AX >= BX) JNB – Jump !(AX < BX) JNBE – Jump !(AX <= BX) JZ – Mesmo que JE JE – Jump AX == BX

Exemplo de Código - MASM .MODEL SMALL .STACK 100H .DATA Str1 db “HELLO WORLD”,13,10,’$’ .CODE ;atualiza o DS com o segmento que guarda STR1 MOV AX,SEG Str1 MOV DS, AX ;chama a INT 21 para printar a str na tela MOV DX, OFFSET Str1 MOV AH, 09 INT 21H ;encerra o programa MOV AX, 4c00H INT 21 H END

Gerando Executável >> masm.exe /c /l arquivo.asm arquivo.obj arquivo.lst arquivo.crf >> link.exe arquivo.obj Run File [arquivo.exe]: arquivo.exe List File [null.map]: arquivo.map Libraries [.LIB]:

Conclusão Discutimos o modelo de programação do 8086, seus registradores, modos de endereçamento e principais instruções. Referências THE INTEL MICROPROCESSORS – Barry B. Bray, 5 ed. 2000 Tutorial de Assembler de Adam Hyde 1.0 - http://www.geocities.com/rnbastos/prog/asm/