[zxspectrum] 6502: la pagina zero

  • From: Roberto Montaruli <rmontaruli@xxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Fri, 6 Feb 2004 01:28:33 -0800 (PST)

Fatemi capire: questa fantomatica pagina 0 sarebbero quindi i primi 256
indirizzi della memoria, da 0000 a 00FF ?

Quindi qui, o si dedica la stessa area di ram dello Z80 da 0000 a 00FF alla
medesima funzionalita' (pero' lo spectrum ha la rom a quell'indirizzo) oppure
si dedica un qualunque intervallo di 256 byte alla medesima cosa, fermo
restando che non si vada a confliggere con altro codice.

Si potrebbe creare per lo Z80 una sorta di emulazione di pagina zero
rilocabile.
Usando il registro IY per esempio.

Si inizializza IY all'indirizzo rilocato della pagina zero sullo Z80

LD  IY, PAGINA_ZERO;

e cosi' resta per tutto il tempo.

Poi per caricare dalla pagina zero all'accumulatore e viceversa si fa

LD  A, (IY+N);
LD  (IY+N), A;

Se ho ben interpretato il meccanismo...

A questo punto, visto che i registri X e Y del 6502 sono a 8 bit, e' inutile
sprecare i nostri IX e IY indicizzabili, usiamo per emularli, banalmente DE o
BC, eviterei HL perche' e' piu' versatile e magari puo' essere impiegato meglio
per altre funzionalita'.

Certo che questo assembler del 6502 mi pare molto casinoso.
Io oltre che con Z80 ho lavorato con il motorola 68000 con l'8051, con gli
80x86 e mi sono sembrati molto piu' pratici.

Il 68000 e' poi in assoluto il migliore per semplicita', praticita',
versatilita', indirizzamento.

=====
//
//   In a world without walls and fences
//     you would not need windows and gates. 
//                               (Confucio)
==
P'n'P: http://maicrosoft.italiamac.com

__________________________________
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html

Other related posts: