CODIGO SEGMENT

En informática, un segmento de código, también conocido como un segmento de texto o
simplemente como texto, es una frase usada para referirse a una parte de la memoria o de
un archivo objeto que contiene instrucciones ejecutables.

Tiene un tamaño fijo y suele ser de sólo lectura. Si la sección de texto no es de sólo lectura,
entonces la arquitectura particular, permite que el código auto-modificación. código de sólo
lectura es reentrante si puede ser ejecutado por más de un proceso, al mismo tiempo.

El segmento de código (CS) contiene las instrucciones de maquina que son ejecutadas por
lo común la primera instrucción ejecutable esta en el inicio del segmento, y el sistema
operativo enlaza a esa localidad para iniciar la ejecución del programa. Como su nombre
indica, el registro del CS direcciona el segmento de código. Si su área de código requiere
mas de 64K, su programa puede necesitar definir mas de un segmento de código.

Visualizacion de caracteres ASCII en pantalla usando el servicio 02H de la INT 21H

Código:
CODIGO SEGMENT

ASSUME CS:CODIGO

INICIO:
  MOV AH, 02H
  MOV DL, 4AH
  INT 21H
  MOV DL, 61H
  INT 21H
  MOV DL, 73H
  INT 21H
  MOV DL, 65H
  INT 21H

FIN: MOV AH, 4CH
  INT 21H

CODIGO ENDS
 END INICIO


Visaulización de mi nombre en pantalla usando el servicio 02H de la INT 21H
Código:

CODIGO SEGMENT
ASSUME CS:CODIGO

INICIO:
  MOV AH, 02H
  MOV DL, 'K'
  INT 21H
  MOV DL, 'a'
  INT 21H
  MOV DL, 'l'
  INT 21H
  MOV DL, 'u'
  INT 21H
  MOV DL, 'n'
  INT 21H
  MOV DL, ' '
  INT 21H
  MOV DL, 'J'
  INT 21H
  MOV DL, 'o'
  INT 21H
  MOV DL, 's'
  INT 21H
  MOV DL, 'e'
  INT 21H
  MOV DL, ' '
  INT 21H
  MOV DL, 'L'
  INT 21H
  MOV DL, 'a'
  INT 21H
  MOV DL, 'u'
  INT 21H
  MOV DL, ' '
  INT 21H
  MOV DL, 'G'
  INT 21H
  MOV DL, 'a'
  INT 21H
  MOV DL, 'n'
  INT 21H

FIN: MOV AH, 4CH
  INT 21H

CODIGO ENDS
 END INICIO
Impresión de cadenas de caracteres usando el servicio 09H de la INT 21H
Código:

;El segmento de datos para almacenar las cadenas}
;de caracteres a imprimir
DATOS SEGMENT
  TITULO DB "Ingenieria de Computacion y Sistemas$"
DATOS ENDS

CODIGO SEGMENT
 ASSUME CS:CODIGO, DS:DATOS

INICIO: MOV AX, DATOS
  MOV DS, AX
  MOV AH, 09H
  LEA DX, TITULO
; MOV DX, OFFSET TITULO
  INT 21H

FIN: MOV AH, 4CH
  INT 21H

CODIGO ENDS
 END INICIO



Impresión de un mensaje "UPAO" usando caracteres ASCII y servicio 09H de la INT21H
Código:


DATOS SEGMENT
 TITULO1 DB " ** ** ******** ******** ********", 0AH, 0DH, "$"
 TITULO2 DB " * * * * * * * * * *", 0AH, 0DH, "$"
 TITULO3 DB " * * * * * **** * * **** * * *", 0AH, 0DH, "$"
 TITULO4 DB " * * * * * * * * * * * * * **** *", 0AH, 0DH, "$"
 TITULO5 DB " * * * * * **** * * **** * * * * *", 0AH, 0DH, "$"
 TITULO6 DB " * * * * * * * * * * * *", 0AH, 0DH, "$"
 TITULO7 DB " * * * * * ****** * **** * * **** *", 0AH, 0DH, "$"
 TITULO8 DB " * **** * * * * * * * * *", 0AH, 0DH, "$"
 TITULO9 DB " * * * * * * * * * *", 0AH, 0DH, "$"
 TITULO10 DB " ******** **    ** ** ********", 0AH, 0DH, "$"
DATOS ENDS

CODIGO SEGMENT
 ASSUME CS:CODIGO, DS:DATOS

INICIO: MOV AX, DATOS
  MOV DS, AX
  MOV AH, 09H
  MOV CX, 2
LAZO:
  LEA DX, TITULO1
  INT 21H
  LEA DX, TITULO2
  INT 21H
  LEA DX, TITULO3
  INT 21H
  LEA DX, TITULO4
  INT 21H
  LEA DX, TITULO5
  INT 21H
  LEA DX, TITULO6
  INT 21H
  LEA DX, TITULO7
  INT 21H
  LEA DX, TITULO8
  INT 21H
  LEA DX, TITULO9
  INT 21H
  LEA DX, TITULO10
  INT 21H
  LOOP LAZO

FIN: MOV AH, 4CH
  INT 21H

CODIGO ENDS
 END INICIO


Programa que visualiza UPAO y lo repite cuando se presiona la tecla r y finaliza cuando se
presiona q
Código:

DATOS SEGMENT
TITULO1 DB " ** ** ******** ******** ********", 0AH, 0DH, "$"
 TITULO2 DB " * * * * * * * * * *", 0AH, 0DH, "$"
 TITULO3 DB " * * * * * **** * * **** * * *", 0AH, 0DH, "$"
 TITULO4 DB " * * * * * * * * * * * * * **** *", 0AH, 0DH, "$"
 TITULO5 DB " * * * * * **** * * **** * * * * *", 0AH, 0DH, "$"
 TITULO6 DB " * * * * * * * * * * * *", 0AH, 0DH, "$"
 TITULO7 DB " * * * * * ****** * **** * * **** *", 0AH, 0DH, "$"
 TITULO8 DB " * **** * * * * * * * * *", 0AH, 0DH, "$"
 TITULO9 DB " * * * * * * * * * *", 0AH, 0DH, "$"
 TITULO10 DB " ******** **         ** ** ********", 0AH, 0DH, "$"
 ERROR DB "Tecla presionada es erronea, intente de nuevo", 0AH, 0DH, "$"

DATOS ENDS

CODIGO SEGMENT
 ASSUME CS:CODIGO, DS:DATOS

INICIO: MOV AX, DATOS
  MOV DS, AX
  MOV AH, 09H

 LEA DX, TITULO1
 INT 21H
 LEA DX, TITULO2
 INT 21H
 LEA DX, TITULO3
 INT 21H
 LEA DX, TITULO4
 INT 21H
 LEA DX, TITULO5
 INT 21H
 LEA DX, TITULO6
 INT 21H
 LEA DX, TITULO7
 INT 21H
 LEA DX, TITULO8
 INT 21H
 LEA DX, TITULO9
 INT 21H
 LEA DX, TITULO10
 INT 21H
LECTU: MOV AH, 01H
 INT 21H
 CMP AL, 71H
 JE FIN
 CMP AL, 72H
JE INICIO
 MOV AH, 09H
 LEA DX, ERROR
 INT 21H
 JMP LECTU

FIN: MOV AH, 4CH
  INT 21H

CODIGO ENDS
 END INICIO


Para apagar un led y prenderlo yuasando el teclado blablabablaaaaa
Código:

DATOS SEGMENT
 ENC DB 0AH, 0DH, "Led Encendido", 0AH, 0DH, "$"
 APA DB 0AH, 0DH, "Led Apagado", 0AH, 0DH, "$"
 ERROR DB 0AH, 0DH, "Tecla presionada es erronea, intente de nuevo", 0AH, 0DH, "$"
 GRACIAS DB 0AH, 0DH, "Gracias por usar el programa", 0AH, 0DH, "$"
DATOS ENDS

CODIGO SEGMENT
 ASSUME CS:CODIGO, DS:DATOS

INICIO: MOV AX, DATOS
  MOV DS, AX
  MOV AH, 09H
  LEA DX, APA
  INT 21H
  MOV DX, 378H
  MOV AL, 0
  OUT DX, AL

LECTU: MOV AH, 01H
 INT 21H
 CMP AL, 71H
 JE FIN
 CMP AL, 61H
 JE APAGA
 CMP AL, 65H
 JE ENCEN
 MOV AH, 09H
 LEA DX, ERROR
INT 21H
 JMP LECTU

ENCEN: MOV AH, 09H
 LEA DX, ENC
 INT 21H
 MOV DX, 378H
 MOV AL, 1
 OUT DX, AL
 JMP LECTU

APAGA: MOV AH, 09H
 LEA DX, APA
 INT 21H
 MOV DX, 378H
 MOV AL, 0
 OUT DX, AL
 JMP LECTU

FIN: MOV AH, 09H
  LEA DX, GRACIAS
  INT 21H

 MOV AH, 4CH
 INT 21H

CODIGO ENDS
 END INICIO


Este programa es para escribir un mensaje en pantalla usando el servicio 09H de la INT
21H
Código:

;-Programa ejemplo para visualizar la palabra "MASM ES FACIL!".
;-Para ello vamos a utilizar el servicio 09H de la INT 21H.
;-En la cadena a imprimir usando el servicio 09H, debemos de colocarle
; el caracter "$" para indicar el fin de la cadena.
;-Al terminar de ejecutar nuestro programa, es necesario devolver el
; control de la maquina al sistema operativo.

DATOS SEGMENT
 CAD1 DB "MASM ES FACIL!$"
DATOS ENDS
CODIGO SEGMENT
 ASSUME CS:CODIGO, DS:DATOS

INICIO: MOV AX, DATOS
  MOV DS, AX
  MOV AH, 09H
  LEA DX, CAD1
  INT 21H

FIN: MOV AH, 4CH
  INT 21H

CODIGO ENDS
 END INICIO


Código:

CODIGO SEGMENT
 ASSUME CS:CODIGO

INICIO: MOV AH, 02H ;SERVICIO DE IMPRESION DE CARACTER EN
PANTALLA
  MOV DL, 'U' ;CARACTER ASCII A IMPRIMIR EN PANTALLA
  INT 21H
  MOV DL, 'P' ;CARACTER ASCII A IMPRIMIR EN PANTALLA
  INT 21H
  MOV DL, 'A' ;CARACTER ASCII A IMPRIMIR EN PANTALLA
  INT 21H
  MOV DL, 'O' ;CARACTER ASCII A IMPRIMIR EN PANTALLA
  INT 21H

FIN: MOV AH, 4CH ;SERVICIO PARA RETORNAR EL CONTROL DE LA PC
  INT 21H ;AL SISTEMA OPERATIVO

CODIGO ENDS
 END INICIO


Saludos, aqui les paso la APP08, para titilear un LED
Código:

;Este es un programa para titilar un LED por un pin del puerto paralelo
;Con la tecla 'y' titlamos el LED y con la tecla 'n' apagamos el LED
;Con la tecla 'q' salimos de la aplicacion
DATOS SEGMENT
 TIT1 DB "PROGRAMA PARA TITILAR UN LED", "$"
 OPT DB 0AH, 0DH, "ELIJA OPCION ('y' TITILAR, 'q' SALIR): ", "$"
 ONLED DB 0AH, 0DH, "EL LED TA TITILANDO PS", "$"
 OFFLED DB 0AH, 0DH, "EL LED YA NO TA TITILANDO PS", "$"
  ERRA DB 0AH, 0DH, "TECLA PRESIONADA INCORRECTA, INTENTE DE
NUEVO", "$"
 CHAU DB 0AH, 0DH, "GRACIAS POR USAR EL PROGRAMA CHAUFAS", "$"
DATOS ENDS

CODIGO SEGMENT
 ASSUME CS:CODIGO, DS:DATOS

INICIO: MOV AX, DATOS
  MOV DS, AX
  MOV AH, 09H
  LEA DX, TIT1
  INT 21H

TECLA: MOV AH, 09H
 LEA DX, OPT
 INT 21H
 MOV AH, 01H ;SERVICIO PARA LEER UNA TECLA
 INT 21H
 CMP AL, 'y'
 JE TTLE     ;SALTO PARA TITILEAR LED
 CMP AL, 'q'
 JE BYEBYE ;SALTO PARA SALIR DEL PROGRAMA
ERROR: MOV AH, 09H
 LEA DX, ERRA
 INT 21H
 JMP TECLA

TTLE: MOV AH, 09H
 LEA DX, ONLED
 INT 21H

 MOV CX, 20
LAZO: MOV DX, 378H
 MOV AL, 0
 OUT DX, AL
 CALL RETAR
 MOV AL, 1
 OUT DX, AL
 CALL RETAR
 LOOP LAZO
MOV AH, 09H
 LEA DX, OFFLED
 INT 21H
 JMP TECLA

RETAR: PUSH AX
 PUSH BX
 PUSH CX
 MOV AX, 1000
P3: MOV BX, 1000
P2: MOV CX, 100
P1: DEC CX
 JNZ P1
 DEC BX
 JNZ P2
 DEC AX
 JNZ P3
 POP CX
 POP BX
 POP AX
 RET

BYEBYE: MOV AH, 09H
 LEA DX, CHAU
 INT 21H
 MOV AH, 4CH
 INT 21H

CODIGO ENDS
 END INICIO

Equipo 6 codigo segment

  • 1.
    CODIGO SEGMENT En informática,un segmento de código, también conocido como un segmento de texto o simplemente como texto, es una frase usada para referirse a una parte de la memoria o de un archivo objeto que contiene instrucciones ejecutables. Tiene un tamaño fijo y suele ser de sólo lectura. Si la sección de texto no es de sólo lectura, entonces la arquitectura particular, permite que el código auto-modificación. código de sólo lectura es reentrante si puede ser ejecutado por más de un proceso, al mismo tiempo. El segmento de código (CS) contiene las instrucciones de maquina que son ejecutadas por lo común la primera instrucción ejecutable esta en el inicio del segmento, y el sistema operativo enlaza a esa localidad para iniciar la ejecución del programa. Como su nombre indica, el registro del CS direcciona el segmento de código. Si su área de código requiere mas de 64K, su programa puede necesitar definir mas de un segmento de código. Visualizacion de caracteres ASCII en pantalla usando el servicio 02H de la INT 21H Código: CODIGO SEGMENT ASSUME CS:CODIGO INICIO: MOV AH, 02H MOV DL, 4AH INT 21H MOV DL, 61H INT 21H MOV DL, 73H INT 21H MOV DL, 65H INT 21H FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Visaulización de mi nombre en pantalla usando el servicio 02H de la INT 21H Código: CODIGO SEGMENT
  • 2.
    ASSUME CS:CODIGO INICIO: MOV AH, 02H MOV DL, 'K' INT 21H MOV DL, 'a' INT 21H MOV DL, 'l' INT 21H MOV DL, 'u' INT 21H MOV DL, 'n' INT 21H MOV DL, ' ' INT 21H MOV DL, 'J' INT 21H MOV DL, 'o' INT 21H MOV DL, 's' INT 21H MOV DL, 'e' INT 21H MOV DL, ' ' INT 21H MOV DL, 'L' INT 21H MOV DL, 'a' INT 21H MOV DL, 'u' INT 21H MOV DL, ' ' INT 21H MOV DL, 'G' INT 21H MOV DL, 'a' INT 21H MOV DL, 'n' INT 21H FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO
  • 3.
    Impresión de cadenasde caracteres usando el servicio 09H de la INT 21H Código: ;El segmento de datos para almacenar las cadenas} ;de caracteres a imprimir DATOS SEGMENT TITULO DB "Ingenieria de Computacion y Sistemas$" DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, TITULO ; MOV DX, OFFSET TITULO INT 21H FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Impresión de un mensaje "UPAO" usando caracteres ASCII y servicio 09H de la INT21H Código: DATOS SEGMENT TITULO1 DB " ** ** ******** ******** ********", 0AH, 0DH, "$" TITULO2 DB " * * * * * * * * * *", 0AH, 0DH, "$" TITULO3 DB " * * * * * **** * * **** * * *", 0AH, 0DH, "$" TITULO4 DB " * * * * * * * * * * * * * **** *", 0AH, 0DH, "$" TITULO5 DB " * * * * * **** * * **** * * * * *", 0AH, 0DH, "$" TITULO6 DB " * * * * * * * * * * * *", 0AH, 0DH, "$" TITULO7 DB " * * * * * ****** * **** * * **** *", 0AH, 0DH, "$" TITULO8 DB " * **** * * * * * * * * *", 0AH, 0DH, "$" TITULO9 DB " * * * * * * * * * *", 0AH, 0DH, "$" TITULO10 DB " ******** ** ** ** ********", 0AH, 0DH, "$"
  • 4.
    DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H MOV CX, 2 LAZO: LEA DX, TITULO1 INT 21H LEA DX, TITULO2 INT 21H LEA DX, TITULO3 INT 21H LEA DX, TITULO4 INT 21H LEA DX, TITULO5 INT 21H LEA DX, TITULO6 INT 21H LEA DX, TITULO7 INT 21H LEA DX, TITULO8 INT 21H LEA DX, TITULO9 INT 21H LEA DX, TITULO10 INT 21H LOOP LAZO FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Programa que visualiza UPAO y lo repite cuando se presiona la tecla r y finaliza cuando se presiona q Código: DATOS SEGMENT
  • 5.
    TITULO1 DB "** ** ******** ******** ********", 0AH, 0DH, "$" TITULO2 DB " * * * * * * * * * *", 0AH, 0DH, "$" TITULO3 DB " * * * * * **** * * **** * * *", 0AH, 0DH, "$" TITULO4 DB " * * * * * * * * * * * * * **** *", 0AH, 0DH, "$" TITULO5 DB " * * * * * **** * * **** * * * * *", 0AH, 0DH, "$" TITULO6 DB " * * * * * * * * * * * *", 0AH, 0DH, "$" TITULO7 DB " * * * * * ****** * **** * * **** *", 0AH, 0DH, "$" TITULO8 DB " * **** * * * * * * * * *", 0AH, 0DH, "$" TITULO9 DB " * * * * * * * * * *", 0AH, 0DH, "$" TITULO10 DB " ******** ** ** ** ********", 0AH, 0DH, "$" ERROR DB "Tecla presionada es erronea, intente de nuevo", 0AH, 0DH, "$" DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, TITULO1 INT 21H LEA DX, TITULO2 INT 21H LEA DX, TITULO3 INT 21H LEA DX, TITULO4 INT 21H LEA DX, TITULO5 INT 21H LEA DX, TITULO6 INT 21H LEA DX, TITULO7 INT 21H LEA DX, TITULO8 INT 21H LEA DX, TITULO9 INT 21H LEA DX, TITULO10 INT 21H LECTU: MOV AH, 01H INT 21H CMP AL, 71H JE FIN CMP AL, 72H
  • 6.
    JE INICIO MOVAH, 09H LEA DX, ERROR INT 21H JMP LECTU FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Para apagar un led y prenderlo yuasando el teclado blablabablaaaaa Código: DATOS SEGMENT ENC DB 0AH, 0DH, "Led Encendido", 0AH, 0DH, "$" APA DB 0AH, 0DH, "Led Apagado", 0AH, 0DH, "$" ERROR DB 0AH, 0DH, "Tecla presionada es erronea, intente de nuevo", 0AH, 0DH, "$" GRACIAS DB 0AH, 0DH, "Gracias por usar el programa", 0AH, 0DH, "$" DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, APA INT 21H MOV DX, 378H MOV AL, 0 OUT DX, AL LECTU: MOV AH, 01H INT 21H CMP AL, 71H JE FIN CMP AL, 61H JE APAGA CMP AL, 65H JE ENCEN MOV AH, 09H LEA DX, ERROR
  • 7.
    INT 21H JMPLECTU ENCEN: MOV AH, 09H LEA DX, ENC INT 21H MOV DX, 378H MOV AL, 1 OUT DX, AL JMP LECTU APAGA: MOV AH, 09H LEA DX, APA INT 21H MOV DX, 378H MOV AL, 0 OUT DX, AL JMP LECTU FIN: MOV AH, 09H LEA DX, GRACIAS INT 21H MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Este programa es para escribir un mensaje en pantalla usando el servicio 09H de la INT 21H Código: ;-Programa ejemplo para visualizar la palabra "MASM ES FACIL!". ;-Para ello vamos a utilizar el servicio 09H de la INT 21H. ;-En la cadena a imprimir usando el servicio 09H, debemos de colocarle ; el caracter "$" para indicar el fin de la cadena. ;-Al terminar de ejecutar nuestro programa, es necesario devolver el ; control de la maquina al sistema operativo. DATOS SEGMENT CAD1 DB "MASM ES FACIL!$" DATOS ENDS
  • 8.
    CODIGO SEGMENT ASSUMECS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, CAD1 INT 21H FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Código: CODIGO SEGMENT ASSUME CS:CODIGO INICIO: MOV AH, 02H ;SERVICIO DE IMPRESION DE CARACTER EN PANTALLA MOV DL, 'U' ;CARACTER ASCII A IMPRIMIR EN PANTALLA INT 21H MOV DL, 'P' ;CARACTER ASCII A IMPRIMIR EN PANTALLA INT 21H MOV DL, 'A' ;CARACTER ASCII A IMPRIMIR EN PANTALLA INT 21H MOV DL, 'O' ;CARACTER ASCII A IMPRIMIR EN PANTALLA INT 21H FIN: MOV AH, 4CH ;SERVICIO PARA RETORNAR EL CONTROL DE LA PC INT 21H ;AL SISTEMA OPERATIVO CODIGO ENDS END INICIO Saludos, aqui les paso la APP08, para titilear un LED Código: ;Este es un programa para titilar un LED por un pin del puerto paralelo ;Con la tecla 'y' titlamos el LED y con la tecla 'n' apagamos el LED ;Con la tecla 'q' salimos de la aplicacion
  • 9.
    DATOS SEGMENT TIT1DB "PROGRAMA PARA TITILAR UN LED", "$" OPT DB 0AH, 0DH, "ELIJA OPCION ('y' TITILAR, 'q' SALIR): ", "$" ONLED DB 0AH, 0DH, "EL LED TA TITILANDO PS", "$" OFFLED DB 0AH, 0DH, "EL LED YA NO TA TITILANDO PS", "$" ERRA DB 0AH, 0DH, "TECLA PRESIONADA INCORRECTA, INTENTE DE NUEVO", "$" CHAU DB 0AH, 0DH, "GRACIAS POR USAR EL PROGRAMA CHAUFAS", "$" DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, TIT1 INT 21H TECLA: MOV AH, 09H LEA DX, OPT INT 21H MOV AH, 01H ;SERVICIO PARA LEER UNA TECLA INT 21H CMP AL, 'y' JE TTLE ;SALTO PARA TITILEAR LED CMP AL, 'q' JE BYEBYE ;SALTO PARA SALIR DEL PROGRAMA ERROR: MOV AH, 09H LEA DX, ERRA INT 21H JMP TECLA TTLE: MOV AH, 09H LEA DX, ONLED INT 21H MOV CX, 20 LAZO: MOV DX, 378H MOV AL, 0 OUT DX, AL CALL RETAR MOV AL, 1 OUT DX, AL CALL RETAR LOOP LAZO
  • 10.
    MOV AH, 09H LEA DX, OFFLED INT 21H JMP TECLA RETAR: PUSH AX PUSH BX PUSH CX MOV AX, 1000 P3: MOV BX, 1000 P2: MOV CX, 100 P1: DEC CX JNZ P1 DEC BX JNZ P2 DEC AX JNZ P3 POP CX POP BX POP AX RET BYEBYE: MOV AH, 09H LEA DX, CHAU INT 21H MOV AH, 4CH INT 21H CODIGO ENDS END INICIO