Manual de ensamblador
no
definido.FUNCIO
N
DESCRIPCION
PAR. ENTRADA
LECTURA
PAR. SALIDA
DE
NOMBRE MACRO
CARACTER
01H
Lee un carácter del dispositivo de entrada
stándard (con eco).
AH = 1
AL = carácter
READ_KBD_AND_ECHO
03H
Lee un carácter del dispositivo auxiliar
(COM1).
AH = 3
AL = carácter
AUX_INPUT
07H
Lee un carácter del dispositivo deentrada
stándard (sin eco).
AH = 7
AL = carácter
DIR_CONSOLE_INPUT
08H
Lee un carácter del teclado (sin eco)
AH = 8
AL = carácter
READ_KBD
ESCRITURA
DE
CARACTER
02H
Envía un carácter a la salida stándard
AH = 2 // DL = carácter
Ninguno
DISPLAY_CHAR CARACTER
04H
Envía un carácter al dispositivo auxiliar
AH = 4 // DL = carácter
NingunoAUX_OUTPUT CARACTER
05H
Envía un carácter a la impresora stándard
AH = 5 // DL = carácter
Ninguno
PRINT_CHAR CARACTER
OTRAS
DE
PANTALLA/TECLADO
06H
Si DL = 0FFH, devuelve el código ASCII de la
tecla pulsada y Fz = 0. Si no hay tecla
pulsada Fz = 1. Si DL 0FFH, éste se envía
a la salida stándard
AH = 6¡Error! Marcador no
definido.
DL -> (ver descripción)
SiDL = 0FFH antes de la llamada: Fz = 0
indica que AL tiene un carácter del teclado.
Si DL 0FFH no hay parámetro de salida
DIR_CONSOLE_IO SWITCH
09H
Envía un string terminado con '$' a la consola
AH = 9
DS:DX = puntero a string
Ninguno
DISP_STRING STRING
0AH
Lee un string del teclado
AH = 0AH
DS:DX = puntero a buffer
Ninguno
GET_STRING LIMIT,STRING
0BHComprueba si hay caracteres disponibles del
teclado
AH = 0BH
AL = 0FFH -> hay caracteres
AL = 0 -> No hay caracteres
CHECK_KBD_STATUS
0CH
Borra el buffer de teclado. Si AL contiene los
valores 1,6,7,8 ó 0Ah ejecuta la system call
respectiva.
AH = 0CH
AL = 1,6,7,8 ò = 0AH
si AL 1,6,7,8,0AH solo borra
buffer
AL = 0 (solo se vació el buffer)
Si se ejecutó la s.c. 1,6,7,8 ó0AH, los
propios de la función respectiva.
FLUSH_AND_READ_KBD SWITCH
Instituto ABACO
NOTAS
(1)
¡Error! Marcador
no
definido.FUNCION
DESCRIPCION
PAR. ENTRADA
MANEJO
PAR. SALIDA
DE
NOMBRE MACRO
NOTAS
DISCOS
0EH
Selecciona la unidad de disco actual
AH = 0EH
DL = código unidad (0=A, 1=B,
etc.)
Al = nº de unidades lógicas
SELECT_DISK DISK19H
Obtiene el código de la unidad actual
AH = 19H
AL -> disco actual (0=A, 1=B, etc.)
CURRENT_DISK
1AH
Pone la dirección del DTA
AH = 1AH
DS:DX = dirección del DTA
Ninguno
SET_DTA BUFFER
2FH
Obtiene la dirección del DTA
AH = 2FH
ES:BX = puntero al DTA
GET_DTA
36H
Devuelve el nº de clusters disponibles
AH = 36H
DL = unidad de disco
(0=defecto,1=A,2=B...)
AX = 0FFFFH si nº de disco inválido. En
caso contrario indica nº de sectores por
cluster.
BX = clusters disponibles
CX = bytes/sector
DX = nº de clusters totales
GET_DISK_SPACE DRIVE
MANEJO DE DIRECTORIOS
39H
Crea un directorio
AH = 39H
DS:DX = puntero a pathname
FC = 0 -> no hubo error
FC = 1 -> se produjo error
MAKE_DIR PATH
(2)
3AH
Borra undirectorio
AH = 3AH
DS:DX = puntero a pathname
FC = 0 -> no hubo error
FC = 1 -> se produjo error
REM_DIR PATH
(2)
3BH
Cambia de directorio
AH = 3BH
DS:DX = puntero a pathname
FC = 0 -> no hubo error
FC = 1 -> se produjo error
CHANGE_DIR PATH
(2)
47H
Devuelve el pathname absoluto del directorio
en curso de un disco
Instituto ABACO
AH = 47H
DS:SI ->puntero a buffer de 64
Bytes
DL = unidad de disco
(0=defecto,1=A,2=B,...)
Fc = 0 no hubo error
Fc = 1 hubo error; Si AX = 15 códiggo de
unidad de disco incorrecto
GET_DIR DRIVE,BUFFER
¡Error! Marcador
no
definido.FUNCION
DESCRIPCION
PAR. ENTRADA
MANEJO
PAR. SALIDA
DE
NOMBRE MACRO
NOTAS
(2)
FICHEROS
AH = 3CH
DS:DX = puntero a string donde
reside el...
Regístrate para leer el documento completo.