QL Programación Avanzada
Anterior Siguiente

Apéndice H - Sumario de TRAPS

De los 16 TRAPs disponibles, del 0 al 4 han sido reservados para usarlos con el QDOS, los otros, del 5 al 15, se pueden definir para aplicaciones de usuario. Para una información más detallada acerca de los TRAPs, vea los capítulos 5 a 7.

TRAP #0

Este TRAP se usa para cambiar de modo usuario a modo supervisor. Ningún registro se ve afectado por este TRAP.

TRAP #1 - TRAPs del Gestor

D0NombreDescripción
00MT.INFObtiene información del sistema y job actual
01MT.CJOBCrea job en el área de programas transitorios
02MT.JINFProporciona información de un job
04MT.RJOBBorra job del área de programas transitorios
05MT.FRJOBFuerza el borrado de un job del área de programas transitorios
06MT.FREEBusca el mayor espacio libre en el área de programas transitorios
07MT.TRAPVPone un vector de TRAP para un job
08MT.SUSJBSuspende un job
09MT.RELJBLibera un Job
0AMT.ACTIVActiva un job
0BMT.PRIORCambia la prioridad de un job
0CMT.ALLOCAsigna espacio en el área común
0DMT.LNKFREncadena espacio libre (devuelto) en el área común
0EMT.ALRESAsigna área de procedimientos residentes
0FMT.RERESLibera área de procedimientos residentes
10MT.DMODEPone y lee el modo de pantalla
11MT.IPCOMManda comandos al IPC
12MT.BAUDKPone la velocidad de transmisión
13MT.RCLCKLee el reloj
14MT.SCLCKPone en hora el reloj
15MT.ACLCKAjusta el reloj
16MT.ALBASAsigna área para el programa BASIC
17MT.REBASLibera área del programa BASIC
18MT.ALCHPAsigna área común
19MT.RECHPLibera área común
1AMT.LXINTConecta una rutina de servicio de interrupciones al QDOS
1BMT.RXINTBorra una rutina de servicio de interrupciones del QDOS
1CMT.LPOLLConecta al QDOS una rutina de servicio de 'polling' de 50/60Hz
1DMT.RPOLLBorra del QDOS una rutina de servicio de 'polling' de 50/60Hz
1EMT.LSCHDConecta al QDOS una tarea de bucle del planificador
1FMT.RSCHDBorra del QDOS una tarea de bucle del planificador
20MT.LIODConecta al QDOS un controlador de dispositivos
21MT.RIODBorra del QDOS un controlador de dispositivos
22MT.LDDConecta al QDOS un controlador de dispositivos de directorio
23MT.RDDBorra del QDOS un controlador de dispositivos de directorio

TRAP #2 - Asignación de E/S

D0NombreDescripción
01IO.OPENAbre un canal
02IO.CLOSECierra un canal
03ID.FORMTFormatea un medio por sectores
04IO.DELETBorra un fichero

TRAP #3 - Utilización de E/S

D0NombreDescripción
00IO.PENDComprueba una entrada pendiente
01IO.FBYTERecoge un octeto
02IO.FLINERecoge una línea de caracteres terminados con un <LF>
03IO.FSTRGRecoge una cadena de octetos
04IO.EDLINEdita una línea de caracteres (sólo consola)
05IO.SBYTEManda un octeto
07IO.SSTRGManda una cadena de octetos
09SD.EXTOPLlama a una operación extendida
0ASD.PXENQObtiene el tamaño de una ventana y la posición de su cursor (en puntos)
0BSD.CHENQObtiene el tamaño de una ventana y la posición del cursor (en caracteres)
0CSD.BORDRPone el ancho y color del borde
0DSD.WDEFRedefine una ventana
0ESD.CUREHabilita el cursor
0FSD.CURSSuprime el cursor
10SD.POSPosiciona el cursor (coordenadas de caracteres)
11SD.TABPosiciona el cursor en una columna de caracteres
12SD.NLPosiciona el cursor en una línea nueva de caracteres
13SD.PCOLPosiciona el cursor en el carácter anterior
14SD.NCOLPosiciona el cursor en el siguiente carácter
15SD.PROWPosiciona el cursor en la línea anterior
16SD.NROWPosiciona el cursor en la línea siguiente
17SD.PIXPPosiciona el cursor por coordenadas de puntos
18SD.SCROLHace 'scroll' de una ventana
19SD.SCRTPHace 'scroll' de la parte superior de una ventana
1ASD.SCRBTHace 'scroll' de la parte inferior de una ventana
1BSD.PANMueve una ventana lateralmente
1ESD.PANLNMueve lateralmente la línea del cursor
1FSD.PANRTMueve lateralmente el final de la línea del cursor
20SD.CLEARLimpia toda una ventana
21SD.CLRTPLimpia la parte superior de una ventana
22SD.CLRBTLimpia la parte inferior de una ventana
23SD.CLRLNLimpia la línea del cursor
24SD.CLRRTLimpia la parte derecha de la línea del cursor
25SD.FOUNTPone o quita el tipo de caracteres
26SD.RECOLCambia los colores de una ventana
27SD.SETPAPone el color del papel
28SD.SETSTPone el color del punteado
29SD.SETINPone el color de la tinta
2ASD.SETFLPone el modo parpadeo
2BSD.SETULPone el modo subrayado
2CSD.SETMDPone el modo en carácter o dibujo
2DSD.SETSZPone el tamaño y espacio del carácter
2ESD.FILLRellena un bloque rectangular en una ventana
30SD.POINTDibuja un punto
31SD.LINEDibuja una línea
32SD.ARCDibuja un arco
33SD.ELLIPSDibuja una elipse
34SD.SCALEPone la escala de la ventana
35SD.FLOODPone o quita el formato de relleno
36SD.GCURDefine la posición del cursor gráfico
40FS.CHECKComprueba todas las operaciones pendientes en un fichero
41FS.FLUSHLibera la memoria intermedia de un fichero
42FS.POSABPosiciona el apuntador absoluto de un fichero
43FS.POSREPosiciona el apuntador del fichero, relativo a la posición anterior
45FS.MDINFObtiene información sobre el medio
46FS.HEADSPone cabecera de fichero
47FS.HEADRLee la cabecera de un fichero
48FS.LOADCarga un fichero en memoria
49FS.SAVESalva un fichero desde memoria

TRAP #4 - Especial para BASIC

Este TRAP es especial para el intérprete de comandos del BASIC. Hace que las direcciones que se pasan a los TRAPs de E/S sean relativas a A6. Se usa para preceder a los TRAPs #2 y #3. Su efecto se cancela por los TRAPs #2 y #3. Para el TRAP #2, a la entrada se añade A6 a A0. Para el TRAP #3, se añade A6 a A1 y se quita a la salida. El TRAP #4 no tiene parámetros, no devuelve errores y preserva todos los registros. El TRAP #4 no se cancela con el TRAP #3 que devuelve el error NO (no abierto).

TRAP #5 - #15

Estos TRAPs no los usa el QDOS y se pueden asignar a aplicaciones del usuario.


Anterior Tabla de contenidos Siguiente
Códigos de error   Sumario de utilidades por vector