You are on page 1of 6

INT 21H Funcin 01H - Entrada de Carcter con Eco ( salida)

LLAMADA:

AH = 01H

DEVUELVE: AL = Cdigo ASCII del Carcter ledo y Echo a pantalla


(si AH =08H) es servicio sin Echo)

EFECTO: Se lee un carcter del dispositivo de entrada estndar, y se enva al dispositivo


estndar de salida. Si al llamar a la funcin no haba ningn carcter disponible,
se esperar a que lo haya. Normalmente el dispositivo estndar de entrada es el
teclado, y el dispositivo estndar de salida es la pantalla.
SINTAXIS:

mov ah,01h
int 21h

EJEMPLO:

.MODEL SMALL
.STACK 20H
.DATA
dato DB 0

;variable donde guardaremos el dato ledo

.CODE
inicio:
mov ax, @Data
mov ds, ax
mov ah, 01h
int 21h
mov dato, al

;mover lo que lemos a la variable

mov dato[bx+1],'$'

;agrego al final de la variable $ para que no


;muestre basura

mov ah, 09h


mov dx, offset dato
int 21h

;muestro la cadena leda

mov ah, 08h


int 21h

;simular Console.ReadKey()

mov ax, 4c00h


int 21h

;salir del programa y regresar al DOS

end inicio

INT 21H Funcin 02H - Salida de Carcter


LLAMADA: AH = 02H
DL = Cdigo ASCII a enviar al dispositivo de salida.
DEVUELVE: NADA.

EFECTO: Se enva el carcter depositado en el registro DL al dispositivo estndar de salida.


La salida puede ser redireccionada hacia un fichero, impresora, etc.

SINTAXIS: mov ah, 02h


int 21h

EJEMPLO:
.MODEL SMALL
.STACK 20H
.DATA
.CODE

inicio:
mov ax, @Data
mov ds, ax
mov ah, 02h
mov dl, 61h

;salida de un caracter
;codigo ASCII del caracter a imprimir, en
;este caso es 'a'

int 21h
mov ah, 08h
int 21h
mov ax, 4c00h
int 21h
end inicio

;simular un Console.ReadKey()
;salir y regresar el control al DOS

INT 21H Funcin 07H - Entrada bloqueante sin eco y omisin de Ctrl-Break.
LLAMADA: AH = 07H
DEVUELVE: AL = Cdigo ASCII ledo
EFECTO: Espera a que se pulse una tecla sin eco y omitiendo un posible Ctrl-Break.
El cdigo ASCII del carcter se devuelve en el registro AL.

SINTAXIS: mov ah, 07h


int 21h

EJEMPLO:
.MODEL SMALL
.STACK 20H
.DATA
dato DB 0
.CODE

inicio:
mov ax,@Data
mov ds, ax
mov ah, 07h
int 21h

;Espera a que se pulse una tecla sin


;eco
;la tecla pulsada se guarda en AL

mov dato, al
mov dato[bx+1],'$'

;guardo la tecla presionada en dato


;para evitar basura le agrego un $ a dato

mov ah, 09h


mov dx, offset dato
int 21h

;muestro la tecla presionada

mov ax, 4c00h


int 21h
end inicio

;salir y regresar a DOS

INT 21H Funcin 08H - Entrada bloqueante sin eco y atencin a Ctrl-Break
LLAMADA: AH = 08H
DEVUELVE: AL = Cdigo ASCII ledo
EFECTO: Espera a que se pulse una tecla sin eco y comprobando si es Ctrl-Break en cuyo caso
dispara la interrupcin de break de teclado. El cdigo ASCII del carcter se devuelve
en el registro AL

SINTAXIS: mov ah, 08h


int 21h

EJEMPLO:
.MODEL SMALL
.STACK 20H
.DATA
dato DB 0
.CODE
inicio:

mov ax,@Data
mov ds, ax
mov ah, 08h
int 21h

;Espera a que se pulse una tecla


;sin eco
;la tecla pulsada se guarda en AL

mov dato, al
mov dato[bx+1],'$'

;guardo la tecla presionada en dato


;para evitar basura le agrego un $ a dato

mov ah, 09h


mov dx, offset dato
int 21h

;muestro la tecla presionada

mov ax, 4c00h


int 21h
end inicio

;salir y regresar a DOS

INT 21H Funcin 09H - Visualizacin de una cadena de caracteres


LLAMADA: AH = 09H

DS:DX = Segmento: Desplazamiento de la cadena a visualizar (in DX offset


address of string in data segment)
DS debe apuntar al segmento donde se encuentra la cadena.
DX debe contener el desplazamiento de la cadena dentro de ese segmento.

DEVUELVE: NADA
EFECTO: Se enva una cadena de caracteres al dispositivo estndar de salida. Si no se ha
redireccionado la salida, la cadena se enviar a la pantalla.

SINTAXIS: mov ah, 09h


mov dx, offset MSG
int 21h

EJEMPLO:
.MODEL SMALL
.STACK 20H
.DATA
dato DB 'Esta es una cadena$'
.CODE
inicio:

mov ax, @Data


mov ds, ax
mov ah, 09h
mov dx, offset dato
int 21h

;Mostrar dato en pantalla

mov ah, 08h


int 21h

;Simular un Console.ReadKey()

mov ax, 4c00h


int 21h

;Salir y regresar al DOS

end inicio

INT 21H Funcin 4CH - Terminacin de Programa con Cdigo de Retorno


LLAMADA: AH = 4CH
AL = Cdigo de retorno para el programa padre

DEVUELVE: NADA
EFECTO: Se finaliza la ejecucin del programa en curso, y se devuelve un cdigo de retorno al
programa padre.

SINTAXIS: mov ax, 4c00h


int 21h

EJEMPLO:
.MODEL SMALL
.STACK 20H
.DATA
.CODE
inicio:

mov ax, @Data


mov ds, ax

mov ax, 4ch


int 21h
end inicio

;salir y regresar al DOS

You might also like