| LET |
{LET} Variable = {Value} {Op} Value
Function
Assign a Value or result of an expression to Variable.
Explanation
LET is an optional keyword an not typcially used. For example,
LET idx = 25
... produces the same compiled output as:
idx = 25
so using LET is of no advantage. Note that when assigning a bit variable the value of a byte variable, the bit variable will be set to zero if the byte variable is zero, otherwise it will be set to one.
myByte = 0 myBit = myByte ' myBit = 0 myByte = 4 myBit = myByte ' myBit = 1
Using Operators in Assignments
Note that SX/B supports only simple expressions, that is, just one
operator per line of code. The following line will produce an error:
idx = count / 2 + 1 ' illegal in SX/B!
The error is corrected by splitting the operators across separate lines:
idx = count / 2 ' okay now idx = idx + 1
The tables below show available operators for SX/B assignments:
| Unary Operator | Definition |
| - | Negate |
| ~ | Bitwise inversion |
| NOT | Bitwise inversion |
| Binary Operator | Definition |
| + | Addition |
| - | Subtraction |
| * | Multiplication |
| / | Division |
| // | Modulus |
| */ | Multiply, return middle 16 bits |
| ** | Multiply, return upper 16 bits |
| MAX | Set Maximum |
| MIN | Set Minimum |
| & | Bitwise AND |
| AND | Bitwise AND |
| | | Bitwise OR |
| OR | Bitwise OR |
| ^ | Bitwise Exclusive OR |
| XOR | Bitwise Exclusive OR |
| << | Shift Left |
| SHL | Shift Left |
| >> | Shift Right |
| SHR | Shift Right |
See the Operaters section for details.>
Configuration Registers
When assigning values to SX configuration registers, the format is limited
to:
{LET} Register = Value
When assigning values to the special registers WKPND_B and CMP_B a variable must be used and that variable will be exchanged with the SX register.
{LET} Register = ByteVar
WKPND_B = wakeUp ' WKPND_B exchanged with wakeUp CMP_B = analog ' CMP_B exchanged with analog