Calcolo seno o coseno con Z80

May 25, 2026 Last reply: 1 month ago 6 Replies

VeganoQualunque snipped-for-privacy@newsgrouper.org.invalid> ha scritto:

Devo cercarla, ma per disegnare un cerchio non serve scomodare la trigonometria, esistono esistono algoritmi che lo fanno senza.

alfio snipped-for-privacy@alfio.net ha scritto:

formatting link

Buongiorno, dovrei calcolare un seno o un coseno con lo Z80, per disegnare una curva sullo schermo grafico che ho aggiunto al computer Z80 di Nuova Elettronica La routine per accendere un pixel tramite coordinate l'ho già scritta



Ho trovato questo codice ma ci sono alcune cose che non riesco a capire:



formatting link
In particolare che relazione c'è fra il valore in DE, l'angolo in gradi e l'angolo in decimale?



LD DE,12AFH ; Angle = -1.57079632679 (-90°)



Oppure fra questo valore fisso e il valore esadecimale?



LD HL,03B6AH ; x = FIXED(0.607252935..);



Forse la routine è troppo precisa per lo scopo che mi serve, ma al momento non ho trovato altro.


Un bel giorno VeganoQualunque digitò:

-1.571 corrisponde a -90 gradi in radianti (-pi/2).

Apparentemente la routine usa aritmetica fixed point a 32 bit, quindi carica il valore in B,C,D,E (che immagino siano registri dello Z80):

LD DE,12AFH ; Angle = -1.57079632679 (-90°) LD BC,9B78H

In particolare sembra usare la codifica fixed point Q2.30:

BCDE = 9B7812AFh = -1686629713

Poi lo dividi per il fattore di Q2.30 ossia 2^30:

-1686629713/2^30 = −1.570796327

Grazie, sarebbe interessante disegnare anche una circonferenza, ma al momento l'obiettivo sarebbe proprio tracciare la sinusoide

Ecco, questo è già un buon inizio, grazie. La routine penso di poterla analizzare, quello che mi manca sono proprio le conversioni.

Il 25/05/2026 09:51, VeganoQualunque ha scritto:

Se è solo per disegnare un grafico potresti fare una tabella, molto veloce nell'esecuzione.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required