Execução de Programas Partes de um programa: ‣ Dados

Slides:



Advertisements
Apresentações semelhantes
Organização e Arquitetura de Computadores I Microarquitetura
Advertisements

Programação de Computadores
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.
Aluno: Wlysses Sebastião Pereira
SOFTWARE BÁSICO.
A Arquitetura: conjunto de instruções
Assembly MAC-1 Implementação de ciclos Ciclo ‘while’ // Em Java : ...
Arquitetura dos Microprocessadores 8086 e 8088
Arquitetura dos Microprocessadores 8086 e 8088 Sistemas Embarcados.
Arquitetura dos Microprocessadores 8086 e 8088
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
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Arquivos Extensíveis.
Introdução à Informática
EEL Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC.
REPRESENTAÇÃO DE INSTRUÇÕES
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)
Implementação da CPU Análise de um computador simplificado Implementação da Unidade de Controle para o computador simplificado.
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.
EEL Microprocessadores
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Unidade Central de Processamento
Unidade Central de Processamento
Unidade Central de Processamento
Funcionamento básico de um computador
Linguagem de Montagem.
Representação de Instruções
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Computador Cleópatra Arquitetura e Programação.
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.
UCP Memória Principal Controladores E/S
Manipulação de informação
Linguagem de Montagem PROVA 4 – 3/12.
ORGANIZAÇÃO DE COMPUTADORES
Prática de Programação Assembly 8086
Professor Mário Dantas
Arquitetura de computadores
Computador Simplificado Conceitos p.ex. FLUXO de execução
Funcionamento básico de um processador de 8 bits
PROGRAMAÇÃO I Dados Tipos de dados Variáveis Constantes Expressões
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Agenda Modos de Endereçamento.
Paradigmas de Programação
Unidade Central De Processamento: Processador
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Arquitetura de Computadores
Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc UPE - POLI
8088 Assembly Software Básico Mitsuo Takaki.
Registradores.
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.
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.
Variáveis e Operadores
Arquitetura de Computadores
O que devem fazer os Microprocessadores ?
Algoritmo e Estrutura de Dados I Aula 2 – Computador Simplificado Márcia Marra
Afonso Ferreira Miguel
Instruções Lógicas e Aritméticas
Linguagem de Programação
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.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
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.
Transcrição da apresentação:

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, cada variável e cada instrução do programa está localizado em algum endereço na memória. O conteúdo da memória onde estão localizados os dados, está mudando constantemente e o local onde estão armazenados os código, permanece sempre com o mesmo conteúdo. A execução do programa é feita instrução por instrução até que a instrução de finalização de programa seja executada.

Utilizando o DEBUG r , mostra o conteúdo dos registradores ou altera o conteúdo de um registrador. -r AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP=0100 NV UP EI PL NZ NA PO NC 0B52:0100 7312 JNB 0114 -r ax AX 0000 :8 -r bx BX 0000 :2 AX=0008 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

Utilizando o DEBUG e - editar um endereço de memória -e 100 0B52:0101 12.d8 -r AX=0008 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP=0100 NV UP EI PL NZ NA PO NC 0B52:0100 01D8 ADD AX,BX

Utilizando o DEBUG t – Execução passo a passo da instrução apontada por IP. -r AX=0008 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP=0100 NV UP EI PL NZ NA PO NC 0B52:0100 01D8 ADD AX,BX -t AX=000A BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP=0102 NV UP EI PL NZ NA PE NC 0B52:0102 2E CS: 0B52:0103 A1AC95 MOV AX,[95AC] CS:95AC=0000

Utilizando o Debug Operação de Soma e Subtração com assembly. ADD AX, BX SUB AX, BX O resultado da Soma do conteúdo de dois registradores é armazenado no primeiro registrador, no exemplo acima ficaria AX = AX + BX O resultado da subtração do conteúdo de dois registradores é armazenado no primeiro registrador, no exemplo acima ficaria AX = AX - BX

Utilizando o DEBUG A operação de Multiplicação utiliza sempre o registrador AX. Mul BX A instrução acima considera que o registrador bx será multiplicado por AX A multiplicação de dois números de 16 bits, poderá gerar um número de 32 bits, desta forma, o resultado da multiplicação é guardado em dois registradores no formato DX:AX, onde parte mais significativa do resultado é armazenado em DX e parte menos significativa é armazenado em AX Exemplo: AX = 7c4b BX = 0100 AX * BX = 7C4B00 RESULTADO FINAL – DX=007C e AX=4B00

Utilizando o DEBUG -r ax AX 0000 :7c4b -r bx BX 0000 :0100 -r AX=7C4B BX=0100 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP=0100 NV UP EI PL NZ NA PO NC 0B52:0100 BB0200 MOV BX,0002 -e 100 0B52:0100 BB.f7 -e 101 0B52:0101 02.e3 0B52:0100 F7E3 MUL BX -t AX=4B00 BX=0100 CX=0000 DX=007C SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP=0102 OV UP EI PL NZ NA PE CY 0B52:0102 00B80300 ADD [BX+SI+0003],BH DS:0103=B8

Utilizando o DEBUG A operação de divisão utiliza um número de 32 bits, desta forma, considera que este número está armazenado no par de registrador DX:AX, onde o DX armazena a parte mais significativa e AX a parte menos significativa Div bx A instrução acima assume que o número contido no par DX:AX será dividido pelo conteúdo do registrado BX. A parte inteira da divisão será armazenado no registrador AX e o resto da divisão será armazenada no registrador DX.