I managed to assign all 14 bits of each ID Location using the code below.
Note that this method allows me to assign 16 bits, and MLABX shows all 16 bits in the IDE. No warning is given but the programming of 14 bits proceeds as expected - truncating the upper 2 bits.
I think this method, when used with an #assert directive will do all I need.
Hope this post helps others.
#define NODE "S"
#define VERSION 0x19
#define __ILOC(a,b,c,d) \
__asm("\tdw\t" ___mkstr(a) "," ___mkstr(b) "," ___mkstr(c) "," ___mkstr(d))
__ILOC(NODE, 0, VERSION, 0xffff);
post edited by edware - 2019/06/23 22:04:04