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

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

Отправлено bialix 27 января 2004 г. 17:57
В ответ на: А код то какой генерируется? Может для начала оптимизацию отключить? отправлено Bill 27 января 2004 г. 17:40

      1          #include "iom162.h"

\ In segment ABSOLUTE, at 0x34
\ union volatile __io _A_DDRC;
\ _A_DDRC:
\ 00000000 DS 1

\ In segment ABSOLUTE, at 0x35
\ union volatile __io _A_PORTC;
\ _A_PORTC:
\ 00000000 DS 1

\ In segment ABSOLUTE, at 0x37
\ union volatile __io _A_DDRB;
\ _A_DDRB:
\ 00000000 DS 1

\ In segment ABSOLUTE, at 0x38
\ union volatile __io _A_PORTB;
\ _A_PORTB:
\ 00000000 DS 1

\ In segment ABSOLUTE, at 0x3a
\ union volatile __io _A_DDRA;
\ _A_DDRA:
\ 00000000 DS 1

\ In segment ABSOLUTE, at 0x3b
\ union volatile __io _A_PORTA;
\ _A_PORTA:
\ 00000000 DS 1

\ In segment ABSOLUTE, at 0x50
\ union volatile __io _A_SFIOR;
\ _A_SFIOR:
\ 00000000 DS 1

\ In segment ABSOLUTE, at 0x55
\ union volatile __io _A_MCUCR;
\ _A_MCUCR:
\ 00000000 DS 1
2 #include "inavr.h"
3

\ In segment CODE, align 2, keep-with-next
4 main()
5 {
6 SFIOR |= (1< \ __nearfunc int main();
\ main:
\ 00000000 B700 IN R16,0x30
\ 00000002 6400 ORI R16,0x40
\ 00000004 BF00 OUT 0x30,R16
7
8 MCUCR &= ~(1< \ 00000006 B705 IN R16,0x35
\ 00000008 770F ANDI R16,0x7F
\ 0000000A BF05 OUT 0x35,R16
9 __no_operation();
\ 0000000C 0000 NOP
10
11 PORTA = 0xFF;
\ 0000000E EF0F LDI R16,255
\ 00000010 BB0B OUT 0x1B,R16
12 DDRA = 0xFF;
\ 00000012 EF0F LDI R16,255
\ 00000014 BB0A OUT 0x1A,R16
13 __no_operation();
\ 00000016 0000 NOP
14 PORTB = 0x0F;
\ 00000018 E00F LDI R16,15
\ 0000001A BB08 OUT 0x18,R16
15 DDRB = 0x0F;
\ 0000001C E00F LDI R16,15
\ 0000001E BB07 OUT 0x17,R16
16 __no_operation();
\ 00000020 0000 NOP
17 PORTB = 0x05;
\ 00000022 E005 LDI R16,5
\ 00000024 BB08 OUT 0x18,R16
18
19 PORTC = 0xFF;
\ 00000026 EF0F LDI R16,255
\ 00000028 BB05 OUT 0x15,R16
20 DDRC = 0xFF;
\ 0000002A EF0F LDI R16,255
\ 0000002C BB04 OUT 0x14,R16
21 __no_operation();
\ 0000002E 0000 NOP
22
23 while(1)
24 {
25 PORTA = 0xFF;
\ ??main_0:
\ 00000030 EF0F LDI R16,255
\ 00000032 BB0B OUT 0x1B,R16
26 PORTC = 0xFF;
\ 00000034 EF0F LDI R16,255
\ 00000036 BB05 OUT 0x15,R16
27
28 __delay_cycles(100);
\ 00000038 E201 LDI R16,33
\ ??main_1:
\ 0000003A 950A DEC R16
\ 0000003C F7F1 BRNE ??main_1
\ 0000003E 0000 NOP
29
30 PORTA = 0x00;
\ 00000040 E000 LDI R16,0
\ 00000042 BB0B OUT 0x1B,R16
31 PORTC = 0x00;
\ 00000044 E000 LDI R16,0
\ 00000046 BB05 OUT 0x15,R16
\ 00000048 CFF3 RJMP ??main_0
32 }
33 }



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

Ответы



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

E-mail: info@telesys.ru