GAS LISTING /tmp/ccMHhOtt.s page 1 1 .file "i2cbus0gpio.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.TwiBusConf,"ax",@progbits 9 .type TwiBusConf, @function 10 TwiBusConf: 11 0000 CF93 push r28 12 0002 DF93 push r29 13 /* prologue: function */ 14 /* frame size = 0 */ 15 /* stack size = 2 */ 16 .L__stack_usage = 2 17 0004 FC01 movw r30,r24 18 0006 C081 ld r28,Z 19 0008 D181 ldd r29,Z+1 20 000a 2685 ldd r18,Z+14 21 000c 3785 ldd r19,Z+15 22 000e 4089 ldd r20,Z+16 23 0010 5189 ldd r21,Z+17 24 0012 2115 cp r18,__zero_reg__ 25 0014 3105 cpc r19,__zero_reg__ 26 0016 4105 cpc r20,__zero_reg__ 27 0018 5105 cpc r21,__zero_reg__ 28 001a 01F0 breq .L5 29 001c 2138 cpi r18,-127 30 001e FAE1 ldi r31,26 31 0020 3F07 cpc r19,r31 32 0022 F6E0 ldi r31,6 33 0024 4F07 cpc r20,r31 34 0026 5105 cpc r21,__zero_reg__ 35 0028 04F0 brlt .L2 36 002a 00C0 rjmp .L9 37 .L5: 38 002c 20EA ldi r18,lo8(-96) 39 002e 36E8 ldi r19,lo8(-122) 40 0030 41E0 ldi r20,lo8(1) 41 0032 50E0 ldi r21,0 42 .L2: 43 0034 60E9 ldi r22,lo8(-112) 44 0036 70ED ldi r23,lo8(-48) 45 0038 83E0 ldi r24,lo8(3) 46 003a 90E0 ldi r25,0 47 003c 0E94 0000 call __divmodsi4 48 0040 2115 cp r18,__zero_reg__ 49 0042 3105 cpc r19,__zero_reg__ 50 0044 01F0 breq .L4 51 0046 3983 std Y+1,r19 52 0048 2883 st Y,r18 53 004a 00C0 rjmp .L7 54 .L4: 55 004c 81E0 ldi r24,lo8(1) 56 004e 90E0 ldi r25,0 57 0050 9983 std Y+1,r25 GAS LISTING /tmp/ccMHhOtt.s page 2 58 0052 8883 st Y,r24 59 .L7: 60 0054 80E0 ldi r24,0 61 0056 90E0 ldi r25,0 62 0058 00C0 rjmp .L3 63 .L9: 64 005a 8FEF ldi r24,lo8(-1) 65 005c 9FEF ldi r25,lo8(-1) 66 .L3: 67 /* epilogue start */ 68 005e DF91 pop r29 69 0060 CF91 pop r28 70 0062 0895 ret 71 .size TwiBusConf, .-TwiBusConf 72 .section .text.TwiBusInit,"ax",@progbits 73 .type TwiBusInit, @function 74 TwiBusInit: 75 /* prologue: function */ 76 /* frame size = 0 */ 77 /* stack size = 0 */ 78 .L__stack_usage = 0 79 0000 8FEF ldi r24,lo8(-1) 80 0002 9FEF ldi r25,lo8(-1) 81 0004 0895 ret 82 .size TwiBusInit, .-TwiBusInit 83 .section .text.unlikely.TwStart,"ax",@progbits 84 .type TwStart, @function 85 TwStart: 86 0000 CF93 push r28 87 0002 DF93 push r29 88 /* prologue: function */ 89 /* frame size = 0 */ 90 /* stack size = 2 */ 91 .L__stack_usage = 2 92 0004 EC01 movw r28,r24 93 0006 6881 ld r22,Y 94 0008 7981 ldd r23,Y+1 95 000a 80E0 ldi r24,0 96 000c 90E0 ldi r25,0 97 000e 0E94 0000 call NutMicroDelay 98 0012 6881 ld r22,Y 99 0014 7981 ldd r23,Y+1 100 0016 80E0 ldi r24,0 101 0018 90E0 ldi r25,0 102 001a 0E94 0000 call NutMicroDelay 103 001e 6881 ld r22,Y 104 0020 7981 ldd r23,Y+1 105 0022 80E0 ldi r24,0 106 0024 90E0 ldi r25,0 107 0026 0E94 0000 call NutMicroDelay 108 002a 6881 ld r22,Y 109 002c 7981 ldd r23,Y+1 110 002e 80E0 ldi r24,0 111 0030 90E0 ldi r25,0 112 /* epilogue start */ 113 0032 DF91 pop r29 114 0034 CF91 pop r28 GAS LISTING /tmp/ccMHhOtt.s page 3 115 0036 0C94 0000 jmp NutMicroDelay 116 .size TwStart, .-TwStart 117 .section .text.unlikely.TwPut.isra.0,"ax",@progbits 118 .type TwPut.isra.0, @function 119 TwPut.isra.0: 120 /* prologue: function */ 121 /* frame size = 0 */ 122 /* stack size = 0 */ 123 .L__stack_usage = 0 124 0000 EC01 movw r28,r24 125 .L15: 126 0002 6881 ld r22,Y 127 0004 7981 ldd r23,Y+1 128 0006 660F lsl r22 129 0008 771F rol r23 130 000a 80E0 ldi r24,0 131 000c 90E0 ldi r25,0 132 000e 0E94 0000 call NutMicroDelay 133 0012 00C0 rjmp .L15 134 .size TwPut.isra.0, .-TwPut.isra.0 135 .section .text.TwiBusTran,"ax",@progbits 136 .type TwiBusTran, @function 137 TwiBusTran: 138 0000 0F93 push r16 139 0002 1F93 push r17 140 0004 CF93 push r28 141 0006 DF93 push r29 142 /* prologue: function */ 143 /* frame size = 0 */ 144 /* stack size = 4 */ 145 .L__stack_usage = 4 146 0008 8B01 movw r16,r22 147 000a DC01 movw r26,r24 148 000c ED91 ld r30,X+ 149 000e FC91 ld r31,X 150 0010 C081 ld r28,Z 151 0012 D181 ldd r29,Z+1 152 0014 FB01 movw r30,r22 153 0016 1582 std Z+5,__zero_reg__ 154 0018 1482 std Z+4,__zero_reg__ 155 001a 1386 std Z+11,__zero_reg__ 156 001c 1286 std Z+10,__zero_reg__ 157 001e 8281 ldd r24,Z+2 158 0020 9381 ldd r25,Z+3 159 0022 892B or r24,r25 160 0024 01F4 brne .L19 161 0026 8085 ldd r24,Z+8 162 0028 9185 ldd r25,Z+9 163 002a 892B or r24,r25 164 002c 01F0 breq .L18 165 .L19: 166 002e CE01 movw r24,r28 167 0030 0E94 0000 call TwStart 168 0034 CE01 movw r24,r28 169 0036 0E94 0000 call TwPut.isra.0 170 .L18: 171 003a 6881 ld r22,Y GAS LISTING /tmp/ccMHhOtt.s page 4 172 003c 7981 ldd r23,Y+1 173 003e 80E0 ldi r24,0 174 0040 90E0 ldi r25,0 175 0042 0E94 0000 call NutMicroDelay 176 0046 6881 ld r22,Y 177 0048 7981 ldd r23,Y+1 178 004a 660F lsl r22 179 004c 771F rol r23 180 004e 80E0 ldi r24,0 181 0050 90E0 ldi r25,0 182 0052 0E94 0000 call NutMicroDelay 183 0056 6881 ld r22,Y 184 0058 7981 ldd r23,Y+1 185 005a 93E0 ldi r25,3 186 1: 187 005c 660F lsl r22 188 005e 771F rol r23 189 0060 9A95 dec r25 190 0062 01F4 brne 1b 191 0064 80E0 ldi r24,0 192 0066 90E0 ldi r25,0 193 0068 0E94 0000 call NutMicroDelay 194 006c F801 movw r30,r16 195 006e 8285 ldd r24,Z+10 196 0070 9385 ldd r25,Z+11 197 /* epilogue start */ 198 0072 DF91 pop r29 199 0074 CF91 pop r28 200 0076 1F91 pop r17 201 0078 0F91 pop r16 202 007a 0895 ret 203 .size TwiBusTran, .-TwiBusTran 204 .section .text.TwiBusProbe,"ax",@progbits 205 .type TwiBusProbe, @function 206 TwiBusProbe: 207 0000 CF93 push r28 208 0002 DF93 push r29 209 /* prologue: function */ 210 /* frame size = 0 */ 211 /* stack size = 2 */ 212 .L__stack_usage = 2 213 0004 FC01 movw r30,r24 214 0006 2289 ldd r18,Z+18 215 0008 20FF sbrs r18,0 216 000a 00C0 rjmp .L22 217 000c C081 ld r28,Z 218 000e D181 ldd r29,Z+1 219 0010 CE01 movw r24,r28 220 0012 0E94 0000 call TwStart 221 0016 CE01 movw r24,r28 222 0018 0E94 0000 call TwPut.isra.0 223 .L22: 224 001c 8FEF ldi r24,lo8(-1) 225 001e 9FEF ldi r25,lo8(-1) 226 /* epilogue start */ 227 0020 DF91 pop r29 228 0022 CF91 pop r28 GAS LISTING /tmp/ccMHhOtt.s page 5 229 0024 0895 ret 230 .size TwiBusProbe, .-TwiBusProbe 231 .global i2cBus0Gpio 232 .data 233 .type i2cBus0Gpio, @object 234 .size i2cBus0Gpio, 21 235 i2cBus0Gpio: 236 0000 0000 .word twi0cb 237 0002 0000 .word gs(TwiBusInit) 238 0004 0000 .word gs(TwiBusConf) 239 0006 0000 .word gs(TwiBusProbe) 240 0008 0000 .word gs(TwiBusTran) 241 000a 64 .byte 100 242 000b 00 .byte 0 243 000c 00 .byte 0 244 000d 00 .byte 0 245 000e 00 .byte 0 246 000f 00 .byte 0 247 0010 00 .byte 0 248 0011 00 .byte 0 249 0012 00 .byte 0 250 0013 0000 .word 0 251 .local twi0cb 252 .comm twi0cb,2,1 253 .ident "GCC: (GNU) 5.3.0" 254 .global __do_copy_data 255 .global __do_clear_bss GAS LISTING /tmp/ccMHhOtt.s page 6 DEFINED SYMBOLS *ABS*:0000000000000000 i2cbus0gpio.c /tmp/ccMHhOtt.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccMHhOtt.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccMHhOtt.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccMHhOtt.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccMHhOtt.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccMHhOtt.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccMHhOtt.s:10 .text.TwiBusConf:0000000000000000 TwiBusConf /tmp/ccMHhOtt.s:74 .text.TwiBusInit:0000000000000000 TwiBusInit /tmp/ccMHhOtt.s:85 .text.unlikely.TwStart:0000000000000000 TwStart /tmp/ccMHhOtt.s:119 .text.unlikely.TwPut.isra.0:0000000000000000 TwPut.isra.0 /tmp/ccMHhOtt.s:137 .text.TwiBusTran:0000000000000000 TwiBusTran /tmp/ccMHhOtt.s:206 .text.TwiBusProbe:0000000000000000 TwiBusProbe /tmp/ccMHhOtt.s:235 .data:0000000000000000 i2cBus0Gpio .bss:0000000000000000 twi0cb UNDEFINED SYMBOLS __divmodsi4 NutMicroDelay __do_copy_data __do_clear_bss