[an error occurred while processing this directive]
хех - тут примерно подобное - в кеий сделал - так он сволочь при оптимизации промежуточные присвоения убил а оставил только результат -
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено net 14 ноября 2002 г. 13:53
В ответ на: А насчет того, чего он там нагенерит (+) отправлено ShiphT 14 ноября 2002 г. 13:30

25: unsigned int var1,var2,var3;
26: // Read
27: var1 = 0x1234;
28: var2 = (unsigned char)(var1);
C:0x0414 7D34 MOV R5,#0x34
29: var3 = (unsigned char)(var1>>8);
30: // Write
31: var2 = 0x56;
32: var3 = 0x78;
33: (unsigned char)var1 = var2; // Запись в старший байт целого
34: var1 = ((unsigned char)(var1>>8)<<8) | var3; // В младший байт
35:
C:0x0416 7456 MOV A,#0x56
C:0x0418 FE MOV R6,A
C:0x0419 7478 MOV A,#0x78
C:0x041B FF MOV R7,A

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

Ответы



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

E-mail: info@telesys.ru