| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845 |
- GAS LISTING /tmp/cc2ll6PK.s page 1
- 1 .file "blockdev.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.NutBlockDeviceInit,"ax",@progbits
- 9 .global NutBlockDeviceInit
- 10 .type NutBlockDeviceInit, @function
- 11 NutBlockDeviceInit:
- 12 /* prologue: function */
- 13 /* frame size = 0 */
- 14 /* stack size = 0 */
- 15 .L__stack_usage = 0
- 16 0000 80E0 ldi r24,0
- 17 0002 90E0 ldi r25,0
- 18 0004 0895 ret
- 19 .size NutBlockDeviceInit, .-NutBlockDeviceInit
- 20 .section .text.NutBlockDeviceOpen,"ax",@progbits
- 21 .global NutBlockDeviceOpen
- 22 .type NutBlockDeviceOpen, @function
- 23 NutBlockDeviceOpen:
- 24 0000 6F92 push r6
- 25 0002 7F92 push r7
- 26 0004 8F92 push r8
- 27 0006 9F92 push r9
- 28 0008 AF92 push r10
- 29 000a BF92 push r11
- 30 000c CF92 push r12
- 31 000e DF92 push r13
- 32 0010 EF92 push r14
- 33 0012 FF92 push r15
- 34 0014 0F93 push r16
- 35 0016 1F93 push r17
- 36 0018 CF93 push r28
- 37 001a DF93 push r29
- 38 001c 00D0 rcall .
- 39 001e CDB7 in r28,__SP_L__
- 40 0020 DEB7 in r29,__SP_H__
- 41 /* prologue: function */
- 42 /* frame size = 3 */
- 43 /* stack size = 17 */
- 44 .L__stack_usage = 17
- 45 0022 5C01 movw r10,r24
- 46 0024 FB01 movw r30,r22
- 47 0026 8081 ld r24,Z
- 48 0028 8823 tst r24
- 49 002a 01F0 breq .L3
- 50 002c CB01 movw r24,r22
- 51 002e 0196 adiw r24,1
- 52 .L4:
- 53 0030 FC01 movw r30,r24
- 54 0032 2081 ld r18,Z
- 55 0034 0196 adiw r24,1
- 56 0036 2223 tst r18
- 57 0038 01F0 breq .L3
- GAS LISTING /tmp/cc2ll6PK.s page 2
- 58 003a 2F32 cpi r18,lo8(47)
- 59 003c 01F4 brne .L4
- 60 003e FC01 movw r30,r24
- 61 .L3:
- 62 0040 8081 ld r24,Z
- 63 0042 8823 tst r24
- 64 0044 01F0 breq .L6
- 65 0046 CF01 movw r24,r30
- 66 0048 0E94 0000 call NutDeviceLookup
- 67 004c 00C0 rjmp .L27
- 68 .L6:
- 69 004e 60E1 ldi r22,lo8(16)
- 70 0050 80E0 ldi r24,0
- 71 0052 90E0 ldi r25,0
- 72 0054 0E94 0000 call NutDeviceLookupType
- 73 .L27:
- 74 0058 6C01 movw r12,r24
- 75 005a 892B or r24,r25
- 76 005c 01F4 brne .L8
- 77 005e 83E1 ldi r24,lo8(19)
- 78 0060 90E0 ldi r25,0
- 79 0062 9093 0000 sts errno+1,r25
- 80 0066 8093 0000 sts errno,r24
- 81 006a 00C0 rjmp .L14
- 82 .L8:
- 83 006c 82E1 ldi r24,lo8(18)
- 84 006e 90E0 ldi r25,0
- 85 0070 0E94 0000 call malloc
- 86 0074 8C01 movw r16,r24
- 87 0076 0097 sbiw r24,0
- 88 0078 01F4 brne .+2
- 89 007a 00C0 rjmp .L14
- 90 007c D501 movw r26,r10
- 91 007e 5196 adiw r26,17
- 92 0080 ED91 ld r30,X+
- 93 0082 FC91 ld r31,X
- 94 0084 5297 sbiw r26,17+1
- 95 0086 DC01 movw r26,r24
- 96 0088 1196 adiw r26,1
- 97 008a DC92 st X,r13
- 98 008c CE92 st -X,r12
- 99 008e 4285 ldd r20,Z+10
- 100 0090 5385 ldd r21,Z+11
- 101 0092 6485 ldd r22,Z+12
- 102 0094 7585 ldd r23,Z+13
- 103 0096 1896 adiw r26,8
- 104 0098 4D93 st X+,r20
- 105 009a 5D93 st X+,r21
- 106 009c 6D93 st X+,r22
- 107 009e 7C93 st X,r23
- 108 00a0 1B97 sbiw r26,8+3
- 109 00a2 8281 ldd r24,Z+2
- 110 00a4 9381 ldd r25,Z+3
- 111 00a6 A481 ldd r26,Z+4
- 112 00a8 B581 ldd r27,Z+5
- 113 00aa 841B sub r24,r20
- 114 00ac 950B sbc r25,r21
- GAS LISTING /tmp/cc2ll6PK.s page 3
- 115 00ae A60B sbc r26,r22
- 116 00b0 B70B sbc r27,r23
- 117 00b2 4685 ldd r20,Z+14
- 118 00b4 5785 ldd r21,Z+15
- 119 00b6 6089 ldd r22,Z+16
- 120 00b8 7189 ldd r23,Z+17
- 121 00ba 3C01 movw r6,r24
- 122 00bc 4D01 movw r8,r26
- 123 00be 641A sub r6,r20
- 124 00c0 750A sbc r7,r21
- 125 00c2 860A sbc r8,r22
- 126 00c4 970A sbc r9,r23
- 127 00c6 D801 movw r26,r16
- 128 00c8 1296 adiw r26,2
- 129 00ca 6D92 st X+,r6
- 130 00cc 7D92 st X+,r7
- 131 00ce 8D92 st X+,r8
- 132 00d0 9C92 st X,r9
- 133 00d2 1597 sbiw r26,2+3
- 134 00d4 1C96 adiw r26,12
- 135 00d6 1D92 st X+,__zero_reg__
- 136 00d8 1D92 st X+,__zero_reg__
- 137 00da 1D92 st X+,__zero_reg__
- 138 00dc 1C92 st X,__zero_reg__
- 139 00de 1F97 sbiw r26,12+3
- 140 00e0 8681 ldd r24,Z+6
- 141 00e2 9781 ldd r25,Z+7
- 142 00e4 A085 ldd r26,Z+8
- 143 00e6 B185 ldd r27,Z+9
- 144 00e8 F801 movw r30,r16
- 145 00ea 9783 std Z+7,r25
- 146 00ec 8683 std Z+6,r24
- 147 00ee 0E94 0000 call malloc
- 148 00f2 D801 movw r26,r16
- 149 00f4 5196 adiw r26,16+1
- 150 00f6 9C93 st X,r25
- 151 00f8 8E93 st -X,r24
- 152 00fa 5097 sbiw r26,16
- 153 00fc 892B or r24,r25
- 154 00fe 01F0 breq .L11
- 155 0100 84E0 ldi r24,lo8(4)
- 156 0102 90E0 ldi r25,0
- 157 0104 0E94 0000 call malloc
- 158 0108 7C01 movw r14,r24
- 159 010a 0097 sbiw r24,0
- 160 010c 01F0 breq .L11
- 161 010e FC01 movw r30,r24
- 162 0110 B182 std Z+1,r11
- 163 0112 A082 st Z,r10
- 164 0114 1383 std Z+3,r17
- 165 0116 0283 std Z+2,r16
- 166 0118 9A83 std Y+2,r25
- 167 011a 8983 std Y+1,r24
- 168 011c 1B82 std Y+3,__zero_reg__
- 169 011e D601 movw r26,r12
- 170 0120 5596 adiw r26,21
- 171 0122 ED91 ld r30,X+
- GAS LISTING /tmp/cc2ll6PK.s page 4
- 172 0124 FC91 ld r31,X
- 173 0126 5697 sbiw r26,21+1
- 174 0128 AE01 movw r20,r28
- 175 012a 4F5F subi r20,-1
- 176 012c 5F4F sbci r21,-1
- 177 012e 60E3 ldi r22,lo8(48)
- 178 0130 71E1 ldi r23,lo8(17)
- 179 0132 C601 movw r24,r12
- 180 0134 1995 eicall
- 181 0136 892B or r24,r25
- 182 0138 01F4 brne .L13
- 183 013a C701 movw r24,r14
- 184 013c 00C0 rjmp .L26
- 185 .L13:
- 186 013e C701 movw r24,r14
- 187 0140 0E94 0000 call free
- 188 .L11:
- 189 0144 C801 movw r24,r16
- 190 0146 0E94 0000 call free
- 191 .L14:
- 192 014a 8FEF ldi r24,lo8(-1)
- 193 014c 9FEF ldi r25,lo8(-1)
- 194 .L26:
- 195 /* epilogue start */
- 196 014e 0F90 pop __tmp_reg__
- 197 0150 0F90 pop __tmp_reg__
- 198 0152 0F90 pop __tmp_reg__
- 199 0154 DF91 pop r29
- 200 0156 CF91 pop r28
- 201 0158 1F91 pop r17
- 202 015a 0F91 pop r16
- 203 015c FF90 pop r15
- 204 015e EF90 pop r14
- 205 0160 DF90 pop r13
- 206 0162 CF90 pop r12
- 207 0164 BF90 pop r11
- 208 0166 AF90 pop r10
- 209 0168 9F90 pop r9
- 210 016a 8F90 pop r8
- 211 016c 7F90 pop r7
- 212 016e 6F90 pop r6
- 213 0170 0895 ret
- 214 .size NutBlockDeviceOpen, .-NutBlockDeviceOpen
- 215 .section .text.NutBlockDeviceClose,"ax",@progbits
- 216 .global NutBlockDeviceClose
- 217 .type NutBlockDeviceClose, @function
- 218 NutBlockDeviceClose:
- 219 0000 EF92 push r14
- 220 0002 FF92 push r15
- 221 0004 0F93 push r16
- 222 0006 1F93 push r17
- 223 0008 CF93 push r28
- 224 000a DF93 push r29
- 225 /* prologue: function */
- 226 /* frame size = 0 */
- 227 /* stack size = 6 */
- 228 .L__stack_usage = 6
- GAS LISTING /tmp/cc2ll6PK.s page 5
- 229 000c 7C01 movw r14,r24
- 230 000e DC01 movw r26,r24
- 231 0010 1296 adiw r26,2
- 232 0012 CD91 ld r28,X+
- 233 0014 DC91 ld r29,X
- 234 0016 1397 sbiw r26,2+1
- 235 0018 2097 sbiw r28,0
- 236 001a 01F0 breq .L31
- 237 001c 8881 ld r24,Y
- 238 001e 9981 ldd r25,Y+1
- 239 0020 DC01 movw r26,r24
- 240 0022 5596 adiw r26,21
- 241 0024 ED91 ld r30,X+
- 242 0026 FC91 ld r31,X
- 243 0028 5697 sbiw r26,21+1
- 244 002a 40E0 ldi r20,0
- 245 002c 50E0 ldi r21,0
- 246 002e 61E3 ldi r22,lo8(49)
- 247 0030 71E1 ldi r23,lo8(17)
- 248 0032 1995 eicall
- 249 0034 8C01 movw r16,r24
- 250 0036 CE01 movw r24,r28
- 251 0038 0E94 0000 call free
- 252 003c 00C0 rjmp .L30
- 253 .L31:
- 254 003e 0FEF ldi r16,lo8(-1)
- 255 0040 1FEF ldi r17,lo8(-1)
- 256 .L30:
- 257 0042 C701 movw r24,r14
- 258 0044 0E94 0000 call free
- 259 0048 C801 movw r24,r16
- 260 /* epilogue start */
- 261 004a DF91 pop r29
- 262 004c CF91 pop r28
- 263 004e 1F91 pop r17
- 264 0050 0F91 pop r16
- 265 0052 FF90 pop r15
- 266 0054 EF90 pop r14
- 267 0056 0895 ret
- 268 .size NutBlockDeviceClose, .-NutBlockDeviceClose
- 269 .section .text.NutBlockDeviceIOCtl,"ax",@progbits
- 270 .global NutBlockDeviceIOCtl
- 271 .type NutBlockDeviceIOCtl, @function
- 272 NutBlockDeviceIOCtl:
- 273 0000 CF93 push r28
- 274 0002 DF93 push r29
- 275 /* prologue: function */
- 276 /* frame size = 0 */
- 277 /* stack size = 2 */
- 278 .L__stack_usage = 2
- 279 0004 DA01 movw r26,r20
- 280 0006 6230 cpi r22,2
- 281 0008 22E1 ldi r18,18
- 282 000a 7207 cpc r23,r18
- 283 000c 01F0 breq .L34
- 284 000e 6330 cpi r22,3
- 285 0010 C2E1 ldi r28,18
- GAS LISTING /tmp/cc2ll6PK.s page 6
- 286 0012 7C07 cpc r23,r28
- 287 0014 01F4 brne .L37
- 288 0016 ED91 ld r30,X+
- 289 0018 FC91 ld r31,X
- 290 001a 1197 sbiw r26,1
- 291 001c 0280 ldd __tmp_reg__,Z+2
- 292 001e F381 ldd r31,Z+3
- 293 0020 E02D mov r30,__tmp_reg__
- 294 0022 1296 adiw r26,2
- 295 0024 8D91 ld r24,X+
- 296 0026 9D91 ld r25,X+
- 297 0028 0D90 ld __tmp_reg__,X+
- 298 002a BC91 ld r27,X
- 299 002c A02D mov r26,__tmp_reg__
- 300 002e 8487 std Z+12,r24
- 301 0030 9587 std Z+13,r25
- 302 0032 A687 std Z+14,r26
- 303 0034 B787 std Z+15,r27
- 304 0036 00C0 rjmp .L36
- 305 .L34:
- 306 0038 ED91 ld r30,X+
- 307 003a FC91 ld r31,X
- 308 003c 1197 sbiw r26,1
- 309 003e 0280 ldd __tmp_reg__,Z+2
- 310 0040 F381 ldd r31,Z+3
- 311 0042 E02D mov r30,__tmp_reg__
- 312 0044 4281 ldd r20,Z+2
- 313 0046 5381 ldd r21,Z+3
- 314 0048 6481 ldd r22,Z+4
- 315 004a 7581 ldd r23,Z+5
- 316 004c 1296 adiw r26,2
- 317 004e 4D93 st X+,r20
- 318 0050 5D93 st X+,r21
- 319 0052 6D93 st X+,r22
- 320 0054 7C93 st X,r23
- 321 0056 1597 sbiw r26,2+3
- 322 0058 4681 ldd r20,Z+6
- 323 005a 5781 ldd r21,Z+7
- 324 005c 052E mov __tmp_reg__,r21
- 325 005e 000C lsl r0
- 326 0060 660B sbc r22,r22
- 327 0062 770B sbc r23,r23
- 328 0064 1696 adiw r26,6
- 329 0066 4D93 st X+,r20
- 330 0068 5D93 st X+,r21
- 331 006a 6D93 st X+,r22
- 332 006c 7C93 st X,r23
- 333 006e 1997 sbiw r26,6+3
- 334 0070 8089 ldd r24,Z+16
- 335 0072 9189 ldd r25,Z+17
- 336 0074 1B96 adiw r26,10+1
- 337 0076 9C93 st X,r25
- 338 0078 8E93 st -X,r24
- 339 007a 1A97 sbiw r26,10
- 340 007c 00C0 rjmp .L36
- 341 .L37:
- 342 007e EC01 movw r28,r24
- GAS LISTING /tmp/cc2ll6PK.s page 7
- 343 0080 E989 ldd r30,Y+17
- 344 0082 FA89 ldd r31,Y+18
- 345 0084 008C ldd __tmp_reg__,Z+24
- 346 0086 F18D ldd r31,Z+25
- 347 0088 E02D mov r30,__tmp_reg__
- 348 /* epilogue start */
- 349 008a DF91 pop r29
- 350 008c CF91 pop r28
- 351 008e 1994 eijmp
- 352 .L36:
- 353 0090 80E0 ldi r24,0
- 354 0092 90E0 ldi r25,0
- 355 /* epilogue start */
- 356 0094 DF91 pop r29
- 357 0096 CF91 pop r28
- 358 0098 0895 ret
- 359 .size NutBlockDeviceIOCtl, .-NutBlockDeviceIOCtl
- 360 .section .text.NutBlockDeviceRead,"ax",@progbits
- 361 .global NutBlockDeviceRead
- 362 .type NutBlockDeviceRead, @function
- 363 NutBlockDeviceRead:
- 364 0000 6F92 push r6
- 365 0002 7F92 push r7
- 366 0004 8F92 push r8
- 367 0006 9F92 push r9
- 368 0008 AF92 push r10
- 369 000a BF92 push r11
- 370 000c CF92 push r12
- 371 000e DF92 push r13
- 372 0010 EF92 push r14
- 373 0012 FF92 push r15
- 374 0014 0F93 push r16
- 375 0016 1F93 push r17
- 376 0018 CF93 push r28
- 377 001a DF93 push r29
- 378 /* prologue: function */
- 379 /* frame size = 0 */
- 380 /* stack size = 14 */
- 381 .L__stack_usage = 14
- 382 001c 6C01 movw r12,r24
- 383 001e 5B01 movw r10,r22
- 384 0020 4A01 movw r8,r20
- 385 0022 452B or r20,r21
- 386 0024 01F4 brne .+2
- 387 0026 00C0 rjmp .L44
- 388 0028 DC01 movw r26,r24
- 389 002a ED91 ld r30,X+
- 390 002c FC91 ld r31,X
- 391 002e 1197 sbiw r26,1
- 392 0030 6188 ldd r6,Z+17
- 393 0032 7288 ldd r7,Z+18
- 394 0034 1296 adiw r26,2
- 395 0036 CD91 ld r28,X+
- 396 0038 DC91 ld r29,X
- 397 003a 1397 sbiw r26,2+1
- 398 003c E12C mov r14,__zero_reg__
- 399 003e F12C mov r15,__zero_reg__
- GAS LISTING /tmp/cc2ll6PK.s page 8
- 400 .L40:
- 401 0040 E814 cp r14,r8
- 402 0042 F904 cpc r15,r9
- 403 0044 04F4 brge .L42
- 404 0046 4C85 ldd r20,Y+12
- 405 0048 5D85 ldd r21,Y+13
- 406 004a 6E85 ldd r22,Y+14
- 407 004c 7F85 ldd r23,Y+15
- 408 004e 8A81 ldd r24,Y+2
- 409 0050 9B81 ldd r25,Y+3
- 410 0052 AC81 ldd r26,Y+4
- 411 0054 BD81 ldd r27,Y+5
- 412 0056 4817 cp r20,r24
- 413 0058 5907 cpc r21,r25
- 414 005a 6A07 cpc r22,r26
- 415 005c 7B07 cpc r23,r27
- 416 005e 00F0 brlo .L41
- 417 .L42:
- 418 0060 E114 cp r14,__zero_reg__
- 419 0062 F104 cpc r15,__zero_reg__
- 420 0064 01F0 breq .L45
- 421 0066 C701 movw r24,r14
- 422 0068 00C0 rjmp .L39
- 423 .L41:
- 424 006a 0E81 ldd r16,Y+6
- 425 006c 1F81 ldd r17,Y+7
- 426 006e 8885 ldd r24,Y+8
- 427 0070 9985 ldd r25,Y+9
- 428 0072 AA85 ldd r26,Y+10
- 429 0074 BB85 ldd r27,Y+11
- 430 0076 480F add r20,r24
- 431 0078 591F adc r21,r25
- 432 007a 6A1F adc r22,r26
- 433 007c 7B1F adc r23,r27
- 434 007e D301 movw r26,r6
- 435 0080 5296 adiw r26,18
- 436 0082 ED91 ld r30,X+
- 437 0084 FC91 ld r31,X
- 438 0086 5397 sbiw r26,18+1
- 439 0088 9501 movw r18,r10
- 440 008a D601 movw r26,r12
- 441 008c 8D91 ld r24,X+
- 442 008e 9C91 ld r25,X
- 443 0090 1995 eicall
- 444 0092 2E81 ldd r18,Y+6
- 445 0094 3F81 ldd r19,Y+7
- 446 0096 8217 cp r24,r18
- 447 0098 9307 cpc r25,r19
- 448 009a 01F4 brne .L42
- 449 009c 4C85 ldd r20,Y+12
- 450 009e 5D85 ldd r21,Y+13
- 451 00a0 6E85 ldd r22,Y+14
- 452 00a2 7F85 ldd r23,Y+15
- 453 00a4 4F5F subi r20,-1
- 454 00a6 5F4F sbci r21,-1
- 455 00a8 6F4F sbci r22,-1
- 456 00aa 7F4F sbci r23,-1
- GAS LISTING /tmp/cc2ll6PK.s page 9
- 457 00ac 4C87 std Y+12,r20
- 458 00ae 5D87 std Y+13,r21
- 459 00b0 6E87 std Y+14,r22
- 460 00b2 7F87 std Y+15,r23
- 461 00b4 A80E add r10,r24
- 462 00b6 B91E adc r11,r25
- 463 00b8 BFEF ldi r27,-1
- 464 00ba EB1A sub r14,r27
- 465 00bc FB0A sbc r15,r27
- 466 00be 00C0 rjmp .L40
- 467 .L44:
- 468 00c0 80E0 ldi r24,0
- 469 00c2 90E0 ldi r25,0
- 470 00c4 00C0 rjmp .L39
- 471 .L45:
- 472 00c6 8FEF ldi r24,lo8(-1)
- 473 00c8 9FEF ldi r25,lo8(-1)
- 474 .L39:
- 475 /* epilogue start */
- 476 00ca DF91 pop r29
- 477 00cc CF91 pop r28
- 478 00ce 1F91 pop r17
- 479 00d0 0F91 pop r16
- 480 00d2 FF90 pop r15
- 481 00d4 EF90 pop r14
- 482 00d6 DF90 pop r13
- 483 00d8 CF90 pop r12
- 484 00da BF90 pop r11
- 485 00dc AF90 pop r10
- 486 00de 9F90 pop r9
- 487 00e0 8F90 pop r8
- 488 00e2 7F90 pop r7
- 489 00e4 6F90 pop r6
- 490 00e6 0895 ret
- 491 .size NutBlockDeviceRead, .-NutBlockDeviceRead
- 492 .section .text.NutBlockDeviceWrite,"ax",@progbits
- 493 .global NutBlockDeviceWrite
- 494 .type NutBlockDeviceWrite, @function
- 495 NutBlockDeviceWrite:
- 496 0000 6F92 push r6
- 497 0002 7F92 push r7
- 498 0004 8F92 push r8
- 499 0006 9F92 push r9
- 500 0008 AF92 push r10
- 501 000a BF92 push r11
- 502 000c CF92 push r12
- 503 000e DF92 push r13
- 504 0010 EF92 push r14
- 505 0012 FF92 push r15
- 506 0014 0F93 push r16
- 507 0016 1F93 push r17
- 508 0018 CF93 push r28
- 509 001a DF93 push r29
- 510 /* prologue: function */
- 511 /* frame size = 0 */
- 512 /* stack size = 14 */
- 513 .L__stack_usage = 14
- GAS LISTING /tmp/cc2ll6PK.s page 10
- 514 001c 6C01 movw r12,r24
- 515 001e 5B01 movw r10,r22
- 516 0020 4A01 movw r8,r20
- 517 0022 452B or r20,r21
- 518 0024 01F4 brne .+2
- 519 0026 00C0 rjmp .L52
- 520 0028 DC01 movw r26,r24
- 521 002a 1296 adiw r26,2
- 522 002c CD91 ld r28,X+
- 523 002e DC91 ld r29,X
- 524 0030 1397 sbiw r26,2+1
- 525 0032 ED91 ld r30,X+
- 526 0034 FC91 ld r31,X
- 527 0036 6188 ldd r6,Z+17
- 528 0038 7288 ldd r7,Z+18
- 529 003a E12C mov r14,__zero_reg__
- 530 003c F12C mov r15,__zero_reg__
- 531 .L48:
- 532 003e E814 cp r14,r8
- 533 0040 F904 cpc r15,r9
- 534 0042 04F4 brge .L50
- 535 0044 4C85 ldd r20,Y+12
- 536 0046 5D85 ldd r21,Y+13
- 537 0048 6E85 ldd r22,Y+14
- 538 004a 7F85 ldd r23,Y+15
- 539 004c 8A81 ldd r24,Y+2
- 540 004e 9B81 ldd r25,Y+3
- 541 0050 AC81 ldd r26,Y+4
- 542 0052 BD81 ldd r27,Y+5
- 543 0054 4817 cp r20,r24
- 544 0056 5907 cpc r21,r25
- 545 0058 6A07 cpc r22,r26
- 546 005a 7B07 cpc r23,r27
- 547 005c 00F0 brlo .L49
- 548 .L50:
- 549 005e E114 cp r14,__zero_reg__
- 550 0060 F104 cpc r15,__zero_reg__
- 551 0062 01F0 breq .L53
- 552 0064 C701 movw r24,r14
- 553 0066 00C0 rjmp .L47
- 554 .L49:
- 555 0068 0E81 ldd r16,Y+6
- 556 006a 1F81 ldd r17,Y+7
- 557 006c 8885 ldd r24,Y+8
- 558 006e 9985 ldd r25,Y+9
- 559 0070 AA85 ldd r26,Y+10
- 560 0072 BB85 ldd r27,Y+11
- 561 0074 480F add r20,r24
- 562 0076 591F adc r21,r25
- 563 0078 6A1F adc r22,r26
- 564 007a 7B1F adc r23,r27
- 565 007c D301 movw r26,r6
- 566 007e 5496 adiw r26,20
- 567 0080 ED91 ld r30,X+
- 568 0082 FC91 ld r31,X
- 569 0084 5597 sbiw r26,20+1
- 570 0086 9501 movw r18,r10
- GAS LISTING /tmp/cc2ll6PK.s page 11
- 571 0088 D601 movw r26,r12
- 572 008a 8D91 ld r24,X+
- 573 008c 9C91 ld r25,X
- 574 008e 1995 eicall
- 575 0090 2E81 ldd r18,Y+6
- 576 0092 3F81 ldd r19,Y+7
- 577 0094 8217 cp r24,r18
- 578 0096 9307 cpc r25,r19
- 579 0098 01F4 brne .L50
- 580 009a 4C85 ldd r20,Y+12
- 581 009c 5D85 ldd r21,Y+13
- 582 009e 6E85 ldd r22,Y+14
- 583 00a0 7F85 ldd r23,Y+15
- 584 00a2 4F5F subi r20,-1
- 585 00a4 5F4F sbci r21,-1
- 586 00a6 6F4F sbci r22,-1
- 587 00a8 7F4F sbci r23,-1
- 588 00aa 4C87 std Y+12,r20
- 589 00ac 5D87 std Y+13,r21
- 590 00ae 6E87 std Y+14,r22
- 591 00b0 7F87 std Y+15,r23
- 592 00b2 A80E add r10,r24
- 593 00b4 B91E adc r11,r25
- 594 00b6 BFEF ldi r27,-1
- 595 00b8 EB1A sub r14,r27
- 596 00ba FB0A sbc r15,r27
- 597 00bc 00C0 rjmp .L48
- 598 .L52:
- 599 00be 80E0 ldi r24,0
- 600 00c0 90E0 ldi r25,0
- 601 00c2 00C0 rjmp .L47
- 602 .L53:
- 603 00c4 8FEF ldi r24,lo8(-1)
- 604 00c6 9FEF ldi r25,lo8(-1)
- 605 .L47:
- 606 /* epilogue start */
- 607 00c8 DF91 pop r29
- 608 00ca CF91 pop r28
- 609 00cc 1F91 pop r17
- 610 00ce 0F91 pop r16
- 611 00d0 FF90 pop r15
- 612 00d2 EF90 pop r14
- 613 00d4 DF90 pop r13
- 614 00d6 CF90 pop r12
- 615 00d8 BF90 pop r11
- 616 00da AF90 pop r10
- 617 00dc 9F90 pop r9
- 618 00de 8F90 pop r8
- 619 00e0 7F90 pop r7
- 620 00e2 6F90 pop r6
- 621 00e4 0895 ret
- 622 .size NutBlockDeviceWrite, .-NutBlockDeviceWrite
- 623 .section .text.NutBlockDeviceWrite_P,"ax",@progbits
- 624 .global NutBlockDeviceWrite_P
- 625 .type NutBlockDeviceWrite_P, @function
- 626 NutBlockDeviceWrite_P:
- 627 0000 6F92 push r6
- GAS LISTING /tmp/cc2ll6PK.s page 12
- 628 0002 7F92 push r7
- 629 0004 8F92 push r8
- 630 0006 9F92 push r9
- 631 0008 AF92 push r10
- 632 000a BF92 push r11
- 633 000c CF92 push r12
- 634 000e DF92 push r13
- 635 0010 EF92 push r14
- 636 0012 FF92 push r15
- 637 0014 0F93 push r16
- 638 0016 1F93 push r17
- 639 0018 CF93 push r28
- 640 001a DF93 push r29
- 641 /* prologue: function */
- 642 /* frame size = 0 */
- 643 /* stack size = 14 */
- 644 .L__stack_usage = 14
- 645 001c 6C01 movw r12,r24
- 646 001e 5B01 movw r10,r22
- 647 0020 4A01 movw r8,r20
- 648 0022 452B or r20,r21
- 649 0024 01F4 brne .+2
- 650 0026 00C0 rjmp .L60
- 651 0028 DC01 movw r26,r24
- 652 002a 1296 adiw r26,2
- 653 002c CD91 ld r28,X+
- 654 002e DC91 ld r29,X
- 655 0030 1397 sbiw r26,2+1
- 656 0032 ED91 ld r30,X+
- 657 0034 FC91 ld r31,X
- 658 0036 6188 ldd r6,Z+17
- 659 0038 7288 ldd r7,Z+18
- 660 003a E12C mov r14,__zero_reg__
- 661 003c F12C mov r15,__zero_reg__
- 662 .L56:
- 663 003e E814 cp r14,r8
- 664 0040 F904 cpc r15,r9
- 665 0042 04F4 brge .L58
- 666 0044 4C85 ldd r20,Y+12
- 667 0046 5D85 ldd r21,Y+13
- 668 0048 6E85 ldd r22,Y+14
- 669 004a 7F85 ldd r23,Y+15
- 670 004c 8A81 ldd r24,Y+2
- 671 004e 9B81 ldd r25,Y+3
- 672 0050 AC81 ldd r26,Y+4
- 673 0052 BD81 ldd r27,Y+5
- 674 0054 4817 cp r20,r24
- 675 0056 5907 cpc r21,r25
- 676 0058 6A07 cpc r22,r26
- 677 005a 7B07 cpc r23,r27
- 678 005c 00F0 brlo .L57
- 679 .L58:
- 680 005e E114 cp r14,__zero_reg__
- 681 0060 F104 cpc r15,__zero_reg__
- 682 0062 01F0 breq .L61
- 683 0064 C701 movw r24,r14
- 684 0066 00C0 rjmp .L55
- GAS LISTING /tmp/cc2ll6PK.s page 13
- 685 .L57:
- 686 0068 0E81 ldd r16,Y+6
- 687 006a 1F81 ldd r17,Y+7
- 688 006c 8885 ldd r24,Y+8
- 689 006e 9985 ldd r25,Y+9
- 690 0070 AA85 ldd r26,Y+10
- 691 0072 BB85 ldd r27,Y+11
- 692 0074 480F add r20,r24
- 693 0076 591F adc r21,r25
- 694 0078 6A1F adc r22,r26
- 695 007a 7B1F adc r23,r27
- 696 007c D301 movw r26,r6
- 697 007e 5696 adiw r26,22
- 698 0080 ED91 ld r30,X+
- 699 0082 FC91 ld r31,X
- 700 0084 5797 sbiw r26,22+1
- 701 0086 9501 movw r18,r10
- 702 0088 D601 movw r26,r12
- 703 008a 8D91 ld r24,X+
- 704 008c 9C91 ld r25,X
- 705 008e 1995 eicall
- 706 0090 2E81 ldd r18,Y+6
- 707 0092 3F81 ldd r19,Y+7
- 708 0094 8217 cp r24,r18
- 709 0096 9307 cpc r25,r19
- 710 0098 01F4 brne .L58
- 711 009a 4C85 ldd r20,Y+12
- 712 009c 5D85 ldd r21,Y+13
- 713 009e 6E85 ldd r22,Y+14
- 714 00a0 7F85 ldd r23,Y+15
- 715 00a2 4F5F subi r20,-1
- 716 00a4 5F4F sbci r21,-1
- 717 00a6 6F4F sbci r22,-1
- 718 00a8 7F4F sbci r23,-1
- 719 00aa 4C87 std Y+12,r20
- 720 00ac 5D87 std Y+13,r21
- 721 00ae 6E87 std Y+14,r22
- 722 00b0 7F87 std Y+15,r23
- 723 00b2 A80E add r10,r24
- 724 00b4 B91E adc r11,r25
- 725 00b6 BFEF ldi r27,-1
- 726 00b8 EB1A sub r14,r27
- 727 00ba FB0A sbc r15,r27
- 728 00bc 00C0 rjmp .L56
- 729 .L60:
- 730 00be 80E0 ldi r24,0
- 731 00c0 90E0 ldi r25,0
- 732 00c2 00C0 rjmp .L55
- 733 .L61:
- 734 00c4 8FEF ldi r24,lo8(-1)
- 735 00c6 9FEF ldi r25,lo8(-1)
- 736 .L55:
- 737 /* epilogue start */
- 738 00c8 DF91 pop r29
- 739 00ca CF91 pop r28
- 740 00cc 1F91 pop r17
- 741 00ce 0F91 pop r16
- GAS LISTING /tmp/cc2ll6PK.s page 14
- 742 00d0 FF90 pop r15
- 743 00d2 EF90 pop r14
- 744 00d4 DF90 pop r13
- 745 00d6 CF90 pop r12
- 746 00d8 BF90 pop r11
- 747 00da AF90 pop r10
- 748 00dc 9F90 pop r9
- 749 00de 8F90 pop r8
- 750 00e0 7F90 pop r7
- 751 00e2 6F90 pop r6
- 752 00e4 0895 ret
- 753 .size NutBlockDeviceWrite_P, .-NutBlockDeviceWrite_P
- 754 .section .text.NutBlockDeviceSize,"ax",@progbits
- 755 .global NutBlockDeviceSize
- 756 .type NutBlockDeviceSize, @function
- 757 NutBlockDeviceSize:
- 758 /* prologue: function */
- 759 /* frame size = 0 */
- 760 /* stack size = 0 */
- 761 .L__stack_usage = 0
- 762 0000 DC01 movw r26,r24
- 763 0002 1296 adiw r26,2
- 764 0004 ED91 ld r30,X+
- 765 0006 FC91 ld r31,X
- 766 0008 1397 sbiw r26,2+1
- 767 000a A681 ldd r26,Z+6
- 768 000c B781 ldd r27,Z+7
- 769 000e 2281 ldd r18,Z+2
- 770 0010 3381 ldd r19,Z+3
- 771 0012 4481 ldd r20,Z+4
- 772 0014 5581 ldd r21,Z+5
- 773 0016 0E94 0000 call __mulshisi3
- 774 001a 0895 ret
- 775 .size NutBlockDeviceSize, .-NutBlockDeviceSize
- 776 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/cc2ll6PK.s page 15
- DEFINED SYMBOLS
- *ABS*:0000000000000000 blockdev.c
- /tmp/cc2ll6PK.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cc2ll6PK.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cc2ll6PK.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cc2ll6PK.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cc2ll6PK.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cc2ll6PK.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cc2ll6PK.s:11 .text.NutBlockDeviceInit:0000000000000000 NutBlockDeviceInit
- /tmp/cc2ll6PK.s:23 .text.NutBlockDeviceOpen:0000000000000000 NutBlockDeviceOpen
- /tmp/cc2ll6PK.s:218 .text.NutBlockDeviceClose:0000000000000000 NutBlockDeviceClose
- /tmp/cc2ll6PK.s:272 .text.NutBlockDeviceIOCtl:0000000000000000 NutBlockDeviceIOCtl
- /tmp/cc2ll6PK.s:363 .text.NutBlockDeviceRead:0000000000000000 NutBlockDeviceRead
- /tmp/cc2ll6PK.s:495 .text.NutBlockDeviceWrite:0000000000000000 NutBlockDeviceWrite
- /tmp/cc2ll6PK.s:626 .text.NutBlockDeviceWrite_P:0000000000000000 NutBlockDeviceWrite_P
- /tmp/cc2ll6PK.s:757 .text.NutBlockDeviceSize:0000000000000000 NutBlockDeviceSize
- UNDEFINED SYMBOLS
- NutDeviceLookup
- NutDeviceLookupType
- errno
- malloc
- free
- __mulshisi3
|