Salve a tutti, in alcuni programmi mi capita di utilizzare blocchi di istruzioni ripetuti molte volte, ma che non merita siano inseriti in una subroutine, poichè cambiano alcune costanti, e passargliele attraverso alcune variabili non sarebbe convieniente. Faccio un esempio:
MOVLW low x_coord CALL SD_CMD MOVLW high x_coord CALL SD_CMD MOVLW low y_coord CALL SD_CMD MOVLW high y_coord CALL SD_CMD
dove x_coord e y_coord sono due costanti a 16 bit definite in mplab. Il blocco mi serve più volte, ovviamente con differenti valori delle costanti. Inserire tutto in una routine, e poi dovergli passare i valori attraverso 4 variabili (a 8 bit) non conviene, poichè è comunque necessario scrivere le solite 8 righe per caricare le costanti, oltre a chiamare la subroutine.
E' possibile istruire il compilatore a scrivere il blocco sopra, richiamandolo nel programma con una pseudo istruzione tipo:
fai_questo_utilizzando: x_coord, y_coord
Poi compilando il programma il complilatore scrive le istruzioni del blocco... Ovviamente il blocco dovrà essere definito a parte, meglio se nello stesso file asm.
Ciao!
_________________ Non accontentarti mai, scegli gli strumenti giusti, usali bene, non accettare compromessi, pretendi il successo. Poi ricomincia da capo.
Nel mondo esistono 10 tipi di persone: -chi conosce il codice binario -chi non conosce il codice binario
|