GAS LISTING /tmp/ccUTI1Wk.s page 1 1 .file "owibus.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.OwiRomSearch,"ax",@progbits 9 .global OwiRomSearch 10 .type OwiRomSearch, @function 11 OwiRomSearch: 12 0000 7F92 push r7 13 0002 8F92 push r8 14 0004 9F92 push r9 15 0006 AF92 push r10 16 0008 BF92 push r11 17 000a CF92 push r12 18 000c DF92 push r13 19 000e EF92 push r14 20 0010 FF92 push r15 21 0012 0F93 push r16 22 0014 1F93 push r17 23 0016 CF93 push r28 24 0018 DF93 push r29 25 001a 00D0 rcall . 26 001c CDB7 in r28,__SP_L__ 27 001e DEB7 in r29,__SP_H__ 28 /* prologue: function */ 29 /* frame size = 3 */ 30 /* stack size = 16 */ 31 .L__stack_usage = 16 32 0020 8C01 movw r16,r24 33 0022 4B01 movw r8,r22 34 0024 5A01 movw r10,r20 35 0026 DC01 movw r26,r24 36 0028 1896 adiw r26,8 37 002a ED91 ld r30,X+ 38 002c FC91 ld r31,X 39 002e 1997 sbiw r26,8+1 40 0030 1995 eicall 41 0032 0097 sbiw r24,0 42 0034 01F0 breq .+2 43 0036 00C0 rjmp .L14 44 0038 80EF ldi r24,lo8(-16) 45 003a 8983 std Y+1,r24 46 003c D801 movw r26,r16 47 003e 1C96 adiw r26,12 48 0040 ED91 ld r30,X+ 49 0042 FC91 ld r31,X 50 0044 1D97 sbiw r26,12+1 51 0046 48E0 ldi r20,lo8(8) 52 0048 BE01 movw r22,r28 53 004a 6F5F subi r22,-1 54 004c 7F4F sbci r23,-1 55 004e C801 movw r24,r16 56 0050 1995 eicall 57 0052 0097 sbiw r24,0 GAS LISTING /tmp/ccUTI1Wk.s page 2 58 0054 01F0 breq .+2 59 0056 00C0 rjmp .L14 60 0058 E12C mov r14,__zero_reg__ 61 005a 90E4 ldi r25,lo8(64) 62 005c F92E mov r15,r25 63 .L12: 64 005e 88EF ldi r24,lo8(-8) 65 0060 782E mov r7,r24 66 0062 7F0C add r7,r15 67 .L10: 68 0064 D801 movw r26,r16 69 0066 1A96 adiw r26,10 70 0068 ED91 ld r30,X+ 71 006a FC91 ld r31,X 72 006c 1B97 sbiw r26,10+1 73 006e 41E0 ldi r20,lo8(1) 74 0070 BE01 movw r22,r28 75 0072 6D5F subi r22,-3 76 0074 7F4F sbci r23,-1 77 0076 C801 movw r24,r16 78 0078 1995 eicall 79 007a 6C01 movw r12,r24 80 007c D801 movw r26,r16 81 007e 1A96 adiw r26,10 82 0080 ED91 ld r30,X+ 83 0082 FC91 ld r31,X 84 0084 1B97 sbiw r26,10+1 85 0086 41E0 ldi r20,lo8(1) 86 0088 BE01 movw r22,r28 87 008a 6E5F subi r22,-2 88 008c 7F4F sbci r23,-1 89 008e C801 movw r24,r16 90 0090 1995 eicall 91 0092 C82A or r12,r24 92 0094 D92A or r13,r25 93 0096 9A81 ldd r25,Y+2 94 0098 8B81 ldd r24,Y+3 95 009a 9923 tst r25 96 009c 01F0 breq .L3 97 009e 8823 tst r24 98 00a0 01F0 breq .L4 99 00a2 00C0 rjmp .L27 100 .L3: 101 00a4 8111 cpse r24,__zero_reg__ 102 00a6 00C0 rjmp .L4 103 00a8 F401 movw r30,r8 104 00aa 8081 ld r24,Z 105 00ac F816 cp r15,r24 106 00ae 00F0 brlo .L5 107 00b0 D501 movw r26,r10 108 00b2 9C91 ld r25,X 109 00b4 90FF sbrs r25,0 110 00b6 00C0 rjmp .L4 111 00b8 F816 cp r15,r24 112 00ba 01F0 breq .L4 113 .L5: 114 00bc 81E0 ldi r24,lo8(1) GAS LISTING /tmp/ccUTI1Wk.s page 3 115 00be 8B83 std Y+3,r24 116 00c0 EF2C mov r14,r15 117 .L4: 118 00c2 D801 movw r26,r16 119 00c4 1C96 adiw r26,12 120 00c6 ED91 ld r30,X+ 121 00c8 FC91 ld r31,X 122 00ca 1D97 sbiw r26,12+1 123 00cc 41E0 ldi r20,lo8(1) 124 00ce BE01 movw r22,r28 125 00d0 6D5F subi r22,-3 126 00d2 7F4F sbci r23,-1 127 00d4 C801 movw r24,r16 128 00d6 1995 eicall 129 00d8 9601 movw r18,r12 130 00da 282B or r18,r24 131 00dc 392B or r19,r25 132 00de F501 movw r30,r10 133 00e0 8081 ld r24,Z 134 00e2 8695 lsr r24 135 00e4 8083 st Z,r24 136 00e6 9B81 ldd r25,Y+3 137 00e8 9923 tst r25 138 00ea 01F0 breq .L6 139 00ec 8068 ori r24,lo8(-128) 140 00ee 8083 st Z,r24 141 .L6: 142 00f0 FA94 dec r15 143 00f2 F710 cpse r15,r7 144 00f4 00C0 rjmp .L7 145 .L11: 146 00f6 FFEF ldi r31,-1 147 00f8 AF1A sub r10,r31 148 00fa BF0A sbc r11,r31 149 00fc F110 cpse r15,__zero_reg__ 150 00fe 00C0 rjmp .L8 151 0100 00C0 rjmp .L9 152 .L7: 153 0102 2115 cp r18,__zero_reg__ 154 0104 3105 cpc r19,__zero_reg__ 155 0106 01F4 brne .+2 156 0108 00C0 rjmp .L10 157 010a 00C0 rjmp .L11 158 .L8: 159 010c 2115 cp r18,__zero_reg__ 160 010e 3105 cpc r19,__zero_reg__ 161 0110 01F4 brne .+2 162 0112 00C0 rjmp .L12 163 .L9: 164 0114 D401 movw r26,r8 165 0116 EC92 st X,r14 166 0118 932F mov r25,r19 167 011a 00C0 rjmp .L2 168 .L14: 169 011c 282F mov r18,r24 170 011e 00C0 rjmp .L2 171 .L27: GAS LISTING /tmp/ccUTI1Wk.s page 4 172 0120 2BEF ldi r18,lo8(-5) 173 0122 9FEF ldi r25,lo8(-1) 174 .L2: 175 0124 822F mov r24,r18 176 /* epilogue start */ 177 0126 0F90 pop __tmp_reg__ 178 0128 0F90 pop __tmp_reg__ 179 012a 0F90 pop __tmp_reg__ 180 012c DF91 pop r29 181 012e CF91 pop r28 182 0130 1F91 pop r17 183 0132 0F91 pop r16 184 0134 FF90 pop r15 185 0136 EF90 pop r14 186 0138 DF90 pop r13 187 013a CF90 pop r12 188 013c BF90 pop r11 189 013e AF90 pop r10 190 0140 9F90 pop r9 191 0142 8F90 pop r8 192 0144 7F90 pop r7 193 0146 0895 ret 194 .size OwiRomSearch, .-OwiRomSearch 195 .section .text.OwiCommand,"ax",@progbits 196 .global OwiCommand 197 .type OwiCommand, @function 198 OwiCommand: 199 0000 EF92 push r14 200 0002 FF92 push r15 201 0004 0F93 push r16 202 0006 1F93 push r17 203 0008 CF93 push r28 204 000a DF93 push r29 205 000c 1F92 push __zero_reg__ 206 000e 1F92 push __zero_reg__ 207 0010 CDB7 in r28,__SP_L__ 208 0012 DEB7 in r29,__SP_H__ 209 /* prologue: function */ 210 /* frame size = 2 */ 211 /* stack size = 8 */ 212 .L__stack_usage = 8 213 0014 8C01 movw r16,r24 214 0016 6A83 std Y+2,r22 215 0018 7A01 movw r14,r20 216 001a DC01 movw r26,r24 217 001c 1896 adiw r26,8 218 001e ED91 ld r30,X+ 219 0020 FC91 ld r31,X 220 0022 1997 sbiw r26,8+1 221 0024 1995 eicall 222 0026 0097 sbiw r24,0 223 0028 01F4 brne .L29 224 002a D801 movw r26,r16 225 002c 1C96 adiw r26,12 226 002e ED91 ld r30,X+ 227 0030 FC91 ld r31,X 228 0032 1D97 sbiw r26,12+1 GAS LISTING /tmp/ccUTI1Wk.s page 5 229 0034 E114 cp r14,__zero_reg__ 230 0036 F104 cpc r15,__zero_reg__ 231 0038 01F0 breq .L30 232 003a 85E5 ldi r24,lo8(85) 233 003c 8983 std Y+1,r24 234 003e 48E0 ldi r20,lo8(8) 235 0040 BE01 movw r22,r28 236 0042 6F5F subi r22,-1 237 0044 7F4F sbci r23,-1 238 0046 C801 movw r24,r16 239 0048 1995 eicall 240 004a D801 movw r26,r16 241 004c 1C96 adiw r26,12 242 004e ED91 ld r30,X+ 243 0050 FC91 ld r31,X 244 0052 1D97 sbiw r26,12+1 245 0054 40E4 ldi r20,lo8(64) 246 0056 B701 movw r22,r14 247 0058 00C0 rjmp .L33 248 .L30: 249 005a 8CEC ldi r24,lo8(-52) 250 005c 8983 std Y+1,r24 251 005e 48E0 ldi r20,lo8(8) 252 0060 BE01 movw r22,r28 253 0062 6F5F subi r22,-1 254 0064 7F4F sbci r23,-1 255 .L33: 256 0066 C801 movw r24,r16 257 0068 1995 eicall 258 006a D801 movw r26,r16 259 006c 1C96 adiw r26,12 260 006e ED91 ld r30,X+ 261 0070 FC91 ld r31,X 262 0072 1D97 sbiw r26,12+1 263 0074 48E0 ldi r20,lo8(8) 264 0076 BE01 movw r22,r28 265 0078 6E5F subi r22,-2 266 007a 7F4F sbci r23,-1 267 007c C801 movw r24,r16 268 007e 1995 eicall 269 0080 80E0 ldi r24,0 270 0082 90E0 ldi r25,0 271 .L29: 272 /* epilogue start */ 273 0084 0F90 pop __tmp_reg__ 274 0086 0F90 pop __tmp_reg__ 275 0088 DF91 pop r29 276 008a CF91 pop r28 277 008c 1F91 pop r17 278 008e 0F91 pop r16 279 0090 FF90 pop r15 280 0092 EF90 pop r14 281 0094 0895 ret 282 .size OwiCommand, .-OwiCommand 283 .section .text.OwiReadBlock,"ax",@progbits 284 .global OwiReadBlock 285 .type OwiReadBlock, @function GAS LISTING /tmp/ccUTI1Wk.s page 6 286 OwiReadBlock: 287 /* prologue: function */ 288 /* frame size = 0 */ 289 /* stack size = 0 */ 290 .L__stack_usage = 0 291 0000 DC01 movw r26,r24 292 0002 1A96 adiw r26,10 293 0004 ED91 ld r30,X+ 294 0006 FC91 ld r31,X 295 0008 1B97 sbiw r26,10+1 296 000a 1994 eijmp 297 .size OwiReadBlock, .-OwiReadBlock 298 .section .text.OwiWriteBlock,"ax",@progbits 299 .global OwiWriteBlock 300 .type OwiWriteBlock, @function 301 OwiWriteBlock: 302 /* prologue: function */ 303 /* frame size = 0 */ 304 /* stack size = 0 */ 305 .L__stack_usage = 0 306 0000 DC01 movw r26,r24 307 0002 1C96 adiw r26,12 308 0004 ED91 ld r30,X+ 309 0006 FC91 ld r31,X 310 0008 1D97 sbiw r26,12+1 311 000a 1994 eijmp 312 .size OwiWriteBlock, .-OwiWriteBlock 313 .section .text.OwiSetMode,"ax",@progbits 314 .global OwiSetMode 315 .type OwiSetMode, @function 316 OwiSetMode: 317 0000 0F93 push r16 318 0002 1F93 push r17 319 0004 CF93 push r28 320 0006 DF93 push r29 321 0008 1F92 push __zero_reg__ 322 000a CDB7 in r28,__SP_L__ 323 000c DEB7 in r29,__SP_H__ 324 /* prologue: function */ 325 /* frame size = 1 */ 326 /* stack size = 5 */ 327 .L__stack_usage = 5 328 000e 8C01 movw r16,r24 329 0010 DC01 movw r26,r24 330 0012 1896 adiw r26,8 331 0014 ED91 ld r30,X+ 332 0016 FC91 ld r31,X 333 0018 1997 sbiw r26,8+1 334 001a 60FF sbrs r22,0 335 001c 00C0 rjmp .L37 336 001e 8CE3 ldi r24,lo8(60) 337 0020 8983 std Y+1,r24 338 0022 C801 movw r24,r16 339 0024 1995 eicall 340 0026 0097 sbiw r24,0 341 0028 01F4 brne .L40 342 002a D801 movw r26,r16 GAS LISTING /tmp/ccUTI1Wk.s page 7 343 002c 1C96 adiw r26,12 344 002e ED91 ld r30,X+ 345 0030 FC91 ld r31,X 346 0032 1D97 sbiw r26,12+1 347 0034 48E0 ldi r20,lo8(8) 348 0036 BE01 movw r22,r28 349 0038 6F5F subi r22,-1 350 003a 7F4F sbci r23,-1 351 003c C801 movw r24,r16 352 003e 1995 eicall 353 0040 F801 movw r30,r16 354 0042 8281 ldd r24,Z+2 355 0044 9381 ldd r25,Z+3 356 0046 A481 ldd r26,Z+4 357 0048 B581 ldd r27,Z+5 358 004a 8160 ori r24,1 359 004c 8283 std Z+2,r24 360 004e 9383 std Z+3,r25 361 0050 A483 std Z+4,r26 362 0052 B583 std Z+5,r27 363 0054 0084 ldd __tmp_reg__,Z+8 364 0056 F185 ldd r31,Z+9 365 0058 E02D mov r30,__tmp_reg__ 366 005a C801 movw r24,r16 367 005c 1995 eicall 368 005e 0097 sbiw r24,0 369 0060 01F0 breq .L39 370 0062 D801 movw r26,r16 371 0064 1296 adiw r26,2 372 0066 4D91 ld r20,X+ 373 0068 5D91 ld r21,X+ 374 006a 6D91 ld r22,X+ 375 006c 7C91 ld r23,X 376 006e 1597 sbiw r26,2+3 377 0070 4E7F andi r20,254 378 0072 F801 movw r30,r16 379 0074 4283 std Z+2,r20 380 0076 5383 std Z+3,r21 381 0078 6483 std Z+4,r22 382 007a 7583 std Z+5,r23 383 007c 00C0 rjmp .L40 384 .L39: 385 007e 80E0 ldi r24,0 386 0080 90E0 ldi r25,0 387 0082 00C0 rjmp .L40 388 .L37: 389 0084 1995 eicall 390 .L40: 391 /* epilogue start */ 392 0086 0F90 pop __tmp_reg__ 393 0088 DF91 pop r29 394 008a CF91 pop r28 395 008c 1F91 pop r17 396 008e 0F91 pop r16 397 0090 0895 ret 398 .size OwiSetMode, .-OwiSetMode 399 .section .text.OWIGetMode,"ax",@progbits GAS LISTING /tmp/ccUTI1Wk.s page 8 400 .global OWIGetMode 401 .type OWIGetMode, @function 402 OWIGetMode: 403 /* prologue: function */ 404 /* frame size = 0 */ 405 /* stack size = 0 */ 406 .L__stack_usage = 0 407 0000 FC01 movw r30,r24 408 0002 8281 ldd r24,Z+2 409 0004 9381 ldd r25,Z+3 410 0006 0895 ret 411 .size OWIGetMode, .-OWIGetMode 412 .section .text.OwiInit,"ax",@progbits 413 .global OwiInit 414 .type OwiInit, @function 415 OwiInit: 416 0000 CF93 push r28 417 0002 DF93 push r29 418 /* prologue: function */ 419 /* frame size = 0 */ 420 /* stack size = 2 */ 421 .L__stack_usage = 2 422 0004 DC01 movw r26,r24 423 0006 1696 adiw r26,6 424 0008 ED91 ld r30,X+ 425 000a FC91 ld r31,X 426 000c 1797 sbiw r26,6+1 427 000e 3097 sbiw r30,0 428 0010 01F0 breq .L45 429 0012 1995 eicall 430 0014 D82F mov r29,r24 431 0016 C92F mov r28,r25 432 0018 61E0 ldi r22,lo8(1) 433 001a 70E0 ldi r23,0 434 001c 80E0 ldi r24,0 435 001e 90E0 ldi r25,0 436 0020 0E94 0000 call NutSleep 437 0024 8D2F mov r24,r29 438 0026 9C2F mov r25,r28 439 0028 00C0 rjmp .L44 440 .L45: 441 002a 80E0 ldi r24,0 442 002c 90E0 ldi r25,0 443 .L44: 444 /* epilogue start */ 445 002e DF91 pop r29 446 0030 CF91 pop r28 447 0032 0895 ret 448 .size OwiInit, .-OwiInit 449 .global owi_timervalues_250ns 450 .section .rodata 451 .type owi_timervalues_250ns, @object 452 .size owi_timervalues_250ns, 40 453 owi_timervalues_250ns: 454 0000 0C00 .word 12 455 0002 8C07 .word 1932 456 0004 8C07 .word 1932 GAS LISTING /tmp/ccUTI1Wk.s page 9 457 0006 A408 .word 2212 458 0008 0C0F .word 3852 459 000a 0C00 .word 12 460 000c 2400 .word 36 461 000e FC00 .word 252 462 0010 4800 .word 72 463 0012 2401 .word 292 464 0014 0A00 .word 10 465 0016 2201 .word 290 466 0018 2201 .word 290 467 001a 4401 .word 324 468 001c E401 .word 484 469 001e 0A00 .word 10 470 0020 0E00 .word 14 471 0022 2800 .word 40 472 0024 1200 .word 18 473 0026 2E00 .word 46 474 .ident "GCC: (GNU) 5.3.0" 475 .global __do_copy_data GAS LISTING /tmp/ccUTI1Wk.s page 10 DEFINED SYMBOLS *ABS*:0000000000000000 owibus.c /tmp/ccUTI1Wk.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccUTI1Wk.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccUTI1Wk.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccUTI1Wk.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccUTI1Wk.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccUTI1Wk.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccUTI1Wk.s:11 .text.OwiRomSearch:0000000000000000 OwiRomSearch /tmp/ccUTI1Wk.s:198 .text.OwiCommand:0000000000000000 OwiCommand /tmp/ccUTI1Wk.s:286 .text.OwiReadBlock:0000000000000000 OwiReadBlock /tmp/ccUTI1Wk.s:301 .text.OwiWriteBlock:0000000000000000 OwiWriteBlock /tmp/ccUTI1Wk.s:316 .text.OwiSetMode:0000000000000000 OwiSetMode /tmp/ccUTI1Wk.s:402 .text.OWIGetMode:0000000000000000 OWIGetMode /tmp/ccUTI1Wk.s:415 .text.OwiInit:0000000000000000 OwiInit /tmp/ccUTI1Wk.s:453 .rodata:0000000000000000 owi_timervalues_250ns UNDEFINED SYMBOLS NutSleep __do_copy_data