📄 queue.lst
字号:
1 .file "queue.c"
2 .arch atmega32
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .lcomm msgReturnValue,1
19 .lcomm msgPoolPoint,1
20 .global msgQueueIn
22 msgQueueIn:
23 .LFB2:
24 .LM1:
25 /* prologue: frame size=0 */
26 /* prologue end (size=0) */
27 .LM2:
28 0000 9091 0000 lds r25,msgPoolPoint
29 0004 9038 cpi r25,lo8(-128)
30 0006 69F0 breq .L1
31 .LM3:
32 /* #APP */
33 0008 F894 cli
34 .LM4:
35 /* #NOAPP */
36 000a E92F mov r30,r25
37 000c FF27 clr r31
38 000e EE0F add r30,r30
39 0010 FF1F adc r31,r31
40 0012 E050 subi r30,lo8(-(msgPool))
41 0014 F040 sbci r31,hi8(-(msgPool))
42 0016 8083 st Z,r24
43 .LM5:
44 0018 6183 std Z+1,r22
45 001a 9F5F subi r25,lo8(-(1))
46 001c 9093 0000 sts msgPoolPoint,r25
47 .LM6:
48 /* #APP */
49 0020 7894 sei
50 /* #NOAPP */
51 .L1:
52 0022 0895 ret
53 /* epilogue: frame size=0 */
54 /* epilogue: noreturn */
55 /* epilogue end (size=0) */
56 /* function msgQueueIn size 20 (20) */
57 .LFE2:
59 .global msgQueueOut
61 msgQueueOut:
62 .LFB3:
63 .LM7:
64 /* prologue: frame size=0 */
65 /* prologue end (size=0) */
66 .LM8:
67 0024 4091 0000 lds r20,msgPoolPoint
68 0028 4423 tst r20
69 002a 19F4 brne .L4
70 .LM9:
71 002c 80E0 ldi r24,lo8(0)
72 002e 90E0 ldi r25,hi8(0)
73 0030 0895 ret
74 .L4:
75 .LM10:
76 /* #APP */
77 0032 F894 cli
78 /* #NOAPP */
79 0034 2091 0000 lds r18,msgPool
80 .LM11:
81 0038 4130 cpi r20,lo8(1)
82 003a 71F4 brne .L5
83 .LM12:
84 003c 4150 subi r20,lo8(-(-1))
85 003e 4093 0000 sts msgPoolPoint,r20
86 0042 8091 0000 lds r24,msgPool+1
87 0046 8093 0000 sts msgReturnValue,r24
88 .LM13:
89 004a 2093 0000 sts msgType,r18
90 .LM14:
91 /* #APP */
92 004e 7894 sei
93 .LM15:
94 /* #NOAPP */
95 0050 8091 0000 lds r24,msgType
96 0054 9927 clr r25
97 0056 0895 ret
98 .L5:
99 .LM16:
100 0058 2093 0000 sts msgType,r18
101 .LM17:
102 005c 1092 0000 sts msgReturnValue,__zero_reg__
103 .LM18:
104 0060 61E0 ldi r22,lo8(1)
105 0062 6417 cp r22,r20
106 0064 D0F4 brsh .L16
107 0066 522F mov r21,r18
108 0068 A0E0 ldi r26,lo8(0)
109 006a E0E0 ldi r30,lo8(msgPool+2)
110 006c F0E0 ldi r31,hi8(msgPool+2)
111 .L10:
112 .LM19:
113 006e 252F mov r18,r21
114 0070 3327 clr r19
115 0072 207F andi r18,lo8(240)
116 0074 3070 andi r19,hi8(240)
117 0076 7081 ld r23,Z
118 0078 3296 adiw r30,2
119 007a 872F mov r24,r23
120 007c 9927 clr r25
121 007e 807F andi r24,lo8(240)
122 0080 9070 andi r25,hi8(240)
123 0082 2817 cp r18,r24
124 0084 3907 cpc r19,r25
125 0086 14F4 brge .L8
126 .LM20:
127 0088 572F mov r21,r23
128 .LM21:
129 008a A62F mov r26,r22
130 .L8:
131 .LM22:
132 008c 6F5F subi r22,lo8(-(1))
133 008e 6417 cp r22,r20
134 0090 70F3 brlo .L10
135 0092 A093 0000 sts msgReturnValue,r26
136 0096 5093 0000 sts msgType,r21
137 .L16:
138 .LM23:
139 009a 6091 0000 lds r22,msgReturnValue
140 .LM24:
141 009e E62F mov r30,r22
142 00a0 FF27 clr r31
143 00a2 EE0F add r30,r30
144 00a4 FF1F adc r31,r31
145 00a6 E050 subi r30,lo8(-(msgPool))
146 00a8 F040 sbci r31,hi8(-(msgPool))
147 00aa 8181 ldd r24,Z+1
148 00ac 8093 0000 sts msgReturnValue,r24
149 .LM25:
150 00b0 8091 0000 lds r24,msgPoolPoint
151 00b4 8150 subi r24,lo8(-(-1))
152 00b6 8093 0000 sts msgPoolPoint,r24
153 .LM26:
154 00ba 6817 cp r22,r24
155 00bc 48F4 brsh .L18
156 00be 982F mov r25,r24
157 .L14:
158 .LM27:
159 00c0 8281 ldd r24,Z+2
160 00c2 8083 st Z,r24
161 .LM28:
162 00c4 8381 ldd r24,Z+3
163 00c6 8183 std Z+1,r24
164 .LM29:
165 00c8 6F5F subi r22,lo8(-(1))
166 00ca 3296 adiw r30,2
167 00cc 6917 cp r22,r25
168 00ce C0F3 brlo .L14
169 .L18:
170 .LM30:
171 /* #APP */
172 00d0 7894 sei
173 .LM31:
174 /* #NOAPP */
175 00d2 8091 0000 lds r24,msgType
176 00d6 9927 clr r25
177 .LM32:
178 00d8 0895 ret
179 /* epilogue: frame size=0 */
180 /* epilogue: noreturn */
181 /* epilogue end (size=0) */
182 /* function msgQueueOut size 94 (94) */
183 .LFE3:
185 .global msgQueueGetData
187 msgQueueGetData:
188 .LFB4:
189 .LM33:
190 /* prologue: frame size=0 */
191 /* prologue end (size=0) */
192 .LM34:
193 00da 8091 0000 lds r24,msgReturnValue
194 .LM35:
195 00de 9927 clr r25
196 /* epilogue: frame size=0 */
197 00e0 0895 ret
198 /* epilogue end (size=1) */
199 /* function msgQueueGetData size 4 (3) */
200 .LFE4:
202 .lcomm msgType,1
203 .lcomm msgPool,256
204 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 queue.c
f:\temp/ccE3aaaa.s:3 *ABS*:0000003f __SREG__
f:\temp/ccE3aaaa.s:4 *ABS*:0000003e __SP_H__
f:\temp/ccE3aaaa.s:5 *ABS*:0000003d __SP_L__
f:\temp/ccE3aaaa.s:6 *ABS*:00000000 __tmp_reg__
f:\temp/ccE3aaaa.s:7 *ABS*:00000001 __zero_reg__
.bss:00000000 msgReturnValue
f:\temp/ccE3aaaa.s:18 .bss:00000001 msgPoolPoint
f:\temp/ccE3aaaa.s:22 .text:00000000 msgQueueIn
f:\temp/ccE3aaaa.s:202 .bss:00000003 msgPool
f:\temp/ccE3aaaa.s:61 .text:00000024 msgQueueOut
f:\temp/ccE3aaaa.s:19 .bss:00000002 msgType
f:\temp/ccE3aaaa.s:187 .text:000000da msgQueueGetData
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -