|
// long
// b3 b2 b1 b0
// расположение байт как у Моторолы (у интела по другому!)#define LONG_B3(p) (*(p + 0))
#define LONG_B2(p) (*(p + 1))
#define LONG_B1(p) (*(p + 2))
#define LONG_B0(p) (*(p + 3))long a;
uchar b3,b2,b1,b0;
uchar *pByte;pByte = (uchar *)&a;
LONG_B3(pByte) = b3;
LONG_B2(pByte) = b2;
LONG_B1(pByte) = b1;
LONG_B0(pByte) = b0;
у Адука насколько мне известно другое расположение байт в лонге (в соответствии с интелом)
надо изменить просто макросы LONG_Bx
p.s.Вроде у Адука есть asm команды с относительной адресацией, такчто
оператор LONG_Bx(pByte) = bx; может выродиться в одну asm команду
E-mail: info@telesys.ru