BIN
00סooooo
primera fila (superior)
BIN
00סooooo
segunda fila
BIN o00ooo10
tercera fila
BIN 00111100
cuarta fila
BIN 01010100
quinta fila
BIN 00010100
sexta fila
BIN 00010100
séptima fila
BIN
00סooooo
octava fila (inferior)
(Si conoce el sistema de numeración binario, podemos decirle que
BIN
se utiliza para
escribir los números en ese sistema.) Observe este grupo de números binarios con los
ojos entornados: quizá incluso pueda ver el carácter
1r.
Estos ocho números quedan almacenados en ocho posiciones (bytes) de memoria.
Cada una de estas posiciones tiene una dirección. La dirección del primer byte (o gru
po de ocho dígitos binarios) es
USR
"P" [porque escogimos la 'P' en el apartado
(ii)].
La dirección del segundo byte es
USR "P"+1,
y así hasta llegar al octavo byte, cuya
dirección es
USR "P"+7.
Aquí,
USR
es una función que convierte un argumento literal en la dirección del pri
mer byte de memoria en que está almacenado el correspondiente gráfico definido por
el usuario. El argumento literal debe ser un solo carácter, bien el propio gráfico defi
nido por el usuario, bien la letra correspondiente (mayúscula o minúscula).
USR
tie
ne otro significado cuando su argumento es un número, pero de eso hablaremos más
adelante.
Pues bien, aunque no haya conseguido seguirnos en el proceso que acabamos de ex
plicar, pruebe el siguiente programa, que realiza la definición del carácter:
10 FOR
n=O
to 7
20 READ fila: POKE USR "P"+n. fila
30 NEXT
n
40 DATA BIN
00סooooo
50 DATA BIN
00סooooo
60 DATA BIN o00ooo10
70 DATA BIN 00111100
80 DATA BIN 01010100
90 DATA BIN 00010100
100 DATA BIN 00010100
110 DATA BIN
00סooooo
La sentencia
POKE
almacena directamente un número en una posición de memoria,
eludiendo el mecanismo normalmente usado por BASIC. Lo inverso de
POKE
es
PEEK,
función que permite leer (sin modificarlo) el contenido de las posiciones de
memoria. En la Sección 24 de este capítulo describiremos
PEEK
y
POKE
más deta
lladamente.
Capítulo 8. Guía de programación en +3 BASIC
112