Section 7.  Installation 
 
 
argument TRUE is predefined in the CR800 operating system to only equal -1, so 
only the argument -1 is always translated as TRUE.    Consider the expression 
If Condition(1) = TRUE Then... 
This condition is true only when Condition(1) = -1.    If Condition(1) is any other 
non-zero, the condition will not be found true because the constant TRUE is 
predefined as -1 in the CR800 system memory.    By entering = TRUE, a literal 
comparison is done.    So, to be absolutely certain a function is true, it must be set 
to TRUE or -1. 
Note TRUE is -1 so that every bit is set high (-1 is &B11111111 for all 
four bytes).    This allows the AND operation to work correctly.    The AND 
operation does an AND boolean function on every bit, so TRUE AND X 
will be non-zero if at least one of the bits in X is non-zero (if X is not zero).   
When a variable of data type BOOLEAN is assigned any non-zero 
number, the CR800 internally converts it to -1. 
The CR800 is able to translate the conditions listed in table Binary Conditions of 
TRUE and FALSE
 (p. 164) to binary form (-1 or 0), using the listed instructions and 
saving the binary form in the memory location indicated.    Table Logical 
Expression Examples
 (p. 165) explains some logical expressions. 
 
Non-Zero = True (Sometimes) 
Any argument other than 0 or -1 will be translated as TRUE in some cases and 
FALSE in other cases.    While using only -1 as the numerical representation of 
TRUE is safe, it may not always be the best programming technique.    Consider 
the expression 
If Condition(1) then... 
Since = True is omitted from the expression, Condition(1) is considered true if it 
equals any non-zero value. 
 
 
 Binary Conditions of TRUE and FALSE 
Condition 
CRBasic 
Instruction(s) Used 
Memory Location of 
Binary Result 
Time 
TimeIntoInterval() 
Variable, System 
 
IfTime() 
Variable, System 
 
TimeIsBetween() 
Variable, System 
Control Port Trigger 
WaitDigTrig() 
System 
Communications 
VoiceBeg() 
System 
 
ComPortIsActive() 
Variable 
 
PPPClose() 
Variable 
Measurement Event 
DataEvent() 
System