MC Beatriz Beltrán Martínez Otoño 2017

Slides:



Advertisements
Presentaciones similares
REGISTROS INTERNOS DEL PROCESADOR.
Advertisements

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.
INTRODUCCION AL ASSEMBLER 86
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
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.
PBN © Jaime Alberto Parra Plaza CLASE 5 LOS SEGMENTOS.
MODOS Y METODOS DE DIRECCIONAMIENTO
Modos de Direccionamiento  No. 18  8:00-9:00am  Lenguaje ensamblador.

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.
MODOS DE DIRECCIONAMIENTO
Ensamblador y lenguaje ensamblador
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.
No. De Lista: 23 Hora: 8:00 a 9:00 Lenguaje Ensamblador.
No. Lista 9 8:00 am-09:00 am LENGUAJE ENSAMBLADOR.
Modos de Direccionamiento
Modos de Direccionamiento No. Lista 31 7 am Lenguaje ensamblador.
Lenguaje ensamblador Resumen en diapositivas
Campos simples La sintaxis para definir campos en el segmento de datos depende en parte del ensamblador usado, si bien casi siempre guardan.
Arquitectura de PCs Secuencia de compilación de un programa.
Page 1 Macroensamblador José Andrés Vázquez Flores Verano 2016 FCC-BUAP.
ESTRUCTURAS DE DATOS Y ALGORITMOS Samuel Peñaló
PREPARARSE PARA EL CENEVAL SOFTWARE DE BASE Créditos a: Con la ayuda de Francisco Zaragoza (UAM Azcapotzalco) Cargadores, ligadores, etc Trimestre Q9P.
Una estrategia para evitar la sucesiones repetidas de instrucciones convertir la secuencia en un procedimiento e invocarlo cada vez que se necesite.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
Microsoft Office 2007 Introducción a Access. Una base de datos es una colección de información relacionada entre si y almacenada en una o más computadoras.
HTM L (Hyper Text Markup Language). ¿Qué es HTML? Es el lenguaje que permite escribir texto de forma estructurada, y que está compuesto por etiquetas,
TERMINOLOGÍA BÁSICA Informática: conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático y racional de la información,
ROBERTO PINEDA FLORES. ALEXIS JULIAN VELAZQUEZ NAVA.
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
Lenguajes de programación
Tema 4 Elementos para el Desarrollo de Algoritmos
Clase 7 Assembly - Simulador MSX88.
Manejador de interrupción (subrutina)
MC Beatriz Beltrán Martínez Primavera 2016
Tema 6. Conceptos básicos de programación Clase 1
LÓGICA DE PROGRAMACIÓN
Qué son y características generales
Explicación 2 Interrupciones.
Estas dos líneas de código permiten al Asm iniciar en Code Segment
El Lenguaje C: Elementos Básicos
Introducción a las ciencias de la computación Antonio López Jaimes
LENGUAJE C.
Manejo de video y teclado
SOFTWARE.
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
Tipos de Datos abstractos
Fundamentos de la Programación I
Tipos de Datos abstractos
Estructuras de Datos Dinámicas
MC Beatriz Beltrán Martínez Otoño 2017
Símbolos Indice Pág. Direcionamiento Absoluto y Simbólico
MC Beatriz Beltrán Martínez Verano 2018
Informática Ingeniería en Electrónica y Automática Industrial
Macroprocesador.
Informática Ingeniería en Electrónica y Automática Industrial
Lenguaje de Programación II
UNIDAD II Generalidades sobre Algoritmos
Transcripción de la presentación:

MC Beatriz Beltrán Martínez Otoño 2017 Macroensamblador MC Beatriz Beltrán Martínez Otoño 2017

Tipos de Ensambladores Definición: Un ensamblador es un programa que traduce mnemónicos de un procesador a si correspondiente lenguaje de máquina. Por la forma en que trabajan existen dos tipos de ensambladores: Ensambladores de línea. Son aquellos que reciben una sola línea de un programa y la ensambla independientemente del resto del programa. Ejemplo: el comando a del debug. Ensambladores de archivo. Son aquellos que ensamblan todo un programa almacenado en un archivo. MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Tipos de Ensambladores Por el tipo de información que manejan los ensambladores se dividen también en: Ensambladores propios. (Residentes) Ensamblan programas escritos en lenguaje del procesador con el que trabaja la máquina. Ejemplo MASM Ensambladores cruzados. (Crossassembler) Ensamblan programas escritos en lenguaje de un procesador diferente al de la computadora de trabajo, pero no puede ejecutarse. Macroensambladores. Ensambladores propios o cruzados que permiten definición y expansión de MACROS. MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador Facilidades de los ensambladores de archivo. Nos permite definir etiquetas (nombre que nos marca una dirección importante) Nos permite reservar memoria con una etiqueta asignada. Nos permite ensamblar programas almacenados en archivos. Nos permite definir constantes. Nos permite dar números en diferentes bases. Nos permite evaluar expresiones aritméticas. Ejemplo: mov ax, 30+2 MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador MASM Recibe archivos ASCII editados en cualquier editor que contenga programas en lenguaje ensamblador. Tales archivos deben tener extensión ASM y con una forma específica. Algoritmo  Codificación en ensamblador  Editar (archivo.asm)  ensamblar (masm archivo.asm)  código de máquina (archivo.obj)  ligar  archivo ejecutable (archivo.exe)  ejecutar. MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador El archivo objeto no se puede ejecutar porque no tiene la dirección de memoria donde se ejecutará y será ligado. Definición. Una pseudoinstrucción es una instrucción para el programa ensamblador, esto es, que solo se ejecuta en el momento de ensamblar, además no generar código. MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador Pseudoinstrucciones para definir segmentos: SEGMENT: Define el inicio de un nuevo segmento. Su formato es: nombre SEGMENT alineación combinación clase ENDS: Define el final de un segmento. Su formato es: nombre ENDS MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador Los parámetros del SEGMENT son información para el ligador: Alineación: Define la dirección a partir de donde puede colocarse el segmento: PARA: La dirección inicial del segmento es un múltiplo de 16 (10h). PAGE: La dirección inicial del segmento es donde empieza una página (múltiplo de 100h). WORD: La dirección inicial del segmento es una dirección par. BYTE: EL segmento inicia donde sea. MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador Combinación: Define la forma en que el segmento puede combinarse con otros segmentos para que se tenga el mismo nombre y clase. OMITIRLA: Segmento privado, es decir, no puede combinarse. STACK: Segmento para usarse con el stack. PUBLIC: Este segmento puede unirse con todos los segmentos del mismo y la misma clase para formar una sola. COMMON: Todos los segmentos del mismo nombre y clase se colocan a partir de la misma dirección. MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador Cuando se tienen dos segmentos con el mismo nombre y clase y son públicos, al ligar se unen en un solo segmento no importando que estén en archivos distintos. Cuando se usa la psudoinstrucción COMMON van a utilizar el mismo espacio de memoria, si son de diferente tamaño en memoria, se toma el tamaño del mayor bloque. Clase: Indica el tipo de datos que contiene el segmento, siempre se ponen entre comillas y pueden definirse propios. MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador ‘DATA’: Datos. ‘CODE’: Código. ‘STACK’: Pila. Pseudoinstrucciones para reservar memoria y definir constantes: DB: Sirve para reservar un byte en la memoria con un valor determinado. Su formato es: [nombre] DB val1 [, val2, ..., valn] DW: Reserva un dato de dos bytes (una palabra) con un valor inicial. Su formato es: [nombre] DW val1 [, val2, ..., valn] MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador DD: Reserva un dato de cuatro bytes (doble palabra) con un valor inicial. Su formato es: [nombre] DD val1 [, val2, ..., valn] DQ: Reserva un dato de ocho bytes (cuádruple palabra) con un valor inicial. Su formato es: [nombre] DQ val1 [, val2, ..., valn] DT: Reserva un dato de diez bytes con un valor inicial. Su formato es: [nombre] DT val1 [, val2, ..., valn] vali representa una expresión formada por números en cualquiera de las siguientes bases: MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador XXXXb Binaria XXXXo Octal XXXXd Decimal XXXX XXXXh Hexadecimal MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador También pueden ser etiquetas o expresiones aritméticas que involucren etiquetas o bien cadenas de caracteres, entre apóstrofes. EQU: Permite definir constantes. Su formato es: etiq EQU val ORG: Define un desplazamiento inicial para ensamblar las siguientes líneas. Su formato es: ORG val MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador Pseudoinstrucciones para definir procedimientos: PROC: Define el inicio de una subrutina. nombre PROC tipo ENDP: Define el final de una subrutina. nombre ENDP El tipo de la subrutina puede ser: NEAR: Cercano. FAR: Lejano. OMITIRLO: Se define por omisión de tipo NEAR. MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador Un ensamblador de archivo, revisa errores de sintaxis, es decir, revisa que el programa esté bien escrito, más no que funcione. Para poner comentarios dentro del programa se inician con un ‘;’ y todo lo que este a la derecha será un comentario sobre el mismo renglón. La estructura del archivo quedaría: MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador Datos SEGMENT PARA ‘DATA’ ; Definición de variables y constantes Datos ENDS Pila SEGMENT PARA STACK ‘STACK’ DW 100 DUP (0) ; Indica que se tiene que ; repetir la instrucción n-veces con el ; valor que aparece en los paréntesis Pila ENDS MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador Codigo SEGMENT PARA ‘CODE’ ASSUME DS:Datos, CS:Codigo, SS:Pila, ES:NOTHING ; Sirve para indicarle al macroensamblador cuales ; segmentos son usados por los registros subrutina1 PROC ; Código de la rutina uno subrutina1 ENDP … subrutina-n PROC ; Código de la rutina-n subrutina-n ENDP MC Beatriz Beltrán Martínez Ensamblador Otoño 2017

Macroensamblador ; Programa principal Main PROC FAR PUSH DS ; Sirve para cuando se termine el programa regrese XOR AX, AX ; al debug o al sistema operativo según sea el caso. PUSH AX MOV AX, Datos ; Actualiza los registros de segmentos de datos y extra MOV DS, AX MOV ES, AX ; Código del programa principal. Main ENDP Codigo ENDS END Main ; Le indica al macroensamblador que el ensamble terminó MC Beatriz Beltrán Martínez Ensamblador Otoño 2017