domingo, 7 de abril de 2013

ESCRITURA DE PROGRAMAS .COM


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
*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).
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.
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