Нафига у KEIL для x51 часть чисел в big endian, часть в little... А за big аргументы есть: быстрей всплывают ошибки (если к char обращаться как к long, то при малых числах на little это сразу не заметно), и big endian удобнее в дампе памяти рассматривать. А вот на асме писать код под такое неудобно: считать-то начинают с младшего разряда и надо сразу всегда +sizeof(type)-1 приписывать к адресу вручную.