db_shift.lst
来自「针对AVR单片机开发的嵌入式操作系统」· LST 代码 · 共 283 行
LST
283 行
GAS LISTING c:\Temp/ccMnaaaa.s page 1
1 .file "db_shift.c"
2 .arch atmega128
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
10 .text
11 .global DevBoardShiftDelay
12 .type DevBoardShiftDelay, @function
13 DevBoardShiftDelay:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 1616 cp __zero_reg__,r22
17 0002 1706 cpc __zero_reg__,r23
18 0004 1806 cpc __zero_reg__,r24
19 0006 1906 cpc __zero_reg__,r25
20 0008 34F4 brge .L7
21 .L5:
22 /* #APP */
23 000a 0000 nop
24 /* #NOAPP */
25 000c 6150 subi r22,lo8(-(-1))
26 000e 7040 sbci r23,hi8(-(-1))
27 0010 8040 sbci r24,hlo8(-(-1))
28 0012 9040 sbci r25,hhi8(-(-1))
29 0014 D1F7 brne .L5
30 .L7:
31 0016 0895 ret
32 /* epilogue: frame size=0 */
33 /* epilogue: noreturn */
34 /* epilogue end (size=0) */
35 /* function DevBoardShiftDelay size 17 (17) */
36 .size DevBoardShiftDelay, .-DevBoardShiftDelay
37 .global DevBoardShiftLedOut
38 .type DevBoardShiftLedOut, @function
39 DevBoardShiftLedOut:
40 /* prologue: frame size=0 */
41 0018 1F93 push r17
42 001a CF93 push r28
43 /* prologue end (size=2) */
44 001c 182F mov r17,r24
45 001e 8D9A sbi 49-0x20,5
46 0020 8F9A sbi 49-0x20,7
47 0022 8E9A sbi 49-0x20,6
48 0024 9598 cbi 50-0x20,5
49 0026 9798 cbi 50-0x20,7
50 0028 C7E0 ldi r28,lo8(7)
51 .L13:
52 002a 812F mov r24,r17
53 002c 9927 clr r25
54 002e 0C2E mov r0,r28
55 0030 02C0 rjmp 2f
56 0032 9595 1: asr r25
57 0034 8795 ror r24
GAS LISTING c:\Temp/ccMnaaaa.s page 2
58 0036 0A94 2: dec r0
59 0038 E2F7 brpl 1b
60 003a 80FF sbrs r24,0
61 003c 02C0 rjmp .L11
62 003e 969A sbi 50-0x20,6
63 0040 01C0 rjmp .L12
64 .L11:
65 0042 9698 cbi 50-0x20,6
66 .L12:
67 0044 61E0 ldi r22,lo8(1)
68 0046 70E0 ldi r23,hi8(1)
69 0048 80E0 ldi r24,hlo8(1)
70 004a 90E0 ldi r25,hhi8(1)
71 004c 0E94 0000 call DevBoardShiftDelay
72 0050 979A sbi 50-0x20,7
73 0052 61E0 ldi r22,lo8(1)
74 0054 70E0 ldi r23,hi8(1)
75 0056 80E0 ldi r24,hlo8(1)
76 0058 90E0 ldi r25,hhi8(1)
77 005a 0E94 0000 call DevBoardShiftDelay
78 005e 9798 cbi 50-0x20,7
79 0060 C150 subi r28,1
80 0062 18F7 brcc .L13
81 0064 959A sbi 50-0x20,5
82 /* epilogue: frame size=0 */
83 0066 CF91 pop r28
84 0068 1F91 pop r17
85 006a 0895 ret
86 /* epilogue end (size=3) */
87 /* function DevBoardShiftLedOut size 43 (38) */
88 .size DevBoardShiftLedOut, .-DevBoardShiftLedOut
89 .global DevBoardShiftLcdOut
90 .type DevBoardShiftLcdOut, @function
91 DevBoardShiftLcdOut:
92 /* prologue: frame size=0 */
93 006c 1F93 push r17
94 006e CF93 push r28
95 /* prologue end (size=2) */
96 0070 182F mov r17,r24
97 0072 899A sbi 49-0x20,1
98 0074 8F9A sbi 49-0x20,7
99 0076 8E9A sbi 49-0x20,6
100 0078 9198 cbi 50-0x20,1
101 007a 9798 cbi 50-0x20,7
102 007c C7E0 ldi r28,lo8(7)
103 .L21:
104 007e 812F mov r24,r17
105 0080 9927 clr r25
106 0082 0C2E mov r0,r28
107 0084 02C0 rjmp 2f
108 0086 9595 1: asr r25
109 0088 8795 ror r24
110 008a 0A94 2: dec r0
111 008c E2F7 brpl 1b
112 008e 80FF sbrs r24,0
113 0090 02C0 rjmp .L19
114 0092 969A sbi 50-0x20,6
GAS LISTING c:\Temp/ccMnaaaa.s page 3
115 0094 01C0 rjmp .L20
116 .L19:
117 0096 9698 cbi 50-0x20,6
118 .L20:
119 0098 61E0 ldi r22,lo8(1)
120 009a 70E0 ldi r23,hi8(1)
121 009c 80E0 ldi r24,hlo8(1)
122 009e 90E0 ldi r25,hhi8(1)
123 00a0 0E94 0000 call DevBoardShiftDelay
124 00a4 979A sbi 50-0x20,7
125 00a6 61E0 ldi r22,lo8(1)
126 00a8 70E0 ldi r23,hi8(1)
127 00aa 80E0 ldi r24,hlo8(1)
128 00ac 90E0 ldi r25,hhi8(1)
129 00ae 0E94 0000 call DevBoardShiftDelay
130 00b2 9798 cbi 50-0x20,7
131 00b4 C150 subi r28,1
132 00b6 18F7 brcc .L21
133 00b8 919A sbi 50-0x20,1
134 /* epilogue: frame size=0 */
135 00ba CF91 pop r28
136 00bc 1F91 pop r17
137 00be 0895 ret
138 /* epilogue end (size=3) */
139 /* function DevBoardShiftLcdOut size 43 (38) */
140 .size DevBoardShiftLcdOut, .-DevBoardShiftLcdOut
141 .global DevBoardShiftWordOut
142 .type DevBoardShiftWordOut, @function
143 DevBoardShiftWordOut:
144 /* prologue: frame size=0 */
145 00c0 0F93 push r16
146 00c2 1F93 push r17
147 00c4 CF93 push r28
148 /* prologue end (size=3) */
149 00c6 8C01 movw r16,r24
150 00c8 8D9A sbi 49-0x20,5
151 00ca 8F9A sbi 49-0x20,7
152 00cc 8E9A sbi 49-0x20,6
153 00ce 9598 cbi 50-0x20,5
154 00d0 9798 cbi 50-0x20,7
155 00d2 CFE0 ldi r28,lo8(15)
156 .L29:
157 00d4 81E0 ldi r24,lo8(1)
158 00d6 90E0 ldi r25,hi8(1)
159 00d8 0C2E mov r0,r28
160 00da 02C0 rjmp 2f
161 00dc 880F 1: lsl r24
162 00de 991F rol r25
163 00e0 0A94 2: dec r0
164 00e2 E2F7 brpl 1b
165 00e4 8023 and r24,r16
166 00e6 9123 and r25,r17
167 00e8 892B or r24,r25
168 00ea 11F0 breq .L27
169 00ec 969A sbi 50-0x20,6
170 00ee 01C0 rjmp .L28
171 .L27:
GAS LISTING c:\Temp/ccMnaaaa.s page 4
172 00f0 9698 cbi 50-0x20,6
173 .L28:
174 00f2 61E0 ldi r22,lo8(1)
175 00f4 70E0 ldi r23,hi8(1)
176 00f6 80E0 ldi r24,hlo8(1)
177 00f8 90E0 ldi r25,hhi8(1)
178 00fa 0E94 0000 call DevBoardShiftDelay
179 00fe 979A sbi 50-0x20,7
180 0100 61E0 ldi r22,lo8(1)
181 0102 70E0 ldi r23,hi8(1)
182 0104 80E0 ldi r24,hlo8(1)
183 0106 90E0 ldi r25,hhi8(1)
184 0108 0E94 0000 call DevBoardShiftDelay
185 010c 9798 cbi 50-0x20,7
186 010e C150 subi r28,1
187 0110 08F7 brcc .L29
188 0112 959A sbi 50-0x20,5
189 /* epilogue: frame size=0 */
190 0114 CF91 pop r28
191 0116 1F91 pop r17
192 0118 0F91 pop r16
193 011a 0895 ret
194 /* epilogue end (size=4) */
195 /* function DevBoardShiftWordOut size 47 (40) */
196 .size DevBoardShiftWordOut, .-DevBoardShiftWordOut
197 .global DevBoardShiftByteIn
198 .type DevBoardShiftByteIn, @function
199 DevBoardShiftByteIn:
200 /* prologue: frame size=0 */
201 011c 1F93 push r17
202 011e CF93 push r28
203 /* prologue end (size=2) */
204 0120 10E0 ldi r17,lo8(0)
205 0122 8A9A sbi 49-0x20,2
206 0124 8F9A sbi 49-0x20,7
207 0126 8C98 cbi 49-0x20,4
208 0128 9798 cbi 50-0x20,7
209 012a 9298 cbi 50-0x20,2
210 012c 61E0 ldi r22,lo8(1)
211 012e 70E0 ldi r23,hi8(1)
212 0130 80E0 ldi r24,hlo8(1)
213 0132 90E0 ldi r25,hhi8(1)
214 0134 0E94 0000 call DevBoardShiftDelay
215 0138 929A sbi 50-0x20,2
216 013a 8499 sbic 48-0x20,4
217 013c 11E0 ldi r17,lo8(1)
218 .L34:
219 013e C6E0 ldi r28,lo8(6)
220 .L39:
221 0140 979A sbi 50-0x20,7
222 0142 61E0 ldi r22,lo8(1)
223 0144 70E0 ldi r23,hi8(1)
224 0146 80E0 ldi r24,hlo8(1)
225 0148 90E0 ldi r25,hhi8(1)
226 014a 0E94 0000 call DevBoardShiftDelay
227 014e 110F lsl r17
228 0150 8499 sbic 48-0x20,4
GAS LISTING c:\Temp/ccMnaaaa.s page 5
229 0152 1160 ori r17,lo8(1)
230 .L38:
231 0154 9798 cbi 50-0x20,7
232 0156 61E0 ldi r22,lo8(1)
233 0158 70E0 ldi r23,hi8(1)
234 015a 80E0 ldi r24,hlo8(1)
235 015c 90E0 ldi r25,hhi8(1)
236 015e 0E94 0000 call DevBoardShiftDelay
237 0162 C150 subi r28,1
238 0164 68F7 brcc .L39
239 0166 812F mov r24,r17
240 0168 9927 clr r25
241 /* epilogue: frame size=0 */
242 016a CF91 pop r28
243 016c 1F91 pop r17
244 016e 0895 ret
245 /* epilogue end (size=3) */
246 /* function DevBoardShiftByteIn size 45 (40) */
247 .size DevBoardShiftByteIn, .-DevBoardShiftByteIn
248 /* File "db_shift.c": code 195 = 0x00c3 ( 173), prologues 9, epilogues 13 */
GAS LISTING c:\Temp/ccMnaaaa.s page 6
DEFINED SYMBOLS
*ABS*:00000000 db_shift.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
c:\Temp/ccMnaaaa.s:13 .text:00000000 DevBoardShiftDelay
c:\Temp/ccMnaaaa.s:39 .text:00000018 DevBoardShiftLedOut
c:\Temp/ccMnaaaa.s:91 .text:0000006c DevBoardShiftLcdOut
c:\Temp/ccMnaaaa.s:143 .text:000000c0 DevBoardShiftWordOut
c:\Temp/ccMnaaaa.s:199 .text:0000011c DevBoardShiftByteIn
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?