| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447 |
- GAS LISTING /tmp/cc8zHL1d.s page 1
- 1 .file "i2cbus.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.NutRegisterI2cSlave,"ax",@progbits
- 9 .global NutRegisterI2cSlave
- 10 .type NutRegisterI2cSlave, @function
- 11 NutRegisterI2cSlave:
- 12 0000 0F93 push r16
- 13 0002 1F93 push r17
- 14 0004 CF93 push r28
- 15 0006 DF93 push r29
- 16 /* prologue: function */
- 17 /* frame size = 0 */
- 18 /* stack size = 4 */
- 19 .L__stack_usage = 4
- 20 0008 8C01 movw r16,r24
- 21 000a EB01 movw r28,r22
- 22 000c 8A89 ldd r24,Y+18
- 23 000e 80FD sbrc r24,0
- 24 0010 00C0 rjmp .L2
- 25 0012 EA81 ldd r30,Y+2
- 26 0014 FB81 ldd r31,Y+3
- 27 0016 CB01 movw r24,r22
- 28 0018 1995 eicall
- 29 001a 0097 sbiw r24,0
- 30 001c 01F4 brne .L4
- 31 001e 8A89 ldd r24,Y+18
- 32 0020 8160 ori r24,lo8(1)
- 33 0022 8A8B std Y+18,r24
- 34 0024 CE01 movw r24,r28
- 35 0026 4396 adiw r24,19
- 36 0028 0E94 0000 call NutEventPost
- 37 .L2:
- 38 002c F801 movw r30,r16
- 39 002e D183 std Z+1,r29
- 40 0030 C083 st Z,r28
- 41 0032 80E0 ldi r24,0
- 42 0034 90E0 ldi r25,0
- 43 .L4:
- 44 /* epilogue start */
- 45 0036 DF91 pop r29
- 46 0038 CF91 pop r28
- 47 003a 1F91 pop r17
- 48 003c 0F91 pop r16
- 49 003e 0895 ret
- 50 .size NutRegisterI2cSlave, .-NutRegisterI2cSlave
- 51 .section .text.NutI2cBusRate,"ax",@progbits
- 52 .global NutI2cBusRate
- 53 .type NutI2cBusRate, @function
- 54 NutI2cBusRate:
- 55 0000 CF92 push r12
- 56 0002 DF92 push r13
- 57 0004 EF92 push r14
- GAS LISTING /tmp/cc8zHL1d.s page 2
- 58 0006 FF92 push r15
- 59 0008 CF93 push r28
- 60 000a DF93 push r29
- 61 /* prologue: function */
- 62 /* frame size = 0 */
- 63 /* stack size = 6 */
- 64 .L__stack_usage = 6
- 65 000c EC01 movw r28,r24
- 66 000e CE84 ldd r12,Y+14
- 67 0010 DF84 ldd r13,Y+15
- 68 0012 E888 ldd r14,Y+16
- 69 0014 F988 ldd r15,Y+17
- 70 0016 4F3F cpi r20,-1
- 71 0018 8FEF ldi r24,-1
- 72 001a 5807 cpc r21,r24
- 73 001c 6807 cpc r22,r24
- 74 001e 7807 cpc r23,r24
- 75 0020 01F0 breq .L7
- 76 0022 4E87 std Y+14,r20
- 77 0024 5F87 std Y+15,r21
- 78 0026 688B std Y+16,r22
- 79 0028 798B std Y+17,r23
- 80 002a EC81 ldd r30,Y+4
- 81 002c FD81 ldd r31,Y+5
- 82 002e CE01 movw r24,r28
- 83 0030 1995 eicall
- 84 0032 892B or r24,r25
- 85 0034 01F0 breq .L7
- 86 0036 CE86 std Y+14,r12
- 87 0038 DF86 std Y+15,r13
- 88 003a E88A std Y+16,r14
- 89 003c F98A std Y+17,r15
- 90 003e CC24 clr r12
- 91 0040 CA94 dec r12
- 92 0042 DC2C mov r13,r12
- 93 0044 7601 movw r14,r12
- 94 .L7:
- 95 0046 C701 movw r24,r14
- 96 0048 B601 movw r22,r12
- 97 /* epilogue start */
- 98 004a DF91 pop r29
- 99 004c CF91 pop r28
- 100 004e FF90 pop r15
- 101 0050 EF90 pop r14
- 102 0052 DF90 pop r13
- 103 0054 CF90 pop r12
- 104 0056 0895 ret
- 105 .size NutI2cBusRate, .-NutI2cBusRate
- 106 .section .text.NutI2cBusTimeout,"ax",@progbits
- 107 .global NutI2cBusTimeout
- 108 .type NutI2cBusTimeout, @function
- 109 NutI2cBusTimeout:
- 110 0000 0F93 push r16
- 111 0002 1F93 push r17
- 112 /* prologue: function */
- 113 /* frame size = 0 */
- 114 /* stack size = 2 */
- GAS LISTING /tmp/cc8zHL1d.s page 3
- 115 .L__stack_usage = 2
- 116 0004 FC01 movw r30,r24
- 117 0006 0285 ldd r16,Z+10
- 118 0008 1385 ldd r17,Z+11
- 119 000a 2485 ldd r18,Z+12
- 120 000c 3585 ldd r19,Z+13
- 121 000e 4F3F cpi r20,-1
- 122 0010 FFEF ldi r31,-1
- 123 0012 5F07 cpc r21,r31
- 124 0014 6F07 cpc r22,r31
- 125 0016 7F07 cpc r23,r31
- 126 0018 01F0 breq .L15
- 127 001a FC01 movw r30,r24
- 128 001c 4287 std Z+10,r20
- 129 001e 5387 std Z+11,r21
- 130 0020 6487 std Z+12,r22
- 131 0022 7587 std Z+13,r23
- 132 .L15:
- 133 0024 C901 movw r24,r18
- 134 0026 B801 movw r22,r16
- 135 /* epilogue start */
- 136 0028 1F91 pop r17
- 137 002a 0F91 pop r16
- 138 002c 0895 ret
- 139 .size NutI2cBusTimeout, .-NutI2cBusTimeout
- 140 .section .text.NutI2cBusScan,"ax",@progbits
- 141 .global NutI2cBusScan
- 142 .type NutI2cBusScan, @function
- 143 NutI2cBusScan:
- 144 0000 8F92 push r8
- 145 0002 9F92 push r9
- 146 0004 AF92 push r10
- 147 0006 BF92 push r11
- 148 0008 CF92 push r12
- 149 000a DF92 push r13
- 150 000c FF92 push r15
- 151 000e 0F93 push r16
- 152 0010 1F93 push r17
- 153 0012 CF93 push r28
- 154 0014 DF93 push r29
- 155 /* prologue: function */
- 156 /* frame size = 0 */
- 157 /* stack size = 11 */
- 158 .L__stack_usage = 11
- 159 0016 EC01 movw r28,r24
- 160 0018 8B01 movw r16,r22
- 161 001a 5A01 movw r10,r20
- 162 001c 8A89 ldd r24,Y+18
- 163 001e 982F mov r25,r24
- 164 0020 9170 andi r25,lo8(1)
- 165 0022 F92E mov r15,r25
- 166 0024 80FF sbrs r24,0
- 167 0026 00C0 rjmp .L20
- 168 .L22:
- 169 0028 6E01 movw r12,r28
- 170 002a 83E1 ldi r24,19
- 171 002c C80E add r12,r24
- GAS LISTING /tmp/cc8zHL1d.s page 4
- 172 002e D11C adc r13,__zero_reg__
- 173 0030 00C0 rjmp .L21
- 174 .L20:
- 175 0032 EC81 ldd r30,Y+4
- 176 0034 FD81 ldd r31,Y+5
- 177 0036 CE01 movw r24,r28
- 178 0038 1995 eicall
- 179 003a 892B or r24,r25
- 180 003c 01F0 breq .L22
- 181 .L27:
- 182 003e 8FEF ldi r24,lo8(-1)
- 183 0040 9FEF ldi r25,lo8(-1)
- 184 0042 00C0 rjmp .L23
- 185 .L29:
- 186 0044 F110 cpse r15,__zero_reg__
- 187 0046 00C0 rjmp .L24
- 188 .L28:
- 189 0048 EE81 ldd r30,Y+6
- 190 004a FF81 ldd r31,Y+7
- 191 004c B801 movw r22,r16
- 192 004e CE01 movw r24,r28
- 193 0050 1995 eicall
- 194 0052 4C01 movw r8,r24
- 195 0054 FF20 tst r15
- 196 0056 01F0 breq .L26
- 197 0058 C601 movw r24,r12
- 198 005a 0E94 0000 call NutEventPost
- 199 .L26:
- 200 005e 8928 or r8,r9
- 201 0060 01F0 breq .L30
- 202 0062 0F5F subi r16,-1
- 203 0064 1F4F sbci r17,-1
- 204 .L21:
- 205 0066 A016 cp r10,r16
- 206 0068 B106 cpc r11,r17
- 207 006a 04F4 brge .L29
- 208 006c 00C0 rjmp .L27
- 209 .L24:
- 210 006e 4A85 ldd r20,Y+10
- 211 0070 5B85 ldd r21,Y+11
- 212 0072 6C85 ldd r22,Y+12
- 213 0074 7D85 ldd r23,Y+13
- 214 0076 C601 movw r24,r12
- 215 0078 0E94 0000 call NutEventWait
- 216 007c 892B or r24,r25
- 217 007e 01F0 breq .L28
- 218 0080 00C0 rjmp .L27
- 219 .L30:
- 220 0082 C801 movw r24,r16
- 221 .L23:
- 222 /* epilogue start */
- 223 0084 DF91 pop r29
- 224 0086 CF91 pop r28
- 225 0088 1F91 pop r17
- 226 008a 0F91 pop r16
- 227 008c FF90 pop r15
- 228 008e DF90 pop r13
- GAS LISTING /tmp/cc8zHL1d.s page 5
- 229 0090 CF90 pop r12
- 230 0092 BF90 pop r11
- 231 0094 AF90 pop r10
- 232 0096 9F90 pop r9
- 233 0098 8F90 pop r8
- 234 009a 0895 ret
- 235 .size NutI2cBusScan, .-NutI2cBusScan
- 236 .section .text.NutI2cSlaveAddress,"ax",@progbits
- 237 .global NutI2cSlaveAddress
- 238 .type NutI2cSlaveAddress, @function
- 239 NutI2cSlaveAddress:
- 240 /* prologue: function */
- 241 /* frame size = 0 */
- 242 /* stack size = 0 */
- 243 .L__stack_usage = 0
- 244 0000 FC01 movw r30,r24
- 245 0002 8281 ldd r24,Z+2
- 246 0004 9381 ldd r25,Z+3
- 247 0006 6F3F cpi r22,-1
- 248 0008 2FEF ldi r18,-1
- 249 000a 7207 cpc r23,r18
- 250 000c 01F0 breq .L35
- 251 000e 7383 std Z+3,r23
- 252 0010 6283 std Z+2,r22
- 253 .L35:
- 254 0012 0895 ret
- 255 .size NutI2cSlaveAddress, .-NutI2cSlaveAddress
- 256 .section .text.NutI2cSlaveTimeout,"ax",@progbits
- 257 .global NutI2cSlaveTimeout
- 258 .type NutI2cSlaveTimeout, @function
- 259 NutI2cSlaveTimeout:
- 260 0000 0F93 push r16
- 261 0002 1F93 push r17
- 262 /* prologue: function */
- 263 /* frame size = 0 */
- 264 /* stack size = 2 */
- 265 .L__stack_usage = 2
- 266 0004 FC01 movw r30,r24
- 267 0006 0481 ldd r16,Z+4
- 268 0008 1581 ldd r17,Z+5
- 269 000a 2681 ldd r18,Z+6
- 270 000c 3781 ldd r19,Z+7
- 271 000e 4F3F cpi r20,-1
- 272 0010 FFEF ldi r31,-1
- 273 0012 5F07 cpc r21,r31
- 274 0014 6F07 cpc r22,r31
- 275 0016 7F07 cpc r23,r31
- 276 0018 01F0 breq .L40
- 277 001a FC01 movw r30,r24
- 278 001c 4483 std Z+4,r20
- 279 001e 5583 std Z+5,r21
- 280 0020 6683 std Z+6,r22
- 281 0022 7783 std Z+7,r23
- 282 .L40:
- 283 0024 C901 movw r24,r18
- 284 0026 B801 movw r22,r16
- 285 /* epilogue start */
- GAS LISTING /tmp/cc8zHL1d.s page 6
- 286 0028 1F91 pop r17
- 287 002a 0F91 pop r16
- 288 002c 0895 ret
- 289 .size NutI2cSlaveTimeout, .-NutI2cSlaveTimeout
- 290 .section .text.NutI2cMasterTransceive,"ax",@progbits
- 291 .global NutI2cMasterTransceive
- 292 .type NutI2cMasterTransceive, @function
- 293 NutI2cMasterTransceive:
- 294 0000 4F92 push r4
- 295 0002 5F92 push r5
- 296 0004 6F92 push r6
- 297 0006 7F92 push r7
- 298 0008 8F92 push r8
- 299 000a 9F92 push r9
- 300 000c AF92 push r10
- 301 000e BF92 push r11
- 302 0010 CF92 push r12
- 303 0012 DF92 push r13
- 304 0014 EF92 push r14
- 305 0016 FF92 push r15
- 306 0018 0F93 push r16
- 307 001a 1F93 push r17
- 308 001c CF93 push r28
- 309 001e DF93 push r29
- 310 0020 CDB7 in r28,__SP_L__
- 311 0022 DEB7 in r29,__SP_H__
- 312 0024 2C97 sbiw r28,12
- 313 0026 0FB6 in __tmp_reg__,__SREG__
- 314 0028 F894 cli
- 315 002a DEBF out __SP_H__,r29
- 316 002c 0FBE out __SREG__,__tmp_reg__
- 317 002e CDBF out __SP_L__,r28
- 318 /* prologue: function */
- 319 /* frame size = 12 */
- 320 /* stack size = 28 */
- 321 .L__stack_usage = 28
- 322 0030 5C01 movw r10,r24
- 323 0032 3B01 movw r6,r22
- 324 0034 4A01 movw r8,r20
- 325 0036 2901 movw r4,r18
- 326 0038 DC01 movw r26,r24
- 327 003a ED90 ld r14,X+
- 328 003c FC90 ld r15,X
- 329 003e 6701 movw r12,r14
- 330 0040 B3E1 ldi r27,19
- 331 0042 CB0E add r12,r27
- 332 0044 D11C adc r13,__zero_reg__
- 333 0046 F701 movw r30,r14
- 334 0048 4285 ldd r20,Z+10
- 335 004a 5385 ldd r21,Z+11
- 336 004c 6485 ldd r22,Z+12
- 337 004e 7585 ldd r23,Z+13
- 338 0050 C601 movw r24,r12
- 339 0052 0E94 0000 call NutEventWait
- 340 0056 0097 sbiw r24,0
- 341 0058 01F0 breq .L45
- 342 005a 25E0 ldi r18,lo8(5)
- GAS LISTING /tmp/cc8zHL1d.s page 7
- 343 005c 30E0 ldi r19,0
- 344 005e 3093 0000 sts errno+1,r19
- 345 0062 2093 0000 sts errno,r18
- 346 0066 00C0 rjmp .L46
- 347 .L45:
- 348 0068 7A82 std Y+2,r7
- 349 006a 6982 std Y+1,r6
- 350 006c 9C82 std Y+4,r9
- 351 006e 8B82 std Y+3,r8
- 352 0070 1E82 std Y+6,__zero_reg__
- 353 0072 1D82 std Y+5,__zero_reg__
- 354 0074 5886 std Y+8,r5
- 355 0076 4F82 std Y+7,r4
- 356 0078 1A87 std Y+10,r17
- 357 007a 0987 std Y+9,r16
- 358 007c 1C86 std Y+12,__zero_reg__
- 359 007e 1B86 std Y+11,__zero_reg__
- 360 0080 D701 movw r26,r14
- 361 0082 1896 adiw r26,8
- 362 0084 ED91 ld r30,X+
- 363 0086 FC91 ld r31,X
- 364 0088 1997 sbiw r26,8+1
- 365 008a BE01 movw r22,r28
- 366 008c 6F5F subi r22,-1
- 367 008e 7F4F sbci r23,-1
- 368 0090 C501 movw r24,r10
- 369 0092 1995 eicall
- 370 0094 C601 movw r24,r12
- 371 0096 0E94 0000 call NutEventPost
- 372 009a 8B85 ldd r24,Y+11
- 373 009c 9C85 ldd r25,Y+12
- 374 .L46:
- 375 /* epilogue start */
- 376 009e 2C96 adiw r28,12
- 377 00a0 0FB6 in __tmp_reg__,__SREG__
- 378 00a2 F894 cli
- 379 00a4 DEBF out __SP_H__,r29
- 380 00a6 0FBE out __SREG__,__tmp_reg__
- 381 00a8 CDBF out __SP_L__,r28
- 382 00aa DF91 pop r29
- 383 00ac CF91 pop r28
- 384 00ae 1F91 pop r17
- 385 00b0 0F91 pop r16
- 386 00b2 FF90 pop r15
- 387 00b4 EF90 pop r14
- 388 00b6 DF90 pop r13
- 389 00b8 CF90 pop r12
- 390 00ba BF90 pop r11
- 391 00bc AF90 pop r10
- 392 00be 9F90 pop r9
- 393 00c0 8F90 pop r8
- 394 00c2 7F90 pop r7
- 395 00c4 6F90 pop r6
- 396 00c6 5F90 pop r5
- 397 00c8 4F90 pop r4
- 398 00ca 0895 ret
- 399 .size NutI2cMasterTransceive, .-NutI2cMasterTransceive
- GAS LISTING /tmp/cc8zHL1d.s page 8
- 400 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/cc8zHL1d.s page 9
- DEFINED SYMBOLS
- *ABS*:0000000000000000 i2cbus.c
- /tmp/cc8zHL1d.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cc8zHL1d.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cc8zHL1d.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cc8zHL1d.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cc8zHL1d.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cc8zHL1d.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cc8zHL1d.s:11 .text.NutRegisterI2cSlave:0000000000000000 NutRegisterI2cSlave
- /tmp/cc8zHL1d.s:54 .text.NutI2cBusRate:0000000000000000 NutI2cBusRate
- /tmp/cc8zHL1d.s:109 .text.NutI2cBusTimeout:0000000000000000 NutI2cBusTimeout
- /tmp/cc8zHL1d.s:143 .text.NutI2cBusScan:0000000000000000 NutI2cBusScan
- /tmp/cc8zHL1d.s:239 .text.NutI2cSlaveAddress:0000000000000000 NutI2cSlaveAddress
- /tmp/cc8zHL1d.s:259 .text.NutI2cSlaveTimeout:0000000000000000 NutI2cSlaveTimeout
- /tmp/cc8zHL1d.s:293 .text.NutI2cMasterTransceive:0000000000000000 NutI2cMasterTransceive
- UNDEFINED SYMBOLS
- NutEventPost
- NutEventWait
- errno
|