ESCRITURA DE PROGRAMAS .COM
Un programa .com es e
COMMAND.COM , la ventaja de estos programas es que so mas pequeños que
los programas .exe comparables y son mas
fáciles de adaptar para actuar como programas residentes en memoria.
Segmentos:
el uso de segmentos para programas.com es muy diferente y fácil que para programas. Exe
el uso de segmentos para programas.com es muy diferente y fácil que para programas. Exe
*segmento de pila: ud. Define un programa . EXE
con un segmento de pila mientras que en .COM gener a de manera automático
*segmento de datos: un programa .EXE por lo común
define un segmento de datos e inicializa el registro DS con la dirección de ese
segmento . ya que los datos para un programa .com están definidos dentro del
segmento de código , tampoco tiene que definir el segmento de datos.
*Segmento de código: un programa .COM completo
combina el PSP , la pila, el segmento de datos y el segmento de código en un
segmento de código de máximo 64K
Conversión a formato.COM
Si su programa fuente ya esta escrito en formato.EXE , puede
utilizar un editor para convertir las instrucciones a formato .COM . Los formatos
de codificación de MAS Y TASM para
programas.com son idénticos , aunque sus métodos de conversión difieren .
cuando la conversión a formato .COM esta completa , puede borrar los archivos
.OBJ y .EXE.
Inicialización: cuando el DOS carga un programa.com para ejecución
, inicializa de forma automática todos los registros de segmentos con la dirección
del psp , ya que los registros cs y ds contendrán la dirección de segmento
inicial correcta, su programa no tiene
que cargarlos
Ejemplo de un programa .COM
INT 21H finaliza la función 4CH , finaliza el procesamiento
y sale al DOS. Para este propósito , también se puede usar la instrucción RET
Programa masm y tasm
La pila de .COM:
para este programa, el DOS define de manera automática una pila y establece la misma dirección de segmentos en elos cuatro registros de segmento . si el segmento de 64K para el programa es suficiente grande, el DOS establece la pila al final del segmento y carga el registro SP con FFFEH , la parte superior de la pila (el tope de la fila).
para este programa, el DOS define de manera automática una pila y establece la misma dirección de segmentos en elos cuatro registros de segmento . si el segmento de 64K para el programa es suficiente grande, el DOS establece la pila al final del segmento y carga el registro SP con FFFEH , la parte superior de la pila (el tope de la fila).
Sugerencias para la depuración:
La omisión de un solo requisito .COM puede provocar que un
programa falle . Si EXE2BIN encuentra un
erro , solo le notificara que no puede convertir el archivo, pero no da la razón.
Verifique los enunciados SEGMENT, ASSUME Y END . si omite ORG 100H, de forma
incorrecta el programa se refiere a los datos en el PSP , con resultados
impredecibles .
si ejecuta un programa.COM con DEBUG utilice D CS:100 para ver los datos e instrucciones . no siga el programa hasta su terminación ; en lugar de eso , utilice el comando Q de DEBUG.
si ejecuta un programa.COM con DEBUG utilice D CS:100 para ver los datos e instrucciones . no siga el programa hasta su terminación ; en lugar de eso , utilice el comando Q de DEBUG.
PUNTOS CLAVE:
* Un programa .COM esta restringido a un segmento
de 64K
* Un programa . com es mas pequeño que su programa
. EXE
*El DOS define una pila para un programa.com al
final del programa
No hay comentarios:
Publicar un comentario