Programming instructions
85
BMOV – Block Move
The BMOV block move command moves data 3 words of data starting from the
source (D1) to the 3 words of data starting at the destination (D7). The command
actually copies the data, so after the command is executed, registers D1-D3
contain the same data as registers D7 – D9. This command is not available
specifically for 32-bit data, so the number of registers to move should be
doubled. Since it moves raw data, there is no difference in the formatting.
FMOV – Fill Move
DFMOV – 32-Bit Fill Move
The FMOV
fill move command moves the data that is in source (D1) into the 3
words starting at the destination (D7). The command actually copies the data. If
D1 held the value 13, then D7, D8, D9 all contain the value 13 after the execution
of this command. The DFMOV
command uses 32-bit numbers, so the source is
D0+D1, and the destinations are D7+D8, D9+D10, and D11+D12.
For any of the move commands, a group of bits can be moved to a word using a
prefix of Kx, where X is a number between 1 and 8. This command below will
move 16 bits (4 nibbles of 4 bits each) into the 16-bit register D100.
The K value determines how many bits will be converted.
K1 = 4 bits
K2 = 8 bits
K3 = 12 bits
K4 = 16 bits
K5 = 20 bits
K6 = 24 bits
K7 = 28 bits
K8 = 32 bits
13.3 Comparison Instructions
A variety of commands exist to compare one piece of data to one or a range of
values. These commands are available for 16-bit, 32-bit, and floating point data.
Compare Function 16-Bit Data 32-Bit Data Floating Point
One to One CMP DCMP DECMP
One to Range ZCP DZCP DEZCP