| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376 |
- GAS LISTING /tmp/ccS7Aefz.s page 1
- 1 .file "owibus0gpio.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.Gpio_Setup,"ax",@progbits
- 9 .type Gpio_Setup, @function
- 10 Gpio_Setup:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 8EEF ldi r24,lo8(-2)
- 16 0002 9FEF ldi r25,lo8(-1)
- 17 0004 0895 ret
- 18 .size Gpio_Setup, .-Gpio_Setup
- 19 .section .text.Gpio_OwiTransaction,"ax",@progbits
- 20 .type Gpio_OwiTransaction, @function
- 21 Gpio_OwiTransaction:
- 22 0000 AF92 push r10
- 23 0002 BF92 push r11
- 24 0004 CF92 push r12
- 25 0006 DF92 push r13
- 26 0008 EF92 push r14
- 27 000a FF92 push r15
- 28 000c 0F93 push r16
- 29 000e 1F93 push r17
- 30 0010 CF93 push r28
- 31 0012 DF93 push r29
- 32 0014 1F92 push __zero_reg__
- 33 0016 CDB7 in r28,__SP_L__
- 34 0018 DEB7 in r29,__SP_H__
- 35 /* prologue: function */
- 36 /* frame size = 1 */
- 37 /* stack size = 11 */
- 38 .L__stack_usage = 11
- 39 001a FC01 movw r30,r24
- 40 001c 8281 ldd r24,Z+2
- 41 001e 9381 ldd r25,Z+3
- 42 0020 A481 ldd r26,Z+4
- 43 0022 B581 ldd r27,Z+5
- 44 0024 8170 andi r24,1
- 45 0026 9927 clr r25
- 46 0028 AA27 clr r26
- 47 002a BB27 clr r27
- 48 002c 24E1 ldi r18,lo8(20)
- 49 002e 289F mul r18,r24
- 50 0030 F001 movw r30,r0
- 51 0032 299F mul r18,r25
- 52 0034 F00D add r31,r0
- 53 0036 1124 clr __zero_reg__
- 54 0038 8AE0 ldi r24,lo8(10)
- 55 003a 6802 muls r22,r24
- 56 003c E00D add r30,r0
- 57 003e F11D adc r31,r1
- GAS LISTING /tmp/ccS7Aefz.s page 2
- 58 0040 1124 clr __zero_reg__
- 59 0042 E050 subi r30,lo8(-(owi_timervalues_250ns))
- 60 0044 F040 sbci r31,hi8(-(owi_timervalues_250ns))
- 61 0046 0085 ldd r16,Z+8
- 62 0048 1185 ldd r17,Z+9
- 63 004a E680 ldd r14,Z+6
- 64 004c F780 ldd r15,Z+7
- 65 004e 2081 ld r18,Z
- 66 0050 3181 ldd r19,Z+1
- 67 0052 4423 tst r20
- 68 0054 01F0 breq .L3
- 69 0056 8281 ldd r24,Z+2
- 70 0058 9381 ldd r25,Z+3
- 71 005a BC01 movw r22,r24
- 72 005c 621B sub r22,r18
- 73 005e 730B sbc r23,r19
- 74 0060 6B01 movw r12,r22
- 75 0062 D694 lsr r13
- 76 0064 C794 ror r12
- 77 0066 D694 lsr r13
- 78 0068 C794 ror r12
- 79 006a 5701 movw r10,r14
- 80 006c 00C0 rjmp .L7
- 81 .L3:
- 82 006e 8481 ldd r24,Z+4
- 83 0070 9581 ldd r25,Z+5
- 84 0072 BC01 movw r22,r24
- 85 0074 621B sub r22,r18
- 86 0076 730B sbc r23,r19
- 87 0078 6B01 movw r12,r22
- 88 007a D694 lsr r13
- 89 007c C794 ror r12
- 90 007e D694 lsr r13
- 91 0080 C794 ror r12
- 92 0082 5801 movw r10,r16
- 93 .L7:
- 94 0084 A81A sub r10,r24
- 95 0086 B90A sbc r11,r25
- 96 0088 B694 lsr r11
- 97 008a A794 ror r10
- 98 008c B694 lsr r11
- 99 008e A794 ror r10
- 100 0090 60E0 ldi r22,0
- 101 0092 70E0 ldi r23,0
- 102 0094 CB01 movw r24,r22
- 103 0096 4983 std Y+1,r20
- 104 0098 0E94 0000 call NutSleep
- 105 009c B601 movw r22,r12
- 106 009e DD0C lsl r13
- 107 00a0 880B sbc r24,r24
- 108 00a2 990B sbc r25,r25
- 109 00a4 0E94 0000 call NutMicroDelay
- 110 00a8 B501 movw r22,r10
- 111 00aa BB0C lsl r11
- 112 00ac 880B sbc r24,r24
- 113 00ae 990B sbc r25,r25
- 114 00b0 4981 ldd r20,Y+1
- GAS LISTING /tmp/ccS7Aefz.s page 3
- 115 00b2 4423 tst r20
- 116 00b4 01F0 breq .L5
- 117 00b6 0E94 0000 call NutMicroDelay
- 118 00ba B801 movw r22,r16
- 119 00bc 6E19 sub r22,r14
- 120 00be 7F09 sbc r23,r15
- 121 00c0 7695 lsr r23
- 122 00c2 6795 ror r22
- 123 00c4 7695 lsr r23
- 124 00c6 6795 ror r22
- 125 00c8 80E0 ldi r24,0
- 126 00ca 90E0 ldi r25,0
- 127 .L5:
- 128 00cc 0E94 0000 call NutMicroDelay
- 129 00d0 80E0 ldi r24,0
- 130 00d2 90E0 ldi r25,0
- 131 /* epilogue start */
- 132 00d4 0F90 pop __tmp_reg__
- 133 00d6 DF91 pop r29
- 134 00d8 CF91 pop r28
- 135 00da 1F91 pop r17
- 136 00dc 0F91 pop r16
- 137 00de FF90 pop r15
- 138 00e0 EF90 pop r14
- 139 00e2 DF90 pop r13
- 140 00e4 CF90 pop r12
- 141 00e6 BF90 pop r11
- 142 00e8 AF90 pop r10
- 143 00ea 0895 ret
- 144 .size Gpio_OwiTransaction, .-Gpio_OwiTransaction
- 145 .section .text.Gpio_OwiTouchReset,"ax",@progbits
- 146 .type Gpio_OwiTouchReset, @function
- 147 Gpio_OwiTouchReset:
- 148 /* prologue: function */
- 149 /* frame size = 0 */
- 150 /* stack size = 0 */
- 151 .L__stack_usage = 0
- 152 0000 41E0 ldi r20,lo8(1)
- 153 0002 60E0 ldi r22,0
- 154 0004 0C94 0000 jmp Gpio_OwiTransaction
- 155 .size Gpio_OwiTouchReset, .-Gpio_OwiTouchReset
- 156 .section .text.Gpio_OwiReadBlock,"ax",@progbits
- 157 .type Gpio_OwiReadBlock, @function
- 158 Gpio_OwiReadBlock:
- 159 0000 CF92 push r12
- 160 0002 DF92 push r13
- 161 0004 EF92 push r14
- 162 0006 FF92 push r15
- 163 0008 0F93 push r16
- 164 000a 1F93 push r17
- 165 000c CF93 push r28
- 166 000e DF93 push r29
- 167 /* prologue: function */
- 168 /* frame size = 0 */
- 169 /* stack size = 8 */
- 170 .L__stack_usage = 8
- 171 0010 7C01 movw r14,r24
- GAS LISTING /tmp/ccS7Aefz.s page 4
- 172 0012 8B01 movw r16,r22
- 173 0014 C42E mov r12,r20
- 174 0016 4695 lsr r20
- 175 0018 4695 lsr r20
- 176 001a 4695 lsr r20
- 177 001c 50E0 ldi r21,0
- 178 001e 4F5F subi r20,-1
- 179 0020 5F4F sbci r21,-1
- 180 0022 60E0 ldi r22,0
- 181 0024 70E0 ldi r23,0
- 182 0026 C801 movw r24,r16
- 183 0028 0E94 0000 call memset
- 184 002c C0E0 ldi r28,0
- 185 002e D0E0 ldi r29,0
- 186 0030 D12C mov r13,__zero_reg__
- 187 .L11:
- 188 0032 CC15 cp r28,r12
- 189 0034 DD05 cpc r29,r13
- 190 0036 04F4 brge .L15
- 191 0038 41E0 ldi r20,lo8(1)
- 192 003a 61E0 ldi r22,lo8(1)
- 193 003c C701 movw r24,r14
- 194 003e 0E94 0000 call Gpio_OwiTransaction
- 195 0042 97FD sbrc r25,7
- 196 0044 00C0 rjmp .L14
- 197 0046 FE01 movw r30,r28
- 198 0048 23E0 ldi r18,3
- 199 1:
- 200 004a F595 asr r31
- 201 004c E795 ror r30
- 202 004e 2A95 dec r18
- 203 0050 01F4 brne 1b
- 204 0052 E00F add r30,r16
- 205 0054 F11F adc r31,r17
- 206 0056 9E01 movw r18,r28
- 207 0058 2770 andi r18,7
- 208 005a 3327 clr r19
- 209 005c 00C0 rjmp 2f
- 210 1:
- 211 005e 880F lsl r24
- 212 2:
- 213 0060 2A95 dec r18
- 214 0062 02F4 brpl 1b
- 215 0064 9081 ld r25,Z
- 216 0066 892B or r24,r25
- 217 0068 8083 st Z,r24
- 218 006a 2196 adiw r28,1
- 219 006c 00C0 rjmp .L11
- 220 .L15:
- 221 006e 80E0 ldi r24,0
- 222 0070 90E0 ldi r25,0
- 223 0072 00C0 rjmp .L12
- 224 .L14:
- 225 0074 8CEF ldi r24,lo8(-4)
- 226 0076 9FEF ldi r25,lo8(-1)
- 227 .L12:
- 228 /* epilogue start */
- GAS LISTING /tmp/ccS7Aefz.s page 5
- 229 0078 DF91 pop r29
- 230 007a CF91 pop r28
- 231 007c 1F91 pop r17
- 232 007e 0F91 pop r16
- 233 0080 FF90 pop r15
- 234 0082 EF90 pop r14
- 235 0084 DF90 pop r13
- 236 0086 CF90 pop r12
- 237 0088 0895 ret
- 238 .size Gpio_OwiReadBlock, .-Gpio_OwiReadBlock
- 239 .section .text.Gpio_OwiWriteBlock,"ax",@progbits
- 240 .type Gpio_OwiWriteBlock, @function
- 241 Gpio_OwiWriteBlock:
- 242 0000 AF92 push r10
- 243 0002 BF92 push r11
- 244 0004 CF92 push r12
- 245 0006 DF92 push r13
- 246 0008 EF92 push r14
- 247 000a FF92 push r15
- 248 000c 0F93 push r16
- 249 000e 1F93 push r17
- 250 0010 CF93 push r28
- 251 0012 DF93 push r29
- 252 /* prologue: function */
- 253 /* frame size = 0 */
- 254 /* stack size = 10 */
- 255 .L__stack_usage = 10
- 256 0014 7C01 movw r14,r24
- 257 0016 6B01 movw r12,r22
- 258 0018 C0E0 ldi r28,0
- 259 001a D0E0 ldi r29,0
- 260 001c 042F mov r16,r20
- 261 001e 10E0 ldi r17,0
- 262 0020 AA24 clr r10
- 263 0022 A394 inc r10
- 264 0024 B12C mov r11,__zero_reg__
- 265 .L17:
- 266 0026 C017 cp r28,r16
- 267 0028 D107 cpc r29,r17
- 268 002a 04F4 brge .L21
- 269 002c FE01 movw r30,r28
- 270 002e 83E0 ldi r24,3
- 271 1:
- 272 0030 F595 asr r31
- 273 0032 E795 ror r30
- 274 0034 8A95 dec r24
- 275 0036 01F4 brne 1b
- 276 0038 EC0D add r30,r12
- 277 003a FD1D adc r31,r13
- 278 003c CE01 movw r24,r28
- 279 003e 8770 andi r24,7
- 280 0040 9927 clr r25
- 281 0042 9501 movw r18,r10
- 282 0044 00C0 rjmp 2f
- 283 1:
- 284 0046 220F lsl r18
- 285 0048 331F rol r19
- GAS LISTING /tmp/ccS7Aefz.s page 6
- 286 2:
- 287 004a 8A95 dec r24
- 288 004c 02F4 brpl 1b
- 289 004e 4081 ld r20,Z
- 290 0050 4223 and r20,r18
- 291 0052 61E0 ldi r22,lo8(1)
- 292 0054 C701 movw r24,r14
- 293 0056 0E94 0000 call Gpio_OwiTransaction
- 294 005a 97FD sbrc r25,7
- 295 005c 00C0 rjmp .L20
- 296 005e 2196 adiw r28,1
- 297 0060 00C0 rjmp .L17
- 298 .L21:
- 299 0062 80E0 ldi r24,0
- 300 0064 90E0 ldi r25,0
- 301 0066 00C0 rjmp .L18
- 302 .L20:
- 303 0068 8CEF ldi r24,lo8(-4)
- 304 006a 9FEF ldi r25,lo8(-1)
- 305 .L18:
- 306 /* epilogue start */
- 307 006c DF91 pop r29
- 308 006e CF91 pop r28
- 309 0070 1F91 pop r17
- 310 0072 0F91 pop r16
- 311 0074 FF90 pop r15
- 312 0076 EF90 pop r14
- 313 0078 DF90 pop r13
- 314 007a CF90 pop r12
- 315 007c BF90 pop r11
- 316 007e AF90 pop r10
- 317 0080 0895 ret
- 318 .size Gpio_OwiWriteBlock, .-Gpio_OwiWriteBlock
- 319 .global owiBus0Gpio
- 320 .data
- 321 .type owiBus0Gpio, @object
- 322 .size owiBus0Gpio, 14
- 323 owiBus0Gpio:
- 324 0000 0000 .word 0
- 325 0002 00 .byte 0
- 326 0003 00 .byte 0
- 327 0004 00 .byte 0
- 328 0005 00 .byte 0
- 329 0006 0000 .word gs(Gpio_Setup)
- 330 0008 0000 .word gs(Gpio_OwiTouchReset)
- 331 000a 0000 .word gs(Gpio_OwiReadBlock)
- 332 000c 0000 .word gs(Gpio_OwiWriteBlock)
- 333 .ident "GCC: (GNU) 5.3.0"
- 334 .global __do_copy_data
- GAS LISTING /tmp/ccS7Aefz.s page 7
- DEFINED SYMBOLS
- *ABS*:0000000000000000 owibus0gpio.c
- /tmp/ccS7Aefz.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccS7Aefz.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccS7Aefz.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccS7Aefz.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccS7Aefz.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccS7Aefz.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccS7Aefz.s:10 .text.Gpio_Setup:0000000000000000 Gpio_Setup
- /tmp/ccS7Aefz.s:21 .text.Gpio_OwiTransaction:0000000000000000 Gpio_OwiTransaction
- /tmp/ccS7Aefz.s:147 .text.Gpio_OwiTouchReset:0000000000000000 Gpio_OwiTouchReset
- /tmp/ccS7Aefz.s:158 .text.Gpio_OwiReadBlock:0000000000000000 Gpio_OwiReadBlock
- /tmp/ccS7Aefz.s:241 .text.Gpio_OwiWriteBlock:0000000000000000 Gpio_OwiWriteBlock
- /tmp/ccS7Aefz.s:323 .data:0000000000000000 owiBus0Gpio
- UNDEFINED SYMBOLS
- owi_timervalues_250ns
- NutSleep
- NutMicroDelay
- memset
- __do_copy_data
|