📄 ad9850.lss
字号:
ad9850.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000015c 00000000 00000000 00000054 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .stab 000006b4 00000000 00000000 000001b0 2**2
CONTENTS, READONLY, DEBUGGING
2 .stabstr 0000005f 00000000 00000000 00000864 2**0
CONTENTS, READONLY, DEBUGGING
3 .debug_aranges 00000020 00000000 00000000 000008c3 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_pubnames 00000063 00000000 00000000 000008e3 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_info 0000017a 00000000 00000000 00000946 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 000000f9 00000000 00000000 00000ac0 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 00000216 00000000 00000000 00000bb9 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_frame 00000080 00000000 00000000 00000dd0 2**2
CONTENTS, READONLY, DEBUGGING
9 .debug_str 000000e0 00000000 00000000 00000e50 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_loc 0000004c 00000000 00000000 00000f30 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 2a 00 jmp 0x54 ; 0x54 <__ctors_end>
4: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
8: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
10: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
14: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
18: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
1c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
20: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
24: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
28: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
2c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
30: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
34: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
38: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
3c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
40: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
44: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
48: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
4c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
50: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
00000054 <__ctors_end>:
54: 11 24 eor r1, r1
56: 1f be out 0x3f, r1 ; 63
58: cf e5 ldi r28, 0x5F ; 95
5a: d4 e0 ldi r29, 0x04 ; 4
5c: de bf out 0x3e, r29 ; 62
5e: cd bf out 0x3d, r28 ; 61
00000060 <__do_copy_data>:
60: 10 e0 ldi r17, 0x00 ; 0
62: a0 e6 ldi r26, 0x60 ; 96
64: b0 e0 ldi r27, 0x00 ; 0
66: ec e5 ldi r30, 0x5C ; 92
68: f1 e0 ldi r31, 0x01 ; 1
6a: 02 c0 rjmp .+4 ; 0x70 <.do_copy_data_start>
0000006c <.do_copy_data_loop>:
6c: 05 90 lpm r0, Z+
6e: 0d 92 st X+, r0
00000070 <.do_copy_data_start>:
70: a0 36 cpi r26, 0x60 ; 96
72: b1 07 cpc r27, r17
74: d9 f7 brne .-10 ; 0x6c <.do_copy_data_loop>
00000076 <__do_clear_bss>:
76: 10 e0 ldi r17, 0x00 ; 0
78: a0 e6 ldi r26, 0x60 ; 96
7a: b0 e0 ldi r27, 0x00 ; 0
7c: 01 c0 rjmp .+2 ; 0x80 <.do_clear_bss_start>
0000007e <.do_clear_bss_loop>:
7e: 1d 92 st X+, r1
00000080 <.do_clear_bss_start>:
80: a0 36 cpi r26, 0x60 ; 96
82: b1 07 cpc r27, r17
84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop>
86: 0e 94 a4 00 call 0x148 ; 0x148 <main>
8a: 0c 94 ac 00 jmp 0x158 ; 0x158 <_exit>
0000008e <__bad_interrupt>:
8e: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
00000092 <initIO>:
#define IO_1 SET_1(IO9850,7)
#define IO_0 CLE_0(IO9850,7)
void initIO(void)
{
DDRA = 0xff;
92: 8f ef ldi r24, 0xFF ; 255
94: 8a bb out 0x1a, r24 ; 26
DDRB = 0xff;
96: 87 bb out 0x17, r24 ; 23
}
98: 08 95 ret
0000009a <init9850>:
void init9850(void)
{
WCLK_0;
9a: c2 98 cbi 0x18, 2 ; 24
FRUD_0;
9c: c0 98 cbi 0x18, 0 ; 24
REST_0;
9e: c1 98 cbi 0x18, 1 ; 24
REST_1;
a0: c1 9a sbi 0x18, 1 ; 24
REST_0;
a2: c1 98 cbi 0x18, 1 ; 24
WCLK_0;
a4: c2 98 cbi 0x18, 2 ; 24
WCLK_1;
a6: c2 9a sbi 0x18, 2 ; 24
WCLK_0;
a8: c2 98 cbi 0x18, 2 ; 24
FRUD_0;
aa: c0 98 cbi 0x18, 0 ; 24
FRUD_1;
ac: c0 9a sbi 0x18, 0 ; 24
FRUD_0;
ae: c0 98 cbi 0x18, 0 ; 24
}
b0: 08 95 ret
000000b2 <UPDATE>:
void UPDATE(void)
{
FRUD_1;
b2: c0 9a sbi 0x18, 0 ; 24
FRUD_0;
b4: c0 98 cbi 0x18, 0 ; 24
}
b6: 08 95 ret
000000b8 <sendword>:
sendword(0);
}
void sendword(uchar dat)
{
if(dat)
b8: 89 2b or r24, r25
ba: 11 f0 breq .+4 ; 0xc0 <sendword+0x8>
IO_1;
bc: df 9a sbi 0x1b, 7 ; 27
be: 01 c0 rjmp .+2 ; 0xc2 <sendword+0xa>
else
IO_0;
c0: df 98 cbi 0x1b, 7 ; 27
WCLK_1;
c2: c2 9a sbi 0x18, 2 ; 24
WCLK_0;
c4: c2 98 cbi 0x18, 2 ; 24
}
c6: 08 95 ret
000000c8 <sentcom>:
FRUD_0;
}
void sentcom(void)
{
sendword(0);
c8: 80 e0 ldi r24, 0x00 ; 0
ca: 90 e0 ldi r25, 0x00 ; 0
cc: 0e 94 5c 00 call 0xb8 ; 0xb8 <sendword>
sendword(0);
d0: 80 e0 ldi r24, 0x00 ; 0
d2: 90 e0 ldi r25, 0x00 ; 0
d4: 0e 94 5c 00 call 0xb8 ; 0xb8 <sendword>
sendword(0);
d8: 80 e0 ldi r24, 0x00 ; 0
da: 90 e0 ldi r25, 0x00 ; 0
dc: 0e 94 5c 00 call 0xb8 ; 0xb8 <sendword>
sendword(0);
e0: 80 e0 ldi r24, 0x00 ; 0
e2: 90 e0 ldi r25, 0x00 ; 0
e4: 0e 94 5c 00 call 0xb8 ; 0xb8 <sendword>
sendword(0);
e8: 80 e0 ldi r24, 0x00 ; 0
ea: 90 e0 ldi r25, 0x00 ; 0
ec: 0e 94 5c 00 call 0xb8 ; 0xb8 <sendword>
sendword(0);
f0: 80 e0 ldi r24, 0x00 ; 0
f2: 90 e0 ldi r25, 0x00 ; 0
f4: 0e 94 5c 00 call 0xb8 ; 0xb8 <sendword>
sendword(0);
f8: 80 e0 ldi r24, 0x00 ; 0
fa: 90 e0 ldi r25, 0x00 ; 0
fc: 0e 94 5c 00 call 0xb8 ; 0xb8 <sendword>
sendword(0);
100: 80 e0 ldi r24, 0x00 ; 0
102: 90 e0 ldi r25, 0x00 ; 0
104: 0e 94 5c 00 call 0xb8 ; 0xb8 <sendword>
}
108: 08 95 ret
0000010a <startAD>:
}
void startAD(void)
{
10a: 20 ea ldi r18, 0xA0 ; 160
10c: 30 e7 ldi r19, 0x70 ; 112
10e: 4d e3 ldi r20, 0x3D ; 61
110: 5a e0 ldi r21, 0x0A ; 10
112: 60 e0 ldi r22, 0x00 ; 0
114: 70 e0 ldi r23, 0x00 ; 0
sendword(0);
}
void sendword(uchar dat)
{
if(dat)
116: c9 01 movw r24, r18
118: 81 70 andi r24, 0x01 ; 1
11a: 90 70 andi r25, 0x00 ; 0
11c: 89 2b or r24, r25
11e: 11 f0 breq .+4 ; 0x124 <startAD+0x1a>
IO_1;
120: df 9a sbi 0x1b, 7 ; 27
122: 01 c0 rjmp .+2 ; 0x126 <startAD+0x1c>
else
IO_0;
124: df 98 cbi 0x1b, 7 ; 27
WCLK_1;
126: c2 9a sbi 0x18, 2 ; 24
WCLK_0;
128: c2 98 cbi 0x18, 2 ; 24
// UPDATE();
long uint dat;
uchar i = 0;
dat =(long uint ) ADout * 34.359738;
//dat=dat>>1;
for(;i<32;i++)
12a: 6f 5f subi r22, 0xFF ; 255
12c: 7f 4f sbci r23, 0xFF ; 255
12e: 60 32 cpi r22, 0x20 ; 32
130: 71 05 cpc r23, r1
132: 29 f0 breq .+10 ; 0x13e <startAD+0x34>
{
sendword((uchar) (dat&1));
dat=dat>>1;
134: 56 95 lsr r21
136: 47 95 ror r20
138: 37 95 ror r19
13a: 27 95 ror r18
13c: ec cf rjmp .-40 ; 0x116 <startAD+0xc>
}
sentcom();
13e: 0e 94 64 00 call 0xc8 ; 0xc8 <sentcom>
}
void UPDATE(void)
{
FRUD_1;
142: c0 9a sbi 0x18, 0 ; 24
FRUD_0;
144: c0 98 cbi 0x18, 0 ; 24
}
sentcom();
UPDATE();
}
146: 08 95 ret
00000148 <main>:
#define IO_1 SET_1(IO9850,7)
#define IO_0 CLE_0(IO9850,7)
void initIO(void)
{
DDRA = 0xff;
148: 8f ef ldi r24, 0xFF ; 255
14a: 8a bb out 0x1a, r24 ; 26
DDRB = 0xff;
14c: 87 bb out 0x17, r24 ; 23
int main(void)
{
initIO();
init9850();
14e: 0e 94 4d 00 call 0x9a ; 0x9a <init9850>
startAD();
152: 0e 94 85 00 call 0x10a ; 0x10a <startAD>
156: ff cf rjmp .-2 ; 0x156 <main+0xe>
00000158 <_exit>:
158: f8 94 cli
0000015a <__stop_program>:
15a: ff cf rjmp .-2 ; 0x15a <__stop_program>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -