Autore Topic: Moltiplicazione assembly  (Letto 515 volte)

Hal9000

  • Neo-iscritto
  • *
  • Post: 6
  • Gioco Preferito: impossible mission
Moltiplicazione assembly
« il: 21 Novembre 2019, 17:27:56 »
https://i.imgur.com/3VROY4I.png

Salve, sul libro Programmazione del 6502 è riportato un esempio di moltiplicazione, dopo l'ultima iterazione del ciclo, viene eseguita comunque un'operazione di scorrimento e rotazione che restano inutilizzate, volevo provare a modificare la logica del codice cercando di risparmiare qualche istruzione. Potete dirmi se la versione modificata nell'immagine è corretta? ???

thx :ciauz:


eregil

  • Administrator
  • Utente
  • *****
  • Post: 665
  • Gioco Preferito: Impossible Mission
Re:Moltiplicazione assembly
« Risposta #1 il: 21 Novembre 2019, 22:04:11 »
Per cortesia verso gli altri frequentatori, non utilizzare immagini quando non strettamente necessario: per riportare del codice, usa i tag {code}...{/code} (usa le quadre anziché le graffe). In questo modo resterà traccia delle tue domande sul forum e sarà possibile fare copia e incolla.
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

0scur0

  • Neo-iscritto
  • *
  • Post: 7
  • Gioco Preferito: -
Re:Moltiplicazione assembly
« Risposta #2 il: 22 Novembre 2019, 09:17:41 »
A un'occhiata veloce le due versioni del programma dovrebbero essere equivalenti, nella seconda ti risparmi di preparare il moltiplicando per una somma parziale che non avverrà.
Se ti va prova a ottimizzare ulteriormente la routine usando meno cicli.

eregil

  • Administrator
  • Utente
  • *****
  • Post: 665
  • Gioco Preferito: Impossible Mission
Re:Moltiplicazione assembly
« Risposta #3 il: 22 Novembre 2019, 09:27:45 »
Lo scopo di eseguire l'ultima iterazione del ciclo (non eseguito nella seconda versione) è quello di preservare il valore del fattore in una locazione di memoria. Inoltre la seconda versione ha anche il difetto di non essere rilocabile senza modifiche, data la presenza di una JMP. Questi sono i due motivi per cui l'autore originale non ha proposto queste modifiche. Sul libro è riportata anche una versione ottimizzata dell'algoritmo, poche pagine dopo.
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

Hal9000

  • Neo-iscritto
  • *
  • Post: 6
  • Gioco Preferito: impossible mission
Re:Moltiplicazione assembly
« Risposta #4 il: 26 Novembre 2019, 19:35:00 »
Grazie ad entrambi  :ciauz: