Problems using SDEC
I'm using the HomeWork Board USB.
After loading and running the following program, I find 255 displayed when ever a -1 should be displayed. The line: "ATN (", SDEC xCoord, ", ", SDEC yCoord, ")" is placing 255 when xCoord or yCoord is equal to -1.
What am I doing wrong?
Thanks!
' {$STAMP BS2}
' {$PBASIC 2.5}
idx VAR Nib ' loop counter
xCoord VAR Byte ' x coordinate of vector
yCoord VAR Byte ' y coordinate of vector
brads VAR Word ' angle in brads
degr VAR Word ' angle in degrees
Main:
FOR idx = 0 TO 7 ' load vector data
LOOKUP idx, [ 1, 1, 0, -1, -1, -1, 0, 1], xCoord
LOOKUP idx, [ 0, 1, 1, 1 , 0, -1, -1, -1], yCoord
brads = xCoord ATN yCoord ' get angle of vector
degr = brads * 180 / 128 ' convert to degrees
DEBUG DEC (idx + 1), ": ",
"ATN (", SDEC xCoord, ", ", SDEC yCoord, ")",
CRSRX, 18, "= ", DEC brads, " (", DEC degr, ")", CR
NEXT
END
After loading and running the following program, I find 255 displayed when ever a -1 should be displayed. The line: "ATN (", SDEC xCoord, ", ", SDEC yCoord, ")" is placing 255 when xCoord or yCoord is equal to -1.
What am I doing wrong?
Thanks!
' {$STAMP BS2}
' {$PBASIC 2.5}
idx VAR Nib ' loop counter
xCoord VAR Byte ' x coordinate of vector
yCoord VAR Byte ' y coordinate of vector
brads VAR Word ' angle in brads
degr VAR Word ' angle in degrees
Main:
FOR idx = 0 TO 7 ' load vector data
LOOKUP idx, [ 1, 1, 0, -1, -1, -1, 0, 1], xCoord
LOOKUP idx, [ 0, 1, 1, 1 , 0, -1, -1, -1], yCoord
brads = xCoord ATN yCoord ' get angle of vector
degr = brads * 180 / 128 ' convert to degrees
DEBUG DEC (idx + 1), ": ",
"ATN (", SDEC xCoord, ", ", SDEC yCoord, ")",
CRSRX, 18, "= ", DEC brads, " (", DEC degr, ")", CR
NEXT
END
Comments