Below are the standard functions for managing 8 bit to 32 bit registers:
SHL SHR ROL ROR |
shift
left shift right rotation left rotation right |
Below are advanced functions for register manipulation:
MBShift | multibyte shift / rotate |
The following functions enable bit to bit operations on a 8 bit to 32 bit integers:
AND_MASK OR_MASK XOR_MASK NOT_MASK |
boolean
AND boolean OR exclusive OR boolean negation |
The following functions enable to pack/unpack 8, 16 and 32 bit registers
LOBYTE HIBYTE LOWORD HIWORD MAKEWORD MAKEDWORD PACK8 UNPACK8 |
Get the
lowest byte of a word Get the highest byte of a word Get the lowest word of a double word Get the highest word of a double word Pack bytes to a word Pack words to a double word Pack bits in a byte Extract bits from a byte |
The following functions provide bit access in 8 bit to 32 bit integers:
SETBIT TESTBIT |
Set a bit
in a register Test a bit of a register |
The following functions are kept for compatibility, but you should use the functions upper:
AND_DINT, AND_UDINT, AND_DWORD, NOT_DINT, NOT_UDINT,
NOT_DWORD
OR_DINT, OR_UDINT, OR_DWORD, XOR_DINT, XOR_UDINT, XOR_DWORD
AND_INT, AND_UINT, AND_WORD, NOT_INT, NOT_UINT, NOT_WORD
OR_INT, OR_UINT, OR_WORD, XOR_INT, XOR_UINT, XOR_WORD
AND_SINT, AND_USINT, AND_BYTE, NOT_SINT, NOT_USINT, NOT_BYTE
OR_SINT, OR_USINT, OR_BYTE, XOR_SINT, XOR_USINT, XOR_BYTE
rolw, rorw, shlw, shrw, rolb, rorb, shlb, shrb
ROL_DINT, ROR_DINT, SHL_DINT, SHR_DINT
ROL_UDINT, ROR_UDINT, SHL_UDINT, SHR_UDINT
ROL_DWORD, ROR_DWORD, SHL_DWORD, SHR_DWORD
ROL_INT, ROR_INT, SHL_INT, SHR_INT
ROL_UINT, ROR_UINT, SHL_UINT, SHR_UINT
ROL_WORD, ROR_WORD, SHL_WORD, SHR_WORD
ROL_SINT, ROR_SINT, SHL_SINT, SHR_SINT
ROL_USINT, ROR_USINT, SHL_USINT, SHR_USINT
ROL_BYTE, ROR_BYTE, SHL_BYTE, SHR_BYTE