includere file con macro in mplab per pic

Mar 27, 2006 7 Replies

Salve a tutto il ng a proposito della programmazione inassembly della famiglia 16fx è possibile includere un file .inc (o altro formato) contente delle macro? Dalle prove effettuate non funziona. o meglio lo include ma poi non richiama la giusta macro. Perche?



Grazie per l'aiuto!


Il giorno Mon, 27 Mar 2006 17:59:02 +0200, Manuele ha scritto:

Così: #include "..\..\include\macros.inc" ; User macros

Ovviamente il percorso lo devi adattare al tuo caso.

Gli include dei file macro li inserisco subito prima della direttiva "org 0", mentre gli include dei file delle procedure di libreria alla fine del codice, immediatamente prima della direttiva "end".

Luigi 6 un mito!

Luigi C. ha scritto:

però non mi funzia...

;main.asm

...

#include "utility_16f876.inc" ; User macros ;********************************************************************** RESET_VECTOR CODE 0x000 ; processor reset vector BANK0 goto start ; go to beginning of program

; utility

BANK0 MACRO BCF STATUS,RP0 ; clear bank select bits BCF STATUS,RP1 ENDM

BANK1 MACRO BSF STATUS,RP0 ; BCF STATUS,RP1 ; ENDM

...

invece di eseguire la macro BANK0 esegue il codice nel file incluso (utility_16f876.inc) a partire dalla stessa riga dove si trova il file main.asm (stranissimo!) Ps. io uso codice rilocabile (quindi con direttive CODE... e non ORG...)

Luigi C. ha scritto:

ro?

A proposito, fatemi memoria che non ho voglia di controllare :-)

L'istruzione __configure 0x** negli header non fa altro che andare a modificare le flag del registro config, vero?

Io.

se è riferito al codice postato ovviamente non ho postato l'intero file! e la riga di configurazione dei flag l'ho omessa me nel progetto cè!

Colossale Pezzo di Idiota ha scritto:

Il giorno Tue, 28 Mar 2006 10:54:52 +0200, Manuele ha scritto:

A questo punto non so cosa dirti, non ho mai utilizzato codice rilocabile con i pic.

Manuele ha scritto:

No, in generale. __config 0x** va a settare il registro config, vero?

Io.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required