You are on page 1of 2

UNIVERSIDAD AUTONOMA DEL CARIBE FACULTAD DE INGENIERIA

Ciencia para el progreso

PROGRAMACION DE BAJO NIVEL PROFESOR ADALBERTO ALVAREZ

PROGRAMA DE ING DE SISTEMAS 2006-02

TEMA: ESTRUCTURA DE UN PROGRAMA ASSEMBLER


El siguiente listado se utilizar para mostrar las diferentes partes. .COMMENT ************************************************************************* PRIMERO.ASM Ejemplo de un programa en lenguaje ensamblador. Adalberto Alvarez. Ensamblado con Turboassembler ========================================================================= ************************************************************************* .MODEL SMALL ; Modelo de memoria para el programa .DATA ; Declaracin de variables Mensaje db 'Mi primer programa',10,13,'$' .CODE INICIO: mov ax,@data mov ds,ax mov dx,OFFSET Mensaje mov ah,9 int 21h mov ah,4ch int 21h END INICIO END ; Cuerpo del programa ; Punto de entrada al programa ; Carga direccion del segmento de datos ; asigna direccion al registro de segmento ; Direccin de la cadena de texto ; Funcin para imprimir cadenas ; Llamada al sistema operativo ; Funcin para terminar un programa ; Llamada al sistema operativo ; Fin del bloque principal del programa

Un programa en lenguaje ensamblador se compone de las siguientes partes: rea de comentarios Definicin del modelo de memoria rea de datos Cuerpo del programa MODELOS DE MEMORIA Los modelos de memoria dependen del nmero de segmentos de datos que utilicen: MODELO MEMORIA Numero de Seg, Datos Num. Segmentos de Codigo TYNY * * SMALL 1 1 MEDIUM 1 Mas de uno COMPACT Mas de uno 1 LARGE Mas de uno Mas de uno * Es el mismo segmento

Programa de Ing. de Sistemas UAC.

UNIVERSIDAD AUTONOMA DEL CARIBE FACULTAD DE INGENIERIA


Ciencia para el progreso

PROGRAMACION DE BAJO NIVEL PROFESOR ADALBERTO ALVAREZ

PROGRAMA DE ING DE SISTEMAS 2006-02

TIPOS DE DATOS En el .DATA se definen las variables y constantes a utilizar en el programa, por ejemplo: .DATA ; AREA DE DEFINICION DE DATOS VAR1 DB 10 ; Define una variable VAR1 de tamao un Byte y valor uinicial 10 VAR2 DW 10 ; Define una variable de 2 Byte (una palabra) VAR3 DD 10 ;Define una variable de 4 Byte (doble palabra) N EQU 10 ;Define una constante N con valor 10 TABLA DB 2,3,4,5,6 ;Define un vector de 5 elementos cuyos valores son: 2,3,4,5,6 de tamao un byte TABLA DW 2,3,4,5,6 ;Define un vector cuyos elementos ocupan 2 byte TABLA DB 20 Dup(0) ;Define un vector con 20 elementos de tamao un byte, inicializados en cero

.CODE ; CONTIENE EL CUERPO DEL PROGRAMA Las siguientes instrucciones son de uso obligatorio para el inicio y el fin del programa respectivamente. mov ax,@data mov ds,ax mov ah,4ch int 21h ; Carga direccion del segmento de datos ; asigna direccion al registro de segmento ; Funcin para terminar un programa ; Llamada al sistema operativo

BIBLIOGRAFA Abel, P.; Lenguaje Ensamblador para IBM PC y Compatibles; Ed. Prentice Hall; 3 Edicin; 1996. Brey, B.; Los microprocesadores de Intel: Arquitectura, Programacin e Interfaces; Ed. Prentice Hall; 3 Edicin; 1995. Caballar, J.; El libro de las comunicaciones del PC: tcnica, programacin y aplicaciones; Ed. RamaComputec; 1 Edicin; 1997. Morgan y Waite; Introduccin al microprocesador 8086/8088; Ed. Byte Books/Mc Graw Hill; 1 Edicin; 1992. Pawelczak; Pass32 32 bit Assembler V 2.5 Instruction Manual; 1997. Rojas, A.; Ensamblador Bsico; Ed. Computec; 2 Edicin; 1995. Socha y Norton; Assembly Language for the PC; Ed. Brady Publishing; 3 Edicin; 1992. Tannenbaum, A.; Organizacin de Computadoras un enfoque estructurado; Ed. Prentice Hall; 3 Edicin; 1992.

Programa de Ing. de Sistemas UAC.

You might also like