Descargar Imprimir esta página

AMSTRAD sinclair ZX Spectrum +3 Manual Del Usario página 225

Publicidad

asteaste:
defb
"*.*",FFh
;nombre de
fichero,
que tiene
que terminar en FFh
dosret:
defw
o
;variable que
leeremos
en
BASIC para ver si la rutina ha tenid
o
éxito
En beneficio de
los lectores
que no
dispongan
de un programa
ensamblador ,
facilitamos
el siguiente pro
grama
de BASIC,
que
coloca
los
bytes del programa anterior en la memo­
ria,
lo
ejecuta
y
finalmente utiliza el valor entregado por USR
y
el
cont enido de '
dosret'
para escribir un sencillo catálogo del
disco:
10 LET suma=O
20 FOR i=28672 TO 28758
30 READ n
40 POKE i.n
:
LET suma=suma+n
50 NEXT i
60 IF suma
<>
9387 THEN PRINT "Hay un error en las líneas DATA" : STOP
70 LET x=USR 28672
80 IF INT ( PEEK (28757)/2)= PEEK (28757)/2 THEN PRINT "Error de
disco "; PEEK (28758) : STOP
90 IF x=1 THEN PRINT "No hay ficheros": STOP
100 FOR i=O TO x-2
110 FOR j=O TO 10
120 PRINT CHR$ ( PEEK (32781+i*13+j));
130 NEXT
j
140 PRINT
150 NEXT i
160 DATA
243,237.115,0,144,1,253,127,58,92,91,203.167,246,7.
50,92,91,237 ,121.49,255,159,251
170 DATA 33,0,128,17,1,128,1,0.4,54,0,237.176,6.64.14.1
,17,0,
128,33,81,112,205,30,1.245,225,34,85,112.72,6,0
180 DATA
243,197.1,253,127,58.92,91,203,231,230.248,50,92.91,
237.121.193,237,123,0,144.201
190 DATA
42.46,42,255,0,0
Las dir
ecciones
que hemos elegido para el
programa anterior
y
sus
datos son enteramente
arbitrari as.
No
obstante, es buena idea limitarse a
los
32K centrales siempre que sea posi­
ble,
con
objeto
de eludir el riesgo de que algun
a
variable o algún trozo del programa se
pierdan
al
ser
«desconmutados».
Si
las
inte
rrup ciones
tienen que estar
habilitadas (como
ocurria en el ejemplo anterior),
es
fund
amental
mantener el sistema informado
acerca de la
conmutación de ROM más
reciente.
En concreto, compete al usuario
conseguir
que la variable de sistema BANK678
Sección
26.
Utilización del
código
de máquina
2
15

Publicidad

loading