Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly:

Documentos relacionados
No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

Arquitetura do 8086/8088

Universidade de São Paulo

Organização de Computadores 1

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

2º Estudo Dirigido CAP 3

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

EEL Microprocessadores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores.

José Augusto Fabri. Assembly Básico

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

Organização Funcional

Capítulo 1 1. UNIDADE DE INTERFACE DE BARRAMENTO

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade

Solução Lista de Exercícios Processadores

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

Estrutura Básica de um Computador

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

7. A pilha e subrotinas

Microprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS -

Aula 10 Processadores de Propósito Geral

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

2. A influência do tamanho da palavra

Nível da Arquitetura do Conjunto das Instruções

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

2. A influência do tamanho da palavra

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

Sistemas de Computação

SSC510 Arquitetura de Computadores 1ª AULA

A linguagem ASSEMBLY

Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são:

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

Sistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly

Prof. Adilson Gonzaga

Arquitetura de Computadores. Ciclo de Busca e Execução

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

Linguagem de Montagem e Assembly. André Luiz da Costa Carvalho

Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 3

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Microcontrolador 8051

2 - Processadores. CEFET-RS Curso de Eletrônica. Organização de Computadores. Profs. Roberta Nobre & Sandro Silva

Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético

Disciplina: Arquitetura de Computadores

MÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02

Professor: Dr. Rogério Rodrigues de Vargas.

14/3/2016. Prof. Evandro L. L. Rodrigues

Prof. Leonardo Augusto Casillo

Organização de Computadores

Organização de Memórias

Processador. Processador

Arquitectura de Computadores

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

OTermo Assembly significa montagem, ou seja, linguagem

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Memória. Função: armazenamento de dados e instruções h FFFF FFFE h FFFF FFFF h byte.

Controladores do IBM-PC. Gustavo G. Parma

Revisão: Modo Real, pt 2 Interrupções

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

Arquitetura e Organização de Computadores

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

Microcontrolador 8051:

Sistemas de Computação. Seção Notas. Endereçamento de Memória. Notas. Oitava Aula. Haroldo Gambini Santos. 3 de setembro de 2009.

Sistemas Operacionais I

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores

Elementos Físicos do SC e a Classificação de Arquiteturas

Sistemas Operacionais I

Introdução à Informática Engenharia Agrícola

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina)

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:

Arquitetura e Organização de Computadores

x86 arquitetura e instruções básicas

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Arquitetura e Organização de Computadores

Interrupção. Prof. Adilson Gonzaga

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

Universidade de São Paulo

Símbolos e abreviaturas utilizadas na descrição das instruções

Microprocessadores. Família x86 - Programação do i8086

Programação de Microcontroladores II

Organização e Projeto de Computadores

II Componentes de um computador

Unidade Central de Processamento 2. Registradores

Universidade de São Paulo

Transcrição:

FATEC-SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 1 Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly: ADD SUB MOV MUL INC DEC CMP JMP (Instrução JUMP e suas variações condicionais: JE, JZ, JAE, JNZ ) LOOP XOR OR AND SHL SHR OFFSET POP PUSH CLI STI CLD STD CALL INT RET IRET

FATEC-SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG.2 ARQUITETURA DA CPU 8086 DA INTEL ESTE MICROPROCESSADOR POSSUI DOIS CHIP, QUE TRABALHAM ASSÍNCRONAMENTE.: PROCESSADORES NO MESMO ESQUEMA DO PROCESSADOR:

FATEC - SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 3 A BIU: BIU - UNID. DE INTERFACE DE BARRAMENTO ( BUS INTERFACE UNIT) EU - UNIDADE DE EXECUÇÃO PROPORCIONA A COMUNICAÇÃO COM O AMBIENTE EXTERIOR À CPU, ATRAVÉS DE 16 LINHAS DE DADOS BIDIRECIONAIS E DE 20 LINHAS DE ENDEREÇAMENTO, FUNÇÕES : - BUSCA DA INSTRUÇÃO - ARRANJO SEQÜENCIAL DAS INSTRUÇÕES NO REG. DE FILA - BUSCA E ARMAZENAMENTO DOS OPERANDOS - REALOCAÇÃO DE ENDEREÇOS - CONTROLE DO BARRAMENTO PARA ISSO POSSUI UM CONJUNTO DE REGISTRADORES DE SEGMENTOS, DE COMUNICAÇÃO INTERNA, INDICADOR DE INSTRUÇÕES (IP), REGISTRO DE FILA, SOMADOR DE ENDEREÇOS E LÓGICA DE CONTROLE DE BARRAMENTO. QUANDO OCIOSA A BIU REALIZA PRÉ-BUSCA DE INSTRUÇÕES NA MEMÓRIA, ARMAZENANDO-AS NO REGISTRO DE FILA. A EU: REALIZA A EXECUÇÃO DAS INSTRUÇÕES PROPRIAMENTE DITA. FUNÇÕES : - BUSCA DAS INSTRUÇÕES NO REG. DE FILA DA BIU - DECODIFICAÇÃO DA INSTRUÇÃO - GERA ENDEREÇOS DE OPERANDOS À BIU - REQUISITA LEITURA OU GRAVAÇÃO NA MEMÓRIA/PERIF. - PROCESSA A OPERAÇÃO ESPECIFICADA PELA INSTRUÇÃO - ALTERA OS SINALIZADORES DE ESTADO, CONFORME O RESULTADO DA INSTRUÇÃO. PARA REALIZAR ESSAS FUNÇÕES, É COMPOSTA POR: ULA, REGISTRADOR DE FLAGS DE ESTADO E CONTROLE (SINALIZADORES), OITO REGISTRADORES GERAIS, REGISTRADORES TEMPORÁRIOS E LÓGICA DE CONTROLE DE FILA.

FATEC SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG.4 OS REGISTRADORES DO 8086 POSSUI 14 REGISTRADORES, COM 16 BITS CADA, DIVIDIDOS EM 4 GRUPOS : 1 - REGISTRADORES GERAIS 2 - REGISTRADORES DE SEGMENTO 3 - REGISTRADORES PONTEIROS E ÍNDICES 4 - REGISTRADORES PONTEIROS DE INSTRUÇÕES E DE ESTADO 1) REGISTRADORES GERAIS: SÃO OS REGISTRADORES AX, BX, CX e DX QUE PODEM SER USADOS COMO 2 REGISTRADORES DE 8 BITS CADA. AX AH AL BX BH BL CX CH CL DX DH DL bits 15 8 7 EXEMPLO DE UTILIZAÇÃO: AX : ACUMULADOR (OPERAÇÕES ARITMÉTICAS), CONTER CÓDIGO DE SERVIÇOS. BX : BASE DO ENDEREÇO DE MATRIZ CX : CONTADOR (LOOPING) DX: DADOS, RESTO DE DIVISÃO, DESLOCAMENTOS NO SEGTO. DE DADOS, ENDER. PORTA DE SAÍDA.

FATEC SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG.5 2) REGISTRADORES DE SEGMENTO : UM PROGRAMA EM SISTEMAS QUE UTILIZAM O PROCESSADOR 8086 PODE ALOCAR ATÉ 4 BLOCOS DE MEMÓRIA, CHAMADOS SEGMENTOS, CUJOS ENDEREÇOS INICIAIS SÃO ARMAZENADOS NOS REGISTRADORES DE SEGMENTO CORRESPONDENTES: CS, DS, ES, e SS. 2.1) SEGMENTO DE CÓDIGO UTILIZADO PARA ARMAZENAR AS INSTRUÇÕES DO PROGRAMA. ESTE SEGMENTO TEM SEU ENDEREÇO INICIAL NO REGISTRADOR CS. DESLOCAMENTOS DENTRO DO SEGMENTO DE CÓDIGO SÃO ARMAZENADOS NO REGISTRADOR IP (INSTRUCTION POINTER), CUJO VALOR É AUTOMATICAMENTE MODIFICADO PELO SISTEMA. 2.2) SEGMENTO DE DADOS UTILIZADO PARA ARMAZENAR OS DADOS UTILIZADOS PELO PROGRAMA. SEU ENDEREÇO INICIAL É ARMAZENADO NO REGISTRADOR DS. DESLOCAMENTOS NO SEGMENTO DE DADOS SÃO AR MAZENADOS NOS REGISTRADORES SI (SOURCE INDEX) E DI (DESTINATION INDEX), OU OUTROS. 2.3) SEGMENTO EXTRA É UTILIZADO COMO SEGMENTO EXTRA DE DADOS. SEU ENDEREÇO INICIAL É ARMAZENADO NO REGISTRADOR ES. DESLOCAMENTOS ARMAZENADOS EM DI. 2.4) SEGMENTO DE PILHA UTILIZADO PARA PERMITIR QUE UM PROGRAMA EM EXECUÇÃO CHAME OUTRO PROGRAMA E RETOME A EXECUÇÃO NO PONTO EM QUE PAROU, QUANDO RECEBER NOVAMENTE O CONTROLE. OS DADOS NO SEGMENTO DE PILHA SÃO ACESSADOS PELA TÉCNICA L.I.F.O. O ENDEREÇO INICIAL DO SEGMENTO DE PILHA É ARMAZENADO NO REGISTRADOR SS. DESLOCAMENTOS NO SEGMENTO DE PILHA SÃO ARMAZENADOS EM SP (STACK POINTER) E BP (BASE POINTER). O VALOR DE SP É AUTOMATICAMENTE MODIFICADO PELO SISTEMA QUANDO SE INSERE OU RETIRA DADOS DA PILHA.

FATEC SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG.6 EXERCÍCIOS: 1. SOLICITE OS SERVIÇOS ABAIXO DO SISTEMA OPERACIONAL, ATRAVÉS DA INTERRUPÇÃO 21h. A) SERVIÇO 2B : "SET DATE". AH = 2Bh CX = ANO (ENTRE 1980 E 2099) DH = MÊS (ENTRE 01 E 12) DL = DIA (ENTRE 01 E 31) B) SERVIÇO 02 (CHARACTER OUTPUT) AH = 02 DL = CARACTER A EXIBIR (8 BITS) C) SERVIÇO 09 (DISPLAY STRING) AH = 09 DS:DX = BASE:DESLOC. DO INÍCIO DO STRING (TERMINA C/ $) D) SERVÇO 39h (CREATE SUB-DIRECTORY) AH = 39h DS:DX = BASE:DESLOC. DO PATH/NOME DO SUB-DIRETÓRIO (TERMINA C/ 00h) E) SERVIÇO 3Ah (DELETE SUB-DIRECTORY) AH = 3 Ah DS:DX = BASE:DESLOC. DO PATH/NOME DO SUB-DIRETÓRIO (TERMINA Cl 00h) 2. EXECUTE O MANIPULADOR DA INT 10h (BIOS), SERVIÇO 0B E SUB-FUNÇÃO 00 (DETERMINA A COR DA BORDA DO VÍDEO) AH = 0Bh BH = 00 BL = CÓDIGO DA COR

FATEC SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 7 ESQUEMA DE UM PROGRAMA NA MEMÓRIA ENDEREÇAMENTO PADRÃO USADO PELO S. O. PARA PROGRAMAS EXE, CARREGADOS NA MEMÓRIA PARA EXECUÇÃO: SE NÃO HOUVER O SEGMENTO DE PILHA, O VALOR DE SS É IGUAL AO DE CS E SP É ZERO. O POSICIONAMENTO (ENDEREÇOS) DOS REGISTRADORES DS E ES ABAIXO DECORREM DE INSTRUÇÕES NO PRÓPRIO PROGRAMA, QUE INDICAM O PONTO DO PROGRAMA QUE DEVEM ENDEREÇAR.

FATEC SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG.8 COMO O TAMANHO DOS REGISTRADORES É 16 BITS E O TAMANHO DO BARRAMENTO DE ENDEREÇOS (ENDEREÇO FÍSICO) É 20 BITS, UM PROGRAMA SEMPRE É CARREGADO EM ENDEREÇO DE PARÁGRAFO, POSSIBILITANDO TRUNCAR O DÍGITO (4 BITS) MAIS À DIREITA, E RECUPERÁ- LO NO MOMENTO DA FORMAÇÃO DO ENDEREÇO FÍSICO. OS SEGMENTOS NÃO SÃO NECESSARIAMENTE SEPARADOS, PODENDO OCORRER SOBREPOSIÇÃO. OS ENDEREÇOS CONTIDOS NOS REGISTRADORES DE SEGMENTO, SÃO A CRESCIDOS DE 4 BITS PARA TORNAR O ENDEREÇO FÍSICO RESULTANTE COM 20 BITS, O QUE PERMITE ENDEREÇAR UM TOTAL DE 1MB DE MEMÓRIA RAM. O ENDEREÇO FÍSICO DE MEMÓRIA APONTADO PELA CPU É FORMADO A PARTIR DO ENDEREÇO LÓGICO ( VALORES DOS REGISTRADORES DE SEGMENTO (BASE) E DOS REGISTRADORES PONTEIROS/ÍNDICES (DESLOCAMENTO) ASSOCIADOS AO SEGMENTO. ENDEREÇO FÍSICO = BASE * 10H + DESLOCAMENTO. base desloc ENDEREÇO LÓGICO(l 6 BITS): 7000 : 0123 ENDEREÇO FÍSICO : 70123 O TAMANHO MÁXIMO DE UM SEGMENTO, UTILIZANDO REGISTRADORES DE DESLOCAMENTO DE 16 BITS, É 64 KB. 3) REGISTRADORES PONTEIROS E ÍNDICES OS PONTEIROS SP e BP SÃO UTILIZADOS PARA ARMAZENAR DESLOCAMENTOS NO SEGMENTO DE PILHA E OS REGISTRADORES ÍNDICES SI e DI PARA ARMAZENAR DESLOCAMENTOS NOS SEGMENTOS DE DADOS. SP - (STACK POINTER) PONTEIRO DE PILHA, APONTA PARA A POSIÇÃO DO TOPO DA PILHA, SENDO SEU VALOR AUTOMATICAMENTE MODIFICADO QUANDO INSERIMOS (PUSH) OU RETIRAMOS (POP) DADOS DA PILHA. BP - (BASE POINTER) PONTEIRO BASE, UTILIZADO PARA ACESSO DIRETO A ALGUMA POSIÇÃO DA PILHA (PASSAGEM DE PARÂMETROS ENTRE PROGRAMAS)

FATEC - SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. EXEMPLO DE FUNCIONAMENTO DA PILHA A) CONFIGURAÇÃO INICIAL DA PILHA B) CONFIGURAÇÃO APÓS COLOCAR O VALOR A01F NA PILHA (PUSH)

FATEC-SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 10 C) CONFIGURAÇÃO APÓS "RETIRADA" DE A01F DA PILHA CRESCIMENTO DA PILHA. SE A PILHA OCUPAR UM SEGMENTO DE MEMÓRIA, QUAIS VALORES DE SP INDICAM PILHA CHEIA E VAZIA? OBSERVE QUE OS VALORES NUMÉRICOS SÃO ARMAZENADOS COM AS POSIÇÕES MAIS SIGNIFICATIVAS DO NÚMERO NOS ENDEREÇOS MAIORES E AS MENOS SIGNIFICATIVAS NOS ENDEREÇOS MENORES. SI - UTILIZADO COMO "ÍNDICE FONTE" QUE CONTÉM O DESLOCAMENTO DO OPERANDO FONTE NO SEGMENTO DE DADOS. DI - UTILIZADO COMO "ÍNDICE DE DESTINO" QUE CONTÉM O DESLOCAMENTO DO OPERANDO DESTINO NO SEGMENTO DE DADOS.

FATEC - SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 11 4) REGISTRADORES PONTEIRO DE INSTRUÇÃO (IP) E DE ESTADO (FLAGS) IP - INSTRUCTION POINTER, UTILIZADO PARA CONTER O DESLOCAMENTO, NO SEGMENTO DE CÓDIGO, DA PRÓXIMA INSTRUÇÃO A SER EXECUTADA. REGISTRADOR DE FLAGS : REGISTRADOR DE 16 BITS, NOVE DOS QUAIS SÃO USADOS PARA INDICAR VÁRIAS CONDIÇÕES DURANTE A EXECUÇÃO DE UM PROGRAMA. OS BITS 0,2,4, 6,7 e 11 SÃO USADOS COMO FLAGS DE ESTADO QUE DENOTAM RESULTADOS DE OPERAÇÕES NO PROGRAMA. OS BITS 8 A 10 CONTÉM FLAGS DE CONTROLE E OS BITS 1,3,5 e 12 A 15 NÃO SÃO USADOS. 11 10 9 8 7 6 5 4 3 2 1 0 o D I T S Z A P c T = TRAP: MODO PASSO A PASSO I = INTERRUPT-ENABLE : DESABILITA INTERRUPÇÕES MASCARÁVEIS. D = DIREÇÃO: 0: INCREMENTA SI/DI; 1: DECREMENTA SI/DI Z = ZERO: 1 SE OS OPERANDOS FOREM IGUAIS, 0 SE FOREM DIFERENTES C = CARRY: 1 SE RESULT. > 16 BITS OU NÚMERO NEGATIVO NA SUBTRAÇÃO NA COMPAR: 2 a > I o., ZERO SE 2 o. <= I o. A= AUXILIAR: IGUAL CARRY, PARA 8 BITS. P= PARIDADE: 1 SE RESULT. DE OPERAÇÃO GERAR QTDE PAR DE BITS. S=SINAL: 1 SE RESULTADO FOR NEGATIVO, 0 SE POSITIVO. O=OVERFLOW: ESTOURO.

FATEC-SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 12 POSIÇÕES DE MEMÓRIA RESERVADAS AO PROCESSADOR. PARA O FUNCIONAMENTO DOS PROCESSADORES DA FAMÍLIA 8086 ALGUMAS POSIÇÕES DE MEMÓRIA SÃO RESERVADAS PARA USO ESPECÍFICO DA CPU. OS ENDEREÇOS DE FFFFO H ATÉ FFFFF H (ROM) SÃO RESERVADOS PARA CONTER UM 'JUMP' PARA A ROTINA DE 'INITIAL PROGRAM LOADING' (BOOT), QUE É EXECUTADA SEMPRE QUE O SISTEMA É LIGADO (POWER ON) OU FOR PRESSIONADA A TECLA 'RESET'. OS ENDEREÇOS 00000 H ATÉ 003FF H (TABELA DE VETORES DE INTERRUPÇÕES - TVI) SÃO RESERVADOS AO ATENDIMENTO DAS 256 POSSÍVEIS INTERRUPÇÕES DIRECIONADAS AO PROCESSADOR, NUMERADAS DE 00H a FFH. A TABELA DE VETORES DE INTERRUPÇÕES É DIVIDIDA EM 256 ENTRADAS DE 4 BYTES CADA: 2 BYTES PARA A BASE E 2 BYTES PARA O DESLOCAMENTO A PARTIR DA BASE ESSES 2 VALORES FORMAM O ENDEREÇO LÓGICO DO MANIPULADOR DA INTERRUPÇÃO NA MEMÓRIA

FATEC - SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 13 INTERRUPÇÕES: O TRABALHO EXECUTADO PELO NÚCLEO DE UM S. O. MULTIUSUÁRIO PODE SER REPRESENTADO EM UNIDADES FUNCIONAIS : INTERPRETADOR DE INTERRUPÇÕES : RECEBE O CONTROLE QUANDO UMA INTERRUPÇÃO (GERADA PELA CHAMADA AO SISTEMA - SYSTEM CALL) INDICA A SOLICITAÇÃO DE SERVIÇOS AO SISTEMA OPERACIONAL. APÓS EXECUTAR A TAREFA SOLICITADA O CONTROLE RETORNA AO PROGRAMA QUE ESTAVA EM EXECUÇÃO, ANTES DA SOLICITAÇÃO DE NTERRUPÇÃO. INTERRUPÇÃO: É UM SINAL ENVIADO PARA A UCP, INDICANDO QUE ALGUMA TAREFA DEVE SER EXECUTADA, PODENDO SER GERADA POR HARDWARE OU POR SOFTWARE. AS INTERRUPÇÕES POR HARDWARE SÃO CLASSIFICADAS EM: INTERNAS - DIRECIONADAS DIRETAMENTE À UCP EXTERNAS - GERADAS POR CONTROLADORAS DE PERIFÉRICOS E CANALIZADAS À UCP PELO PIC MASCARÁVEIS - PODEM SER DESABILITADAS NÃO MASC. GERADAS POR EVENTOS GRAVES (PARIDADE, FALTA DE ENERGIA) AS INTERRUPÇÕES POR SOFTWARE ESTÃO CONTIDAS NO CÓDIGO DO PROGRAMA QUE AS GERA.

FATEC SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 14 EX: INT 21 (DOS / WIN) A ROTINA (MANIPULADOR DE INTERRUPÇÃO - INTERRUPT HANDLER) A SER ATIVADA É IDENTIFICADA A PARTIR DO NÚMERO DA INTERRUPÇÃO, QUE NOS PCs SÃO NUMERADAS DE 00h A FFh (256 INTERRUPÇÕES). NA MAIORIA DOS SISTEMAS MODERNOS, O DESVIO PARA A ROTINA MANIPULADORA DA INTERRUPÇÃO É FEITO A PARTIR DE UMA TABELA DE VETORES DE INTERRUPÇÕES QUE CONTÉM O ENDEREÇO LÓGICO DE MEMÓRIA ONDE SE ENCONTRA O MANIPULADOR. NESSE CASO, O NÚMERO DA ÍNTERRUPÇÃO SERVE COMO ÍNDICE PARA LOCALIZAR A ENTRADA DA TABELA QUE CONTÉM O ENDEREÇO DO MANIPULADOR. MANIPULADORES DE INTERRUPÇÕES: OS MANIPULADORES DE INTERRUPÇÕES SÃO ROTINAS PERTENCENTES AO BIOS (ROM), AO SISTEMA OPERACIONAL (RAM), OU DESENVOLVIDAS PELOS USUÁRIOS (RAM). TEM COMO CARACTERÍSTICAS: DEVOLVER OS REGISTRADORES COM OS MESMOS VALORES QUE RECEBEU; EM AMBIENTE MONOTAREFA NÃO DEVE CHAMAR O SISTEMA OPERACIONAL, DEVENDO INTERAGIR DIRETAMENTE COM O BIOS; COLOCAR O ENDEREÇO LÓGICO DE MEMÓRIA, ONDE FOI CARREGADO, NA TVI; TEMTNAR COM A INSTRUÇÃO IRET; RESERVAR A QTDE DE RAM QUE NECESSITA EM NÚMEROS DE PARÁGRAFOS. A INTERAÇÃO COM O HARDWARE, PARA UM APLICATIVO QUALQUER. PODE SER REPRESENTADA COMO ABAIXO:

FATEC-SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 15 PROCESSO DE TRATAMENTO: QUANDO RECEBE UMA INTERRUPÇÃO A CPU : 1) DESABILITA O SISTEMA DE INTERRUPÇÕES 2) SALVA O CONTEÚDO DOS REGISTRADORES CS, IP e FLAGS NA PILHA. 3) CALCULA A POSIÇÃO DA ENTRADA NA TVI, QUE CONTÉM O ENDEREÇO DO MANIPULADOR DA INT (O NR. DA INT MULTIPLICADO POR 4, APONTA PARA O PRIMEIRO BYTE DA ENTRADA NA TVI) 4) CARREGA CS E IP COM O ENDEREÇO DO MANIPULADOR. 5) DESVIA PARA O ENDEREÇO DO MANIPULADOR. 6) QUANDO RETOMA O CONTROLE NOVAMENTE, RESTAURA OS VALORES SALVOS NA PILHA E RETOMA O TRABALHO INTERROMPIDO. EXERCÍCIOS: 1) UTILIZANDO O COMANDO G= DO DEBUG ACIONE O MANIPULADOR DA INT 19h. 2) ALTERE A TABELA DE VETORES DE INTERRUPÇÕES PARA: A) EXECUTAR O MANIPULADOR DA INT. 19h QUANDO FOR PRESSIONADA A TECLA "PRINT SCREEN" (INT 05h). B) EXECUTAR O ENDEREÇO DE RESET (FFFFOh) QUANDO FOR PRESSIONADA A TECLA "PRINT SCREEN" (INT 05h).

FATEC - SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional HISTÓRICO DOS MICROPROCESSADORES DA INTEL 8086 (JUN/78) REGISTRADORES BARRA DE DADOS BARRA DE ENDEREÇOS 16 BITS 16 BITS 20 BITS 8088 (FEV/79) REGISTRADORES BARRA DE DADOS BARRA DE ENDEREÇOS 16 BITS 8 BITS = 20 BITS 80186 E 80188 (MAR/82) MESMA ARQUITETURA DOS ANTERIORES NOVAS INSTRUÇÕES 80286 (FEV/82) REGISTRADORES = 16 BITS BARRA DE DADOS = 16 BITS BARRA DE ENDEREÇOS = 24 BITS MODO REAL E MODO PROTEGIDO 80386 DX (OUT/85) REGISTRADORES = 32 BITS BARRA DE DADOS = 32 BITS BARRA DE ENDEREÇOS = 32 BITS MODO REAL E MODO PROTEGIDO 80386 SX (JUN/88) REGISTRADORES = 32 BITS BARRA DE DADOS = 16 BITS BARRA DE ENDEREÇOS = 32 BITS MODO REAL E MODO PROTEGIDO 80486 DX(ABR/89) REGISTRADORES = 32 BITS BARRA DE DADOS = 32 BITS BARRA DE ENDEREÇOS = 32 BITS CACHE DE MEMÓRIA EMBUTIDO NO PROCESSADOR

FATEC SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 17 CO-ROCESSADOR ARITMÉTICO 80486 SX (ABR/89) EXCLUI O CO-PROCESSADOR ARITMÉTICO PENTIUM (1992) REGISTRADORES BARRA DE DADOS BARRA DE ENDEREÇOS = 32 BITS = 64 BITS = 32 BITS MODO REAL X MODO PROTEGIDO MODO REAL : NESSE MODO DE ENDEREÇAMENTO, O ENDEREÇO REAL RESULTA DIRETAMENTE OS VALORES CONTIDOS NOS REGISTRADORES. MODO PROTEGIDO: O VALOR CONTIDO NO REGISTRADOR DE SEGMENTO (ENDEREÇO BASE) APONTA PARA UMA TABELA, CONTROLADA PELO HARDWARE OU S. O., QUE CONTÉM A BASE QUE FORMARÁ, JUNTAMENTE COM O VALOR DE DESLOCAMENTO, O ENDEREÇO FÍSICO. Ex.:

FATEC - SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 18 PROGRAMA DEBUG: Principais comandos : D = Dump : lista posições de memória Ex.: 1) D 100:0 lista 128 bytes de memória, iniciando em 100:0 2) D CS:0 L B lista "b" bytes de memória, iniciando em CS:0 E = Enter : insere valores Hexa, nas posições de memória especificadas. Ex.: E 10:A EB 90 Insere EB90 na memória, iniciando em!0:a G= = Go : Executa a partir do endereço especificado. Ex.: G=43:20 Executa o conteúdo da posição 43:20 L = Load : carrega arquivos ou setores físicos do disco para a memória. Ex.: 1) L 100 Carrega arquivo especificado pelo comando N no deslocamento 100. 2) L 0 15 7 Carrega, no deslocamento 0 do segmento apontado por DS, da unidade b: (1), iniciando no setor 5, 7 setores. N = Name : Nomeia arquivo (posterior carga) Ex.: N arquivo.txt Aponta para arqxiivo.txt R = Register : Apresenta o conteúdo dos registradores. Ex.: 1) R Mostra o conteúdo dos registradores. 2) R CS Mostra conteúdo de CS e aguarda modificação. U = Unassemble : Desmonta programa executável Ex.: 1) U 100 Lista as instruções (32 bytes), partindo de CS:100 2) U 100 110 IdemdeCS:100 a CS:110 3) U100L9 Idem 9 bytes a partir de CS:100 W= Write : grava arquivo ou setores físicos no disco. Ex.: 1) W Grava arq. nomeado, coloca tamanho em BX:CX 2) W 80 1 5 7 Grava 7 setores (iniciando no 5) para o drive b:, do endereço CS:80