root / demos / john / projects / libdragonfly / spi.lst @ 1693
History | View | Annotate | Download (6.05 KB)
1 |
1 .file "spi.c" |
---|---|
2 |
2 .arch atmega128 |
3 |
3 __SREG__ = 0x3f |
4 |
4 __SP_H__ = 0x3e |
5 |
5 __SP_L__ = 0x3d |
6 |
6 __tmp_reg__ = 0 |
7 |
7 __zero_reg__ = 1 |
8 |
8 .global __do_copy_data |
9 |
9 .global __do_clear_bss |
10 |
17 .Ltext0: |
11 |
18 .global spi_init |
12 |
20 spi_init: |
13 |
21 .LFB2: |
14 |
22 .LM1: |
15 |
23 /* prologue: frame size=0 */ |
16 |
24 /* prologue end (size=0) */ |
17 |
25 .LVL0: |
18 |
26 .LM2: |
19 |
27 0000 23ED ldi r18,lo8(-45) |
20 |
28 0002 2DB9 out 45-0x20,r18 |
21 |
29 .LM3: |
22 |
30 0004 21E0 ldi r18,lo8(1) |
23 |
31 0006 2EB9 out 46-0x20,r18 |
24 |
32 .LM4: |
25 |
33 0008 27B3 in r18,55-0x20 |
26 |
34 000a 2760 ori r18,lo8(7) |
27 |
35 000c 27BB out 55-0x20,r18 |
28 |
36 .LM5: |
29 |
37 000e BB98 cbi 55-0x20,3 |
30 |
38 .LM6: |
31 |
39 0010 C09A sbi 56-0x20,0 |
32 |
40 .LM7: |
33 |
41 0012 9093 0000 sts (spi_recv_func)+1,r25 |
34 |
42 0016 8093 0000 sts spi_recv_func,r24 |
35 |
43 .LM8: |
36 |
44 001a 7093 0000 sts (spi_recv_complete_func)+1,r23 |
37 |
45 001e 6093 0000 sts spi_recv_complete_func,r22 |
38 |
46 .LM9: |
39 |
47 0022 1092 0000 sts spi_bytes,__zero_reg__ |
40 |
48 /* epilogue: frame size=0 */ |
41 |
49 0026 0895 ret |
42 |
50 /* epilogue end (size=1) */ |
43 |
51 /* function spi_init size 20 (19) */ |
44 |
52 .LFE2: |
45 |
54 .global spi_transfer |
46 |
56 spi_transfer: |
47 |
57 .LFB3: |
48 |
58 .LM10: |
49 |
59 /* prologue: frame size=0 */ |
50 |
60 /* prologue end (size=0) */ |
51 |
61 .LVL1: |
52 |
62 .LM11: |
53 |
63 0028 8093 0000 sts spi_bytes,r24 |
54 |
64 .LM12: |
55 |
65 002c C098 cbi 56-0x20,0 |
56 |
66 .LM13: |
57 |
67 002e 8FEF ldi r24,lo8(-1) |
58 |
68 .LVL2: |
59 |
69 0030 8FB9 out 47-0x20,r24 |
60 |
70 /* epilogue: frame size=0 */ |
61 |
71 0032 0895 ret |
62 |
72 /* epilogue end (size=1) */ |
63 |
73 /* function spi_transfer size 6 (5) */ |
64 |
74 .LFE3: |
65 |
76 .global __vector_17 |
66 |
78 __vector_17: |
67 |
79 .LFB4: |
68 |
80 .LM14: |
69 |
81 /* prologue: frame size=0 */ |
70 |
82 0034 1F92 push __zero_reg__ |
71 |
83 0036 0F92 push __tmp_reg__ |
72 |
84 0038 0FB6 in __tmp_reg__,__SREG__ |
73 |
85 003a 0F92 push __tmp_reg__ |
74 |
86 003c 1124 clr __zero_reg__ |
75 |
87 003e 2F93 push r18 |
76 |
88 0040 3F93 push r19 |
77 |
89 0042 4F93 push r20 |
78 |
90 0044 5F93 push r21 |
79 |
91 0046 6F93 push r22 |
80 |
92 0048 7F93 push r23 |
81 |
93 004a 8F93 push r24 |
82 |
94 004c 9F93 push r25 |
83 |
95 004e AF93 push r26 |
84 |
96 0050 BF93 push r27 |
85 |
97 0052 EF93 push r30 |
86 |
98 0054 FF93 push r31 |
87 |
99 /* prologue end (size=17) */ |
88 |
100 .LM15: |
89 |
101 0056 8091 0000 lds r24,spi_bytes |
90 |
102 005a 8823 tst r24 |
91 |
103 005c 01F0 breq .L11 |
92 |
104 .LM16: |
93 |
105 005e 8FB1 in r24,47-0x20 |
94 |
106 0060 E091 0000 lds r30,spi_recv_func |
95 |
107 0064 F091 0000 lds r31,(spi_recv_func)+1 |
96 |
108 0068 0995 icall |
97 |
109 .LM17: |
98 |
110 006a 8091 0000 lds r24,spi_bytes |
99 |
111 006e 8150 subi r24,lo8(-(-1)) |
100 |
112 0070 8093 0000 sts spi_bytes,r24 |
101 |
113 0074 8091 0000 lds r24,spi_bytes |
102 |
114 0078 8823 tst r24 |
103 |
115 007a 01F4 brne .L8 |
104 |
116 .LM18: |
105 |
117 007c C09A sbi 56-0x20,0 |
106 |
118 .LM19: |
107 |
119 007e E091 0000 lds r30,spi_recv_complete_func |
108 |
120 0082 F091 0000 lds r31,(spi_recv_complete_func)+1 |
109 |
121 0086 3097 sbiw r30,0 |
110 |
122 0088 01F0 breq .L11 |
111 |
123 .LM20: |
112 |
124 008a 0995 icall |
113 |
125 008c 00C0 rjmp .L11 |
114 |
126 .L8: |
115 |
127 .LM21: |
116 |
128 008e 8FEF ldi r24,lo8(-1) |
117 |
129 0090 8FB9 out 47-0x20,r24 |
118 |
130 .L11: |
119 |
131 /* epilogue: frame size=0 */ |
120 |
132 0092 FF91 pop r31 |
121 |
133 0094 EF91 pop r30 |
122 |
134 0096 BF91 pop r27 |
123 |
135 0098 AF91 pop r26 |
124 |
136 009a 9F91 pop r25 |
125 |
137 009c 8F91 pop r24 |
126 |
138 009e 7F91 pop r23 |
127 |
139 00a0 6F91 pop r22 |
128 |
140 00a2 5F91 pop r21 |
129 |
141 00a4 4F91 pop r20 |
130 |
142 00a6 3F91 pop r19 |
131 |
143 00a8 2F91 pop r18 |
132 |
144 00aa 0F90 pop __tmp_reg__ |
133 |
145 00ac 0FBE out __SREG__,__tmp_reg__ |
134 |
146 00ae 0F90 pop __tmp_reg__ |
135 |
147 00b0 1F90 pop __zero_reg__ |
136 |
148 00b2 1895 reti |
137 |
149 /* epilogue end (size=17) */ |
138 |
150 /* function __vector_17 size 64 (30) */ |
139 |
151 .LFE4: |
140 |
153 .lcomm spi_bytes,1 |
141 |
154 .lcomm spi_recv_func,2 |
142 |
155 .lcomm spi_recv_complete_func,2 |
143 |
196 .Letext0: |
144 |
DEFINED SYMBOLS |
145 |
*ABS*:00000000 spi.c |
146 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:3 *ABS*:0000003f __SREG__ |
147 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:4 *ABS*:0000003e __SP_H__ |
148 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:5 *ABS*:0000003d __SP_L__ |
149 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:6 *ABS*:00000000 __tmp_reg__ |
150 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:7 *ABS*:00000001 __zero_reg__ |
151 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:20 .text:00000000 spi_init |
152 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:153 .bss:00000001 spi_recv_func |
153 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:154 .bss:00000003 spi_recv_complete_func |
154 |
.bss:00000000 spi_bytes |
155 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:56 .text:00000028 spi_transfer |
156 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:78 .text:00000034 __vector_17 |
157 |
|
158 |
UNDEFINED SYMBOLS |
159 |
__do_copy_data |
160 |
__do_clear_bss |