MASM
El MASM genera el archivo intermedio (*.obj)
El comando que utiliza es MASM archivo, seguida de la
tecla enter.
MASM pondr entre corchetes la respuesta correcta.
La opcin Source listing genera archivo que contendr lnea
por lnea el cdigo de mquina y la lnea de su cdigo
fuente.
Cross-reference tiene informacin de cada cdigo de su
fuente.
MASM recibe parametros desde MS-DOS
Para pasar parametros al MASM debe usar 7 seguido de
la inicial del parmetro.
MASM/v/z prueba; indica al ensamblador que introduzca el
programa prueba.
NUL.LST y NUL.CRF indican que no desea dicho listado
ENLAZADOR (LINK)
El MASM traduce ensambla el cdigo fuente a
otro de formato.
El MS-DOS no puede ejecutar este archivo.
*.OBJ debe ser pasado a otro proceso que define
detalles y genera el archivo ejecutable.
Todo el proceso es realizado por el enlazador, que
tiene similitud al MASM.
Link prueba, genera el archivo PRUEBA.EXE.
Siempre se utiliza el enlazador para generar un
programa ejecutable *.exe.
Programa *.exe
Contraccin de la palabra EXEcutable: ejecutable.
Puede contener distitntos segmentos de pila, datos
y cdigo simultneamente.
Usa el PSP (prefijo de segmento de programa).
Al comenzar la ejecucin el segmento CS apunta a
la primera instruccin a ejecutar (IP=0).
El SS apunta al comienzo de la pila (arriba de
DS).
Los programas *.exe pueden ser tan grandes como
lo permita la memoria del programa.
PROGRAMA *.COM
Este tipo de programa es almacenado en el disco
exactamente como ser cargado en la memoria para
su ejecucin.
Estos programas empiezan siempre en el
desplazamiento 100H (ORG 100H).
La totalidad del programa est restringida a 64 kb.
Iniciara su ejecucin a partir del siguiente byte
despues de PSP.
Al final del segmento se usa una palabra de (16 bits)
bits como pila (pero puede ser ms grande).
La longitud del programa *.COM es de 65536 256
2 = 65278 bytes. 256 bytes de PSP y 2 de la pila.
Programa de Ejemplo
CODE SEGMENT PUBLIC 'CODE'
ORG 100H
ASSUME CS:CODE, ES:CODE, DS:CODE, SS:CODE
Empieza:
Jmp
cdigo
Continuacin
Cdigo:
mov Dx, OFFset Mensaje; Direccin mensaje
mov Ah,9
mov 21h
int 21h
; funcin 4c
CODE ENDS
END Empieza
PSP
Es una estructura usada para controlar
ciertos aspectos del programa.
Tiene una longitud de 256 bytes del
segmentos donde se carga el programa.
Desplazamiento
Contenido
00
CD20
02
0A
Direccin de salida
0E
12
2C
50
CD21
5C
6C
80
81
La lnea de comandos
SEGMENT
; define el
segmento de cdigo
ASSUME CS:PACO, DS:PACO, SS:PACO ; coloca todos los registros en
; la misma localizacin
ORG
7F0H
START:
MOV
AL,00000001b
AGAIN:
OUT
JMP
10H,AL
AGAIN
PACO
ENDS
END START