4: BASIC Stamp Architecture – +, -, *
BASIC Stamp Programming Manual 2.0c • www.parallaxinc.com • Page 67
The Addition operator (+) adds variables and/or constants, returning a 16-
bit result. Works exactly as you would expect with unsigned integers from
0 to 65535. If the result of addition is larger than 65535, the carry bit will be
lost. If the values added are signed 16-bit numbers and the destination is a
16-bit variable, the result of the addition will be correct in both sign and
value. For example:
SYMBOL Value1 = W0
SYMBOL Value2 = W1
Value1= - 99
Value2= 100
Value1= Value1 + Value2 ' Add the numbers.
DEBUG Value1 ' Show the result (1).
-- OR --
Value1 VAR WORD
Value2 VAR WORD
Value1= - 1575
Value2= 976
Value1= Value1 + Value2 ' Add the numbers.
DEBUG SDEC ? Value1 ' Show the result (-599).
The Subtraction operator (-) subtracts variables and/or constants,
returning a 16-bit result. Works exactly as you would expect with
unsigned integers from 0 to 65535. If the result is negative, it will be
correctly expressed as a signed 16-bit number. For example:
SYMBOL Value1 = W0
SYMBOL Value2 = W1
Value1= 199
Value2= 100
Value1= Value1 - Value2 ' Subtract the numbers.
DEBUG Value1 ' Show the result (99).
-- OR --
Value1 VAR WORD
Value2 VAR WORD
Value1= 1000
Value2= 1999
Value1= Value1 - Value2 ' Subtract the numbers.
DEBUG SDEC ? Value1 ' Show the result (-999).
The Multiply operator (*) multiplies variables and/or constants, returning
the low 16 bits of the result. Works exactly as you would expect with
unsigned integers from 0 to 65535. If the result of multiplication is larger
2
2
2
2
2
2
2
2
2
2
2
2
ADD
SUBTRACT
-
MULTIPLY: *
2
2
2