Galil DMC-3425 Manual De Usuario

Descargar
Página de 210
128 • Chapter 7 Application Programming 
 
DMC-3425 
Bit-Wise Operators 
The mathematical operators & and | are bit-wise operators.  The operator, &, is a Logical And.  The 
operator, |, is a Logical Or.  These operators allow for bit-wise operations on any valid DMC-3425 
numeric operand, including variables, array elements, numeric values, functions, keywords, and 
arithmetic expressions.  The bit-wise operators may also be used with strings.  This is useful for 
separating characters from an input string.  When using the input command for string input, the input 
variable will hold up to 6 characters.  These characters are combined into a single value that is 
represented as 32 bits of integer and 16 bits of fraction.  Each ASCII character is represented as one 
byte (8 bits), therefore the input variable can hold up to six characters.  The first character of the string 
will be placed in the top byte of the variable and the last character will be placed in the lowest 
significant byte of the fraction.  The characters can be individually separated by using bit-wise 
operations as illustrated in the following example: 
 
Instruction Interpretation 
#TEST 
Begin main program 
IN "ENTER",LEN{S6} 
Input character string of up to 6 characters into 
variable ‘LEN’ 
FLEN=@FRAC[LEN] 
Define variable ‘FLEN’ as fractional part of 
variable ‘LEN’ 
FLEN=$10000*FLEN 
Shift FLEN by 32 bits (IE - convert fraction, 
FLEN, to integer) 
LEN1=(FLEN&$00FF) 
Mask top byte of FLEN and set this value to 
variable ‘LEN1’ 
LEN2=(FLEN&$FF00)/$100 Let 
variable, 
‘LEN2’ = top byte of FLEN 
LEN3=LEN&$000000FF 
Let variable, ‘LEN3’ = bottom byte of LEN 
LEN4=(LEN&$0000FF00)/$100 Let 
variable, 
‘LEN4’ = second byte of LEN 
LEN5=(LEN&$00FF0000)/$10000 Let 
variable, ‘LEN5’ = third byte of LEN 
LEN6=(LEN&$FF000000)/$1000000 Let 
variable, 
‘LEN6’ = fourth byte of LEN 
MG LEN6 {S4} 
Display ‘LEN6’ as string message of up to 4 chars 
MG LEN5 {S4} 
Display ‘LEN5’ as string message of up to 4 chars 
MG LEN4 {S4} 
Display ‘LEN4’ as string message of up to 4 chars 
MG LEN3 {S4} 
Display ‘LEN3’ as string message of up to 4 chars 
MG LEN2 {S4} 
Display ‘LEN2’ as string message of up to 4 chars 
MG LEN1 {S4} 
Display ‘LEN1’ as string message of up to 4 chars 
EN  
This program will accept a string input of up to 6 characters, parse each character, and then display 
each character.  Notice also that the values used for masking are represented in hexadecimal (as 
denoted by the preceding ‘$’).  For more information, see section Sending Messages. 
To illustrate further, if the user types in the string “TESTME” at the input prompt, the controller will 
respond with the following: 
 
Response from command MG LEN6 {S4} 
Response from command MG LEN5 {S4} 
Response from command MG LEN4 {S4} 
Response from command MG LEN3 {S4} 
Response from command MG LEN2 {S4} 
Response from command MG LEN1 {S4}