Formatos de Programacion

3
FORMATOS DE PROGRAMACIÓN Existen 2 tipos de programas: a).- Los programas .EXE b).- Los programas .COM Algunas de las diferencias básicas entre un programa que es para ejecutarse como .EXE y un programa que es para ejecutarse como .COM implica el tamaño del programa, la segmentación y la inicialización. Un programa .COM es mas pequeño que un programa .EXE Un programa .COM está restringido a un solo segmento de 64Kb. El segmento de código, el segmento de datos, el segmento de stack y el segmento extra están todos traslapados en uno solo. Esto no sucede así en los programas .EXE En un programa .COM los datos están en el mismo segmento que el de código, por lo tanto la primera instrucción es un salto a donde continua el código del programa , evitando que el CPU lea los datos como si fueran instrucciones. En los programas .EXE no existe este problema ya que el segmento de código y el de datos están separados, mas sin embargo las primeras instrucciones en este tipo de programas son para obtener la dirección en donde el sistema operativo guardo los datos, y cargársela al registro DS. MOV AX, @ DATA MOV DS, AX DIFERENCIAS BASICAS EN SU FORMATO DE PROGRAMA: FORMATO .COM FORMATO .EXE .Model TINY .Model SMALL HUGE .Code .STACK 200 ORG 100H .DATA START: JMP INICIO

description

Microcontroladores

Transcript of Formatos de Programacion

Page 1: Formatos de Programacion

FORMATOS DE PROGRAMACIÓN Existen 2 tipos de programas:a).- Los programas .EXEb).- Los programas .COM Algunas de las diferencias básicas entre un programa que es para ejecutarse como .EXE y un programa que es para ejecutarse como .COM implica el tamaño del programa, la segmentación y la inicialización. 

Un programa .COM es mas pequeño que un programa .EXE         Un programa .COM está restringido a un solo segmento de 64Kb. El

segmento de código, el segmento de datos, el segmento de stack y el segmento extra están todos traslapados en uno solo. Esto no sucede así en los programas .EXE

        En un programa .COM los datos están en el mismo segmento que el de código, por lo tanto la primera instrucción es un salto a donde continua el código del programa , evitando que el CPU lea los datos como si fueran instrucciones. En los programas .EXE no existe este problema ya que el segmento de código y el de datos están separados, mas sin embargo las primeras instrucciones en este tipo de programas son para obtener la dirección en donde el sistema operativo guardo los datos, y cargársela al registro DS.

MOV AX, @ DATAMOV DS, AX

 DIFERENCIAS BASICAS EN SU FORMATO DE PROGRAMA: FORMATO .COM FORMATO .EXE .Model TINY .Model SMALL HUGE .Code .STACK 200 ORG 100H .DATASTART: JMP INICIO Var1 DB 00H Var1 db 00HVar2 DB 00H Var2 db 00H .CODEINICIO: INICIO: mov AX,@DATA ____ mov DS,AX ____ ___ ____ ___ ____ ___ mov AX,4C00H mov Ax,4C00H Int 21H int 21H END END

Page 2: Formatos de Programacion

    PROGRAMAS .COM 

- -         Todos los segmentos inician en la misma dirección CS=DS=ES=SS o sea que se encuentran traslapados en un segmento de 64K (modelo TINY).

- -         El programa inicia en la dirección 100H, ya que este espacio lo reserva para el PSP (Program Segment prefix)

- -         La primera instrucción es brinco al inicio del código, reservando el espacio para datos.

- -         Tienen brincos y llamados cortos (NEAR).  PROGRAMAS .EXE 

- -         Puede tener modelos de memoria, desde el SMALL hasta HUGE.- -         Sus segmentos pueden estar en direcciones diferentes.- -         Al inicio del segmento de códigos las primeras instrucciones son para

recuperar la dirección del segmento de datos.Pueden tener ambos tipos de brincos y llamados (NEAR:FAR).