| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402 |
- GAS LISTING /tmp/ccx5uQJg.s page 1
- 1 .file "uromfs.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.UromWrite_P,"ax",@progbits
- 9 .type UromWrite_P, @function
- 10 UromWrite_P:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 8FEF ldi r24,lo8(-1)
- 16 0002 9FEF ldi r25,lo8(-1)
- 17 0004 0895 ret
- 18 .size UromWrite_P, .-UromWrite_P
- 19 .section .text.UromSize,"ax",@progbits
- 20 .type UromSize, @function
- 21 UromSize:
- 22 /* prologue: function */
- 23 /* frame size = 0 */
- 24 /* stack size = 0 */
- 25 .L__stack_usage = 0
- 26 0000 DC01 movw r26,r24
- 27 0002 1296 adiw r26,2
- 28 0004 ED91 ld r30,X+
- 29 0006 FC91 ld r31,X
- 30 0008 1397 sbiw r26,2+1
- 31 000a 0190 ld __tmp_reg__,Z+
- 32 000c F081 ld r31,Z
- 33 000e E02D mov r30,__tmp_reg__
- 34 0010 6481 ldd r22,Z+4
- 35 0012 7581 ldd r23,Z+5
- 36 0014 80E0 ldi r24,0
- 37 0016 90E0 ldi r25,0
- 38 0018 0895 ret
- 39 .size UromSize, .-UromSize
- 40 .section .text.UromOpen,"ax",@progbits
- 41 .type UromOpen, @function
- 42 UromOpen:
- 43 0000 CF92 push r12
- 44 0002 DF92 push r13
- 45 0004 EF92 push r14
- 46 0006 FF92 push r15
- 47 0008 0F93 push r16
- 48 000a 1F93 push r17
- 49 000c CF93 push r28
- 50 000e DF93 push r29
- 51 /* prologue: function */
- 52 /* frame size = 0 */
- 53 /* stack size = 8 */
- 54 .L__stack_usage = 8
- 55 0010 6C01 movw r12,r24
- 56 0012 7B01 movw r14,r22
- 57 0014 84E0 ldi r24,lo8(4)
- GAS LISTING /tmp/ccx5uQJg.s page 2
- 58 0016 90E0 ldi r25,0
- 59 0018 0E94 0000 call malloc
- 60 001c EC01 movw r28,r24
- 61 001e 892B or r24,r25
- 62 0020 01F4 brne .L4
- 63 0022 8CE0 ldi r24,lo8(12)
- 64 0024 90E0 ldi r25,0
- 65 0026 9093 0000 sts errno+1,r25
- 66 002a 8093 0000 sts errno,r24
- 67 002e 00C0 rjmp .L18
- 68 .L4:
- 69 0030 F701 movw r30,r14
- 70 0032 8081 ld r24,Z
- 71 0034 8F32 cpi r24,lo8(47)
- 72 0036 01F4 brne .L6
- 73 0038 FFEF ldi r31,-1
- 74 003a EF1A sub r14,r31
- 75 003c FF0A sbc r15,r31
- 76 .L6:
- 77 003e 0091 0000 lds r16,romEntryList
- 78 0042 1091 0000 lds r17,romEntryList+1
- 79 .L7:
- 80 0046 0115 cp r16,__zero_reg__
- 81 0048 1105 cpc r17,__zero_reg__
- 82 004a 01F0 breq .L20
- 83 004c F801 movw r30,r16
- 84 004e 6281 ldd r22,Z+2
- 85 0050 7381 ldd r23,Z+3
- 86 0052 C701 movw r24,r14
- 87 0054 0E94 0000 call strcmp_P
- 88 0058 892B or r24,r25
- 89 005a 01F0 breq .L8
- 90 005c F801 movw r30,r16
- 91 005e 0081 ld r16,Z
- 92 0060 1181 ldd r17,Z+1
- 93 0062 00C0 rjmp .L7
- 94 .L20:
- 95 0064 82E0 ldi r24,lo8(2)
- 96 0066 90E0 ldi r25,0
- 97 .L17:
- 98 0068 9093 0000 sts errno+1,r25
- 99 006c 8093 0000 sts errno,r24
- 100 0070 CE01 movw r24,r28
- 101 0072 0E94 0000 call free
- 102 0076 00C0 rjmp .L18
- 103 .L8:
- 104 0078 64E0 ldi r22,lo8(4)
- 105 007a 70E0 ldi r23,0
- 106 007c 81E0 ldi r24,lo8(1)
- 107 007e 90E0 ldi r25,0
- 108 0080 0E94 0000 call calloc
- 109 0084 0097 sbiw r24,0
- 110 0086 01F0 breq .L21
- 111 0088 FC01 movw r30,r24
- 112 008a 1183 std Z+1,r17
- 113 008c 0083 st Z,r16
- 114 008e D982 std Y+1,r13
- GAS LISTING /tmp/ccx5uQJg.s page 3
- 115 0090 C882 st Y,r12
- 116 0092 9B83 std Y+3,r25
- 117 0094 8A83 std Y+2,r24
- 118 0096 CE01 movw r24,r28
- 119 0098 00C0 rjmp .L14
- 120 .L21:
- 121 009a 8CE0 ldi r24,lo8(12)
- 122 009c 90E0 ldi r25,0
- 123 009e 00C0 rjmp .L17
- 124 .L18:
- 125 00a0 8FEF ldi r24,lo8(-1)
- 126 00a2 9FEF ldi r25,lo8(-1)
- 127 .L14:
- 128 /* epilogue start */
- 129 00a4 DF91 pop r29
- 130 00a6 CF91 pop r28
- 131 00a8 1F91 pop r17
- 132 00aa 0F91 pop r16
- 133 00ac FF90 pop r15
- 134 00ae EF90 pop r14
- 135 00b0 DF90 pop r13
- 136 00b2 CF90 pop r12
- 137 00b4 0895 ret
- 138 .size UromOpen, .-UromOpen
- 139 .section .text.UromRead,"ax",@progbits
- 140 .type UromRead, @function
- 141 UromRead:
- 142 0000 0F93 push r16
- 143 0002 1F93 push r17
- 144 0004 CF93 push r28
- 145 0006 DF93 push r29
- 146 /* prologue: function */
- 147 /* frame size = 0 */
- 148 /* stack size = 4 */
- 149 .L__stack_usage = 4
- 150 0008 9B01 movw r18,r22
- 151 000a EA01 movw r28,r20
- 152 000c DC01 movw r26,r24
- 153 000e 1296 adiw r26,2
- 154 0010 0D91 ld r16,X+
- 155 0012 1C91 ld r17,X
- 156 0014 1397 sbiw r26,2+1
- 157 0016 D801 movw r26,r16
- 158 0018 ED91 ld r30,X+
- 159 001a FC91 ld r31,X
- 160 001c 1197 sbiw r26,1
- 161 001e 1296 adiw r26,2
- 162 0020 6D91 ld r22,X+
- 163 0022 7C91 ld r23,X
- 164 0024 1397 sbiw r26,2+1
- 165 0026 8481 ldd r24,Z+4
- 166 0028 9581 ldd r25,Z+5
- 167 002a 861B sub r24,r22
- 168 002c 970B sbc r25,r23
- 169 002e 8417 cp r24,r20
- 170 0030 9507 cpc r25,r21
- 171 0032 00F4 brsh .L23
- GAS LISTING /tmp/ccx5uQJg.s page 4
- 172 0034 EC01 movw r28,r24
- 173 .L23:
- 174 0036 2097 sbiw r28,0
- 175 0038 01F0 breq .L24
- 176 003a 8681 ldd r24,Z+6
- 177 003c 9781 ldd r25,Z+7
- 178 003e 680F add r22,r24
- 179 0040 791F adc r23,r25
- 180 0042 AE01 movw r20,r28
- 181 0044 C901 movw r24,r18
- 182 0046 0E94 0000 call memcpy_P
- 183 004a F801 movw r30,r16
- 184 004c 8281 ldd r24,Z+2
- 185 004e 9381 ldd r25,Z+3
- 186 0050 8C0F add r24,r28
- 187 0052 9D1F adc r25,r29
- 188 0054 9383 std Z+3,r25
- 189 0056 8283 std Z+2,r24
- 190 .L24:
- 191 0058 CE01 movw r24,r28
- 192 /* epilogue start */
- 193 005a DF91 pop r29
- 194 005c CF91 pop r28
- 195 005e 1F91 pop r17
- 196 0060 0F91 pop r16
- 197 0062 0895 ret
- 198 .size UromRead, .-UromRead
- 199 .section .text.UromIOCtl,"ax",@progbits
- 200 .global UromIOCtl
- 201 .type UromIOCtl, @function
- 202 UromIOCtl:
- 203 0000 0F93 push r16
- 204 0002 1F93 push r17
- 205 0004 CF93 push r28
- 206 0006 DF93 push r29
- 207 /* prologue: function */
- 208 /* frame size = 0 */
- 209 /* stack size = 4 */
- 210 .L__stack_usage = 4
- 211 0008 EA01 movw r28,r20
- 212 000a 6332 cpi r22,35
- 213 000c 7141 sbci r23,17
- 214 000e 01F4 brne .L29
- 215 0010 2A81 ldd r18,Y+2
- 216 0012 3B81 ldd r19,Y+3
- 217 0014 E881 ld r30,Y
- 218 0016 F981 ldd r31,Y+1
- 219 0018 0281 ldd r16,Z+2
- 220 001a 1381 ldd r17,Z+3
- 221 001c F801 movw r30,r16
- 222 001e 4081 ld r20,Z
- 223 0020 5181 ldd r21,Z+1
- 224 0022 F901 movw r30,r18
- 225 0024 8081 ld r24,Z
- 226 0026 9181 ldd r25,Z+1
- 227 0028 A281 ldd r26,Z+2
- 228 002a B381 ldd r27,Z+3
- GAS LISTING /tmp/ccx5uQJg.s page 5
- 229 002c 6C81 ldd r22,Y+4
- 230 002e 7D81 ldd r23,Y+5
- 231 0030 6130 cpi r22,1
- 232 0032 7105 cpc r23,__zero_reg__
- 233 0034 01F0 breq .L32
- 234 0036 6230 cpi r22,2
- 235 0038 7105 cpc r23,__zero_reg__
- 236 003a 01F4 brne .L31
- 237 003c FA01 movw r30,r20
- 238 003e 6481 ldd r22,Z+4
- 239 0040 7581 ldd r23,Z+5
- 240 0042 00C0 rjmp .L34
- 241 .L32:
- 242 0044 F801 movw r30,r16
- 243 0046 6281 ldd r22,Z+2
- 244 0048 7381 ldd r23,Z+3
- 245 .L34:
- 246 004a 860F add r24,r22
- 247 004c 971F adc r25,r23
- 248 004e A11D adc r26,__zero_reg__
- 249 0050 B11D adc r27,__zero_reg__
- 250 .L31:
- 251 0052 B7FD sbrc r27,7
- 252 0054 00C0 rjmp .L29
- 253 0056 FA01 movw r30,r20
- 254 0058 4481 ldd r20,Z+4
- 255 005a 5581 ldd r21,Z+5
- 256 005c 60E0 ldi r22,0
- 257 005e 70E0 ldi r23,0
- 258 0060 4817 cp r20,r24
- 259 0062 5907 cpc r21,r25
- 260 0064 6A07 cpc r22,r26
- 261 0066 7B07 cpc r23,r27
- 262 0068 04F0 brlt .L29
- 263 006a F801 movw r30,r16
- 264 006c 9383 std Z+3,r25
- 265 006e 8283 std Z+2,r24
- 266 0070 F901 movw r30,r18
- 267 0072 8083 st Z,r24
- 268 0074 9183 std Z+1,r25
- 269 0076 A283 std Z+2,r26
- 270 0078 B383 std Z+3,r27
- 271 .L29:
- 272 007a 8FEF ldi r24,lo8(-1)
- 273 007c 9FEF ldi r25,lo8(-1)
- 274 /* epilogue start */
- 275 007e DF91 pop r29
- 276 0080 CF91 pop r28
- 277 0082 1F91 pop r17
- 278 0084 0F91 pop r16
- 279 0086 0895 ret
- 280 .size UromIOCtl, .-UromIOCtl
- 281 .section .text.UromClose,"ax",@progbits
- 282 .type UromClose, @function
- 283 UromClose:
- 284 0000 CF93 push r28
- 285 0002 DF93 push r29
- GAS LISTING /tmp/ccx5uQJg.s page 6
- 286 /* prologue: function */
- 287 /* frame size = 0 */
- 288 /* stack size = 2 */
- 289 .L__stack_usage = 2
- 290 0004 EC01 movw r28,r24
- 291 0006 0197 sbiw r24,1
- 292 0008 8E3F cpi r24,-2
- 293 000a 9F4F sbci r25,-1
- 294 000c 00F4 brsh .L36
- 295 000e 8A81 ldd r24,Y+2
- 296 0010 9B81 ldd r25,Y+3
- 297 0012 0097 sbiw r24,0
- 298 0014 01F0 breq .L37
- 299 0016 0E94 0000 call free
- 300 .L37:
- 301 001a CE01 movw r24,r28
- 302 001c 0E94 0000 call free
- 303 .L36:
- 304 0020 80E0 ldi r24,0
- 305 0022 90E0 ldi r25,0
- 306 /* epilogue start */
- 307 0024 DF91 pop r29
- 308 0026 CF91 pop r28
- 309 0028 0895 ret
- 310 .size UromClose, .-UromClose
- 311 .section .text.UromWrite,"ax",@progbits
- 312 .type UromWrite, @function
- 313 UromWrite:
- 314 /* prologue: function */
- 315 /* frame size = 0 */
- 316 /* stack size = 0 */
- 317 .L__stack_usage = 0
- 318 0000 8FEF ldi r24,lo8(-1)
- 319 0002 9FEF ldi r25,lo8(-1)
- 320 0004 0895 ret
- 321 .size UromWrite, .-UromWrite
- 322 .global devUrom
- 323 .data
- 324 .type devUrom, @object
- 325 .size devUrom, 37
- 326 devUrom:
- 327 0000 0000 .word 0
- 328 0002 55 .byte 85
- 329 0003 52 .byte 82
- 330 0004 4F .byte 79
- 331 0005 4D .byte 77
- 332 0006 00 .byte 0
- 333 0007 00 .byte 0
- 334 0008 00 .byte 0
- 335 0009 00 .byte 0
- 336 000a 00 .byte 0
- 337 000b 01 .byte 1
- 338 000c 0000 .word 0
- 339 000e 00 .byte 0
- 340 000f 0000 .word 0
- 341 0011 0000 .word 0
- 342 0013 0000 .word 0
- GAS LISTING /tmp/ccx5uQJg.s page 7
- 343 0015 0000 .word gs(UromIOCtl)
- 344 0017 0000 .word gs(UromRead)
- 345 0019 0000 .word gs(UromWrite)
- 346 001b 0000 .word gs(UromWrite_P)
- 347 001d 0000 .word gs(UromOpen)
- 348 001f 0000 .word gs(UromClose)
- 349 0021 0000 .word gs(UromSize)
- 350 0023 0000 .word 0
- 351 .ident "GCC: (GNU) 5.3.0"
- 352 .global __do_copy_data
- GAS LISTING /tmp/ccx5uQJg.s page 8
- DEFINED SYMBOLS
- *ABS*:0000000000000000 uromfs.c
- /tmp/ccx5uQJg.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccx5uQJg.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccx5uQJg.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccx5uQJg.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccx5uQJg.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccx5uQJg.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccx5uQJg.s:10 .text.UromWrite_P:0000000000000000 UromWrite_P
- /tmp/ccx5uQJg.s:21 .text.UromSize:0000000000000000 UromSize
- /tmp/ccx5uQJg.s:42 .text.UromOpen:0000000000000000 UromOpen
- /tmp/ccx5uQJg.s:141 .text.UromRead:0000000000000000 UromRead
- /tmp/ccx5uQJg.s:202 .text.UromIOCtl:0000000000000000 UromIOCtl
- /tmp/ccx5uQJg.s:283 .text.UromClose:0000000000000000 UromClose
- /tmp/ccx5uQJg.s:313 .text.UromWrite:0000000000000000 UromWrite
- /tmp/ccx5uQJg.s:326 .data:0000000000000000 devUrom
- UNDEFINED SYMBOLS
- malloc
- errno
- romEntryList
- strcmp_P
- free
- calloc
- memcpy_P
- __do_copy_data
|