I'm trying to set a variable to the negative of another variable by saying:
remaining = -rows
Where rows has already been set to 8, but remaining seems to end up being set to 0 instead of -8.
I'm trying to set a variable to the negative of another variable by saying:
remaining = -rows
Where rows has already been set to 8, but remaining seems to end up being set to 0 instead of -8.
"...Keep in mind that all of the math and comparisons in PBP are unsigned."
Will you use that negative number in a math operation or is it just for a representation on LCD or sending via a serial comm. etc?
"If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte
Unless it has something to do with a previous version of PBP, can't say.
But this simple program comes up with 248 (-8). PBP 2.46Something you might try is ...Code:@ __CONFIG _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H define OSC 20 clear remaining var byte rows var byte rows = 8 remaining = -rows stop
remaining = 0 - rows
DT
I'm not using it for any math operations, just to control the start of a for loop.
for some reason when remaining is negative this part "crashes"Code:for i = remaining toremaining + (rows - 1) if i < 0 then messageScroll[writePos] = $0 endif if i >= 0 and i < messagelength then messageScroll[writePos] = message[i] endif if i >= messageLength then messageScroll[writepos] = $0 endif writePos = writePos + 1 next i
Last edited by RUBiksCUbe; - 24th September 2006 at 20:24.
Hi RUBiksCUbe,
Where do you get this "Remaining" variable into negative? Are you setting it to "negative" somewhere before this loop as you stated in the example above?
Also, here I made the same code of yours in a different look.
It seems you only need the negative value for " messageScroll[writePos] = $0 "
Code:for i = remaining to remaining + (rows - 1) if i < 0 then messageScroll[writePos] = $0 else if i < messagelength then messageScroll[writePos] = message[i] else messageScroll[writepos] = $0 endif endif writePos = writePos + 1 next i
Also, are you setting other variables to an initial value at the beginning?
--------------------------
Last edited by sayzer; - 25th September 2006 at 10:54.
"If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte
At the very beginning I have
Code:rows = 8 remaining = (0 - rows)
Bookmarks