EOS

Come ottimizzare il codice assembler dei PICmicro

Come ottimizzare il codice assembler per i PICmicro

È noto che nel linguaggio assembler per PIC vi sono alcune istruzioni che prevedono un bit di destinazione: a seconda del valore di tale bit  il risultato dell’operazione verrà posto nel registro accumulatore W o nel registro sorgente coinvolto nell’operazione. Si supponga ad esempio di voler sommare il contenuto di due registri A e B quindi posizionare il risultato nel registro A. Un primo modo di effettuare questa operazione è quello riportato  nel listato 1, ovvero spostare in W il contenuto del registro A, effettuare la somma con il registro B posizionando il risultato in W, quindi  spostare il risultato da W ad A. L’operazione viene quindi eseguita con tre istruzioni.

Utilizzando il bit di destinazione con l’istruzione ADDWF è possibile risparmiare una istruzione utilizzando il codice riportato nel listato 2.

movf    A,W     ;sposta il contenuto di A nell’accumulatore W
addwf   B,W     ;somma a W il contenuto di B (risultato in W)
movwf   A       ;sposta in A il contenuto di W
Listato 1
movf   B,W      ;sposta il contenuto di B nell’accumulatore W
addwf  A,F      ;somma a W il contenuto di A (risultato in A)
Listato 2

9 Commenti

  1. testato 5 marzo 2016
  2. testato 5 marzo 2016
    • Emanuele Bonanni Emanuele 5 marzo 2016
  3. Maurizio Di Paolo Emilio Maurizio 5 marzo 2016
  4. testato 5 marzo 2016
    • Francesco Francesco 7 marzo 2016
  5. testato 8 marzo 2016

Scrivi un commento

EOS