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