puuuuhh....
I've never used MPLAB....
But, the bug must be inside the macro SHIFTL?WCW !
In front of the access to the high-byte of the source-word the CHKRP? is missing !
puuuuhh....
I've never used MPLAB....
But, the bug must be inside the macro SHIFTL?WCW !
In front of the access to the high-byte of the source-word the CHKRP? is missing !
PBP 2.50C, MCS+ 3.0.0.5, MPLAB 8, MPASM 5.14, ASIX Presto, PoScope, mE mikroBasic V7.2, PICKIT2
I just thought I'd add an aside to this...
I have experienced a peculiar situation that perfect working code suddenly won't compile without a stream of compile errors.
Nothing had changed. No code, no compiler versions, nothing.
However, I run my PC 24/7 every day. It NEVER gets switched OFF. I must have maxed out memory (1GB) with a host of applications, and good old Windows XP Pro though working perfectly, somewhere behind the scenes had screwed up.
A REBOOT of the PC and everything was back to normal, but for a while I was wondering what on earth was happening with my code.
@ Mel:
nice try ! ;-)
But, inside PBPPIC18.MAC:
SHIFTL?WCW macro Win, Cin, Wout
if (Cin == 1)
bcf STATUS, C
if (Wout == Win)
CHK?RP Wout
rlcf Wout, F
rlcf Wout + 1, F
else
CHK?RP Win
rlcf Win, W
MOVE?AB Wout
CHK?RP Wout <----- meeeeep
rlcf Win + 1, W
MOVE?AB Wout + 1
endif
else
MOVE?WW Win, R0
MOVE?CA Cin
L?CALL SHIFTL
MOVE?AWW R0, Wout
endif
endm
The marked part should be:
CHK?RP Win
Is this right ????
PBP 2.50C, MCS+ 3.0.0.5, MPLAB 8, MPASM 5.14, ASIX Presto, PoScope, mE mikroBasic V7.2, PICKIT2
I don't change the PIC (16F876),Are you compiling for a 16F or 18F part?But, inside PBPPIC18.MAC
I compile for PIC16F, but there is the same error in PBPPIC18.MAC and PBPPIC14.MAC.
PBP 2.50C, MCS+ 3.0.0.5, MPLAB 8, MPASM 5.14, ASIX Presto, PoScope, mE mikroBasic V7.2, PICKIT2
Can you post your code with variable declarations?
I don't want to post my source... it is one of our good cashcows.
But the error is obvious in the macro SHIFTL?WCW (and others) !
Before accessing an register, the RP-bits have to be set right. The programmer has interchanged Win and Wout.
Look at the SHIFTR?WCW-macro, it is right !
Last edited by BigWumpus; - 4th August 2006 at 15:40.
PBP 2.50C, MCS+ 3.0.0.5, MPLAB 8, MPASM 5.14, ASIX Presto, PoScope, mE mikroBasic V7.2, PICKIT2
Bookmarks