i think the small c comiler have a bug as follow:
int txbyte = 0x2345; //define a global variable and have a initial value
but the comliler change the c code to asm code as follow:
0481 : __txbyte: 0481 : 0045 db 0,69
but if you use the matrix,the result is right: int tstary2 = {0x1234, 0x5678};
the compiler result is : 047d : __tstary: 047d : 34127856 db 52,18,120,86
Bug found and corrected. New version of compiler is committed. Thanks for the report. Moti