Idioma :

Página Cero

Las posiciones de cero a 255 ($0 a $FF) se denominan "página cero" y tienen especial importancia para los programadores de lenguaje ensamblador ya que la máquina accede a estas ubicaciones más rápida y fácilmente.


Las ubicaciones cero a 127 ($0 a $7F) están reservadas como la página cero del sistema operativo, mientras que de 128 a 255 ($80 a $FF) son la página cero del BASIC y la usada por el usuario en RAM.


Las ubicaciones cero a 1792 ($0 a $700) se usan como sistema operativo y (si el cartucho está presente) 8K BASIC RAM (excepto la página seis). Las ubicaciones cero a 8191 ($0 a $1FFF) son el mínimo requerido para la operación (8K).


Las ubicaciones dos a siete no se borran en ninguna operación de arranque.


NombreDecimal HexadecimalDescripción
POKMSK16$10Tecla BREAR, Para desactivar esta tecla debemos usar los siguientes comandos :
POKE 16,112:POKE 53774,112
APPMHI14, 15$D, $EUbicación más alta usada por BASIC (LSB, MSB)
RTCLOK18,19,20$12, $13, $14

Reloj del computador, Para cálculo de tiempo debemos usar la siguiente fórmula:

TIEMPO = INT((PEEK(18)*65536+PEEK(19)*256+PEEK(20))/60)

Para mostrar la hora en modo "hora:minuto:segundo" se requiere un programa específico.

BPTR61$3DEsta localización es un puntero para el siguiente byte a usar en el buffer del casete.
FEOF63$3FFin de archivo de casete: Si contiene un cero, significa que aún quedan datos, cualquier otro número indica que se ha encontrado el fin de archivo.
SOUNDR65$41Sonido de entrada/salida (I/O): Pokee esta dirección con un cero y el traspaso de información a los periféricos será silenciosa. Con otro número regresará el sonido.
FMZSPG67, 73$43, $49Sistema de administrador de archivos de disco (FMS) página cero de registros (siete bytes).
ATRACT77$4DCambio de color automático: Si su programa no utiliza el teclado por más de 7 minutos, pokee esta dirección con cero periódicamente para evitar la rotación de colores. Para comenzar inmediatamente la rotación pokee 77 con 128.
LMARGN82$52Margen izquierdo: El Sistema Operativo pone aquí un 2. Si desea cambiar este margen, ponga aquí el número correspondiente al margen deseado. Ej: POKE 82,20 (20=número de columnas a la izquierda del margen.)
RMARGN83$53Igual que 82 pero refleja la posición del margen derecho, inicializada en 39. Estas posiciones sólo son válidas para gráfico 0 y ventana de texto. Dicha ventana consiste en 4 líneas de gráfico cero en la parte inferior de otro modo gráfico, por ejemplo: gráfico 8.
ROWCRS84$54Posición de fila actual del cursor: Cero corresponde a la parte superior de la pantalla.
COLCRS85, 86$55, $56Posición de columna actual del cursor: Cero corresponde a la posición izquierda de la pantalla. Debe usarse el siguiente cálculo:
COL = PEEK(85) + PEEK(86)*256
SAVMSC88, 89$58, $59Inicio de la pantalla en RAM: Estas posiciones determinan en que parte de la RAM se encuentra el primer byte (parte superior izquierda) de la pantalla. Para imprimir el carácter A con poke usar la siguiente instrucción: POKE PEEK(88)+PEEK(89)*256,ASC("A")-32.
RAMTOP106$6ACantidad de RAM en páginas (una página=256 bytes). Para ubicar el fin de la memoria RAM use la siguiente instrucción: RAM=PEEK(106)*256. Para reservar Memoria debe usar la siguiente instrucción: POKE 106,PEEK(106)-número de páginas a reservar.
LOMEM128, 129$80, $81Puntero al comienzo de la RAM disponible. Trabaja conjuntamente con 743 y 744. Es una buena idea modificar este puntero para reservar memoria para datos o rutinas en Assembler.
VNTP130, 131$82, $83Puntero al comienzo de la tabla de nombres de variables del Basic.
VNTD132, 133$84, $85Puntero al fin de la tabla anterior.
VVTP134, 135$86, $87Puntero de la tabla de valores de las variables.
STMTAB136, 137$88, $89Puntero al comienzo del programa de Basic codificado.
STMCUR138, 139$8A, $8BPuntero a la línea codificada que está siendo utilizada actualmente por el Basic.
STARP140, 141$8C, $8DDirección de las matrices y variables alfanuméricas. Fin del programa codificado.
MEMTOP144, 145$90, $91Fin de la memoria utilizada por el Basic.
160, 161$A0, $A1Número de línea en la cual se encuentra trabajando el Basic.
STOPLN186, 187$BA, $BBLínea en la cual se detuvo la ejecución del programa Basic.
ERRSAVE195$C3Número de error que causo la detención del programa o la utilización de la instrucción "TRAP".
FR0212, 217$D4, $D9Usados por el paquete de coma flotante.

Hay 0 comentarios en esta página.