Ensablador
Objetivo: El alumno se familiarizará con la estructura de programas en lenguaje ensamblador para los procesadores 80X86 en modo de 16 bits .
Teoría: El propósito de la directivas tales como: DB, DD, DW END, ENDS, END, ENDP, EQU, PROC etc. La implementación de procedimientos utilizando PROC y ENDP.
Un programa en lenguaje ensamblador estaráformado por una secuencia de sentencias.
Cada sentencia ocupa una sola línea y tiene la siguiente estructura:
[etiqueta] [operacion] [operandos] [;comentarios]
Después de lo aprendido en clase las sentencias se dividen en dos tipos:
Instrucciones: Estas sentencias representan órdenes al procesador y tras el proceso de
compilación generan código ejecutable.
Directivas: Estassentencias dirigen el proceso de compilación o construcción del programa
ejecutable. No generan código ejecutable. Normalmente se utilizan para aumentar la
legibilidad del código fuente.
Declaración de datos.- Estos se declaran según el tipo, mediante la regla
[nombre] directiva valor,
Donde directiva puede ser DB (bytes), DW (palabras), DD (palabra doble), DQ (palabra cuádruple), DT (diezbytes). También pueden usarse las directivas LABEL (crea etiquetas de instrucciones o datos), EQU (crea símbolos de igualdad) , y el símbolo = ( asigna absolutos) para declarar símbolos. Estos tienen la siguiente sintaxis:
nombre = expresión
nombre EQU expresión
nombre LABEL tipo
donde tipo puede ser BYTE, WORD, DWORD, QWORD, TBYTE, NEAR, FAR.
Declaración de estructuras.- Para ladeclaración de estructuras de datos se emplea la directiva STRUC. Su sintaxis es:
nombre STRUC
campos
nombre ENDS
Para la definición de procedimientos se emplean las directivas PROC y ENDP. Su sintaxis es:
nombre PROC [distancia]
sentencias
nombre ENDP
Paso 1.- Iniciamos con el análisis de lo que realizara nuestro programa.
Paso 2.- Una vez que tenemos nuestro programa, lo redactamos en uneditor de texto; y lo guardamos en nuestra carpeta antes prevista.
Este es el código del programa.
MODEL small
.STACK 100h
;----- Insert INCLUDE "filename" directives here
;----- Insert EQU and = equates here
INCLUDE procs.inc
LOCALS
.DATA
mens db 'Hola Mundo',0
.CODE
;----- Insert program, subrutine call, etc., herePrincipal PROC
mov ax,@data ;Inicializar DS al la direccion
mov ds,ax ; del segmento de datos (.DATA)
call clrscr
mov dx,offset mens
call puts
call getch
mov ah,04ch ; fin de programa
mov al,0 ;
int 21h ;
ENDP
; incluir procedimientos
; ejemplo:
; funcionX PROC ; < -- Indica a TASMel inicio del un procedimiento
; ;
; ; < --- contenido del procedimiento
; ret
; ENDP; < -- Indica a TASM el fin del procedimiento
END
Nota. Tener cuidado al guardar el archivo, ya que debe hacerse con la extensión .ASMpara que pueda funcionar de manera correcta.
ejemplo1.ASM
Ahora si Guardar.
Recuerda guardarloen tu carpeta designada para dichos archivos. (en nuestro caso C:\LenguajeEnsamblador)
Paso 3.- Entramos al MS-DOS nos direccionamos en donde se encuentra nuestra carpeta
Paso 4.- Una vez situados en la dirección correcta, nos dirigimos a compilar nuestro programa.
Para la compilación se debe ejecutar la siguiente instrucción:
tasm /zi nombre_del_programa.ASM
En nuestrapractica quedaría de la siguiente manera:
c:\LenguajeEnsamblador>tasm /zi ejemplo1.ASM
Una vez compilado nos aparecerá un reporte, el cual nos muestra si hay errores en nuestras líneas de código.
Con esto se ah realizado la compilación de nuestro programa y esta listo para ser ligado.
Paso 5.- Ahora vamos a ligar nuestro programa. Esto lo haremos con la siguiente...
Regístrate para leer el documento completo.