| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432 |
- GAS LISTING /tmp/ccNeS3nq.s page 1
- 1 .file "sht21.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.ShtCrc,"ax",@progbits
- 9 .global ShtCrc
- 10 .type ShtCrc, @function
- 11 ShtCrc:
- 12 /* prologue: function */
- 13 /* frame size = 0 */
- 14 /* stack size = 0 */
- 15 .L__stack_usage = 0
- 16 0000 9C01 movw r18,r24
- 17 0002 482F mov r20,r24
- 18 0004 FC01 movw r30,r24
- 19 0006 90E0 ldi r25,0
- 20 0008 51E3 ldi r21,lo8(49)
- 21 .L2:
- 22 000a 8E2F mov r24,r30
- 23 000c 841B sub r24,r20
- 24 000e 8617 cp r24,r22
- 25 0010 00F4 brsh .L10
- 26 0012 8191 ld r24,Z+
- 27 0014 9827 eor r25,r24
- 28 0016 88E0 ldi r24,lo8(8)
- 29 .L5:
- 30 0018 97FF sbrs r25,7
- 31 001a 00C0 rjmp .L3
- 32 001c 990F lsl r25
- 33 001e 9527 eor r25,r21
- 34 0020 00C0 rjmp .L4
- 35 .L3:
- 36 0022 990F lsl r25
- 37 .L4:
- 38 0024 8150 subi r24,lo8(-(-1))
- 39 0026 01F4 brne .L5
- 40 0028 00C0 rjmp .L2
- 41 .L10:
- 42 002a F901 movw r30,r18
- 43 002c E60F add r30,r22
- 44 002e F11D adc r31,__zero_reg__
- 45 0030 41E0 ldi r20,lo8(1)
- 46 0032 50E0 ldi r21,0
- 47 0034 8081 ld r24,Z
- 48 0036 8913 cpse r24,r25
- 49 0038 00C0 rjmp .L7
- 50 003a 40E0 ldi r20,0
- 51 003c 50E0 ldi r21,0
- 52 .L7:
- 53 003e 8827 clr r24
- 54 0040 9927 clr r25
- 55 0042 841B sub r24,r20
- 56 0044 950B sbc r25,r21
- 57 0046 0895 ret
- GAS LISTING /tmp/ccNeS3nq.s page 2
- 58 .size ShtCrc, .-ShtCrc
- 59 .section .text.ShtCommand,"ax",@progbits
- 60 .global ShtCommand
- 61 .type ShtCommand, @function
- 62 ShtCommand:
- 63 0000 4F92 push r4
- 64 0002 5F92 push r5
- 65 0004 6F92 push r6
- 66 0006 7F92 push r7
- 67 0008 8F92 push r8
- 68 000a 9F92 push r9
- 69 000c AF92 push r10
- 70 000e BF92 push r11
- 71 0010 CF92 push r12
- 72 0012 DF92 push r13
- 73 0014 EF92 push r14
- 74 0016 FF92 push r15
- 75 0018 0F93 push r16
- 76 001a 1F93 push r17
- 77 001c CF93 push r28
- 78 001e DF93 push r29
- 79 0020 00D0 rcall .
- 80 0022 1F92 push __zero_reg__
- 81 0024 1F92 push __zero_reg__
- 82 0026 CDB7 in r28,__SP_L__
- 83 0028 DEB7 in r29,__SP_H__
- 84 /* prologue: function */
- 85 /* frame size = 5 */
- 86 /* stack size = 21 */
- 87 .L__stack_usage = 21
- 88 002a 8D83 std Y+5,r24
- 89 002c 2B01 movw r4,r22
- 90 002e 44EF ldi r20,lo8(-12)
- 91 0030 51E0 ldi r21,lo8(1)
- 92 0032 60E0 ldi r22,0
- 93 0034 70E0 ldi r23,0
- 94 0036 80E0 ldi r24,lo8(sht_mutex)
- 95 0038 90E0 ldi r25,hi8(sht_mutex)
- 96 003a 0E94 0000 call NutEventWait
- 97 003e 3C01 movw r6,r24
- 98 0040 892B or r24,r25
- 99 0042 01F0 breq .+2
- 100 0044 00C0 rjmp .L27
- 101 0046 8D81 ldd r24,Y+5
- 102 0048 863E cpi r24,lo8(-26)
- 103 004a 01F4 brne .+2
- 104 004c 00C0 rjmp .L14
- 105 004e 00F4 brsh .L15
- 106 0050 833E cpi r24,lo8(-29)
- 107 0052 01F0 breq .L16
- 108 0054 853E cpi r24,lo8(-27)
- 109 0056 01F0 breq .L16
- 110 0058 00C0 rjmp .L13
- 111 .L15:
- 112 005a 873E cpi r24,lo8(-25)
- 113 005c 01F4 brne .+2
- 114 005e 00C0 rjmp .L17
- GAS LISTING /tmp/ccNeS3nq.s page 3
- 115 0060 8E3F cpi r24,lo8(-2)
- 116 0062 01F0 breq .+2
- 117 0064 00C0 rjmp .L13
- 118 0066 5AE0 ldi r21,lo8(10)
- 119 0068 A52E mov r10,r21
- 120 006a B12C mov r11,__zero_reg__
- 121 006c C12C mov r12,__zero_reg__
- 122 006e D12C mov r13,__zero_reg__
- 123 0070 E12C mov r14,__zero_reg__
- 124 0072 F12C mov r15,__zero_reg__
- 125 0074 00E0 ldi r16,0
- 126 0076 10E0 ldi r17,0
- 127 0078 21E0 ldi r18,lo8(1)
- 128 007a 30E0 ldi r19,0
- 129 007c AE01 movw r20,r28
- 130 007e 4B5F subi r20,-5
- 131 0080 5F4F sbci r21,-1
- 132 0082 60E4 ldi r22,lo8(64)
- 133 0084 80E0 ldi r24,lo8(AVRTwiBus)
- 134 0086 90E0 ldi r25,hi8(AVRTwiBus)
- 135 0088 0E94 0000 call NutTwiMasterTranceive
- 136 008c 8C01 movw r16,r24
- 137 008e 6FE0 ldi r22,lo8(15)
- 138 0090 70E0 ldi r23,0
- 139 0092 80E0 ldi r24,0
- 140 0094 90E0 ldi r25,0
- 141 0096 0E94 0000 call NutSleep
- 142 009a 00C0 rjmp .L19
- 143 .L16:
- 144 009c 3AE5 ldi r19,lo8(90)
- 145 009e A32E mov r10,r19
- 146 00a0 B12C mov r11,__zero_reg__
- 147 00a2 C12C mov r12,__zero_reg__
- 148 00a4 D12C mov r13,__zero_reg__
- 149 00a6 43E0 ldi r20,lo8(3)
- 150 00a8 E42E mov r14,r20
- 151 00aa F12C mov r15,__zero_reg__
- 152 00ac 8E01 movw r16,r28
- 153 00ae 0F5F subi r16,-1
- 154 00b0 1F4F sbci r17,-1
- 155 00b2 21E0 ldi r18,lo8(1)
- 156 00b4 30E0 ldi r19,0
- 157 00b6 AE01 movw r20,r28
- 158 00b8 4B5F subi r20,-5
- 159 00ba 5F4F sbci r21,-1
- 160 00bc 60E4 ldi r22,lo8(64)
- 161 00be 80E0 ldi r24,lo8(AVRTwiBus)
- 162 00c0 90E0 ldi r25,hi8(AVRTwiBus)
- 163 00c2 0E94 0000 call NutTwiMasterTranceive
- 164 00c6 0397 sbiw r24,3
- 165 00c8 01F0 breq .+2
- 166 00ca 00C0 rjmp .L13
- 167 00cc 62E0 ldi r22,lo8(2)
- 168 00ce C801 movw r24,r16
- 169 00d0 0E94 0000 call ShtCrc
- 170 00d4 8C01 movw r16,r24
- 171 00d6 8981 ldd r24,Y+1
- GAS LISTING /tmp/ccNeS3nq.s page 4
- 172 00d8 9A81 ldd r25,Y+2
- 173 00da 9827 eor r25,r24
- 174 00dc 8927 eor r24,r25
- 175 00de 9827 eor r25,r24
- 176 00e0 F201 movw r30,r4
- 177 00e2 9183 std Z+1,r25
- 178 00e4 8083 st Z,r24
- 179 00e6 00C0 rjmp .L19
- 180 .L17:
- 181 00e8 94E6 ldi r25,lo8(100)
- 182 00ea 892E mov r8,r25
- 183 00ec 912C mov r9,__zero_reg__
- 184 00ee A12C mov r10,__zero_reg__
- 185 00f0 B12C mov r11,__zero_reg__
- 186 00f2 CC24 clr r12
- 187 00f4 C394 inc r12
- 188 00f6 D12C mov r13,__zero_reg__
- 189 00f8 CE01 movw r24,r28
- 190 00fa 0196 adiw r24,1
- 191 00fc 7C01 movw r14,r24
- 192 00fe 01E0 ldi r16,lo8(1)
- 193 0100 27EE ldi r18,lo8(-25)
- 194 0102 30E0 ldi r19,0
- 195 0104 40E0 ldi r20,0
- 196 0106 50E0 ldi r21,0
- 197 0108 60E4 ldi r22,lo8(64)
- 198 010a 80E0 ldi r24,lo8(AVRTwiBus)
- 199 010c 90E0 ldi r25,hi8(AVRTwiBus)
- 200 010e 0E94 0000 call NutTwiMasterRegRead
- 201 0112 8C01 movw r16,r24
- 202 0114 0197 sbiw r24,1
- 203 0116 01F4 brne .L19
- 204 0118 8981 ldd r24,Y+1
- 205 011a F201 movw r30,r4
- 206 011c 8083 st Z,r24
- 207 011e 00C0 rjmp .L20
- 208 .L14:
- 209 0120 8983 std Y+1,r24
- 210 0122 F201 movw r30,r4
- 211 0124 8081 ld r24,Z
- 212 0126 8A83 std Y+2,r24
- 213 0128 84E6 ldi r24,lo8(100)
- 214 012a A82E mov r10,r24
- 215 012c B12C mov r11,__zero_reg__
- 216 012e C12C mov r12,__zero_reg__
- 217 0130 D12C mov r13,__zero_reg__
- 218 0132 E12C mov r14,__zero_reg__
- 219 0134 F12C mov r15,__zero_reg__
- 220 0136 00E0 ldi r16,0
- 221 0138 10E0 ldi r17,0
- 222 013a 22E0 ldi r18,lo8(2)
- 223 013c 30E0 ldi r19,0
- 224 013e AE01 movw r20,r28
- 225 0140 4F5F subi r20,-1
- 226 0142 5F4F sbci r21,-1
- 227 0144 60E4 ldi r22,lo8(64)
- 228 0146 80E0 ldi r24,lo8(AVRTwiBus)
- GAS LISTING /tmp/ccNeS3nq.s page 5
- 229 0148 90E0 ldi r25,hi8(AVRTwiBus)
- 230 014a 0E94 0000 call NutTwiMasterTranceive
- 231 014e 8C01 movw r16,r24
- 232 .L19:
- 233 0150 1016 cp __zero_reg__,r16
- 234 0152 1106 cpc __zero_reg__,r17
- 235 0154 04F0 brlt .L20
- 236 .L21:
- 237 0156 3801 movw r6,r16
- 238 .L20:
- 239 0158 80E0 ldi r24,lo8(sht_mutex)
- 240 015a 90E0 ldi r25,hi8(sht_mutex)
- 241 015c 0E94 0000 call NutEventPost
- 242 0160 00C0 rjmp .L27
- 243 .L13:
- 244 0162 0FEF ldi r16,lo8(-1)
- 245 0164 1FEF ldi r17,lo8(-1)
- 246 0166 00C0 rjmp .L21
- 247 .L27:
- 248 0168 C301 movw r24,r6
- 249 /* epilogue start */
- 250 016a 0F90 pop __tmp_reg__
- 251 016c 0F90 pop __tmp_reg__
- 252 016e 0F90 pop __tmp_reg__
- 253 0170 0F90 pop __tmp_reg__
- 254 0172 0F90 pop __tmp_reg__
- 255 0174 DF91 pop r29
- 256 0176 CF91 pop r28
- 257 0178 1F91 pop r17
- 258 017a 0F91 pop r16
- 259 017c FF90 pop r15
- 260 017e EF90 pop r14
- 261 0180 DF90 pop r13
- 262 0182 CF90 pop r12
- 263 0184 BF90 pop r11
- 264 0186 AF90 pop r10
- 265 0188 9F90 pop r9
- 266 018a 8F90 pop r8
- 267 018c 7F90 pop r7
- 268 018e 6F90 pop r6
- 269 0190 5F90 pop r5
- 270 0192 4F90 pop r4
- 271 0194 0895 ret
- 272 .size ShtCommand, .-ShtCommand
- 273 .section .text.ShtRead,"ax",@progbits
- 274 .global ShtRead
- 275 .type ShtRead, @function
- 276 ShtRead:
- 277 0000 EF92 push r14
- 278 0002 FF92 push r15
- 279 0004 1F93 push r17
- 280 0006 CF93 push r28
- 281 0008 DF93 push r29
- 282 000a 1F92 push __zero_reg__
- 283 000c 1F92 push __zero_reg__
- 284 000e CDB7 in r28,__SP_L__
- 285 0010 DEB7 in r29,__SP_H__
- GAS LISTING /tmp/ccNeS3nq.s page 6
- 286 /* prologue: function */
- 287 /* frame size = 2 */
- 288 /* stack size = 7 */
- 289 .L__stack_usage = 7
- 290 0012 182F mov r17,r24
- 291 0014 7B01 movw r14,r22
- 292 0016 1A82 std Y+2,__zero_reg__
- 293 0018 1982 std Y+1,__zero_reg__
- 294 001a BE01 movw r22,r28
- 295 001c 6F5F subi r22,-1
- 296 001e 7F4F sbci r23,-1
- 297 0020 0E94 0000 call ShtCommand
- 298 0024 AC01 movw r20,r24
- 299 0026 892B or r24,r25
- 300 0028 01F4 brne .L31
- 301 002a 2981 ldd r18,Y+1
- 302 002c 3A81 ldd r19,Y+2
- 303 002e 2C7F andi r18,252
- 304 0030 133E cpi r17,lo8(-29)
- 305 0032 01F4 brne .L32
- 306 0034 A4EA ldi r26,lo8(-92)
- 307 0036 B4E4 ldi r27,lo8(68)
- 308 0038 0E94 0000 call __umulhisi3
- 309 003c 8D54 subi r24,77
- 310 003e 9241 sbci r25,18
- 311 0040 00C0 rjmp .L33
- 312 .L32:
- 313 0042 153E cpi r17,lo8(-27)
- 314 0044 01F4 brne .L31
- 315 0046 A4ED ldi r26,lo8(-44)
- 316 0048 B0E3 ldi r27,lo8(48)
- 317 004a 0E94 0000 call __umulhisi3
- 318 004e 8855 subi r24,88
- 319 0050 9240 sbci r25,2
- 320 .L33:
- 321 0052 F701 movw r30,r14
- 322 0054 9183 std Z+1,r25
- 323 0056 8083 st Z,r24
- 324 .L31:
- 325 0058 CA01 movw r24,r20
- 326 /* epilogue start */
- 327 005a 0F90 pop __tmp_reg__
- 328 005c 0F90 pop __tmp_reg__
- 329 005e DF91 pop r29
- 330 0060 CF91 pop r28
- 331 0062 1F91 pop r17
- 332 0064 FF90 pop r15
- 333 0066 EF90 pop r14
- 334 0068 0895 ret
- 335 .size ShtRead, .-ShtRead
- 336 .section .text.ShtInit,"ax",@progbits
- 337 .global ShtInit
- 338 .type ShtInit, @function
- 339 ShtInit:
- 340 0000 CF93 push r28
- 341 0002 DF93 push r29
- 342 0004 1F92 push __zero_reg__
- GAS LISTING /tmp/ccNeS3nq.s page 7
- 343 0006 1F92 push __zero_reg__
- 344 0008 CDB7 in r28,__SP_L__
- 345 000a DEB7 in r29,__SP_H__
- 346 /* prologue: function */
- 347 /* frame size = 2 */
- 348 /* stack size = 4 */
- 349 .L__stack_usage = 4
- 350 000c 80E0 ldi r24,lo8(sht_mutex)
- 351 000e 90E0 ldi r25,hi8(sht_mutex)
- 352 0010 0E94 0000 call NutEventPost
- 353 0014 BE01 movw r22,r28
- 354 0016 6F5F subi r22,-1
- 355 0018 7F4F sbci r23,-1
- 356 001a 8EEF ldi r24,lo8(-2)
- 357 001c 0E94 0000 call ShtCommand
- 358 0020 97FD sbrc r25,7
- 359 0022 00C0 rjmp .L35
- 360 0024 BE01 movw r22,r28
- 361 0026 6F5F subi r22,-1
- 362 0028 7F4F sbci r23,-1
- 363 002a 87EE ldi r24,lo8(-25)
- 364 002c 0E94 0000 call ShtCommand
- 365 0030 8981 ldd r24,Y+1
- 366 0032 9A81 ldd r25,Y+2
- 367 0034 8E77 andi r24,126
- 368 0036 9A83 std Y+2,r25
- 369 0038 8983 std Y+1,r24
- 370 003a BE01 movw r22,r28
- 371 003c 6F5F subi r22,-1
- 372 003e 7F4F sbci r23,-1
- 373 0040 86EE ldi r24,lo8(-26)
- 374 0042 0E94 0000 call ShtCommand
- 375 .L35:
- 376 /* epilogue start */
- 377 0046 0F90 pop __tmp_reg__
- 378 0048 0F90 pop __tmp_reg__
- 379 004a DF91 pop r29
- 380 004c CF91 pop r28
- 381 004e 0895 ret
- 382 .size ShtInit, .-ShtInit
- 383 .comm sht_mutex,2,1
- 384 .ident "GCC: (GNU) 5.3.0"
- 385 .global __do_clear_bss
- GAS LISTING /tmp/ccNeS3nq.s page 8
- DEFINED SYMBOLS
- *ABS*:0000000000000000 sht21.c
- /tmp/ccNeS3nq.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccNeS3nq.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccNeS3nq.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccNeS3nq.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccNeS3nq.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccNeS3nq.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccNeS3nq.s:11 .text.ShtCrc:0000000000000000 ShtCrc
- /tmp/ccNeS3nq.s:62 .text.ShtCommand:0000000000000000 ShtCommand
- *COM*:0000000000000002 sht_mutex
- /tmp/ccNeS3nq.s:276 .text.ShtRead:0000000000000000 ShtRead
- /tmp/ccNeS3nq.s:339 .text.ShtInit:0000000000000000 ShtInit
- UNDEFINED SYMBOLS
- NutEventWait
- AVRTwiBus
- NutTwiMasterTranceive
- NutSleep
- NutTwiMasterRegRead
- NutEventPost
- __umulhisi3
- __do_clear_bss
|