в окончании разговор о невыровненных элеметах структуры. Бедный компилятор :-)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено DASM 24 ноября 2004 г. 17:17

сурец


#pragma pack(1)
struct
{
char a;
char aa;
int b;
char c;
int d;
} st;
int main()
{
st.a = 1;
st.aa = 11;
st.b = 2;
st.c = 3;
st.d = 4;
return 0;
}


Итог там где st.b = 2 и адрес неровный

mov r3,2
ldr r8,.L23
strb r3,[r8,2]
mov r3,r3 ror 8
strb r3,[r8,3]
mov r3,r3 ror 24
mov r3,r3 lsr 16
ldr r8,.L23
strb r3,[r8,4]
mov r3,r3 ror 8
strb r3,[r8,5]
mov r3,r3 ror 24

Это одно присваиваивание . no comments :-)
PS это из Мульти. IAR сделал тоже, но длиннее на 3 команды :-PP

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru