?? test.lss
字號:
test.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000828 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 00000828 000008bc 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000230 00800060 00800060 000008bc 2**0
ALLOC
3 .noinit 00000000 00800290 00800290 000008bc 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 000008bc 2**0
CONTENTS
5 .debug_aranges 0000003c 00000000 00000000 000008bc 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 000002ce 00000000 00000000 000008f8 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 00000c32 00000000 00000000 00000bc6 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 00000385 00000000 00000000 000017f8 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 000008df 00000000 00000000 00001b7d 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_str 000003b4 00000000 00000000 0000245c 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 44 c0 rjmp .+136 ; 0x8a
2: 5d c0 rjmp .+186 ; 0xbe
4: 5c c0 rjmp .+184 ; 0xbe
6: 5b c0 rjmp .+182 ; 0xbe
8: 5a c0 rjmp .+180 ; 0xbe
a: 59 c0 rjmp .+178 ; 0xbe
c: 58 c0 rjmp .+176 ; 0xbe
e: 57 c0 rjmp .+174 ; 0xbe
10: 56 c0 rjmp .+172 ; 0xbe
12: 5e c3 rjmp .+1724 ; 0x6d0
14: 54 c0 rjmp .+168 ; 0xbe
16: 53 c0 rjmp .+166 ; 0xbe
18: 52 c0 rjmp .+164 ; 0xbe
1a: 51 c0 rjmp .+162 ; 0xbe
1c: 50 c0 rjmp .+160 ; 0xbe
1e: 4f c0 rjmp .+158 ; 0xbe
20: 4e c0 rjmp .+156 ; 0xbe
22: 4d c0 rjmp .+154 ; 0xbe
24: 4c c0 rjmp .+152 ; 0xbe
00000026 <__ctors_end>:
26: 80 81 ld r24, Z
28: 82 83 std Z+2, r24 ; 0x02
2a: 84 85 ldd r24, Z+12 ; 0x0c
2c: 86 87 std Z+14, r24 ; 0x0e
2e: 90 91 92 93 lds r25, 0x9392
32: 94 95 .word 0x9594 ; ????
34: 96 97 sbiw r26, 0x26 ; 38
36: 88 89 ldd r24, Y+16 ; 0x10
38: 8a 8b std Y+18, r24 ; 0x12
3a: 8c 8d ldd r24, Y+28 ; 0x1c
3c: 8e 8f std Y+30, r24 ; 0x1e
3e: 98 99 sbic 0x13, 0 ; 19
40: 9a 9b sbis 0x13, 2 ; 19
42: 9c 9d mul r25, r12
44: 9e 9f mul r25, r30
00000046 <sse>:
46: 2a 2a b0 e6 b1 be ba c5 20 56 30 2e 31 31 2a 2a **...... V0.11**
...
00000057 <ssd>:
57: d6 c7 c4 dc d3 cd cf e4 bf d8 d6 c6 cf b5 cd b3 ................
...
00000068 <ssa>:
68: 2d 2d 2d 2d b9 e2 c3 a2 b5 e7 d7 d3 2d 2d 2d 2d ----........----
...
00000079 <ssb>:
79: b1 b1 bb aa ba bd cc ec b9 a4 d2 b5 d1 a7 d4 ba ................
...
0000008a <__init>:
8a: 11 24 eor r1, r1
8c: 1f be out 0x3f, r1 ; 63
8e: cf e5 ldi r28, 0x5F ; 95
90: d4 e0 ldi r29, 0x04 ; 4
92: de bf out 0x3e, r29 ; 62
94: cd bf out 0x3d, r28 ; 61
00000096 <__do_copy_data>:
96: 10 e0 ldi r17, 0x00 ; 0
98: a0 e6 ldi r26, 0x60 ; 96
9a: b0 e0 ldi r27, 0x00 ; 0
9c: e8 e2 ldi r30, 0x28 ; 40
9e: f8 e0 ldi r31, 0x08 ; 8
a0: 02 c0 rjmp .+4 ; 0xa6
000000a2 <.do_copy_data_loop>:
a2: 05 90 lpm r0, Z+
a4: 0d 92 st X+, r0
000000a6 <.do_copy_data_start>:
a6: a0 36 cpi r26, 0x60 ; 96
a8: b1 07 cpc r27, r17
aa: d9 f7 brne .-10 ; 0xa2
000000ac <__do_clear_bss>:
ac: 12 e0 ldi r17, 0x02 ; 2
ae: a0 e6 ldi r26, 0x60 ; 96
b0: b0 e0 ldi r27, 0x00 ; 0
b2: 01 c0 rjmp .+2 ; 0xb6
000000b4 <.do_clear_bss_loop>:
b4: 1d 92 st X+, r1
000000b6 <.do_clear_bss_start>:
b6: a0 39 cpi r26, 0x90 ; 144
b8: b1 07 cpc r27, r17
ba: e1 f7 brne .-8 ; 0xb4
bc: 29 c0 rjmp .+82 ; 0x110
000000be <__bad_interrupt>:
be: a0 cf rjmp .-192 ; 0x0
000000c0 <Task0>:
修改時間:
************************************************************************************************************************/
void Task0(void)
{ float da=1.008933;
DDRD = 0xff;
c0: 8f ef ldi r24, 0xFF ; 255
c2: 81 bb out 0x11, r24 ; 17
PORTD = 0x00;
c4: 12 ba out 0x12, r1 ; 18
OSSemCreat(0,0);
c6: 60 e0 ldi r22, 0x00 ; 0
c8: 86 2f mov r24, r22
ca: 21 d2 rcall .+1090 ; 0x50e
while(1)
{
OSTaskSemPend(0,0xffff);
cc: 6f ef ldi r22, 0xFF ; 255
ce: 7f ef ldi r23, 0xFF ; 255
d0: 80 e0 ldi r24, 0x00 ; 0
d2: 29 d2 rcall .+1106 ; 0x526
//PORTD = ~PORTD;
da=da*da;
da=da/da;
d4: fb cf rjmp .-10 ; 0xcc
000000d6 <Task1>:
//delay_nms(100);
//OSTimeDly(10);
}
}
/************************************************************************************************************************
函數名稱: void Task1(void)
函數功能: 任務1
入口參數: 無
出口參數: 無
有關說明:
創建時間: 2007年3月3日
修改時間:
************************************************************************************************************************/
void Task1(void)
{
float dd=1.008933;
DDRB = 0x01;
d6: 81 e0 ldi r24, 0x01 ; 1
d8: 87 bb out 0x17, r24 ; 23
PORTB = 0x00;
da: 18 ba out 0x18, r1 ; 24
OSSemCreat(1,0);
dc: 60 e0 ldi r22, 0x00 ; 0
de: 17 d2 rcall .+1070 ; 0x50e
while(1)
{
OSTaskSemPend(1,0xffff);
e0: 6f ef ldi r22, 0xFF ; 255
e2: 7f ef ldi r23, 0xFF ; 255
e4: 81 e0 ldi r24, 0x01 ; 1
e6: 1f d2 rcall .+1086 ; 0x526
PORTB ^= 0x01;
e8: 88 b3 in r24, 0x18 ; 24
ea: 91 e0 ldi r25, 0x01 ; 1
ec: 89 27 eor r24, r25
ee: 88 bb out 0x18, r24 ; 24
dd=dd*dd;
dd=dd/dd;
f0: f7 cf rjmp .-18 ; 0xe0
000000f2 <Task2>:
//OSTimeDly(25);
}
}
/************************************************************************************************************************
函數名稱: void Task2(void)
函數功能: 任務1
入口參數: 無
出口參數: 無
有關說明:
創建時間: 2007年3月3日
修改時間:
************************************************************************************************************************/
void Task2(void)
{
while(1)
{
OSTimeDly(2);
f2: 82 e0 ldi r24, 0x02 ; 2
f4: 90 e0 ldi r25, 0x00 ; 0
f6: e7 d1 rcall .+974 ; 0x4c6
f8: fc cf rjmp .-8 ; 0xf2
000000fa <Task3>:
}
}
/************************************************************************************************************************
函數名稱: void Task3(void)
函數功能: 任3
入口參數: 無
出口參數: 無
有關說明:
創建時間: 2007年3月3日
修改時間:
************************************************************************************************************************/
void Task3(void)
{
while(1)
{
OSTimeDly(25);
fa: 89 e1 ldi r24, 0x19 ; 25
fc: 90 e0 ldi r25, 0x00 ; 0
fe: e3 d1 rcall .+966 ; 0x4c6
OSTaskSemPost(0);
100: 80 e0 ldi r24, 0x00 ; 0
102: af d2 rcall .+1374 ; 0x662
OSTimeDly(25);
104: 89 e1 ldi r24, 0x19 ; 25
106: 90 e0 ldi r25, 0x00 ; 0
108: de d1 rcall .+956 ; 0x4c6
OSTaskSemPost(1);
10a: 81 e0 ldi r24, 0x01 ; 1
10c: aa d2 rcall .+1364 ; 0x662
10e: f5 cf rjmp .-22 ; 0xfa
00000110 <main>:
}
}
/************************************************************************************************************************
函數名稱: int main(void)
函數功能: 主函數
入口參數: 無
出口參數: 無
有關說明:
創建時間: 2007年3月3日
修改時間:
************************************************************************************************************************/
int main(void)
{
110: cf e5 ldi r28, 0x5F ; 95
112: d4 e0 ldi r29, 0x04 ; 4
114: de bf out 0x3e, r29 ; 62
116: cd bf out 0x3d, r28 ; 61
OSInit();
118: 67 d3 rcall .+1742 ; 0x7e8
OSTaskCreate(Task0,&Stack[99],0);
11a: 40 e0 ldi r20, 0x00 ; 0
11c: 61 ee ldi r22, 0xE1 ; 225
11e: 70 e0 ldi r23, 0x00 ; 0
120: 80 e6 ldi r24, 0x60 ; 96
122: 90 e0 ldi r25, 0x00 ; 0
124: dd d0 rcall .+442 ; 0x2e0
OSTaskCreate(Task1,&Stack[199],1);
126: 41 e0 ldi r20, 0x01 ; 1
128: 65 e4 ldi r22, 0x45 ; 69
12a: 71 e0 ldi r23, 0x01 ; 1
12c: 8b e6 ldi r24, 0x6B ; 107
12e: 90 e0 ldi r25, 0x00 ; 0
130: d7 d0 rcall .+430 ; 0x2e0
OSTaskCreate(Task2,&Stack[299],2);
132: 42 e0 ldi r20, 0x02 ; 2
134: 69 ea ldi r22, 0xA9 ; 169
136: 71 e0 ldi r23, 0x01 ; 1
138: 89 e7 ldi r24, 0x79 ; 121
13a: 90 e0 ldi r25, 0x00 ; 0
13c: d1 d0 rcall .+418 ; 0x2e0
OSTaskCreate(Task3,&Stack[399],3);
13e: 43 e0 ldi r20, 0x03 ; 3
140: 6d e0 ldi r22, 0x0D ; 13
142: 72 e0 ldi r23, 0x02 ; 2
144: 8d e7 ldi r24, 0x7D ; 125
146: 90 e0 ldi r25, 0x00 ; 0
148: cb d0 rcall .+406 ; 0x2e0
OSStartTask();
14a: f0 d0 rcall .+480 ; 0x32c
return 0;
}
14c: 80 e0 ldi r24, 0x00 ; 0
14e: 90 e0 ldi r25, 0x00 ; 0
150: 6a c3 rjmp .+1748 ; 0x826
00000152 <write_byte>:
};
/************************寫入字節函數(內部)********************/
void delay(unsigned int);
void write_byte(unsigned char Data) //單純寫字節,8位字節SID為數據 SCLK為時鐘
{
152: 68 2f mov r22, r24
154: 77 27 eor r23, r23
156: 20 e0 ldi r18, 0x00 ; 0
158: 30 e0 ldi r19, 0x00 ; 0
15a: 47 e0 ldi r20, 0x07 ; 7
unsigned char i,Temp_data;
for(i=0;i<8;i++)
{
Temp_data=Data;
Temp_data<<=i;
15c: cb 01 movw r24, r22
15e: 02 2e mov r0, r18
160: 02 c0 rjmp .+4 ; 0x166
162: 88 0f add r24, r24
164: 99 1f adc r25, r25
166: 0a 94 dec r0
168: e2 f7 brpl .-8 ; 0x162
if(Temp_data&0x80) {SET_SID;}
16a: 87 ff sbrs r24, 7
16c: 02 c0 rjmp .+4 ; 0x172
16e: ac 9a sbi 0x15, 4 ; 21
170: 01 c0 rjmp .+2 ; 0x174
else {CLR_SID;}
172: ac 98 cbi 0x15, 4 ; 21
SET_SCK;
174: ab 9a sbi 0x15, 3 ; 21
CLR_SCK;
176: ab 98 cbi 0x15, 3 ; 21
178: 41 50 subi r20, 0x01 ; 1
17a: 2f 5f subi r18, 0xFF ; 255
17c: 3f 4f sbci r19, 0xFF ; 255
17e: 47 ff sbrs r20, 7
180: ed cf rjmp .-38 ; 0x15c
182: 08 95 ret
00000184 <delay>:
}
}
/************************延時函數**************************/
void delay(unsigned int t)
{ unsigned int i,j;
for(i=0;i<t;i++)
184: 00 97 sbiw r24, 0x00 ; 0
186: 11 f0 breq .+4 ; 0x18c
188: 01 97 sbiw r24, 0x01 ; 1
18a: fc cf rjmp .-8 ; 0x184
18c: 08 95 ret
0000018e <write_command>:
for(j=0;j<10;j++)
;
}
/************************命令寫入函數***************************/
void write_command(unsigned char command) //寫命令
{
18e: 1f 93 push r17
190: 18 2f mov r17, r24
SET_CS;
192: ad 9a sbi 0x15, 5 ; 21
write_byte(0xF8); //發送S_ID
194: 88 ef ldi r24, 0xF8 ; 248
196: dd df rcall .-70 ; 0x152
write_byte(command&0xF0); //發送H_data
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -