| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525 |
- GAS LISTING /tmp/cczBTHTD.s page 1
- 1 .file "owibus_uart.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.Uart_OwiInit,"ax",@progbits
- 9 .global Uart_OwiInit
- 10 .type Uart_OwiInit, @function
- 11 Uart_OwiInit:
- 12 0000 EF92 push r14
- 13 0002 FF92 push r15
- 14 0004 0F93 push r16
- 15 0006 1F93 push r17
- 16 0008 CF93 push r28
- 17 000a DF93 push r29
- 18 000c CDB7 in r28,__SP_L__
- 19 000e DEB7 in r29,__SP_H__
- 20 0010 2B97 sbiw r28,11
- 21 0012 0FB6 in __tmp_reg__,__SREG__
- 22 0014 F894 cli
- 23 0016 DEBF out __SP_H__,r29
- 24 0018 0FBE out __SREG__,__tmp_reg__
- 25 001a CDBF out __SP_L__,r28
- 26 /* prologue: function */
- 27 /* frame size = 11 */
- 28 /* stack size = 17 */
- 29 .L__stack_usage = 17
- 30 001c 7C01 movw r14,r24
- 31 001e CB01 movw r24,r22
- 32 0020 5B87 std Y+11,r21
- 33 0022 4A87 std Y+10,r20
- 34 0024 45E0 ldi r20,lo8(5)
- 35 0026 50E0 ldi r21,0
- 36 0028 60E0 ldi r22,0
- 37 002a 70E0 ldi r23,0
- 38 002c 4D83 std Y+5,r20
- 39 002e 5E83 std Y+6,r21
- 40 0030 6F83 std Y+7,r22
- 41 0032 7887 std Y+8,r23
- 42 0034 42E0 ldi r20,lo8(2)
- 43 0036 50E0 ldi r21,0
- 44 0038 60E0 ldi r22,0
- 45 003a 70E0 ldi r23,0
- 46 003c 4983 std Y+1,r20
- 47 003e 5A83 std Y+2,r21
- 48 0040 6B83 std Y+3,r22
- 49 0042 7C83 std Y+4,r23
- 50 0044 62E0 ldi r22,lo8(2)
- 51 0046 70E8 ldi r23,lo8(-128)
- 52 0048 0296 adiw r24,2
- 53 004a 0E94 0000 call _open
- 54 004e 8C01 movw r16,r24
- 55 0050 0F3F cpi r16,-1
- 56 0052 8FEF ldi r24,-1
- 57 0054 1807 cpc r17,r24
- GAS LISTING /tmp/cczBTHTD.s page 2
- 58 0056 01F0 breq .L5
- 59 0058 AE01 movw r20,r28
- 60 005a 465F subi r20,-10
- 61 005c 5F4F sbci r21,-1
- 62 005e 62E3 ldi r22,lo8(50)
- 63 0060 71E0 ldi r23,lo8(1)
- 64 0062 C801 movw r24,r16
- 65 0064 0E94 0000 call _ioctl
- 66 0068 892B or r24,r25
- 67 006a 01F0 breq .L3
- 68 006c C801 movw r24,r16
- 69 006e 0E94 0000 call _close
- 70 0072 00C0 rjmp .L5
- 71 .L3:
- 72 0074 AE01 movw r20,r28
- 73 0076 4B5F subi r20,-5
- 74 0078 5F4F sbci r21,-1
- 75 007a 6BE0 ldi r22,lo8(11)
- 76 007c 71E0 ldi r23,lo8(1)
- 77 007e C801 movw r24,r16
- 78 0080 0E94 0000 call _ioctl
- 79 0084 AE01 movw r20,r28
- 80 0086 4F5F subi r20,-1
- 81 0088 5F4F sbci r21,-1
- 82 008a 67E0 ldi r22,lo8(7)
- 83 008c 71E0 ldi r23,lo8(1)
- 84 008e C801 movw r24,r16
- 85 0090 0E94 0000 call _ioctl
- 86 .L4:
- 87 0094 41E0 ldi r20,lo8(1)
- 88 0096 50E0 ldi r21,0
- 89 0098 BE01 movw r22,r28
- 90 009a 675F subi r22,-9
- 91 009c 7F4F sbci r23,-1
- 92 009e C801 movw r24,r16
- 93 00a0 0E94 0000 call _read
- 94 00a4 0197 sbiw r24,1
- 95 00a6 01F0 breq .L4
- 96 00a8 F701 movw r30,r14
- 97 00aa 1183 std Z+1,r17
- 98 00ac 0083 st Z,r16
- 99 00ae 80E0 ldi r24,0
- 100 00b0 90E0 ldi r25,0
- 101 00b2 00C0 rjmp .L2
- 102 .L5:
- 103 00b4 8EEF ldi r24,lo8(-2)
- 104 00b6 9FEF ldi r25,lo8(-1)
- 105 .L2:
- 106 /* epilogue start */
- 107 00b8 2B96 adiw r28,11
- 108 00ba 0FB6 in __tmp_reg__,__SREG__
- 109 00bc F894 cli
- 110 00be DEBF out __SP_H__,r29
- 111 00c0 0FBE out __SREG__,__tmp_reg__
- 112 00c2 CDBF out __SP_L__,r28
- 113 00c4 DF91 pop r29
- 114 00c6 CF91 pop r28
- GAS LISTING /tmp/cczBTHTD.s page 3
- 115 00c8 1F91 pop r17
- 116 00ca 0F91 pop r16
- 117 00cc FF90 pop r15
- 118 00ce EF90 pop r14
- 119 00d0 0895 ret
- 120 .size Uart_OwiInit, .-Uart_OwiInit
- 121 .section .text.Uart_OwiTouchReset,"ax",@progbits
- 122 .global Uart_OwiTouchReset
- 123 .type Uart_OwiTouchReset, @function
- 124 Uart_OwiTouchReset:
- 125 0000 EF92 push r14
- 126 0002 FF92 push r15
- 127 0004 0F93 push r16
- 128 0006 1F93 push r17
- 129 0008 CF93 push r28
- 130 000a DF93 push r29
- 131 000c CDB7 in r28,__SP_L__
- 132 000e DEB7 in r29,__SP_H__
- 133 0010 6397 sbiw r28,19
- 134 0012 0FB6 in __tmp_reg__,__SREG__
- 135 0014 F894 cli
- 136 0016 DEBF out __SP_H__,r29
- 137 0018 0FBE out __SREG__,__tmp_reg__
- 138 001a CDBF out __SP_L__,r28
- 139 /* prologue: function */
- 140 /* frame size = 19 */
- 141 /* stack size = 25 */
- 142 .L__stack_usage = 25
- 143 001c DC01 movw r26,r24
- 144 001e ED91 ld r30,X+
- 145 0020 FC91 ld r31,X
- 146 0022 80EF ldi r24,lo8(-16)
- 147 0024 8B8B std Y+19,r24
- 148 0026 CE01 movw r24,r28
- 149 0028 0196 adiw r24,1
- 150 002a 7C01 movw r14,r24
- 151 002c 8AE0 ldi r24,lo8(10)
- 152 002e D701 movw r26,r14
- 153 0:
- 154 0030 1D92 st X+,__zero_reg__
- 155 0032 8A95 dec r24
- 156 0034 01F4 brne 0b
- 157 0036 80E8 ldi r24,lo8(-128)
- 158 0038 95E2 ldi r25,lo8(37)
- 159 003a A0E0 ldi r26,0
- 160 003c B0E0 ldi r27,0
- 161 003e 8F87 std Y+15,r24
- 162 0040 988B std Y+16,r25
- 163 0042 A98B std Y+17,r26
- 164 0044 BA8B std Y+18,r27
- 165 0046 80E0 ldi r24,0
- 166 0048 92EC ldi r25,lo8(-62)
- 167 004a A1E0 ldi r26,lo8(1)
- 168 004c B0E0 ldi r27,0
- 169 004e 8B87 std Y+11,r24
- 170 0050 9C87 std Y+12,r25
- 171 0052 AD87 std Y+13,r26
- GAS LISTING /tmp/cczBTHTD.s page 4
- 172 0054 BE87 std Y+14,r27
- 173 0056 0081 ld r16,Z
- 174 0058 1181 ldd r17,Z+1
- 175 005a AE01 movw r20,r28
- 176 005c 415F subi r20,-15
- 177 005e 5F4F sbci r21,-1
- 178 0060 61E0 ldi r22,lo8(1)
- 179 0062 71E0 ldi r23,lo8(1)
- 180 0064 C801 movw r24,r16
- 181 0066 0E94 0000 call _ioctl
- 182 006a 41E0 ldi r20,lo8(1)
- 183 006c 50E0 ldi r21,0
- 184 006e BE01 movw r22,r28
- 185 0070 6D5E subi r22,-19
- 186 0072 7F4F sbci r23,-1
- 187 0074 C801 movw r24,r16
- 188 0076 0E94 0000 call _write
- 189 007a 41E0 ldi r20,lo8(1)
- 190 007c 50E0 ldi r21,0
- 191 007e B701 movw r22,r14
- 192 0080 C801 movw r24,r16
- 193 0082 0E94 0000 call _read
- 194 0086 0196 adiw r24,1
- 195 0088 01F0 breq .L12
- 196 008a AE01 movw r20,r28
- 197 008c 455F subi r20,-11
- 198 008e 5F4F sbci r21,-1
- 199 0090 61E0 ldi r22,lo8(1)
- 200 0092 71E0 ldi r23,lo8(1)
- 201 0094 C801 movw r24,r16
- 202 0096 0E94 0000 call _ioctl
- 203 009a 2981 ldd r18,Y+1
- 204 009c 203F cpi r18,lo8(-16)
- 205 009e 01F0 breq .L14
- 206 00a0 24FD sbrc r18,4
- 207 00a2 00C0 rjmp .L14
- 208 00a4 81E0 ldi r24,lo8(1)
- 209 00a6 90E0 ldi r25,0
- 210 00a8 2223 tst r18
- 211 00aa 01F0 breq .L11
- 212 00ac 80E0 ldi r24,0
- 213 00ae 90E0 ldi r25,0
- 214 .L11:
- 215 00b0 9195 neg r25
- 216 00b2 8195 neg r24
- 217 00b4 9109 sbc r25,__zero_reg__
- 218 00b6 00C0 rjmp .L10
- 219 .L12:
- 220 00b8 8CEF ldi r24,lo8(-4)
- 221 00ba 9FEF ldi r25,lo8(-1)
- 222 00bc 00C0 rjmp .L10
- 223 .L14:
- 224 00be 8FEF ldi r24,lo8(-1)
- 225 00c0 9FEF ldi r25,lo8(-1)
- 226 .L10:
- 227 /* epilogue start */
- 228 00c2 6396 adiw r28,19
- GAS LISTING /tmp/cczBTHTD.s page 5
- 229 00c4 0FB6 in __tmp_reg__,__SREG__
- 230 00c6 F894 cli
- 231 00c8 DEBF out __SP_H__,r29
- 232 00ca 0FBE out __SREG__,__tmp_reg__
- 233 00cc CDBF out __SP_L__,r28
- 234 00ce DF91 pop r29
- 235 00d0 CF91 pop r28
- 236 00d2 1F91 pop r17
- 237 00d4 0F91 pop r16
- 238 00d6 FF90 pop r15
- 239 00d8 EF90 pop r14
- 240 00da 0895 ret
- 241 .size Uart_OwiTouchReset, .-Uart_OwiTouchReset
- 242 .section .text.Uart_OwiRWBit,"ax",@progbits
- 243 .global Uart_OwiRWBit
- 244 .type Uart_OwiRWBit, @function
- 245 Uart_OwiRWBit:
- 246 0000 0F93 push r16
- 247 0002 1F93 push r17
- 248 0004 CF93 push r28
- 249 0006 DF93 push r29
- 250 0008 1F92 push __zero_reg__
- 251 000a 1F92 push __zero_reg__
- 252 000c CDB7 in r28,__SP_L__
- 253 000e DEB7 in r29,__SP_H__
- 254 /* prologue: function */
- 255 /* frame size = 2 */
- 256 /* stack size = 6 */
- 257 .L__stack_usage = 6
- 258 0010 FC01 movw r30,r24
- 259 0012 0081 ld r16,Z
- 260 0014 1181 ldd r17,Z+1
- 261 0016 81E0 ldi r24,lo8(1)
- 262 0018 6111 cpse r22,__zero_reg__
- 263 001a 00C0 rjmp .L19
- 264 001c 80E0 ldi r24,0
- 265 .L19:
- 266 001e 8195 neg r24
- 267 0020 8A83 std Y+2,r24
- 268 0022 1982 std Y+1,__zero_reg__
- 269 0024 41E0 ldi r20,lo8(1)
- 270 0026 50E0 ldi r21,0
- 271 0028 BE01 movw r22,r28
- 272 002a 6E5F subi r22,-2
- 273 002c 7F4F sbci r23,-1
- 274 002e F801 movw r30,r16
- 275 0030 8081 ld r24,Z
- 276 0032 9181 ldd r25,Z+1
- 277 0034 0E94 0000 call _write
- 278 0038 41E0 ldi r20,lo8(1)
- 279 003a 50E0 ldi r21,0
- 280 003c BE01 movw r22,r28
- 281 003e 6F5F subi r22,-1
- 282 0040 7F4F sbci r23,-1
- 283 0042 F801 movw r30,r16
- 284 0044 8081 ld r24,Z
- 285 0046 9181 ldd r25,Z+1
- GAS LISTING /tmp/cczBTHTD.s page 6
- 286 0048 0E94 0000 call _read
- 287 004c 0196 adiw r24,1
- 288 004e 01F0 breq .L21
- 289 0050 8981 ldd r24,Y+1
- 290 0052 8170 andi r24,1
- 291 0054 90E0 ldi r25,0
- 292 0056 00C0 rjmp .L20
- 293 .L21:
- 294 0058 8CEF ldi r24,lo8(-4)
- 295 005a 9FEF ldi r25,lo8(-1)
- 296 .L20:
- 297 /* epilogue start */
- 298 005c 0F90 pop __tmp_reg__
- 299 005e 0F90 pop __tmp_reg__
- 300 0060 DF91 pop r29
- 301 0062 CF91 pop r28
- 302 0064 1F91 pop r17
- 303 0066 0F91 pop r16
- 304 0068 0895 ret
- 305 .size Uart_OwiRWBit, .-Uart_OwiRWBit
- 306 .section .text.Uart_OwiWriteBlock,"ax",@progbits
- 307 .global Uart_OwiWriteBlock
- 308 .type Uart_OwiWriteBlock, @function
- 309 Uart_OwiWriteBlock:
- 310 0000 AF92 push r10
- 311 0002 BF92 push r11
- 312 0004 CF92 push r12
- 313 0006 DF92 push r13
- 314 0008 EF92 push r14
- 315 000a FF92 push r15
- 316 000c 0F93 push r16
- 317 000e 1F93 push r17
- 318 0010 CF93 push r28
- 319 0012 DF93 push r29
- 320 /* prologue: function */
- 321 /* frame size = 0 */
- 322 /* stack size = 10 */
- 323 .L__stack_usage = 10
- 324 0014 7C01 movw r14,r24
- 325 0016 6B01 movw r12,r22
- 326 0018 C0E0 ldi r28,0
- 327 001a D0E0 ldi r29,0
- 328 001c 042F mov r16,r20
- 329 001e 10E0 ldi r17,0
- 330 0020 AA24 clr r10
- 331 0022 A394 inc r10
- 332 0024 B12C mov r11,__zero_reg__
- 333 .L23:
- 334 0026 C017 cp r28,r16
- 335 0028 D107 cpc r29,r17
- 336 002a 04F4 brge .L27
- 337 002c FE01 movw r30,r28
- 338 002e 83E0 ldi r24,3
- 339 1:
- 340 0030 F595 asr r31
- 341 0032 E795 ror r30
- 342 0034 8A95 dec r24
- GAS LISTING /tmp/cczBTHTD.s page 7
- 343 0036 01F4 brne 1b
- 344 0038 EC0D add r30,r12
- 345 003a FD1D adc r31,r13
- 346 003c CE01 movw r24,r28
- 347 003e 8770 andi r24,7
- 348 0040 9927 clr r25
- 349 0042 9501 movw r18,r10
- 350 0044 00C0 rjmp 2f
- 351 1:
- 352 0046 220F lsl r18
- 353 0048 331F rol r19
- 354 2:
- 355 004a 8A95 dec r24
- 356 004c 02F4 brpl 1b
- 357 004e 6081 ld r22,Z
- 358 0050 6223 and r22,r18
- 359 0052 C701 movw r24,r14
- 360 0054 0E94 0000 call Uart_OwiRWBit
- 361 0058 97FD sbrc r25,7
- 362 005a 00C0 rjmp .L26
- 363 005c 2196 adiw r28,1
- 364 005e 00C0 rjmp .L23
- 365 .L27:
- 366 0060 80E0 ldi r24,0
- 367 0062 90E0 ldi r25,0
- 368 0064 00C0 rjmp .L24
- 369 .L26:
- 370 0066 8CEF ldi r24,lo8(-4)
- 371 0068 9FEF ldi r25,lo8(-1)
- 372 .L24:
- 373 /* epilogue start */
- 374 006a DF91 pop r29
- 375 006c CF91 pop r28
- 376 006e 1F91 pop r17
- 377 0070 0F91 pop r16
- 378 0072 FF90 pop r15
- 379 0074 EF90 pop r14
- 380 0076 DF90 pop r13
- 381 0078 CF90 pop r12
- 382 007a BF90 pop r11
- 383 007c AF90 pop r10
- 384 007e 0895 ret
- 385 .size Uart_OwiWriteBlock, .-Uart_OwiWriteBlock
- 386 .section .text.Uart_OwiReadBlock,"ax",@progbits
- 387 .global Uart_OwiReadBlock
- 388 .type Uart_OwiReadBlock, @function
- 389 Uart_OwiReadBlock:
- 390 0000 CF92 push r12
- 391 0002 DF92 push r13
- 392 0004 EF92 push r14
- 393 0006 FF92 push r15
- 394 0008 0F93 push r16
- 395 000a 1F93 push r17
- 396 000c CF93 push r28
- 397 000e DF93 push r29
- 398 /* prologue: function */
- 399 /* frame size = 0 */
- GAS LISTING /tmp/cczBTHTD.s page 8
- 400 /* stack size = 8 */
- 401 .L__stack_usage = 8
- 402 0010 7C01 movw r14,r24
- 403 0012 8B01 movw r16,r22
- 404 0014 C42F mov r28,r20
- 405 0016 D0E0 ldi r29,0
- 406 0018 AE01 movw r20,r28
- 407 001a 495F subi r20,-7
- 408 001c 5F4F sbci r21,-1
- 409 001e 33E0 ldi r19,3
- 410 1:
- 411 0020 5595 asr r21
- 412 0022 4795 ror r20
- 413 0024 3A95 dec r19
- 414 0026 01F4 brne 1b
- 415 0028 60E0 ldi r22,0
- 416 002a 70E0 ldi r23,0
- 417 002c C801 movw r24,r16
- 418 002e 0E94 0000 call memset
- 419 0032 C12C mov r12,__zero_reg__
- 420 0034 D12C mov r13,__zero_reg__
- 421 .L29:
- 422 0036 CC16 cp r12,r28
- 423 0038 DD06 cpc r13,r29
- 424 003a 04F4 brge .L33
- 425 003c 61E0 ldi r22,lo8(1)
- 426 003e C701 movw r24,r14
- 427 0040 0E94 0000 call Uart_OwiRWBit
- 428 0044 97FD sbrc r25,7
- 429 0046 00C0 rjmp .L32
- 430 0048 F601 movw r30,r12
- 431 004a 23E0 ldi r18,3
- 432 1:
- 433 004c F595 asr r31
- 434 004e E795 ror r30
- 435 0050 2A95 dec r18
- 436 0052 01F4 brne 1b
- 437 0054 E00F add r30,r16
- 438 0056 F11F adc r31,r17
- 439 0058 9601 movw r18,r12
- 440 005a 2770 andi r18,7
- 441 005c 3327 clr r19
- 442 005e 00C0 rjmp 2f
- 443 1:
- 444 0060 880F lsl r24
- 445 2:
- 446 0062 2A95 dec r18
- 447 0064 02F4 brpl 1b
- 448 0066 9081 ld r25,Z
- 449 0068 892B or r24,r25
- 450 006a 8083 st Z,r24
- 451 006c 8FEF ldi r24,-1
- 452 006e C81A sub r12,r24
- 453 0070 D80A sbc r13,r24
- 454 0072 00C0 rjmp .L29
- 455 .L33:
- 456 0074 80E0 ldi r24,0
- GAS LISTING /tmp/cczBTHTD.s page 9
- 457 0076 90E0 ldi r25,0
- 458 0078 00C0 rjmp .L30
- 459 .L32:
- 460 007a 8CEF ldi r24,lo8(-4)
- 461 007c 9FEF ldi r25,lo8(-1)
- 462 .L30:
- 463 /* epilogue start */
- 464 007e DF91 pop r29
- 465 0080 CF91 pop r28
- 466 0082 1F91 pop r17
- 467 0084 0F91 pop r16
- 468 0086 FF90 pop r15
- 469 0088 EF90 pop r14
- 470 008a DF90 pop r13
- 471 008c CF90 pop r12
- 472 008e 0895 ret
- 473 .size Uart_OwiReadBlock, .-Uart_OwiReadBlock
- 474 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/cczBTHTD.s page 10
- DEFINED SYMBOLS
- *ABS*:0000000000000000 owibus_uart.c
- /tmp/cczBTHTD.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cczBTHTD.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cczBTHTD.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cczBTHTD.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cczBTHTD.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cczBTHTD.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cczBTHTD.s:11 .text.Uart_OwiInit:0000000000000000 Uart_OwiInit
- /tmp/cczBTHTD.s:124 .text.Uart_OwiTouchReset:0000000000000000 Uart_OwiTouchReset
- /tmp/cczBTHTD.s:245 .text.Uart_OwiRWBit:0000000000000000 Uart_OwiRWBit
- /tmp/cczBTHTD.s:309 .text.Uart_OwiWriteBlock:0000000000000000 Uart_OwiWriteBlock
- /tmp/cczBTHTD.s:389 .text.Uart_OwiReadBlock:0000000000000000 Uart_OwiReadBlock
- UNDEFINED SYMBOLS
- _open
- _ioctl
- _close
- _read
- _write
- memset
|