Descargar Imprimir esta página

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

Publicidad

banco t
bankm
baneo2
bank678
seleee
dos_reLxdpb
dd_6Scr--Sector
dd_reconocer
org
.phase
equ 07FFDh
equ 05B5Ch
equ 01FFDh
equ
05B67h
equ
01601h
equ 0151h
equ 0166h
equ 0175h
o
07000h
;puerta
de
paginación
de
RA M y
de
conmutación horizontal
de ROM
;
variable de sistema
asociada
;puerta
de conm
utaci6n
vertical de
ROM
;variable
de
sistema
asociada
;rutina de
BASIC para
abrir
canales
;véase
la Secci6n
Z7
(Est o hace que
MBO
genere
un
fichero
.COM
cuyas
direcciones están
referidas
a
7000h.
Se
ensambla
con
"
MOO
~
prog
" y se enlaza
con
"
LOO
/
p:O./d
:O,prog,prog/n:p/y/
e"
.
A
este
fichero se le
puede
pone,
una
cabecera
con COPY
..
.T
O
SPECT RUM FORMAT
y enton
ces
se
lo
puede
cargar
con LOAD.
,
.
CODE
28672.
; Posiblemente
se
requerirá
otra
técnica si
se
trabaja
con otros
ensambladores.)
empezar :
Id
Ipiiaantig
l,s
p
Id
sp,mipíla
push
iy
Id
a,"
A
"
Id
iy,dos_ reLxdpb
call
ledos
Id
e.o
pus
h
ix
Id
iy,dcLreconocer
call
lrdos
pop
ix
Id
hl,sectorinic
Id
bc,512
xor
e
Id
(sectorinie+
151,8
Id
e.a
buclesuma
:
Id
a.e
add
a,
(hll
Id
e,a
inc
hl
dec
bc
Id
a
.b
or
c
ir
nz.buclesuma
id
a,e
cpl
edd
a,4
Id
(sectorinic+ 15),a
Id
b,O
Id
e.O
Id
d,O
Id
e,O
Id
hl,sectorinic
Id
¡y
,dd_escr---sector
ca
11
irdos
pop
iy
Id
sp, l pilaantig l
ret
;guardar el punte ro
de pila de BASIC
;poner
la
pila
por
debajo de las
páginas
de
RAM
conmutab les
;guardar
IV
en
la
pila
por
el
mom
ento
;unidad A
;IX tiene que
apuntar al XDPB
de
A lnecesario para
invocar rutinas
de DOS)
;reconocer el
disco de la unidad
O
para Que
al
escribir
sectores
DOS
no nos
diga
;que hemo
s
cambiado el
disco
;vamo
s
8
hacer la
suma
de comprobación de
los
512
bytes
del sector
.lnictalizamos
la
suma
;
E
conten
drá
la sum a en
8
bits
;este bucle
hace la
suma
de
comprobación
(en
8
bits)
de
los
512
bytes
del
sector
;y
la va
depositando en
E
;A cont
iene
la suma en 8
bits
;complemento a uno
(+1
dará valor
negativo)
;sumar
3
para hacer suma igual a
3,
+
1
para
hacer
complemento
a dos
;hace que la suma de los bytes sea
3
al tomarla
módulo
256
;página O en COOOh
;unidad O
;pista
O
;seetor ffsico
1
(o
sea, sector lógico
O)
;direcci6n de la información que vamos
a
escribir en el sector de
inicialización
;escribir el sector en el disco
;restablecer
IV
para que
BA51C
pueda hacer
referencia a sus variables de
sistema
;restablecer la pila original
;retornar a la USR de BASIC
Sección 26. Utilización del código de máquina
2
17

Publicidad

loading