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.
Este TRAP se usa para cambiar de modo usuario a modo supervisor. Ningún registro se ve afectado por este TRAP.
D0 | Nombre | Descripción |
00 | MT.INF | Obtiene información del sistema y job actual |
01 | MT.CJOB | Crea job en el área de programas transitorios |
02 | MT.JINF | Proporciona información de un job |
04 | MT.RJOB | Borra job del área de programas transitorios |
05 | MT.FRJOB | Fuerza el borrado de un job del área de programas transitorios |
06 | MT.FREE | Busca el mayor espacio libre en el área de programas transitorios |
07 | MT.TRAPV | Pone un vector de TRAP para un job |
08 | MT.SUSJB | Suspende un job |
09 | MT.RELJB | Libera un Job |
0A | MT.ACTIV | Activa un job |
0B | MT.PRIOR | Cambia la prioridad de un job |
0C | MT.ALLOC | Asigna espacio en el área común |
0D | MT.LNKFR | Encadena espacio libre (devuelto) en el área común |
0E | MT.ALRES | Asigna área de procedimientos residentes |
0F | MT.RERES | Libera área de procedimientos residentes |
10 | MT.DMODE | Pone y lee el modo de pantalla |
11 | MT.IPCOM | Manda comandos al IPC |
12 | MT.BAUDK | Pone la velocidad de transmisión |
13 | MT.RCLCK | Lee el reloj |
14 | MT.SCLCK | Pone en hora el reloj |
15 | MT.ACLCK | Ajusta el reloj |
16 | MT.ALBAS | Asigna área para el programa BASIC |
17 | MT.REBAS | Libera área del programa BASIC |
18 | MT.ALCHP | Asigna área común |
19 | MT.RECHP | Libera área común |
1A | MT.LXINT | Conecta una rutina de servicio de interrupciones al QDOS |
1B | MT.RXINT | Borra una rutina de servicio de interrupciones del QDOS |
1C | MT.LPOLL | Conecta al QDOS una rutina de servicio de 'polling' de 50/60Hz |
1D | MT.RPOLL | Borra del QDOS una rutina de servicio de 'polling' de 50/60Hz |
1E | MT.LSCHD | Conecta al QDOS una tarea de bucle del planificador |
1F | MT.RSCHD | Borra del QDOS una tarea de bucle del planificador |
20 | MT.LIOD | Conecta al QDOS un controlador de dispositivos |
21 | MT.RIOD | Borra del QDOS un controlador de dispositivos |
22 | MT.LDD | Conecta al QDOS un controlador de dispositivos de directorio |
23 | MT.RDD | Borra del QDOS un controlador de dispositivos de directorio |
D0 | Nombre | Descripción |
00 | IO.PEND | Comprueba una entrada pendiente |
01 | IO.FBYTE | Recoge un octeto |
02 | IO.FLINE | Recoge una línea de caracteres terminados con un <LF> |
03 | IO.FSTRG | Recoge una cadena de octetos |
04 | IO.EDLIN | Edita una línea de caracteres (sólo consola) |
05 | IO.SBYTE | Manda un octeto |
07 | IO.SSTRG | Manda una cadena de octetos |
09 | SD.EXTOP | Llama a una operación extendida |
0A | SD.PXENQ | Obtiene el tamaño de una ventana y la posición de su cursor (en puntos) |
0B | SD.CHENQ | Obtiene el tamaño de una ventana y la posición del cursor (en caracteres) |
0C | SD.BORDR | Pone el ancho y color del borde |
0D | SD.WDEF | Redefine una ventana |
0E | SD.CURE | Habilita el cursor |
0F | SD.CURS | Suprime el cursor |
10 | SD.POS | Posiciona el cursor (coordenadas de caracteres) |
11 | SD.TAB | Posiciona el cursor en una columna de caracteres |
12 | SD.NL | Posiciona el cursor en una línea nueva de caracteres |
13 | SD.PCOL | Posiciona el cursor en el carácter anterior |
14 | SD.NCOL | Posiciona el cursor en el siguiente carácter |
15 | SD.PROW | Posiciona el cursor en la línea anterior |
16 | SD.NROW | Posiciona el cursor en la línea siguiente |
17 | SD.PIXP | Posiciona el cursor por coordenadas de puntos |
18 | SD.SCROL | Hace 'scroll' de una ventana |
19 | SD.SCRTP | Hace 'scroll' de la parte superior de una ventana |
1A | SD.SCRBT | Hace 'scroll' de la parte inferior de una ventana |
1B | SD.PAN | Mueve una ventana lateralmente |
1E | SD.PANLN | Mueve lateralmente la línea del cursor |
1F | SD.PANRT | Mueve lateralmente el final de la línea del cursor |
20 | SD.CLEAR | Limpia toda una ventana |
21 | SD.CLRTP | Limpia la parte superior de una ventana |
22 | SD.CLRBT | Limpia la parte inferior de una ventana |
23 | SD.CLRLN | Limpia la línea del cursor |
24 | SD.CLRRT | Limpia la parte derecha de la línea del cursor |
25 | SD.FOUNT | Pone o quita el tipo de caracteres |
26 | SD.RECOL | Cambia los colores de una ventana |
27 | SD.SETPA | Pone el color del papel |
28 | SD.SETST | Pone el color del punteado |
29 | SD.SETIN | Pone el color de la tinta |
2A | SD.SETFL | Pone el modo parpadeo |
2B | SD.SETUL | Pone el modo subrayado |
2C | SD.SETMD | Pone el modo en carácter o dibujo |
2D | SD.SETSZ | Pone el tamaño y espacio del carácter |
2E | SD.FILL | Rellena un bloque rectangular en una ventana |
30 | SD.POINT | Dibuja un punto |
31 | SD.LINE | Dibuja una línea |
32 | SD.ARC | Dibuja un arco |
33 | SD.ELLIPS | Dibuja una elipse |
34 | SD.SCALE | Pone la escala de la ventana |
35 | SD.FLOOD | Pone o quita el formato de relleno |
36 | SD.GCUR | Define la posición del cursor gráfico |
40 | FS.CHECK | Comprueba todas las operaciones pendientes en un fichero |
41 | FS.FLUSH | Libera la memoria intermedia de un fichero |
42 | FS.POSAB | Posiciona el apuntador absoluto de un fichero |
43 | FS.POSRE | Posiciona el apuntador del fichero, relativo a la posición anterior |
45 | FS.MDINF | Obtiene información sobre el medio |
46 | FS.HEADS | Pone cabecera de fichero |
47 | FS.HEADR | Lee la cabecera de un fichero |
48 | FS.LOAD | Carga un fichero en memoria |
49 | FS.SAVE | Salva un fichero desde memoria |
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).
Estos TRAPs no los usa el QDOS y se pueden asignar a aplicaciones del usuario.