Idioma :

Página Tres

Las ubicaciones 768 a 831 ($300 a $33F) se utilizan para el manejador de dispositivos y vectores a las rutinas del manejador (dispositivos S:, P:, E:, D:, C:, R: y K:). Un manejador de dispositivo es una rutina utilizada por el sistema operativo para controlar la transferencia de datos en ese dispositivo en particular para la tarea asignada (como leer, escribir guardar, etc.).


NombreDecimal HexadecimalDescripción
DDEVIC768300

ID del bus de serie del dispositivo (tipo de dispositivo de serie) establecido por el manejador, no modificable por el usuario. Los valores son:


  • Unidades de disco D1 al D4 49-52 ($31-$34)
  • Impresora P1 64 ($40)
  • Impresora P2 79 ($4F)
  • Puertos RS232 R1 al R4 80-83 ($50-$53)
DUNIT769301Número de unidad de disco o dispositivo: de uno a cuatro, configurado por el usuario.
DCOMND770302

El número de la operación de disco o dispositivo (comando) que se realizará, establecido por el usuario o por el controlador del dispositivo antes de llamar a SIO. Los comandos del bus serie son:


  • Leer 82 ($52)
  • Escribe (con verificar) 87 ($57)
  • Estatus 83 ($53)
  • Poner (sin verificar) 80 (0)
  • Formato 33 ($21)
  • Descargar 32 ($20)
  • Leer dirección 84 ($54)
  • Leer giro 81 ($51)
  • Motor encencido 85 ($55)
  • Verificar sector 86 ($56)

Todos los anteriores son comandos de dispositivo de disco, excepto escribir y estatus, que también son comandos de impresora (sin verificación).

DSTATS771303El código de estado al regresar al usuario. También se usa para establecer la dirección de los datos; si el dispositivo debe enviar o recibir una trama de datos. El controlador de dispositivos utiliza este byte para indicar a SIO qué hacer después de enviar y confirmar la trama de comando. Antes de la llamada SIO, el controlador examina el BIT 6 (uno es igual a recibir datos) y el BIT 7 (uno es igual a enviar datos). Si ambos bits son cero, entonces no hay transferencia de datos asociada con la operación. Ambos bits establecidos en uno no son válidos. SIO lo usa para indicar al controlador el estado de la operación solicitada después de la llamada SIO.
DBUFLO/HI772,773304,305Dirección de búfer de datos del origen o destino de los datos que se van a transferir o la información de estado del dispositivo (o los datos del sector del disco). Establecido por el usuario, no es necesario establecerlo si no hay datos transferidos, como en una solicitud de estado.
DTIMLO774306El valor de tiempo de espera para el controlador en unidades de un segundo, proporcionado por el controlador para que SIO lo use. El valor de tiempo de espera del casete es 35, poco más de 37 segundos. Los valores del temporizador son 64 segundos por 60 unidades de medida. Inicializado a 31.
DUNUSE775307Byte no utilizado.
DBYTLO/HI776,777308,309El número de bytes transferidos hacia o desde el búfer de datos (o del disco) como resultado de la operación más reciente, establecida por el controlador.
También se utiliza para el conteo de datos de sectores defectuosos. Hay un pequeño error en SIO que provoca acciones incorrectas del sistema cuando el último byte en un búfer está en una ubicación de memoria que termina en $FF, como $A0FF.
PRNBUF960, 999$3C0, $3E7Estas posiciones de la memoria del computador definen una zona especial para la comunicación con la impresora. Cada byte que se desee imprimir debe pokearse en estas posiciones, pero si utilizamos el comando del BASIC LPRINT esta operatoria es automática.
CASBUF1021, 1151$3FD, $47FEstas posiciones de la memoria son utilizadas por el sistema operativo como un Buffer para la grabación o lectura de bloques con la casetera.

Hay 0 comentarios en esta página.