PBN - 05 - 1 © Jaime Alberto Parra Plaza CLASE 5 LOS SEGMENTOS.

Slides:



Advertisements
Presentaciones similares
REGISTROS INTERNOS DEL PROCESADOR.
Advertisements

CLASE 4 EL ENSAMBLADOR.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
CLASE 6 TALLER: MACROENSAMBLADOR
Declaración de datos en el segmento de datos.. EXISTEN UN CONJUNTO DE DIRECTIVAS QUE NOS PERMITEN DECLARAR DATOS EN EL SEGMENTO DE DATOS, LAS DIRECTIVAS.
No. Lista 31 Teresita Ramírez Uribe HORA: 8:00-9:00AM.
MODOS DE DIRECCIONAMIENTO
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
SEMANA 9_2.
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
TASM: Ensamblador Se le llama ensamblador no sólo al lenguaje; sino también al programa que traduce el código fuente escrito en ensamblador, a código objeto,
Teoría de lenguajes y compiladores
Arquitectura de Conjunto de Instrucciones (ISA)
INTRODUCCION AL ASSEMBLER 86
Composición Interna de un Procesador
Funciones en lenguaje C

Lenguaje de maquina Unidad II Programación en Lenguaje Ensamblador. Interrupción: Introducción. Servicios. Tema:
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Tema 6: Clases Antonio J. Sierra.
Introducción al NASM The Netwide Assembler MIA J. Rafael Rojano C.
MODOS DE DIRECCIONAMIENTO No. Lista 21 7am Rivas chacón Ana cristina
MODOS DE DIRECCIONAMIENTO
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
MIPS Intermedio.
Introducción al lenguaje ensamblador
MODOS DE DIRECCIONAMIENTO

1 SEMANA 04_2. 2 OPERADORES ARITMETICOS OPERADOR: + FORMATO: VALOR1 + VALOR2 FUNCION : SUMA VALOR1 Y VALOR2 EJEMPLO : TABLA_MAS_2 DW TABLA + 2 ; (DESPLAZAMIENTO.
COMPUTACIÓN I TEMA 6. Pasaje de parámetros por Referencia. Uso de apuntadores Prof. Mireya Morales.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Conceptos Arquitectónicos del computador
Administración de Memoria
PBN © Jaime Alberto Parra Plaza CLASE 9 INSTRUCCIONES ARITMÉTICAS. GENERACIÓN DE EXPRESIONES.
Tema 1: DATOS Y REGISTROS
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
Unidad II Introducción a la programación en C++
Programación en C para electrónicos
MODOS DE DIRECCIONAMIENTO
introducción al Lenguaje Ensamblador
Elementos básicos del lenguaje
MODOS Y METODOS DE DIRECCIONAMIENTO
Modos de Direccionamiento  No. 18  8:00-9:00am  Lenguaje ensamblador.
Administrador de procesos

SEMANA 03_2. ESCRITURA DE PROGRAMAS.COM DE FORMA AUTOMATICA EL ENLAZADOR GENERA UN FORMATO PARTICULAR PARA UN PROGRAMA.EXE. TAMBIEN PUEDE GENERAR UN PROGRAMA.COM.
Términos algoritmo diseñar algoritmo implementar algoritmo
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
SEMANA 01_2.
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
No. De lista: 27 No. De lista: 27 Hora: 8-9 am Hora: 8-9 am Materia: Lenguaje Ensamblador Materia: Lenguaje Ensamblador.
METODOS DE DIRECCIONAMIENTO NO. 12 HORA: 8:00 ENSAMBLADOR MIGUEL ALEJANDRO DAVALOS HUERTA.
No. 26 8:00 a.m. Lenguaje Ensamblador. Segmento de Pila  Model small  stack  Data  Code  mov  mov ds, ax  push ds  …código del programa.
Teoría de lenguajes y compiladores

Práctica Profesional PHP.
Lenguaje de programación c
No. Lista 9 8:00 am-09:00 am LENGUAJE ENSAMBLADOR.
Modos de Direccionamiento No. Lista 31 7 am Lenguaje ensamblador.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Introducción al Lenguaje C y al Visual C++. Lenguaje C El lenguaje C se conoce como un lenguaje compilado. Es un lenguaje estructurado, ya que permite.
JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR.
Lenguaje ensamblador Resumen en diapositivas
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
Page 1 Macroensamblador José Andrés Vázquez Flores Verano 2016 FCC-BUAP.
Estas dos líneas de código permiten al Asm iniciar en Code Segment
MC Beatriz Beltrán Martínez Otoño 2017
Transcripción de la presentación:

PBN © Jaime Alberto Parra Plaza CLASE 5 LOS SEGMENTOS

PBN © Jaime Alberto Parra Plaza PARTES DE UN PROGRAMA EN ENSAMBLADOR: Título Constantes Datos Pila Programa Principal Funciones Final {Opcional} Código

PBN © Jaime Alberto Parra Plaza Título: Es opcional y sólo sirve como referencia para el programador, su sintaxis es: TITLE texto-del-título Constantes: Corresponden al #define de C. constante EQU valor

PBN © Jaime Alberto Parra Plaza nombre SEGMENT [opciones] ; cuerpo del segmento nombre ENDS Las opciones permiten al programador indicarle al ensamblador cómo tratar los diferentes segmentos declarados. DECLARACIÓN DE SEGMENTOS:

PBN © Jaime Alberto Parra Plaza Segmento de Datos: Las variables se declaran indicando el espacio de memoria que ocupan (1 byte, 1 word, 1 double, n bytes, n words): variable tamaño-base valor-inicial

PBN © Jaime Alberto Parra Plaza Tamaño-base: DB = Declarar byte DW = Declarar word DD = Declarar double Valor-Inicial: Constante que se asignará a la variable al empezar el programa. Si no se requiere un valor inicial se coloca el símbolo de interrogación ?

PBN © Jaime Alberto Parra Plaza Se puede reservar un bloque de memoria para una variable usando el campo valor-inicial. Hay dos formas: Explícita Implícita

PBN © Jaime Alberto Parra Plaza Explícita: Se da una lista de valores separados por comas: enteros DB 4, 5, -3, 2, 9 Implícita: Se usa la directiva DUP (duplicar): arregloDB50 DUP (0) matrizDB30 DUP (18 DUP (5)) notasDB40 DUP (3 DUP (0,?))

PBN © Jaime Alberto Parra Plaza Pila: Se usa el formato: STACK SEGMENT PARA STACK DW n DUP (?) STACK ENDS La n se remplaza por una constante, usualmente 100H es adecuado.

PBN © Jaime Alberto Parra Plaza Código: Un programa se compone de un conjunto de funciones (llamadas procedimientos en ensamblador) de las cuales sólo una puede asumir el papel de función principal (llamada main en C.)

PBN © Jaime Alberto Parra Plaza DECLARACIÓN DE UN PROCEDIMIENTO: nombre PROC [opciones] ; cuerpo del procedimiento nombre ENDP

PBN © Jaime Alberto Parra Plaza Las líneas de un archivo fuente pueden contener los siguientes campos: [etiqueta:] opcode [operandos] [; comentarios] Los corchetes indican los campos que son opcionales. El único campo obligatorio es el de opcode (código de operación) que contiene los mnemónicos antes mencionados.

PBN © Jaime Alberto Parra Plaza etiqueta: Es una palabra que equivale a la dirección que ocupará esa línea de instrucción al ubicarse en memoria. El número de bytes que ocupa una línea depende de la instrucción que contenga y puede estar entre 1 y 6 bytes. El ensamblador calcula estos valores y crea una tabla para asignar las direcciones apropiadas a cada etiqueta.

PBN © Jaime Alberto Parra Plaza opcode: Es un mnemónico que representa la instrucción que se ejecutará. Ejemplos: SumaADD MultiplicaciónMUL RestaSUB IncrementoINC Llamar rutinaCALL ComparaciónCMP Salto de instrucciónJMP

PBN © Jaime Alberto Parra Plaza Operandos: Algunas instrucciones requieren dos operandos, otras uno y otras más ningún operando. Ejemplos: OperaciónRepresentación AX AX + BXADD AX, BX Incrementar CXINC CX Buscar en tablaXLAT

PBN © Jaime Alberto Parra Plaza CANTIDAD DE OPERANDOS: 2 operandos: se admiten dos operandos origen o se admiten un operando origen y un operando destino. 1 operando: sólo se requiere un operando o se asume uno de los operandos en un sitio en particular. 0 operandos: no requiere operandos o se asumen los operandos en sitios particulares.

PBN © Jaime Alberto Parra Plaza Comentarios: Éstos son importantes como texto indicativo o explicativo de una instrucción o de una secuencia de instrucciones poco clara. Dado que el ensamblador es por naturaleza críptico, una buena dosis de comentarios es siempre adecuada.

PBN © Jaime Alberto Parra Plaza Se indica con el formato: END nombre nombre se remplaza por el nombre del procedimiento que se tomará como principal. FIN DEL ARCHIVO:

PBN © Jaime Alberto Parra Plaza ASIGNACIÓN DE SEGMENTOS: Para que el sistema puede diferenciar si un segmento es de código, datos o pila se debe hacer a dos niveles: –Implícito para el ensamblador –Explícito para el microprocesador

PBN © Jaime Alberto Parra Plaza DIFERENCIACIÓN DE SEGMENTOS: CÓDIGO: Dentro del segmento vienen procedimientos. DATOS: Dentro del segmento vienen declaraciones que reservan espacio en memoria. PILA: El segmento tiene la opción STACK en su declaración.

PBN © Jaime Alberto Parra Plaza DIRECTIVA ASSUME: Permite explicitarle al ensamblador cuáles segmentos están siendo usados para qué tareas. Su sintaxis es: ASSUMEReg : Seg [, … ] donde Reg es un registro de segmento y Seg es un nombre de segmento.

PBN © Jaime Alberto Parra Plaza PARA EL uP - DATOS: Al comienzo del procedimiento principal deben inicializarse los registros así: MOVAX, NombreSegmento MOVReg, AX Siendo Reg = DS ó ES

PBN © Jaime Alberto Parra Plaza PARA EL uP - CÓDIGO: Al final del archivo, después de la directiva END, se coloca el nombre del procedimiento principal. Con esta información es posible para el ensamblador determinar el valor que debe asignarse al registro IP antes de empezar la ejecución del programa.

PBN © Jaime Alberto Parra Plaza ¿Cuáles son las opciones que pueden especificarse al declarar un segmento y qué utilidad tiene cada una de ellas? PREGUNTA 5:

PBN © Jaime Alberto Parra Plaza