[zxspectrum] Re: Aggiornata routine matematica MUL

  • From: Cesare Falco <wallyweek@xxxxxxxxx>
  • To: zxspectrum <zxspectrum@xxxxxxxxxxxxx>
  • Date: Fri, 14 Aug 2015 11:46:21 +0200

Il 14 agosto 2015 11:33, Enrico Maria Giordano
<e.m.giordano@xxxxxxxxxxxxxxx> ha scritto:

Per migliorare i tempi magari si può velocizzare il confronto tra i
segni, come lo fai?

Credo sia ottimizzato al massimo: prendo i bit più alti degli operandi e li
memorizzo, negando gli operandi con segno negativo. Alla fine
dell'operazione faccio l'xor dei segni e se viene diverso da zero nego il
risultato.

forse risparmi un po' di tempo (poco) con una strada leggermente diversa:
carica nell'accumulatore il byte più significativo del primo operando,
fai lo xor con il byte più significativo del secondo operando,
sposta il bit di segno nel flag di carry ruotando a sinistra l'accumulatore,
se il flag di carry è acceso il risultato è negativo.

My 2-cents. :-)

Cesare

Other related posts: