EXTRACT_NIBBLE
data_and_addr = caesar[EXTRACT_NIBBLE(val, 2)] |
(caesar[EXTRACT_NIBBLE(val, 1)] << 4) |
(caesar[EXTRACT_NIBBLE(val, 0)] << 8) |
(caesar[EXTRACT_NIBBLE(val, 3)] << 24);