[zxspectrum] Re: moltiplicazione tra due registri

  • From: Paolo Ferraris <pieffe8@xxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Mon, 22 Mar 2004 16:55:33 -0600

Paolo Ferraris wrote:

Stai usando il printer buffer, quindi al massimo 8 righe vero?

Ehm... come non detto. Ho riletto il tuo messaggio, Mario.


In Maziacs1 ho scritto una routine simile. Se la dimensione del codice e` una cosa importante, considera il seguente algoritmo.

LD L,C

ADD    HL,HL ; assumendo che H sia 0, questo moltiplica
ADD    HL,HL ; il numero di riga per
ADD    HL,HL ; otto

LD     H,22  ; con la stessa assunzione, questo aggiunge 5632,
            ; quindi HL=(riga*8+5632)

ADD    HL,HL ;
ADD    HL,HL ; HL=(riga*32+22528)

LD     A,L   ;
ADD    A,B   ;
LD     L,A   ; aggiunge il numero di colonna


Other related posts: