| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- GAS LISTING /tmp/cc5iKKgW.s page 1
- 1 .file "sppif0.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.Sppi0SetMode,"ax",@progbits
- 9 .global Sppi0SetMode
- 10 .type Sppi0SetMode, @function
- 11 Sppi0SetMode:
- 12 /* prologue: function */
- 13 /* frame size = 0 */
- 14 /* stack size = 0 */
- 15 .L__stack_usage = 0
- 16 0000 8430 cpi r24,lo8(4)
- 17 0002 00F4 brsh .L4
- 18 0004 6430 cpi r22,lo8(4)
- 19 0006 00F4 brsh .L4
- 20 0008 90E0 ldi r25,0
- 21 000a FC01 movw r30,r24
- 22 000c E050 subi r30,lo8(-(sppi0_spcr))
- 23 000e F040 sbci r31,hi8(-(sppi0_spcr))
- 24 0010 24E0 ldi r18,lo8(4)
- 25 0012 629F mul r22,r18
- 26 0014 B001 movw r22,r0
- 27 0016 1124 clr __zero_reg__
- 28 0018 6365 ori r22,lo8(83)
- 29 001a 6083 st Z,r22
- 30 001c FC01 movw r30,r24
- 31 001e E050 subi r30,lo8(-(sppi0_spsr))
- 32 0020 F040 sbci r31,hi8(-(sppi0_spsr))
- 33 0022 1082 st Z,__zero_reg__
- 34 0024 80E0 ldi r24,0
- 35 0026 90E0 ldi r25,0
- 36 0028 0895 ret
- 37 .L4:
- 38 002a 8FEF ldi r24,lo8(-1)
- 39 002c 9FEF ldi r25,lo8(-1)
- 40 002e 0895 ret
- 41 .size Sppi0SetMode, .-Sppi0SetMode
- 42 .section .text.Sppi0SetSpeed,"ax",@progbits
- 43 .global Sppi0SetSpeed
- 44 .type Sppi0SetSpeed, @function
- 45 Sppi0SetSpeed:
- 46 0000 8F92 push r8
- 47 0002 9F92 push r9
- 48 0004 AF92 push r10
- 49 0006 BF92 push r11
- 50 0008 CF93 push r28
- 51 /* prologue: function */
- 52 /* frame size = 0 */
- 53 /* stack size = 5 */
- 54 .L__stack_usage = 5
- 55 000a C82F mov r28,r24
- 56 000c 4A01 movw r8,r20
- 57 000e 5B01 movw r10,r22
- GAS LISTING /tmp/cc5iKKgW.s page 2
- 58 0010 0E94 0000 call NutGetCpuClock
- 59 0014 2C2F mov r18,r28
- 60 0016 30E0 ldi r19,0
- 61 0018 F901 movw r30,r18
- 62 001a E050 subi r30,lo8(-(sppi0_spcr))
- 63 001c F040 sbci r31,hi8(-(sppi0_spcr))
- 64 001e 4081 ld r20,Z
- 65 0020 542F mov r21,r20
- 66 0022 5C7F andi r21,lo8(-4)
- 67 0024 A0E0 ldi r26,0
- 68 .L8:
- 69 0026 9695 lsr r25
- 70 0028 8795 ror r24
- 71 002a 7795 ror r23
- 72 002c 6795 ror r22
- 73 002e 8616 cp r8,r22
- 74 0030 9706 cpc r9,r23
- 75 0032 A806 cpc r10,r24
- 76 0034 B906 cpc r11,r25
- 77 0036 00F4 brsh .L7
- 78 0038 AF5F subi r26,lo8(-(1))
- 79 003a A730 cpi r26,lo8(7)
- 80 003c 01F4 brne .L8
- 81 .L7:
- 82 003e 4A2F mov r20,r26
- 83 0040 4695 lsr r20
- 84 0042 842F mov r24,r20
- 85 0044 852B or r24,r21
- 86 0046 8083 st Z,r24
- 87 0048 A630 cpi r26,lo8(6)
- 88 004a 00F4 brsh .L6
- 89 004c 9A2F mov r25,r26
- 90 004e 9095 com r25
- 91 0050 9170 andi r25,lo8(1)
- 92 0052 F901 movw r30,r18
- 93 0054 E050 subi r30,lo8(-(sppi0_spsr))
- 94 0056 F040 sbci r31,hi8(-(sppi0_spsr))
- 95 0058 9083 st Z,r25
- 96 .L6:
- 97 /* epilogue start */
- 98 005a CF91 pop r28
- 99 005c BF90 pop r11
- 100 005e AF90 pop r10
- 101 0060 9F90 pop r9
- 102 0062 8F90 pop r8
- 103 0064 0895 ret
- 104 .size Sppi0SetSpeed, .-Sppi0SetSpeed
- 105 .section .text.Sppi0Enable,"ax",@progbits
- 106 .global Sppi0Enable
- 107 .type Sppi0Enable, @function
- 108 Sppi0Enable:
- 109 /* prologue: function */
- 110 /* frame size = 0 */
- 111 /* stack size = 0 */
- 112 .L__stack_usage = 0
- 113 0000 90E0 ldi r25,0
- 114 0002 FC01 movw r30,r24
- GAS LISTING /tmp/cc5iKKgW.s page 3
- 115 0004 E050 subi r30,lo8(-(sppi0_spcr))
- 116 0006 F040 sbci r31,hi8(-(sppi0_spcr))
- 117 0008 2081 ld r18,Z
- 118 000a 23FF sbrs r18,3
- 119 000c 00C0 rjmp .L12
- 120 000e 2998 cbi 0x5,1
- 121 0010 00C0 rjmp .L13
- 122 .L12:
- 123 0012 299A sbi 0x5,1
- 124 .L13:
- 125 0014 219A sbi 0x4,1
- 126 0016 2A98 cbi 0x5,2
- 127 0018 229A sbi 0x4,2
- 128 001a 2B9A sbi 0x5,3
- 129 001c 209B sbis 0x4,0
- 130 001e 289A sbi 0x5,0
- 131 .L14:
- 132 0020 2081 ld r18,Z
- 133 0022 2CBD out 0x2c,r18
- 134 0024 FC01 movw r30,r24
- 135 0026 E050 subi r30,lo8(-(sppi0_spsr))
- 136 0028 F040 sbci r31,hi8(-(sppi0_spsr))
- 137 002a 8081 ld r24,Z
- 138 002c 8DBD out 0x2d,r24
- 139 002e 8DB5 in r24,0x2d
- 140 0030 8EB5 in r24,0x2e
- 141 0032 0895 ret
- 142 .size Sppi0Enable, .-Sppi0Enable
- 143 .section .text.Sppi0ChipReset,"ax",@progbits
- 144 .global Sppi0ChipReset
- 145 .type Sppi0ChipReset, @function
- 146 Sppi0ChipReset:
- 147 /* prologue: function */
- 148 /* frame size = 0 */
- 149 /* stack size = 0 */
- 150 .L__stack_usage = 0
- 151 0000 0895 ret
- 152 .size Sppi0ChipReset, .-Sppi0ChipReset
- 153 .section .text.Sppi0ChipSelect,"ax",@progbits
- 154 .global Sppi0ChipSelect
- 155 .type Sppi0ChipSelect, @function
- 156 Sppi0ChipSelect:
- 157 /* prologue: function */
- 158 /* frame size = 0 */
- 159 /* stack size = 0 */
- 160 .L__stack_usage = 0
- 161 0000 0895 ret
- 162 .size Sppi0ChipSelect, .-Sppi0ChipSelect
- 163 .section .text.Sppi0SelectDevice,"ax",@progbits
- 164 .global Sppi0SelectDevice
- 165 .type Sppi0SelectDevice, @function
- 166 Sppi0SelectDevice:
- 167 /* prologue: function */
- 168 /* frame size = 0 */
- 169 /* stack size = 0 */
- 170 .L__stack_usage = 0
- 171 0000 0C94 0000 jmp Sppi0Enable
- GAS LISTING /tmp/cc5iKKgW.s page 4
- 172 .size Sppi0SelectDevice, .-Sppi0SelectDevice
- 173 .section .text.Sppi0DeselectDevice,"ax",@progbits
- 174 .global Sppi0DeselectDevice
- 175 .type Sppi0DeselectDevice, @function
- 176 Sppi0DeselectDevice:
- 177 /* prologue: function */
- 178 /* frame size = 0 */
- 179 /* stack size = 0 */
- 180 .L__stack_usage = 0
- 181 0000 0895 ret
- 182 .size Sppi0DeselectDevice, .-Sppi0DeselectDevice
- 183 .section .text.Sppi0NegSelectDevice,"ax",@progbits
- 184 .global Sppi0NegSelectDevice
- 185 .type Sppi0NegSelectDevice, @function
- 186 Sppi0NegSelectDevice:
- 187 /* prologue: function */
- 188 /* frame size = 0 */
- 189 /* stack size = 0 */
- 190 .L__stack_usage = 0
- 191 0000 0C94 0000 jmp Sppi0Enable
- 192 .size Sppi0NegSelectDevice, .-Sppi0NegSelectDevice
- 193 .section .text.Sppi0NegDeselectDevice,"ax",@progbits
- 194 .global Sppi0NegDeselectDevice
- 195 .type Sppi0NegDeselectDevice, @function
- 196 Sppi0NegDeselectDevice:
- 197 /* prologue: function */
- 198 /* frame size = 0 */
- 199 /* stack size = 0 */
- 200 .L__stack_usage = 0
- 201 0000 0895 ret
- 202 .size Sppi0NegDeselectDevice, .-Sppi0NegDeselectDevice
- 203 .section .text.Sppi0Byte,"ax",@progbits
- 204 .global Sppi0Byte
- 205 .type Sppi0Byte, @function
- 206 Sppi0Byte:
- 207 /* prologue: function */
- 208 /* frame size = 0 */
- 209 /* stack size = 0 */
- 210 .L__stack_usage = 0
- 211 0000 8EBD out 0x2e,r24
- 212 .L22:
- 213 0002 0DB4 in __tmp_reg__,0x2d
- 214 0004 07FE sbrs __tmp_reg__,7
- 215 0006 00C0 rjmp .L22
- 216 0008 8EB5 in r24,0x2e
- 217 000a 0895 ret
- 218 .size Sppi0Byte, .-Sppi0Byte
- 219 .section .text.Sppi0Transact,"ax",@progbits
- 220 .global Sppi0Transact
- 221 .type Sppi0Transact, @function
- 222 Sppi0Transact:
- 223 0000 EF92 push r14
- 224 0002 FF92 push r15
- 225 0004 0F93 push r16
- 226 0006 1F93 push r17
- 227 0008 CF93 push r28
- 228 000a DF93 push r29
- GAS LISTING /tmp/cc5iKKgW.s page 5
- 229 /* prologue: function */
- 230 /* frame size = 0 */
- 231 /* stack size = 6 */
- 232 .L__stack_usage = 6
- 233 000c EC01 movw r28,r24
- 234 000e 6115 cp r22,__zero_reg__
- 235 0010 7105 cpc r23,__zero_reg__
- 236 0012 01F4 brne .L25
- 237 0014 8C01 movw r16,r24
- 238 0016 040F add r16,r20
- 239 0018 151F adc r17,r21
- 240 001a 00C0 rjmp .L26
- 241 .L25:
- 242 001c 8B01 movw r16,r22
- 243 001e 7B01 movw r14,r22
- 244 0020 E40E add r14,r20
- 245 0022 F51E adc r15,r21
- 246 .L27:
- 247 0024 0E15 cp r16,r14
- 248 0026 1F05 cpc r17,r15
- 249 0028 01F0 breq .L24
- 250 002a 8991 ld r24,Y+
- 251 002c 0E94 0000 call Sppi0Byte
- 252 0030 F801 movw r30,r16
- 253 0032 8193 st Z+,r24
- 254 0034 8F01 movw r16,r30
- 255 0036 00C0 rjmp .L27
- 256 .L26:
- 257 0038 C017 cp r28,r16
- 258 003a D107 cpc r29,r17
- 259 003c 01F0 breq .L24
- 260 003e 8991 ld r24,Y+
- 261 0040 0E94 0000 call Sppi0Byte
- 262 0044 00C0 rjmp .L26
- 263 .L24:
- 264 /* epilogue start */
- 265 0046 DF91 pop r29
- 266 0048 CF91 pop r28
- 267 004a 1F91 pop r17
- 268 004c 0F91 pop r16
- 269 004e FF90 pop r15
- 270 0050 EF90 pop r14
- 271 0052 0895 ret
- 272 .size Sppi0Transact, .-Sppi0Transact
- 273 .local sppi0_spsr
- 274 .comm sppi0_spsr,4,1
- 275 .local sppi0_spcr
- 276 .comm sppi0_spcr,4,1
- 277 .ident "GCC: (GNU) 5.3.0"
- 278 .global __do_clear_bss
- GAS LISTING /tmp/cc5iKKgW.s page 6
- DEFINED SYMBOLS
- *ABS*:0000000000000000 sppif0.c
- /tmp/cc5iKKgW.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cc5iKKgW.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cc5iKKgW.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cc5iKKgW.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cc5iKKgW.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cc5iKKgW.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cc5iKKgW.s:11 .text.Sppi0SetMode:0000000000000000 Sppi0SetMode
- /tmp/cc5iKKgW.s:274 .bss:0000000000000004 sppi0_spcr
- .bss:0000000000000000 sppi0_spsr
- /tmp/cc5iKKgW.s:45 .text.Sppi0SetSpeed:0000000000000000 Sppi0SetSpeed
- /tmp/cc5iKKgW.s:108 .text.Sppi0Enable:0000000000000000 Sppi0Enable
- /tmp/cc5iKKgW.s:146 .text.Sppi0ChipReset:0000000000000000 Sppi0ChipReset
- /tmp/cc5iKKgW.s:156 .text.Sppi0ChipSelect:0000000000000000 Sppi0ChipSelect
- /tmp/cc5iKKgW.s:166 .text.Sppi0SelectDevice:0000000000000000 Sppi0SelectDevice
- /tmp/cc5iKKgW.s:176 .text.Sppi0DeselectDevice:0000000000000000 Sppi0DeselectDevice
- /tmp/cc5iKKgW.s:186 .text.Sppi0NegSelectDevice:0000000000000000 Sppi0NegSelectDevice
- /tmp/cc5iKKgW.s:196 .text.Sppi0NegDeselectDevice:0000000000000000 Sppi0NegDeselectDevice
- /tmp/cc5iKKgW.s:206 .text.Sppi0Byte:0000000000000000 Sppi0Byte
- /tmp/cc5iKKgW.s:222 .text.Sppi0Transact:0000000000000000 Sppi0Transact
- UNDEFINED SYMBOLS
- NutGetCpuClock
- __do_clear_bss
|