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