SlideShare ist ein Scribd-Unternehmen logo
1 von 22
María Guadalupe Olvera Nolasco
Verónica Patricia Pasillas Gutierrez
Luz Angélica Sánchez Castruita
Los archivos COM tienen como máximo
65536 bytes de extensión, que "curiosamente"
coinciden con 0FFFFh, que es el máximo valor
que puede tener un registro de 16 bits, y es
almacenado en memoria inmediatamente
después del PSP.

     Por lo tanto, cualquier dirección dentro
del COM tendrá en común el registro de
segmento, y con el de desplazamiento se podrá
averiguar el lugar donde se encuentra
cualquier cosa en el archivo.
El registro SP contiene una dirección de 2
bytes abajo de la memoria máxima disponible para
el programa, lo que significa que hay 64 KB de
espacio disponible para el programa, SP = 0FFFEh.

     Esto se debe a que DOS siempre coloca un
CERO en la pila antes de transferir el control al
programa .COM.
Lineamientos para programas .COM
1. Un programa .COM solamente puede ocupar un espacio
máximo de memoria de 64 KB. (Un segmento.)
2. La definición del segmento es muy simple, ya que solo
puede usarse un segmento.
3. Todos los registros de segmento son inicializados en el
mismo segmento.
4. Deberá usarse la directiva ORG para iniciar en el byte 256
(100h), de tal manera de dejar espacio para el PSP, el
cual es cargado en memoria de manera automática en el
momento de cargar el programa.
5. Si el programa contiene DATOS, éstos no deberán ser
ejecutados, se podrá usar la instrucción JMP de tal forma
de brincarlos. También se pueden colocar dichos datos al final
del programa después de la instrucción de retorno al
DOS.
Formato para Estructura Estándar.
Sintaxis de la declaración de un segmento

     Sintaxis de SEGMENT
           nombre-seg SEGMENT
                 ---
                 sentencias
                 ---
           nombre_seg ENDS

     El programa debe terminar con: END etiqueta
En este caso la etiqueta se llama inicio, también se
pone seguida de (:) en la primer línea de código del
programa.
Sintaxis del las instrucciones en Lenguaje Ensamblador.

[etiqueta] mnemónico [operandos] [; comentarios]

Donde:
assume: Habilita la verificación de error para valores de
registros. Establece la relación entre un registro de segmento y
un segmento.

       Sintaxis:
              assume SEG_REG:NOM_SEG,...
org    Directiva que pone el IP en el valor de expresión.
       Sintaxis:
              org expresión
jmp    Instrucción de salto incondicional.
       Sintaxis:
              jmp etiqueta
              ---
              etiqueta:
mov Instrucción de transferencia de información de un
operando      fuente a un operando destino.
       Sintaxis:
              mov oper_des, oper_fuente
int    Instrucción que llama a ejecución a una interrupción de
un byte
       Sintaxis:
              int # interrupción
El Llamado a una Interrupción.

       En un programa se llaman a algunas interrupciones,
para ello se requiere conocer la sintaxis de llamado a estas
subrutinas. Por ejemplo:

INT 21h Función 4Ch: Regresa al DOS con código de retorno

      Entrada:      AH = 4Ch
                    AL = Valor regresado.

      Use INT 21h función 4Ch para terminar un programa.
Puede regresar un valor al programa padre en el registro AL..
Normalmente se regresa un CERO (00h) cuando el programa
termina sin problemas.
Ejemplo de un programa .COM. usando Estructura Estándar.
OBSERVACIONES.
- El programa escribe la palabra Angelica,Lupita,Veronica.
- El programa consta de un solo segmento, el de código.
- El operador OFFSET nos permite escribir la dirección de la variable
Dato al registro DX.
Para envía la palabra Angelica,Lupita,Veronica., utilizamos una rutina
definida por el DOS en la interrupción 21h, es la
función 09h, la cual se define y llama de la siguiente manera:
INT 21h Función 09h: Imprime una cadena de caracteres sobre la
pantalla.
Entrada: AH = 09h
DS:DX = Dirección de inicio de la cadena.
La función 09h es muy fácil de usar, para utilizarla coloque la cadena en
memoria y termínela con un signo de
pesos ($), esto significa que no se puede incluir este signo como parte
de la cadena, la dirección del inicio de la cadena es
colocada en los registros DS:DX
Estructura Simplificada.

       Los ensambladores de Microsoft y Borland en su
versiones actuales ofrecen ciertas facilidades que nos
simplifican la creación de archivos fuente en lenguaje
ENSAMBLADOR, a este método le llamaremos Estructura
Simplificada, la cual además de facilitarnos la tarea, hace
que la estructura del programa sea compatible con los
lenguajes de alto nivel estándares.

      Tal vez al presentar el método parezca en principio
un poco mas elaborado, que el anterior, pero una vez
dominándolo es más simple, sobre todo cuando se trabaja
con programas .EXE.
En el esqueleto es necesario primero definir el
modelo de memoria a utilizar, de la misma forma que se
hace en los lenguajes de alto nivel; en este caso usamos
el modelo Small. Su definición se hace mediante la
directiva .MODEL (note que el punto es parte del nombre
del identificador).

      El segmento de código (en este caso es el único),
se define mediante la directiva .CODE, se establece el
punto de entrada al código mediante la etiqueta inicio:,
la cual va también después del END final. El retorno al
DOS se hace mediante la misma función del DOS: 4Ch
Veamos el siguiente ejemplo el programa
ENSA01A.ASM; en este programa usamos 2 nuevas
directivas:

TITLE Establece el nombre del programa al inicio de
cada hoja en el archivo .LST.

COMMENT Nos permite escribir comentarios en
varios renglones, utilizando solo dos delimitadores
cualquiera, uno al inicio del comentario y el mismo al
final.
Estructura .COM
Estructura .COM
Estructura .COM
Estructura .COM

Weitere ähnliche Inhalte

Was ist angesagt?

Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)Cristina Zavala Palacios
 
Control structure of c
Control structure of cControl structure of c
Control structure of cKomal Kotak
 
Teoría de Colas aplicada a Java
Teoría de Colas aplicada a JavaTeoría de Colas aplicada a Java
Teoría de Colas aplicada a JavaZenware.net
 
Estruc datos
Estruc datosEstruc datos
Estruc datosITECO
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedaGonzalo Retamal
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y NodosBoris Salleg
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVLEvans Balcazar
 
Modelos de inventarios y lineas de espera
Modelos de inventarios y lineas de esperaModelos de inventarios y lineas de espera
Modelos de inventarios y lineas de esperaJulia Ramirez
 
Método de Ordenamiento Sort Shell
Método de Ordenamiento Sort ShellMétodo de Ordenamiento Sort Shell
Método de Ordenamiento Sort ShellAntonio Huertas
 
Formulacion Del Problema Simulacion Y Modelacion
Formulacion Del Problema Simulacion Y ModelacionFormulacion Del Problema Simulacion Y Modelacion
Formulacion Del Problema Simulacion Y Modelacionjose haar
 
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++ (Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++ Eli Diaz
 
130447032 inferencia-estadistica-unidad-ii (1)
130447032 inferencia-estadistica-unidad-ii (1)130447032 inferencia-estadistica-unidad-ii (1)
130447032 inferencia-estadistica-unidad-ii (1)EstesoyyoEmanuel Gonzalez
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 

Was ist angesagt? (20)

Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
 
Control structure of c
Control structure of cControl structure of c
Control structure of c
 
Teoría de Colas aplicada a Java
Teoría de Colas aplicada a JavaTeoría de Colas aplicada a Java
Teoría de Colas aplicada a Java
 
Estruc datos
Estruc datosEstruc datos
Estruc datos
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Pruebas De Varianza Uniformidad E Independencia
Pruebas De Varianza Uniformidad E IndependenciaPruebas De Varianza Uniformidad E Independencia
Pruebas De Varianza Uniformidad E Independencia
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVL
 
Funciones del stella
Funciones del  stellaFunciones del  stella
Funciones del stella
 
Modelos de inventarios y lineas de espera
Modelos de inventarios y lineas de esperaModelos de inventarios y lineas de espera
Modelos de inventarios y lineas de espera
 
Algoritmo de quicksort
Algoritmo de quicksortAlgoritmo de quicksort
Algoritmo de quicksort
 
Estructura de datos 2 corte
Estructura de datos 2 corteEstructura de datos 2 corte
Estructura de datos 2 corte
 
Método de Ordenamiento Sort Shell
Método de Ordenamiento Sort ShellMétodo de Ordenamiento Sort Shell
Método de Ordenamiento Sort Shell
 
Prueba Chi-Cuadrada
Prueba Chi-CuadradaPrueba Chi-Cuadrada
Prueba Chi-Cuadrada
 
Formulacion Del Problema Simulacion Y Modelacion
Formulacion Del Problema Simulacion Y ModelacionFormulacion Del Problema Simulacion Y Modelacion
Formulacion Del Problema Simulacion Y Modelacion
 
1.4 memoria estatica
1.4 memoria estatica1.4 memoria estatica
1.4 memoria estatica
 
Estadística inferencial
Estadística inferencialEstadística inferencial
Estadística inferencial
 
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++ (Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
 
130447032 inferencia-estadistica-unidad-ii (1)
130447032 inferencia-estadistica-unidad-ii (1)130447032 inferencia-estadistica-unidad-ii (1)
130447032 inferencia-estadistica-unidad-ii (1)
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 

Ähnlich wie Estructura .COM

estructura_de_un_programa_en_lenguaje_ensamblador
estructura_de_un_programa_en_lenguaje_ensambladorestructura_de_un_programa_en_lenguaje_ensamblador
estructura_de_un_programa_en_lenguaje_ensambladorGloria Azúa
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Carlos Pastorino
 
Exposición ted
Exposición tedExposición ted
Exposición tedCOVAEV
 
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_ireneromaweb
 
Curso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje CCurso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje Cguestbc0748
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje cmundofranco
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje cvictdiazm
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje cmary219122
 
Introduccion al assembler
Introduccion al assemblerIntroduccion al assembler
Introduccion al assemblerangel
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorInfomania pro
 
Lenguaje Ensamblador00
Lenguaje Ensamblador00Lenguaje Ensamblador00
Lenguaje Ensamblador00Car_00_01
 

Ähnlich wie Estructura .COM (20)

estructura_de_un_programa_en_lenguaje_ensamblador
estructura_de_un_programa_en_lenguaje_ensambladorestructura_de_un_programa_en_lenguaje_ensamblador
estructura_de_un_programa_en_lenguaje_ensamblador
 
Data segment
Data segmentData segment
Data segment
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Mipag web
Mipag webMipag web
Mipag web
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
 
Exposición ted
Exposición tedExposición ted
Exposición ted
 
Introduccion al assembler
Introduccion al assemblerIntroduccion al assembler
Introduccion al assembler
 
Introduccion al assembler[1]
Introduccion al assembler[1]Introduccion al assembler[1]
Introduccion al assembler[1]
 
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
 
Curso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje CCurso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje C
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
Introduccion al assembler
Introduccion al assemblerIntroduccion al assembler
Introduccion al assembler
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Lenguaje Ensamblador00
Lenguaje Ensamblador00Lenguaje Ensamblador00
Lenguaje Ensamblador00
 

Kürzlich hochgeladen

UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfARACELIGINESZARATE1
 
TALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.pptTALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.pptxico33a
 
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxPRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxcarlosdaniellujandel1
 
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdfREGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdfJULIOELIDEOROSIERRA
 
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfPROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfrgsteveo32
 
Material modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasMaterial modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasErnesto840942
 
Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Yes Europa
 
presentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdfpresentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdfIsabelSena13
 

Kürzlich hochgeladen (8)

UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
 
TALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.pptTALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.ppt
 
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxPRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
 
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdfREGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
 
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfPROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
 
Material modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasMaterial modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivas
 
Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024
 
presentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdfpresentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdf
 

Estructura .COM

  • 1. María Guadalupe Olvera Nolasco Verónica Patricia Pasillas Gutierrez Luz Angélica Sánchez Castruita
  • 2. Los archivos COM tienen como máximo 65536 bytes de extensión, que "curiosamente" coinciden con 0FFFFh, que es el máximo valor que puede tener un registro de 16 bits, y es almacenado en memoria inmediatamente después del PSP. Por lo tanto, cualquier dirección dentro del COM tendrá en común el registro de segmento, y con el de desplazamiento se podrá averiguar el lugar donde se encuentra cualquier cosa en el archivo.
  • 3. El registro SP contiene una dirección de 2 bytes abajo de la memoria máxima disponible para el programa, lo que significa que hay 64 KB de espacio disponible para el programa, SP = 0FFFEh. Esto se debe a que DOS siempre coloca un CERO en la pila antes de transferir el control al programa .COM.
  • 4. Lineamientos para programas .COM 1. Un programa .COM solamente puede ocupar un espacio máximo de memoria de 64 KB. (Un segmento.) 2. La definición del segmento es muy simple, ya que solo puede usarse un segmento. 3. Todos los registros de segmento son inicializados en el mismo segmento. 4. Deberá usarse la directiva ORG para iniciar en el byte 256 (100h), de tal manera de dejar espacio para el PSP, el cual es cargado en memoria de manera automática en el momento de cargar el programa. 5. Si el programa contiene DATOS, éstos no deberán ser ejecutados, se podrá usar la instrucción JMP de tal forma de brincarlos. También se pueden colocar dichos datos al final del programa después de la instrucción de retorno al DOS.
  • 5.
  • 7. Sintaxis de la declaración de un segmento Sintaxis de SEGMENT nombre-seg SEGMENT --- sentencias --- nombre_seg ENDS El programa debe terminar con: END etiqueta En este caso la etiqueta se llama inicio, también se pone seguida de (:) en la primer línea de código del programa.
  • 8. Sintaxis del las instrucciones en Lenguaje Ensamblador. [etiqueta] mnemónico [operandos] [; comentarios] Donde: assume: Habilita la verificación de error para valores de registros. Establece la relación entre un registro de segmento y un segmento. Sintaxis: assume SEG_REG:NOM_SEG,... org Directiva que pone el IP en el valor de expresión. Sintaxis: org expresión
  • 9. jmp Instrucción de salto incondicional. Sintaxis: jmp etiqueta --- etiqueta: mov Instrucción de transferencia de información de un operando fuente a un operando destino. Sintaxis: mov oper_des, oper_fuente int Instrucción que llama a ejecución a una interrupción de un byte Sintaxis: int # interrupción
  • 10. El Llamado a una Interrupción. En un programa se llaman a algunas interrupciones, para ello se requiere conocer la sintaxis de llamado a estas subrutinas. Por ejemplo: INT 21h Función 4Ch: Regresa al DOS con código de retorno Entrada: AH = 4Ch AL = Valor regresado. Use INT 21h función 4Ch para terminar un programa. Puede regresar un valor al programa padre en el registro AL.. Normalmente se regresa un CERO (00h) cuando el programa termina sin problemas.
  • 11. Ejemplo de un programa .COM. usando Estructura Estándar.
  • 12.
  • 13.
  • 14. OBSERVACIONES. - El programa escribe la palabra Angelica,Lupita,Veronica. - El programa consta de un solo segmento, el de código. - El operador OFFSET nos permite escribir la dirección de la variable Dato al registro DX. Para envía la palabra Angelica,Lupita,Veronica., utilizamos una rutina definida por el DOS en la interrupción 21h, es la función 09h, la cual se define y llama de la siguiente manera: INT 21h Función 09h: Imprime una cadena de caracteres sobre la pantalla. Entrada: AH = 09h DS:DX = Dirección de inicio de la cadena. La función 09h es muy fácil de usar, para utilizarla coloque la cadena en memoria y termínela con un signo de pesos ($), esto significa que no se puede incluir este signo como parte de la cadena, la dirección del inicio de la cadena es colocada en los registros DS:DX
  • 15. Estructura Simplificada. Los ensambladores de Microsoft y Borland en su versiones actuales ofrecen ciertas facilidades que nos simplifican la creación de archivos fuente en lenguaje ENSAMBLADOR, a este método le llamaremos Estructura Simplificada, la cual además de facilitarnos la tarea, hace que la estructura del programa sea compatible con los lenguajes de alto nivel estándares. Tal vez al presentar el método parezca en principio un poco mas elaborado, que el anterior, pero una vez dominándolo es más simple, sobre todo cuando se trabaja con programas .EXE.
  • 16.
  • 17. En el esqueleto es necesario primero definir el modelo de memoria a utilizar, de la misma forma que se hace en los lenguajes de alto nivel; en este caso usamos el modelo Small. Su definición se hace mediante la directiva .MODEL (note que el punto es parte del nombre del identificador). El segmento de código (en este caso es el único), se define mediante la directiva .CODE, se establece el punto de entrada al código mediante la etiqueta inicio:, la cual va también después del END final. El retorno al DOS se hace mediante la misma función del DOS: 4Ch
  • 18. Veamos el siguiente ejemplo el programa ENSA01A.ASM; en este programa usamos 2 nuevas directivas: TITLE Establece el nombre del programa al inicio de cada hoja en el archivo .LST. COMMENT Nos permite escribir comentarios en varios renglones, utilizando solo dos delimitadores cualquiera, uno al inicio del comentario y el mismo al final.