| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827 |
- GAS LISTING /tmp/ccuZScUs.s page 1
- 1 .file "spi_7seg.c"
- 2 __SP_H__ = 0x3e
- 3 __SP_L__ = 0x3d
- 4 __SREG__ = 0x3f
- 5 __RAMPZ__ = 0x3b
- 6 __tmp_reg__ = 0
- 7 __zero_reg__ = 1
- 8 .section .text.Spi7SegIOCtl,"ax",@progbits
- 9 .type Spi7SegIOCtl, @function
- 10 Spi7SegIOCtl:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 80E0 ldi r24,0
- 16 0002 90E0 ldi r25,0
- 17 0004 0895 ret
- 18 .size Spi7SegIOCtl, .-Spi7SegIOCtl
- 19 .section .text.Spi7SegOpen,"ax",@progbits
- 20 .global Spi7SegOpen
- 21 .type Spi7SegOpen, @function
- 22 Spi7SegOpen:
- 23 0000 CF93 push r28
- 24 0002 DF93 push r29
- 25 /* prologue: function */
- 26 /* frame size = 0 */
- 27 /* stack size = 2 */
- 28 .L__stack_usage = 2
- 29 0004 EC01 movw r28,r24
- 30 0006 84E0 ldi r24,lo8(4)
- 31 0008 90E0 ldi r25,0
- 32 000a 0E94 0000 call malloc
- 33 000e FC01 movw r30,r24
- 34 0010 0097 sbiw r24,0
- 35 0012 01F0 breq .L4
- 36 0014 D183 std Z+1,r29
- 37 0016 C083 st Z,r28
- 38 0018 1382 std Z+3,__zero_reg__
- 39 001a 1282 std Z+2,__zero_reg__
- 40 001c 00C0 rjmp .L3
- 41 .L4:
- 42 001e 8FEF ldi r24,lo8(-1)
- 43 0020 9FEF ldi r25,lo8(-1)
- 44 .L3:
- 45 /* epilogue start */
- 46 0022 DF91 pop r29
- 47 0024 CF91 pop r28
- 48 0026 0895 ret
- 49 .size Spi7SegOpen, .-Spi7SegOpen
- 50 .section .text.Spi7SegClose,"ax",@progbits
- 51 .type Spi7SegClose, @function
- 52 Spi7SegClose:
- 53 /* prologue: function */
- 54 /* frame size = 0 */
- 55 /* stack size = 0 */
- 56 .L__stack_usage = 0
- 57 0000 0097 sbiw r24,0
- GAS LISTING /tmp/ccuZScUs.s page 2
- 58 0002 01F0 breq .L8
- 59 0004 0E94 0000 call free
- 60 0008 80E0 ldi r24,0
- 61 000a 90E0 ldi r25,0
- 62 000c 0895 ret
- 63 .L8:
- 64 000e 8FEF ldi r24,lo8(-1)
- 65 0010 9FEF ldi r25,lo8(-1)
- 66 0012 0895 ret
- 67 .size Spi7SegClose, .-Spi7SegClose
- 68 .section .text.disp7segCommand.isra.0,"ax",@progbits
- 69 .type disp7segCommand.isra.0, @function
- 70 disp7segCommand.isra.0:
- 71 0000 CF92 push r12
- 72 0002 DF92 push r13
- 73 0004 EF92 push r14
- 74 0006 FF92 push r15
- 75 0008 0F93 push r16
- 76 000a 1F93 push r17
- 77 000c CF93 push r28
- 78 000e DF93 push r29
- 79 0010 1F92 push __zero_reg__
- 80 0012 1F92 push __zero_reg__
- 81 0014 CDB7 in r28,__SP_L__
- 82 0016 DEB7 in r29,__SP_H__
- 83 /* prologue: function */
- 84 /* frame size = 2 */
- 85 /* stack size = 10 */
- 86 .L__stack_usage = 10
- 87 0018 8C01 movw r16,r24
- 88 001a DC01 movw r26,r24
- 89 001c CD90 ld r12,X+
- 90 001e DC90 ld r13,X
- 91 0020 6983 std Y+1,r22
- 92 0022 FA01 movw r30,r20
- 93 0024 8081 ld r24,Z
- 94 0026 8A83 std Y+2,r24
- 95 0028 D601 movw r26,r12
- 96 002a 1A96 adiw r26,10
- 97 002c ED91 ld r30,X+
- 98 002e FC91 ld r31,X
- 99 0030 1B97 sbiw r26,10+1
- 100 0032 48EE ldi r20,lo8(-24)
- 101 0034 53E0 ldi r21,lo8(3)
- 102 0036 60E0 ldi r22,0
- 103 0038 70E0 ldi r23,0
- 104 003a C801 movw r24,r16
- 105 003c 1995 eicall
- 106 003e 7C01 movw r14,r24
- 107 0040 892B or r24,r25
- 108 0042 01F4 brne .L10
- 109 0044 D601 movw r26,r12
- 110 0046 1E96 adiw r26,14
- 111 0048 ED91 ld r30,X+
- 112 004a FC91 ld r31,X
- 113 004c 1F97 sbiw r26,14+1
- 114 004e 22E0 ldi r18,lo8(2)
- GAS LISTING /tmp/ccuZScUs.s page 3
- 115 0050 30E0 ldi r19,0
- 116 0052 40E0 ldi r20,0
- 117 0054 50E0 ldi r21,0
- 118 0056 BE01 movw r22,r28
- 119 0058 6F5F subi r22,-1
- 120 005a 7F4F sbci r23,-1
- 121 005c C801 movw r24,r16
- 122 005e 1995 eicall
- 123 0060 7C01 movw r14,r24
- 124 0062 D601 movw r26,r12
- 125 0064 1C96 adiw r26,12
- 126 0066 ED91 ld r30,X+
- 127 0068 FC91 ld r31,X
- 128 006a 1D97 sbiw r26,12+1
- 129 006c C801 movw r24,r16
- 130 006e 1995 eicall
- 131 .L10:
- 132 0070 C701 movw r24,r14
- 133 /* epilogue start */
- 134 0072 0F90 pop __tmp_reg__
- 135 0074 0F90 pop __tmp_reg__
- 136 0076 DF91 pop r29
- 137 0078 CF91 pop r28
- 138 007a 1F91 pop r17
- 139 007c 0F91 pop r16
- 140 007e FF90 pop r15
- 141 0080 EF90 pop r14
- 142 0082 DF90 pop r13
- 143 0084 CF90 pop r12
- 144 0086 0895 ret
- 145 .size disp7segCommand.isra.0, .-disp7segCommand.isra.0
- 146 .section .text.Spi7segInit,"ax",@progbits
- 147 .global Spi7segInit
- 148 .type Spi7segInit, @function
- 149 Spi7segInit:
- 150 0000 CF92 push r12
- 151 0002 DF92 push r13
- 152 0004 EF92 push r14
- 153 0006 FF92 push r15
- 154 0008 0F93 push r16
- 155 000a 1F93 push r17
- 156 000c CF93 push r28
- 157 000e DF93 push r29
- 158 0010 1F92 push __zero_reg__
- 159 0012 CDB7 in r28,__SP_L__
- 160 0014 DEB7 in r29,__SP_H__
- 161 /* prologue: function */
- 162 /* frame size = 1 */
- 163 /* stack size = 9 */
- 164 .L__stack_usage = 9
- 165 0016 6C01 movw r12,r24
- 166 0018 FC01 movw r30,r24
- 167 001a 0785 ldd r16,Z+15
- 168 001c 1089 ldd r17,Z+16
- 169 001e 87E0 ldi r24,lo8(7)
- 170 0020 90E0 ldi r25,0
- 171 0022 0E94 0000 call malloc
- GAS LISTING /tmp/ccuZScUs.s page 4
- 172 0026 7C01 movw r14,r24
- 173 0028 892B or r24,r25
- 174 002a 01F4 brne .+2
- 175 002c 00C0 rjmp .L13
- 176 002e 87E0 ldi r24,lo8(7)
- 177 0030 F701 movw r30,r14
- 178 0:
- 179 0032 1192 st Z+,__zero_reg__
- 180 0034 8A95 dec r24
- 181 0036 01F4 brne 0b
- 182 0038 F601 movw r30,r12
- 183 003a F28A std Z+18,r15
- 184 003c E18A std Z+17,r14
- 185 003e 1982 std Y+1,__zero_reg__
- 186 0040 AE01 movw r20,r28
- 187 0042 4F5F subi r20,-1
- 188 0044 5F4F sbci r21,-1
- 189 0046 6FE0 ldi r22,lo8(15)
- 190 0048 C801 movw r24,r16
- 191 004a 0E94 0000 call disp7segCommand.isra.0
- 192 004e AE01 movw r20,r28
- 193 0050 4F5F subi r20,-1
- 194 0052 5F4F sbci r21,-1
- 195 0054 6FE0 ldi r22,lo8(15)
- 196 0056 C801 movw r24,r16
- 197 0058 0E94 0000 call disp7segCommand.isra.0
- 198 005c AE01 movw r20,r28
- 199 005e 4F5F subi r20,-1
- 200 0060 5F4F sbci r21,-1
- 201 0062 6FE0 ldi r22,lo8(15)
- 202 0064 C801 movw r24,r16
- 203 0066 0E94 0000 call disp7segCommand.isra.0
- 204 006a 81E0 ldi r24,lo8(1)
- 205 006c 8983 std Y+1,r24
- 206 006e AE01 movw r20,r28
- 207 0070 4F5F subi r20,-1
- 208 0072 5F4F sbci r21,-1
- 209 0074 6CE0 ldi r22,lo8(12)
- 210 0076 C801 movw r24,r16
- 211 0078 0E94 0000 call disp7segCommand.isra.0
- 212 007c 84E0 ldi r24,lo8(4)
- 213 007e 8983 std Y+1,r24
- 214 0080 AE01 movw r20,r28
- 215 0082 4F5F subi r20,-1
- 216 0084 5F4F sbci r21,-1
- 217 0086 6BE0 ldi r22,lo8(11)
- 218 0088 C801 movw r24,r16
- 219 008a 0E94 0000 call disp7segCommand.isra.0
- 220 008e F701 movw r30,r14
- 221 0090 1582 std Z+5,__zero_reg__
- 222 0092 A701 movw r20,r14
- 223 0094 4B5F subi r20,-5
- 224 0096 5F4F sbci r21,-1
- 225 0098 69E0 ldi r22,lo8(9)
- 226 009a C801 movw r24,r16
- 227 009c 0E94 0000 call disp7segCommand.isra.0
- 228 00a0 8FE0 ldi r24,lo8(15)
- GAS LISTING /tmp/ccuZScUs.s page 5
- 229 00a2 8983 std Y+1,r24
- 230 00a4 AE01 movw r20,r28
- 231 00a6 4F5F subi r20,-1
- 232 00a8 5F4F sbci r21,-1
- 233 00aa 6AE0 ldi r22,lo8(10)
- 234 00ac C801 movw r24,r16
- 235 00ae 0E94 0000 call disp7segCommand.isra.0
- 236 00b2 1982 std Y+1,__zero_reg__
- 237 00b4 AE01 movw r20,r28
- 238 00b6 4F5F subi r20,-1
- 239 00b8 5F4F sbci r21,-1
- 240 00ba 61E0 ldi r22,lo8(1)
- 241 00bc C801 movw r24,r16
- 242 00be 0E94 0000 call disp7segCommand.isra.0
- 243 00c2 AE01 movw r20,r28
- 244 00c4 4F5F subi r20,-1
- 245 00c6 5F4F sbci r21,-1
- 246 00c8 62E0 ldi r22,lo8(2)
- 247 00ca C801 movw r24,r16
- 248 00cc 0E94 0000 call disp7segCommand.isra.0
- 249 00d0 AE01 movw r20,r28
- 250 00d2 4F5F subi r20,-1
- 251 00d4 5F4F sbci r21,-1
- 252 00d6 63E0 ldi r22,lo8(3)
- 253 00d8 C801 movw r24,r16
- 254 00da 0E94 0000 call disp7segCommand.isra.0
- 255 00de 80E0 ldi r24,0
- 256 00e0 90E0 ldi r25,0
- 257 00e2 00C0 rjmp .L12
- 258 .L13:
- 259 00e4 8FEF ldi r24,lo8(-1)
- 260 00e6 9FEF ldi r25,lo8(-1)
- 261 .L12:
- 262 /* epilogue start */
- 263 00e8 0F90 pop __tmp_reg__
- 264 00ea DF91 pop r29
- 265 00ec CF91 pop r28
- 266 00ee 1F91 pop r17
- 267 00f0 0F91 pop r16
- 268 00f2 FF90 pop r15
- 269 00f4 EF90 pop r14
- 270 00f6 DF90 pop r13
- 271 00f8 CF90 pop r12
- 272 00fa 0895 ret
- 273 .size Spi7segInit, .-Spi7segInit
- 274 .section .text.Spi7SegPush,"ax",@progbits
- 275 .global Spi7SegPush
- 276 .type Spi7SegPush, @function
- 277 Spi7SegPush:
- 278 0000 EF92 push r14
- 279 0002 FF92 push r15
- 280 0004 0F93 push r16
- 281 0006 1F93 push r17
- 282 0008 CF93 push r28
- 283 /* prologue: function */
- 284 /* frame size = 0 */
- 285 /* stack size = 5 */
- GAS LISTING /tmp/ccuZScUs.s page 6
- 286 .L__stack_usage = 5
- 287 000a FC01 movw r30,r24
- 288 000c E784 ldd r14,Z+15
- 289 000e F088 ldd r15,Z+16
- 290 0010 0189 ldd r16,Z+17
- 291 0012 1289 ldd r17,Z+18
- 292 0014 C4E0 ldi r28,lo8(4)
- 293 .L15:
- 294 0016 A801 movw r20,r16
- 295 0018 6C2F mov r22,r28
- 296 001a C701 movw r24,r14
- 297 001c 0E94 0000 call disp7segCommand.isra.0
- 298 0020 C150 subi r28,lo8(-(-1))
- 299 0022 0F5F subi r16,-1
- 300 0024 1F4F sbci r17,-1
- 301 0026 C111 cpse r28,__zero_reg__
- 302 0028 00C0 rjmp .L15
- 303 /* epilogue start */
- 304 002a CF91 pop r28
- 305 002c 1F91 pop r17
- 306 002e 0F91 pop r16
- 307 0030 FF90 pop r15
- 308 0032 EF90 pop r14
- 309 0034 0895 ret
- 310 .size Spi7SegPush, .-Spi7SegPush
- 311 .section .text.Spi7segPutc,"ax",@progbits
- 312 .global Spi7segPutc
- 313 .type Spi7segPutc, @function
- 314 Spi7segPutc:
- 315 0000 0F93 push r16
- 316 0002 1F93 push r17
- 317 0004 CF93 push r28
- 318 0006 DF93 push r29
- 319 0008 1F92 push __zero_reg__
- 320 000a CDB7 in r28,__SP_L__
- 321 000c DEB7 in r29,__SP_H__
- 322 /* prologue: function */
- 323 /* frame size = 1 */
- 324 /* stack size = 5 */
- 325 .L__stack_usage = 5
- 326 000e 9C01 movw r18,r24
- 327 0010 462F mov r20,r22
- 328 0012 6983 std Y+1,r22
- 329 0014 FC01 movw r30,r24
- 330 0016 A189 ldd r26,Z+17
- 331 0018 B289 ldd r27,Z+18
- 332 001a 0785 ldd r16,Z+15
- 333 001c 1089 ldd r17,Z+16
- 334 001e 1696 adiw r26,6
- 335 0020 8C91 ld r24,X
- 336 0022 1697 sbiw r26,6
- 337 0024 E62F mov r30,r22
- 338 0026 87FF sbrs r24,7
- 339 0028 00C0 rjmp .L18
- 340 002a 982F mov r25,r24
- 341 002c 9F77 andi r25,lo8(127)
- 342 002e 1696 adiw r26,6
- GAS LISTING /tmp/ccuZScUs.s page 7
- 343 0030 9C93 st X,r25
- 344 0032 1697 sbiw r26,6
- 345 0034 042E mov __tmp_reg__,r20
- 346 0036 000C lsl r0
- 347 0038 550B sbc r21,r21
- 348 003a 660B sbc r22,r22
- 349 003c 770B sbc r23,r23
- 350 003e FA01 movw r30,r20
- 351 0040 E256 subi r30,98
- 352 0042 F109 sbc r31,__zero_reg__
- 353 0044 E331 cpi r30,19
- 354 0046 F105 cpc r31,__zero_reg__
- 355 0048 00F0 brlo .+2
- 356 004a 00C0 rjmp .L19
- 357 004c 8827 clr r24
- 358 004e E050 subi r30,pm_lo8(-(.L21))
- 359 0050 F040 sbci r31,pm_hi8(-(.L21))
- 360 0052 8040 sbci r24,pm_hh8(-(.L21))
- 361 0054 0C94 0000 jmp __tablejump2__
- 362 .section .progmem.gcc_sw_table.Spi7segPutc,"a",@progbits
- 363 .p2align 1
- 364 .L21:
- 365 0000 0000 .word gs(.L20)
- 366 0002 0000 .word gs(.L22)
- 367 0004 0000 .word gs(.L19)
- 368 0006 0000 .word gs(.L19)
- 369 0008 0000 .word gs(.L23)
- 370 000a 0000 .word gs(.L19)
- 371 000c 0000 .word gs(.L47)
- 372 000e 0000 .word gs(.L25)
- 373 0010 0000 .word gs(.L19)
- 374 0012 0000 .word gs(.L19)
- 375 0014 0000 .word gs(.L19)
- 376 0016 0000 .word gs(.L19)
- 377 0018 0000 .word gs(.L26)
- 378 001a 0000 .word gs(.L19)
- 379 001c 0000 .word gs(.L19)
- 380 001e 0000 .word gs(.L19)
- 381 0020 0000 .word gs(.L19)
- 382 0022 0000 .word gs(.L19)
- 383 0024 0000 .word gs(.L27)
- 384 .section .text.Spi7segPutc
- 385 .L20:
- 386 0058 1596 adiw r26,5
- 387 005a 8C91 ld r24,X
- 388 005c 1597 sbiw r26,5
- 389 005e 8063 ori r24,lo8(48)
- 390 0060 00C0 rjmp .L46
- 391 .L23:
- 392 0062 1596 adiw r26,5
- 393 0064 8C91 ld r24,X
- 394 0066 1597 sbiw r26,5
- 395 0068 8F7C andi r24,lo8(-49)
- 396 006a 8061 ori r24,lo8(16)
- 397 .L46:
- 398 006c 1596 adiw r26,5
- 399 006e 8C93 st X,r24
- GAS LISTING /tmp/ccuZScUs.s page 8
- 400 0070 1597 sbiw r26,5
- 401 0072 AD01 movw r20,r26
- 402 0074 4B5F subi r20,-5
- 403 0076 5F4F sbci r21,-1
- 404 0078 6EE0 ldi r22,lo8(14)
- 405 .L48:
- 406 007a C801 movw r24,r16
- 407 007c 0E94 0000 call disp7segCommand.isra.0
- 408 0080 00C0 rjmp .L28
- 409 .L26:
- 410 0082 1596 adiw r26,5
- 411 0084 8C91 ld r24,X
- 412 0086 1597 sbiw r26,5
- 413 0088 8F7C andi r24,lo8(-49)
- 414 008a 00C0 rjmp .L46
- 415 .L22:
- 416 008c 1D92 st X+,__zero_reg__
- 417 008e 1D92 st X+,__zero_reg__
- 418 0090 1D92 st X+,__zero_reg__
- 419 0092 1C92 st X,__zero_reg__
- 420 0094 1397 sbiw r26,3
- 421 0096 00C0 rjmp .L50
- 422 .L27:
- 423 0098 4FEF ldi r20,lo8(-1)
- 424 009a 5FEF ldi r21,lo8(-1)
- 425 009c BA01 movw r22,r20
- 426 009e 4D93 st X+,r20
- 427 00a0 5D93 st X+,r21
- 428 00a2 6D93 st X+,r22
- 429 00a4 7C93 st X,r23
- 430 00a6 1397 sbiw r26,3
- 431 .L50:
- 432 00a8 892F mov r24,r25
- 433 00aa 00C0 rjmp .L45
- 434 .L25:
- 435 00ac 892F mov r24,r25
- 436 00ae 8260 ori r24,lo8(2)
- 437 00b0 00C0 rjmp .L49
- 438 .L18:
- 439 00b2 6B31 cpi r22,lo8(27)
- 440 00b4 01F4 brne .L29
- 441 00b6 8068 ori r24,lo8(-128)
- 442 .L49:
- 443 00b8 1696 adiw r26,6
- 444 00ba 8C93 st X,r24
- 445 00bc 00C0 rjmp .L28
- 446 .L29:
- 447 00be 81FF sbrs r24,1
- 448 00c0 00C0 rjmp .L30
- 449 00c2 8D7F andi r24,lo8(-3)
- 450 00c4 1696 adiw r26,6
- 451 00c6 8C93 st X,r24
- 452 00c8 6A33 cpi r22,lo8(58)
- 453 00ca 04F0 brlt .L31
- 454 00cc 49EC ldi r20,lo8(-55)
- 455 00ce 00C0 rjmp .L44
- 456 .L31:
- GAS LISTING /tmp/ccuZScUs.s page 9
- 457 00d0 40ED ldi r20,lo8(-48)
- 458 .L44:
- 459 00d2 4E0F add r20,r30
- 460 00d4 4983 std Y+1,r20
- 461 00d6 AE01 movw r20,r28
- 462 00d8 4F5F subi r20,-1
- 463 00da 5F4F sbci r21,-1
- 464 00dc 6AE0 ldi r22,lo8(10)
- 465 00de 00C0 rjmp .L48
- 466 .L30:
- 467 00e0 6A30 cpi r22,lo8(10)
- 468 00e2 01F4 brne .L33
- 469 .L47:
- 470 00e4 1496 adiw r26,4
- 471 00e6 1C92 st X,__zero_reg__
- 472 00e8 00C0 rjmp .L28
- 473 .L33:
- 474 00ea 1496 adiw r26,4
- 475 00ec 9C91 ld r25,X
- 476 00ee 1497 sbiw r26,4
- 477 00f0 6E32 cpi r22,lo8(46)
- 478 00f2 01F4 brne .L34
- 479 00f4 9923 tst r25
- 480 00f6 01F0 breq .L45
- 481 00f8 E92F mov r30,r25
- 482 00fa F0E0 ldi r31,0
- 483 00fc 3197 sbiw r30,1
- 484 00fe EA0F add r30,r26
- 485 0100 FB1F adc r31,r27
- 486 0102 9081 ld r25,Z
- 487 0104 9068 ori r25,lo8(-128)
- 488 0106 00C0 rjmp .L51
- 489 .L34:
- 490 0108 6032 cpi r22,lo8(32)
- 491 010a 04F0 brlt .L19
- 492 010c 9430 cpi r25,lo8(4)
- 493 010e 00F4 brsh .L19
- 494 0110 6036 cpi r22,lo8(96)
- 495 0112 04F0 brlt .L36
- 496 0114 40EE ldi r20,lo8(-32)
- 497 0116 460F add r20,r22
- 498 0118 4983 std Y+1,r20
- 499 .L36:
- 500 011a 41E0 ldi r20,lo8(1)
- 501 011c 490F add r20,r25
- 502 011e 1496 adiw r26,4
- 503 0120 4C93 st X,r20
- 504 0122 1497 sbiw r26,4
- 505 0124 AD01 movw r20,r26
- 506 0126 490F add r20,r25
- 507 0128 511D adc r21,__zero_reg__
- 508 012a E981 ldd r30,Y+1
- 509 012c F0E0 ldi r31,0
- 510 012e E050 subi r30,lo8(-(Seg7CharTab-32))
- 511 0130 F040 sbci r31,hi8(-(Seg7CharTab-32))
- 512 0132 9081 ld r25,Z
- 513 0134 FA01 movw r30,r20
- GAS LISTING /tmp/ccuZScUs.s page 10
- 514 .L51:
- 515 0136 9083 st Z,r25
- 516 .L45:
- 517 0138 8160 ori r24,lo8(1)
- 518 013a 1696 adiw r26,6
- 519 013c 8C93 st X,r24
- 520 013e 1697 sbiw r26,6
- 521 .L19:
- 522 0140 1496 adiw r26,4
- 523 0142 8C91 ld r24,X
- 524 0144 1497 sbiw r26,4
- 525 0146 8530 cpi r24,lo8(5)
- 526 0148 00F0 brlo .L37
- 527 014a 84E0 ldi r24,lo8(4)
- 528 014c 1496 adiw r26,4
- 529 014e 8C93 st X,r24
- 530 0150 1497 sbiw r26,4
- 531 .L37:
- 532 0152 1696 adiw r26,6
- 533 0154 8C91 ld r24,X
- 534 0156 1697 sbiw r26,6
- 535 0158 80FF sbrs r24,0
- 536 015a 00C0 rjmp .L28
- 537 015c 8E7F andi r24,lo8(-2)
- 538 015e 1696 adiw r26,6
- 539 0160 8C93 st X,r24
- 540 0162 C901 movw r24,r18
- 541 0164 0E94 0000 call Spi7SegPush
- 542 .L28:
- 543 0168 80E0 ldi r24,0
- 544 016a 90E0 ldi r25,0
- 545 /* epilogue start */
- 546 016c 0F90 pop __tmp_reg__
- 547 016e DF91 pop r29
- 548 0170 CF91 pop r28
- 549 0172 1F91 pop r17
- 550 0174 0F91 pop r16
- 551 0176 0895 ret
- 552 .size Spi7segPutc, .-Spi7segPutc
- 553 .section .text.Spi7segWrite,"ax",@progbits
- 554 .global Spi7segWrite
- 555 .type Spi7segWrite, @function
- 556 Spi7segWrite:
- 557 0000 CF92 push r12
- 558 0002 DF92 push r13
- 559 0004 EF92 push r14
- 560 0006 FF92 push r15
- 561 0008 0F93 push r16
- 562 000a 1F93 push r17
- 563 000c CF93 push r28
- 564 000e DF93 push r29
- 565 /* prologue: function */
- 566 /* frame size = 0 */
- 567 /* stack size = 8 */
- 568 .L__stack_usage = 8
- 569 0010 6C01 movw r12,r24
- 570 0012 8A01 movw r16,r20
- GAS LISTING /tmp/ccuZScUs.s page 11
- 571 0014 EB01 movw r28,r22
- 572 0016 7B01 movw r14,r22
- 573 0018 E40E add r14,r20
- 574 001a F51E adc r15,r21
- 575 .L53:
- 576 001c CE15 cp r28,r14
- 577 001e DF05 cpc r29,r15
- 578 0020 01F0 breq .L55
- 579 0022 6991 ld r22,Y+
- 580 0024 F601 movw r30,r12
- 581 0026 8081 ld r24,Z
- 582 0028 9181 ldd r25,Z+1
- 583 002a 0E94 0000 call Spi7segPutc
- 584 002e 00C0 rjmp .L53
- 585 .L55:
- 586 0030 C801 movw r24,r16
- 587 /* epilogue start */
- 588 0032 DF91 pop r29
- 589 0034 CF91 pop r28
- 590 0036 1F91 pop r17
- 591 0038 0F91 pop r16
- 592 003a FF90 pop r15
- 593 003c EF90 pop r14
- 594 003e DF90 pop r13
- 595 0040 CF90 pop r12
- 596 0042 0895 ret
- 597 .size Spi7segWrite, .-Spi7segWrite
- 598 .section .text.Spi7segDot,"ax",@progbits
- 599 .global Spi7segDot
- 600 .type Spi7segDot, @function
- 601 Spi7segDot:
- 602 /* prologue: function */
- 603 /* frame size = 0 */
- 604 /* stack size = 0 */
- 605 .L__stack_usage = 0
- 606 0000 DC01 movw r26,r24
- 607 0002 6430 cpi r22,lo8(4)
- 608 0004 00F4 brsh .L56
- 609 0006 5196 adiw r26,17
- 610 0008 2D91 ld r18,X+
- 611 000a 3C91 ld r19,X
- 612 000c 5297 sbiw r26,17+1
- 613 000e 4130 cpi r20,lo8(1)
- 614 0010 01F0 breq .L59
- 615 0012 00F0 brlo .L60
- 616 0014 4230 cpi r20,lo8(2)
- 617 0016 01F4 brne .L58
- 618 0018 F901 movw r30,r18
- 619 001a E60F add r30,r22
- 620 001c F11D adc r31,__zero_reg__
- 621 001e 9081 ld r25,Z
- 622 0020 9058 subi r25,lo8(-(-128))
- 623 0022 00C0 rjmp .L62
- 624 .L59:
- 625 0024 F901 movw r30,r18
- 626 0026 E60F add r30,r22
- 627 0028 F11D adc r31,__zero_reg__
- GAS LISTING /tmp/ccuZScUs.s page 12
- 628 002a 9081 ld r25,Z
- 629 002c 9068 ori r25,lo8(-128)
- 630 002e 00C0 rjmp .L62
- 631 .L60:
- 632 0030 F901 movw r30,r18
- 633 0032 E60F add r30,r22
- 634 0034 F11D adc r31,__zero_reg__
- 635 0036 9081 ld r25,Z
- 636 0038 9F77 andi r25,lo8(127)
- 637 .L62:
- 638 003a 9083 st Z,r25
- 639 .L58:
- 640 003c CD01 movw r24,r26
- 641 003e 0C94 0000 jmp Spi7SegPush
- 642 .L56:
- 643 0042 0895 ret
- 644 .size Spi7segDot, .-Spi7segDot
- 645 .global devSpi7SEG
- 646 .data
- 647 .type devSpi7SEG, @object
- 648 .size devSpi7SEG, 37
- 649 devSpi7SEG:
- 650 0000 0000 .word 0
- 651 0002 37 .byte 55
- 652 0003 53 .byte 83
- 653 0004 45 .byte 69
- 654 0005 47 .byte 71
- 655 0006 00 .byte 0
- 656 0007 00 .byte 0
- 657 0008 00 .byte 0
- 658 0009 0000 .zero 2
- 659 000b 05 .byte 5
- 660 000c 0000 .word 0
- 661 000e 00 .byte 0
- 662 000f 0000 .word nodeSpi7SEG
- 663 0011 0000 .word 0
- 664 0013 0000 .word gs(Spi7segInit)
- 665 0015 0000 .word gs(Spi7SegIOCtl)
- 666 0017 0000 .word 0
- 667 0019 0000 .word gs(Spi7segWrite)
- 668 001b 0000 .word 0
- 669 001d 0000 .word gs(Spi7SegOpen)
- 670 001f 0000 .word gs(Spi7SegClose)
- 671 0021 0000 .word 0
- 672 0023 0000 .word 0
- 673 .global nodeSpi7SEG
- 674 .type nodeSpi7SEG, @object
- 675 .size nodeSpi7SEG, 14
- 676 nodeSpi7SEG:
- 677 0025 0000 .word 0
- 678 0027 0000 .word 0
- 679 0029 80 .byte -128
- 680 002a 1A .byte 26
- 681 002b 06 .byte 6
- 682 002c 00 .byte 0
- 683 002d 0300 .word 3
- 684 002f 08 .byte 8
- GAS LISTING /tmp/ccuZScUs.s page 13
- 685 0030 00 .byte 0
- 686 0031 0000 .zero 2
- 687 .section .rodata
- 688 .type Seg7CharTab, @object
- 689 .size Seg7CharTab, 64
- 690 Seg7CharTab:
- 691 0000 00 .byte 0
- 692 0001 28 .byte 40
- 693 0002 22 .byte 34
- 694 0003 00 .byte 0
- 695 0004 5B .byte 91
- 696 0005 00 .byte 0
- 697 0006 6F .byte 111
- 698 0007 20 .byte 32
- 699 0008 4E .byte 78
- 700 0009 78 .byte 120
- 701 000a 00 .byte 0
- 702 000b 31 .byte 49
- 703 000c 20 .byte 32
- 704 000d 01 .byte 1
- 705 000e 01 .byte 1
- 706 000f 15 .byte 21
- 707 0010 7E .byte 126
- 708 0011 30 .byte 48
- 709 0012 6D .byte 109
- 710 0013 79 .byte 121
- 711 0014 33 .byte 51
- 712 0015 5B .byte 91
- 713 0016 5F .byte 95
- 714 0017 70 .byte 112
- 715 0018 7F .byte 127
- 716 0019 7B .byte 123
- 717 001a 00 .byte 0
- 718 001b 00 .byte 0
- 719 001c 00 .byte 0
- 720 001d 09 .byte 9
- 721 001e 00 .byte 0
- 722 001f 65 .byte 101
- 723 0020 00 .byte 0
- 724 0021 77 .byte 119
- 725 0022 1F .byte 31
- 726 0023 0D .byte 13
- 727 0024 3D .byte 61
- 728 0025 4F .byte 79
- 729 0026 47 .byte 71
- 730 0027 5F .byte 95
- 731 0028 37 .byte 55
- 732 0029 10 .byte 16
- 733 002a 3C .byte 60
- 734 002b 0F .byte 15
- 735 002c 0E .byte 14
- 736 002d 76 .byte 118
- 737 002e 15 .byte 21
- 738 002f 1D .byte 29
- 739 0030 67 .byte 103
- 740 0031 73 .byte 115
- 741 0032 05 .byte 5
- GAS LISTING /tmp/ccuZScUs.s page 14
- 742 0033 5B .byte 91
- 743 0034 0F .byte 15
- 744 0035 3E .byte 62
- 745 0036 1C .byte 28
- 746 0037 3F .byte 63
- 747 0038 37 .byte 55
- 748 0039 3B .byte 59
- 749 003a 6D .byte 109
- 750 003b 4E .byte 78
- 751 003c 13 .byte 19
- 752 003d 78 .byte 120
- 753 003e 42 .byte 66
- 754 003f 01 .byte 1
- 755 .ident "GCC: (GNU) 5.3.0"
- 756 .global __do_copy_data
- GAS LISTING /tmp/ccuZScUs.s page 15
- DEFINED SYMBOLS
- *ABS*:0000000000000000 spi_7seg.c
- /tmp/ccuZScUs.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccuZScUs.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccuZScUs.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccuZScUs.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccuZScUs.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccuZScUs.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccuZScUs.s:10 .text.Spi7SegIOCtl:0000000000000000 Spi7SegIOCtl
- /tmp/ccuZScUs.s:22 .text.Spi7SegOpen:0000000000000000 Spi7SegOpen
- /tmp/ccuZScUs.s:52 .text.Spi7SegClose:0000000000000000 Spi7SegClose
- /tmp/ccuZScUs.s:70 .text.disp7segCommand.isra.0:0000000000000000 disp7segCommand.isra.0
- /tmp/ccuZScUs.s:149 .text.Spi7segInit:0000000000000000 Spi7segInit
- /tmp/ccuZScUs.s:277 .text.Spi7SegPush:0000000000000000 Spi7SegPush
- /tmp/ccuZScUs.s:314 .text.Spi7segPutc:0000000000000000 Spi7segPutc
- /tmp/ccuZScUs.s:690 .rodata:0000000000000000 Seg7CharTab
- /tmp/ccuZScUs.s:556 .text.Spi7segWrite:0000000000000000 Spi7segWrite
- /tmp/ccuZScUs.s:601 .text.Spi7segDot:0000000000000000 Spi7segDot
- /tmp/ccuZScUs.s:649 .data:0000000000000000 devSpi7SEG
- /tmp/ccuZScUs.s:676 .data:0000000000000025 nodeSpi7SEG
- UNDEFINED SYMBOLS
- malloc
- free
- __tablejump2__
- __do_copy_data
|