LDS_REGISTER_MACRO_VALUE

#define LDS_REGISTER_MACRO_VALUE __asm__("lds  r" #registr ", %[val] \n\t" \
 : /* No output operands */\
 : [val] "i" ((uint16_t)(value)) /* Substitute val with 'i'mmediate integer constant */\
 : "r" #registr) /* Tell compiler that registr is clobbered */

This C Macro function uses extended inline assembly to load direct from data space from a C macro constant to the selected CPU register.

Parameters

[in] value

- macro constant

[in] registr

- register number