En ensamblador existen dos tipos de estructuras para desarrollar un programa en ensamblador.
Pero antes tienes que tener las herramientas para ensamblar tus programas las cuales puedes descargar al final de este tutorial:
MASM.EXE: ensambla el programa y crea el archivo OBJ.
LINK.EXE: linkea el archivo OBJ y hace el archivo ejecutable.
ML: ejecuta los dos archivos de arriba en una sola pasada, es una forma mas rápido de ensamblar.
Intrlist: es una biblioteca de interrupciones para los micros.
NOTEPAD2: es un editor que marca la sintaxis de registros, números, etc.
La primera es una estructura básica de programación:
.model
TINY ; desde MASM 6.0 usado para programas .COM
SMALL ; todos los datos en un segmento y todo el código en un segmento
MEDIUM ; todos los datos en un segmento, pero el código en mas de un segmento
COMPACT ; datos en más de un segmento, pero código en un segmento
LARGE ; Datos y código, en mas de un segmento, pero los areglos no pueden
; exceder 64K
HUGE ; Datos y código, ambos en más de un segmento, y los arreglos pueden
; exceder 64K
.stack
.data
Definicion de datos
directiva descipcion MASM 6.0 Rango
DB Definir Byte BYTE 1 byte +127, -128
DW Definir una palabra WORD 2 bytes +32,767, -32,768
DD Definir doble palabra DWORD 4 bytes +2,147,483,647, -2,147,483,648
DF Definir palabra larga FWORD 6 bytes uso para 386 y posteriores
DQ definir palabra cuadruple QWORD 8 bytes
DT definir diez bytes TWORD 10 bytes proposito para valores numericos
empacados BCD en coprocesqadores
nombre dn expresion
FLD1 DB ? ; elemento no inicializado
FLD2 DB 25 ; elemento inicializado
FLD3 dB 10 DUP (?) ; diez palabras no inicializadas
FLD4 dB 5 DUP (14) ; cinco palabras con 0E0E0E0E0E hexadecimal
.code
.startup ; inicio de código de programa
identificador operacion operando comentario
directiva DB 1 ; comienza con punto y coma
instruccion MOV AX,0 ; comienza con punto y coma
.exit ; sustituye datos de retorno al DOS
end ; fin del programa
Esta estructura es la mas fácil de usar y la que mas se utiliza. Pero tambien existe esta otra:
page 60,132
TITLE p04asm1 (EXE) operaciones de mover y sumar
;-----------------------------------------------------
STACKSG SEGMENT PARA STACK ´Stack´
DW 32 DUP(0)
STACKSG ENDS
;-----------------------------------------------------
DATASG SEGMENT PARA ´Data´
FLDA DW 250
FLDB DW 125
FLDC DW ?
DATASG ENDS
;-----------------------------------------------------
CODESG SEGMENT PARA ´Code´
BEGIN PROC FAR
ASSUME SS:STACKSG,DS:DATASG, CS:CODESG
MOV AX,DATASG ; SE ASIGNA DIRECCION DE DATASG
MOV DS,AX ; EN REGISTRO DS
MOV AX,FLDA ; MOVER 0250 A AX
ADD AX,FLDB ; SUMAR 0125 A AX
MOV FLDC,AX ; ALMACENAR SUMA EN FLDC
MOV AX,4C00H ; SALIDA A DOS
INT 21H
BEGIN ENDP ; FIN DE PROCEDIMIENTO
CODESG ENDS ; FIN DE SEGMENTO
END BEGIN ; FIN DE PROGRAMA
Descargar