DAPL Expression Commands

DAPL provides a special notation for conversion, arithmetic, and bitwise operations that don't fit into the ordinary scheme of processing commands.

These expressions resemble an assignment statement from a procedural programming language. For example:

FLAGS  =  (IP4 & $0000F600) >> 10

Actually, this example defines a concurrent processing task performing operations upon all data from an input data stream (input channel pipe, channel 4). For each 16-bit value received from a digital port, the six high-order bits are retained, and the rest ignored. The six retained bits are shifted into the first six low-order bit positions. The stream of output results is placed into the pipe FLAGS.

Operations supported in DAPL expression tasks are:

+   -   *   /        (arithmetic)
&   |   ^   <<   >>  (bitwise logic)

Operations can be performed upon values taken from shared variables, constants and pipes. Results are converted to the data type of the output pipe. Taking values from a pipe and placing them into a pipe of a different data type is an easy way to convert data streams.