Project

General

Profile

1 markw
HelloTinyROM.elf: file format elf32-zpu

Disassembly of section .fixed_vectors:

00000000 <_start>:
0: 0b nop
1: 0b nop
2: 0b nop
3: 89 im 9
4: ad im 45
5: 04 poppc
6: 0b nop
7: 0b nop
8: 0b nop
9: 0b nop
a: 0b nop
b: 0b nop
c: 0b nop
d: 0b nop
e: 0b nop
f: 0b nop
10: 0b nop
11: 0b nop
12: 0b nop
13: 0b nop
14: 0b nop
15: 0b nop
16: 0b nop
17: 0b nop
18: 0b nop
19: 0b nop
1a: 0b nop
1b: 0b nop
1c: 0b nop
1d: 0b nop
1e: 0b nop
1f: 0b nop
20: 0b nop
21: 0b nop
22: 0b nop
23: 0b nop
...

00000040 <_loadh>:
40: 71 loadsp 4
41: fd im -3
42: 06 and
43: 08 load
44: 72 loadsp 8
45: 83 im 3
46: 06 and
47: 09 not
48: 81 im 1
49: 05 add
4a: 82 im 2
4b: 05 add
4c: 83 im 3
4d: 2b ashiftleft
4e: 2a lshiftright
4f: 83 im 3
50: ff im -1
51: ff im -1
52: 06 and
53: 52 storesp 8
54: 04 poppc
...

00000060 <_storeh>:
60: 71 loadsp 4
61: fd im -3
62: 06 and
63: 08 load
64: 83 im 3
65: ff im -1
66: ff im -1
67: 73 loadsp 12
68: 83 im 3
69: 06 and
6a: 09 not
6b: 81 im 1
6c: 05 add
6d: 82 im 2
6e: 05 add
6f: 83 im 3
70: 2b ashiftleft
71: 2b ashiftleft
72: 09 not
73: 06 and
74: 73 loadsp 12
75: 83 im 3
76: ff im -1
77: ff im -1
78: 0b nop
79: 0b nop
7a: 0b nop
7b: 0b nop
7c: 83 im 3
7d: a7 im 39
7e: 04 poppc
...

00000080 <_lessthan>:
80: 72 loadsp 8
81: 09 not
82: 81 im 1
83: 05 add
84: 72 loadsp 8
85: 05 add
86: 73 loadsp 12
87: 73 loadsp 12
88: 09 not
89: 06 and
8a: 09 not
8b: 06 and
8c: 73 loadsp 12
8d: 09 not
8e: 73 loadsp 12
8f: 06 and
90: 07 or
91: 0a flip
92: 81 im 1
93: 06 and
94: 53 storesp 12
95: 51 storesp 4
96: 04 poppc
...

000000a0 <_lessthanorequal>:
a0: 72 loadsp 8
a1: 72 loadsp 8
a2: 24 lessthan
a3: 73 loadsp 12
a4: 73 loadsp 12
a5: 2e eq
a6: 07 or
a7: 53 storesp 12
a8: 51 storesp 4
a9: 04 poppc
...

000000c0 <_ulessthan>:
c0: 71 loadsp 4
c1: 73 loadsp 12
c2: 71 loadsp 4
c3: 09 not
c4: 71 loadsp 4
c5: 06 and
c6: 81 im 1
c7: 06 and
c8: 30 neg
c9: 72 loadsp 8
ca: 0a flip
cb: 10 addsp 0
cc: 0a flip
cd: 72 loadsp 8
ce: 0a flip
cf: 10 addsp 0
d0: 0a flip
d1: 31 sub
d2: 05 add
d3: 0a flip
d4: 81 im 1
d5: 06 and
d6: 51 storesp 4
d7: 51 storesp 4
d8: 53 storesp 12
d9: 51 storesp 4
da: 04 poppc
db: 00 breakpoint
dc: 00 breakpoint
dd: 00 breakpoint
...

000000e0 <_ulessthanorequal>:
e0: 72 loadsp 8
e1: 72 loadsp 8
e2: 26 ulessthan
e3: 73 loadsp 12
e4: 73 loadsp 12
e5: 2e eq
e6: 07 or
e7: 53 storesp 12
e8: 51 storesp 4
e9: 04 poppc
...

00000100 <_swap>:
...

00000120 <_slowmult>:
120: 0b nop
121: 0b nop
122: 0b nop
123: 88 im 8
124: bc im 60
125: 04 poppc
...

00000140 <_lshiftright>:
140: 72 loadsp 8
141: 0a flip
142: 72 loadsp 8
143: 2b ashiftleft
144: 0a flip
145: 53 storesp 12
146: 51 storesp 4
147: 04 poppc
...

00000160 <_ashiftleft>:
160: 72 loadsp 8
161: 72 loadsp 8
162: 9f im 31
163: 06 and
164: 09 not
165: 81 im 1
166: 05 add
167: 0b nop
168: 0b nop
169: 0b nop
16a: 88 im 8
16b: 9f im 31
16c: 05 add
16d: 04 poppc
...

00000180 <_ashiftright>:
180: 72 loadsp 8
181: 72 loadsp 8
182: 2a lshiftright
183: ff im -1
184: 73 loadsp 12
185: 9f im 31
186: 06 and
187: 2a lshiftright
188: 09 not
189: 74 loadsp 16
18a: 09 not
18b: 0a flip
18c: 81 im 1
18d: 06 and
18e: ff im -1
18f: 05 add
190: 06 and
191: 07 or
192: 53 storesp 12
193: 51 storesp 4
194: 04 poppc
...

000001a0 <_call>:
1a0: 71 loadsp 4
1a1: 71 loadsp 4
1a2: 53 storesp 12
1a3: 51 storesp 4
1a4: 02 pushsp
1a5: 0d popsp
1a6: 04 poppc

000001a7 <_storehtail>:
1a7: 06 and
1a8: 73 loadsp 12
1a9: 83 im 3
1aa: 06 and
1ab: 09 not
1ac: 81 im 1
1ad: 05 add
1ae: 82 im 2
1af: 05 add
1b0: 83 im 3
1b1: 2b ashiftleft
1b2: 0b nop
1b3: 2b ashiftleft
1b4: 07 or
1b5: 72 loadsp 8
1b6: fc im -4
1b7: 06 and
1b8: 0c store
1b9: 51 storesp 4
1ba: 51 storesp 4
1bb: 04 poppc
1bc: 00 breakpoint
1bd: 00 breakpoint
...

000001c0 <_eq>:
1c0: 72 loadsp 8
1c1: 09 not
1c2: 81 im 1
1c3: 05 add
1c4: 72 loadsp 8
1c5: 05 add
1c6: 09 not
1c7: 70 loadsp 0
1c8: 81 im 1
1c9: 05 add
1ca: 09 not
1cb: 06 and
1cc: 0a flip
1cd: 81 im 1
1ce: 06 and
1cf: 53 storesp 12
1d0: 51 storesp 4
1d1: 04 poppc
...

000001e0 <_neq>:
1e0: 72 loadsp 8
1e1: 09 not
1e2: 81 im 1
1e3: 05 add
1e4: 72 loadsp 8
1e5: 05 add
1e6: 09 not
1e7: 70 loadsp 0
1e8: 81 im 1
1e9: 05 add
1ea: 09 not
1eb: 06 and
1ec: 0a flip
1ed: 09 not
1ee: 81 im 1
1ef: 06 and
1f0: 53 storesp 12
1f1: 51 storesp 4
1f2: 04 poppc
...

00000200 <_neg>:
200: 71 loadsp 4
201: 09 not
202: 81 im 1
203: 05 add
204: 52 storesp 8
205: 04 poppc
...

00000220 <_sub>:
220: 72 loadsp 8
221: 72 loadsp 8
222: 09 not
223: 81 im 1
224: 05 add
225: 05 add
226: 53 storesp 12
227: 51 storesp 4
228: 04 poppc
...

00000240 <_xor>:
240: 72 loadsp 8
241: 09 not
242: 72 loadsp 8
243: 06 and
244: 73 loadsp 12
245: 73 loadsp 12
246: 09 not
247: 06 and
248: 07 or
249: 53 storesp 12
24a: 51 storesp 4
24b: 04 poppc
...

00000260 <_loadb>:
260: 71 loadsp 4
261: fc im -4
262: 06 and
263: 08 load
264: 72 loadsp 8
265: 83 im 3
266: 06 and
267: 09 not
268: 81 im 1
269: 05 add
26a: 83 im 3
26b: 05 add
26c: 10 addsp 0
26d: 10 addsp 0
26e: 10 addsp 0
26f: 2a lshiftright
270: 81 im 1
271: ff im -1
272: 06 and
273: 52 storesp 8
274: 04 poppc
...

00000280 <_storeb>:
280: 71 loadsp 4
281: fc im -4
282: 06 and
283: 08 load
284: 0b nop
285: 0b nop
286: 80 im 0
287: f4 im -12
288: a4 im 36
289: 73 loadsp 12
28a: 83 im 3
28b: 06 and
28c: 10 addsp 0
28d: 10 addsp 0
28e: 05 add
28f: 08 load
290: 06 and
291: 0b nop
292: 0b nop
293: 0b nop
294: 88 im 8
295: a2 im 34
296: 04 poppc
...

000002a0 <_div>:
2a0: 0b nop
2a1: 0b nop
2a2: 0b nop
2a3: 88 im 8
2a4: ff im -1
2a5: 04 poppc
...

000002c0 <_mod>:
2c0: 0b nop
2c1: 0b nop
2c2: 0b nop
2c3: 88 im 8
2c4: d8 im -40
2c5: 04 poppc
...

000002e0 <_eqbranch>:
2e0: 72 loadsp 8
2e1: 09 not
2e2: 70 loadsp 0
2e3: 81 im 1
2e4: 05 add
2e5: 09 not
2e6: 06 and
2e7: 0a flip
2e8: 81 im 1
2e9: 06 and
2ea: ff im -1
2eb: 05 add
2ec: 70 loadsp 0
2ed: 54 storesp 16
2ee: 71 loadsp 4
2ef: 06 and
2f0: 73 loadsp 12
2f1: 09 not
2f2: 72 loadsp 8
2f3: 74 loadsp 16
2f4: 05 add
2f5: ff im -1
2f6: 05 add
2f7: 06 and
2f8: 07 or
2f9: 51 storesp 4
2fa: 51 storesp 4
2fb: 51 storesp 4
2fc: 04 poppc
2fd: 00 breakpoint
...

00000300 <_neqbranch>:
300: 72 loadsp 8
301: 09 not
302: 70 loadsp 0
303: 81 im 1
304: 05 add
305: 09 not
306: 06 and
307: 0a flip
308: 09 not
309: 81 im 1
30a: 06 and
30b: ff im -1
30c: 05 add
30d: 70 loadsp 0
30e: 54 storesp 16
30f: 71 loadsp 4
310: 06 and
311: 73 loadsp 12
312: 09 not
313: 72 loadsp 8
314: 74 loadsp 16
315: 05 add
316: ff im -1
317: 05 add
318: 06 and
319: 07 or
31a: 51 storesp 4
31b: 51 storesp 4
31c: 51 storesp 4
31d: 04 poppc
...

00000320 <_poppcrel>:
320: 05 add
321: ff im -1
322: 05 add
323: 04 poppc
...

00000340 <_config>:
340: 81 im 1
341: 0b nop
342: 80 im 0
343: f9 im -7
344: f0 im -16
345: 0c store
346: 51 storesp 4
347: 04 poppc
...

0000035e <_pushpc>:
35e: 71 loadsp 4
35f: 81 im 1
360: 05 add
361: 52 storesp 8
362: 04 poppc
...

0000037e <_syscall_emulate>:
...

0000039e <_pushspadd>:
39e: 02 pushsp
39f: 84 im 4
3a0: 05 add
3a1: 72 loadsp 8
3a2: 10 addsp 0
3a3: 10 addsp 0
3a4: 05 add
3a5: 52 storesp 8
3a6: 04 poppc
...

000003be <_halfmult>:
...

000003de <_callpcrel>:
3de: 71 loadsp 4
3df: 71 loadsp 4
3e0: 05 add
3e1: ff im -1
3e2: 05 add
3e3: 71 loadsp 4
3e4: 53 storesp 12
3e5: 51 storesp 4
3e6: 02 pushsp
3e7: 0d popsp
3e8: 04 poppc
...
Disassembly of section .text:

00000400 <_ashiftleftBegin>:
400: 10 addsp 0
401: 10 addsp 0
402: 10 addsp 0
403: 10 addsp 0
404: 10 addsp 0
405: 10 addsp 0
406: 10 addsp 0
407: 10 addsp 0
408: 10 addsp 0
409: 10 addsp 0
40a: 10 addsp 0
40b: 10 addsp 0
40c: 10 addsp 0
40d: 10 addsp 0
40e: 10 addsp 0
40f: 10 addsp 0
410: 10 addsp 0
411: 10 addsp 0
412: 10 addsp 0
413: 10 addsp 0
414: 10 addsp 0
415: 10 addsp 0
416: 10 addsp 0
417: 10 addsp 0
418: 10 addsp 0
419: 10 addsp 0
41a: 10 addsp 0
41b: 10 addsp 0
41c: 10 addsp 0
41d: 10 addsp 0
41e: 10 addsp 0

0000041f <_ashiftleftEnd>:
41f: 53 storesp 12
420: 51 storesp 4
421: 04 poppc

00000422 <_storebtail>:
422: 73 loadsp 12
423: 81 im 1
424: ff im -1
425: 06 and
426: 73 loadsp 12
427: 83 im 3
428: 06 and
429: 09 not
42a: 81 im 1
42b: 05 add
42c: 83 im 3
42d: 05 add
42e: 10 addsp 0
42f: 10 addsp 0
430: 10 addsp 0
431: 2b ashiftleft
432: 07 or
433: 72 loadsp 8
434: fc im -4
435: 06 and
436: 0c store
437: 51 storesp 4
438: 51 storesp 4
439: 04 poppc

0000043a <_syscall>:
43a: 3c syscall
43b: 04 poppc

0000043c <_slowmultImpl>:
43c: 72 loadsp 8
43d: 72 loadsp 8
43e: 80 im 0
43f: 72 loadsp 8
440: 81 im 1
441: 06 and
442: ff im -1
443: 05 add
444: 09 not
445: 72 loadsp 8
446: 06 and
447: 05 add
448: 71 loadsp 4
449: 10 addsp 0
44a: 52 storesp 8
44b: 72 loadsp 8
44c: 0a flip
44d: 10 addsp 0
44e: 0a flip
44f: 53 storesp 12
450: 72 loadsp 8
451: ed im -19
452: 38 neqbranch
453: 51 storesp 4
454: 51 storesp 4
455: 53 storesp 12
456: 51 storesp 4
457: 04 poppc

00000458 <___mod>:
458: 83 im 3
459: e0 im -32
45a: 80 im 0
45b: 08 load
45c: 83 im 3
45d: e0 im -32
45e: 84 im 4
45f: 08 load
460: 83 im 3
461: e0 im -32
462: 88 im 8
463: 08 load
464: 75 loadsp 20
465: 75 loadsp 20
466: 80 im 0
467: ee im -18
468: d4 im -44
469: 2d call
46a: 50 storesp 0
46b: 50 storesp 0
46c: 83 im 3
46d: e0 im -32
46e: 80 im 0
46f: 08 load
470: 56 storesp 24
471: 83 im 3
472: e0 im -32
473: 88 im 8
474: 0c store
475: 83 im 3
476: e0 im -32
477: 84 im 4
478: 0c store
479: 83 im 3
47a: e0 im -32
47b: 80 im 0
47c: 0c store
47d: 51 storesp 4
47e: 04 poppc

0000047f <___div>:
47f: 83 im 3
480: e0 im -32
481: 80 im 0
482: 08 load
483: 83 im 3
484: e0 im -32
485: 84 im 4
486: 08 load
487: 83 im 3
488: e0 im -32
489: 88 im 8
48a: 08 load
48b: 75 loadsp 20
48c: 75 loadsp 20
48d: 80 im 0
48e: ec im -20
48f: e8 im -24
490: 2d call
491: 50 storesp 0
492: 50 storesp 0
493: 83 im 3
494: e0 im -32
495: 80 im 0
496: 08 load
497: 56 storesp 24
498: 83 im 3
499: e0 im -32
49a: 88 im 8
49b: 0c store
49c: 83 im 3
49d: e0 im -32
49e: 84 im 4
49f: 0c store
4a0: 83 im 3
4a1: e0 im -32
4a2: 80 im 0
4a3: 0c store
4a4: 51 storesp 4
4a5: 04 poppc
...

000004a8 <_boot>:
4a8: 80 im 0
4a9: 04 poppc

000004aa <_break>:
4aa: 89 im 9
4ab: aa im 42
4ac: 04 poppc

000004ad <_premain>:
4ad: 89 im 9
4ae: aa im 42
4af: 0b nop
4b0: bf im 63
4b1: fb im -5
4b2: 04 poppc

000004b3 <wait_us>:
#define XEX_SECTOR_SIZE 128

void
wait_us(int unsigned num)
{
4b3: fd im -3
4b4: 3d pushspadd
4b5: 0d popsp

000004b6 <.LM2>:
// 57.5MHz
int unsigned cycles = num*57 + num/2;
4b6: 75 loadsp 20
4b7: b9 im 57
4b8: 29 mult
4b9: 76 loadsp 24
4ba: 81 im 1
4bb: 2a lshiftright
4bc: 05 add

000004bd <.LM3>:
*zpu_pause = cycles;
4bd: 80 im 0
4be: fc im -4
4bf: c0 im -64
4c0: 08 load
4c1: 54 storesp 16
4c2: 73 loadsp 12
4c3: 0c store
4c4: 85 im 5
4c5: 3d pushspadd
4c6: 0d popsp
4c7: 04 poppc

000004c8 <clearAtariSectorBuffer>:
}

void openfile(const char * filename);
void sdcard();
void mmcReadCached(u32 sector);
u32 n_actual_mmc_sector;
extern unsigned char mmc_sector_buffer[512];
unsigned char atari_sector_buffer[256];
unsigned char get_checksum(unsigned char* buffer, u16 len);

#define TWOBYTESTOWORD(ptr,val) (*((u08*)(ptr)) = val&0xff);(*(1+(u08*)(ptr)) = (val>>8)&0xff);

void USART_Send_cmpl_and_atari_sector_buffer_and_check_sum(unsigned short len);
void clearAtariSectorBuffer()
{
4c8: 80 im 0
4c9: 3d pushspadd
4ca: 0d popsp

000004cb <.LM5>:
int i=256;
while (--i)
atari_sector_buffer[i] = 0;
4cb: 81 im 1
4cc: ff im -1
4cd: 51 storesp 4

000004ce <.L5>:
4ce: 80 im 0
4cf: 0b nop
4d0: 83 im 3
4d1: e0 im -32
4d2: c8 im -56
4d3: 12 addsp 8
4d4: 34 storeb
4d5: ff im -1
4d6: 11 addsp 4
4d7: 51 storesp 4
4d8: 70 loadsp 0
4d9: f4 im -12
4da: 38 neqbranch
4db: 82 im 2
4dc: 3d pushspadd
4dd: 0d popsp
4de: 04 poppc

000004df <filesize>:
}

int
filesize(char const * filename)
{
4df: fa im -6
4e0: 3d pushspadd
4e1: 0d popsp
4e2: 78 loadsp 32

000004e3 <.LM7>:
char const * tmp;
char const * tmp2;
if (FR_OK != pf_opendir(&dir,"/"))
4e3: 0b nop
4e4: 0b nop
4e5: 80 im 0
4e6: f4 im -12
4e7: fc im -4
4e8: 53 storesp 12
4e9: 83 im 3
4ea: e2 im -30
4eb: f4 im -12
4ec: 52 storesp 8
4ed: 56 storesp 24
4ee: 80 im 0
4ef: cc im -52
4f0: a8 im 40
4f1: 3f callpcrel

000004f2 <.LM8>:
{
return 0;
4f2: 80 im 0
4f3: 53 storesp 12

000004f4 <.LM9>:
4f4: 83 im 3
4f5: e0 im -32
4f6: 80 im 0
4f7: 08 load
4f8: 73 loadsp 12
4f9: 2e eq
4fa: 8a im 10
4fb: 38 neqbranch

000004fc <.LM10>:
}

while (FR_OK == pf_readdir(&dir,&filinfo) && filinfo.fname[0]!='\0')
{
if (filinfo.fattrib & AM_SYS)
{
continue;
}
if (filinfo.fattrib & AM_HID)
{
continue;
}
if (filinfo.fattrib & AM_DIR)
{
continue;
}

tmp = filename;
tmp2 = filinfo.fname;
while (1)
{
if (*tmp == *tmp2)
{
if (*tmp == '\0')
{
return filinfo.fsize;
}
++tmp;
++tmp2;
}
else
break;
}
}
return 0;
}
4fc: 72 loadsp 8
4fd: 83 im 3
4fe: e0 im -32
4ff: 80 im 0
500: 0c store
501: 88 im 8
502: 3d pushspadd
503: 0d popsp
504: 04 poppc

00000505 <.L26>:
505: 83 im 3
506: e0 im -32
507: 94 im 20
508: 52 storesp 8
509: 83 im 3
50a: e2 im -30
50b: f4 im -12
50c: 51 storesp 4
50d: 80 im 0
50e: cd im -51
50f: 9c im 28
510: 3f callpcrel
511: 83 im 3
512: e0 im -32
513: 80 im 0
514: 08 load
515: 80 im 0
516: d5 im -43
517: 38 neqbranch
518: 83 im 3
519: e0 im -32
51a: 9d im 29
51b: 33 loadb
51c: 53 storesp 12
51d: 72 loadsp 8
51e: 80 im 0
51f: 2e eq
520: 80 im 0
521: ca im -54
522: 38 neqbranch

00000523 <.LM12>:
523: 83 im 3
524: e0 im -32
525: 9c im 28
526: 33 loadb
527: 70 loadsp 0
528: 82 im 2
529: 2a lshiftright
52a: 70 loadsp 0
52b: 81 im 1
52c: 06 and
52d: 51 storesp 4
52e: 54 storesp 16
52f: 54 storesp 16
530: 72 loadsp 8
531: d3 im -45
532: 38 neqbranch

00000533 <.LM13>:
533: 73 loadsp 12
534: 81 im 1
535: 2a lshiftright
536: 70 loadsp 0
537: 81 im 1
538: 06 and
539: 51 storesp 4
53a: 53 storesp 12
53b: 72 loadsp 8
53c: c8 im -56
53d: 38 neqbranch

0000053e <.LM14>:
53e: 73 loadsp 12
53f: 84 im 4
540: 2a lshiftright
541: 70 loadsp 0
542: 81 im 1
543: 06 and
544: 51 storesp 4
545: 53 storesp 12
546: 72 loadsp 8
547: ff im -1
548: bc im 60
549: 38 neqbranch

0000054a <.LM15>:
54a: 75 loadsp 20

0000054b <.LM16>:
54b: 83 im 3
54c: e0 im -32
54d: 9d im 29
54e: 56 storesp 24
54f: 54 storesp 16

00000550 <.L16>:
550: 73 loadsp 12
551: 33 loadb
552: 75 loadsp 20
553: 33 loadb
554: 58 storesp 32
555: 53 storesp 12
556: 72 loadsp 8
557: 77 loadsp 28
558: 2e eq
559: 09 not
55a: 81 im 1
55b: 06 and
55c: ff im -1
55d: a7 im 39
55e: 38 neqbranch

0000055f <.LM18>:
55f: 72 loadsp 8
560: 80 im 0
561: 2e eq
562: 93 im 19
563: 38 neqbranch

00000564 <.LM19>:
564: 81 im 1
565: 14 addsp 16

00000566 <.LM20>:
566: 81 im 1
567: 16 addsp 24
568: 56 storesp 24
569: 54 storesp 16
56a: e5 im -27
56b: 39 poppcrel

0000056c <.L12>:
56c: 80 im 0

0000056d <.LM22>:
56d: 0b nop
56e: 83 im 3
56f: e0 im -32
570: 80 im 0
571: 0c store
572: 88 im 8
573: 3d pushspadd
574: 0d popsp
575: 04 poppc

00000576 <.L22>:
576: 83 im 3
577: e0 im -32
578: 94 im 20
579: 08 load

0000057a <.LM24>:
57a: 83 im 3
57b: e0 im -32
57c: 80 im 0
57d: 0c store
57e: 88 im 8
57f: 3d pushspadd
580: 0d popsp
581: 04 poppc

00000582 <clear_ram>:

int
selectfile(char * filename)
{
int fileno;
int skip;
int plotted = 0;
wait_us(200000);
for(;;)
{
int i = 0;
int go = 0;
fileno = 0;
topofscreen();
for (i=0; i!=(24*40); ++i)
{
*(unsigned char volatile *)(i+0x10000+40000) = 0x00;
}
if (FR_OK != pf_opendir(&dir,"/"))
{
debug("opendir failed\n");
while(1);
}

plotted = 0;
skip = 0;
if (selfileno>20)
{
skip = selfileno-20;
skip&=0xfffffffe;
}
if (selfileno<0)
{
selfileno = 0;
}
while (FR_OK == pf_readdir(&dir,&filinfo) && filinfo.fname[0]!='\0')
{
if (filinfo.fattrib & AM_SYS)
{
continue;
}
if (filinfo.fattrib & AM_HID)
{
continue;
}
if (filinfo.fattrib & AM_DIR)
{
debug("DIR ");
}
if (selfileno == fileno)
{
for (i=0;i!=15;++i)
{
filename[i] = filinfo.fname[i];
if (0==filinfo.fname[i]) break;
filinfo.fname[i]+=128;
}
}
if (--skip<0)
{
debug(filinfo.fname);
++plotted;
if (plotted&1)
{
setxpos(20);
}
else
{
debug("\n");
}
if (plotted==40)
{
break;
}
}
fileno++;
}
debug("\n");
setypos(21);
opendrive = 0;
openfile(filename);
for (;;)
{
unsigned char porta = *atari_porta;
if (0==(porta&0x2)) // down
{
selfileno+=2;
break;
}
else if (0==(porta&0x1)) // up
{
selfileno-=2;
break;
}
else if (0==(porta&0x8)) // right
{
selfileno|=1;
break;
}
else if (0==(porta&0x4)) // left
{
selfileno&=0xfffffffe;
break;
}
else if (0==(*atari_trig0)) // fire
{
go = 1;
while(0==(*atari_trig0));
break;
}
topofscreen();
//plotnextnumber(porta);
*atari_colbk = *atari_random;
//wait_us(200);
}
if (go == 1)
{
wait_us(200000);
return validfile; // TODO, another way to quit without selecting...
}
wait_us(80000);
}
return 0;
}

void clear_ram()
{
582: fd im -3
583: 3d pushspadd
584: 0d popsp

00000585 <.LM26>:
int i=0;
585: 80 im 0

00000586 <.LM27>:
// sdram from 8MB to 16MB
// sram from 0x200000
*zpu_ledr = 0xffffffff;
586: 0b nop
587: 80 im 0
588: fc im -4
589: b0 im 48
58a: 08 load
58b: 53 storesp 12
58c: 53 storesp 12
58d: ff im -1
58e: 72 loadsp 8
58f: 0c store

00000590 <.LM28>:
*zpu_ledg = 0x0;
590: 80 im 0
591: fc im -4
592: b4 im 52
593: 08 load
594: 73 loadsp 12
595: 71 loadsp 4
596: 0c store
597: 52 storesp 8

00000598 <.LM29>:
wait_us(600);
598: 84 im 4
599: d8 im -40
59a: 51 storesp 4
59b: fe im -2
59c: 96 im 22
59d: 3f callpcrel

0000059e <.LM30>:

for (i=0x200000; i!=0x280000; i+=1)
59e: 88 im 8
59f: 80 im 0
5a0: 0a flip
5a1: 53 storesp 12

000005a2 <.L32>:
{
// TODO - use short!
*(unsigned char volatile *)(i) = 0x0000;
5a2: 80 im 0
5a3: 73 loadsp 12
5a4: 70 loadsp 0
5a5: 81 im 1
5a6: 05 add
5a7: 55 storesp 20
5a8: 34 storeb

000005a9 <.LM32>:
5a9: 72 loadsp 8
5aa: a8 im 40
5ab: 80 im 0
5ac: 0a flip
5ad: 2e eq
5ae: 09 not
5af: 81 im 1
5b0: 06 and
5b1: f0 im -16
5b2: 38 neqbranch

000005b3 <.LM33>:
}

*zpu_ledr = 0x55555555;
5b3: 80 im 0
5b4: fc im -4
5b5: b0 im 48
5b6: 08 load
5b7: 54 storesp 16
5b8: 85 im 5
5b9: aa im 42
5ba: d5 im -43
5bb: aa im 42
5bc: d5 im -43
5bd: 74 loadsp 16
5be: 0c store

000005bf <.LM34>:
*zpu_ledg = 0x55555555;
5bf: 80 im 0
5c0: fc im -4
5c1: b4 im 52
5c2: 08 load
5c3: 52 storesp 8
5c4: 85 im 5
5c5: aa im 42
5c6: d5 im -43
5c7: aa im 42
5c8: d5 im -43
5c9: 72 loadsp 8
5ca: 0c store

000005cb <.LM35>:

for (i=0x800000; i!=0x1000000; i+=4)
5cb: 82 im 2
5cc: 80 im 0
5cd: 0a flip
5ce: 53 storesp 12

000005cf <.L36>:
{
*(unsigned int volatile *)(i) = 0x00000000;
5cf: 80 im 0
5d0: 73 loadsp 12
5d1: 70 loadsp 0
5d2: 84 im 4
5d3: 05 add
5d4: 55 storesp 20
5d5: 0c store

000005d6 <.LM37>:
5d6: 72 loadsp 8
5d7: 81 im 1
5d8: 80 im 0
5d9: 0a flip
5da: 2e eq
5db: 09 not
5dc: 81 im 1
5dd: 06 and
5de: f0 im -16
5df: 38 neqbranch

000005e0 <.LM38>:
}

*zpu_ledr = 0;
5e0: 80 im 0
5e1: 74 loadsp 16
5e2: 0c store

000005e3 <.LM39>:
*zpu_ledg = 0xffffffff;
5e3: ff im -1
5e4: 72 loadsp 8
5e5: 0c store

000005e6 <.LM40>:
wait_us(600);
5e6: 84 im 4
5e7: d8 im -40
5e8: 51 storesp 4
5e9: fd im -3
5ea: c8 im -56
5eb: 3f callpcrel

000005ec <.LM41>:
return;
5ec: 85 im 5
5ed: 3d pushspadd
5ee: 0d popsp
5ef: 04 poppc

000005f0 <clear_64k_ram>:
}

void clear_64k_ram()
{
5f0: fd im -3
5f1: 3d pushspadd
5f2: 0d popsp

000005f3 <.LM43>:
int i=0;
5f3: 80 im 0

000005f4 <.LM44>:
// sdram from 8MB to 16MB
// sram from 0x200000

*zpu_ledr = 0xf0f0f0f0;
5f4: 0b nop
5f5: 80 im 0
5f6: fc im -4
5f7: b0 im 48
5f8: 08 load
5f9: 53 storesp 12
5fa: 53 storesp 12
5fb: ff im -1
5fc: 87 im 7
5fd: c3 im -61
5fe: e1 im -31
5ff: f0 im -16
600: 72 loadsp 8
601: 0c store

00000602 <.LM45>:
*zpu_ledg = 0x0;
602: 80 im 0
603: fc im -4
604: b4 im 52
605: 08 load
606: 73 loadsp 12
607: 71 loadsp 4
608: 0c store
609: 52 storesp 8

0000060a <.LM46>:
wait_us(200000);
60a: 8c im 12
60b: 9a im 26
60c: c0 im -64
60d: 51 storesp 4
60e: fd im -3
60f: a3 im 35
610: 3f callpcrel

00000611 <.LM47>:

for (i=0x200000; i!=0x210000; i+=1)
611: 88 im 8
612: 80 im 0
613: 0a flip
614: 53 storesp 12

00000615 <.L46>:
{
// TODO - use short!
*(unsigned char volatile *)(i) = 0x0000;
615: 80 im 0
616: 73 loadsp 12
617: 70 loadsp 0
618: 81 im 1
619: 05 add
61a: 55 storesp 20
61b: 34 storeb

0000061c <.LM49>:
61c: 72 loadsp 8
61d: 81 im 1
61e: 84 im 4
61f: 80 im 0
620: 80 im 0
621: 2e eq
622: 09 not
623: 81 im 1
624: 06 and
625: ef im -17
626: 38 neqbranch

00000627 <.LM50>:
}

*zpu_ledr = 0x55555555;
627: 80 im 0
628: fc im -4
629: b0 im 48
62a: 08 load
62b: 54 storesp 16
62c: 85 im 5
62d: aa im 42
62e: d5 im -43
62f: aa im 42
630: d5 im -43
631: 74 loadsp 16
632: 0c store

00000633 <.LM51>:
*zpu_ledg = 0x55555555;
633: 80 im 0
634: fc im -4
635: b4 im 52
636: 08 load
637: 52 storesp 8
638: 85 im 5
639: aa im 42
63a: d5 im -43
63b: aa im 42
63c: d5 im -43
63d: 72 loadsp 8
63e: 0c store

0000063f <.LM52>:

for (i=0x800000; i!=0x810000; i+=4)
63f: 82 im 2
640: 80 im 0
641: 0a flip
642: 53 storesp 12

00000643 <.L50>:
{
*(unsigned int volatile *)(i) = 0x00000000;
643: 80 im 0
644: 73 loadsp 12
645: 70 loadsp 0
646: 84 im 4
647: 05 add
648: 55 storesp 20
649: 0c store

0000064a <.LM54>:
64a: 72 loadsp 8
64b: 84 im 4
64c: 84 im 4
64d: 80 im 0
64e: 80 im 0
64f: 2e eq
650: 09 not
651: 81 im 1
652: 06 and
653: ef im -17
654: 38 neqbranch

00000655 <.LM55>:
}

*zpu_ledr = 0;
655: 80 im 0
656: 74 loadsp 16
657: 0c store

00000658 <.LM56>:
*zpu_ledg = 0xf0f0f0f0;
658: ff im -1
659: 87 im 7
65a: c3 im -61
65b: e1 im -31
65c: f0 im -16
65d: 72 loadsp 8
65e: 0c store

0000065f <.LM57>:
wait_us(200000);
65f: 8c im 12
660: 9a im 26
661: c0 im -64
662: 51 storesp 4
663: fc im -4
664: ce im -50
665: 3f callpcrel

00000666 <.LM58>:
return;
666: 85 im 5
667: 3d pushspadd
668: 0d popsp
669: 04 poppc

0000066a <reset_6502>:
}

void reset_6502(unsigned int reset_n)
{
66a: ff im -1
66b: 3d pushspadd
66c: 0d popsp

0000066d <.LM60>:
int prev = *zpu_config;
66d: 80 im 0
66e: fc im -4
66f: c4 im -60
670: 08 load
671: 70 loadsp 0
672: 08 load
673: 52 storesp 8
674: 52 storesp 8

00000675 <.LM61>:
if (reset_n == 1)
675: 73 loadsp 12
676: 81 im 1
677: 2e eq
678: 8b im 11
679: 38 neqbranch

0000067a <.LM62>:
*zpu_config = prev&~(1<<7);
else
*zpu_config = prev|(1<<7);
67a: 70 loadsp 0
67b: 81 im 1
67c: 80 im 0
67d: 07 or
67e: 72 loadsp 8
67f: 0c store

00000680 <.LM63>:
// USES ASHIFTLEFT even with it disabled!! *reset_6502 = reset_n<<7;
}
680: 83 im 3
681: 3d pushspadd
682: 0d popsp
683: 04 poppc

00000684 <.L61>:
684: 70 loadsp 0
685: fe im -2
686: ff im -1
687: 06 and

00000688 <.LM65>:
688: 72 loadsp 8
689: 0c store

0000068a <.LM66>:
68a: 83 im 3
68b: 3d pushspadd
68c: 0d popsp
68d: 04 poppc

0000068e <pause_6502>:

void pause_6502(unsigned int pause)
{
68e: ff im -1
68f: 3d pushspadd
690: 0d popsp

00000691 <.LM68>:
int prev = *zpu_config;
691: 80 im 0
692: fc im -4
693: c4 im -60
694: 08 load
695: 70 loadsp 0
696: 08 load
697: 52 storesp 8
698: 52 storesp 8

00000699 <.LM69>:
if (pause == 0)
699: 73 loadsp 12
69a: 8b im 11
69b: 38 neqbranch

0000069c <.LM70>:
*zpu_config = prev&~(1<<6);
69c: 70 loadsp 0
69d: ff im -1
69e: bf im 63
69f: 06 and

000006a0 <.LM71>:
else
*zpu_config = prev|(1<<6);
6a0: 72 loadsp 8
6a1: 0c store

000006a2 <.LM72>:
// USES ASHIFTLEFT even with it disabled!! *reset_6502 = reset_n<<7;
}
6a2: 83 im 3
6a3: 3d pushspadd
6a4: 0d popsp
6a5: 04 poppc

000006a6 <.L63>:
6a6: 70 loadsp 0
6a7: 80 im 0
6a8: c0 im -64
6a9: 07 or
6aa: 72 loadsp 8
6ab: 0c store

000006ac <.LM74>:
6ac: 83 im 3
6ad: 3d pushspadd
6ae: 0d popsp
6af: 04 poppc

000006b0 <disk_initialize>:

void actions()
{
unsigned int i = 0;
//unsigned volatile char * store = 0xf00000; // SDRAM - fails!!
unsigned volatile char * store = 0x27f000; // SRAM...
unsigned volatile char * store2 = 0x270000; // custom chips...

if ((1&*zpu_key) == 1)
{
unsigned char volatile * mem;
unsigned char volatile * mem2;
unsigned char volatile * mem3;
unsigned char store_portb;
int reboot = 0;
int temp;
int row = 0;
int next = 0;
int go = 0;

// stop 6502
pause_6502(1);

// TODO -
// menu for 64k/128k/320K Compy/320K Rambo
// menu for ROM bank
// menu for GPIO on/off

initdebug(1);

mem = 0x9c00 + 0x10000;
// Copy 1k from 0x$9c00 to sdram
// 0x200000; sram
// 0x800000; sdram (always use...)
for (i=0x0; i!=1024; i++)
{
store[i] = mem[i];
}
for (i=0x40; i!=1024; i++)
{
mem[i] = 0;
}

{
//gtia
mem2 = 0x20000;
mem3 = 0x10000;
for (i=0xd000; i!=0xd01f; i++)
{
store2[i] = mem2[i];
mem3[i] = 0;
}
//pokey1/2
for (i=0xd200; i!=0xd21f; i++)
{
store2[i] = mem2[i];
mem3[i] = 0;
}
//antic
for (i=0xd400; i!=0xd40f; i++)
{
store2[i] = mem2[i];
mem3[i] = 0;
}
}

store_portb = *atari_portb;

// write a display list at 9c00
char dl[] = {
0x70,0x70,0x70,
0x42,0x40,0x9c,
0x2,0x2,0x2,0x2,0x2,
0x2,0x2,0x2,0x2,0x2,
0x2,0x2,0x2,0x2,0x2,
0x2,0x2,0x2,0x2,0x2,
0x2,0x2,0x2,
0x70,
0x41,0x00,0x9c
};
for (i=0; i!=sizeof(dl); ++i)
{
mem[i] = dl[i];
}

// point antic at my display list
*atari_dlistl = 0x00;
*atari_dlisth = 0x9c;
*atari_colbk = 0x00;
*atari_colpf1 = 0x0f;
*atari_colpf2 = 0x00;
*atari_prior = 0x00;
*atari_chbase = 0xe0;
*atari_dmactl = 0x22;
*atari_portb = 0xff;
*atari_skctl = 0x3;
*atari_chactl = 0x2;

for (;;)
{
wait_us(120000);
topofscreen();
for (i=0; i!=(24*40); ++i)
{
*(unsigned char volatile *)(i+0x10000+40000) = 0x00;
}
// 0-5 speed
// 6-pause
// 7-reset
// 8-9-ram
// 12-13-rom
// 16-gpio_enable
debug("System settings\n");
debug("---------------\n");
debug("Memory:");
temp = 0xf&((*zpu_config)>>8);
if (row == 0)
{
if (next != 0)
{
temp = temp+next;
*zpu_config = (*zpu_config&0xfffff0ff)|((temp&0x3)<<8);
next = 0;
go = 0;
continue;
}
debugoffset(128);
}
switch (temp)
{
case 0:
debug("64KiB");
break;
case 1:
debug("128KiB");
break;
case 2:
debug("320KiB Compy Shop");
break;
case 3:
debug("320KiB Rambo");
break;
default:
debug("Unknown");
break;
}
debug("\n");
debug("ROM bank:");
temp = 0xf&((*zpu_config)>>12);
if (row == 1)
{
if (next != 0)
{
temp = temp+next;
*zpu_config = (*zpu_config&0xffff0fff)|((temp&0x3)<<12);
next = 0;
go = 0;
continue;
}
debugoffset(128);
}
switch (temp)
{
case 0:
debug("0 (default:XL)");
break;
case 1:
debug("1 (default:XL + hi speed)");
break;
case 2:
debug("2 (default:Ultimon)");
break;
case 3:
debug("3 (default:OS B + hi speed)");
break;
default:
debug("Unknown");
break;
}
debug("\n");
debug("Speed:");
temp = 0x3f&((*zpu_config)>>0);
if (row == 2)
{
if (next != 0)
{
temp = temp+next;
if (temp < 0) temp =0;
*zpu_config = (*zpu_config&0xffffffc0)|(temp&0x3f);
next = 0;
go = 0;
continue;
}
debugoffset(128);
}
plotnextnumber(57500/(temp+1));
debug(" KHz\nD1:"); // Bring up selector, instead of booting changes disk image
if (row == 3)
{
debugoffset(128);
}
debug(filename_d1);
debug("\nD2:");
if (row == 4)
{
debugoffset(128);
}
debug(filename_d2);
debug("\nD3:");
if (row == 5)
{
debugoffset(128);
}
debug(filename_d3);
debug("\nD4:");
if (row == 6)
{
debugoffset(128);
}
debug(filename_d4);
if (row>=3 && row<7)
{
if (go==1)
{
switch (row)
{
case 3:
selectfile(filename_d1);
break;
case 4:
selectfile(filename_d2);
break;
case 5:
selectfile(filename_d3);
break;
case 6:
selectfile(filename_d4);
break;
}
opendrive = row-2;
next = 0;
go = 0;
continue;
}
if (next==1)
{
for (i=0;i!=15;++i)
{
char temp = filename_d4[i];
filename_d4[i] = filename_d3[i];
filename_d3[i] = filename_d2[i];
filename_d2[i] = filename_d1[i];
filename_d1[i] = temp;
}
next = 0;
go = 0;
continue;
}
if (next==-1)
{
for (i=0;i!=15;++i)
{
char temp = filename_d1[i];
filename_d1[i] = filename_d2[i];
filename_d2[i] = filename_d3[i];
filename_d3[i] = filename_d4[i];
filename_d4[i] = temp;
}
next = 0;
go = 0;
continue;
}
}
if (row == 7)
{
debugoffset(128);
}
debug("\nReboot");
if (row == 7)
{
if (go==1)
{
reboot = 1;
break;
}
}
if (row == 8)
{
debugoffset(128);
}
debug("\nExit");
if (row == 8)
{
if (go==1)
break;
}

next = 0;
go = 0;

for (;;)
{
unsigned char porta = *atari_porta;
if (0==(porta&0x2)) // down
{
row+=1;
if (row>8) row = 8;
break;
}
else if (0==(porta&0x1)) // up
{
row-=1;
if (row<0) row = 0;
break;
}
else if (0==(porta&0x8)) // right
{
next = 1;
break;
}
else if (0==(porta&0x4)) // left
{
next = -1;
break;
}
else if (0==(*atari_trig0)) // fire
{
go = 1;
while(0==(*atari_trig0));
break;
}
topofscreen();
//plotnextnumber(porta);
*atari_colbk = *atari_random;
//wait_us(200);
}
}

// wait 2 seconds
//for (i=0; i!=2000; ++i)
//{
// *atari_colbk = *atari_random;
// wait_us(1000);
//}

for (i=0x040; i!=1024; i++)
{
mem[i] = store[i];
}

{
//gtia
mem3 = 0x10000;
for (i=0xd000; i!=0xd01f; i++)
{
mem3[i] = store2[i];
}
//pokey1/2
for (i=0xd200; i!=0xd21f; i++)
{
mem3[i] = store2[i];
}
//antic
for (i=0xd400; i!=0xd40f; i++)
{
mem3[i] = store2[i];
}
}
*atari_portb = store_portb;
initdebug(debugmode);


if (reboot)
{
debug("Booting...");
wait_us(500000);

// reset process
reset_6502(0);
*atari_nmien = 0x00;
clear_64k_ram();
reset_6502(1);
}

// start 6502
pause_6502(0);
}

if ((2&*zpu_key) == 2)
{
int i;
unsigned char volatile * mem;

// TODO - disk swapping!

// OSD file selector...
// stop 6502
pause_6502(1);
clear_64k_ram();

char dl[] = {
0x70,0x70,0x70,
0x42,0x40,0x9c,
0x2,0x2,0x2,0x2,0x2,
0x2,0x2,0x2,0x2,0x2,
0x2,0x2,0x2,0x2,0x2,
0x2,0x2,0x2,0x2,0x2,
0x2,0x2,0x2,
0x70,
0x41,0x00,0x06
};
mem = 0x600 + 0x10000;
for (i=0; i!=sizeof(dl); ++i)
{
mem[i] = dl[i];
}

// point antic at my display list
*atari_dlistl = 0x00;
*atari_dlisth = 0x06;
*atari_colbk = 0x00;
*atari_colpf1 = 0x0f;
*atari_colpf2 = 0x00;
*atari_prior = 0x00;
*atari_portb = 0xff;
*atari_chbase = 0xe0;
*atari_dmactl = 0x22;

initdebug(1);

if (selectfile(filename_d1))
{
opendrive = 1;
debug("Booting...");
wait_us(500000);

// reset process
reset_6502(0);
*atari_nmien = 0x00;
clear_64k_ram();
reset_6502(1);
}

initdebug(debugmode);
pause_6502(0);
}
if ((4&*zpu_key) == 4)
{
// reset process
reset_6502(0);
reset_6502(1);
}
if ((8&*zpu_key) == 8)
{
// reset process
reset_6502(0);
*atari_nmien = 0x00;
clear_64k_ram();
reset_6502(1);
}
}

int sdrive_main();
int main(void)
{
unsigned int i=0;
debugmode = 0;
selfileno = 0;
opendrive = 0;
pause_6502(1);

speed = speedslow;
//FIXME if (2==(2&(*zpu_switches)))
if (0)
{
debugmode = 1;
}

initdebug(debugmode);

if (debugmode)
{
reset_6502(0);
*atari_nmien = 0x00;
clear_64k_ram();
reset_6502(1);
pause_6502(0);

wait_us(2000000);
}

//FIXME if (1==(1&(*zpu_switches)))
{
sdcard();
}

pause_6502(1);
reset_6502(0);
*atari_nmien = 0x00;
clear_64k_ram();
reset_6502(1);
pause_6502(0);

while (1)
{
actions();
}
return 0;
}

/*-----------------------------------------------------------------------*/
/* Low level disk I/O module skeleton for Petit FatFs (C)ChaN, 2009 */
/*-----------------------------------------------------------------------*/

#include "diskio.h"



/*-----------------------------------------------------------------------*/
/* Initialize Disk Drive */
/*-----------------------------------------------------------------------*/

DSTATUS disk_initialize (void)
{
DSTATUS stat;

n_actual_mmc_sector = 0xffffffff;
6b0: ff im -1
6b1: 0b nop
6b2: 83 im 3
6b3: e0 im -32
6b4: b0 im 48
6b5: 0c store

000006b6 <.L68>:
do
{
mmcInit();
6b6: 80 im 0
6b7: cd im -51
6b8: ba im 58
6b9: 3f callpcrel

000006ba <.LBE2>:
}
6ba: 80 im 0
6bb: d0 im -48
6bc: be im 62
6bd: 3f callpcrel
6be: 83 im 3
6bf: e0 im -32
6c0: 80 im 0
6c1: 08 load
6c2: f3 im -13
6c3: 38 neqbranch

000006c4 <.LM79>:
while(mmcReset()); //dokud nenulove, tak smycka (return 0 => ok!)

set_spi_clock_freq();
6c4: 80 im 0
6c5: d3 im -45
6c6: 83 im 3
6c7: 3f callpcrel

000006c8 <.LM80>:

stat = RES_OK;

return stat;
}
6c8: 80 im 0
6c9: 0b nop
6ca: 83 im 3
6cb: e0 im -32
6cc: 80 im 0
6cd: 0c store
6ce: 04 poppc

000006cf <disk_writep>:



/*-----------------------------------------------------------------------*/
/* Read Partial Sector */
/*-----------------------------------------------------------------------*/

DRESULT disk_readp (
BYTE* dest, /* Pointer to the destination object */
DWORD sector, /* Sector number (LBA) */
WORD sofs, /* Offset in the sector */
WORD count /* Byte count (bit15:destination) */
)
{
DRESULT res;

/*debug("readp:");
plotnextnumber(sector);
debug(" ");
plotnextnumber((int)dest);
debug(" ");
plotnextnumber(sofs);
debug(" ");
plotnextnumber(count);
debug(" ");
plotnextnumber(atari_sector_buffer);
debug(" ");
plotnextnumber(mmc_sector_buffer);
debug("\n");
*/
// Put your code here
mmcReadCached(sector);
for(;count>0;++sofs,--count)
{
unsigned char x = mmc_sector_buffer[sofs];
//printf("char:%02x loc:%d", x,sofs);
*dest++ = x;
}

res = RES_OK;

return res;
}



/*-----------------------------------------------------------------------*/
/* Write Partial Sector */
/*-----------------------------------------------------------------------*/

DRESULT disk_writep (const BYTE* buff, DWORD sc)
{
6cf: 80 im 0
6d0: 3d pushspadd
6d1: 0d popsp

000006d2 <.LM82>:
DRESULT res;


if (!buff) {
if (sc) {

// Initiate write process

} else {

// Finalize write process

}
} else {

// Send data to the disk

}

return res;
}
6d2: 70 loadsp 0
6d3: 83 im 3
6d4: e0 im -32
6d5: 80 im 0
6d6: 0c store
6d7: 82 im 2
6d8: 3d pushspadd
6d9: 0d popsp
6da: 04 poppc

000006db <byteswap>:


struct ATRHeader
{
u16 wMagic;
u16 wPars;
u16 wSecSize;
u08 btParsHigh;
u32 dwCRC;
} __attribute__((packed));
int offset;
int xex_loader;
int xex_size;
uint8_t xex_name[12];
uint8_t boot_xex_loader[179] = {
0x72,0x02,0x5f,0x07,0xf8,0x07,0xa9,0x00,0x8d,0x04,0x03,0x8d,0x44,0x02,0xa9,0x07,
0x8d,0x05,0x03,0xa9,0x70,0x8d,0x0a,0x03,0xa9,0x01,0x8d,0x0b,0x03,0x85,0x09,0x60,
0x7d,0x8a,0x48,0x20,0x53,0xe4,0x88,0xd0,0xfa,0x68,0xaa,0x8c,0x8e,0x07,0xad,0x7d,
0x07,0xee,0x8e,0x07,0x60,0xa9,0x93,0x8d,0xe2,0x02,0xa9,0x07,0x8d,0xe3,0x02,0xa2,
0x02,0x20,0xda,0x07,0x95,0x43,0x20,0xda,0x07,0x95,0x44,0x35,0x43,0xc9,0xff,0xf0,
0xf0,0xca,0xca,0x10,0xec,0x30,0x06,0xe6,0x45,0xd0,0x02,0xe6,0x46,0x20,0xda,0x07,
0xa2,0x01,0x81,0x44,0xb5,0x45,0xd5,0x43,0xd0,0xed,0xca,0x10,0xf7,0x20,0xd2,0x07,
0x4c,0x94,0x07,0xa9,0x03,0x8d,0x0f,0xd2,0x6c,0xe2,0x02,0xad,0x8e,0x07,0xcd,0x7f,
0x07,0xd0,0xab,0xee,0x0a,0x03,0xd0,0x03,0xee,0x0b,0x03,0xad,0x7d,0x07,0x0d,0x7e,
0x07,0xd0,0x8e,0x20,0xd2,0x07,0x6c,0xe0,0x02,0x20,0xda,0x07,0x8d,0xe0,0x02,0x20,
0xda,0x07,0x8d,0xe1,0x02,0x2d,0xe0,0x02,0xc9,0xff,0xf0,0xed,0xa9,0x00,0x8d,0x8e,
0x07,0xf0,0x82 };
// relokacni tabulka neni potreba, meni se vsechny hodnoty 0x07
// (melo by byt PRESNE 20 vyskytu! pokud je jich vic, pak bacha!!!)

void byteswap(WORD * inw)
{
6db: ff im -1
6dc: 3d pushspadd
6dd: 0d popsp
6de: 73 loadsp 12

000006df <.LM84>:
unsigned char * in = (unsigned char *)inw;
unsigned char temp = in[0];
6df: 70 loadsp 0
6e0: 33 loadb
6e1: 53 storesp 12
6e2: 51 storesp 4

000006e3 <.LM85>:
in[0] = in[1];
6e3: 81 im 1
6e4: 11 addsp 4
6e5: 33 loadb
6e6: 71 loadsp 4
6e7: 34 storeb

000006e8 <.LM86>:
in[1] = temp;
6e8: 71 loadsp 4
6e9: 81 im 1
6ea: 12 addsp 8
6eb: 34 storeb
6ec: 83 im 3
6ed: 3d pushspadd
6ee: 0d popsp
6ef: 04 poppc

000006f0 <get_checksum>:
}

struct command
{
u08 deviceId;
u08 command;
u08 aux1;
u08 aux2;
u08 chksum;
} __attribute__((packed));
void getCommand(struct command * cmd)
{
int expchk;

//debug("Waiting for command\n");
//USART_Data_Ready();
while (0 == (1&(*zpu_sio)));
//debug("Init:");
//plotnextnumber(*zpu_sio);
USART_Init(speed+6);
//plotnextnumber(speed);
//debug("\n");
while (1 == (1&(*zpu_sio)))
{
actions();
}
cmd->deviceId = USART_Receive_Byte();
cmd->command = USART_Receive_Byte();
cmd->aux1 = USART_Receive_Byte();
cmd->aux2 = USART_Receive_Byte();
cmd->chksum = USART_Receive_Byte();
while (0 == (1&(*zpu_sio)));
debug("cmd:");
//debug("Gone high\n");
atari_sector_buffer[0] = cmd->deviceId;
atari_sector_buffer[1] = cmd->command;
atari_sector_buffer[2] = cmd->aux1;
atari_sector_buffer[3] = cmd->aux2;
expchk = get_checksum(&atari_sector_buffer[0],4);

//debug("Device id:");
plotnextnumber(cmd->deviceId);
//debug("\n");
//debug("command:");
plotnextnumber(cmd->command);
//debug("\n");
//debug("aux1:");
plotnextnumber(cmd->aux1);
//debug("\n");
//debug("aux2:");
plotnextnumber(cmd->aux2);
//debug("\n");
//debug("chksum:");
plotnextnumber(cmd->chksum);
plotnextnumber(expchk);

if (expchk!=cmd->chksum || USART_Framing_Error())
{
debug("ERR ");
//wait_us(1000000);
if (speed == speedslow)
{
speed = speedfast;
debug("SPDF");
plotnextnumber(speed);
}
else
{
speed = speedslow;
debug("SPDS");
plotnextnumber(speed);
}
}
debug("\n");

DELAY_T2_MIN;
}

void openfile(const char * filename)
{
WORD read = 0;
int dot = 0;
int xfd = 0;
validfile = 0;
debug("Opening:");
debug(filename);
debug(":");
if (FR_OK!=pf_open(filename))
{
debug("fail\n");
return; //while(1);
//while(1);
}
debug("ok\n");

while (1)
{
if (filename[dot] == '\0')
break;
if (filename[dot] != '.')
{
++dot;
continue;
}
if (filename[dot+1] == 'X' || filename[dot+1] == 'x')
if (filename[dot+2] == 'F' || filename[dot+2] == 'f')
if (filename[dot+3] == 'D' || filename[dot+3] == 'd')
{
xfd = 1;
break;
}
break;
}

// Read header
read = 0;
pf_read(&atr_header, 16, &read);
if (read!=16)
{
debug("Could not read header\n");
return; //while(1);
}
byteswap(&atr_header.wMagic);
byteswap(&atr_header.wPars);
byteswap(&atr_header.wSecSize);
/*debug("\nHeader:");
plotnextnumber(atr_header.wMagic);
plotnext(toatarichar(' '));
plotnextnumber(atr_header.wPars);
plotnext(toatarichar(' '));
plotnextnumber(atr_header.wSecSize);
plotnext(toatarichar(' '));
plotnextnumber(atr_header.btParsHigh);
plotnext(toatarichar(' '));
plotnextnumber(atr_header.dwCRC);
debug("\n");
*/

xex_loader = 0;
if (xfd == 1)
{
debug("XFD ");
// build a fake atr header
offset = 0;
atr_header.wMagic = 0x296;
atr_header.wPars = filesize(filename)/16;
atr_header.wSecSize = 0x80;
}
else if (atr_header.wMagic == 0xFFFF) // XEX
{
int i;
debug("XEX ");
offset = -256;
xex_loader = 1;
atr_header.wMagic = 0xffff;
xex_size = filesize(filename);
atr_header.wPars = xex_size/16;
atr_header.wSecSize = XEX_SECTOR_SIZE;
for (i=0;i!=12;++i)
xex_name[i] = filename[i];
}
else if (atr_header.wMagic == 0x296) // ATR
{
debug("ATR ");
offset = 16;
}
else
{
debug("Unknown file type");
return;
}

if (atr_header.wSecSize == 0x80)
{
if (atr_header.wPars>(720*128/16))
debug("MD ");
else
debug("SD ");
}
else if (atr_header.wSecSize == 0x100)
{
debug("DD ");
}
else if (atr_header.wSecSize < 0x100)
{
debug("XD ");
}
else
{
debug("BAD sector size");
return;
}
plotnextnumber(atr_header.wPars);
debug("0\n");
validfile = 1;
}

void sdcard()
{
int i;
int commandcount = 0;
int badcommandcount = 0;
WORD read;
struct command command;
int location;
char const * default_filename = "BOOT.ATR";

debug("sdcard\n");

debug("disk_init:");
if(disk_initialize()!=RES_OK)
{
debug("fail\n");
return;
}
debug("ok\n");

debug("mount:");
if(pf_mount(&fatfs)!=FR_OK)
{
debug("fail\n");
return;
}
debug("ok\n");

debug("opendir:");
if (FR_OK != pf_opendir(&dir,"/"))
{
debug("fail\n");
return;
}
debug("ok\n");

while (FR_OK == pf_readdir(&dir,&filinfo) && filinfo.fname[0]!='\0')
{
debug(filinfo.fname);
}

for (i=0;i!=15;++i)
{
filename_d1[i] = default_filename[i];
filename_d2[i] = default_filename[i];
filename_d3[i] = default_filename[i];
filename_d4[i] = default_filename[i];
if (default_filename[i] == 0) break;
}
opendrive = 1;
openfile(filename_d1);

reset_6502(0);
*atari_nmien = 0x00;
clear_64k_ram();
reset_6502(1);
pause_6502(0);

USART_Init(speed+6);
while (1)
{
getCommand(&command);
++commandcount;
/*FIXME if (commandcount==4 && (4==(4&(*zpu_switches))))
{
debug("Paused\n");
pause_6502(1);
while(1);
}*/
/*if (badcommandcount==8)
{
debug("Stuck?\n");
pause_6502(1);
while(1);
}*/

if (command.deviceId >= 0x31 && command.deviceId < 0x34)
{
int sent = 0;
int drive = 0;

drive = command.deviceId&0xf;
if (drive!=opendrive)
{
opendrive = drive;
switch(drive)
{
case 1:
openfile(filename_d1);
break;
case 2:
openfile(filename_d2);
break;
case 3:
openfile(filename_d3);
break;
case 4:
openfile(filename_d4);
break;
}
}

if (!validfile)
{
//USART_Transmit_Mode();
//send_NACK();
//USART_Wait_Transmit_Complete();
//wait_us(100); // Wait for transmission to complete - Pokey bug, gets stuck active...
//USART_Receive_Mode();
continue;
}

switch (command.command)
{
case 0x3f:
{
debug("Speed:");
int sector = ((int)command.aux1) + (((int)command.aux2&0x7f)<<8);
USART_Transmit_Mode();
send_ACK();
clearAtariSectorBuffer();
atari_sector_buffer[0] = speedfast;
hexdump_pure(atari_sector_buffer,1);
USART_Send_cmpl_and_atari_sector_buffer_and_check_sum(1);
sent = 1;
if (sector == 0)
{
speed = speedfast;
debug("SPDF");
plotnextnumber(speed);
}
else
{
speed = speedslow;
debug("SPDS");
plotnextnumber(speed);
}
}
case 0x53:
{
unsigned char status;
debug("Stat:");
USART_Transmit_Mode();
send_ACK();
clearAtariSectorBuffer();

status = 0x10; // Motor on;
status |= 0x08; // write protected; // no write support yet...
if (atr_header.wSecSize == 0x80) // normal sector size
{
if (atr_header.wPars>(720*128/16))
{
status |= 0x80; // medium density - or a strange one...
}
}
else
{
status |= 0x20; // 256 byte sectors
}
atari_sector_buffer[0] = status;
atari_sector_buffer[1] = 0xff;
atari_sector_buffer[2] = 0xe0;
atari_sector_buffer[3] = 0x0;
hexdump_pure(atari_sector_buffer,4); // Somehow with this...
USART_Send_cmpl_and_atari_sector_buffer_and_check_sum(4);
sent = 1;
plotnextnumber(atari_sector_buffer[0]); // and this... The wrong checksum is sent!!
debug(":done\n");
}
break;
case 0x50: // write
case 0x57: // write with verify
default:
// TODO
//USART_Transmit_Mode();
//send_NACK();
//USART_Wait_Transmit_Complete();
//USART_Receive_Mode();
break;
case 0x52: // read
{
int sector = ((int)command.aux1) + (((int)command.aux2&0x7f)<<8);
int sectorSize = 0;

USART_Transmit_Mode();
send_ACK();
read = 0;
debug("Sector:");
plotnextnumber(sector);
debug(":");
if(xex_loader) //n_sector>0 && //==0 se overuje hned na zacatku
{
//sektory xex bootloaderu, tj. 1 nebo 2
u08 i,b;
u08 *spt, *dpt;
int file_sectors;

//file_sectors se pouzije pro sektory $168 i $169 (optimalizace)
//zarovnano nahoru, tj. =(size+124)/125
file_sectors = ((xex_size+(u32)(XEX_SECTOR_SIZE-3-1))/((u32)XEX_SECTOR_SIZE-3));

debug("XEX ");

if (sector<=2)
{
debug("boot ");

spt= &boot_xex_loader[(u16)(sector-1)*((u16)XEX_SECTOR_SIZE)];
dpt= atari_sector_buffer;
i=XEX_SECTOR_SIZE;
do
{
b=*spt++;
//relokace bootloaderu z $0700 na jine misto
//TODO if (b==0x07) b+=bootloader_relocation;
*dpt++=b;
i--;
} while(i);
}
else
if(sector==0x168)
{
debug("numtobuffer ");
//vrati pocet sektoru diskety
//byty 1,2
goto set_number_of_sectors_to_buffer_1_2;
}
else
if(sector==0x169)
{
debug("name ");
//fatGetDirEntry(FileInfo.vDisk.file_index,5,0);
//fatGetDirEntry(FileInfo.vDisk.file_index,0); //ale musi to posunout o 5 bajtu doprava

{
u08 i,j;
for(i=j=0;i<8+3;i++)
{
if( ((xex_name[i]>='A' && xex_name[i]<='Z') ||
(xex_name[i]>='0' && xex_name[i]<='9')) )
{
//znak je pouzitelny na Atari
atari_sector_buffer[j]=xex_name[i];
j++;
}
if ( (i==7) || (i==8+2) )
{
for(;j<=i;j++) atari_sector_buffer[j]=' ';
}
}
//posune nazev z 0-10 na 5-15 (0-4 budou systemova adresarova data)
//musi pozpatku
for(i=15;i>=5;i--) atari_sector_buffer[i]=atari_sector_buffer[i-5];
//a pak uklidi cely zbytek tohoto sektoru
for(i=5+8+3;i<XEX_SECTOR_SIZE;i++)
atari_sector_buffer[i]=0x00;
}

//teprve ted muze pridat prvnich 5 bytu na zacatek nulte adresarove polozky (pred nazev)
//atari_sector_buffer[0]=0x42; //0
//jestlize soubor zasahuje do sektoru cislo 1024 a vic,
//status souboru je $46 misto standardniho $42
atari_sector_buffer[0]=(file_sectors>(0x400-0x171))? 0x46 : 0x42; //0

TWOBYTESTOWORD(atari_sector_buffer+3,0x0171); //3,4
set_number_of_sectors_to_buffer_1_2:
TWOBYTESTOWORD(atari_sector_buffer+1,file_sectors); //1,2
}
else
if(sector>=0x171)
{
debug("data ");
pf_lseek(((u32)sector-0x171)*((u32)XEX_SECTOR_SIZE-3));
pf_read(&atari_sector_buffer[0], XEX_SECTOR_SIZE-3, &read);

if(read<(XEX_SECTOR_SIZE-3))
sector=0; //je to posledni sektor
else
sector++; //ukazatel na dalsi

atari_sector_buffer[XEX_SECTOR_SIZE-3]=((sector)>>8); //nejdriv HB !!!
atari_sector_buffer[XEX_SECTOR_SIZE-2]=((sector)&0xff); //pak DB!!! (je to HB,DB)
atari_sector_buffer[XEX_SECTOR_SIZE-1]=read;
}
debug(" sending\n");

sectorSize = XEX_SECTOR_SIZE;
}
else
{
location = offset;
if (sector>3)
{
sector-=4;
location += 128*3;
location += sector*atr_header.wSecSize;
sectorSize = atr_header.wSecSize;
}
else
{
location += 128*(sector-1);
sectorSize = 128;
}
plotnextnumber(location);
debug("\n");
pf_lseek(location);
pf_read(&atari_sector_buffer[0], sectorSize, &read);
}

//topofscreen();
//hexdump_pure(atari_sector_buffer,sectorSize);
//debug("Sending\n");
USART_Send_cmpl_and_atari_sector_buffer_and_check_sum(sectorSize);
sent = 1;

//pause_6502(1);
//hexdump_pure(0x10000+0x400,128);
unsigned char chksumreceive = get_checksum(0x10000+0x400, sectorSize);
debug(" receive:");
plotnextnumber(chksumreceive);
debug("\n");
//pause_6502(1);
//while(1);
}

break;
}

//wait_us(100); // Wait for transmission to complete - Pokey bug, gets stuck active...

if (sent)
USART_Wait_Transmit_Complete();
USART_Receive_Mode();
}
else
{
++badcommandcount;
}
}
}

void mmcReadCached(u32 sector)
{
//debug("mmcReadCached");
//plotnext(toatarichar(' '));
//plotnextnumber(sector);
//debug("\n");
if(sector==n_actual_mmc_sector) return;
//debug("mmcReadREAL");
//plotnext(toatarichar(' '));
//plotnextnumber(sector);
//debug("\n");

u08 ret,retry;
//predtim nez nacte jiny, musi ulozit soucasny
// TODO mmcWriteCachedFlush();
//az ted nacte novy
retry=0; //zkusi to maximalne 256x
do
{
ret = mmcRead(sector); //vraci 0 kdyz ok
retry--;
} while (ret && retry);
while(ret); //a pokud se vubec nepovedlo, tady zustane zablokovany cely SDrive!
n_actual_mmc_sector=sector;
}

unsigned char get_checksum(unsigned char* buffer, u16 len)
{
6f0: fb im -5
6f1: 3d pushspadd
6f2: 0d popsp
6f3: 77 loadsp 28
6f4: 02 pushsp
6f5: 84 im 4
6f6: 05 add
6f7: a2 im 34
6f8: 05 add
6f9: 22 loadh
6fa: 56 storesp 24
6fb: 56 storesp 24

000006fc <.LM88>:
u16 i;
u08 sumo,sum;
sum=sumo=0;
6fc: 80 im 0
6fd: 70 loadsp 0

000006fe <.LM89>:
for(i=0;i<len;i++)
6fe: 71 loadsp 4
6ff: 55 storesp 20
700: 55 storesp 20
701: 52 storesp 8
702: 71 loadsp 4
703: 75 loadsp 20
704: 27 ulessthanorequal
705: ac im 44
706: 38 neqbranch

00000707 <.L83>:
{
sum+=buffer[i];
707: 75 loadsp 20
708: 13 addsp 12
709: 70 loadsp 0
70a: 33 loadb
70b: 70 loadsp 0
70c: 14 addsp 16
70d: 70 loadsp 0
70e: 81 im 1
70f: ff im -1
710: 06 and
711: 55 storesp 20
712: 51 storesp 4
713: 51 storesp 4
714: 51 storesp 4

00000715 <.LM91>:
if(sum<sumo) sum++;
715: 71 loadsp 4
716: 74 loadsp 16
717: 27 ulessthanorequal
718: 89 im 9
719: 38 neqbranch
71a: 81 im 1
71b: 12 addsp 8
71c: 70 loadsp 0
71d: 81 im 1
71e: ff im -1
71f: 06 and
720: 53 storesp 12
721: 51 storesp 4

00000722 <.L82>:
sumo = sum;
722: 71 loadsp 4

00000723 <.LM93>:
723: 81 im 1
724: 14 addsp 16
725: 70 loadsp 0
726: 83 im 3
727: ff im -1
728: ff im -1
729: 06 and
72a: 55 storesp 20
72b: 52 storesp 8
72c: 54 storesp 16
72d: 74 loadsp 16
72e: 73 loadsp 12
72f: 26 ulessthan
730: d6 im -42
731: 38 neqbranch

00000732 <.L85>:
}
return sum;
}
732: 71 loadsp 4
733: 83 im 3
734: e0 im -32
735: 80 im 0
736: 0c store
737: 87 im 7
738: 3d pushspadd
739: 0d popsp
73a: 04 poppc

0000073b <openfile>:
73b: f8 im -8
73c: 3d pushspadd
73d: 0d popsp
73e: 7a loadsp 40
73f: 57 storesp 28

00000740 <.LM96>:
740: 80 im 0
741: 0b nop
742: 8a im 10
743: 3d pushspadd
744: 23 storeh

00000745 <.LM97>:
745: 80 im 0

00000746 <.LM98>:
746: 70 loadsp 0

00000747 <.LM99>:
747: 71 loadsp 4
748: 83 im 3
749: e2 im -30
74a: e4 im -28
74b: 0c store

0000074c <.LM100>:
74c: 0b nop
74d: 0b nop
74e: 80 im 0
74f: f5 im -11
750: 80 im 0
751: 53 storesp 12
752: 57 storesp 28
753: 58 storesp 32
754: 80 im 0
755: d9 im -39
756: 96 im 22
757: 3f callpcrel

00000758 <.LM101>:
758: 76 loadsp 24
759: 51 storesp 4
75a: 80 im 0
75b: d9 im -39
75c: 90 im 16
75d: 3f callpcrel

0000075e <.LM102>:
75e: 0b nop
75f: 0b nop
760: 80 im 0
761: f9 im -7
762: b8 im 56
763: 51 storesp 4
764: 80 im 0
765: d9 im -39
766: 86 im 6
767: 3f callpcrel

00000768 <.LM103>:
768: 76 loadsp 24
769: 51 storesp 4
76a: 80 im 0
76b: c1 im -63
76c: c8 im -56
76d: 3f callpcrel
76e: 83 im 3
76f: e0 im -32
770: 80 im 0
771: 08 load
772: 78 loadsp 32
773: 2e eq
774: 8f im 15
775: 38 neqbranch

00000776 <.LM104>:
776: 0b nop
777: 0b nop
778: 80 im 0
779: f5 im -11
77a: 8c im 12
77b: 51 storesp 4

0000077c <.LM105>:
77c: 80 im 0
77d: d8 im -40
77e: ee im -18
77f: 3f callpcrel

00000780 <.L87>:
780: 8a im 10
781: 3d pushspadd
782: 0d popsp
783: 04 poppc

00000784 <.L88>:
784: 0b nop
785: 0b nop
786: 80 im 0
787: f5 im -11
788: 94 im 20
789: 51 storesp 4
78a: 80 im 0
78b: d8 im -40
78c: e0 im -32
78d: 3f callpcrel

0000078e <.L89>:
78e: 75 loadsp 20
78f: 17 addsp 28
790: 70 loadsp 0
791: 33 loadb
792: 55 storesp 20
793: 55 storesp 20
794: 73 loadsp 12
795: 80 im 0
796: 2e eq
797: 80 im 0
798: fd im -3
799: 38 neqbranch

0000079a <.LM109>:
79a: 73 loadsp 12
79b: ae im 46
79c: 2e eq
79d: 86 im 6
79e: 38 neqbranch

0000079f <.LM110>:
79f: 81 im 1
7a0: 16 addsp 24
7a1: 56 storesp 24
7a2: eb im -21
7a3: 39 poppcrel

000007a4 <.L92>:
7a4: 80 im 0
7a5: 0b nop
7a6: 81 im 1
7a7: 16 addsp 24
7a8: 33 loadb
7a9: 55 storesp 20
7aa: 56 storesp 24
7ab: 73 loadsp 12
7ac: 80 im 0
7ad: d8 im -40
7ae: 2e eq
7af: 09 not
7b0: 81 im 1
7b1: 06 and
7b2: 83 im 3
7b3: 38 neqbranch
7b4: 81 im 1
7b5: 56 storesp 24

000007b6 <.L94>:
7b6: 73 loadsp 12
7b7: 80 im 0
7b8: f8 im -8
7b9: 32 xor
7ba: 70 loadsp 0
7bb: 30 neg
7bc: 70 loadsp 0
7bd: 80 im 0
7be: 25 lessthanorequal
7bf: 78 loadsp 32
7c0: 07 or
7c1: 51 storesp 4
7c2: 51 storesp 4
7c3: 54 storesp 16
7c4: 73 loadsp 12
7c5: 80 im 0
7c6: 2e eq
7c7: 80 im 0
7c8: cd im -51
7c9: 38 neqbranch

000007ca <.LM112>:
7ca: 80 im 0
7cb: 0b nop
7cc: 82 im 2
7cd: 16 addsp 24
7ce: 33 loadb
7cf: 55 storesp 20
7d0: 56 storesp 24
7d1: 73 loadsp 12
7d2: 80 im 0
7d3: c6 im -58
7d4: 2e eq
7d5: 09 not
7d6: 81 im 1
7d7: 06 and
7d8: 83 im 3
7d9: 38 neqbranch
7da: 81 im 1
7db: 56 storesp 24

000007dc <.L97>:
7dc: 73 loadsp 12
7dd: 80 im 0
7de: e6 im -26
7df: 32 xor
7e0: 70 loadsp 0
7e1: 30 neg
7e2: 70 loadsp 0
7e3: 80 im 0
7e4: 25 lessthanorequal
7e5: 78 loadsp 32
7e6: 07 or
7e7: 51 storesp 4
7e8: 51 storesp 4
7e9: 54 storesp 16
7ea: 73 loadsp 12
7eb: 80 im 0
7ec: 2e eq
7ed: a8 im 40
7ee: 38 neqbranch

000007ef <.LM113>:
7ef: 80 im 0
7f0: 0b nop
7f1: 83 im 3
7f2: 16 addsp 24
7f3: 33 loadb
7f4: 55 storesp 20
7f5: 56 storesp 24
7f6: 73 loadsp 12
7f7: 80 im 0
7f8: c4 im -60
7f9: 2e eq
7fa: 09 not
7fb: 81 im 1
7fc: 06 and
7fd: 83 im 3
7fe: 38 neqbranch
7ff: 81 im 1
800: 56 storesp 24

00000801 <.L100>:
801: 73 loadsp 12
802: 80 im 0
803: e4 im -28
804: 32 xor
805: 70 loadsp 0
806: 30 neg
807: 70 loadsp 0
808: 80 im 0
809: 25 lessthanorequal
80a: 78 loadsp 32
80b: 07 or
80c: 51 storesp 4
80d: 51 storesp 4
80e: 54 storesp 16
80f: 73 loadsp 12
810: 80 im 0
811: 2e eq
812: 83 im 3
813: 38 neqbranch

00000814 <.LM114>:
814: 81 im 1
815: 58 storesp 32

00000816 <.L90>:
816: 80 im 0
817: 0b nop
818: 8a im 10
819: 3d pushspadd
81a: 23 storeh

0000081b <.LM116>:
81b: 8a im 10
81c: 3d pushspadd
81d: fc im -4
81e: 05 add
81f: 53 storesp 12
820: 90 im 16
821: 52 storesp 8
822: 83 im 3
823: e2 im -30
824: e8 im -24
825: 51 storesp 4
826: 80 im 0
827: c1 im -63
828: cc im -52
829: 3f callpcrel

0000082a <.LM117>:
82a: 89 im 9
82b: 3d pushspadd
82c: 22 loadh
82d: 55 storesp 20
82e: 74 loadsp 16
82f: 90 im 16
830: 2e eq
831: 8e im 14
832: 38 neqbranch

00000833 <.LM118>:
833: 0b nop
834: 0b nop
835: 80 im 0
836: f5 im -11
837: 98 im 24
838: 51 storesp 4

00000839 <.LM119>:
839: 80 im 0
83a: d7 im -41
83b: b1 im 49
83c: 3f callpcrel
83d: fe im -2
83e: c1 im -63
83f: 39 poppcrel

00000840 <.L102>:
840: 83 im 3
841: e2 im -30
842: e8 im -24
843: 51 storesp 4
844: fd im -3
845: 95 im 21
846: 3f callpcrel

00000847 <.LM121>:
847: 83 im 3
848: e2 im -30
849: ea im -22
84a: 51 storesp 4
84b: fd im -3
84c: 8e im 14
84d: 3f callpcrel

0000084e <.LM122>:
84e: 83 im 3
84f: e2 im -30
850: ec im -20
851: 51 storesp 4
852: fd im -3
853: 87 im 7
854: 3f callpcrel

00000855 <.LM123>:
855: 80 im 0
856: 0b nop
857: 83 im 3
858: e3 im -29
859: 88 im 8
85a: 0c store

0000085b <.LM124>:
85b: 77 loadsp 28
85c: 81 im 1
85d: 2e eq
85e: 81 im 1
85f: 8c im 12
860: 38 neqbranch

00000861 <.LM125>:
861: 83 im 3
862: e2 im -30
863: e8 im -24
864: 33 loadb
865: 83 im 3
866: e2 im -30
867: e9 im -23
868: 33 loadb
869: 71 loadsp 4
86a: 88 im 8
86b: 2b ashiftleft
86c: 07 or
86d: 55 storesp 20
86e: 56 storesp 24
86f: 73 loadsp 12
870: 83 im 3
871: ff im -1
872: ff im -1
873: 2e eq
874: 82 im 2
875: ce im -50
876: 38 neqbranch

00000877 <.LM126>:
877: 73 loadsp 12
878: 85 im 5
879: 96 im 22
87a: 2e eq
87b: 8e im 14
87c: 38 neqbranch

0000087d <.LM127>:
87d: 0b nop
87e: 0b nop
87f: 80 im 0
880: f5 im -11
881: b0 im 48
882: 51 storesp 4

00000883 <.LM128>:
883: 80 im 0
884: d6 im -42
885: e7 im -25
886: 3f callpcrel
887: fd im -3
888: f7 im -9
889: 39 poppcrel

0000088a <.L131>:
88a: 0b nop
88b: 0b nop
88c: 80 im 0
88d: f5 im -11
88e: c4 im -60
88f: 51 storesp 4
890: 80 im 0
891: d6 im -42
892: da im -38
893: 3f callpcrel

00000894 <.LM130>:
894: 74 loadsp 16
895: 83 im 3
896: e3 im -29
897: 90 im 16
898: 0c store

00000899 <.L105>:
899: 83 im 3
89a: e2 im -30
89b: ec im -20
89c: 33 loadb
89d: 83 im 3
89e: e2 im -30
89f: ed im -19
8a0: 33 loadb
8a1: 71 loadsp 4
8a2: 88 im 8
8a3: 2b ashiftleft
8a4: 07 or
8a5: 55 storesp 20
8a6: 55 storesp 20
8a7: 73 loadsp 12
8a8: 81 im 1
8a9: 80 im 0
8aa: 2e eq
8ab: 81 im 1
8ac: d3 im -45
8ad: 38 neqbranch

000008ae <.LM132>:
8ae: 73 loadsp 12
8af: 82 im 2
8b0: 80 im 0
8b1: 2e eq
8b2: 84 im 4
8b3: 81 im 1
8b4: 38 neqbranch

000008b5 <.LM133>:
8b5: 73 loadsp 12
8b6: 81 im 1
8b7: ff im -1
8b8: 26 ulessthan
8b9: 81 im 1
8ba: b8 im 56
8bb: 38 neqbranch

000008bc <.LM134>:
8bc: 0b nop
8bd: 0b nop
8be: 80 im 0
8bf: f5 im -11
8c0: cc im -52
8c1: 51 storesp 4
8c2: 80 im 0
8c3: d6 im -42
8c4: a8 im 40
8c5: 3f callpcrel

000008c6 <.LM135>:
8c6: 83 im 3
8c7: e2 im -30
8c8: ea im -22
8c9: 33 loadb
8ca: 83 im 3
8cb: e2 im -30
8cc: eb im -21
8cd: 33 loadb
8ce: 71 loadsp 4
8cf: 88 im 8
8d0: 2b ashiftleft
8d1: 07 or
8d2: 52 storesp 8
8d3: 56 storesp 24
8d4: 80 im 0
8d5: d7 im -41
8d6: a5 im 37
8d7: 3f callpcrel

000008d8 <.LM136>:
8d8: 0b nop
8d9: 0b nop
8da: 80 im 0
8db: f5 im -11
8dc: d0 im -48
8dd: 51 storesp 4
8de: 80 im 0
8df: d6 im -42
8e0: 8c im 12
8e1: 3f callpcrel

000008e2 <.LM137>:
8e2: 81 im 1
8e3: 0b nop
8e4: 83 im 3
8e5: e2 im -30
8e6: e4 im -28
8e7: 0c store

000008e8 <.L135>:
8e8: 8a im 10
8e9: 3d pushspadd
8ea: 0d popsp
8eb: 04 poppc

000008ec <.L129>:
8ec: 0b nop
8ed: 0b nop
8ee: 80 im 0
8ef: f5 im -11
8f0: d4 im -44
8f1: 51 storesp 4
8f2: 80 im 0
8f3: d5 im -43
8f4: f8 im -8
8f5: 3f callpcrel

000008f6 <.LM140>:
8f6: 80 im 0
8f7: 0b nop
8f8: 83 im 3
8f9: e3 im -29
8fa: 90 im 16
8fb: 0c store

000008fc <.LM141>:
8fc: 82 im 2
8fd: 0b nop
8fe: 83 im 3
8ff: e2 im -30
900: e8 im -24
901: 34 storeb
902: ff im -1
903: 96 im 22
904: 0b nop
905: 83 im 3
906: e2 im -30
907: e9 im -23
908: 34 storeb

00000909 <.LM142>:
909: 76 loadsp 24
90a: 51 storesp 4
90b: f7 im -9
90c: d2 im -46
90d: 3f callpcrel
90e: 83 im 3
90f: e0 im -32
910: 80 im 0
911: 08 load
912: 54 storesp 16
913: 80 im 0
914: 0b nop
915: 83 im 3
916: e0 im -32
917: 80 im 0
918: 08 load
919: 24 lessthan
91a: a9 im 41
91b: 38 neqbranch
91c: 73 loadsp 12
91d: 84 im 4
91e: 2c ashiftright
91f: 70 loadsp 0
920: 83 im 3
921: ff im -1
922: ff im -1
923: 06 and
924: 70 loadsp 0
925: 88 im 8
926: 2a lshiftright
927: 57 storesp 28
928: 51 storesp 4
929: 54 storesp 16
92a: 74 loadsp 16
92b: 83 im 3
92c: e2 im -30
92d: ea im -22
92e: 34 storeb
92f: 73 loadsp 12
930: 83 im 3
931: e2 im -30
932: eb im -21
933: 34 storeb

00000934 <.LM143>:
934: 80 im 0
935: 0b nop
936: 83 im 3
937: e2 im -30
938: ec im -20
939: 34 storeb
93a: ff im -1
93b: 80 im 0
93c: 0b nop
93d: 83 im 3
93e: e2 im -30
93f: ed im -19
940: 34 storeb
941: fe im -2
942: d6 im -42
943: 39 poppcrel

00000944 <.L134>:
944: 83 im 3
945: e0 im -32
946: 80 im 0
947: 08 load
948: 8f im 15
949: 05 add
94a: 70 loadsp 0
94b: 84 im 4
94c: 2c ashiftright
94d: 70 loadsp 0
94e: 83 im 3
94f: ff im -1
950: ff im -1
951: 06 and
952: 70 loadsp 0
953: 88 im 8
954: 2a lshiftright
955: 58 storesp 32
956: 51 storesp 4
957: 51 storesp 4
958: 54 storesp 16
959: 74 loadsp 16
95a: 83 im 3
95b: e2 im -30
95c: ea im -22
95d: 34 storeb
95e: 73 loadsp 12
95f: 83 im 3
960: e2 im -30
961: eb im -21
962: 34 storeb

00000963 <.LM145>:
963: 80 im 0
964: 0b nop
965: 83 im 3
966: e2 im -30
967: ec im -20
968: 34 storeb
969: ff im -1
96a: 80 im 0
96b: 0b nop
96c: 83 im 3
96d: e2 im -30
96e: ed im -19
96f: 34 storeb
970: fe im -2
971: a7 im 39
972: 39 poppcrel

00000973 <.L121>:
973: 0b nop
974: 0b nop
975: 80 im 0
976: f5 im -11
977: dc im -36
978: 51 storesp 4
979: 80 im 0
97a: d4 im -44
97b: f1 im -15
97c: 3f callpcrel
97d: fc im -4
97e: 81 im 1
97f: 39 poppcrel

00000980 <.L132>:
980: 83 im 3
981: e2 im -30
982: ea im -22
983: 33 loadb
984: 83 im 3
985: e2 im -30
986: eb im -21
987: 33 loadb
988: 71 loadsp 4
989: 88 im 8
98a: 2b ashiftleft
98b: 07 or
98c: 55 storesp 20
98d: 58 storesp 32
98e: ad im 45
98f: 80 im 0
990: 74 loadsp 16
991: 27 ulessthanorequal
992: 81 im 1
993: f2 im -14
994: 38 neqbranch

00000995 <.LM148>:
995: 0b nop
996: 0b nop
997: 80 im 0
998: f5 im -11
999: ec im -20
99a: 51 storesp 4

0000099b <.LM149>:
99b: 80 im 0
99c: d4 im -44
99d: cf im -49
99e: 3f callpcrel

0000099f <.LM150>:
99f: 83 im 3
9a0: e2 im -30
9a1: ea im -22
9a2: 33 loadb
9a3: 83 im 3
9a4: e2 im -30
9a5: eb im -21
9a6: 33 loadb
9a7: 71 loadsp 4
9a8: 88 im 8
9a9: 2b ashiftleft
9aa: 07 or
9ab: 52 storesp 8
9ac: 56 storesp 24
9ad: 80 im 0
9ae: d5 im -43
9af: cc im -52
9b0: 3f callpcrel

000009b1 <.LM151>:
9b1: 0b nop
9b2: 0b nop
9b3: 80 im 0
9b4: f5 im -11
9b5: d0 im -48
9b6: 51 storesp 4
9b7: 80 im 0
9b8: d4 im -44
9b9: b3 im 51
9ba: 3f callpcrel

000009bb <.LM152>:
9bb: 81 im 1
9bc: 0b nop
9bd: 83 im 3
9be: e2 im -30
9bf: e4 im -28
9c0: 0c store
9c1: fe im -2
9c2: a5 im 37
9c3: 39 poppcrel

000009c4 <.L130>:
9c4: 0b nop
9c5: 0b nop
9c6: 80 im 0
9c7: f5 im -11
9c8: f0 im -16
9c9: 51 storesp 4
9ca: 80 im 0
9cb: d4 im -44
9cc: a0 im 32
9cd: 3f callpcrel

000009ce <.LM154>:
9ce: fe im -2
9cf: 80 im 0
9d0: 0b nop
9d1: 83 im 3
9d2: e3 im -29
9d3: 90 im 16
9d4: 0c store

000009d5 <.LM155>:
9d5: 81 im 1
9d6: 0b nop
9d7: 83 im 3
9d8: e3 im -29
9d9: 88 im 8
9da: 0c store

000009db <.LM156>:
9db: ff im -1
9dc: 0b nop
9dd: 83 im 3
9de: e2 im -30
9df: e8 im -24
9e0: 34 storeb
9e1: ff im -1
9e2: 0b nop
9e3: 83 im 3
9e4: e2 im -30
9e5: e9 im -23
9e6: 34 storeb

000009e7 <.LM157>:
9e7: 76 loadsp 24
9e8: 51 storesp 4
9e9: f5 im -11
9ea: f4 im -12
9eb: 3f callpcrel
9ec: 83 im 3
9ed: e0 im -32
9ee: 80 im 0
9ef: 08 load
9f0: 83 im 3
9f1: e3 im -29
9f2: 94 im 20
9f3: 0c store

000009f4 <.LM158>:
9f4: 83 im 3
9f5: e0 im -32
9f6: 80 im 0
9f7: 08 load
9f8: 54 storesp 16
9f9: 80 im 0
9fa: 0b nop
9fb: 83 im 3
9fc: e0 im -32
9fd: 80 im 0
9fe: 08 load
9ff: 24 lessthan
a00: 80 im 0
a01: d3 im -45
a02: 38 neqbranch
a03: 73 loadsp 12
a04: 84 im 4
a05: 2c ashiftright
a06: 70 loadsp 0
a07: 83 im 3
a08: ff im -1
a09: ff im -1
a0a: 06 and
a0b: 70 loadsp 0
a0c: 88 im 8
a0d: 2a lshiftright
a0e: 57 storesp 28
a0f: 51 storesp 4
a10: 54 storesp 16
a11: 74 loadsp 16
a12: 83 im 3
a13: e2 im -30
a14: ea im -22
a15: 34 storeb
a16: 73 loadsp 12
a17: 83 im 3
a18: e2 im -30
a19: eb im -21
a1a: 34 storeb

00000a1b <.LM159>:
a1b: 80 im 0
a1c: 0b nop
a1d: 83 im 3
a1e: e2 im -30
a1f: ec im -20
a20: 34 storeb
a21: ff im -1
a22: 80 im 0
a23: 0b nop
a24: 83 im 3
a25: e2 im -30
a26: ed im -19
a27: 34 storeb

00000a28 <.LM160>:
a28: 80 im 0
a29: 55 storesp 20

00000a2a <.L111>:
a2a: 74 loadsp 16
a2b: 17 addsp 28
a2c: 54 storesp 16
a2d: 73 loadsp 12
a2e: 33 loadb
a2f: 83 im 3
a30: e2 im -30
a31: d8 im -40
a32: 16 addsp 24
a33: 34 storeb

00000a34 <.LM162>:
a34: 81 im 1
a35: 15 addsp 20
a36: 55 storesp 20
a37: 74 loadsp 16
a38: 8c im 12
a39: 2e eq
a3a: fc im -4
a3b: dd im -35
a3c: 38 neqbranch

00000a3d <.LM163>:
a3d: 74 loadsp 16
a3e: 17 addsp 28
a3f: 54 storesp 16
a40: 73 loadsp 12
a41: 33 loadb
a42: 83 im 3
a43: e2 im -30
a44: d8 im -40
a45: 16 addsp 24
a46: 34 storeb

00000a47 <.LM164>:
a47: 81 im 1
a48: 15 addsp 20
a49: 55 storesp 20
a4a: 74 loadsp 16
a4b: 8c im 12
a4c: 2e eq
a4d: 09 not
a4e: 81 im 1
a4f: 06 and
a50: d9 im -39
a51: 38 neqbranch
a52: fc im -4
a53: c5 im -59
a54: 39 poppcrel

00000a55 <.L136>:
a55: 83 im 3
a56: e0 im -32
a57: 80 im 0
a58: 08 load
a59: 8f im 15
a5a: 05 add
a5b: 70 loadsp 0
a5c: 84 im 4
a5d: 2c ashiftright
a5e: 70 loadsp 0
a5f: 83 im 3
a60: ff im -1
a61: ff im -1
a62: 06 and
a63: 70 loadsp 0
a64: 88 im 8
a65: 2a lshiftright
a66: 58 storesp 32
a67: 51 storesp 4
a68: 51 storesp 4
a69: 54 storesp 16
a6a: 74 loadsp 16
a6b: 83 im 3
a6c: e2 im -30
a6d: ea im -22
a6e: 34 storeb
a6f: 73 loadsp 12
a70: 83 im 3
a71: e2 im -30
a72: eb im -21
a73: 34 storeb

00000a74 <.LM166>:
a74: 80 im 0
a75: 0b nop
a76: 83 im 3
a77: e2 im -30
a78: ec im -20
a79: 34 storeb
a7a: ff im -1
a7b: 80 im 0
a7c: 0b nop
a7d: 83 im 3
a7e: e2 im -30
a7f: ed im -19
a80: 34 storeb

00000a81 <.LM167>:
a81: 80 im 0
a82: 55 storesp 20
a83: ff im -1
a84: a5 im 37
a85: 39 poppcrel

00000a86 <.L116>:
a86: 0b nop
a87: 0b nop
a88: 80 im 0
a89: f5 im -11
a8a: f8 im -8
a8b: 51 storesp 4

00000a8c <.LM169>:
a8c: 80 im 0
a8d: d2 im -46
a8e: de im -34
a8f: 3f callpcrel

00000a90 <.LM170>:
a90: 83 im 3
a91: e2 im -30
a92: ea im -22
a93: 33 loadb
a94: 83 im 3
a95: e2 im -30
a96: eb im -21
a97: 33 loadb
a98: 71 loadsp 4
a99: 88 im 8
a9a: 2b ashiftleft
a9b: 07 or
a9c: 52 storesp 8
a9d: 56 storesp 24
a9e: 80 im 0
a9f: d3 im -45
aa0: db im -37
aa1: 3f callpcrel

00000aa2 <.LM171>:
aa2: 0b nop
aa3: 0b nop
aa4: 80 im 0
aa5: f5 im -11
aa6: d0 im -48
aa7: 51 storesp 4
aa8: 80 im 0
aa9: d2 im -46
aaa: c2 im -62
aab: 3f callpcrel

00000aac <.LM172>:
aac: 81 im 1
aad: 0b nop
aae: 83 im 3
aaf: e2 im -30
ab0: e4 im -28
ab1: 0c store
ab2: fc im -4
ab3: b4 im 52
ab4: 39 poppcrel

00000ab5 <.L133>:
ab5: 0b nop
ab6: 0b nop
ab7: 80 im 0
ab8: f5 im -11
ab9: fc im -4
aba: 51 storesp 4

00000abb <.LM174>:
abb: 80 im 0
abc: d2 im -46
abd: af im 47
abe: 3f callpcrel

00000abf <.LM175>:
abf: 83 im 3
ac0: e2 im -30
ac1: ea im -22
ac2: 33 loadb
ac3: 83 im 3
ac4: e2 im -30
ac5: eb im -21
ac6: 33 loadb
ac7: 71 loadsp 4
ac8: 88 im 8
ac9: 2b ashiftleft
aca: 07 or
acb: 52 storesp 8
acc: 56 storesp 24
acd: 80 im 0
ace: d3 im -45
acf: ac im 44
ad0: 3f callpcrel

00000ad1 <.LM176>:
ad1: 0b nop
ad2: 0b nop
ad3: 80 im 0
ad4: f5 im -11
ad5: d0 im -48
ad6: 51 storesp 4
ad7: 80 im 0
ad8: d2 im -46
ad9: 93 im 19
ada: 3f callpcrel

00000adb <.LM177>:
adb: 81 im 1
adc: 0b nop
add: 83 im 3
ade: e2 im -30
adf: e4 im -28
ae0: 0c store
ae1: fc im -4
ae2: 85 im 5
ae3: 39 poppcrel

00000ae4 <selectfile>:
ae4: f7 im -9
ae5: 3d pushspadd
ae6: 0d popsp
ae7: 7b loadsp 44
ae8: 5a storesp 40

00000ae9 <.LM179>:
ae9: 8c im 12
aea: 9a im 26
aeb: c0 im -64
aec: 51 storesp 4
aed: f3 im -13
aee: c4 im -60
aef: 3f callpcrel

00000af0 <.LM180>:
af0: 80 im 0
af1: 57 storesp 28

00000af2 <.LM181>:
af2: 80 im 0
af3: cf im -49
af4: cf im -49
af5: 3f callpcrel

00000af6 <.LM182>:
af6: 76 loadsp 24
af7: 54 storesp 16

00000af8 <.L143>:
af8: 80 im 0
af9: 0b nop
afa: 86 im 6
afb: b8 im 56
afc: c0 im -64
afd: 15 addsp 20
afe: 34 storeb

00000aff <.LM184>:
aff: 81 im 1
b00: 14 addsp 16
b01: 54 storesp 16
b02: 73 loadsp 12
b03: 87 im 7
b04: c0 im -64
b05: 2e eq
b06: 09 not
b07: 81 im 1
b08: 06 and
b09: ee im -18
b0a: 38 neqbranch

00000b0b <.LM185>:
b0b: 0b nop
b0c: 0b nop
b0d: 80 im 0
b0e: f4 im -12
b0f: fc im -4
b10: 52 storesp 8
b11: 83 im 3
b12: e2 im -30
b13: f4 im -12
b14: 51 storesp 4
b15: 80 im 0
b16: c0 im -64
b17: 81 im 1
b18: 3f callpcrel
b19: 83 im 3
b1a: e0 im -32
b1b: 80 im 0
b1c: 08 load
b1d: 83 im 3
b1e: db im -37
b1f: 38 neqbranch

00000b20 <.LM186>:
b20: 80 im 0

00000b21 <.LM187>:
b21: 70 loadsp 0

00000b22 <.LM188>:
b22: 83 im 3
b23: e3 im -29
b24: a8 im 40
b25: 08 load
b26: 55 storesp 20
b27: 59 storesp 36
b28: 59 storesp 36
b29: 94 im 20
b2a: 73 loadsp 12
b2b: 25 lessthanorequal
b2c: 86 im 6
b2d: 38 neqbranch

00000b2e <.LM189>:
b2e: ec im -20
b2f: 13 addsp 12
b30: fe im -2
b31: 06 and
b32: 58 storesp 32

00000b33 <.L147>:
b33: 80 im 0
b34: 73 loadsp 12
b35: 24 lessthan
b36: 82 im 2
b37: ff im -1
b38: 38 neqbranch

00000b39 <.L192>:
b39: 83 im 3
b3a: e0 im -32
b3b: 94 im 20
b3c: 52 storesp 8
b3d: 83 im 3
b3e: e2 im -30
b3f: f4 im -12
b40: 51 storesp 4
b41: 80 im 0
b42: c0 im -64
b43: e8 im -24
b44: 3f callpcrel
b45: 83 im 3
b46: e0 im -32
b47: 80 im 0
b48: 08 load
b49: 80 im 0
b4a: db im -37
b4b: 38 neqbranch

00000b4c <.L199>:
b4c: 83 im 3
b4d: e0 im -32
b4e: 9d im 29
b4f: 33 loadb
b50: 53 storesp 12
b51: 72 loadsp 8
b52: 80 im 0
b53: 2e eq
b54: 80 im 0
b55: d0 im -48
b56: 38 neqbranch

00000b57 <.LM192>:
b57: 83 im 3
b58: e0 im -32
b59: 9c im 28
b5a: 33 loadb
b5b: 70 loadsp 0
b5c: 82 im 2
b5d: 2a lshiftright
b5e: 70 loadsp 0
b5f: 81 im 1
b60: 06 and
b61: 51 storesp 4
b62: 54 storesp 16
b63: 54 storesp 16
b64: 72 loadsp 8
b65: d3 im -45
b66: 38 neqbranch

00000b67 <.LM193>:
b67: 73 loadsp 12
b68: 81 im 1
b69: 2a lshiftright
b6a: 81 im 1
b6b: 06 and
b6c: 55 storesp 20
b6d: 74 loadsp 16
b6e: ca im -54
b6f: 38 neqbranch

00000b70 <.LM194>:
b70: 73 loadsp 12
b71: 84 im 4
b72: 2a lshiftright
b73: 70 loadsp 0
b74: 81 im 1
b75: 06 and
b76: 51 storesp 4
b77: 53 storesp 12
b78: 72 loadsp 8
b79: 82 im 2
b7a: a3 im 35
b7b: 38 neqbranch

00000b7c <.LM195>:
b7c: 83 im 3
b7d: e3 im -29
b7e: a8 im 40
b7f: 08 load
b80: 77 loadsp 28
b81: 2e eq
b82: 81 im 1
b83: de im -34
b84: 38 neqbranch

00000b85 <.L154>:
b85: ff im -1
b86: 18 addsp 32
b87: 58 storesp 32
b88: 80 im 0
b89: 78 loadsp 32
b8a: 24 lessthan
b8b: 82 im 2
b8c: b2 im 50
b8d: 38 neqbranch

00000b8e <.L160>:
b8e: 81 im 1
b8f: 17 addsp 28
b90: 57 storesp 28

00000b91 <.L201>:
b91: 83 im 3
b92: e0 im -32
b93: 94 im 20
b94: 52 storesp 8
b95: 83 im 3
b96: e2 im -30
b97: f4 im -12
b98: 51 storesp 4
b99: 80 im 0
b9a: c0 im -64
b9b: 90 im 16
b9c: 3f callpcrel
b9d: 83 im 3
b9e: e0 im -32
b9f: 80 im 0
ba0: 08 load
ba1: 80 im 0
ba2: 2e eq
ba3: ff im -1
ba4: a7 im 39
ba5: 38 neqbranch

00000ba6 <.L150>:
ba6: 0b nop
ba7: 0b nop
ba8: 80 im 0
ba9: f9 im -7
baa: c4 im -60
bab: 51 storesp 4
bac: 80 im 0
bad: d0 im -48
bae: be im 62
baf: 3f callpcrel

00000bb0 <.LM199>:
bb0: 95 im 21
bb1: 51 storesp 4
bb2: 80 im 0
bb3: ce im -50
bb4: a2 im 34
bb5: 3f callpcrel

00000bb6 <.LM200>:
bb6: 80 im 0
bb7: 0b nop
bb8: 83 im 3
bb9: e0 im -32
bba: b4 im 52
bbb: 0c store

00000bbc <.LM201>:
bbc: 79 loadsp 36
bbd: 51 storesp 4
bbe: f6 im -10
bbf: fb im -5
bc0: 3f callpcrel

00000bc1 <.LM202>:
bc1: 80 im 0
bc2: fb im -5
bc3: c4 im -60
bc4: 08 load
bc5: 70 loadsp 0
bc6: 33 loadb
bc7: 70 loadsp 0
bc8: 81 im 1
bc9: ff im -1
bca: 06 and

00000bcb <.LM203>:
bcb: 70 loadsp 0
bcc: 81 im 1
bcd: 2a lshiftright
bce: 81 im 1
bcf: 32 xor
bd0: 70 loadsp 0
bd1: 81 im 1
bd2: 06 and
bd3: 51 storesp 4
bd4: 52 storesp 8
bd5: 56 storesp 24
bd6: 51 storesp 4
bd7: 53 storesp 12
bd8: 72 loadsp 8
bd9: 80 im 0
bda: eb im -21
bdb: 38 neqbranch

00000bdc <.L200>:
bdc: 73 loadsp 12
bdd: 81 im 1
bde: 32 xor
bdf: 70 loadsp 0
be0: 81 im 1
be1: 06 and
be2: 51 storesp 4
be3: 53 storesp 12
be4: 72 loadsp 8
be5: 82 im 2
be6: e1 im -31
be7: 38 neqbranch

00000be8 <.LM205>:
be8: 73 loadsp 12
be9: 83 im 3
bea: 2a lshiftright
beb: 81 im 1
bec: 32 xor
bed: 70 loadsp 0
bee: 81 im 1
bef: 06 and
bf0: 51 storesp 4
bf1: 53 storesp 12
bf2: 72 loadsp 8
bf3: 82 im 2
bf4: c2 im -62
bf5: 38 neqbranch

00000bf6 <.LM206>:
bf6: 73 loadsp 12
bf7: 82 im 2
bf8: 2a lshiftright
bf9: 81 im 1
bfa: 32 xor
bfb: 70 loadsp 0
bfc: 81 im 1
bfd: 06 and
bfe: 51 storesp 4
bff: 53 storesp 12
c00: 72 loadsp 8
c01: 82 im 2
c02: a3 im 35
c03: 38 neqbranch

00000c04 <.LM207>:
c04: 80 im 0
c05: fb im -5
c06: bc im 60
c07: 08 load
c08: 70 loadsp 0
c09: 33 loadb
c0a: 70 loadsp 0
c0b: 81 im 1
c0c: ff im -1
c0d: 06 and
c0e: 51 storesp 4
c0f: 54 storesp 16
c10: 54 storesp 16
c11: 72 loadsp 8
c12: 80 im 0
c13: 2e eq
c14: 81 im 1
c15: f0 im -16
c16: 38 neqbranch

00000c17 <.LM208>:
c17: 80 im 0
c18: cd im -51
c19: aa im 42
c1a: 3f callpcrel

00000c1b <.LM209>:
c1b: 80 im 0
c1c: fb im -5
c1d: c8 im -56
c1e: 08 load
c1f: 80 im 0
c20: fb im -5
c21: d8 im -40
c22: 08 load
c23: 54 storesp 16
c24: 54 storesp 16
c25: 73 loadsp 12
c26: 33 loadb
c27: 73 loadsp 12
c28: 34 storeb

00000c29 <.LM210>:
c29: 80 im 0
c2a: fb im -5
c2b: c4 im -60
c2c: 08 load
c2d: 70 loadsp 0
c2e: 33 loadb
c2f: 70 loadsp 0
c30: 81 im 1
c31: ff im -1
c32: 06 and

00000c33 <.LM211>:
c33: 70 loadsp 0
c34: 81 im 1
c35: 2a lshiftright
c36: 81 im 1
c37: 32 xor
c38: 70 loadsp 0
c39: 81 im 1
c3a: 06 and
c3b: 51 storesp 4
c3c: 52 storesp 8
c3d: 56 storesp 24
c3e: 51 storesp 4
c3f: 53 storesp 12
c40: 72 loadsp 8
c41: 80 im 0
c42: 2e eq
c43: ff im -1
c44: 97 im 23
c45: 38 neqbranch

00000c46 <.L183>:
c46: 83 im 3
c47: e3 im -29
c48: a8 im 40
c49: 08 load
c4a: 82 im 2
c4b: 05 add
c4c: 83 im 3
c4d: e3 im -29
c4e: a8 im 40
c4f: 0c store

00000c50 <.LM213>:
c50: 84 im 4
c51: f1 im -15
c52: 80 im 0
c53: 51 storesp 4

00000c54 <.L203>:
c54: f0 im -16
c55: dd im -35
c56: 3f callpcrel

00000c57 <.LM215>:
c57: 80 im 0
c58: 57 storesp 28

00000c59 <.LM216>:
c59: 80 im 0
c5a: cc im -52
c5b: e8 im -24
c5c: 3f callpcrel

00000c5d <.LM217>:
c5d: 76 loadsp 24
c5e: 54 storesp 16
c5f: fd im -3
c60: 97 im 23
c61: 39 poppcrel

00000c62 <.L197>:
c62: 74 loadsp 16
c63: 83 im 3
c64: e0 im -32
c65: 9d im 29
c66: 57 storesp 28
c67: 54 storesp 16

00000c68 <.L159>:
c68: 73 loadsp 12
c69: 1a addsp 40
c6a: 53 storesp 12
c6b: 75 loadsp 20
c6c: 33 loadb
c6d: 73 loadsp 12
c6e: 34 storeb

00000c6f <.LM220>:
c6f: 75 loadsp 20
c70: 33 loadb
c71: 70 loadsp 0
c72: 81 im 1
c73: ff im -1
c74: 06 and
c75: 54 storesp 16
c76: 55 storesp 20
c77: 72 loadsp 8
c78: 80 im 0
c79: 2e eq
c7a: fe im -2
c7b: 89 im 9
c7c: 38 neqbranch

00000c7d <.LM221>:
c7d: ff im -1
c7e: 80 im 0
c7f: 15 addsp 20
c80: 53 storesp 12
c81: 72 loadsp 8
c82: 76 loadsp 24
c83: 70 loadsp 0
c84: 81 im 1
c85: 05 add
c86: 58 storesp 32
c87: 34 storeb

00000c88 <.LM222>:
c88: 81 im 1
c89: 14 addsp 16
c8a: 54 storesp 16
c8b: 73 loadsp 12
c8c: 8f im 15
c8d: 2e eq
c8e: 09 not
c8f: 81 im 1
c90: 06 and
c91: d6 im -42
c92: 38 neqbranch

00000c93 <.LM223>:
c93: ff im -1
c94: 18 addsp 32
c95: 58 storesp 32
c96: 77 loadsp 28
c97: 80 im 0
c98: 25 lessthanorequal
c99: fd im -3
c9a: f3 im -13
c9b: 38 neqbranch
c9c: a2 im 34
c9d: 39 poppcrel

00000c9e <.L196>:
c9e: 0b nop
c9f: 0b nop
ca0: 80 im 0
ca1: f6 im -10
ca2: 80 im 0
ca3: 51 storesp 4
ca4: 80 im 0
ca5: ce im -50
ca6: c6 im -58
ca7: 3f callpcrel

00000ca8 <.LM225>:
ca8: 83 im 3
ca9: e3 im -29
caa: a8 im 40
cab: 08 load
cac: 77 loadsp 28
cad: 2e eq
cae: 09 not
caf: 81 im 1
cb0: 06 and
cb1: fd im -3
cb2: d2 im -46
cb3: 38 neqbranch
cb4: ff im -1
cb5: ac im 44
cb6: 39 poppcrel

00000cb7 <.L195>:
cb7: 78 loadsp 32
cb8: 83 im 3
cb9: e3 im -29
cba: a8 im 40
cbb: 0c store
cbc: fc im -4
cbd: fb im -5
cbe: 39 poppcrel

00000cbf <.L198>:
cbf: 83 im 3
cc0: e0 im -32
cc1: 9d im 29
cc2: 51 storesp 4
cc3: 80 im 0
cc4: ce im -50
cc5: a7 im 39
cc6: 3f callpcrel

00000cc7 <.LM228>:
cc7: 81 im 1
cc8: 19 addsp 36

00000cc9 <.LM229>:
cc9: 70 loadsp 0
cca: 81 im 1
ccb: 06 and
ccc: 54 storesp 16
ccd: 59 storesp 36
cce: 72 loadsp 8
ccf: 80 im 0
cd0: 2e eq
cd1: 93 im 19
cd2: 38 neqbranch

00000cd3 <.LM230>:
cd3: 94 im 20
cd4: 51 storesp 4
cd5: 80 im 0
cd6: cb im -53
cd7: f9 im -7
cd8: 3f callpcrel

00000cd9 <.LM231>:
cd9: 78 loadsp 32
cda: a8 im 40
cdb: 2e eq
cdc: fd im -3
cdd: c8 im -56
cde: 38 neqbranch

00000cdf <.L202>:
cdf: 81 im 1
ce0: 17 addsp 28
ce1: 57 storesp 28
ce2: fd im -3
ce3: ad im 45
ce4: 39 poppcrel

00000ce5 <.L161>:
ce5: 0b nop
ce6: 0b nop
ce7: 80 im 0
ce8: f9 im -7
ce9: c4 im -60
cea: 51 storesp 4
ceb: 80 im 0
cec: cd im -51
ced: ff im -1
cee: 3f callpcrel

00000cef <.LM234>:
cef: 78 loadsp 32
cf0: a8 im 40
cf1: 2e eq
cf2: 09 not
cf3: 81 im 1
cf4: 06 and
cf5: e9 im -23
cf6: 38 neqbranch
cf7: fd im -3
cf8: ad im 45
cf9: 39 poppcrel

00000cfa <.L194>:
cfa: 0b nop
cfb: 0b nop
cfc: 80 im 0
cfd: f6 im -10
cfe: 88 im 8
cff: 51 storesp 4
d00: 80 im 0
d01: cd im -51
d02: ea im -22
d03: 3f callpcrel

00000d04 <.L145>:
d04: ff im -1
d05: 39 poppcrel

00000d06 <.L176>:
d06: 73 loadsp 12
d07: 33 loadb
d08: 70 loadsp 0
d09: 81 im 1
d0a: ff im -1
d0b: 06 and
d0c: 51 storesp 4
d0d: 53 storesp 12
d0e: 72 loadsp 8
d0f: 80 im 0
d10: 2e eq
d11: f4 im -12
d12: 38 neqbranch

00000d13 <.LM237>:
d13: 8c im 12
d14: 9a im 26
d15: c0 im -64
d16: 51 storesp 4
d17: ef im -17
d18: 9a im 26
d19: 3f callpcrel

00000d1a <.LM238>:
d1a: 83 im 3
d1b: e2 im -30
d1c: e4 im -28
d1d: 08 load
d1e: 83 im 3
d1f: e0 im -32
d20: 80 im 0
d21: 0c store

00000d22 <.LM239>:
d22: 8b im 11
d23: 3d pushspadd
d24: 0d popsp
d25: 04 poppc

00000d26 <.L186>:
d26: 83 im 3
d27: e3 im -29
d28: a8 im 40
d29: 08 load
d2a: fe im -2
d2b: 06 and
d2c: 83 im 3
d2d: e3 im -29
d2e: a8 im 40
d2f: 0c store

00000d30 <.LM241>:
d30: 84 im 4
d31: f1 im -15
d32: 80 im 0
d33: 51 storesp 4
d34: fe im -2
d35: 9e im 30
d36: 39 poppcrel

00000d37 <.L185>:
d37: 83 im 3
d38: e3 im -29
d39: a8 im 40
d3a: 08 load
d3b: 81 im 1
d3c: 07 or
d3d: 83 im 3
d3e: e3 im -29
d3f: a8 im 40
d40: 0c store

00000d41 <.LM243>:
d41: 84 im 4
d42: f1 im -15
d43: 80 im 0
d44: 51 storesp 4
d45: fe im -2
d46: 8d im 13
d47: 39 poppcrel

00000d48 <.L184>:
d48: 83 im 3
d49: e3 im -29
d4a: a8 im 40
d4b: 08 load
d4c: fe im -2
d4d: 05 add
d4e: 83 im 3
d4f: e3 im -29
d50: a8 im 40
d51: 0c store

00000d52 <.LM245>:
d52: 84 im 4
d53: f1 im -15
d54: 80 im 0
d55: 51 storesp 4
d56: fd im -3
d57: fc im -4
d58: 39 poppcrel

00000d59 <actions>:
d59: e2 im -30
d5a: 3d pushspadd
d5b: 0d popsp

00000d5c <.LM247>:
d5c: 80 im 0

00000d5d <.LM248>:
d5d: 0b nop
d5e: 80 im 0
d5f: fc im -4
d60: b8 im 56
d61: 08 load
d62: 70 loadsp 0
d63: 08 load
d64: 70 loadsp 0
d65: 81 im 1
d66: 06 and
d67: 51 storesp 4
d68: 56 storesp 24
d69: 56 storesp 24
d6a: 58 storesp 32
d6b: 73 loadsp 12
d6c: 78 loadsp 32
d6d: 2e eq
d6e: 09 not
d6f: 81 im 1
d70: 06 and
d71: 82 im 2
d72: a7 im 39
d73: 38 neqbranch

00000d74 <.L205>:
d74: 74 loadsp 16
d75: 08 load
d76: 70 loadsp 0
d77: 81 im 1
d78: 2a lshiftright
d79: 70 loadsp 0
d7a: 81 im 1
d7b: 06 and
d7c: 51 storesp 4
d7d: 51 storesp 4
d7e: 54 storesp 16
d7f: 73 loadsp 12
d80: 80 im 0
d81: c9 im -55
d82: 38 neqbranch

00000d83 <.L317>:
d83: 74 loadsp 16
d84: 08 load
d85: 70 loadsp 0
d86: 82 im 2
d87: 2a lshiftright
d88: 70 loadsp 0
d89: 81 im 1
d8a: 06 and
d8b: 51 storesp 4
d8c: 51 storesp 4
d8d: 54 storesp 16
d8e: 73 loadsp 12
d8f: 80 im 0
d90: 2e eq
d91: 90 im 16
d92: 38 neqbranch

00000d93 <.LM251>:
d93: 80 im 0
d94: 51 storesp 4
d95: f1 im -15
d96: d3 im -45
d97: 3f callpcrel

00000d98 <.LM252>:
d98: 81 im 1
d99: 51 storesp 4
d9a: f1 im -15
d9b: ce im -50
d9c: 3f callpcrel
d9d: 80 im 0
d9e: fc im -4
d9f: b8 im 56
da0: 08 load
da1: 55 storesp 20

00000da2 <.L323>:
da2: 74 loadsp 16
da3: 08 load
da4: 70 loadsp 0
da5: 83 im 3
da6: 2a lshiftright
da7: 70 loadsp 0
da8: 81 im 1
da9: 06 and
daa: 51 storesp 4
dab: 51 storesp 4
dac: 54 storesp 16
dad: 73 loadsp 12
dae: 80 im 0
daf: 2e eq
db0: 96 im 22
db1: 38 neqbranch

00000db2 <.LM254>:
db2: 80 im 0
db3: 51 storesp 4
db4: f1 im -15
db5: b4 im 52
db6: 3f callpcrel

00000db7 <.LM255>:
db7: 80 im 0
db8: fb im -5
db9: e4 im -28
dba: 08 load
dbb: 54 storesp 16
dbc: 80 im 0
dbd: 74 loadsp 16
dbe: 34 storeb

00000dbf <.LM256>:
dbf: f0 im -16
dc0: af im 47
dc1: 3f callpcrel

00000dc2 <.LM257>:
dc2: 81 im 1
dc3: 51 storesp 4
dc4: f1 im -15
dc5: a4 im 36
dc6: 3f callpcrel

00000dc7 <.L204>:
dc7: a0 im 32
dc8: 3d pushspadd
dc9: 0d popsp
dca: 04 poppc

00000dcb <.L372>:
dcb: 81 im 1
dcc: 51 storesp 4
dcd: f1 im -15
dce: bf im 63
dcf: 3f callpcrel

00000dd0 <.LM260>:
dd0: f0 im -16
dd1: 9e im 30
dd2: 3f callpcrel

00000dd3 <.LM261>:
dd3: 8e im 14
dd4: 3d pushspadd
dd5: 57 storesp 28
dd6: a1 im 33
dd7: 53 storesp 12
dd8: 80 im 0
dd9: f4 im -12
dda: b4 im 52
ddb: 52 storesp 8
ddc: 76 loadsp 24
ddd: 51 storesp 4
dde: 80 im 0
ddf: d7 im -41
de0: a8 im 40
de1: 3f callpcrel

00000de2 <.LM262>:
de2: 80 im 0
de3: 56 storesp 24

00000de4 <.L321>:
de4: 84 im 4
de5: 8c im 12
de6: 80 im 0
de7: 16 addsp 24
de8: 76 loadsp 24
de9: 18 addsp 32
dea: 55 storesp 20
deb: 55 storesp 20
dec: 73 loadsp 12
ded: 33 loadb
dee: 75 loadsp 20
def: 34 storeb

00000df0 <.LM264>:
df0: 81 im 1
df1: 16 addsp 24
df2: 56 storesp 24
df3: 75 loadsp 20
df4: a1 im 33
df5: 2e eq
df6: 09 not
df7: 81 im 1
df8: 06 and
df9: ea im -22
dfa: 38 neqbranch

00000dfb <.LM265>:
dfb: 80 im 0
dfc: fb im -5
dfd: e0 im -32
dfe: 08 load
dff: 54 storesp 16
e00: 80 im 0
e01: 74 loadsp 16
e02: 34 storeb

00000e03 <.LM266>:
e03: 80 im 0
e04: fb im -5
e05: dc im -36
e06: 08 load
e07: 54 storesp 16
e08: 86 im 6
e09: 74 loadsp 16
e0a: 34 storeb

00000e0b <.LM267>:
e0b: 80 im 0
e0c: fb im -5
e0d: d8 im -40
e0e: 08 load
e0f: 54 storesp 16
e10: 80 im 0
e11: 74 loadsp 16
e12: 34 storeb

00000e13 <.LM268>:
e13: 80 im 0
e14: fb im -5
e15: d4 im -44
e16: 08 load
e17: 54 storesp 16
e18: 8f im 15
e19: 74 loadsp 16
e1a: 34 storeb

00000e1b <.LM269>:
e1b: 80 im 0
e1c: fb im -5
e1d: d0 im -48
e1e: 08 load
e1f: 54 storesp 16
e20: 80 im 0
e21: 74 loadsp 16
e22: 34 storeb

00000e23 <.LM270>:
e23: 80 im 0
e24: fb im -5
e25: cc im -52
e26: 08 load
e27: 54 storesp 16
e28: 80 im 0
e29: 74 loadsp 16
e2a: 34 storeb

00000e2b <.LM271>:
e2b: 80 im 0
e2c: fb im -5
e2d: c0 im -64
e2e: 08 load
e2f: 54 storesp 16
e30: ff im -1
e31: 74 loadsp 16
e32: 34 storeb

00000e33 <.LM272>:
e33: 80 im 0
e34: fb im -5
e35: b8 im 56
e36: 08 load
e37: 54 storesp 16
e38: e0 im -32
e39: 74 loadsp 16
e3a: 34 storeb

00000e3b <.LM273>:
e3b: 80 im 0
e3c: fb im -5
e3d: b0 im 48
e3e: 08 load
e3f: 54 storesp 16
e40: a2 im 34
e41: 74 loadsp 16
e42: 34 storeb

00000e43 <.LM274>:
e43: 81 im 1
e44: 51 storesp 4
e45: 80 im 0
e46: c9 im -55
e47: 95 im 21
e48: 3f callpcrel

00000e49 <.LM275>:
e49: 83 im 3
e4a: e3 im -29
e4b: 98 im 24
e4c: 51 storesp 4
e4d: f9 im -7
e4e: 95 im 21
e4f: 3f callpcrel
e50: 83 im 3
e51: e0 im -32
e52: 80 im 0
e53: 08 load
e54: 80 im 0
e55: 2e eq
e56: ad im 45
e57: 38 neqbranch

00000e58 <.LM276>:
e58: 81 im 1
e59: 0b nop
e5a: 83 im 3
e5b: e0 im -32
e5c: b4 im 52
e5d: 0c store

00000e5e <.LM277>:
e5e: 0b nop
e5f: 0b nop
e60: 80 im 0
e61: f6 im -10
e62: 98 im 24
e63: 51 storesp 4
e64: 80 im 0
e65: cb im -53
e66: 86 im 6
e67: 3f callpcrel

00000e68 <.LM278>:
e68: 9e im 30
e69: c2 im -62
e6a: a0 im 32
e6b: 51 storesp 4
e6c: ec im -20
e6d: c5 im -59
e6e: 3f callpcrel

00000e6f <.LM279>:
e6f: 80 im 0
e70: 51 storesp 4
e71: ef im -17
e72: f7 im -9
e73: 3f callpcrel

00000e74 <.LM280>:
e74: 80 im 0
e75: fb im -5
e76: e4 im -28
e77: 08 load
e78: 54 storesp 16
e79: 80 im 0
e7a: 74 loadsp 16
e7b: 34 storeb

00000e7c <.LM281>:
e7c: ee im -18
e7d: f2 im -14
e7e: 3f callpcrel

00000e7f <.LM282>:
e7f: 81 im 1
e80: 51 storesp 4
e81: ef im -17
e82: e7 im -25
e83: 3f callpcrel

00000e84 <.L322>:
e84: 83 im 3
e85: e0 im -32
e86: ac im 44
e87: 08 load
e88: 51 storesp 4
e89: 80 im 0
e8a: c8 im -56
e8b: d1 im -47
e8c: 3f callpcrel

00000e8d <.LM284>:
e8d: 80 im 0
e8e: 51 storesp 4
e8f: ef im -17
e90: fd im -3
e91: 3f callpcrel
e92: 80 im 0
e93: fc im -4
e94: b8 im 56
e95: 08 load
e96: 55 storesp 20
e97: fd im -3
e98: ea im -22
e99: 39 poppcrel

00000e9a <.L371>:
e9a: 77 loadsp 28

00000e9b <.LM286>:
e9b: 78 loadsp 32

00000e9c <.LM287>:
e9c: 79 loadsp 36

00000e9d <.LM288>:
e9d: 7a loadsp 40
e9e: 5f storesp 60
e9f: 59 storesp 36
ea0: 5a storesp 40
ea1: 5b storesp 44

00000ea2 <.LM289>:
ea2: 81 im 1
ea3: 51 storesp 4
ea4: ef im -17
ea5: e8 im -24
ea6: 3f callpcrel

00000ea7 <.LM290>:
ea7: 81 im 1
ea8: 51 storesp 4
ea9: 80 im 0
eaa: c8 im -56
eab: b1 im 49
eac: 3f callpcrel

00000ead <.L209>:
ead: 81 im 1
eae: 9f im 31
eaf: e0 im -32
eb0: 80 im 0
eb1: 18 addsp 32
eb2: 86 im 6
eb3: b8 im 56
eb4: 80 im 0
eb5: 19 addsp 36
eb6: 55 storesp 20
eb7: 55 storesp 20
eb8: 73 loadsp 12
eb9: 33 loadb
eba: 75 loadsp 20
ebb: 34 storeb

00000ebc <.LM292>:
ebc: 81 im 1
ebd: 18 addsp 32
ebe: 58 storesp 32
ebf: 77 loadsp 28
ec0: 88 im 8
ec1: 80 im 0
ec2: 2e eq
ec3: 09 not
ec4: 81 im 1
ec5: 06 and
ec6: e6 im -26
ec7: 38 neqbranch

00000ec8 <.LM293>:
ec8: 80 im 0
ec9: c0 im -64
eca: 58 storesp 32

00000ecb <.L213>:
ecb: 86 im 6
ecc: b8 im 56
ecd: 80 im 0
ece: 18 addsp 32
ecf: 54 storesp 16
ed0: 80 im 0
ed1: 74 loadsp 16
ed2: 34 storeb

00000ed3 <.LM295>:
ed3: 81 im 1
ed4: 18 addsp 32
ed5: 58 storesp 32
ed6: 77 loadsp 28
ed7: 88 im 8
ed8: 80 im 0
ed9: 2e eq
eda: 09 not
edb: 81 im 1
edc: 06 and
edd: ed im -19
ede: 38 neqbranch

00000edf <.LM296>:
edf: 83 im 3
ee0: a0 im 32
ee1: 80 im 0
ee2: 58 storesp 32

00000ee3 <.L217>:
ee3: 81 im 1
ee4: 9c im 28
ee5: 80 im 0
ee6: 80 im 0
ee7: 18 addsp 32
ee8: 88 im 8
ee9: 80 im 0
eea: 80 im 0
eeb: 19 addsp 36
eec: 56 storesp 24
eed: 54 storesp 16
eee: 74 loadsp 16
eef: 33 loadb
ef0: 74 loadsp 16
ef1: 34 storeb

00000ef2 <.LM298>:
ef2: 84 im 4
ef3: 80 im 0
ef4: 80 im 0
ef5: 18 addsp 32
ef6: 54 storesp 16
ef7: 80 im 0
ef8: 74 loadsp 16
ef9: 34 storeb

00000efa <.LM299>:
efa: 81 im 1
efb: 18 addsp 32
efc: 58 storesp 32
efd: 77 loadsp 28
efe: 83 im 3
eff: a0 im 32
f00: 9f im 31
f01: 2e eq
f02: 09 not
f03: 81 im 1
f04: 06 and
f05: dd im -35
f06: 38 neqbranch

00000f07 <.LM300>:
f07: 83 im 3
f08: a4 im 36
f09: 80 im 0
f0a: 58 storesp 32

00000f0b <.L221>:
f0b: 81 im 1
f0c: 9c im 28
f0d: 80 im 0
f0e: 80 im 0
f0f: 18 addsp 32
f10: 88 im 8
f11: 80 im 0
f12: 80 im 0
f13: 19 addsp 36
f14: 56 storesp 24
f15: 54 storesp 16
f16: 74 loadsp 16
f17: 33 loadb
f18: 74 loadsp 16
f19: 34 storeb

00000f1a <.LM302>:
f1a: 84 im 4
f1b: 80 im 0
f1c: 80 im 0
f1d: 18 addsp 32
f1e: 54 storesp 16
f1f: 80 im 0
f20: 74 loadsp 16
f21: 34 storeb

00000f22 <.LM303>:
f22: 81 im 1
f23: 18 addsp 32
f24: 58 storesp 32
f25: 77 loadsp 28
f26: 83 im 3
f27: a4 im 36
f28: 9f im 31
f29: 2e eq
f2a: 09 not
f2b: 81 im 1
f2c: 06 and
f2d: dd im -35
f2e: 38 neqbranch

00000f2f <.LM304>:
f2f: 83 im 3
f30: a8 im 40
f31: 80 im 0
f32: 58 storesp 32

00000f33 <.L225>:
f33: 81 im 1
f34: 9c im 28
f35: 80 im 0
f36: 80 im 0
f37: 18 addsp 32
f38: 88 im 8
f39: 80 im 0
f3a: 80 im 0
f3b: 19 addsp 36
f3c: 56 storesp 24
f3d: 54 storesp 16
f3e: 74 loadsp 16
f3f: 33 loadb
f40: 74 loadsp 16
f41: 34 storeb

00000f42 <.LM306>:
f42: 84 im 4
f43: 80 im 0
f44: 80 im 0
f45: 18 addsp 32
f46: 54 storesp 16
f47: 80 im 0
f48: 74 loadsp 16
f49: 34 storeb

00000f4a <.LM307>:
f4a: 81 im 1
f4b: 18 addsp 32
f4c: 58 storesp 32
f4d: 77 loadsp 28
f4e: 83 im 3
f4f: a8 im 40
f50: 8f im 15
f51: 2e eq
f52: 09 not
f53: 81 im 1
f54: 06 and
f55: dd im -35
f56: 38 neqbranch

00000f57 <.LM308>:
f57: 80 im 0
f58: fb im -5
f59: c0 im -64
f5a: 08 load
f5b: 70 loadsp 0
f5c: 33 loadb
f5d: 70 loadsp 0
f5e: 81 im 1
f5f: ff im -1
f60: 06 and

00000f61 <.LM309>:
f61: 9a im 26
f62: 3d pushspadd
f63: 59 storesp 36
f64: 5c storesp 48
f65: 51 storesp 4
f66: 54 storesp 16
f67: a1 im 33
f68: 53 storesp 12
f69: 80 im 0
f6a: f4 im -12
f6b: d8 im -40
f6c: 52 storesp 8
f6d: 75 loadsp 20
f6e: 51 storesp 4
f6f: 80 im 0
f70: d4 im -44
f71: 97 im 23
f72: 3f callpcrel

00000f73 <.LM310>:
f73: 80 im 0
f74: 58 storesp 32

00000f75 <.L229>:
f75: 86 im 6
f76: b8 im 56
f77: 80 im 0
f78: 18 addsp 32
f79: 78 loadsp 32
f7a: 17 addsp 28
f7b: 55 storesp 20
f7c: 55 storesp 20
f7d: 73 loadsp 12
f7e: 33 loadb
f7f: 75 loadsp 20
f80: 34 storeb

00000f81 <.LM312>:
f81: 81 im 1
f82: 18 addsp 32
f83: 58 storesp 32
f84: 77 loadsp 28
f85: a1 im 33
f86: 2e eq
f87: 09 not
f88: 81 im 1
f89: 06 and
f8a: ea im -22
f8b: 38 neqbranch

00000f8c <.LM313>:
f8c: 80 im 0
f8d: fb im -5
f8e: e0 im -32
f8f: 08 load
f90: 54 storesp 16
f91: 80 im 0
f92: 74 loadsp 16
f93: 34 storeb

00000f94 <.LM314>:
f94: 80 im 0
f95: fb im -5
f96: dc im -36
f97: 08 load
f98: 54 storesp 16
f99: ff im -1
f9a: 9c im 28
f9b: 74 loadsp 16
f9c: 34 storeb

00000f9d <.LM315>:
f9d: 80 im 0
f9e: fb im -5
f9f: d8 im -40
fa0: 08 load
fa1: 54 storesp 16
fa2: 80 im 0
fa3: 74 loadsp 16
fa4: 34 storeb

00000fa5 <.LM316>:
fa5: 80 im 0
fa6: fb im -5
fa7: d4 im -44
fa8: 08 load
fa9: 54 storesp 16
faa: 8f im 15
fab: 74 loadsp 16
fac: 34 storeb

00000fad <.LM317>:
fad: 80 im 0
fae: fb im -5
faf: d0 im -48
fb0: 08 load
fb1: 54 storesp 16
fb2: 80 im 0
fb3: 74 loadsp 16
fb4: 34 storeb

00000fb5 <.LM318>:
fb5: 80 im 0
fb6: fb im -5
fb7: cc im -52
fb8: 08 load
fb9: 54 storesp 16
fba: 80 im 0
fbb: 74 loadsp 16
fbc: 34 storeb

00000fbd <.LM319>:
fbd: 80 im 0
fbe: fb im -5
fbf: b8 im 56
fc0: 08 load
fc1: 54 storesp 16
fc2: e0 im -32
fc3: 74 loadsp 16
fc4: 34 storeb

00000fc5 <.LM320>:
fc5: 80 im 0
fc6: fb im -5
fc7: b0 im 48
fc8: 08 load
fc9: 54 storesp 16
fca: a2 im 34
fcb: 74 loadsp 16
fcc: 34 storeb

00000fcd <.LM321>:
fcd: 80 im 0
fce: fb im -5
fcf: c0 im -64
fd0: 08 load
fd1: 54 storesp 16
fd2: ff im -1
fd3: 74 loadsp 16
fd4: 34 storeb

00000fd5 <.LM322>:
fd5: 80 im 0
fd6: fb im -5
fd7: ac im 44
fd8: 08 load
fd9: 54 storesp 16
fda: 83 im 3
fdb: 74 loadsp 16
fdc: 34 storeb

00000fdd <.LM323>:
fdd: 80 im 0
fde: fb im -5
fdf: b4 im 52
fe0: 08 load
fe1: 54 storesp 16
fe2: 82 im 2
fe3: 74 loadsp 16
fe4: 34 storeb

00000fe5 <.L360>:
fe5: fd im -3
fe6: 5d storesp 52

00000fe7 <.L366>:
fe7: 87 im 7
fe8: a9 im 41
fe9: c0 im -64
fea: 51 storesp 4
feb: e9 im -23
fec: c6 im -58
fed: 3f callpcrel

00000fee <.LM325>:
fee: 80 im 0
fef: c5 im -59
ff0: d3 im -45
ff1: 3f callpcrel

00000ff2 <.LM326>:
ff2: 80 im 0
ff3: 58 storesp 32

00000ff4 <.L235>:
ff4: 80 im 0
ff5: 0b nop
ff6: 86 im 6
ff7: b8 im 56
ff8: c0 im -64
ff9: 19 addsp 36
ffa: 34 storeb

00000ffb <.LM328>:
ffb: 81 im 1
ffc: 18 addsp 32
ffd: 58 storesp 32
ffe: 77 loadsp 28
fff: 87 im 7
1000: c0 im -64
1001: 2e eq
1002: 09 not
1003: 81 im 1
1004: 06 and
1005: ee im -18
1006: 38 neqbranch

00001007 <.LM329>:
1007: 0b nop
1008: 0b nop
1009: 80 im 0
100a: f6 im -10
100b: a4 im 36
100c: 51 storesp 4
100d: 80 im 0
100e: c7 im -57
100f: dd im -35
1010: 3f callpcrel

00001011 <.LM330>:
1011: 0b nop
1012: 0b nop
1013: 80 im 0
1014: f6 im -10
1015: b8 im 56
1016: 51 storesp 4
1017: 80 im 0
1018: c7 im -57
1019: d3 im -45
101a: 3f callpcrel

0000101b <.LM331>:
101b: 0b nop
101c: 0b nop
101d: 80 im 0
101e: f6 im -10
101f: cc im -52
1020: 51 storesp 4
1021: 80 im 0
1022: c7 im -57
1023: c9 im -55
1024: 3f callpcrel

00001025 <.LM332>:
1025: 80 im 0
1026: fc im -4
1027: c4 im -60
1028: 08 load
1029: 70 loadsp 0
102a: 08 load
102b: 70 loadsp 0
102c: 88 im 8
102d: 2c ashiftright
102e: 8f im 15
102f: 06 and
1030: 57 storesp 28
1031: 55 storesp 20
1032: 56 storesp 24

00001033 <.LM333>:
1033: 78 loadsp 32
1034: b3 im 51
1035: 38 neqbranch

00001036 <.LM334>:
1036: 76 loadsp 24
1037: 80 im 0
1038: 2e eq
1039: a7 im 39
103a: 38 neqbranch

0000103b <.LM335>:
103b: 75 loadsp 20
103c: 08 load
103d: 77 loadsp 28
103e: 16 addsp 24
103f: 83 im 3
1040: 06 and
1041: 71 loadsp 4
1042: e1 im -31
1043: ff im -1
1044: 06 and
1045: 71 loadsp 4
1046: 88 im 8
1047: 2b ashiftleft
1048: 07 or
1049: 78 loadsp 32
104a: 0c store

0000104b <.LM336>:
104b: 7a loadsp 40

0000104c <.LM337>:
104c: 7b loadsp 44
104d: 5a storesp 40
104e: 5e storesp 56
104f: 56 storesp 24
1050: 54 storesp 16

00001051 <.LM338>:
1051: 87 im 7
1052: a9 im 41
1053: c0 im -64
1054: 51 storesp 4
1055: e8 im -24
1056: dc im -36
1057: 3f callpcrel

00001058 <.LM339>:
1058: 80 im 0
1059: c4 im -60
105a: e9 im -23
105b: 3f callpcrel

0000105c <.LM340>:
105c: 80 im 0
105d: 58 storesp 32
105e: ff im -1
105f: 94 im 20
1060: 39 poppcrel

00001061 <.L237>:
1061: 81 im 1
1062: 80 im 0
1063: 51 storesp 4
1064: 80 im 0
1065: c7 im -57
1066: 80 im 0
1067: 3f callpcrel

00001068 <.L236>:
1068: 74 loadsp 16
1069: 81 im 1
106a: 2e eq
106b: 89 im 9
106c: 93 im 19
106d: 38 neqbranch
106e: 81 im 1
106f: 75 loadsp 20
1070: 25 lessthanorequal
1071: 88 im 8
1072: d4 im -44
1073: 38 neqbranch
1074: 74 loadsp 16
1075: 82 im 2
1076: 2e eq
1077: 88 im 8
1078: 8b im 11
1079: 38 neqbranch
107a: 74 loadsp 16
107b: 83 im 3
107c: 2e eq
107d: 86 im 6
107e: 9a im 26
107f: 38 neqbranch

00001080 <.L243>:
1080: 0b nop
1081: 0b nop
1082: 80 im 0
1083: f6 im -10
1084: d4 im -44
1085: 51 storesp 4
1086: 80 im 0
1087: c6 im -58
1088: e4 im -28
1089: 3f callpcrel

0000108a <.LM344>:
108a: 0b nop
108b: 0b nop
108c: 80 im 0
108d: f9 im -7
108e: c4 im -60
108f: 51 storesp 4
1090: 80 im 0
1091: c6 im -58
1092: da im -38
1093: 3f callpcrel

00001094 <.LM345>:
1094: 0b nop
1095: 0b nop
1096: 80 im 0
1097: f6 im -10
1098: dc im -36
1099: 51 storesp 4
109a: 80 im 0
109b: c6 im -58
109c: d0 im -48
109d: 3f callpcrel

0000109e <.LM346>:
109e: 80 im 0
109f: fc im -4
10a0: c4 im -60
10a1: 08 load
10a2: 70 loadsp 0
10a3: 08 load
10a4: 70 loadsp 0
10a5: 8c im 12
10a6: 2c ashiftright
10a7: 8f im 15
10a8: 06 and
10a9: 57 storesp 28
10aa: 55 storesp 20
10ab: 56 storesp 24

000010ac <.LM347>:
10ac: 78 loadsp 32
10ad: 81 im 1
10ae: 2e eq
10af: 83 im 3
10b0: a2 im 34
10b1: 38 neqbranch

000010b2 <.L245>:
10b2: 74 loadsp 16
10b3: 81 im 1
10b4: 2e eq
10b5: 87 im 7
10b6: 9c im 28
10b7: 38 neqbranch
10b8: 81 im 1
10b9: 75 loadsp 20
10ba: 25 lessthanorequal
10bb: 86 im 6
10bc: e1 im -31
10bd: 38 neqbranch
10be: 74 loadsp 16
10bf: 82 im 2
10c0: 2e eq
10c1: 8c im 12
10c2: a9 im 41
10c3: 38 neqbranch
10c4: 74 loadsp 16
10c5: 83 im 3
10c6: 2e eq
10c7: 8c im 12
10c8: e2 im -30
10c9: 38 neqbranch

000010ca <.L252>:
10ca: 0b nop
10cb: 0b nop
10cc: 80 im 0
10cd: f6 im -10
10ce: d4 im -44
10cf: 51 storesp 4
10d0: 80 im 0
10d1: c6 im -58
10d2: 9a im 26
10d3: 3f callpcrel

000010d4 <.LM350>:
10d4: 0b nop
10d5: 0b nop
10d6: 80 im 0
10d7: f9 im -7
10d8: c4 im -60
10d9: 51 storesp 4
10da: 80 im 0
10db: c6 im -58
10dc: 90 im 16
10dd: 3f callpcrel

000010de <.LM351>:
10de: 0b nop
10df: 0b nop
10e0: 80 im 0
10e1: f6 im -10
10e2: e8 im -24
10e3: 51 storesp 4
10e4: 80 im 0
10e5: c6 im -58
10e6: 86 im 6
10e7: 3f callpcrel

000010e8 <.LM352>:
10e8: 80 im 0
10e9: fc im -4
10ea: c4 im -60
10eb: 08 load
10ec: 70 loadsp 0
10ed: 08 load
10ee: bf im 63
10ef: 06 and
10f0: 56 storesp 24
10f1: 56 storesp 24

000010f2 <.LM353>:
10f2: 78 loadsp 32
10f3: 82 im 2
10f4: 2e eq
10f5: 85 im 5
10f6: ff im -1
10f7: 38 neqbranch

000010f8 <.L254>:
10f8: 81 im 1
10f9: 15 addsp 20
10fa: 70 loadsp 0
10fb: 83 im 3
10fc: c1 im -63
10fd: 9c im 28
10fe: 35 div
10ff: 70 loadsp 0
1100: 83 im 3
1101: ff im -1
1102: ff im -1
1103: 06 and
1104: 53 storesp 12
1105: 51 storesp 4
1106: 54 storesp 16
1107: 80 im 0
1108: c6 im -58
1109: f2 im -14
110a: 3f callpcrel

0000110b <.LM355>:
110b: 0b nop
110c: 0b nop
110d: 80 im 0
110e: f6 im -10
110f: f0 im -16
1110: 51 storesp 4
1111: 80 im 0
1112: c5 im -59
1113: d9 im -39
1114: 3f callpcrel

00001115 <.LM356>:
1115: 78 loadsp 32
1116: 83 im 3
1117: 2e eq
1118: 85 im 5
1119: b7 im 55
111a: 38 neqbranch

0000111b <.L257>:
111b: 83 im 3
111c: e3 im -29
111d: 98 im 24
111e: 51 storesp 4
111f: 80 im 0
1120: c5 im -59
1121: cb im -53
1122: 3f callpcrel

00001123 <.LM358>:
1123: 0b nop
1124: 0b nop
1125: 80 im 0
1126: f6 im -10
1127: fc im -4
1128: 51 storesp 4
1129: 80 im 0
112a: c5 im -59
112b: c1 im -63
112c: 3f callpcrel

0000112d <.LM359>:
112d: 78 loadsp 32
112e: 84 im 4
112f: 2e eq
1130: 84 im 4
1131: c2 im -62
1132: 38 neqbranch

00001133 <.L258>:
1133: 83 im 3
1134: e3 im -29
1135: d8 im -40
1136: 51 storesp 4
1137: 80 im 0
1138: c5 im -59
1139: b3 im 51
113a: 3f callpcrel

0000113b <.LM361>:
113b: 0b nop
113c: 0b nop
113d: 80 im 0
113e: f7 im -9
113f: 84 im 4
1140: 51 storesp 4
1141: 80 im 0
1142: c5 im -59
1143: a9 im 41
1144: 3f callpcrel

00001145 <.LM362>:
1145: 78 loadsp 32
1146: 85 im 5
1147: 2e eq
1148: 84 im 4
1149: 85 im 5
114a: 38 neqbranch

0000114b <.L259>:
114b: 83 im 3
114c: e2 im -30
114d: c8 im -56
114e: 51 storesp 4
114f: 80 im 0
1150: c5 im -59
1151: 9b im 27
1152: 3f callpcrel

00001153 <.LM364>:
1153: 0b nop
1154: 0b nop
1155: 80 im 0
1156: f7 im -9
1157: 8c im 12
1158: 51 storesp 4
1159: 80 im 0
115a: c5 im -59
115b: 91 im 17
115c: 3f callpcrel

0000115d <.LM365>:
115d: 78 loadsp 32
115e: 86 im 6
115f: 2e eq
1160: 85 im 5
1161: b3 im 51
1162: 38 neqbranch

00001163 <.L260>:
1163: 83 im 3
1164: e0 im -32
1165: b8 im 56
1166: 51 storesp 4
1167: 80 im 0
1168: c5 im -59
1169: 83 im 3
116a: 3f callpcrel

0000116b <.LM367>:
116b: 7c loadsp 48
116c: 83 im 3
116d: 26 ulessthan
116e: 93 im 19
116f: 38 neqbranch

00001170 <.LM368>:
1170: 7b loadsp 44
1171: 81 im 1
1172: 2e eq
1173: 87 im 7
1174: c0 im -64
1175: 38 neqbranch

00001176 <.LM369>:
1176: 76 loadsp 24
1177: 81 im 1
1178: 2e eq
1179: 8a im 10
117a: 8b im 11
117b: 38 neqbranch

0000117c <.LM370>:
117c: 76 loadsp 24
117d: ff im -1
117e: 2e eq
117f: 89 im 9
1180: 9f im 31
1181: 38 neqbranch

00001182 <.L261>:
1182: 78 loadsp 32
1183: 87 im 7
1184: 2e eq
1185: 88 im 8
1186: 9b im 27
1187: 38 neqbranch

00001188 <.L279>:
1188: 0b nop
1189: 0b nop
118a: 80 im 0
118b: f7 im -9
118c: 94 im 20
118d: 51 storesp 4
118e: 80 im 0
118f: c4 im -60
1190: dc im -36
1191: 3f callpcrel

00001192 <.LM373>:
1192: 78 loadsp 32
1193: 87 im 7
1194: 2e eq
1195: 86 im 6
1196: a2 im 34
1197: 38 neqbranch

00001198 <.LM374>:
1198: 78 loadsp 32
1199: 88 im 8
119a: 2e eq
119b: 88 im 8
119c: 8e im 14
119d: 38 neqbranch

0000119e <.L282>:
119e: 0b nop
119f: 0b nop
11a0: 80 im 0
11a1: f7 im -9
11a2: 9c im 28
11a3: 51 storesp 4
11a4: 80 im 0
11a5: c4 im -60
11a6: c6 im -58
11a7: 3f callpcrel

000011a8 <.LM376>:
11a8: 78 loadsp 32
11a9: 88 im 8
11aa: 2e eq
11ab: 81 im 1
11ac: d3 im -45
11ad: 38 neqbranch

000011ae <.L283>:
11ae: 80 im 0

000011af <.LM378>:
11af: 70 loadsp 0

000011b0 <.LM379>:
11b0: 80 im 0
11b1: fb im -5
11b2: c4 im -60
11b3: 08 load
11b4: 70 loadsp 0
11b5: 33 loadb
11b6: 70 loadsp 0
11b7: 81 im 1
11b8: ff im -1
11b9: 06 and

000011ba <.LM380>:
11ba: 70 loadsp 0
11bb: 81 im 1
11bc: 2a lshiftright
11bd: 81 im 1
11be: 32 xor
11bf: 81 im 1
11c0: 06 and
11c1: 5b storesp 44
11c2: 59 storesp 36
11c3: 51 storesp 4
11c4: 56 storesp 24
11c5: 58 storesp 32
11c6: 5c storesp 48
11c7: 75 loadsp 20
11c8: 80 im 0
11c9: e9 im -23
11ca: 38 neqbranch

000011cb <.L287>:
11cb: 74 loadsp 16
11cc: 81 im 1
11cd: 32 xor
11ce: 70 loadsp 0
11cf: 81 im 1
11d0: 06 and
11d1: 51 storesp 4
11d2: 54 storesp 16
11d3: 73 loadsp 12
11d4: 88 im 8
11d5: b0 im 48
11d6: 38 neqbranch

000011d7 <.LM382>:
11d7: 74 loadsp 16
11d8: 83 im 3
11d9: 2a lshiftright
11da: 81 im 1
11db: 32 xor
11dc: 70 loadsp 0
11dd: 81 im 1
11de: 06 and
11df: 51 storesp 4
11e0: 54 storesp 16
11e1: 73 loadsp 12
11e2: 88 im 8
11e3: 91 im 17
11e4: 38 neqbranch

000011e5 <.LM383>:
11e5: 74 loadsp 16
11e6: 82 im 2
11e7: 2a lshiftright
11e8: 81 im 1
11e9: 32 xor
11ea: 70 loadsp 0
11eb: 81 im 1
11ec: 06 and
11ed: 51 storesp 4
11ee: 54 storesp 16
11ef: 73 loadsp 12
11f0: 87 im 7
11f1: f2 im -14
11f2: 38 neqbranch

000011f3 <.LM384>:
11f3: 80 im 0
11f4: fb im -5
11f5: bc im 60
11f6: 08 load
11f7: 70 loadsp 0
11f8: 33 loadb
11f9: 70 loadsp 0
11fa: 81 im 1
11fb: ff im -1
11fc: 06 and
11fd: 51 storesp 4
11fe: 55 storesp 20
11ff: 55 storesp 20
1200: 73 loadsp 12
1201: 80 im 0
1202: 2e eq
1203: 87 im 7
1204: c1 im -63
1205: 38 neqbranch

00001206 <.LM385>:
1206: 80 im 0
1207: c1 im -63
1208: bb im 59
1209: 3f callpcrel

0000120a <.LM386>:
120a: 80 im 0
120b: fb im -5
120c: c8 im -56
120d: 08 load
120e: 80 im 0
120f: fb im -5
1210: d8 im -40
1211: 08 load
1212: 55 storesp 20
1213: 55 storesp 20
1214: 74 loadsp 16
1215: 33 loadb
1216: 74 loadsp 16
1217: 34 storeb

00001218 <.LM387>:
1218: 80 im 0
1219: fb im -5
121a: c4 im -60
121b: 08 load
121c: 70 loadsp 0
121d: 33 loadb
121e: 70 loadsp 0
121f: 81 im 1
1220: ff im -1
1221: 06 and

00001222 <.LM388>:
1222: 70 loadsp 0
1223: 81 im 1
1224: 2a lshiftright
1225: 81 im 1
1226: 32 xor
1227: 81 im 1
1228: 06 and
1229: 59 storesp 36
122a: 57 storesp 28
122b: 51 storesp 4
122c: 54 storesp 16
122d: 75 loadsp 20
122e: 80 im 0
122f: 2e eq
1230: ff im -1
1231: 99 im 25
1232: 38 neqbranch

00001233 <.L388>:
1233: 81 im 1
1234: 19 addsp 36
1235: fd im -3
1236: 11 addsp 4
1237: 5e storesp 56
1238: 59 storesp 36

00001239 <.LM390>:
1239: 88 im 8
123a: 79 loadsp 36
123b: 25 lessthanorequal
123c: fb im -5
123d: a9 im 41
123e: 38 neqbranch
123f: 88 im 8
1240: 59 storesp 36
1241: 85 im 5
1242: 5d storesp 52

00001243 <.LM391>:
1243: 87 im 7
1244: a9 im 41
1245: c0 im -64
1246: 51 storesp 4
1247: e4 im -28
1248: ea im -22
1249: 3f callpcrel

0000124a <.LM392>:
124a: 80 im 0
124b: c0 im -64
124c: f7 im -9
124d: 3f callpcrel

0000124e <.LM393>:
124e: 80 im 0
124f: 58 storesp 32
1250: fb im -5
1251: a2 im 34
1252: 39 poppcrel

00001253 <.L374>:
1253: 76 loadsp 24
1254: 80 im 0
1255: 2e eq
1256: 87 im 7
1257: bf im 63
1258: 38 neqbranch

00001259 <.LM395>:
1259: 75 loadsp 20
125a: 08 load
125b: 77 loadsp 28
125c: 16 addsp 24
125d: 83 im 3
125e: 06 and
125f: 71 loadsp 4
1260: fc im -4
1261: 9f im 31
1262: ff im -1
1263: 06 and
1264: 71 loadsp 4
1265: 8c im 12
1266: 2b ashiftleft
1267: 07 or

00001268 <.LM396>:
1268: 78 loadsp 32
1269: 0c store
126a: 56 storesp 24
126b: 54 storesp 16

0000126c <.L361>:
126c: 80 im 0

0000126d <.LM398>:
126d: 70 loadsp 0
126e: 58 storesp 32
126f: 5c storesp 48

00001270 <.L391>:
1270: 87 im 7
1271: a9 im 41
1272: c0 im -64
1273: 51 storesp 4
1274: e4 im -28
1275: bd im 61
1276: 3f callpcrel

00001277 <.LM400>:
1277: 80 im 0
1278: c0 im -64
1279: ca im -54
127a: 3f callpcrel

0000127b <.LM401>:
127b: 80 im 0
127c: 58 storesp 32
127d: fa im -6
127e: f5 im -11
127f: 39 poppcrel

00001280 <.L387>:
1280: 7b loadsp 44
1281: 81 im 1
1282: 2e eq
1283: 09 not
1284: 81 im 1
1285: 06 and
1286: fe im -2
1287: a6 im 38
1288: 38 neqbranch

00001289 <.L231>:
1289: 80 im 0
128a: c0 im -64
128b: 58 storesp 32

0000128c <.L303>:
128c: 86 im 6
128d: b8 im 56
128e: 80 im 0
128f: 18 addsp 32
1290: 81 im 1
1291: 9f im 31
1292: e0 im -32
1293: 80 im 0
1294: 19 addsp 36
1295: 55 storesp 20
1296: 55 storesp 20
1297: 73 loadsp 12
1298: 33 loadb
1299: 75 loadsp 20
129a: 34 storeb

0000129b <.LM405>:
129b: 81 im 1
129c: 18 addsp 32
129d: 58 storesp 32
129e: 77 loadsp 28
129f: 88 im 8
12a0: 80 im 0
12a1: 2e eq
12a2: 09 not
12a3: 81 im 1
12a4: 06 and
12a5: e6 im -26
12a6: 38 neqbranch

000012a7 <.LM406>:
12a7: 83 im 3
12a8: a0 im 32
12a9: 80 im 0
12aa: 58 storesp 32

000012ab <.L307>:
12ab: 84 im 4
12ac: 80 im 0
12ad: 80 im 0
12ae: 18 addsp 32
12af: 81 im 1
12b0: 9c im 28
12b1: 80 im 0
12b2: 80 im 0
12b3: 19 addsp 36
12b4: 55 storesp 20
12b5: 55 storesp 20
12b6: 73 loadsp 12
12b7: 33 loadb
12b8: 75 loadsp 20
12b9: 34 storeb

000012ba <.LM408>:
12ba: 81 im 1
12bb: 18 addsp 32
12bc: 58 storesp 32
12bd: 77 loadsp 28
12be: 83 im 3
12bf: a0 im 32
12c0: 9f im 31
12c1: 2e eq
12c2: 09 not
12c3: 81 im 1
12c4: 06 and
12c5: e5 im -27
12c6: 38 neqbranch

000012c7 <.LM409>:
12c7: 83 im 3
12c8: a4 im 36
12c9: 80 im 0
12ca: 58 storesp 32

000012cb <.L311>:
12cb: 84 im 4
12cc: 80 im 0
12cd: 80 im 0
12ce: 18 addsp 32
12cf: 81 im 1
12d0: 9c im 28
12d1: 80 im 0
12d2: 80 im 0
12d3: 19 addsp 36
12d4: 55 storesp 20
12d5: 55 storesp 20
12d6: 73 loadsp 12
12d7: 33 loadb
12d8: 75 loadsp 20
12d9: 34 storeb

000012da <.LM411>:
12da: 81 im 1
12db: 18 addsp 32
12dc: 58 storesp 32
12dd: 77 loadsp 28
12de: 83 im 3
12df: a4 im 36
12e0: 9f im 31
12e1: 2e eq
12e2: 09 not
12e3: 81 im 1
12e4: 06 and
12e5: e5 im -27
12e6: 38 neqbranch

000012e7 <.LM412>:
12e7: 83 im 3
12e8: a8 im 40
12e9: 80 im 0
12ea: 58 storesp 32

000012eb <.L315>:
12eb: 84 im 4
12ec: 80 im 0
12ed: 80 im 0
12ee: 18 addsp 32
12ef: 81 im 1
12f0: 9c im 28
12f1: 80 im 0
12f2: 80 im 0
12f3: 19 addsp 36
12f4: 55 storesp 20
12f5: 55 storesp 20
12f6: 73 loadsp 12
12f7: 33 loadb
12f8: 75 loadsp 20
12f9: 34 storeb

000012fa <.LM414>:
12fa: 81 im 1
12fb: 18 addsp 32
12fc: 58 storesp 32
12fd: 77 loadsp 28
12fe: 83 im 3
12ff: a8 im 40
1300: 8f im 15
1301: 2e eq
1302: 09 not
1303: 81 im 1
1304: 06 and
1305: e5 im -27
1306: 38 neqbranch

00001307 <.LM415>:
1307: 80 im 0
1308: fb im -5
1309: c0 im -64
130a: 08 load
130b: 54 storesp 16
130c: 79 loadsp 36
130d: 74 loadsp 16
130e: 34 storeb

0000130f <.LM416>:
130f: 83 im 3
1310: e0 im -32
1311: ac im 44
1312: 08 load
1313: 51 storesp 4
1314: bf im 63
1315: c7 im -57
1316: 3f callpcrel

00001317 <.LM417>:
1317: 7a loadsp 40
1318: 80 im 0
1319: 2e eq
131a: a7 im 39
131b: 38 neqbranch

0000131c <.LM418>:
131c: 0b nop
131d: 0b nop
131e: 80 im 0
131f: f6 im -10
1320: 98 im 24
1321: 51 storesp 4
1322: 80 im 0
1323: c1 im -63
1324: c8 im -56
1325: 3f callpcrel

00001326 <.LM419>:
1326: 9e im 30
1327: c2 im -62
1328: a0 im 32
1329: 51 storesp 4
132a: e3 im -29
132b: 87 im 7
132c: 3f callpcrel

0000132d <.LM420>:
132d: 80 im 0
132e: 51 storesp 4
132f: e6 im -26
1330: b9 im 57
1331: 3f callpcrel

00001332 <.LM421>:
1332: 80 im 0
1333: fb im -5
1334: e4 im -28
1335: 08 load
1336: 54 storesp 16
1337: 80 im 0
1338: 74 loadsp 16
1339: 34 storeb

0000133a <.LM422>:
133a: e5 im -27
133b: b4 im 52
133c: 3f callpcrel

0000133d <.LM423>:
133d: 81 im 1
133e: 51 storesp 4
133f: e6 im -26
1340: a9 im 41
1341: 3f callpcrel

00001342 <.L316>:
1342: 80 im 0
1343: 51 storesp 4
1344: e6 im -26
1345: c8 im -56
1346: 3f callpcrel
1347: 80 im 0
1348: fc im -4
1349: b8 im 56
134a: 08 load
134b: 55 storesp 20
134c: f4 im -12
134d: a6 im 38
134e: 39 poppcrel

0000134f <.L379>:
134f: 81 im 1
1350: 80 im 0
1351: 51 storesp 4
1352: 80 im 0
1353: c1 im -63
1354: 92 im 18
1355: 3f callpcrel

00001356 <.LM426>:
1356: 83 im 3
1357: e2 im -30
1358: c8 im -56
1359: 51 storesp 4
135a: 80 im 0
135b: c1 im -63
135c: 90 im 16
135d: 3f callpcrel

0000135e <.LM427>:
135e: 0b nop
135f: 0b nop
1360: 80 im 0
1361: f7 im -9
1362: 8c im 12
1363: 51 storesp 4
1364: 80 im 0
1365: c1 im -63
1366: 86 im 6
1367: 3f callpcrel

00001368 <.LM428>:
1368: 78 loadsp 32
1369: 86 im 6
136a: 2e eq
136b: 09 not
136c: 81 im 1
136d: 06 and
136e: fb im -5
136f: f3 im -13
1370: 38 neqbranch
1371: 81 im 1
1372: a2 im 34
1373: 39 poppcrel

00001374 <.L378>:
1374: 81 im 1
1375: 80 im 0
1376: 51 storesp 4
1377: 80 im 0
1378: c0 im -64
1379: ed im -19
137a: 3f callpcrel

0000137b <.LM430>:
137b: 83 im 3
137c: e3 im -29
137d: d8 im -40
137e: 51 storesp 4
137f: 80 im 0
1380: c0 im -64
1381: eb im -21
1382: 3f callpcrel

00001383 <.LM431>:
1383: 0b nop
1384: 0b nop
1385: 80 im 0
1386: f7 im -9
1387: 84 im 4
1388: 51 storesp 4
1389: 80 im 0
138a: c0 im -64
138b: e1 im -31
138c: 3f callpcrel

0000138d <.LM432>:
138d: 78 loadsp 32
138e: 85 im 5
138f: 2e eq
1390: 09 not
1391: 81 im 1
1392: 06 and
1393: fb im -5
1394: b6 im 54
1395: 38 neqbranch
1396: ff im -1
1397: b7 im 55
1398: 39 poppcrel

00001399 <.L242>:
1399: 0b nop
139a: 0b nop
139b: 80 im 0
139c: f7 im -9
139d: a4 im 36
139e: 51 storesp 4

0000139f <.LM434>:
139f: 80 im 0
13a0: c0 im -64
13a1: cb im -53
13a2: 3f callpcrel

000013a3 <.LM435>:
13a3: 0b nop
13a4: 0b nop
13a5: 80 im 0
13a6: f9 im -7
13a7: c4 im -60
13a8: 51 storesp 4
13a9: 80 im 0
13aa: c0 im -64
13ab: c1 im -63
13ac: 3f callpcrel

000013ad <.LM436>:
13ad: 0b nop
13ae: 0b nop
13af: 80 im 0
13b0: f6 im -10
13b1: dc im -36
13b2: 51 storesp 4
13b3: 80 im 0
13b4: c0 im -64
13b5: b7 im 55
13b6: 3f callpcrel

000013b7 <.LM437>:
13b7: 80 im 0
13b8: fc im -4
13b9: c4 im -60
13ba: 08 load
13bb: 70 loadsp 0
13bc: 08 load
13bd: 70 loadsp 0
13be: 8c im 12
13bf: 2c ashiftright
13c0: 8f im 15
13c1: 06 and
13c2: 57 storesp 28
13c3: 55 storesp 20
13c4: 56 storesp 24

000013c5 <.LM438>:
13c5: 78 loadsp 32
13c6: 81 im 1
13c7: 2e eq
13c8: 09 not
13c9: 81 im 1
13ca: 06 and
13cb: f9 im -7
13cc: e5 im -27
13cd: 38 neqbranch
13ce: fd im -3
13cf: 83 im 3
13d0: 39 poppcrel

000013d1 <.L377>:
13d1: 81 im 1
13d2: 80 im 0
13d3: 51 storesp 4
13d4: 80 im 0
13d5: c0 im -64
13d6: 90 im 16
13d7: 3f callpcrel

000013d8 <.LM440>:
13d8: 83 im 3
13d9: e3 im -29
13da: 98 im 24
13db: 51 storesp 4
13dc: 80 im 0
13dd: c0 im -64
13de: 8e im 14
13df: 3f callpcrel

000013e0 <.LM441>:
13e0: 0b nop
13e1: 0b nop
13e2: 80 im 0
13e3: f6 im -10
13e4: fc im -4
13e5: 51 storesp 4
13e6: 80 im 0
13e7: c0 im -64
13e8: 84 im 4
13e9: 3f callpcrel

000013ea <.LM442>:
13ea: 78 loadsp 32
13eb: 84 im 4
13ec: 2e eq
13ed: 09 not
13ee: 81 im 1
13ef: 06 and
13f0: fa im -6
13f1: c1 im -63
13f2: 38 neqbranch
13f3: fe im -2
13f4: ff im -1
13f5: 39 poppcrel

000013f6 <.L376>:
13f6: 76 loadsp 24
13f7: 80 im 0
13f8: 2e eq
13f9: 82 im 2
13fa: fa im -6
13fb: 38 neqbranch

000013fc <.LM444>:
13fc: 76 loadsp 24
13fd: 15 addsp 20

000013fe <.LM445>:
13fe: 70 loadsp 0
13ff: 09 not
1400: 70 loadsp 0
1401: 9f im 31
1402: 2c ashiftright
1403: 72 loadsp 8
1404: 06 and

00001405 <.LM446>:
1405: 78 loadsp 32
1406: 08 load
1407: 52 storesp 8
1408: bf im 63
1409: 06 and
140a: 71 loadsp 4
140b: c0 im -64
140c: 06 and
140d: 07 or
140e: 78 loadsp 32
140f: 0c store
1410: 55 storesp 20
1411: 55 storesp 20
1412: fc im -4
1413: d8 im -40
1414: 39 poppcrel

00001415 <.L380>:
1415: 81 im 1
1416: 80 im 0
1417: 51 storesp 4
1418: bf im 63
1419: cd im -51
141a: 3f callpcrel
141b: fa im -6
141c: c6 im -58
141d: 39 poppcrel

0000141e <.L375>:
141e: 74 loadsp 16
141f: f9 im -7
1420: a9 im 41
1421: 38 neqbranch

00001422 <.LM449>:
1422: 0b nop
1423: 0b nop
1424: 80 im 0
1425: f7 im -9
1426: b4 im 52
1427: 51 storesp 4

00001428 <.LM450>:
1428: bf im 63
1429: c3 im -61
142a: 3f callpcrel

0000142b <.LM451>:
142b: 0b nop
142c: 0b nop
142d: 80 im 0
142e: f9 im -7
142f: c4 im -60
1430: 51 storesp 4
1431: bf im 63
1432: ba im 58
1433: 3f callpcrel

00001434 <.LM452>:
1434: 0b nop
1435: 0b nop
1436: 80 im 0
1437: f6 im -10
1438: e8 im -24
1439: 51 storesp 4
143a: bf im 63
143b: b1 im 49
143c: 3f callpcrel

0000143d <.LM453>:
143d: 80 im 0
143e: fc im -4
143f: c4 im -60
1440: 08 load
1441: 70 loadsp 0
1442: 08 load
1443: bf im 63
1444: 06 and
1445: 56 storesp 24
1446: 56 storesp 24

00001447 <.LM454>:
1447: 78 loadsp 32
1448: 82 im 2
1449: 2e eq
144a: 09 not
144b: 81 im 1
144c: 06 and
144d: f9 im -7
144e: a9 im 41
144f: 38 neqbranch
1450: ff im -1
1451: a4 im 36
1452: 39 poppcrel

00001453 <.L249>:
1453: 0b nop
1454: 0b nop
1455: 80 im 0
1456: f7 im -9
1457: c4 im -60
1458: 51 storesp 4

00001459 <.LM456>:
1459: bf im 63
145a: 92 im 18
145b: 3f callpcrel

0000145c <.LM457>:
145c: 0b nop
145d: 0b nop
145e: 80 im 0
145f: f9 im -7
1460: c4 im -60
1461: 51 storesp 4
1462: bf im 63
1463: 89 im 9
1464: 3f callpcrel

00001465 <.LM458>:
1465: 0b nop
1466: 0b nop
1467: 80 im 0
1468: f6 im -10
1469: e8 im -24
146a: 51 storesp 4
146b: bf im 63
146c: 80 im 0
146d: 3f callpcrel

0000146e <.LM459>:
146e: 80 im 0
146f: fc im -4
1470: c4 im -60
1471: 08 load
1472: 70 loadsp 0
1473: 08 load
1474: bf im 63
1475: 06 and
1476: 56 storesp 24
1477: 56 storesp 24

00001478 <.LM460>:
1478: 78 loadsp 32
1479: 82 im 2
147a: 2e eq
147b: 09 not
147c: 81 im 1
147d: 06 and
147e: f8 im -8
147f: f8 im -8
1480: 38 neqbranch
1481: fe im -2
1482: f3 im -13
1483: 39 poppcrel

00001484 <.L241>:
1484: 0b nop
1485: 0b nop
1486: 80 im 0
1487: f7 im -9
1488: e0 im -32
1489: 51 storesp 4

0000148a <.LM462>:
148a: be im 62
148b: e1 im -31
148c: 3f callpcrel

0000148d <.LM463>:
148d: 0b nop
148e: 0b nop
148f: 80 im 0
1490: f9 im -7
1491: c4 im -60
1492: 51 storesp 4
1493: be im 62
1494: d8 im -40
1495: 3f callpcrel

00001496 <.LM464>:
1496: 0b nop
1497: 0b nop
1498: 80 im 0
1499: f6 im -10
149a: dc im -36
149b: 51 storesp 4
149c: be im 62
149d: cf im -49
149e: 3f callpcrel

0000149f <.LM465>:
149f: 80 im 0
14a0: fc im -4
14a1: c4 im -60
14a2: 08 load
14a3: 70 loadsp 0
14a4: 08 load
14a5: 70 loadsp 0
14a6: 8c im 12
14a7: 2c ashiftright
14a8: 8f im 15
14a9: 06 and
14aa: 57 storesp 28
14ab: 55 storesp 20
14ac: 56 storesp 24

000014ad <.LM466>:
14ad: 78 loadsp 32
14ae: 81 im 1
14af: 2e eq
14b0: 09 not
14b1: 81 im 1
14b2: 06 and
14b3: f7 im -9
14b4: fd im -3
14b5: 38 neqbranch
14b6: fb im -5
14b7: 9b im 27
14b8: 39 poppcrel

000014b9 <.L385>:
14b9: 7b loadsp 44
14ba: 81 im 1
14bb: 2e eq
14bc: 09 not
14bd: 81 im 1
14be: 06 and
14bf: f9 im -7
14c0: dd im -35
14c1: 38 neqbranch

000014c2 <.LM468>:
14c2: 7b loadsp 44
14c3: 5b storesp 44
14c4: fb im -5
14c5: c3 im -61
14c6: 39 poppcrel

000014c7 <.L373>:
14c7: 74 loadsp 16
14c8: f7 im -9
14c9: b6 im 54
14ca: 38 neqbranch

000014cb <.LM470>:
14cb: 0b nop
14cc: 0b nop
14cd: 80 im 0
14ce: f7 im -9
14cf: f4 im -12
14d0: 51 storesp 4

000014d1 <.LM471>:
14d1: be im 62
14d2: 9a im 26
14d3: 3f callpcrel

000014d4 <.LM472>:
14d4: 0b nop
14d5: 0b nop
14d6: 80 im 0
14d7: f9 im -7
14d8: c4 im -60
14d9: 51 storesp 4
14da: be im 62
14db: 91 im 17
14dc: 3f callpcrel

000014dd <.LM473>:
14dd: 0b nop
14de: 0b nop
14df: 80 im 0
14e0: f6 im -10
14e1: dc im -36
14e2: 51 storesp 4
14e3: be im 62
14e4: 88 im 8
14e5: 3f callpcrel

000014e6 <.LM474>:
14e6: 80 im 0
14e7: fc im -4
14e8: c4 im -60
14e9: 08 load
14ea: 70 loadsp 0
14eb: 08 load
14ec: 70 loadsp 0
14ed: 8c im 12
14ee: 2c ashiftright
14ef: 8f im 15
14f0: 06 and
14f1: 57 storesp 28
14f2: 55 storesp 20
14f3: 56 storesp 24

000014f4 <.LM475>:
14f4: 78 loadsp 32
14f5: 81 im 1
14f6: 2e eq
14f7: 09 not
14f8: 81 im 1
14f9: 06 and
14fa: f7 im -9
14fb: b6 im 54
14fc: 38 neqbranch
14fd: fa im -6
14fe: d4 im -44
14ff: 39 poppcrel

00001500 <.L240>:
1500: 0b nop
1501: 0b nop
1502: 80 im 0
1503: f7 im -9
1504: fc im -4
1505: 51 storesp 4

00001506 <.LM477>:
1506: bd im 61
1507: e5 im -27
1508: 3f callpcrel

00001509 <.LM478>:
1509: 0b nop
150a: 0b nop
150b: 80 im 0
150c: f9 im -7
150d: c4 im -60
150e: 51 storesp 4
150f: bd im 61
1510: dc im -36
1511: 3f callpcrel

00001512 <.LM479>:
1512: 0b nop
1513: 0b nop
1514: 80 im 0
1515: f6 im -10
1516: dc im -36
1517: 51 storesp 4
1518: bd im 61
1519: d3 im -45
151a: 3f callpcrel

0000151b <.LM480>:
151b: 80 im 0
151c: fc im -4
151d: c4 im -60
151e: 08 load
151f: 70 loadsp 0
1520: 08 load
1521: 70 loadsp 0
1522: 8c im 12
1523: 2c ashiftright
1524: 8f im 15
1525: 06 and
1526: 57 storesp 28
1527: 55 storesp 20
1528: 56 storesp 24

00001529 <.LM481>:
1529: 78 loadsp 32
152a: 81 im 1
152b: 2e eq
152c: 09 not
152d: 81 im 1
152e: 06 and
152f: f7 im -9
1530: 81 im 1
1531: 38 neqbranch
1532: fa im -6
1533: 9f im 31
1534: 39 poppcrel

00001535 <.L381>:
1535: 78 loadsp 32
1536: 84 im 4
1537: 2e eq
1538: b6 im 54
1539: 38 neqbranch
153a: 78 loadsp 32
153b: 84 im 4
153c: 24 lessthan
153d: 94 im 20
153e: 38 neqbranch
153f: 78 loadsp 32
1540: 83 im 3
1541: 2e eq
1542: 83 im 3
1543: d9 im -39
1544: 38 neqbranch

00001545 <.L263>:
1545: fe im -2
1546: 19 addsp 36
1547: 83 im 3
1548: e0 im -32
1549: b4 im 52
154a: 0c store

0000154b <.L392>:
154b: 80 im 0

0000154c <.LM485>:
154c: 70 loadsp 0
154d: 58 storesp 32
154e: 5c storesp 48
154f: fa im -6
1550: 9f im 31
1551: 39 poppcrel

00001552 <.L268>:
1552: 78 loadsp 32
1553: 85 im 5
1554: 2e eq
1555: 83 im 3
1556: cd im -51
1557: 38 neqbranch
1558: 78 loadsp 32
1559: 86 im 6
155a: 2e eq
155b: 09 not
155c: 81 im 1
155d: 06 and
155e: e6 im -26
155f: 38 neqbranch

00001560 <.LM487>:
1560: 83 im 3
1561: e0 im -32
1562: b8 im 56
1563: 51 storesp 4

00001564 <.L364>:
1564: ea im -22
1565: fe im -2
1566: 3f callpcrel

00001567 <.LM488>:
1567: fe im -2
1568: 19 addsp 36
1569: 83 im 3
156a: e0 im -32
156b: b4 im 52
156c: 0c store
156d: dd im -35
156e: 39 poppcrel

0000156f <.L265>:
156f: 83 im 3
1570: e3 im -29
1571: d8 im -40
1572: 51 storesp 4
1573: f0 im -16
1574: 39 poppcrel

00001575 <.L255>:
1575: 81 im 1
1576: 80 im 0
1577: 51 storesp 4
1578: bc im 60
1579: ed im -19
157a: 3f callpcrel

0000157b <.LM491>:
157b: 81 im 1
157c: 15 addsp 20
157d: 70 loadsp 0
157e: 83 im 3
157f: c1 im -63
1580: 9c im 28
1581: 35 div
1582: 70 loadsp 0
1583: 83 im 3
1584: ff im -1
1585: ff im -1
1586: 06 and
1587: 53 storesp 12
1588: 51 storesp 4
1589: 54 storesp 16
158a: bd im 61
158b: f0 im -16
158c: 3f callpcrel

0000158d <.LM492>:
158d: 0b nop
158e: 0b nop
158f: 80 im 0
1590: f6 im -10
1591: f0 im -16
1592: 51 storesp 4
1593: bc im 60
1594: d8 im -40
1595: 3f callpcrel

00001596 <.LM493>:
1596: 78 loadsp 32
1597: 83 im 3
1598: 2e eq
1599: 09 not
159a: 81 im 1
159b: 06 and
159c: f6 im -10
159d: fd im -3
159e: 38 neqbranch
159f: fc im -4
15a0: b0 im 48
15a1: 39 poppcrel

000015a2 <.L384>:
15a2: 81 im 1
15a3: 80 im 0
15a4: 51 storesp 4
15a5: bc im 60
15a6: c0 im -64
15a7: 3f callpcrel
15a8: f7 im -9
15a9: de im -34
15aa: 39 poppcrel

000015ab <.L386>:
15ab: 81 im 1
15ac: 80 im 0
15ad: 51 storesp 4
15ae: bc im 60
15af: b7 im 55
15b0: 3f callpcrel

000015b1 <.LM496>:
15b1: 0b nop
15b2: 0b nop
15b3: 80 im 0
15b4: f7 im -9
15b5: 9c im 28
15b6: 51 storesp 4
15b7: bc im 60
15b8: b4 im 52
15b9: 3f callpcrel

000015ba <.LM497>:
15ba: 78 loadsp 32
15bb: 88 im 8
15bc: 2e eq
15bd: 09 not
15be: 81 im 1
15bf: 06 and
15c0: f7 im -9
15c1: ec im -20
15c2: 38 neqbranch
15c3: f9 im -7
15c4: bb im 59
15c5: 39 poppcrel

000015c6 <.L390>:
15c6: 81 im 1
15c7: 5c storesp 48

000015c8 <.L298>:
15c8: 74 loadsp 16
15c9: 33 loadb
15ca: 70 loadsp 0
15cb: 81 im 1
15cc: ff im -1
15cd: 06 and
15ce: 51 storesp 4
15cf: 54 storesp 16
15d0: 73 loadsp 12
15d1: f4 im -12
15d2: 94 im 20
15d3: 38 neqbranch
15d4: 74 loadsp 16
15d5: 33 loadb
15d6: 70 loadsp 0
15d7: 81 im 1
15d8: ff im -1
15d9: 06 and
15da: 51 storesp 4
15db: 54 storesp 16
15dc: 73 loadsp 12
15dd: 80 im 0
15de: 2e eq
15df: e8 im -24
15e0: 38 neqbranch
15e1: f4 im -12
15e2: 84 im 4
15e3: 39 poppcrel

000015e4 <.L356>:
15e4: ff im -1
15e5: 57 storesp 28

000015e6 <.LM501>:
15e6: 87 im 7
15e7: a9 im 41
15e8: c0 im -64
15e9: 51 storesp 4
15ea: dd im -35
15eb: c7 im -57
15ec: 3f callpcrel

000015ed <.LM502>:
15ed: b9 im 57
15ee: d5 im -43
15ef: 3f callpcrel

000015f0 <.LM503>:
15f0: 80 im 0
15f1: 58 storesp 32
15f2: f4 im -12
15f3: 80 im 0
15f4: 39 poppcrel

000015f5 <.L355>:
15f5: 81 im 1
15f6: 57 storesp 28

000015f7 <.LM505>:
15f7: 87 im 7
15f8: a9 im 41
15f9: c0 im -64
15fa: 51 storesp 4
15fb: dd im -35
15fc: b6 im 54
15fd: 3f callpcrel

000015fe <.LM506>:
15fe: b9 im 57
15ff: c4 im -60
1600: 3f callpcrel

00001601 <.LM507>:
1601: 80 im 0
1602: 58 storesp 32
1603: f3 im -13
1604: ef im -17
1605: 39 poppcrel

00001606 <.L389>:
1606: ff im -1
1607: 19 addsp 36
1608: fd im -3
1609: 11 addsp 4
160a: 5e storesp 56
160b: 59 storesp 36

0000160c <.LM509>:
160c: 78 loadsp 32
160d: 80 im 0
160e: 25 lessthanorequal
160f: f3 im -13
1610: d6 im -42
1611: 38 neqbranch
1612: 75 loadsp 20
1613: 59 storesp 36
1614: f3 im -13
1615: cf im -49
1616: 39 poppcrel

00001617 <.L246>:
1617: 81 im 1
1618: 80 im 0
1619: 51 storesp 4
161a: bb im 59
161b: cb im -53
161c: 3f callpcrel
161d: f5 im -11
161e: 93 im 19
161f: 39 poppcrel

00001620 <.L383>:
1620: 80 im 0
1621: 58 storesp 32

00001622 <.L278>:
1622: 83 im 3
1623: e3 im -29
1624: 98 im 24
1625: 18 addsp 32
1626: 70 loadsp 0
1627: 33 loadb

00001628 <.LM513>:
1628: 83 im 3
1629: e3 im -29
162a: d8 im -40
162b: 1a addsp 40
162c: 57 storesp 28
162d: 58 storesp 32
162e: 54 storesp 16
162f: 74 loadsp 16
1630: 33 loadb
1631: 74 loadsp 16
1632: 34 storeb

00001633 <.LM514>:
1633: 83 im 3
1634: e2 im -30
1635: c8 im -56
1636: 18 addsp 32
1637: 56 storesp 24
1638: 75 loadsp 20
1639: 33 loadb
163a: 75 loadsp 20
163b: 34 storeb

0000163c <.LM515>:
163c: 83 im 3
163d: e0 im -32
163e: b8 im 56
163f: 18 addsp 32
1640: 54 storesp 16
1641: 73 loadsp 12
1642: 33 loadb
1643: 76 loadsp 24
1644: 34 storeb

00001645 <.LM516>:
1645: 76 loadsp 24
1646: 74 loadsp 16
1647: 34 storeb

00001648 <.LM517>:
1648: 81 im 1
1649: 18 addsp 32
164a: 58 storesp 32
164b: 77 loadsp 28
164c: 8f im 15
164d: 2e eq
164e: f8 im -8
164f: 9c im 28
1650: 38 neqbranch

00001651 <.LM518>:
1651: 83 im 3
1652: e3 im -29
1653: 98 im 24
1654: 18 addsp 32
1655: 70 loadsp 0
1656: 33 loadb

00001657 <.LM519>:
1657: 83 im 3
1658: e3 im -29
1659: d8 im -40
165a: 1a addsp 40
165b: 57 storesp 28
165c: 58 storesp 32
165d: 54 storesp 16
165e: 74 loadsp 16
165f: 33 loadb
1660: 74 loadsp 16
1661: 34 storeb

00001662 <.LM520>:
1662: 83 im 3
1663: e2 im -30
1664: c8 im -56
1665: 18 addsp 32
1666: 56 storesp 24
1667: 75 loadsp 20
1668: 33 loadb
1669: 75 loadsp 20
166a: 34 storeb

0000166b <.LM521>:
166b: 83 im 3
166c: e0 im -32
166d: b8 im 56
166e: 18 addsp 32
166f: 54 storesp 16
1670: 73 loadsp 12
1671: 33 loadb
1672: 76 loadsp 24
1673: 34 storeb

00001674 <.LM522>:
1674: 76 loadsp 24
1675: 74 loadsp 16
1676: 34 storeb

00001677 <.LM523>:
1677: 81 im 1
1678: 18 addsp 32
1679: 58 storesp 32
167a: 77 loadsp 28
167b: 8f im 15
167c: 2e eq
167d: 09 not
167e: 81 im 1
167f: 06 and
1680: ff im -1
1681: a0 im 32
1682: 38 neqbranch
1683: f7 im -9
1684: e7 im -25
1685: 39 poppcrel

00001686 <.L382>:
1686: 80 im 0
1687: 58 storesp 32

00001688 <.L273>:
1688: 83 im 3
1689: e0 im -32
168a: b8 im 56
168b: 18 addsp 32
168c: 70 loadsp 0
168d: 33 loadb

0000168e <.LM526>:
168e: 83 im 3
168f: e2 im -30
1690: c8 im -56
1691: 1a addsp 40
1692: 57 storesp 28
1693: 58 storesp 32
1694: 54 storesp 16
1695: 74 loadsp 16
1696: 33 loadb
1697: 74 loadsp 16
1698: 34 storeb

00001699 <.LM527>:
1699: 83 im 3
169a: e3 im -29
169b: d8 im -40
169c: 18 addsp 32
169d: 56 storesp 24
169e: 75 loadsp 20
169f: 33 loadb
16a0: 75 loadsp 20
16a1: 34 storeb

000016a2 <.LM528>:
16a2: 83 im 3
16a3: e3 im -29
16a4: 98 im 24
16a5: 18 addsp 32
16a6: 54 storesp 16
16a7: 73 loadsp 12
16a8: 33 loadb
16a9: 76 loadsp 24
16aa: 34 storeb

000016ab <.LM529>:
16ab: 76 loadsp 24
16ac: 74 loadsp 16
16ad: 34 storeb

000016ae <.LM530>:
16ae: 81 im 1
16af: 18 addsp 32
16b0: 58 storesp 32
16b1: 77 loadsp 28
16b2: 8f im 15
16b3: 2e eq
16b4: f7 im -9
16b5: b6 im 54
16b6: 38 neqbranch

000016b7 <.LM531>:
16b7: 83 im 3
16b8: e0 im -32
16b9: b8 im 56
16ba: 18 addsp 32
16bb: 70 loadsp 0
16bc: 33 loadb

000016bd <.LM532>:
16bd: 83 im 3
16be: e2 im -30
16bf: c8 im -56
16c0: 1a addsp 40
16c1: 57 storesp 28
16c2: 58 storesp 32
16c3: 54 storesp 16
16c4: 74 loadsp 16
16c5: 33 loadb
16c6: 74 loadsp 16
16c7: 34 storeb

000016c8 <.LM533>:
16c8: 83 im 3
16c9: e3 im -29
16ca: d8 im -40
16cb: 18 addsp 32
16cc: 56 storesp 24
16cd: 75 loadsp 20
16ce: 33 loadb
16cf: 75 loadsp 20
16d0: 34 storeb

000016d1 <.LM534>:
16d1: 83 im 3
16d2: e3 im -29
16d3: 98 im 24
16d4: 18 addsp 32
16d5: 54 storesp 16
16d6: 73 loadsp 12
16d7: 33 loadb
16d8: 76 loadsp 24
16d9: 34 storeb

000016da <.LM535>:
16da: 76 loadsp 24
16db: 74 loadsp 16
16dc: 34 storeb

000016dd <.LM536>:
16dd: 81 im 1
16de: 18 addsp 32
16df: 58 storesp 32
16e0: 77 loadsp 28
16e1: 8f im 15
16e2: 2e eq
16e3: 09 not
16e4: 81 im 1
16e5: 06 and
16e6: ff im -1
16e7: a0 im 32
16e8: 38 neqbranch
16e9: f7 im -9
16ea: 81 im 1
16eb: 39 poppcrel

000016ec <.L250>:
16ec: 0b nop
16ed: 0b nop
16ee: 80 im 0
16ef: f8 im -8
16f0: 84 im 4
16f1: 51 storesp 4

000016f2 <.LM538>:
16f2: b9 im 57
16f3: f9 im -7
16f4: 3f callpcrel

000016f5 <.LM539>:
16f5: 0b nop
16f6: 0b nop
16f7: 80 im 0
16f8: f9 im -7
16f9: c4 im -60
16fa: 51 storesp 4
16fb: b9 im 57
16fc: f0 im -16
16fd: 3f callpcrel

000016fe <.LM540>:
16fe: 0b nop
16ff: 0b nop
1700: 80 im 0
1701: f6 im -10
1702: e8 im -24
1703: 51 storesp 4
1704: b9 im 57
1705: e7 im -25
1706: 3f callpcrel

00001707 <.LM541>:
1707: 80 im 0
1708: fc im -4
1709: c4 im -60
170a: 08 load
170b: 70 loadsp 0
170c: 08 load
170d: bf im 63
170e: 06 and
170f: 56 storesp 24
1710: 56 storesp 24

00001711 <.LM542>:
1711: 78 loadsp 32
1712: 82 im 2
1713: 2e eq
1714: 09 not
1715: 81 im 1
1716: 06 and
1717: f3 im -13
1718: df im -33
1719: 38 neqbranch
171a: f9 im -7
171b: da im -38
171c: 39 poppcrel

0000171d <.L264>:
171d: 83 im 3
171e: e3 im -29
171f: 98 im 24
1720: 51 storesp 4
1721: fc im -4
1722: c1 im -63
1723: 39 poppcrel

00001724 <.L266>:
1724: 83 im 3
1725: e2 im -30
1726: c8 im -56
1727: 51 storesp 4
1728: fc im -4
1729: ba im 58
172a: 39 poppcrel

0000172b <.L251>:
172b: 0b nop
172c: 0b nop
172d: 80 im 0
172e: f8 im -8
172f: 98 im 24
1730: 51 storesp 4

00001731 <.LM546>:
1731: b9 im 57
1732: ba im 58
1733: 3f callpcrel

00001734 <.LM547>:
1734: 0b nop
1735: 0b nop
1736: 80 im 0
1737: f9 im -7
1738: c4 im -60
1739: 51 storesp 4
173a: b9 im 57
173b: b1 im 49
173c: 3f callpcrel

0000173d <.LM548>:
173d: 0b nop
173e: 0b nop
173f: 80 im 0
1740: f6 im -10
1741: e8 im -24
1742: 51 storesp 4
1743: b9 im 57
1744: a8 im 40
1745: 3f callpcrel

00001746 <.LM549>:
1746: 80 im 0
1747: fc im -4
1748: c4 im -60
1749: 08 load
174a: 70 loadsp 0
174b: 08 load
174c: bf im 63
174d: 06 and
174e: 56 storesp 24
174f: 56 storesp 24

00001750 <.LM550>:
1750: 78 loadsp 32
1751: 82 im 2
1752: 2e eq
1753: 09 not
1754: 81 im 1
1755: 06 and
1756: f3 im -13
1757: a0 im 32
1758: 38 neqbranch
1759: f9 im -7
175a: 9b im 27
175b: 39 poppcrel

0000175c <getCommand>:
175c: fc im -4
175d: 3d pushspadd
175e: 0d popsp
175f: 76 loadsp 24
1760: 80 im 0
1761: fc im -4
1762: a4 im 36
1763: 08 load
1764: 55 storesp 20
1765: 55 storesp 20

00001766 <.L394>:
1766: 73 loadsp 12
1767: 08 load
1768: 70 loadsp 0
1769: 81 im 1
176a: 32 xor
176b: 70 loadsp 0
176c: 81 im 1
176d: 06 and
176e: 51 storesp 4
176f: 51 storesp 4
1770: 53 storesp 12
1771: 72 loadsp 8
1772: f3 im -13
1773: 38 neqbranch

00001774 <.LM553>:
1774: 83 im 3
1775: e3 im -29
1776: 8c im 12
1777: 08 load
1778: 86 im 6
1779: 05 add
177a: 51 storesp 4
177b: b3 im 51
177c: f2 im -14
177d: 3f callpcrel

0000177e <.LM554>:
177e: 80 im 0
177f: fc im -4
1780: a4 im 36
1781: 08 load
1782: 70 loadsp 0
1783: 08 load
1784: 70 loadsp 0
1785: 81 im 1
1786: 06 and
1787: 51 storesp 4
1788: 51 storesp 4
1789: 53 storesp 12
178a: 72 loadsp 8
178b: 80 im 0
178c: 2e eq
178d: 93 im 19
178e: 38 neqbranch

0000178f <.L410>:
178f: eb im -21
1790: c8 im -56
1791: 3f callpcrel
1792: 80 im 0
1793: fc im -4
1794: a4 im 36
1795: 08 load
1796: 70 loadsp 0
1797: 08 load
1798: 70 loadsp 0
1799: 81 im 1
179a: 06 and
179b: 51 storesp 4
179c: 51 storesp 4
179d: 53 storesp 12
179e: 72 loadsp 8
179f: ef im -17
17a0: 38 neqbranch

000017a1 <.L406>:
17a1: b4 im 52
17a2: c3 im -61
17a3: 3f callpcrel
17a4: 83 im 3
17a5: e0 im -32
17a6: 80 im 0
17a7: 08 load
17a8: 75 loadsp 20
17a9: 34 storeb

000017aa <.LM556>:
17aa: b4 im 52
17ab: ba im 58
17ac: 3f callpcrel
17ad: 83 im 3
17ae: e0 im -32
17af: 80 im 0
17b0: 08 load
17b1: 81 im 1
17b2: 16 addsp 24
17b3: 34 storeb

000017b4 <.LM557>:
17b4: b4 im 52
17b5: b0 im 48
17b6: 3f callpcrel
17b7: 83 im 3
17b8: e0 im -32
17b9: 80 im 0
17ba: 08 load
17bb: 82 im 2
17bc: 16 addsp 24
17bd: 34 storeb

000017be <.LM558>:
17be: b4 im 52
17bf: a6 im 38
17c0: 3f callpcrel
17c1: 83 im 3
17c2: e0 im -32
17c3: 80 im 0
17c4: 08 load
17c5: 83 im 3
17c6: 16 addsp 24
17c7: 34 storeb

000017c8 <.LM559>:
17c8: b4 im 52
17c9: 9c im 28
17ca: 3f callpcrel
17cb: 83 im 3
17cc: e0 im -32
17cd: 80 im 0
17ce: 08 load
17cf: 84 im 4
17d0: 16 addsp 24
17d1: 34 storeb
17d2: 80 im 0
17d3: fc im -4
17d4: a4 im 36
17d5: 08 load
17d6: 54 storesp 16

000017d7 <.L399>:
17d7: 73 loadsp 12
17d8: 08 load
17d9: 70 loadsp 0
17da: 81 im 1
17db: 32 xor
17dc: 70 loadsp 0
17dd: 81 im 1
17de: 06 and
17df: 51 storesp 4
17e0: 51 storesp 4
17e1: 53 storesp 12
17e2: 72 loadsp 8
17e3: f3 im -13
17e4: 38 neqbranch

000017e5 <.LM561>:
17e5: 0b nop
17e6: 0b nop
17e7: 80 im 0
17e8: f8 im -8
17e9: b4 im 52
17ea: 51 storesp 4
17eb: b8 im 56
17ec: 80 im 0
17ed: 3f callpcrel

000017ee <.LM562>:
17ee: 74 loadsp 16
17ef: 33 loadb
17f0: 83 im 3
17f1: e0 im -32
17f2: c8 im -56
17f3: 34 storeb

000017f4 <.LM563>:
17f4: 81 im 1
17f5: 15 addsp 20
17f6: 33 loadb
17f7: 83 im 3
17f8: e0 im -32
17f9: c9 im -55
17fa: 34 storeb

000017fb <.LM564>:
17fb: 82 im 2
17fc: 15 addsp 20
17fd: 33 loadb
17fe: 83 im 3
17ff: e0 im -32
1800: ca im -54
1801: 34 storeb

00001802 <.LM565>:
1802: 83 im 3
1803: 15 addsp 20
1804: 33 loadb
1805: 83 im 3
1806: e0 im -32
1807: cb im -53
1808: 34 storeb

00001809 <.LM566>:
1809: 84 im 4
180a: 52 storesp 8
180b: 83 im 3
180c: e0 im -32
180d: c8 im -56
180e: 51 storesp 4
180f: dd im -35
1810: df im -33
1811: 3f callpcrel
1812: 83 im 3
1813: e0 im -32
1814: 80 im 0
1815: 08 load
1816: 81 im 1
1817: ff im -1
1818: 06 and

00001819 <.LM567>:
1819: 75 loadsp 20
181a: 33 loadb
181b: 52 storesp 8
181c: 53 storesp 12
181d: b8 im 56
181e: dd im -35
181f: 3f callpcrel

00001820 <.LM568>:
1820: 81 im 1
1821: 15 addsp 20
1822: 33 loadb
1823: 51 storesp 4
1824: b8 im 56
1825: d6 im -42
1826: 3f callpcrel

00001827 <.LM569>:
1827: 82 im 2
1828: 15 addsp 20
1829: 33 loadb
182a: 51 storesp 4
182b: b8 im 56
182c: cf im -49
182d: 3f callpcrel

0000182e <.LM570>:
182e: 83 im 3
182f: 15 addsp 20
1830: 33 loadb
1831: 51 storesp 4
1832: b8 im 56
1833: c8 im -56
1834: 3f callpcrel

00001835 <.LM571>:
1835: 84 im 4
1836: 15 addsp 20
1837: 33 loadb
1838: 51 storesp 4
1839: b8 im 56
183a: c1 im -63
183b: 3f callpcrel

0000183c <.LM572>:
183c: 72 loadsp 8
183d: 51 storesp 4
183e: b8 im 56
183f: bc im 60
1840: 3f callpcrel

00001841 <.LM573>:
1841: 84 im 4
1842: 15 addsp 20
1843: 33 loadb
1844: 55 storesp 20
1845: 72 loadsp 8
1846: 75 loadsp 20
1847: 2e eq
1848: bd im 61
1849: 38 neqbranch

0000184a <.LM574>:
184a: 0b nop
184b: 0b nop
184c: 80 im 0
184d: f8 im -8
184e: bc im 60
184f: 51 storesp 4
1850: b7 im 55
1851: 9b im 27
1852: 3f callpcrel

00001853 <.LM575>:
1853: 83 im 3
1854: e3 im -29
1855: 8c im 12
1856: 08 load
1857: a8 im 40
1858: 2e eq
1859: 80 im 0
185a: cb im -53
185b: 38 neqbranch

0000185c <.L403>:
185c: a8 im 40
185d: 0b nop
185e: 83 im 3
185f: e3 im -29
1860: 8c im 12
1861: 0c store

00001862 <.LM577>:
1862: 0b nop
1863: 0b nop
1864: 80 im 0
1865: f8 im -8
1866: c4 im -60
1867: 51 storesp 4
1868: b7 im 55
1869: 83 im 3
186a: 3f callpcrel

0000186b <.LM578>:
186b: 83 im 3
186c: e3 im -29
186d: 8e im 14
186e: 22 loadh
186f: 51 storesp 4
1870: b8 im 56
1871: 8a im 10
1872: 3f callpcrel

00001873 <.L401>:
1873: 0b nop
1874: 0b nop
1875: 80 im 0
1876: f9 im -7
1877: c4 im -60
1878: 51 storesp 4
1879: b6 im 54
187a: f2 im -14
187b: 3f callpcrel

0000187c <.LM580>:
187c: 80 im 0
187d: e4 im -28
187e: 51 storesp 4
187f: d8 im -40
1880: b2 im 50
1881: 3f callpcrel
1882: 86 im 6
1883: 3d pushspadd
1884: 0d popsp
1885: 04 poppc

00001886 <.L411>:
1886: b3 im 51
1887: b4 im 52
1888: 3f callpcrel
1889: 83 im 3
188a: e0 im -32
188b: 80 im 0
188c: 08 load
188d: 80 im 0
188e: 2e eq
188f: e3 im -29
1890: 38 neqbranch

00001891 <.LM582>:
1891: 0b nop
1892: 0b nop
1893: 80 im 0
1894: f8 im -8
1895: bc im 60
1896: 51 storesp 4
1897: b6 im 54
1898: d4 im -44
1899: 3f callpcrel

0000189a <.LM583>:
189a: 83 im 3
189b: e3 im -29
189c: 8c im 12
189d: 08 load
189e: a8 im 40
189f: 2e eq
18a0: 09 not
18a1: 81 im 1
18a2: 06 and
18a3: ff im -1
18a4: b7 im 55
18a5: 38 neqbranch

000018a6 <.L412>:
18a6: 86 im 6
18a7: 0b nop
18a8: 83 im 3
18a9: e3 im -29
18aa: 8c im 12
18ab: 0c store

000018ac <.LM585>:
18ac: 0b nop
18ad: 0b nop
18ae: 80 im 0
18af: f8 im -8
18b0: cc im -52
18b1: 51 storesp 4

000018b2 <.LM586>:
18b2: b6 im 54
18b3: b9 im 57
18b4: 3f callpcrel

000018b5 <.LM587>:
18b5: 83 im 3
18b6: e3 im -29
18b7: 8e im 14
18b8: 22 loadh
18b9: 51 storesp 4
18ba: b7 im 55
18bb: c0 im -64
18bc: 3f callpcrel
18bd: ff im -1
18be: b4 im 52
18bf: 39 poppcrel

000018c0 <mmcReadCached>:
18c0: fc im -4
18c1: 3d pushspadd
18c2: 0d popsp
18c3: 76 loadsp 24
18c4: 55 storesp 20

000018c5 <.LM589>:
18c5: 74 loadsp 16
18c6: 83 im 3
18c7: e0 im -32
18c8: b0 im 48
18c9: 08 load
18ca: 2e eq
18cb: af im 47
18cc: 38 neqbranch

000018cd <.LM590>:
18cd: 80 im 0
18ce: 54 storesp 16

000018cf <.L415>:
18cf: 74 loadsp 16
18d0: 51 storesp 4
18d1: ab im 43
18d2: a9 im 41
18d3: 3f callpcrel
18d4: 83 im 3
18d5: e0 im -32
18d6: 80 im 0
18d7: 08 load
18d8: 81 im 1
18d9: ff im -1
18da: 06 and

000018db <.LM592>:
18db: ff im -1
18dc: 15 addsp 20
18dd: 70 loadsp 0
18de: 81 im 1
18df: ff im -1
18e0: 06 and

000018e1 <.LBE22>:
18e1: 72 loadsp 8
18e2: 30 neg
18e3: 70 loadsp 0
18e4: 9f im 31
18e5: 2a lshiftright
18e6: 51 storesp 4
18e7: 52 storesp 8
18e8: 56 storesp 24
18e9: 53 storesp 12
18ea: 53 storesp 12
18eb: 73 loadsp 12
18ec: 80 im 0
18ed: 2e eq
18ee: 84 im 4
18ef: 38 neqbranch
18f0: 71 loadsp 4
18f1: dd im -35
18f2: 38 neqbranch

000018f3 <.L420>:
18f3: 72 loadsp 8
18f4: fe im -2
18f5: 38 neqbranch

000018f6 <.LM595>:
18f6: 74 loadsp 16
18f7: 83 im 3
18f8: e0 im -32
18f9: b0 im 48
18fa: 0c store

000018fb <.L413>:
18fb: 86 im 6
18fc: 3d pushspadd
18fd: 0d popsp
18fe: 04 poppc

000018ff <disk_readp>:
18ff: fc im -4
1900: 3d pushspadd
1901: 0d popsp
1902: 76 loadsp 24
1903: 02 pushsp
1904: 84 im 4
1905: 05 add
1906: a2 im 34
1907: 05 add
1908: 22 loadh
1909: 02 pushsp
190a: 88 im 8
190b: 05 add
190c: a6 im 38
190d: 05 add
190e: 22 loadh

0000190f <.LM598>:
190f: 7a loadsp 40
1910: 54 storesp 16
1911: 55 storesp 20
1912: 55 storesp 20
1913: 55 storesp 20
1914: ff im -1
1915: aa im 42
1916: 3f callpcrel

00001917 <.LM599>:
1917: 72 loadsp 8
1918: 80 im 0
1919: 2e eq
191a: a1 im 33
191b: 38 neqbranch

0000191c <.L433>:
191c: 83 im 3
191d: e3 im -29
191e: e8 im -24
191f: 14 addsp 16
1920: 33 loadb
1921: 75 loadsp 20
1922: 70 loadsp 0
1923: 81 im 1
1924: 05 add
1925: 57 storesp 28
1926: 34 storeb

00001927 <.LBE23>:
1927: 81 im 1
1928: 14 addsp 16
1929: 70 loadsp 0
192a: 83 im 3
192b: ff im -1
192c: ff im -1
192d: 06 and
192e: ff im -1
192f: 15 addsp 20
1930: 70 loadsp 0
1931: 83 im 3
1932: ff im -1
1933: ff im -1
1934: 06 and
1935: 56 storesp 24
1936: 52 storesp 8
1937: 55 storesp 20
1938: 52 storesp 8
1939: 72 loadsp 8
193a: e1 im -31
193b: 38 neqbranch

0000193c <.L430>:
193c: 80 im 0
193d: 0b nop
193e: 83 im 3
193f: e0 im -32
1940: 80 im 0
1941: 0c store
1942: 86 im 6
1943: 3d pushspadd
1944: 0d popsp
1945: 04 poppc

00001946 <USART_Send_Buffer>:

void USART_Send_Buffer(unsigned char *buff, u16 len)
{
1946: fe im -2
1947: 3d pushspadd
1948: 0d popsp
1949: 74 loadsp 16
194a: 02 pushsp
194b: 84 im 4
194c: 05 add
194d: 96 im 22
194e: 05 add
194f: 22 loadh
1950: 53 storesp 12
1951: 53 storesp 12

00001952 <.LM604>:
while(len>0) { USART_Transmit_Byte(*buff++); len--; }
1952: 71 loadsp 4
1953: 80 im 0
1954: 2e eq
1955: 97 im 23
1956: 38 neqbranch

00001957 <.L442>:
1957: 72 loadsp 8
1958: 70 loadsp 0
1959: 81 im 1
195a: 05 add
195b: 54 storesp 16
195c: 33 loadb
195d: 51 storesp 4
195e: b0 im 48
195f: e7 im -25
1960: 3f callpcrel
1961: ff im -1
1962: 12 addsp 8
1963: 70 loadsp 0
1964: 83 im 3
1965: ff im -1
1966: ff im -1
1967: 06 and
1968: 51 storesp 4
1969: 52 storesp 8

0000196a <.LBE24>:
196a: 71 loadsp 4
196b: eb im -21
196c: 38 neqbranch

0000196d <.L439>:
196d: 84 im 4
196e: 3d pushspadd
196f: 0d popsp
1970: 04 poppc

00001971 <USART_Send_cmpl_and_atari_sector_buffer_and_check_sum>:
}

void USART_Send_cmpl_and_atari_sector_buffer_and_check_sum(unsigned short len)
{
1971: fe im -2
1972: 3d pushspadd
1973: 0d popsp
1974: 02 pushsp
1975: 92 im 18
1976: 05 add
1977: 22 loadh

00001978 <.LM606>:
u08 check_sum;
debug("(send:");
1978: 0b nop
1979: 0b nop
197a: 80 im 0
197b: f8 im -8
197c: d4 im -44
197d: 52 storesp 8
197e: 53 storesp 12
197f: b4 im 52
1980: ec im -20
1981: 3f callpcrel

00001982 <.LM607>:
plotnextnumber(len);
1982: 72 loadsp 8
1983: 51 storesp 4
1984: b5 im 53
1985: f6 im -10
1986: 3f callpcrel

00001987 <.LM608>:

DELAY_T5_MIN;
1987: 82 im 2
1988: ac im 44
1989: 51 storesp 4
198a: d6 im -42
198b: a7 im 39
198c: 3f callpcrel

0000198d <.LM609>:
send_CMPL();
198d: 80 im 0
198e: c3 im -61
198f: 51 storesp 4
1990: b0 im 48
1991: b5 im 53
1992: 3f callpcrel

00001993 <.LM610>:

// Hias: changed to 100us so that Qmeg3 works again with the
// new bit-banging transmission code
DELAY_T3_PERIPH;
1993: 81 im 1
1994: 96 im 22
1995: 51 storesp 4
1996: d6 im -42
1997: 9b im 27
1998: 3f callpcrel

00001999 <.LM611>:

check_sum = 0;
USART_Send_Buffer(atari_sector_buffer,len);
1999: 72 loadsp 8
199a: 52 storesp 8
199b: 83 im 3
199c: e0 im -32
199d: c8 im -56
199e: 51 storesp 4
199f: ff im -1
19a0: a5 im 37
19a1: 3f callpcrel

000019a2 <.LM612>:
// tx_checksum is updated by bit-banging USART_Transmit_Byte,
// so we can skip separate calculation
check_sum = get_checksum(atari_sector_buffer,len);
19a2: 72 loadsp 8
19a3: 52 storesp 8
19a4: 83 im 3
19a5: e0 im -32
19a6: c8 im -56
19a7: 51 storesp 4
19a8: da im -38
19a9: c6 im -58
19aa: 3f callpcrel
19ab: 83 im 3
19ac: e0 im -32
19ad: 80 im 0
19ae: 08 load
19af: 81 im 1
19b0: ff im -1
19b1: 06 and

000019b2 <.LM613>:
USART_Transmit_Byte(check_sum);
19b2: 70 loadsp 0
19b3: 52 storesp 8
19b4: 53 storesp 12
19b5: b0 im 48
19b6: 90 im 16
19b7: 3f callpcrel

000019b8 <.LM614>:
//hexdump_pure(atari_sector_buffer,len);
debug(":chk:");
19b8: 0b nop
19b9: 0b nop
19ba: 80 im 0
19bb: f8 im -8
19bc: dc im -36
19bd: 51 storesp 4
19be: b4 im 52
19bf: ad im 45
19c0: 3f callpcrel

000019c1 <.LM615>:
plotnextnumber(check_sum);
19c1: 72 loadsp 8
19c2: 51 storesp 4
19c3: b5 im 53
19c4: b7 im 55
19c5: 3f callpcrel

000019c6 <.LM616>:
debug(")");
19c6: 0b nop
19c7: 0b nop
19c8: 80 im 0
19c9: f7 im -9
19ca: dc im -36
19cb: 51 storesp 4
19cc: b4 im 52
19cd: 9f im 31
19ce: 3f callpcrel
19cf: 84 im 4
19d0: 3d pushspadd
19d1: 0d popsp
19d2: 04 poppc

000019d3 <sdcard>:
19d3: f1 im -15
19d4: 3d pushspadd
19d5: 0d popsp

000019d6 <.LM618>:
19d6: 0b nop
19d7: 0b nop
19d8: 80 im 0
19d9: f8 im -8
19da: e4 im -28
19db: 51 storesp 4
19dc: b4 im 52
19dd: 8f im 15
19de: 3f callpcrel

000019df <.LM619>:
19df: 0b nop
19e0: 0b nop
19e1: 80 im 0
19e2: f8 im -8
19e3: ec im -20
19e4: 51 storesp 4
19e5: b4 im 52
19e6: 86 im 6
19e7: 3f callpcrel

000019e8 <.LM620>:
19e8: d9 im -39
19e9: c6 im -58
19ea: 3f callpcrel
19eb: 83 im 3
19ec: e0 im -32
19ed: 80 im 0
19ee: 08 load
19ef: 81 im 1
19f0: ff im -1
19f1: 06 and
19f2: 54 storesp 16
19f3: 73 loadsp 12
19f4: 82 im 2
19f5: d2 im -46
19f6: 38 neqbranch

000019f7 <.LM621>:
19f7: 0b nop
19f8: 0b nop
19f9: 80 im 0
19fa: f5 im -11
19fb: 94 im 20
19fc: 51 storesp 4
19fd: b3 im 51
19fe: ee im -18
19ff: 3f callpcrel

00001a00 <.LM622>:
1a00: 0b nop
1a01: 0b nop
1a02: 80 im 0
1a03: f8 im -8
1a04: f8 im -8
1a05: 51 storesp 4
1a06: b3 im 51
1a07: e5 im -27
1a08: 3f callpcrel

00001a09 <.LM623>:
1a09: 83 im 3
1a0a: e3 im -29
1a0b: ac im 44
1a0c: 51 storesp 4
1a0d: 98 im 24
1a0e: 80 im 0
1a0f: 3f callpcrel
1a10: 83 im 3
1a11: e0 im -32
1a12: 80 im 0
1a13: 08 load
1a14: 82 im 2
1a15: b2 im 50
1a16: 38 neqbranch

00001a17 <.LM624>:
1a17: 0b nop
1a18: 0b nop
1a19: 80 im 0
1a1a: f5 im -11
1a1b: 94 im 20
1a1c: 51 storesp 4
1a1d: b3 im 51
1a1e: ce im -50
1a1f: 3f callpcrel

00001a20 <.LM625>:
1a20: 0b nop
1a21: 0b nop
1a22: 80 im 0
1a23: f9 im -7
1a24: 80 im 0
1a25: 51 storesp 4
1a26: b3 im 51
1a27: c5 im -59
1a28: 3f callpcrel

00001a29 <.LM626>:
1a29: 0b nop
1a2a: 0b nop
1a2b: 80 im 0
1a2c: f4 im -12
1a2d: fc im -4
1a2e: 52 storesp 8
1a2f: 83 im 3
1a30: e2 im -30
1a31: f4 im -12
1a32: 51 storesp 4
1a33: a1 im 33
1a34: e4 im -28
1a35: 3f callpcrel
1a36: 83 im 3
1a37: e0 im -32
1a38: 80 im 0
1a39: 08 load
1a3a: 82 im 2
1a3b: 8c im 12
1a3c: 38 neqbranch

00001a3d <.LM627>:
1a3d: 0b nop
1a3e: 0b nop
1a3f: 80 im 0
1a40: f5 im -11
1a41: 94 im 20
1a42: 51 storesp 4

00001a43 <.LM628>:
1a43: b3 im 51
1a44: a8 im 40
1a45: 3f callpcrel
1a46: 83 im 3
1a47: e0 im -32
1a48: 94 im 20
1a49: 52 storesp 8
1a4a: 83 im 3
1a4b: e2 im -30
1a4c: f4 im -12
1a4d: 51 storesp 4
1a4e: a2 im 34
1a4f: dc im -36
1a50: 3f callpcrel
1a51: 83 im 3
1a52: e0 im -32
1a53: 80 im 0
1a54: 08 load
1a55: a5 im 37
1a56: 38 neqbranch

00001a57 <.L544>:
1a57: 83 im 3
1a58: e0 im -32
1a59: 9d im 29
1a5a: 33 loadb
1a5b: 54 storesp 16
1a5c: 73 loadsp 12
1a5d: 80 im 0
1a5e: 2e eq
1a5f: 9b im 27
1a60: 38 neqbranch
1a61: 83 im 3
1a62: e0 im -32
1a63: 9d im 29
1a64: 51 storesp 4
1a65: b3 im 51
1a66: 86 im 6
1a67: 3f callpcrel
1a68: 83 im 3
1a69: e0 im -32
1a6a: 94 im 20
1a6b: 52 storesp 8
1a6c: 83 im 3
1a6d: e2 im -30
1a6e: f4 im -12
1a6f: 51 storesp 4
1a70: a2 im 34
1a71: ba im 58
1a72: 3f callpcrel
1a73: 83 im 3
1a74: e0 im -32
1a75: 80 im 0
1a76: 08 load
1a77: 80 im 0
1a78: 2e eq
1a79: dd im -35
1a7a: 38 neqbranch

00001a7b <.L449>:
1a7b: 80 im 0
1a7c: 55 storesp 20

00001a7d <.L455>:
1a7d: 0b nop
1a7e: 0b nop
1a7f: 80 im 0
1a80: f9 im -7
1a81: 8c im 12
1a82: 15 addsp 20
1a83: 54 storesp 16
1a84: 73 loadsp 12
1a85: 33 loadb
1a86: 83 im 3
1a87: e3 im -29
1a88: 98 im 24
1a89: 16 addsp 24
1a8a: 34 storeb

00001a8b <.LM631>:
1a8b: 73 loadsp 12
1a8c: 33 loadb
1a8d: 83 im 3
1a8e: e3 im -29
1a8f: d8 im -40
1a90: 16 addsp 24
1a91: 34 storeb

00001a92 <.LM632>:
1a92: 73 loadsp 12
1a93: 33 loadb
1a94: 83 im 3
1a95: e2 im -30
1a96: c8 im -56
1a97: 16 addsp 24
1a98: 34 storeb

00001a99 <.LM633>:
1a99: 73 loadsp 12
1a9a: 33 loadb
1a9b: 83 im 3
1a9c: e0 im -32
1a9d: b8 im 56
1a9e: 16 addsp 24
1a9f: 34 storeb

00001aa0 <.LM634>:
1aa0: 73 loadsp 12
1aa1: 33 loadb
1aa2: 54 storesp 16
1aa3: 73 loadsp 12
1aa4: 80 im 0
1aa5: 2e eq
1aa6: 8c im 12
1aa7: 38 neqbranch

00001aa8 <.LM635>:
1aa8: 81 im 1
1aa9: 15 addsp 20
1aaa: 55 storesp 20
1aab: 74 loadsp 16
1aac: 8f im 15
1aad: 2e eq
1aae: 09 not
1aaf: 81 im 1
1ab0: 06 and
1ab1: cb im -53
1ab2: 38 neqbranch

00001ab3 <.L452>:
1ab3: 81 im 1
1ab4: 0b nop
1ab5: 83 im 3
1ab6: e0 im -32
1ab7: b4 im 52
1ab8: 0c store

00001ab9 <.LM637>:
1ab9: 83 im 3
1aba: e3 im -29
1abb: 98 im 24
1abc: 51 storesp 4
1abd: d8 im -40
1abe: fc im -4
1abf: 3f callpcrel

00001ac0 <.LM638>:
1ac0: 80 im 0
1ac1: 51 storesp 4
1ac2: d7 im -41
1ac3: a6 im 38
1ac4: 3f callpcrel

00001ac5 <.LM639>:
1ac5: 80 im 0
1ac6: fb im -5
1ac7: e4 im -28
1ac8: 08 load
1ac9: 54 storesp 16
1aca: 80 im 0
1acb: 74 loadsp 16
1acc: 34 storeb

00001acd <.LM640>:
1acd: d6 im -42
1ace: a1 im 33
1acf: 3f callpcrel

00001ad0 <.LM641>:
1ad0: 81 im 1
1ad1: 51 storesp 4
1ad2: d7 im -41
1ad3: 96 im 22
1ad4: 3f callpcrel

00001ad5 <.LM642>:
1ad5: 80 im 0
1ad6: 51 storesp 4
1ad7: d7 im -41
1ad8: b5 im 53
1ad9: 3f callpcrel

00001ada <.LM643>:
1ada: 83 im 3
1adb: e3 im -29
1adc: 8c im 12
1add: 08 load
1ade: 86 im 6
1adf: 05 add
1ae0: 51 storesp 4
1ae1: ad im 45
1ae2: 8c im 12
1ae3: 3f callpcrel
1ae4: 8e im 14
1ae5: 3d pushspadd
1ae6: 91 im 17
1ae7: 3d pushspadd
1ae8: 5e storesp 56
1ae9: 59 storesp 36

00001aea <.L541>:
1aea: 78 loadsp 32
1aeb: 51 storesp 4
1aec: f8 im -8
1aed: ee im -18
1aee: 3f callpcrel

00001aef <.LM645>:
1aef: 8e im 14
1af0: 3d pushspadd
1af1: 33 loadb
1af2: cf im -49
1af3: 11 addsp 4
1af4: 70 loadsp 0
1af5: 81 im 1
1af6: ff im -1
1af7: 06 and
1af8: 51 storesp 4
1af9: 55 storesp 20
1afa: 55 storesp 20
1afb: 73 loadsp 12
1afc: 82 im 2
1afd: 26 ulessthan
1afe: eb im -21
1aff: 38 neqbranch

00001b00 <.LM646>:
1b00: 74 loadsp 16
1b01: 8f im 15
1b02: 06 and
1b03: 54 storesp 16

00001b04 <.LM647>:
1b04: 73 loadsp 12
1b05: 83 im 3
1b06: e0 im -32
1b07: b4 im 52
1b08: 08 load
1b09: 2e eq
1b0a: 97 im 23
1b0b: 38 neqbranch

00001b0c <.LM648>:
1b0c: 73 loadsp 12
1b0d: 83 im 3
1b0e: e0 im -32
1b0f: b4 im 52
1b10: 0c store

00001b11 <.LM649>:
1b11: 73 loadsp 12
1b12: 82 im 2
1b13: 2e eq
1b14: 82 im 2
1b15: b6 im 54
1b16: 38 neqbranch
1b17: 73 loadsp 12
1b18: 82 im 2
1b19: 24 lessthan
1b1a: 82 im 2
1b1b: 8a im 10
1b1c: 38 neqbranch
1b1d: 73 loadsp 12
1b1e: 81 im 1
1b1f: 2e eq
1b20: b4 im 52
1b21: 38 neqbranch

00001b22 <.L459>:
1b22: 83 im 3
1b23: e2 im -30
1b24: e4 im -28
1b25: 08 load
1b26: 80 im 0
1b27: 2e eq
1b28: c1 im -63
1b29: 38 neqbranch

00001b2a <.LM651>:
1b2a: 02 pushsp
1b2b: b5 im 53
1b2c: 05 add
1b2d: 33 loadb
1b2e: 54 storesp 16
1b2f: 73 loadsp 12
1b30: 80 im 0
1b31: d2 im -46
1b32: 2e eq
1b33: 82 im 2
1b34: a1 im 33
1b35: 38 neqbranch
1b36: 73 loadsp 12
1b37: 80 im 0
1b38: d2 im -46
1b39: 24 lessthan
1b3a: 82 im 2
1b3b: 83 im 3
1b3c: 38 neqbranch
1b3d: 73 loadsp 12
1b3e: bf im 63
1b3f: 2e eq
1b40: 9d im 29
1b41: 38 neqbranch

00001b42 <.LM652>:
1b42: ac im 44
1b43: 94 im 20
1b44: 3f callpcrel
1b45: ff im -1
1b46: a3 im 35
1b47: 39 poppcrel

00001b48 <.L540>:
1b48: 0b nop
1b49: 0b nop
1b4a: 80 im 0
1b4b: f5 im -11
1b4c: 8c im 12
1b4d: 51 storesp 4
1b4e: b1 im 49
1b4f: 9d im 29
1b50: 3f callpcrel

00001b51 <.LM654>:
1b51: 91 im 17
1b52: 3d pushspadd
1b53: 0d popsp
1b54: 04 poppc

00001b55 <.L461>:
1b55: 83 im 3
1b56: e3 im -29
1b57: 98 im 24
1b58: 51 storesp 4

00001b59 <.LM656>:
1b59: d7 im -41
1b5a: e0 im -32
1b5b: 3f callpcrel
1b5c: c5 im -59
1b5d: 39 poppcrel

00001b5e <.L468>:
1b5e: 0b nop
1b5f: 0b nop
1b60: 80 im 0
1b61: f6 im -10
1b62: e8 im -24
1b63: 51 storesp 4
1b64: b1 im 49
1b65: 87 im 7
1b66: 3f callpcrel

00001b67 <.LM658>:
1b67: 02 pushsp
1b68: b7 im 55
1b69: 05 add
1b6a: 33 loadb
1b6b: 70 loadsp 0
1b6c: 88 im 8
1b6d: 2b ashiftleft
1b6e: 81 im 1
1b6f: fe im -2
1b70: 80 im 0
1b71: 06 and
1b72: 02 pushsp
1b73: 88 im 8
1b74: 05 add
1b75: b6 im 54
1b76: 05 add
1b77: 33 loadb
1b78: 71 loadsp 4
1b79: 05 add
1b7a: 51 storesp 4
1b7b: 55 storesp 20
1b7c: 55 storesp 20

00001b7d <.LM659>:
1b7d: ad im 45
1b7e: 96 im 22
1b7f: 3f callpcrel

00001b80 <.LM660>:
1b80: 80 im 0
1b81: c1 im -63
1b82: 51 storesp 4
1b83: ac im 44
1b84: c2 im -62
1b85: 3f callpcrel

00001b86 <.LM661>:
1b86: d2 im -46
1b87: c0 im -64
1b88: 3f callpcrel

00001b89 <.LM662>:
1b89: 86 im 6
1b8a: 0b nop
1b8b: 83 im 3
1b8c: e0 im -32
1b8d: c8 im -56
1b8e: 34 storeb

00001b8f <.LM663>:
1b8f: 81 im 1
1b90: 52 storesp 8
1b91: 83 im 3
1b92: e0 im -32
1b93: c8 im -56
1b94: 51 storesp 4
1b95: b3 im 51
1b96: e2 im -30
1b97: 3f callpcrel

00001b98 <.LM664>:
1b98: 81 im 1
1b99: 51 storesp 4
1b9a: fb im -5
1b9b: d5 im -43
1b9c: 3f callpcrel

00001b9d <.LM665>:
1b9d: 73 loadsp 12
1b9e: 85 im 5
1b9f: d4 im -44
1ba0: 38 neqbranch

00001ba1 <.LM666>:
1ba1: 86 im 6
1ba2: 0b nop
1ba3: 83 im 3
1ba4: e3 im -29
1ba5: 8c im 12
1ba6: 0c store

00001ba7 <.LM667>:
1ba7: 0b nop
1ba8: 0b nop
1ba9: 80 im 0
1baa: f8 im -8
1bab: cc im -52
1bac: 51 storesp 4

00001bad <.LM668>:
1bad: b0 im 48
1bae: be im 62
1baf: 3f callpcrel

00001bb0 <.LM669>:
1bb0: 83 im 3
1bb1: e3 im -29
1bb2: 8e im 14
1bb3: 22 loadh
1bb4: 51 storesp 4
1bb5: b1 im 49
1bb6: c5 im -59
1bb7: 3f callpcrel

00001bb8 <.L471>:
1bb8: 0b nop
1bb9: 0b nop
1bba: 80 im 0
1bbb: f9 im -7
1bbc: 98 im 24
1bbd: 51 storesp 4
1bbe: b0 im 48
1bbf: ad im 45
1bc0: 3f callpcrel

00001bc1 <.LM671>:
1bc1: ac im 44
1bc2: d2 im -46
1bc3: 3f callpcrel

00001bc4 <.LM672>:
1bc4: 80 im 0
1bc5: c1 im -63
1bc6: 51 storesp 4
1bc7: ab im 43
1bc8: fe im -2
1bc9: 3f callpcrel

00001bca <.LM673>:
1bca: d1 im -47
1bcb: fc im -4
1bcc: 3f callpcrel

00001bcd <.LM674>:
1bcd: 98 im 24

00001bce <.LM675>:
1bce: 0b nop
1bcf: 83 im 3
1bd0: e2 im -30
1bd1: ec im -20
1bd2: 33 loadb
1bd3: 83 im 3
1bd4: e2 im -30
1bd5: ed im -19
1bd6: 33 loadb
1bd7: 71 loadsp 4
1bd8: 88 im 8
1bd9: 2b ashiftleft
1bda: 07 or
1bdb: 56 storesp 24
1bdc: 58 storesp 32
1bdd: 55 storesp 20
1bde: 73 loadsp 12
1bdf: 81 im 1
1be0: 80 im 0
1be1: 2e eq
1be2: 82 im 2
1be3: c2 im -62
1be4: 38 neqbranch

00001be5 <.LM676>:
1be5: b8 im 56
1be6: 55 storesp 20

00001be7 <.L474>:
1be7: 74 loadsp 16
1be8: 83 im 3
1be9: e0 im -32
1bea: c8 im -56
1beb: 34 storeb

00001bec <.LM678>:
1bec: ff im -1
1bed: 0b nop
1bee: 83 im 3
1bef: e0 im -32
1bf0: c9 im -55
1bf1: 34 storeb

00001bf2 <.LM679>:
1bf2: e0 im -32
1bf3: 0b nop
1bf4: 83 im 3
1bf5: e0 im -32
1bf6: ca im -54
1bf7: 34 storeb

00001bf8 <.LM680>:
1bf8: 80 im 0
1bf9: 0b nop
1bfa: 83 im 3
1bfb: e0 im -32
1bfc: cb im -53
1bfd: 34 storeb

00001bfe <.LM681>:
1bfe: 84 im 4
1bff: 52 storesp 8
1c00: 83 im 3
1c01: e0 im -32
1c02: c8 im -56
1c03: 51 storesp 4
1c04: b2 im 50
1c05: f3 im -13
1c06: 3f callpcrel

00001c07 <.LM682>:
1c07: 84 im 4
1c08: 51 storesp 4
1c09: fa im -6
1c0a: e6 im -26
1c0b: 3f callpcrel

00001c0c <.LM683>:
1c0c: 83 im 3
1c0d: e0 im -32
1c0e: c8 im -56
1c0f: 33 loadb
1c10: 51 storesp 4
1c11: b0 im 48
1c12: e9 im -23
1c13: 3f callpcrel

00001c14 <.LM684>:
1c14: 0b nop
1c15: 0b nop
1c16: 80 im 0
1c17: f9 im -7
1c18: a0 im 32
1c19: 51 storesp 4

00001c1a <.L539>:
1c1a: af im 47
1c1b: d1 im -47
1c1c: 3f callpcrel

00001c1d <.LM686>:
1c1d: ac im 44
1c1e: bb im 59
1c1f: 3f callpcrel

00001c20 <.L547>:
1c20: aa im 42
1c21: b6 im 54
1c22: 3f callpcrel
1c23: fd im -3
1c24: c5 im -59
1c25: 39 poppcrel

00001c26 <.L465>:
1c26: 73 loadsp 12
1c27: 83 im 3
1c28: 2e eq
1c29: 81 im 1
1c2a: f1 im -15
1c2b: 38 neqbranch
1c2c: 73 loadsp 12
1c2d: 84 im 4
1c2e: 2e eq
1c2f: 09 not
1c30: 81 im 1
1c31: 06 and
1c32: fd im -3
1c33: ee im -18
1c34: 38 neqbranch

00001c35 <.LM689>:
1c35: 83 im 3
1c36: e0 im -32
1c37: b8 im 56
1c38: 51 storesp 4
1c39: d6 im -42
1c3a: 80 im 0
1c3b: 3f callpcrel
1c3c: fd im -3
1c3d: e4 im -28
1c3e: 39 poppcrel

00001c3f <.L520>:
1c3f: 73 loadsp 12
1c40: 80 im 0
1c41: d3 im -45
1c42: 2e eq
1c43: fe im -2
1c44: f3 im -13
1c45: 38 neqbranch

00001c46 <.LM691>:
1c46: aa im 42
1c47: 90 im 16
1c48: 3f callpcrel
1c49: fd im -3
1c4a: 9f im 31
1c4b: 39 poppcrel

00001c4c <.L462>:
1c4c: 83 im 3
1c4d: e3 im -29
1c4e: d8 im -40
1c4f: 51 storesp 4

00001c50 <.LM693>:
1c50: d5 im -43
1c51: e9 im -23
1c52: 3f callpcrel
1c53: fd im -3
1c54: cd im -51
1c55: 39 poppcrel

00001c56 <.L478>:
1c56: 02 pushsp
1c57: b7 im 55
1c58: 05 add
1c59: 33 loadb
1c5a: 70 loadsp 0
1c5b: 88 im 8
1c5c: 2b ashiftleft
1c5d: 81 im 1
1c5e: fe im -2
1c5f: 80 im 0
1c60: 06 and
1c61: 02 pushsp
1c62: 88 im 8
1c63: 05 add
1c64: b6 im 54
1c65: 05 add
1c66: 33 loadb
1c67: 57 storesp 28
1c68: 76 loadsp 24
1c69: 05 add
1c6a: 58 storesp 32
1c6b: 58 storesp 32

00001c6c <.LM695>:
1c6c: 80 im 0
1c6d: 55 storesp 20

00001c6e <.LM696>:
1c6e: ab im 43
1c6f: a5 im 37
1c70: 3f callpcrel

00001c71 <.LM697>:
1c71: 80 im 0
1c72: c1 im -63
1c73: 51 storesp 4
1c74: aa im 42
1c75: d1 im -47
1c76: 3f callpcrel

00001c77 <.LM698>:
1c77: 74 loadsp 16
1c78: 91 im 17
1c79: 3d pushspadd
1c7a: 23 storeh

00001c7b <.LM699>:
1c7b: 0b nop
1c7c: 0b nop
1c7d: 80 im 0
1c7e: f9 im -7
1c7f: a8 im 40
1c80: 51 storesp 4
1c81: ae im 46
1c82: ea im -22
1c83: 3f callpcrel

00001c84 <.LM700>:
1c84: 76 loadsp 24
1c85: 51 storesp 4
1c86: af im 47
1c87: f4 im -12
1c88: 3f callpcrel

00001c89 <.LM701>:
1c89: 0b nop
1c8a: 0b nop
1c8b: 80 im 0
1c8c: f9 im -7
1c8d: b8 im 56
1c8e: 51 storesp 4
1c8f: ae im 46
1c90: dc im -36
1c91: 3f callpcrel

00001c92 <.LM702>:
1c92: 83 im 3
1c93: e3 im -29
1c94: 88 im 8
1c95: 08 load
1c96: 75 loadsp 20
1c97: 2e eq
1c98: 09 not
1c99: 81 im 1
1c9a: 06 and
1c9b: 82 im 2
1c9c: 8e im 14
1c9d: 38 neqbranch

00001c9e <.LM703>:
1c9e: 83 im 3
1c9f: e3 im -29
1ca0: 90 im 16
1ca1: 08 load
1ca2: 56 storesp 24

00001ca3 <.LM704>:
1ca3: 83 im 3
1ca4: 77 loadsp 28
1ca5: 25 lessthanorequal
1ca6: 81 im 1
1ca7: cc im -52
1ca8: 38 neqbranch

00001ca9 <.LM705>:
1ca9: 83 im 3
1caa: e2 im -30
1cab: ec im -20
1cac: 33 loadb
1cad: 83 im 3
1cae: e2 im -30
1caf: ed im -19
1cb0: 33 loadb
1cb1: 71 loadsp 4
1cb2: 88 im 8
1cb3: 2b ashiftleft
1cb4: 07 or
1cb5: fc im -4
1cb6: 19 addsp 36
1cb7: 71 loadsp 4
1cb8: 29 mult
1cb9: 78 loadsp 32
1cba: 05 add
1cbb: 83 im 3
1cbc: 80 im 0
1cbd: 05 add

00001cbe <.LM706>:
1cbe: 70 loadsp 0
1cbf: 83 im 3
1cc0: ff im -1
1cc1: ff im -1
1cc2: 06 and
1cc3: 54 storesp 16
1cc4: 58 storesp 32
1cc5: 56 storesp 24
1cc6: 58 storesp 32
1cc7: af im 47
1cc8: b3 im 51
1cc9: 3f callpcrel

00001cca <.LM707>:
1cca: 0b nop
1ccb: 0b nop
1ccc: 80 im 0
1ccd: f9 im -7
1cce: c4 im -60
1ccf: 51 storesp 4
1cd0: ae im 46
1cd1: 9b im 27
1cd2: 3f callpcrel

00001cd3 <.LM708>:
1cd3: 75 loadsp 20
1cd4: 51 storesp 4
1cd5: 9a im 26
1cd6: bc im 60
1cd7: 3f callpcrel

00001cd8 <.LM709>:
1cd8: 7c loadsp 48
1cd9: 53 storesp 12
1cda: 74 loadsp 16
1cdb: 83 im 3
1cdc: ff im -1
1cdd: ff im -1
1cde: 06 and
1cdf: 70 loadsp 0
1ce0: 53 storesp 12
1ce1: 83 im 3
1ce2: e0 im -32
1ce3: c8 im -56
1ce4: 52 storesp 8
1ce5: 54 storesp 16
1ce6: 98 im 24
1ce7: 8d im 13
1ce8: 3f callpcrel

00001ce9 <.L517>:
1ce9: 73 loadsp 12
1cea: 51 storesp 4
1ceb: f9 im -7
1cec: 84 im 4
1ced: 3f callpcrel

00001cee <.LM711>:
1cee: 73 loadsp 12
1cef: 52 storesp 8
1cf0: 84 im 4
1cf1: 88 im 8
1cf2: 80 im 0
1cf3: 51 storesp 4
1cf4: d3 im -45
1cf5: fa im -6
1cf6: 3f callpcrel
1cf7: 83 im 3
1cf8: e0 im -32
1cf9: 80 im 0
1cfa: 08 load
1cfb: 81 im 1
1cfc: ff im -1
1cfd: 06 and

00001cfe <.LM712>:
1cfe: 0b nop
1cff: 0b nop
1d00: 80 im 0
1d01: f9 im -7
1d02: b0 im 48
1d03: 52 storesp 8
1d04: 54 storesp 16
1d05: ad im 45
1d06: e6 im -26
1d07: 3f callpcrel

00001d08 <.LM713>:
1d08: 73 loadsp 12
1d09: 51 storesp 4
1d0a: ae im 46
1d0b: f0 im -16
1d0c: 3f callpcrel

00001d0d <.LM714>:
1d0d: 0b nop
1d0e: 0b nop
1d0f: 80 im 0
1d10: f9 im -7
1d11: c4 im -60
1d12: 51 storesp 4

00001d13 <.L552>:
1d13: ad im 45
1d14: d8 im -40
1d15: 3f callpcrel

00001d16 <.LM715>:
1d16: aa im 42
1d17: c2 im -62
1d18: 3f callpcrel
1d19: fe im -2
1d1a: 85 im 5
1d1b: 39 poppcrel

00001d1c <.L463>:
1d1c: 83 im 3
1d1d: e2 im -30
1d1e: c8 im -56
1d1f: 51 storesp 4

00001d20 <.LM717>:
1d20: d4 im -44
1d21: 99 im 25
1d22: 3f callpcrel
1d23: fb im -5
1d24: fd im -3
1d25: 39 poppcrel

00001d26 <.L545>:
1d26: 83 im 3
1d27: e2 im -30
1d28: ea im -22
1d29: 33 loadb
1d2a: 83 im 3
1d2b: e2 im -30
1d2c: eb im -21
1d2d: 33 loadb
1d2e: 71 loadsp 4
1d2f: 88 im 8
1d30: 2b ashiftleft
1d31: 07 or
1d32: 55 storesp 20
1d33: 56 storesp 24
1d34: ad im 45
1d35: 80 im 0
1d36: 74 loadsp 16
1d37: 27 ulessthanorequal
1d38: fd im -3
1d39: ad im 45
1d3a: 38 neqbranch

00001d3b <.LM719>:
1d3b: 81 im 1
1d3c: 98 im 24
1d3d: 55 storesp 20

00001d3e <.LM720>:
1d3e: 74 loadsp 16
1d3f: 83 im 3
1d40: e0 im -32
1d41: c8 im -56
1d42: 34 storeb

00001d43 <.LM721>:
1d43: ff im -1
1d44: 0b nop
1d45: 83 im 3
1d46: e0 im -32
1d47: c9 im -55
1d48: 34 storeb

00001d49 <.LM722>:
1d49: e0 im -32
1d4a: 0b nop
1d4b: 83 im 3
1d4c: e0 im -32
1d4d: ca im -54
1d4e: 34 storeb

00001d4f <.LM723>:
1d4f: 80 im 0
1d50: 0b nop
1d51: 83 im 3
1d52: e0 im -32
1d53: cb im -53
1d54: 34 storeb

00001d55 <.LM724>:
1d55: 84 im 4
1d56: 52 storesp 8
1d57: 83 im 3
1d58: e0 im -32
1d59: c8 im -56
1d5a: 51 storesp 4
1d5b: b0 im 48
1d5c: 9c im 28
1d5d: 3f callpcrel

00001d5e <.LM725>:
1d5e: 84 im 4
1d5f: 51 storesp 4
1d60: f8 im -8
1d61: 8f im 15
1d62: 3f callpcrel

00001d63 <.LM726>:
1d63: 83 im 3
1d64: e0 im -32
1d65: c8 im -56
1d66: 33 loadb
1d67: 51 storesp 4
1d68: ae im 46
1d69: 92 im 18
1d6a: 3f callpcrel

00001d6b <.LM727>:
1d6b: 0b nop
1d6c: 0b nop
1d6d: 80 im 0
1d6e: f9 im -7
1d6f: a0 im 32
1d70: 51 storesp 4
1d71: fd im -3
1d72: a7 im 39
1d73: 39 poppcrel

00001d74 <.L518>:
1d74: 76 loadsp 24
1d75: 81 im 1
1d76: 80 im 0
1d77: 29 mult
1d78: 16 addsp 24
1d79: ff im -1
1d7a: 80 im 0
1d7b: 05 add
1d7c: 56 storesp 24

00001d7d <.LM729>:
1d7d: 81 im 1
1d7e: 80 im 0

00001d7f <.LM730>:
1d7f: 76 loadsp 24
1d80: 83 im 3
1d81: ff im -1
1d82: ff im -1
1d83: 06 and
1d84: 52 storesp 8
1d85: 55 storesp 20
1d86: ad im 45
1d87: f4 im -12
1d88: 3f callpcrel

00001d89 <.LM731>:
1d89: 0b nop
1d8a: 0b nop
1d8b: 80 im 0
1d8c: f9 im -7
1d8d: c4 im -60
1d8e: 51 storesp 4
1d8f: ac im 44
1d90: dc im -36
1d91: 3f callpcrel

00001d92 <.LM732>:
1d92: 75 loadsp 20
1d93: 51 storesp 4
1d94: 98 im 24
1d95: fd im -3
1d96: 3f callpcrel

00001d97 <.LM733>:
1d97: 7c loadsp 48
1d98: 53 storesp 12
1d99: 74 loadsp 16
1d9a: 83 im 3
1d9b: ff im -1
1d9c: ff im -1
1d9d: 06 and
1d9e: 70 loadsp 0
1d9f: 53 storesp 12
1da0: 83 im 3
1da1: e0 im -32
1da2: c8 im -56
1da3: 52 storesp 8
1da4: 54 storesp 16
1da5: 96 im 22
1da6: ce im -50
1da7: 3f callpcrel
1da8: fe im -2
1da9: bf im 63
1daa: 39 poppcrel

00001dab <.L546>:
1dab: 83 im 3
1dac: e3 im -29
1dad: 94 im 20
1dae: 08 load
1daf: 80 im 0
1db0: fc im -4
1db1: 05 add
1db2: 54 storesp 16
1db3: 80 im 0
1db4: fd im -3
1db5: 52 storesp 8
1db6: 73 loadsp 12
1db7: 51 storesp 4
1db8: b0 im 48
1db9: c8 im -56
1dba: 3f callpcrel
1dbb: 83 im 3
1dbc: e0 im -32
1dbd: 80 im 0
1dbe: 08 load

00001dbf <.LM735>:
1dbf: 0b nop
1dc0: 0b nop
1dc1: 80 im 0
1dc2: f5 im -11
1dc3: f0 im -16
1dc4: 52 storesp 8
1dc5: 5c storesp 48
1dc6: ac im 44
1dc7: a5 im 37
1dc8: 3f callpcrel

00001dc9 <.LM736>:
1dc9: 82 im 2
1dca: 77 loadsp 28
1dcb: 25 lessthanorequal
1dcc: 81 im 1
1dcd: c0 im -64
1dce: 38 neqbranch

00001dcf <.LM737>:
1dcf: 76 loadsp 24
1dd0: 82 im 2
1dd1: e8 im -24
1dd2: 2e eq
1dd3: 84 im 4
1dd4: 8d im 13
1dd5: 38 neqbranch

00001dd6 <.LM738>:
1dd6: 76 loadsp 24
1dd7: 82 im 2
1dd8: e9 im -23
1dd9: 2e eq
1dda: 82 im 2
1ddb: 86 im 6
1ddc: 38 neqbranch

00001ddd <.LM739>:
1ddd: 76 loadsp 24
1dde: 82 im 2
1ddf: f0 im -16
1de0: 24 lessthan
1de1: ba im 58
1de2: 38 neqbranch

00001de3 <.L484>:
1de3: 0b nop
1de4: 0b nop
1de5: 80 im 0
1de6: f9 im -7
1de7: bc im 60
1de8: 51 storesp 4
1de9: ac im 44
1dea: 82 im 2
1deb: 3f callpcrel

00001dec <.LM741>:
1dec: 81 im 1
1ded: 80 im 0
1dee: 54 storesp 16

00001def <.L553>:
1def: 73 loadsp 12
1df0: 51 storesp 4
1df1: f6 im -10
1df2: fe im -2
1df3: 3f callpcrel

00001df4 <.LM743>:
1df4: 73 loadsp 12
1df5: 52 storesp 8
1df6: 84 im 4
1df7: 88 im 8
1df8: 80 im 0
1df9: 51 storesp 4
1dfa: d1 im -47
1dfb: f4 im -12
1dfc: 3f callpcrel
1dfd: 83 im 3
1dfe: e0 im -32
1dff: 80 im 0
1e00: 08 load
1e01: 81 im 1
1e02: ff im -1
1e03: 06 and

00001e04 <.LM744>:
1e04: 0b nop
1e05: 0b nop
1e06: 80 im 0
1e07: f9 im -7
1e08: b0 im 48
1e09: 52 storesp 8
1e0a: 54 storesp 16
1e0b: ab im 43
1e0c: e0 im -32
1e0d: 3f callpcrel

00001e0e <.LM745>:
1e0e: 73 loadsp 12
1e0f: 51 storesp 4
1e10: ac im 44
1e11: ea im -22
1e12: 3f callpcrel

00001e13 <.LM746>:
1e13: 0b nop
1e14: 0b nop
1e15: 80 im 0
1e16: f9 im -7
1e17: c4 im -60
1e18: 51 storesp 4
1e19: fd im -3
1e1a: f8 im -8
1e1b: 39 poppcrel

00001e1c <.L551>:
1e1c: 0b nop
1e1d: 0b nop
1e1e: 80 im 0
1e1f: f9 im -7
1e20: c8 im -56
1e21: 51 storesp 4
1e22: ab im 43
1e23: c9 im -55
1e24: 3f callpcrel

00001e25 <.LM748>:
1e25: 76 loadsp 24
1e26: 80 im 0
1e27: fd im -3
1e28: 29 mult
1e29: fd im -3
1e2a: 97 im 23
1e2b: d3 im -45
1e2c: 05 add
1e2d: 51 storesp 4
1e2e: 97 im 23
1e2f: e3 im -29
1e30: 3f callpcrel

00001e31 <.LM749>:
1e31: 7c loadsp 48
1e32: 53 storesp 12
1e33: 80 im 0
1e34: fd im -3
1e35: 52 storesp 8
1e36: 83 im 3
1e37: e0 im -32
1e38: c8 im -56
1e39: 51 storesp 4
1e3a: 95 im 21
1e3b: b9 im 57
1e3c: 3f callpcrel

00001e3d <.LM750>:
1e3d: 90 im 16
1e3e: 3d pushspadd
1e3f: 22 loadh
1e40: 70 loadsp 0
1e41: 83 im 3
1e42: ff im -1
1e43: ff im -1
1e44: 06 and

00001e45 <.LM751>:
1e45: 81 im 1
1e46: 19 addsp 36
1e47: 59 storesp 36
1e48: 55 storesp 20
1e49: 56 storesp 24

00001e4a <.LM752>:
1e4a: 73 loadsp 12
1e4b: 80 im 0
1e4c: fc im -4
1e4d: 26 ulessthan
1e4e: 83 im 3
1e4f: 38 neqbranch

00001e50 <.LM753>:
1e50: 74 loadsp 16
1e51: 57 storesp 28

00001e52 <.L516>:
1e52: 76 loadsp 24
1e53: 88 im 8
1e54: 2c ashiftright
1e55: 54 storesp 16
1e56: 73 loadsp 12
1e57: 83 im 3
1e58: e1 im -31
1e59: c5 im -59
1e5a: 34 storeb

00001e5b <.LM755>:
1e5b: 76 loadsp 24
1e5c: 83 im 3
1e5d: e1 im -31
1e5e: c6 im -58
1e5f: 34 storeb

00001e60 <.LM756>:
1e60: 75 loadsp 20
1e61: 83 im 3
1e62: e1 im -31
1e63: c7 im -57
1e64: 34 storeb

00001e65 <.LM757>:
1e65: 0b nop
1e66: 0b nop
1e67: 80 im 0
1e68: f9 im -7
1e69: bc im 60
1e6a: 51 storesp 4
1e6b: ab im 43
1e6c: 80 im 0
1e6d: 3f callpcrel

00001e6e <.LM758>:
1e6e: 81 im 1
1e6f: 80 im 0
1e70: 54 storesp 16
1e71: fe im -2
1e72: fc im -4
1e73: 39 poppcrel

00001e74 <.L469>:
1e74: a8 im 40
1e75: 0b nop
1e76: 83 im 3
1e77: e3 im -29
1e78: 8c im 12
1e79: 0c store

00001e7a <.LM760>:
1e7a: 0b nop
1e7b: 0b nop
1e7c: 80 im 0
1e7d: f8 im -8
1e7e: c4 im -60
1e7f: 51 storesp 4
1e80: aa im 42
1e81: eb im -21
1e82: 3f callpcrel

00001e83 <.LM761>:
1e83: 83 im 3
1e84: e3 im -29
1e85: 8e im 14
1e86: 22 loadh
1e87: 51 storesp 4
1e88: ab im 43
1e89: f2 im -14
1e8a: 3f callpcrel
1e8b: fa im -6
1e8c: ab im 43
1e8d: 39 poppcrel

00001e8e <.L548>:
1e8e: 0b nop
1e8f: 0b nop
1e90: 80 im 0
1e91: f9 im -7
1e92: d0 im -48
1e93: 51 storesp 4
1e94: aa im 42
1e95: d7 im -41
1e96: 3f callpcrel

00001e97 <.LM763>:
1e97: ff im -1
1e98: 17 addsp 28
1e99: 70 loadsp 0
1e9a: 87 im 7
1e9b: 2b ashiftleft
1e9c: 83 im 3
1e9d: ff im -1
1e9e: ff im -1
1e9f: 80 im 0
1ea0: 06 and
1ea1: 80 im 0
1ea2: f9 im -7
1ea3: f8 im -8
1ea4: 05 add

00001ea5 <.LM764>:
1ea5: 83 im 3
1ea6: e0 im -32
1ea7: c8 im -56
1ea8: 58 storesp 32
1ea9: 56 storesp 24
1eaa: 54 storesp 16

00001eab <.LM765>:
1eab: 81 im 1
1eac: 80 im 0
1ead: 54 storesp 16

00001eae <.L481>:
1eae: 74 loadsp 16
1eaf: 70 loadsp 0
1eb0: 81 im 1
1eb1: 05 add
1eb2: 56 storesp 24
1eb3: 33 loadb
1eb4: 76 loadsp 24
1eb5: 70 loadsp 0
1eb6: 81 im 1
1eb7: 05 add
1eb8: 58 storesp 32
1eb9: 34 storeb

00001eba <.LM767>:
1eba: ff im -1
1ebb: 14 addsp 16
1ebc: 70 loadsp 0
1ebd: 81 im 1
1ebe: ff im -1
1ebf: 06 and
1ec0: 51 storesp 4
1ec1: 54 storesp 16

00001ec2 <.LM768>:
1ec2: 73 loadsp 12
1ec3: 80 im 0
1ec4: 2e eq
1ec5: fe im -2
1ec6: 9c im 28
1ec7: 38 neqbranch

00001ec8 <.LM769>:
1ec8: 74 loadsp 16
1ec9: 70 loadsp 0
1eca: 81 im 1
1ecb: 05 add
1ecc: 56 storesp 24
1ecd: 33 loadb
1ece: 76 loadsp 24
1ecf: 70 loadsp 0
1ed0: 81 im 1
1ed1: 05 add
1ed2: 58 storesp 32
1ed3: 34 storeb

00001ed4 <.LM770>:
1ed4: ff im -1
1ed5: 14 addsp 16
1ed6: 70 loadsp 0
1ed7: 81 im 1
1ed8: ff im -1
1ed9: 06 and
1eda: 51 storesp 4
1edb: 54 storesp 16

00001edc <.LM771>:
1edc: 73 loadsp 12
1edd: d0 im -48
1ede: 38 neqbranch
1edf: fe im -2
1ee0: 82 im 2
1ee1: 39 poppcrel

00001ee2 <.L550>:
1ee2: 0b nop
1ee3: 0b nop
1ee4: 80 im 0
1ee5: f9 im -7
1ee6: d8 im -40
1ee7: 51 storesp 4
1ee8: aa im 42
1ee9: 83 im 3
1eea: 3f callpcrel

00001eeb <.LBB38>:
1eeb: 74 loadsp 16
1eec: 75 loadsp 20
1eed: 59 storesp 36
1eee: 57 storesp 28

00001eef <.L502>:
1eef: 80 im 0
1ef0: 0b nop
1ef1: 83 im 3
1ef2: e2 im -30
1ef3: d8 im -40
1ef4: 18 addsp 32
1ef5: 33 loadb
1ef6: 70 loadsp 0
1ef7: 81 im 1
1ef8: ff im -1
1ef9: 06 and
1efa: ff im -1
1efb: bf im 63
1efc: 11 addsp 4
1efd: 57 storesp 28
1efe: 57 storesp 28
1eff: 5b storesp 44
1f00: 5b storesp 44
1f01: 73 loadsp 12
1f02: 99 im 25
1f03: 26 ulessthan
1f04: 83 im 3
1f05: 38 neqbranch
1f06: 81 im 1
1f07: 5b storesp 44

00001f08 <.L493>:
1f08: 80 im 0
1f09: 0b nop
1f0a: d0 im -48
1f0b: 16 addsp 24
1f0c: 55 storesp 20
1f0d: 56 storesp 24
1f0e: 73 loadsp 12
1f0f: 89 im 9
1f10: 26 ulessthan
1f11: 83 im 3
1f12: 38 neqbranch
1f13: 81 im 1
1f14: 56 storesp 24

00001f15 <.L494>:
1f15: 7a loadsp 40
1f16: 76 loadsp 24
1f17: 07 or
1f18: 54 storesp 16
1f19: 73 loadsp 12
1f1a: 80 im 0
1f1b: 2e eq
1f1c: 8f im 15
1f1d: 38 neqbranch

00001f1e <.LM775>:
1f1e: 79 loadsp 36
1f1f: 83 im 3
1f20: e0 im -32
1f21: c8 im -56
1f22: 19 addsp 36
1f23: 34 storeb

00001f24 <.LM776>:
1f24: 81 im 1
1f25: 18 addsp 32
1f26: 70 loadsp 0
1f27: 81 im 1
1f28: ff im -1
1f29: 06 and
1f2a: 59 storesp 36
1f2b: 54 storesp 16

00001f2c <.L492>:
1f2c: 76 loadsp 24
1f2d: 87 im 7
1f2e: 32 xor
1f2f: 70 loadsp 0
1f30: 30 neg
1f31: 70 loadsp 0
1f32: 72 loadsp 8
1f33: 07 or
1f34: 80 im 0
1f35: 25 lessthanorequal
1f36: 79 loadsp 36
1f37: 8a im 10
1f38: 32 xor
1f39: 70 loadsp 0
1f3a: 30 neg
1f3b: 70 loadsp 0
1f3c: 72 loadsp 8
1f3d: 07 or
1f3e: 80 im 0
1f3f: 25 lessthanorequal
1f40: 73 loadsp 12
1f41: 07 or
1f42: 53 storesp 12
1f43: 54 storesp 16
1f44: 59 storesp 36
1f45: 51 storesp 4
1f46: 56 storesp 24
1f47: 54 storesp 16
1f48: 74 loadsp 16
1f49: 80 im 0
1f4a: 2e eq
1f4b: 9a im 26
1f4c: 38 neqbranch

00001f4d <.LM778>:
1f4d: 77 loadsp 28
1f4e: 77 loadsp 28
1f4f: 26 ulessthan
1f50: 95 im 21
1f51: 38 neqbranch

00001f52 <.L554>:
1f52: a0 im 32
1f53: 0b nop
1f54: 83 im 3
1f55: e0 im -32
1f56: c8 im -56
1f57: 19 addsp 36
1f58: 34 storeb
1f59: 81 im 1
1f5a: 18 addsp 32
1f5b: 70 loadsp 0
1f5c: 81 im 1
1f5d: ff im -1
1f5e: 06 and
1f5f: 59 storesp 36
1f60: 54 storesp 16
1f61: 76 loadsp 24
1f62: 78 loadsp 32
1f63: 27 ulessthanorequal
1f64: ed im -19
1f65: 38 neqbranch

00001f66 <.L491>:
1f66: 81 im 1
1f67: 17 addsp 28
1f68: 70 loadsp 0
1f69: 81 im 1
1f6a: ff im -1
1f6b: 06 and
1f6c: 58 storesp 32
1f6d: 54 storesp 16
1f6e: 8a im 10
1f6f: 77 loadsp 28
1f70: 27 ulessthanorequal
1f71: fe im -2
1f72: fc im -4
1f73: 38 neqbranch

00001f74 <.LM780>:
1f74: 8f im 15
1f75: 57 storesp 28

00001f76 <.L506>:
1f76: 83 im 3
1f77: e0 im -32
1f78: c3 im -61
1f79: 17 addsp 28
1f7a: 33 loadb
1f7b: 83 im 3
1f7c: e0 im -32
1f7d: c8 im -56
1f7e: 18 addsp 32
1f7f: 34 storeb
1f80: ff im -1
1f81: 17 addsp 28
1f82: 70 loadsp 0
1f83: 81 im 1
1f84: ff im -1
1f85: 06 and
1f86: 58 storesp 32
1f87: 54 storesp 16
1f88: 76 loadsp 24
1f89: 84 im 4
1f8a: 26 ulessthan
1f8b: ea im -22
1f8c: 38 neqbranch

00001f8d <.LM781>:
1f8d: 90 im 16
1f8e: 57 storesp 28

00001f8f <.L510>:
1f8f: 80 im 0
1f90: 0b nop
1f91: 83 im 3
1f92: e0 im -32
1f93: c8 im -56
1f94: 18 addsp 32
1f95: 34 storeb

00001f96 <.LM783>:
1f96: 81 im 1
1f97: 17 addsp 28
1f98: 70 loadsp 0
1f99: 81 im 1
1f9a: ff im -1
1f9b: 06 and
1f9c: 70 loadsp 0
1f9d: 98 im 24
1f9e: 2b ashiftleft
1f9f: 52 storesp 8
1fa0: 58 storesp 32
1fa1: 54 storesp 16
1fa2: 73 loadsp 12
1fa3: 80 im 0
1fa4: 25 lessthanorequal
1fa5: e9 im -23
1fa6: 38 neqbranch

00001fa7 <.LBE38>:
1fa7: 80 im 0
1fa8: c6 im -58
1fa9: 54 storesp 16
1faa: 7b loadsp 44
1fab: 85 im 5
1fac: 8f im 15
1fad: 24 lessthan
1fae: 84 im 4
1faf: 38 neqbranch
1fb0: 80 im 0
1fb1: c2 im -62
1fb2: 54 storesp 16

00001fb3 <.L512>:
1fb3: 73 loadsp 12
1fb4: 83 im 3
1fb5: e0 im -32
1fb6: c8 im -56
1fb7: 34 storeb

00001fb8 <.LM785>:
1fb8: 80 im 0
1fb9: f1 im -15
1fba: 0b nop
1fbb: 83 im 3
1fbc: e0 im -32
1fbd: cb im -53
1fbe: 34 storeb
1fbf: 81 im 1
1fc0: 0b nop
1fc1: 83 im 3
1fc2: e0 im -32
1fc3: cc im -52
1fc4: 34 storeb

00001fc5 <.L486>:
1fc5: 7b loadsp 44
1fc6: 83 im 3
1fc7: e0 im -32
1fc8: c9 im -55
1fc9: 34 storeb
1fca: 7b loadsp 44
1fcb: 88 im 8
1fcc: 2c ashiftright
1fcd: 54 storesp 16
1fce: 73 loadsp 12
1fcf: 83 im 3
1fd0: e0 im -32
1fd1: ca im -54
1fd2: 34 storeb

00001fd3 <.L555>:
1fd3: 0b nop
1fd4: 0b nop
1fd5: 80 im 0
1fd6: f9 im -7
1fd7: bc im 60
1fd8: 51 storesp 4
1fd9: a8 im 40
1fda: 92 im 18
1fdb: 3f callpcrel

00001fdc <.LM788>:
1fdc: 81 im 1
1fdd: 80 im 0
1fde: 54 storesp 16
1fdf: fc im -4
1fe0: 8e im 14
1fe1: 39 poppcrel

00001fe2 <.L549>:
1fe2: 0b nop
1fe3: 0b nop
1fe4: 80 im 0
1fe5: f9 im -7
1fe6: e0 im -32
1fe7: 51 storesp 4
1fe8: a8 im 40
1fe9: 83 im 3
1fea: 3f callpcrel

00001feb <.LM790>:
1feb: 7b loadsp 44
1fec: 83 im 3
1fed: e0 im -32
1fee: c9 im -55
1fef: 34 storeb
1ff0: 7b loadsp 44
1ff1: 88 im 8
1ff2: 2c ashiftright
1ff3: 54 storesp 16
1ff4: 73 loadsp 12
1ff5: 83 im 3
1ff6: e0 im -32
1ff7: ca im -54
1ff8: 34 storeb
1ff9: d9 im -39
1ffa: 39 poppcrel

00001ffb <main>:
1ffb: ff im -1
1ffc: 3d pushspadd
1ffd: 0d popsp

00001ffe <.LM792>:
1ffe: 80 im 0
1fff: 0b nop
2000: 83 im 3
2001: e0 im -32
2002: ac im 44
2003: 0c store

00002004 <.LM793>:
2004: 80 im 0
2005: 0b nop
2006: 83 im 3
2007: e3 im -29
2008: a8 im 40
2009: 0c store

0000200a <.LM794>:
200a: 80 im 0
200b: 0b nop
200c: 83 im 3
200d: e0 im -32
200e: b4 im 52
200f: 0c store

00002010 <.LM795>:
2010: 81 im 1
2011: 51 storesp 4
2012: cc im -52
2013: fa im -6
2014: 3f callpcrel

00002015 <.LM796>:
2015: a8 im 40
2016: 0b nop
2017: 83 im 3
2018: e3 im -29
2019: 8c im 12
201a: 0c store

0000201b <.LM797>:
201b: 83 im 3
201c: e0 im -32
201d: ac im 44
201e: 08 load
201f: 51 storesp 4
2020: a5 im 37
2021: bb im 59
2022: 3f callpcrel

00002023 <.LM798>:
2023: 83 im 3
2024: e0 im -32
2025: ac im 44
2026: 08 load
2027: ab im 43
2028: 38 neqbranch

00002029 <.LM799>:
2029: f3 im -13
202a: a8 im 40
202b: 3f callpcrel

0000202c <.LM800>:
202c: 81 im 1
202d: 51 storesp 4
202e: cc im -52
202f: de im -34
2030: 3f callpcrel

00002031 <.LM801>:
2031: 80 im 0
2032: 51 storesp 4
2033: cc im -52
2034: b5 im 53
2035: 3f callpcrel

00002036 <.LM802>:
2036: 80 im 0
2037: fb im -5
2038: e4 im -28
2039: 08 load
203a: 52 storesp 8
203b: 80 im 0
203c: 72 loadsp 8
203d: 34 storeb

0000203e <.LM803>:
203e: cb im -53
203f: b0 im 48
2040: 3f callpcrel

00002041 <.LM804>:
2041: 81 im 1
2042: 51 storesp 4
2043: cc im -52
2044: a5 im 37
2045: 3f callpcrel

00002046 <.LM805>:
2046: 80 im 0
2047: 51 storesp 4
2048: cc im -52
2049: c4 im -60
204a: 3f callpcrel

0000204b <.L559>:
204b: da im -38
204c: 8c im 12
204d: 3f callpcrel
204e: da im -38
204f: 89 im 9
2050: 3f callpcrel
2051: f9 im -7
2052: 39 poppcrel

00002053 <.L562>:
2053: 80 im 0
2054: 51 storesp 4
2055: cc im -52
2056: 93 im 19
2057: 3f callpcrel

00002058 <.LM808>:
2058: 80 im 0
2059: fb im -5
205a: e4 im -28
205b: 08 load
205c: 52 storesp 8
205d: 80 im 0
205e: 72 loadsp 8
205f: 34 storeb

00002060 <.LM809>:
2060: cb im -53
2061: 8e im 14
2062: 3f callpcrel

00002063 <.LM810>:
2063: 81 im 1
2064: 51 storesp 4
2065: cc im -52
2066: 83 im 3
2067: 3f callpcrel

00002068 <.LM811>:
2068: 80 im 0
2069: 51 storesp 4
206a: cc im -52
206b: a2 im 34
206c: 3f callpcrel

0000206d <.LM812>:
206d: 80 im 0
206e: fa im -6
206f: 89 im 9
2070: 80 im 0
2071: 51 storesp 4
2072: c8 im -56
2073: bf im 63
2074: 3f callpcrel

00002075 <.LM813>:
2075: f2 im -14
2076: dc im -36
2077: 3f callpcrel

00002078 <.LM814>:
2078: 81 im 1
2079: 51 storesp 4
207a: cc im -52
207b: 92 im 18
207c: 3f callpcrel

0000207d <.LM815>:
207d: 80 im 0
207e: 51 storesp 4
207f: cb im -53
2080: e9 im -23
2081: 3f callpcrel

00002082 <.LM816>:
2082: 80 im 0
2083: fb im -5
2084: e4 im -28
2085: 08 load
2086: 52 storesp 8
2087: 80 im 0
2088: 72 loadsp 8
2089: 34 storeb

0000208a <.LM817>:
208a: ca im -54
208b: e4 im -28
208c: 3f callpcrel

0000208d <.LM818>:
208d: 81 im 1
208e: 51 storesp 4
208f: cb im -53
2090: d9 im -39
2091: 3f callpcrel

00002092 <.LM819>:
2092: 80 im 0
2093: 51 storesp 4
2094: cb im -53
2095: f8 im -8
2096: 3f callpcrel
2097: ff im -1
2098: b2 im 50
2099: 39 poppcrel

0000209a <get_fat>:
static
CLUST get_fat ( /* 1:IO error, Else:Cluster status */
CLUST clst /* Cluster# to get the link information */
)
{
209a: f7 im -9
209b: 3d pushspadd
209c: 0d popsp
209d: 7b loadsp 44

0000209e <.LM2>:
WORD wc, bc, ofs;
BYTE buf[4];
FATFS *fs = FatFs;
209e: 83 im 3
209f: e0 im -32
20a0: 90 im 16
20a1: 08 load
20a2: 57 storesp 28
20a3: 58 storesp 32

000020a4 <.LM3>:


if (clst < 2 || clst >= fs->n_fatent) /* Range check */
20a4: 81 im 1
20a5: 78 loadsp 32
20a6: 27 ulessthanorequal
20a7: 9c im 28
20a8: 38 neqbranch
20a9: 77 loadsp 28
20aa: 88 im 8
20ab: 17 addsp 28
20ac: 08 load
20ad: 27 ulessthanorequal
20ae: 95 im 21
20af: 38 neqbranch

000020b0 <.LM4>:
return 1;

switch (fs->fs_type) {
20b0: 75 loadsp 20
20b1: 33 loadb
20b2: 57 storesp 28
20b3: 76 loadsp 24
20b4: 82 im 2
20b5: 2e eq
20b6: 81 im 1
20b7: d0 im -48
20b8: 38 neqbranch
20b9: 76 loadsp 24
20ba: 82 im 2
20bb: 24 lessthan
20bc: 91 im 17
20bd: 38 neqbranch
20be: 76 loadsp 24
20bf: 81 im 1
20c0: 2e eq
20c1: 80 im 0
20c2: e6 im -26
20c3: 38 neqbranch

000020c4 <.L4>:
#if _FS_FAT12
case FS_FAT12 :
bc = (WORD)clst; bc += bc / 2;
ofs = bc % 512; bc /= 512;
if (ofs != 511) {
if (disk_readp(buf, fs->fatbase + bc, ofs, 2)) break;
} else {
if (disk_readp(buf, fs->fatbase + bc, 511, 1)) break;
if (disk_readp(buf+1, fs->fatbase + bc + 1, 0, 1)) break;
}
wc = LD_WORD(buf);
return (clst & 1) ? (wc >> 4) : (wc & 0xFFF);
#endif
case FS_FAT16 :
if (disk_readp(buf, fs->fatbase + clst / 256, (WORD)(((WORD)clst % 256) * 2), 2)) break;
return LD_WORD(buf);
#if _FS_FAT32
case FS_FAT32 :
if (disk_readp(buf, fs->fatbase + clst / 128, (WORD)(((WORD)clst % 128) * 4), 4)) break;
return LD_DWORD(buf) & 0x0FFFFFFF;
#endif
}

return 1; /* An error occured at the disk I/O layer */
20c4: 81 im 1

000020c5 <.LM6>:
}
20c5: 0b nop
20c6: 83 im 3
20c7: e0 im -32
20c8: 80 im 0
20c9: 0c store
20ca: 8b im 11
20cb: 3d pushspadd
20cc: 0d popsp
20cd: 04 poppc

000020ce <.L17>:
20ce: 76 loadsp 24
20cf: 83 im 3
20d0: 2e eq
20d1: 09 not
20d2: 81 im 1
20d3: 06 and
20d4: ef im -17
20d5: 38 neqbranch

000020d6 <.LM8>:
20d6: 84 im 4
20d7: 54 storesp 16
20d8: 77 loadsp 28
20d9: 82 im 2
20da: 2b ashiftleft
20db: 83 im 3
20dc: fc im -4
20dd: 06 and
20de: 53 storesp 12
20df: 77 loadsp 28
20e0: 87 im 7
20e1: 2a lshiftright
20e2: 8c im 12
20e3: 17 addsp 28
20e4: 08 load
20e5: 05 add
20e6: 52 storesp 8
20e7: 8b im 11
20e8: 3d pushspadd
20e9: fc im -4
20ea: 05 add
20eb: 51 storesp 4
20ec: f0 im -16
20ed: 91 im 17
20ee: 3f callpcrel
20ef: 83 im 3
20f0: e0 im -32
20f1: 80 im 0
20f2: 08 load
20f3: d0 im -48
20f4: 38 neqbranch

000020f5 <.LM9>:
20f5: 02 pushsp
20f6: a7 im 39
20f7: 05 add
20f8: 33 loadb
20f9: 02 pushsp
20fa: 84 im 4
20fb: 05 add
20fc: a6 im 38
20fd: 05 add
20fe: 33 loadb
20ff: 71 loadsp 4
2100: 98 im 24
2101: 2b ashiftleft
2102: 71 loadsp 4
2103: 90 im 16
2104: 2b ashiftleft
2105: 07 or
2106: 02 pushsp
2107: 8c im 12
2108: 05 add
2109: a5 im 37
210a: 05 add
210b: 33 loadb
210c: 70 loadsp 0
210d: 88 im 8
210e: 2b ashiftleft
210f: 72 loadsp 8
2110: 07 or
2111: 8f im 15
2112: 3d pushspadd
2113: 33 loadb
2114: 71 loadsp 4
2115: 80 im 0
2116: ff im -1
2117: ff im -1
2118: fe im -2
2119: 80 im 0
211a: 06 and
211b: 07 or

0000211c <.LM10>:
211c: 83 im 3
211d: e0 im -32
211e: 80 im 0
211f: 0c store
2120: 52 storesp 8
2121: 5c storesp 48
2122: 57 storesp 28
2123: 58 storesp 32
2124: 56 storesp 24
2125: 8b im 11
2126: 3d pushspadd
2127: 0d popsp
2128: 04 poppc

00002129 <.L5>:
2129: 77 loadsp 28
212a: 83 im 3
212b: ff im -1
212c: ff im -1
212d: 06 and
212e: 70 loadsp 0
212f: 81 im 1
2130: 2a lshiftright
2131: 11 addsp 4
2132: 70 loadsp 0
2133: 83 im 3
2134: ff im -1
2135: ff im -1
2136: 06 and

00002137 <.LM12>:
2137: 70 loadsp 0
2138: 83 im 3
2139: ff im -1
213a: 06 and
213b: 71 loadsp 4
213c: 89 im 9
213d: 2a lshiftright
213e: 52 storesp 8
213f: 5c storesp 48
2140: 51 storesp 4
2141: 51 storesp 4
2142: 55 storesp 20

00002143 <.LM13>:
2143: 78 loadsp 32
2144: 83 im 3
2145: ff im -1
2146: 2e eq
2147: 80 im 0
2148: f2 im -14
2149: 38 neqbranch

0000214a <.LM14>:
214a: 82 im 2
214b: 54 storesp 16
214c: 78 loadsp 32
214d: 53 storesp 12
214e: 8c im 12
214f: 16 addsp 24
2150: 08 load
2151: 15 addsp 20
2152: 52 storesp 8
2153: 8b im 11
2154: 3d pushspadd
2155: fc im -4
2156: 05 add
2157: 51 storesp 4

00002158 <.L18>:
2158: ef im -17
2159: a5 im 37
215a: 3f callpcrel
215b: 83 im 3
215c: e0 im -32
215d: 80 im 0
215e: 08 load
215f: fe im -2
2160: e3 im -29
2161: 38 neqbranch

00002162 <.LM16>:
2162: 02 pushsp
2163: a5 im 37
2164: 05 add
2165: 33 loadb
2166: 8b im 11
2167: 3d pushspadd
2168: 33 loadb
2169: 71 loadsp 4
216a: 88 im 8
216b: 2b ashiftleft
216c: 07 or

0000216d <.LM17>:
216d: 79 loadsp 36
216e: 81 im 1
216f: 06 and
2170: 71 loadsp 4
2171: 84 im 4
2172: 2a lshiftright
2173: 53 storesp 12
2174: 57 storesp 28
2175: 58 storesp 32
2176: 56 storesp 24
2177: 74 loadsp 16
2178: 86 im 6
2179: 38 neqbranch
217a: 76 loadsp 24
217b: 9f im 31
217c: ff im -1
217d: 06 and
217e: 56 storesp 24

0000217f <.L12>:
217f: 75 loadsp 20

00002180 <.LM18>:
2180: 83 im 3
2181: e0 im -32
2182: 80 im 0
2183: 0c store
2184: 8b im 11
2185: 3d pushspadd
2186: 0d popsp
2187: 04 poppc

00002188 <.L13>:
2188: 76 loadsp 24
2189: 54 storesp 16
218a: 77 loadsp 28
218b: 10 addsp 0
218c: 83 im 3
218d: fe im -2
218e: 06 and
218f: 53 storesp 12
2190: 77 loadsp 28
2191: 88 im 8
2192: 2a lshiftright
2193: 8c im 12
2194: 17 addsp 28
2195: 08 load
2196: 05 add
2197: 52 storesp 8
2198: 8b im 11
2199: 3d pushspadd
219a: fc im -4
219b: 05 add
219c: 51 storesp 4
219d: ee im -18
219e: e0 im -32
219f: 3f callpcrel
21a0: 83 im 3
21a1: e0 im -32
21a2: 80 im 0
21a3: 08 load
21a4: fe im -2
21a5: 9e im 30
21a6: 38 neqbranch

000021a7 <.LM20>:
21a7: 02 pushsp
21a8: a5 im 37
21a9: 05 add
21aa: 33 loadb
21ab: 8b im 11
21ac: 3d pushspadd
21ad: 33 loadb
21ae: 71 loadsp 4
21af: 88 im 8
21b0: 2b ashiftleft
21b1: 07 or

000021b2 <.LM21>:
21b2: 83 im 3
21b3: e0 im -32
21b4: 80 im 0
21b5: 0c store
21b6: 56 storesp 24
21b7: 8b im 11
21b8: 3d pushspadd
21b9: 0d popsp
21ba: 04 poppc

000021bb <.L6>:
21bb: 76 loadsp 24
21bc: 54 storesp 16
21bd: 78 loadsp 32
21be: 53 storesp 12
21bf: 8c im 12
21c0: 16 addsp 24
21c1: 08 load
21c2: 15 addsp 20
21c3: 52 storesp 8
21c4: 8b im 11
21c5: 3d pushspadd
21c6: fc im -4
21c7: 05 add
21c8: 51 storesp 4
21c9: ee im -18
21ca: b4 im 52
21cb: 3f callpcrel
21cc: 83 im 3
21cd: e0 im -32
21ce: 80 im 0
21cf: 08 load
21d0: fd im -3
21d1: f2 im -14
21d2: 38 neqbranch

000021d3 <.LM23>:
21d3: 76 loadsp 24
21d4: 54 storesp 16
21d5: 83 im 3
21d6: e0 im -32
21d7: 80 im 0
21d8: 08 load
21d9: 53 storesp 12
21da: 8c im 12
21db: 16 addsp 24
21dc: 08 load
21dd: 15 addsp 20
21de: 81 im 1
21df: 05 add
21e0: 52 storesp 8
21e1: 8b im 11
21e2: 3d pushspadd
21e3: fd im -3
21e4: 05 add
21e5: 51 storesp 4
21e6: fe im -2
21e7: f0 im -16
21e8: 39 poppcrel

000021e9 <clust2sect>:




/*-----------------------------------------------------------------------*/
/* Get sector# from cluster# */
/*-----------------------------------------------------------------------*/

static
DWORD clust2sect ( /* !=0: Sector number, 0: Failed - invalid cluster# */
CLUST clst /* Cluster# to be converted */
)
{
21e9: fb im -5
21ea: 3d pushspadd
21eb: 0d popsp

000021ec <.LM25>:
FATFS *fs = FatFs;
21ec: 83 im 3
21ed: e0 im -32
21ee: 90 im 16
21ef: 08 load

000021f0 <.LM26>:


clst -= 2;
21f0: fe im -2
21f1: 19 addsp 36

000021f2 <.LM27>:
if (clst >= (fs->n_fatent - 2)) return 0; /* Invalid cluster# */
21f2: 88 im 8
21f3: 12 addsp 8
21f4: 08 load
21f5: fe im -2
21f6: 05 add
21f7: 55 storesp 20
21f8: 56 storesp 24
21f9: 54 storesp 16
21fa: 80 im 0
21fb: 56 storesp 24
21fc: 74 loadsp 16
21fd: 73 loadsp 12
21fe: 27 ulessthanorequal
21ff: 8d im 13
2200: 38 neqbranch

00002201 <.LM28>:
return (DWORD)clst * fs->csize + fs->database;
2201: 82 im 2
2202: 14 addsp 16
2203: 33 loadb
2204: 75 loadsp 20
2205: 71 loadsp 4
2206: 29 mult
2207: 94 im 20
2208: 16 addsp 24
2209: 08 load
220a: 05 add
220b: 57 storesp 28
220c: 53 storesp 12

0000220d <.L20>:
}
220d: 75 loadsp 20
220e: 83 im 3
220f: e0 im -32
2210: 80 im 0
2211: 0c store
2212: 87 im 7
2213: 3d pushspadd
2214: 0d popsp
2215: 04 poppc

00002216 <dir_rewind>:




/*-----------------------------------------------------------------------*/
/* Directory handling - Rewind directory index */
/*-----------------------------------------------------------------------*/

static
FRESULT dir_rewind (
DIR *dj /* Pointer to directory object */
)
{
2216: fc im -4
2217: 3d pushspadd
2218: 0d popsp
2219: 76 loadsp 24

0000221a <.LM31>:
CLUST clst;
FATFS *fs = FatFs;
221a: 83 im 3
221b: e0 im -32
221c: 90 im 16
221d: 08 load
221e: 55 storesp 20
221f: 55 storesp 20

00002220 <.LM32>:


dj->index = 0;
2220: 80 im 0
2221: 75 loadsp 20
2222: 23 storeh

00002223 <.LM33>:
clst = dj->sclust;
2223: 88 im 8
2224: 15 addsp 20
2225: 08 load
2226: 53 storesp 12

00002227 <.LM34>:
if (clst == 1 || clst >= fs->n_fatent) /* Check start cluster range */
2227: 72 loadsp 8
2228: 81 im 1
2229: 2e eq
222a: 88 im 8
222b: 38 neqbranch
222c: 88 im 8
222d: 14 addsp 16
222e: 08 load
222f: 73 loadsp 12
2230: 26 ulessthan
2231: 8b im 11
2232: 38 neqbranch

00002233 <.L25>:
return FR_DISK_ERR;
2233: 81 im 1

00002234 <.LM36>:
if (_FS_FAT32 && !clst && fs->fs_type == FS_FAT32) /* Replace cluster# 0 with root cluster# if in FAT32 */
clst = (CLUST)fs->dirbase;
dj->clust = clst; /* Current cluster */
dj->sect = clst ? clust2sect(clst) : fs->dirbase; /* Current sector */

return FR_OK; /* Seek succeeded */
}
2234: 0b nop
2235: 83 im 3
2236: e0 im -32
2237: 80 im 0
2238: 0c store
2239: 86 im 6
223a: 3d pushspadd
223b: 0d popsp
223c: 04 poppc

0000223d <.L24>:
223d: 72 loadsp 8
223e: 90 im 16
223f: 38 neqbranch
2240: 73 loadsp 12
2241: 33 loadb
2242: 52 storesp 8
2243: 71 loadsp 4
2244: 83 im 3
2245: 2e eq
2246: 09 not
2247: 81 im 1
2248: 06 and
2249: 85 im 5
224a: 38 neqbranch

0000224b <.LM38>:
224b: 90 im 16
224c: 14 addsp 16
224d: 08 load
224e: 53 storesp 12

0000224f <.L26>:
224f: 72 loadsp 8
2250: 8c im 12
2251: 16 addsp 24
2252: 0c store

00002253 <.LM40>:
2253: 72 loadsp 8
2254: 80 im 0
2255: 2e eq
2256: 98 im 24
2257: 38 neqbranch
2258: 72 loadsp 8
2259: 51 storesp 4
225a: ff im -1
225b: 8d im 13
225c: 3f callpcrel
225d: 83 im 3
225e: e0 im -32
225f: 80 im 0
2260: 08 load
2261: 90 im 16
2262: 16 addsp 24
2263: 0c store

00002264 <.LM41>:
2264: 80 im 0
2265: 52 storesp 8

00002266 <.L30>:
2266: 71 loadsp 4
2267: 83 im 3
2268: e0 im -32
2269: 80 im 0
226a: 0c store
226b: 86 im 6
226c: 3d pushspadd
226d: 0d popsp
226e: 04 poppc

0000226f <.L27>:
226f: 90 im 16
2270: 14 addsp 16
2271: 08 load
2272: 90 im 16
2273: 16 addsp 24
2274: 0c store

00002275 <.LM44>:
2275: 80 im 0
2276: 52 storesp 8
2277: ee im -18
2278: 39 poppcrel

00002279 <dir_next>:




/*-----------------------------------------------------------------------*/
/* Directory handling - Move directory index next */
/*-----------------------------------------------------------------------*/

static
FRESULT dir_next ( /* FR_OK:Succeeded, FR_NO_FILE:End of table */
DIR *dj /* Pointer to directory object */
)
{
2279: fa im -6
227a: 3d pushspadd
227b: 0d popsp
227c: 78 loadsp 32

0000227d <.LM46>:
CLUST clst;
WORD i;
FATFS *fs = FatFs;
227d: 83 im 3
227e: e0 im -32
227f: 90 im 16
2280: 08 load

00002281 <.LM47>:


i = dj->index + 1;
2281: 71 loadsp 4
2282: 22 loadh
2283: 81 im 1
2284: 05 add
2285: 70 loadsp 0
2286: 83 im 3
2287: ff im -1
2288: ff im -1
2289: 06 and
228a: 57 storesp 28
228b: 54 storesp 16
228c: 57 storesp 28
228d: 55 storesp 20

0000228e <.LM48>:
if (!i || !dj->sect) /* Report EOT when index has reached 65535 */
228e: 73 loadsp 12
228f: 80 im 0
2290: 2e eq
2291: b7 im 55
2292: 38 neqbranch
2293: 90 im 16
2294: 15 addsp 20
2295: 08 load
2296: 53 storesp 12
2297: 72 loadsp 8
2298: 80 im 0
2299: 2e eq
229a: ae im 46
229b: 38 neqbranch

0000229c <.LM49>:
return FR_NO_FILE;

if (!(i % 16)) { /* Sector changed? */
229c: 73 loadsp 12
229d: 8f im 15
229e: 06 and
229f: 52 storesp 8
22a0: 71 loadsp 4
22a1: 99 im 25
22a2: 38 neqbranch

000022a3 <.LM50>:
dj->sect++; /* Next sector */
22a3: 81 im 1
22a4: 13 addsp 12
22a5: 90 im 16
22a6: 16 addsp 24
22a7: 0c store

000022a8 <.LM51>:

if (dj->clust == 0) { /* Static table */
22a8: 8c im 12
22a9: 15 addsp 20
22aa: 08 load
22ab: 53 storesp 12
22ac: 72 loadsp 8
22ad: a5 im 37
22ae: 38 neqbranch

000022af <.LM52>:
if (i >= fs->n_rootdir) /* Report EOT when end of table */
return FR_NO_FILE;
22af: 83 im 3

000022b0 <.LM53>:
22b0: 0b nop
22b1: 84 im 4
22b2: 17 addsp 28
22b3: 22 loadh
22b4: 57 storesp 28
22b5: 52 storesp 8
22b6: 73 loadsp 12
22b7: 76 loadsp 24
22b8: 27 ulessthanorequal
22b9: 86 im 6
22ba: 38 neqbranch

000022bb <.L34>:
}
else { /* Dynamic table */
if (((i / 16) & (fs->csize-1)) == 0) { /* Cluster changed? */
clst = get_fat(dj->clust); /* Get next cluster */
if (clst <= 1) return FR_DISK_ERR;
if (clst >= fs->n_fatent) /* When it reached end of dynamic table */
return FR_NO_FILE; /* Report EOT */
dj->clust = clst; /* Initialize data for new cluster */
dj->sect = clust2sect(clst);
}
}
}

dj->index = i;
22bb: 73 loadsp 12
22bc: 75 loadsp 20
22bd: 23 storeh

000022be <.LM55>:

return FR_OK;
22be: 80 im 0
22bf: 52 storesp 8

000022c0 <.L31>:
}
22c0: 71 loadsp 4
22c1: 83 im 3
22c2: e0 im -32
22c3: 80 im 0
22c4: 0c store
22c5: 88 im 8
22c6: 3d pushspadd
22c7: 0d popsp
22c8: 04 poppc

000022c9 <.L33>:
22c9: 83 im 3

000022ca <.LM58>:
22ca: 0b nop
22cb: 83 im 3
22cc: e0 im -32
22cd: 80 im 0
22ce: 0c store
22cf: 88 im 8
22d0: 3d pushspadd
22d1: 0d popsp
22d2: 04 poppc

000022d3 <.L35>:
22d3: 82 im 2
22d4: 16 addsp 24
22d5: 33 loadb
22d6: ff im -1
22d7: 05 add
22d8: 74 loadsp 16
22d9: 84 im 4
22da: 2a lshiftright
22db: 06 and
22dc: 52 storesp 8
22dd: 71 loadsp 4
22de: dc im -36
22df: 38 neqbranch

000022e0 <.LM60>:
22e0: 72 loadsp 8
22e1: 51 storesp 4
22e2: fb im -5
22e3: b6 im 54
22e4: 3f callpcrel

000022e5 <.LM61>:
22e5: 81 im 1
22e6: 52 storesp 8
22e7: 71 loadsp 4
22e8: 83 im 3
22e9: e0 im -32
22ea: 80 im 0
22eb: 08 load
22ec: 27 ulessthanorequal
22ed: d2 im -46
22ee: 38 neqbranch

000022ef <.LM62>:
22ef: 83 im 3
22f0: 52 storesp 8

000022f1 <.LM63>:
22f1: 83 im 3
22f2: e0 im -32
22f3: 80 im 0
22f4: 08 load
22f5: 88 im 8
22f6: 17 addsp 28
22f7: 08 load
22f8: 27 ulessthanorequal
22f9: c6 im -58
22fa: 38 neqbranch

000022fb <.LM64>:
22fb: 83 im 3
22fc: e0 im -32
22fd: 80 im 0
22fe: 08 load
22ff: 8c im 12
2300: 16 addsp 24
2301: 0c store

00002302 <.LM65>:
2302: 83 im 3
2303: e0 im -32
2304: 80 im 0
2305: 08 load
2306: 51 storesp 4
2307: fd im -3
2308: e0 im -32
2309: 3f callpcrel
230a: 83 im 3
230b: e0 im -32
230c: 80 im 0
230d: 08 load
230e: 90 im 16
230f: 16 addsp 24
2310: 0c store

00002311 <.LM66>:
2311: 73 loadsp 12
2312: 75 loadsp 20
2313: 23 storeh

00002314 <.LM67>:
2314: 80 im 0
2315: 52 storesp 8
2316: ff im -1
2317: a8 im 40
2318: 39 poppcrel

00002319 <follow_path>:




/*-----------------------------------------------------------------------*/
/* Directory handling - Find an object in the directory */
/*-----------------------------------------------------------------------*/

static
FRESULT dir_find (
DIR *dj, /* Pointer to the directory object linked to the file name */
BYTE *dir /* 32-byte working buffer */
)
{
FRESULT res;
BYTE c;


res = dir_rewind(dj); /* Rewind directory object */
if (res != FR_OK) return res;

do {
res = disk_readp(dir, dj->sect, (WORD)((dj->index % 16) * 32), 32) /* Read an entry */
? FR_DISK_ERR : FR_OK;
if (res != FR_OK) break;
c = dir[DIR_Name]; /* First character */
if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */
if (!(dir[DIR_Attr] & AM_VOL) && !mem_cmp(dir, dj->fn, 11)) /* Is it a valid entry? */
break;
res = dir_next(dj); /* Next entry */
} while (res == FR_OK);

return res;
}




/*-----------------------------------------------------------------------*/
/* Read an object from the directory */
/*-----------------------------------------------------------------------*/
#if _USE_DIR
static
FRESULT dir_read (
DIR *dj, /* Pointer to the directory object to store read object name */
BYTE *dir /* 32-byte working buffer */
)
{
FRESULT res;
BYTE a, c;


res = FR_NO_FILE;
while (dj->sect) {
res = disk_readp(dir, dj->sect, (WORD)((dj->index % 16) * 32), 32) /* Read an entry */
? FR_DISK_ERR : FR_OK;
if (res != FR_OK) break;
c = dir[DIR_Name];
if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */
a = dir[DIR_Attr] & AM_MASK;
if (c != 0xE5 && c != '.' && !(a & AM_VOL)) /* Is it a valid entry? */
break;
res = dir_next(dj); /* Next entry */
if (res != FR_OK) break;
}

if (res != FR_OK) dj->sect = 0;

return res;
}
#endif



/*-----------------------------------------------------------------------*/
/* Pick a segment and create the object name in directory form */
/*-----------------------------------------------------------------------*/

#ifdef _EXCVT
static const BYTE cvt[] = _EXCVT;
#endif

static
FRESULT create_name (
DIR *dj, /* Pointer to the directory object */
const char **path /* Pointer to pointer to the segment in the path string */
)
{
BYTE c, d, ni, si, i, *sfn;
const char *p;

/* Create file name in directory form */
sfn = dj->fn;
mem_set(sfn, ' ', 11);
si = i = 0; ni = 8;
p = *path;
for (;;) {
c = p[si++];
if (c <= ' ' || c == '/') break; /* Break on end of segment */
if (c == '.' || i >= ni) {
if (ni != 8 || c != '.') break;
i = 8; ni = 11;
continue;
}
#ifdef _EXCVT
if (c >= 0x80) /* To upper extended char (SBCS) */
c = cvt[c - 0x80];
#endif
if (IsDBCS1(c) && i < ni - 1) { /* DBC 1st byte? */
d = p[si++]; /* Get 2nd byte */
sfn[i++] = c;
sfn[i++] = d;
} else { /* Single byte code */
if (IsLower(c)) c -= 0x20; /* toupper */
sfn[i++] = c;
}
}
*path = &p[si]; /* Rerurn pointer to the next segment */

sfn[11] = (c <= ' ') ? 1 : 0; /* Set last segment flag if end of path */

return FR_OK;
}




/*-----------------------------------------------------------------------*/
/* Get file information from directory entry */
/*-----------------------------------------------------------------------*/
#if _USE_DIR
static
void get_fileinfo ( /* No return code */
DIR *dj, /* Pointer to the directory object */
BYTE *dir, /* 32-byte working buffer */
FILINFO *fno /* Pointer to store the file information */
)
{
BYTE i, c;
char *p;


p = fno->fname;
if (dj->sect) {
for (i = 0; i < 8; i++) { /* Copy file name body */
c = dir[i];
if (c == ' ') break;
if (c == 0x05) c = 0xE5;
*p++ = c;
}
if (dir[8] != ' ') { /* Copy file name extension */
*p++ = '.';
for (i = 8; i < 11; i++) {
c = dir[i];
if (c == ' ') break;
*p++ = c;
}
}
fno->fattrib = dir[DIR_Attr]; /* Attribute */
fno->fsize = LD_DWORD(dir+DIR_FileSize); /* Size */
fno->fdate = LD_WORD(dir+DIR_WrtDate); /* Date */
fno->ftime = LD_WORD(dir+DIR_WrtTime); /* Time */
}
*p = 0;
}
#endif /* _USE_DIR */



/*-----------------------------------------------------------------------*/
/* Follow a file path */
/*-----------------------------------------------------------------------*/

static
FRESULT follow_path ( /* FR_OK(0): successful, !=0: error code */
DIR *dj, /* Directory object to return last directory and found object */
BYTE *dir, /* 32-byte working buffer */
const char *path /* Full-path string to find a file or directory */
)
{
2319: f2 im -14
231a: 3d pushspadd
231b: 0d popsp
231c: 60 loadsp 64
231d: 62 loadsp 72

0000231e <.LM69>:
FRESULT res;


while (*path == ' ') path++; /* Skip leading spaces */
231e: 64 loadsp 80
231f: 70 loadsp 0
2320: 33 loadb
2321: 58 storesp 32
2322: 58 storesp 32
2323: 5e storesp 56
2324: 5e storesp 56
2325: 74 loadsp 16
2326: a0 im 32
2327: 2e eq
2328: 09 not
2329: 81 im 1
232a: 06 and
232b: 8e im 14
232c: 38 neqbranch

0000232d <.L105>:
232d: 81 im 1
232e: 16 addsp 24
232f: 70 loadsp 0
2330: 44 storesp 80
2331: 70 loadsp 0
2332: 33 loadb
2333: 56 storesp 24
2334: 56 storesp 24
2335: 74 loadsp 16
2336: a0 im 32
2337: 2e eq
2338: f4 im -12
2339: 38 neqbranch

0000233a <.L89>:
if (*path == '/') path++; /* Strip heading separator */
233a: 75 loadsp 20
233b: 33 loadb
233c: 55 storesp 20
233d: 74 loadsp 16
233e: af im 47
233f: 2e eq
2340: 82 im 2
2341: 9c im 28
2342: 38 neqbranch

00002343 <.LM71>:
dj->sclust = 0; /* Set start directory (always root dir) */
2343: 80 im 0
2344: 0b nop
2345: 88 im 8
2346: 1f addsp 60
2347: 0c store

00002348 <.LM72>:

if ((BYTE)*path <= ' ') { /* Null path means the root directory */
2348: 75 loadsp 20
2349: 33 loadb
234a: 55 storesp 20
234b: a0 im 32
234c: 75 loadsp 20
234d: 27 ulessthanorequal
234e: 82 im 2
234f: a1 im 33
2350: 38 neqbranch

00002351 <.L47>:
2351: 93 im 19
2352: 3d pushspadd
2353: 84 im 4
2354: 1f addsp 60
2355: 08 load

00002356 <.LBB2>:
2356: 70 loadsp 0
2357: 58 storesp 32
2358: 5c storesp 48
2359: 5f storesp 60

0000235a <.LM74>:
235a: 8a im 10
235b: 55 storesp 20

0000235c <.L53>:
235c: a0 im 32
235d: 76 loadsp 24
235e: 70 loadsp 0
235f: 81 im 1
2360: 05 add
2361: 58 storesp 32
2362: 34 storeb
2363: ff im -1
2364: 15 addsp 20
2365: 55 storesp 20
2366: 74 loadsp 16
2367: ff im -1
2368: 2e eq
2369: 09 not
236a: 81 im 1
236b: 06 and
236c: ef im -17
236d: 38 neqbranch

0000236e <.LBE4>:
236e: 80 im 0
236f: 70 loadsp 0
2370: 59 storesp 36
2371: 59 storesp 36
2372: 88 im 8

00002373 <.LM76>:
2373: 7f loadsp 60
2374: 08 load
2375: 5d storesp 52
2376: 5a storesp 40

00002377 <.L103>:
2377: 78 loadsp 32
2378: 81 im 1
2379: 1a addsp 40
237a: 70 loadsp 0
237b: 81 im 1
237c: ff im -1
237d: 06 and
237e: 7e loadsp 56
237f: 13 addsp 12
2380: 70 loadsp 0
2381: 33 loadb

00002382 <.LM78>:
2382: 70 loadsp 0
2383: af im 47
2384: 32 xor
2385: 70 loadsp 0
2386: 30 neg
2387: a0 im 32
2388: 73 loadsp 12
2389: 27 ulessthanorequal
238a: 71 loadsp 4
238b: 80 im 0
238c: 25 lessthanorequal
238d: 07 or
238e: 51 storesp 4
238f: 51 storesp 4
2390: 52 storesp 8
2391: 5b storesp 44
2392: 53 storesp 12
2393: 5b storesp 44
2394: 57 storesp 28
2395: 55 storesp 20
2396: 74 loadsp 16
2397: 80 im 0
2398: d3 im -45
2399: 38 neqbranch

0000239a <.L109>:
239a: 76 loadsp 24
239b: ae im 46
239c: 2e eq
239d: 81 im 1
239e: e8 im -24
239f: 38 neqbranch
23a0: 77 loadsp 28
23a1: 7a loadsp 40
23a2: 27 ulessthanorequal
23a3: 75 loadsp 20
23a4: 07 or
23a5: 55 storesp 20
23a6: 74 loadsp 16
23a7: 80 im 0
23a8: 2e eq
23a9: 81 im 1
23aa: e8 im -24
23ab: 38 neqbranch

000023ac <.L111>:
23ac: 79 loadsp 36
23ad: 88 im 8
23ae: 32 xor
23af: 70 loadsp 0
23b0: 30 neg
23b1: 78 loadsp 32
23b2: ae im 46
23b3: 32 xor
23b4: 70 loadsp 0
23b5: 30 neg
23b6: 70 loadsp 0
23b7: 73 loadsp 12
23b8: 07 or
23b9: 9f im 31
23ba: 2a lshiftright
23bb: 53 storesp 12
23bc: 51 storesp 4
23bd: 57 storesp 28
23be: 51 storesp 4
23bf: 56 storesp 24
23c0: 75 loadsp 20
23c1: aa im 42
23c2: 38 neqbranch

000023c3 <.LM81>:
23c3: 88 im 8
23c4: 58 storesp 32
23c5: 8b im 11

000023c6 <.LM82>:
23c6: 79 loadsp 36
23c7: 81 im 1
23c8: 1b addsp 44
23c9: 70 loadsp 0
23ca: 81 im 1
23cb: ff im -1
23cc: 06 and
23cd: 7f loadsp 60
23ce: 13 addsp 12
23cf: 70 loadsp 0
23d0: 33 loadb

000023d1 <.LM83>:
23d1: 70 loadsp 0
23d2: af im 47
23d3: 32 xor
23d4: 70 loadsp 0
23d5: 30 neg
23d6: a0 im 32
23d7: 73 loadsp 12
23d8: 27 ulessthanorequal
23d9: 71 loadsp 4
23da: 80 im 0
23db: 25 lessthanorequal
23dc: 07 or
23dd: 51 storesp 4
23de: 51 storesp 4
23df: 52 storesp 8
23e0: 5c storesp 48
23e1: 53 storesp 12
23e2: 5c storesp 48
23e3: 58 storesp 32
23e4: 56 storesp 24
23e5: 5a storesp 40
23e6: 74 loadsp 16
23e7: 80 im 0
23e8: 2e eq
23e9: ff im -1
23ea: af im 47
23eb: 38 neqbranch

000023ec <.L56>:
23ec: 7b loadsp 44
23ed: 19 addsp 36
23ee: 7f loadsp 60
23ef: 0c store

000023f0 <.LM85>:
23f0: 80 im 0
23f1: 55 storesp 20
23f2: 76 loadsp 24
23f3: a0 im 32
23f4: 26 ulessthan
23f5: 83 im 3
23f6: 38 neqbranch
23f7: 81 im 1
23f8: 55 storesp 20

000023f9 <.L69>:
23f9: 74 loadsp 16
23fa: 8b im 11
23fb: 1c addsp 48
23fc: 34 storeb

000023fd <.LBB6>:
23fd: 7d loadsp 52
23fe: 51 storesp 4
23ff: fc im -4
2400: 95 im 21
2401: 3f callpcrel
2402: 83 im 3
2403: e0 im -32
2404: 80 im 0
2405: 08 load
2406: 5a storesp 40

00002407 <.LM87>:
2407: 83 im 3
2408: e0 im -32
2409: 80 im 0
240a: 08 load
240b: 80 im 0
240c: 2e eq
240d: 81 im 1
240e: d9 im -39
240f: 38 neqbranch

00002410 <.L73>:
2410: 79 loadsp 36
2411: 56 storesp 24

00002412 <.LM89>:
res = dir_rewind(dj);
dir[0] = 0;

} else { /* Follow path */
for (;;) {
res = create_name(dj, &path); /* Get a segment */
if (res != FR_OK) break;
res = dir_find(dj, dir); /* Find it */
if (res != FR_OK) { /* Could not find the object */
2412: 79 loadsp 36
2413: 82 im 2
2414: b0 im 48
2415: 38 neqbranch

00002416 <.L84>:
if (res == FR_NO_FILE && !*(dj->fn+11))
res = FR_NO_PATH;
break;
}
if (*(dj->fn+11)) break; /* Last segment match. Function completed. */
2416: 84 im 4
2417: 1e addsp 56
2418: 08 load
2419: 8b im 11
241a: 11 addsp 4
241b: 33 loadb
241c: 56 storesp 24
241d: 5b storesp 44
241e: 74 loadsp 16
241f: 80 im 0
2420: dd im -35
2421: 38 neqbranch

00002422 <.LM91>:
if (!(dir[DIR_Attr] & AM_DIR)) { /* Cannot follow because it is a file */
2422: 8b im 11
2423: 1d addsp 52
2424: 33 loadb
2425: 70 loadsp 0
2426: 84 im 4
2427: 2a lshiftright
2428: 70 loadsp 0
2429: 81 im 1
242a: 06 and
242b: 51 storesp 4
242c: 56 storesp 24
242d: 57 storesp 28
242e: 74 loadsp 16
242f: 80 im 0
2430: 2e eq
2431: 82 im 2
2432: a7 im 39
2433: 38 neqbranch

00002434 <.LM92>:
res = FR_NO_PATH; break;
}
dj->sclust = LD_CLUST(dir);
2434: 95 im 21
2435: 1d addsp 52
2436: 33 loadb
2437: 94 im 20
2438: 1e addsp 56
2439: 33 loadb
243a: 71 loadsp 4
243b: 98 im 24
243c: 2b ashiftleft
243d: 71 loadsp 4
243e: 90 im 16
243f: 2b ashiftleft
2440: 07 or
2441: 7f loadsp 60
2442: 9b im 27
2443: 05 add
2444: 33 loadb
2445: 60 loadsp 64
2446: 9a im 26
2447: 05 add
2448: 33 loadb
2449: 71 loadsp 4
244a: 88 im 8
244b: 2b ashiftleft
244c: 07 or
244d: 72 loadsp 8
244e: 07 or
244f: 62 loadsp 72
2450: 88 im 8
2451: 05 add
2452: 0c store

00002453 <.LM93>:
2453: 7e loadsp 56
2454: 52 storesp 8
2455: 5a storesp 40
2456: 58 storesp 32
2457: 56 storesp 24
2458: 58 storesp 32

00002459 <.LM94>:
2459: 8a im 10
245a: 55 storesp 20
245b: fd im -3
245c: ff im -1
245d: 39 poppcrel

0000245e <.L106>:
245e: 81 im 1
245f: 16 addsp 24
2460: 70 loadsp 0
2461: 44 storesp 80
2462: 56 storesp 24

00002463 <.LM96>:
2463: 80 im 0
2464: 0b nop
2465: 88 im 8
2466: 1f addsp 60
2467: 0c store

00002468 <.LM97>:
2468: 75 loadsp 20
2469: 33 loadb
246a: 55 storesp 20
246b: 74 loadsp 16
246c: a0 im 32
246d: 26 ulessthan
246e: fd im -3
246f: e1 im -31
2470: 38 neqbranch

00002471 <.L107>:
2471: 7d loadsp 52
2472: 51 storesp 4
2473: fb im -5
2474: a1 im 33
2475: 3f callpcrel
2476: 83 im 3
2477: e0 im -32
2478: 80 im 0
2479: 08 load
247a: 56 storesp 24

0000247b <.LM99>:
247b: 80 im 0
247c: 7d loadsp 52
247d: 34 storeb

0000247e <.L48>:
}
}

return res;
}
247e: 75 loadsp 20
247f: 83 im 3
2480: e0 im -32
2481: 80 im 0
2482: 0c store
2483: 90 im 16
2484: 3d pushspadd
2485: 0d popsp
2486: 04 poppc

00002487 <.L108>:
2487: 81 im 1
2488: 70 loadsp 0
2489: 79 loadsp 36
248a: 7c loadsp 48
248b: 27 ulessthanorequal
248c: 07 or
248d: 51 storesp 4
248e: 55 storesp 20
248f: 74 loadsp 16
2490: fe im -2
2491: 9a im 26
2492: 38 neqbranch

00002493 <.L66>:
2493: ff im -1
2494: 9f im 31
2495: 17 addsp 28
2496: 55 storesp 20
2497: 74 loadsp 16
2498: 99 im 25
2499: 26 ulessthan
249a: 89 im 9
249b: 38 neqbranch
249c: e0 im -32
249d: 17 addsp 28
249e: 70 loadsp 0
249f: 81 im 1
24a0: ff im -1
24a1: 06 and
24a2: 58 storesp 32
24a3: 55 storesp 20

000024a4 <.L68>:
24a4: 77 loadsp 28
24a5: 81 im 1
24a6: 19 addsp 36
24a7: 70 loadsp 0
24a8: 81 im 1
24a9: ff im -1
24aa: 06 and
24ab: 7d loadsp 52
24ac: 13 addsp 12
24ad: 53 storesp 12
24ae: 5a storesp 40
24af: 57 storesp 28
24b0: 55 storesp 20
24b1: 76 loadsp 24
24b2: 75 loadsp 20
24b3: 34 storeb
24b4: fd im -3
24b5: c1 im -63
24b6: 39 poppcrel

000024b7 <.L81>:
24b7: ff im -1
24b8: 17 addsp 28
24b9: 57 storesp 28
24ba: 76 loadsp 24
24bb: ff im -1
24bc: 2e eq
24bd: 80 im 0
24be: fd im -3
24bf: 38 neqbranch

000024c0 <.L112>:
24c0: 78 loadsp 32
24c1: 70 loadsp 0
24c2: 81 im 1
24c3: 05 add
24c4: 5a storesp 40
24c5: 33 loadb
24c6: 78 loadsp 32
24c7: 70 loadsp 0
24c8: 81 im 1
24c9: 05 add
24ca: 5a storesp 40
24cb: 33 loadb
24cc: 71 loadsp 4
24cd: 71 loadsp 4
24ce: 31 sub
24cf: 52 storesp 8
24d0: 56 storesp 24
24d1: 56 storesp 24
24d2: 75 loadsp 20
24d3: 80 im 0
24d4: 2e eq
24d5: e1 im -31
24d6: 38 neqbranch

000024d7 <.L80>:
24d7: 7d loadsp 52
24d8: 51 storesp 4
24d9: fb im -5
24da: 9e im 30
24db: 3f callpcrel
24dc: 83 im 3
24dd: e0 im -32
24de: 80 im 0
24df: 08 load
24e0: 5a storesp 40

000024e1 <.LM106>:
24e1: 83 im 3
24e2: e0 im -32
24e3: 80 im 0
24e4: 08 load
24e5: fe im -2
24e6: a9 im 41
24e7: 38 neqbranch

000024e8 <.L74>:
24e8: a0 im 32
24e9: 54 storesp 16
24ea: 7d loadsp 52
24eb: 22 loadh
24ec: 70 loadsp 0
24ed: 85 im 5
24ee: 2b ashiftleft
24ef: 83 im 3
24f0: e0 im -32
24f1: 06 and
24f2: 54 storesp 16
24f3: 55 storesp 20
24f4: 90 im 16
24f5: 1e addsp 56
24f6: 08 load
24f7: 52 storesp 8
24f8: 7c loadsp 48
24f9: 51 storesp 4
24fa: e8 im -24
24fb: 83 im 3
24fc: 3f callpcrel
24fd: 83 im 3
24fe: e0 im -32
24ff: 80 im 0
2500: 08 load
2501: 5a storesp 40
2502: 83 im 3
2503: e0 im -32
2504: 80 im 0
2505: 08 load
2506: 80 im 0
2507: dc im -36
2508: 38 neqbranch

00002509 <.LM108>:
2509: 7c loadsp 48
250a: 33 loadb
250b: 55 storesp 20

0000250c <.LM109>:
250c: 74 loadsp 16
250d: 80 im 0
250e: 2e eq
250f: 80 im 0
2510: dd im -35
2511: 38 neqbranch

00002512 <.LM110>:
2512: 8b im 11
2513: 1d addsp 52
2514: 33 loadb
2515: 70 loadsp 0
2516: 83 im 3
2517: 2a lshiftright
2518: 70 loadsp 0
2519: 81 im 1
251a: 06 and
251b: 51 storesp 4
251c: 56 storesp 24
251d: 56 storesp 24
251e: 74 loadsp 16
251f: ff im -1
2520: b6 im 54
2521: 38 neqbranch

00002522 <.LM111>:
2522: 8b im 11

00002523 <.LM112>:
2523: 7d loadsp 52
2524: 7f loadsp 60
2525: 84 im 4
2526: 05 add
2527: 08 load

00002528 <.LM113>:
2528: 83 im 3
2529: e0 im -32
252a: 80 im 0
252b: 08 load

0000252c <.LM114>:
252c: ff im -1
252d: 14 addsp 16
252e: 54 storesp 16
252f: 59 storesp 36
2530: 5a storesp 40
2531: 5a storesp 40
2532: 57 storesp 28
2533: 76 loadsp 24
2534: ff im -1
2535: 2e eq
2536: 09 not
2537: 81 im 1
2538: 06 and
2539: ff im -1
253a: 85 im 5
253b: 38 neqbranch

0000253c <.L82>:
253c: 75 loadsp 20
253d: ff im -1
253e: 98 im 24
253f: 38 neqbranch
2540: 79 loadsp 36
2541: 56 storesp 24
2542: fd im -3
2543: d2 im -46
2544: 39 poppcrel

00002545 <.L110>:
2545: 79 loadsp 36
2546: 83 im 3
2547: 2e eq
2548: 09 not
2549: 81 im 1
254a: 06 and
254b: fe im -2
254c: b1 im 49
254d: 38 neqbranch
254e: 84 im 4
254f: 1e addsp 56
2550: 08 load
2551: 8b im 11
2552: 11 addsp 4
2553: 33 loadb
2554: 51 storesp 4
2555: 55 storesp 20
2556: 74 loadsp 16
2557: fe im -2
2558: a5 im 37
2559: 38 neqbranch

0000255a <.L102>:
255a: 84 im 4

0000255b <.LM118>:
255b: 0b nop
255c: 83 im 3
255d: e0 im -32
255e: 80 im 0
255f: 0c store
2560: 90 im 16
2561: 3d pushspadd
2562: 0d popsp
2563: 04 poppc

00002564 <.L92>:
2564: 81 im 1

00002565 <.LM120>:
2565: 0b nop
2566: 83 im 3
2567: e0 im -32
2568: 80 im 0
2569: 0c store
256a: 90 im 16
256b: 3d pushspadd
256c: 0d popsp
256d: 04 poppc

0000256e <.L93>:
256e: 83 im 3

0000256f <.LM122>:
256f: 0b nop
2570: 84 im 4
2571: 1f addsp 60
2572: 08 load
2573: 8b im 11
2574: 11 addsp 4
2575: 33 loadb
2576: 51 storesp 4
2577: 56 storesp 24
2578: 56 storesp 24
2579: 74 loadsp 16
257a: fe im -2
257b: 82 im 2
257c: 38 neqbranch
257d: dc im -36
257e: 39 poppcrel

0000257f <check_fs>:




/*-----------------------------------------------------------------------*/
/* Check a sector if it is an FAT boot record */
/*-----------------------------------------------------------------------*/

static
BYTE check_fs ( /* 0:The FAT boot record, 1:Valid boot record but not an FAT, 2:Not a boot record, 3:Error */
BYTE *buf, /* Working buffer */
DWORD sect /* Sector# (lba) to check if it is an FAT boot record or not */
)
{
257f: f8 im -8
2580: 3d pushspadd
2581: 0d popsp
2582: 7a loadsp 40
2583: 7c loadsp 48
2584: 59 storesp 36
2585: 57 storesp 28

00002586 <.LM124>:
if (disk_readp(buf, sect, 510, 2)) /* Read the boot sector */
2586: 82 im 2
2587: 54 storesp 16
2588: 83 im 3
2589: fe im -2
258a: 53 storesp 12
258b: 77 loadsp 28
258c: 52 storesp 8
258d: 76 loadsp 24
258e: 51 storesp 4
258f: e6 im -26
2590: ee im -18
2591: 3f callpcrel

00002592 <.LM125>:
return 3;
2592: 83 im 3
2593: 56 storesp 24

00002594 <.LM126>:
2594: 83 im 3
2595: e0 im -32
2596: 80 im 0
2597: 08 load
2598: 80 im 0
2599: ec im -20
259a: 38 neqbranch

0000259b <.LM127>:
if (LD_WORD(buf) != 0xAA55) /* Check record signature */
259b: 81 im 1
259c: 17 addsp 28
259d: 33 loadb
259e: 77 loadsp 28
259f: 33 loadb
25a0: 71 loadsp 4
25a1: 88 im 8
25a2: 2b ashiftleft
25a3: 07 or
25a4: 56 storesp 24
25a5: 56 storesp 24

000025a6 <.LM128>:
return 2;
25a6: 82 im 2
25a7: 56 storesp 24

000025a8 <.LM129>:
25a8: 74 loadsp 16
25a9: 82 im 2
25aa: d4 im -44
25ab: d5 im -43
25ac: 2e eq
25ad: 09 not
25ae: 81 im 1
25af: 06 and
25b0: 80 im 0
25b1: d4 im -44
25b2: 38 neqbranch

000025b3 <.LM130>:

if (!disk_readp(buf, sect, BS_FilSysType, 2) && LD_WORD(buf) == 0x4146) /* Check FAT12/16 */
25b3: 75 loadsp 20
25b4: 54 storesp 16
25b5: b6 im 54
25b6: 53 storesp 12
25b7: 77 loadsp 28
25b8: 52 storesp 8
25b9: 76 loadsp 24
25ba: 51 storesp 4
25bb: e6 im -26
25bc: c2 im -62
25bd: 3f callpcrel
25be: 83 im 3
25bf: e0 im -32
25c0: 80 im 0
25c1: 08 load
25c2: 98 im 24
25c3: 38 neqbranch
25c4: 81 im 1
25c5: 17 addsp 28
25c6: 33 loadb
25c7: 77 loadsp 28
25c8: 33 loadb
25c9: 71 loadsp 4
25ca: 88 im 8
25cb: 2b ashiftleft
25cc: 07 or

000025cd <.LM131>:
return 0;
25cd: 83 im 3
25ce: e0 im -32
25cf: 80 im 0
25d0: 08 load
25d1: 52 storesp 8
25d2: 56 storesp 24
25d3: 56 storesp 24

000025d4 <.LM132>:
25d4: 74 loadsp 16
25d5: 81 im 1
25d6: 82 im 2
25d7: c6 im -58
25d8: 2e eq
25d9: ac im 44
25da: 38 neqbranch

000025db <.L116>:
if (_FS_FAT32 && !disk_readp(buf, sect, BS_FilSysType32, 2) && LD_WORD(buf) == 0x4146) /* Check FAT32 */
25db: 82 im 2
25dc: 54 storesp 16
25dd: 80 im 0
25de: d2 im -46
25df: 53 storesp 12
25e0: 77 loadsp 28
25e1: 52 storesp 8
25e2: 76 loadsp 24
25e3: 51 storesp 4
25e4: e6 im -26
25e5: 99 im 25
25e6: 3f callpcrel
25e7: 83 im 3
25e8: e0 im -32
25e9: 80 im 0
25ea: 08 load
25eb: 98 im 24
25ec: 38 neqbranch
25ed: 81 im 1
25ee: 17 addsp 28
25ef: 33 loadb
25f0: 77 loadsp 28
25f1: 33 loadb
25f2: 71 loadsp 4
25f3: 88 im 8
25f4: 2b ashiftleft
25f5: 07 or

000025f6 <.LM134>:
return 0;
25f6: 83 im 3
25f7: e0 im -32
25f8: 80 im 0
25f9: 08 load
25fa: 52 storesp 8
25fb: 56 storesp 24
25fc: 56 storesp 24

000025fd <.LM135>:
25fd: 74 loadsp 16
25fe: 81 im 1
25ff: 82 im 2
2600: c6 im -58
2601: 2e eq
2602: 83 im 3
2603: 38 neqbranch

00002604 <.L117>:
return 1;
2604: 81 im 1
2605: 56 storesp 24

00002606 <.L113>:
}
2606: 75 loadsp 20
2607: 83 im 3
2608: e0 im -32
2609: 80 im 0
260a: 0c store
260b: 8a im 10
260c: 3d pushspadd
260d: 0d popsp
260e: 04 poppc

0000260f <pf_mount>:




/*--------------------------------------------------------------------------

Public Functions

--------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------*/
/* Mount/Unmount a Locical Drive */
/*-----------------------------------------------------------------------*/

FRESULT pf_mount (
FATFS *fs /* Pointer to new file system object (NULL: Unmount) */
)
{
260f: ec im -20
2610: 3d pushspadd
2611: 0d popsp
2612: 66 loadsp 88
2613: 58 storesp 32

00002614 <.LM139>:
BYTE fmt, buf[36];
DWORD bsect, fsize, tsect, mclst;


FatFs = 0;
2614: 80 im 0
2615: 0b nop
2616: 83 im 3
2617: e0 im -32
2618: 90 im 16
2619: 0c store

0000261a <.LM140>:
if (!fs) return FR_OK; /* Unregister fs object */
261a: 77 loadsp 28
261b: 56 storesp 24
261c: 77 loadsp 28
261d: 80 im 0
261e: 2e eq
261f: 82 im 2
2620: d3 im -45
2621: 38 neqbranch

00002622 <.LM141>:

if (disk_initialize() & STA_NOINIT) /* Check if the drive is ready or not */
2622: c1 im -63
2623: 8c im 12
2624: 3f callpcrel
2625: 83 im 3
2626: e0 im -32
2627: 80 im 0
2628: 08 load
2629: 81 im 1
262a: 06 and
262b: 55 storesp 20

0000262c <.LM142>:
return FR_NOT_READY;
262c: 82 im 2
262d: 56 storesp 24

0000262e <.LM143>:
262e: 74 loadsp 16
262f: 82 im 2
2630: c3 im -61
2631: 38 neqbranch

00002632 <.LM144>:

/* Search FAT partition on the drive */
bsect = 0;
2632: 74 loadsp 16

00002633 <.LM145>:
fmt = check_fs(buf, bsect); /* Check sector 0 as an SFD format */
2633: 75 loadsp 20
2634: 53 storesp 12
2635: 8e im 14
2636: 3d pushspadd
2637: 70 loadsp 0
2638: 53 storesp 12
2639: 58 storesp 32
263a: 59 storesp 36
263b: fe im -2
263c: c2 im -62
263d: 3f callpcrel
263e: 83 im 3
263f: e0 im -32
2640: 80 im 0
2641: 08 load
2642: 81 im 1
2643: ff im -1
2644: 06 and
2645: 56 storesp 24

00002646 <.LM146>:
if (fmt == 1) { /* Not an FAT boot record, it may be FDISK format */
2646: 75 loadsp 20
2647: 81 im 1
2648: 2e eq
2649: 82 im 2
264a: b2 im 50
264b: 38 neqbranch

0000264c <.LM147>:
/* Check a partition listed in top of the partition table */
if (disk_readp(buf, bsect, MBR_Table, 16)) { /* 1st partition entry */
fmt = 3;
} else {
if (buf[4]) { /* Is the partition existing? */
bsect = LD_DWORD(&buf[8]); /* Partition offset in LBA */
fmt = check_fs(buf, bsect); /* Check the partition */
}
}
}
if (fmt == 3) return FR_DISK_ERR;
264c: 75 loadsp 20
264d: 83 im 3
264e: 2e eq
264f: 83 im 3
2650: 88 im 8
2651: 38 neqbranch

00002652 <.L126>:
if (fmt) return FR_NO_FILESYSTEM; /* No valid FAT patition is found */
2652: 75 loadsp 20
2653: 83 im 3
2654: 8e im 14
2655: 38 neqbranch

00002656 <.LM149>:

/* Initialize the file system object */
if (disk_readp(buf, bsect, 13, sizeof(buf))) return FR_DISK_ERR;
2656: a4 im 36
2657: 54 storesp 16
2658: 8d im 13
2659: 53 storesp 12
265a: 78 loadsp 32
265b: 52 storesp 8
265c: 76 loadsp 24
265d: 51 storesp 4
265e: e5 im -27
265f: 9f im 31
2660: 3f callpcrel
2661: 81 im 1
2662: 56 storesp 24
2663: 83 im 3
2664: e0 im -32
2665: 80 im 0
2666: 08 load
2667: 82 im 2
2668: 8b im 11
2669: 38 neqbranch

0000266a <.LM150>:

fsize = LD_WORD(buf+BPB_FATSz16-13); /* Number of sectors per FAT */
266a: 02 pushsp
266b: ba im 58
266c: 05 add
266d: 33 loadb
266e: 02 pushsp
266f: 84 im 4
2670: 05 add
2671: b9 im 57
2672: 05 add
2673: 33 loadb
2674: 71 loadsp 4
2675: 88 im 8
2676: 2b ashiftleft
2677: 07 or
2678: 58 storesp 32
2679: 5c storesp 48

0000267a <.LM151>:
if (!fsize) fsize = LD_DWORD(buf+BPB_FATSz32-13);
267a: 76 loadsp 24
267b: ab im 43
267c: 38 neqbranch
267d: 02 pushsp
267e: 80 im 0
267f: ca im -54
2680: 05 add
2681: 33 loadb
2682: 02 pushsp
2683: 84 im 4
2684: 05 add
2685: 80 im 0
2686: c9 im -55
2687: 05 add
2688: 33 loadb
2689: 71 loadsp 4
268a: 98 im 24
268b: 2b ashiftleft
268c: 71 loadsp 4
268d: 90 im 16
268e: 2b ashiftleft
268f: 07 or
2690: 96 im 22
2691: 3d pushspadd
2692: 33 loadb
2693: 70 loadsp 0
2694: 88 im 8
2695: 2b ashiftleft
2696: 72 loadsp 8
2697: 07 or
2698: 02 pushsp
2699: 94 im 20
269a: 05 add
269b: 80 im 0
269c: c7 im -57
269d: 05 add
269e: 33 loadb
269f: 71 loadsp 4
26a0: 07 or
26a1: 54 storesp 16
26a2: 52 storesp 8
26a3: 5d storesp 52
26a4: 57 storesp 28
26a5: 58 storesp 32
26a6: 56 storesp 24

000026a7 <.L129>:

fsize *= buf[BPB_NumFATs-13]; /* Number of sectors in FAT area */
26a7: 02 pushsp
26a8: b3 im 51
26a9: 05 add
26aa: 33 loadb
26ab: 77 loadsp 28
26ac: 71 loadsp 4
26ad: 29 mult

000026ae <.LM153>:
fs->fatbase = bsect + LD_WORD(buf+BPB_RsvdSecCnt-13); /* FAT start sector (lba) */
26ae: 02 pushsp
26af: 88 im 8
26b0: 05 add
26b1: b2 im 50
26b2: 05 add
26b3: 33 loadb
26b4: 02 pushsp
26b5: 8c im 12
26b6: 05 add
26b7: b1 im 49
26b8: 05 add
26b9: 33 loadb
26ba: 71 loadsp 4
26bb: 88 im 8
26bc: 2b ashiftleft
26bd: 07 or
26be: 7c loadsp 48
26bf: 11 addsp 4
26c0: 70 loadsp 0
26c1: 8c im 12
26c2: 1e addsp 56
26c3: 0c store
26c4: 5e storesp 56
26c5: 59 storesp 36
26c6: 57 storesp 28
26c7: 58 storesp 32
26c8: 5c storesp 48

000026c9 <.LM154>:
fs->csize = buf[BPB_SecPerClus-13]; /* Number of sectors per cluster */
26c9: 8d im 13
26ca: 3d pushspadd
26cb: 33 loadb
26cc: 82 im 2
26cd: 19 addsp 36
26ce: 34 storeb

000026cf <.LM155>:
fs->n_rootdir = LD_WORD(buf+BPB_RootEntCnt-13); /* Nmuber of root directory entries */
26cf: 02 pushsp
26d0: b5 im 53
26d1: 05 add
26d2: 33 loadb
26d3: 8f im 15
26d4: 3d pushspadd
26d5: 33 loadb
26d6: 71 loadsp 4
26d7: 88 im 8
26d8: 2b ashiftleft
26d9: 07 or
26da: 5a storesp 40
26db: 5b storesp 44
26dc: 78 loadsp 32
26dd: 84 im 4
26de: 19 addsp 36
26df: 23 storeh

000026e0 <.LM156>:
tsect = LD_WORD(buf+BPB_TotSec16-13); /* Number of sectors on the file system */
26e0: 02 pushsp
26e1: b7 im 55
26e2: 05 add
26e3: 33 loadb
26e4: 02 pushsp
26e5: 84 im 4
26e6: 05 add
26e7: b6 im 54
26e8: 05 add
26e9: 33 loadb
26ea: 71 loadsp 4
26eb: 88 im 8
26ec: 2b ashiftleft
26ed: 07 or
26ee: 56 storesp 24
26ef: 5b storesp 44

000026f0 <.LM157>:
if (!tsect) tsect = LD_DWORD(buf+BPB_TotSec32-13);
26f0: 74 loadsp 16
26f1: ab im 43
26f2: 38 neqbranch
26f3: 02 pushsp
26f4: 80 im 0
26f5: c6 im -58
26f6: 05 add
26f7: 33 loadb
26f8: 02 pushsp
26f9: 84 im 4
26fa: 05 add
26fb: 80 im 0
26fc: c5 im -59
26fd: 05 add
26fe: 33 loadb
26ff: 71 loadsp 4
2700: 98 im 24
2701: 2b ashiftleft
2702: 71 loadsp 4
2703: 90 im 16
2704: 2b ashiftleft
2705: 07 or
2706: 95 im 21
2707: 3d pushspadd
2708: 33 loadb
2709: 70 loadsp 0
270a: 88 im 8
270b: 2b ashiftleft
270c: 72 loadsp 8
270d: 07 or
270e: 02 pushsp
270f: 94 im 20
2710: 05 add
2711: 80 im 0
2712: c3 im -61
2713: 05 add
2714: 33 loadb
2715: 71 loadsp 4
2716: 07 or
2717: 51 storesp 4
2718: 52 storesp 8
2719: 53 storesp 12
271a: 57 storesp 28
271b: 5d storesp 52
271c: 5b storesp 44

0000271d <.L130>:
mclst = (tsect /* Last cluster# + 1 */
271d: 74 loadsp 16
271e: 76 loadsp 24
271f: 31 sub
2720: 77 loadsp 28
2721: 31 sub
2722: 79 loadsp 36
2723: 84 im 4
2724: 2a lshiftright
2725: 8f im 15
2726: 3d pushspadd
2727: 33 loadb
2728: 54 storesp 16
2729: 71 loadsp 4
272a: 71 loadsp 4
272b: 31 sub
272c: 53 storesp 12
272d: 56 storesp 24
272e: 56 storesp 24
272f: 9d im 29
2730: d1 im -47
2731: 3f callpcrel
2732: 83 im 3
2733: e0 im -32
2734: 80 im 0
2735: 08 load
2736: 82 im 2
2737: 05 add

00002738 <.LM159>:
- LD_WORD(buf+BPB_RsvdSecCnt-13) - fsize - fs->n_rootdir / 16
) / fs->csize + 2;
fs->n_fatent = (CLUST)mclst;
2738: 70 loadsp 0
2739: 88 im 8
273a: 1a addsp 40
273b: 0c store

0000273c <.LM160>:

fmt = FS_FAT16; /* Determine the FAT sub type */
if (mclst < 0xFF7) /* Number of clusters < 0xFF5 */
#if _FS_FAT12
fmt = FS_FAT12;
273c: 70 loadsp 0
273d: 9f im 31
273e: f6 im -10
273f: 26 ulessthan
2740: 81 im 1
2741: 05 add
2742: 57 storesp 28
2743: 55 storesp 20

00002744 <.LM161>:
#else
return FR_NO_FILESYSTEM;
#endif
if (mclst >= 0xFFF7) /* Number of clusters >= 0xFFF5 */
2744: 83 im 3
2745: ff im -1
2746: f6 im -10
2747: 75 loadsp 20
2748: 27 ulessthanorequal
2749: 83 im 3
274a: 38 neqbranch

0000274b <.LM162>:
#if _FS_FAT32
fmt = FS_FAT32;
274b: 83 im 3
274c: 56 storesp 24

0000274d <.L132>:
#else
return FR_NO_FILESYSTEM;
#endif

fs->fs_type = fmt; /* FAT sub-type */
274d: 75 loadsp 20
274e: 78 loadsp 32
274f: 34 storeb

00002750 <.LM164>:
if (_FS_FAT32 && fmt == FS_FAT32)
2750: 75 loadsp 20
2751: 83 im 3
2752: 2e eq
2753: 81 im 1
2754: 98 im 24
2755: 38 neqbranch

00002756 <.LM165>:
fs->dirbase = LD_DWORD(buf+(BPB_RootClus-13)); /* Root directory start cluster */
else
fs->dirbase = fs->fatbase + fsize; /* Root directory start sector (lba) */
2756: 76 loadsp 24
2757: 1a addsp 40
2758: 90 im 16
2759: 19 addsp 36
275a: 0c store

0000275b <.LM166>:
fs->database = fs->fatbase + fsize + fs->n_rootdir / 16; /* Data start sector (lba) */
275b: 84 im 4
275c: 18 addsp 32
275d: 22 loadh
275e: 77 loadsp 28
275f: 1b addsp 44
2760: 71 loadsp 4
2761: 84 im 4
2762: 2a lshiftright
2763: 05 add
2764: 94 im 20
2765: 1a addsp 40
2766: 0c store
2767: 55 storesp 20

00002768 <.LM167>:

fs->flag = 0;
2768: 80 im 0
2769: 0b nop
276a: 81 im 1
276b: 19 addsp 36
276c: 34 storeb

0000276d <.LM168>:
FatFs = fs;
276d: 77 loadsp 28
276e: 83 im 3
276f: e0 im -32
2770: 90 im 16
2771: 0c store

00002772 <.LM169>:

return FR_OK;
2772: 80 im 0
2773: 56 storesp 24

00002774 <.L119>:
}
2774: 75 loadsp 20
2775: 83 im 3
2776: e0 im -32
2777: 80 im 0
2778: 0c store
2779: 96 im 22
277a: 3d pushspadd
277b: 0d popsp
277c: 04 poppc

0000277d <.L138>:
277d: 90 im 16
277e: 54 storesp 16
277f: 83 im 3
2780: be im 62
2781: 53 storesp 12
2782: 74 loadsp 16
2783: 52 storesp 8
2784: 76 loadsp 24
2785: 51 storesp 4
2786: e2 im -30
2787: f7 im -9
2788: 3f callpcrel
2789: 83 im 3
278a: e0 im -32
278b: 80 im 0
278c: 08 load
278d: 80 im 0
278e: ca im -54
278f: 38 neqbranch

00002790 <.LM172>:
2790: 8e im 14
2791: 3d pushspadd
2792: 33 loadb
2793: 55 storesp 20
2794: 74 loadsp 16
2795: 80 im 0
2796: 2e eq
2797: 80 im 0
2798: ca im -54
2799: 38 neqbranch

0000279a <.LM173>:
279a: 02 pushsp
279b: bb im 59
279c: 05 add
279d: 33 loadb
279e: 02 pushsp
279f: 84 im 4
27a0: 05 add
27a1: ba im 58
27a2: 05 add
27a3: 33 loadb
27a4: 71 loadsp 4
27a5: 98 im 24
27a6: 2b ashiftleft
27a7: 71 loadsp 4
27a8: 90 im 16
27a9: 2b ashiftleft
27aa: 07 or
27ab: 02 pushsp
27ac: 8c im 12
27ad: 05 add
27ae: b9 im 57
27af: 05 add
27b0: 33 loadb
27b1: 70 loadsp 0
27b2: 88 im 8
27b3: 2b ashiftleft
27b4: 72 loadsp 8
27b5: 07 or
27b6: 94 im 20
27b7: 3d pushspadd
27b8: 33 loadb
27b9: 71 loadsp 4
27ba: 07 or

000027bb <.LM174>:
27bb: 70 loadsp 0
27bc: 58 storesp 32
27bd: 7c loadsp 48
27be: 57 storesp 28
27bf: 54 storesp 16
27c0: 52 storesp 8
27c1: 5d storesp 52
27c2: 57 storesp 28
27c3: 5a storesp 40
27c4: 56 storesp 24
27c5: fb im -5
27c6: b8 im 56
27c7: 3f callpcrel
27c8: 83 im 3
27c9: e0 im -32
27ca: 80 im 0
27cb: 08 load
27cc: 81 im 1
27cd: ff im -1
27ce: 06 and
27cf: 56 storesp 24

000027d0 <.LM175>:
27d0: 75 loadsp 20
27d1: 83 im 3
27d2: 2e eq
27d3: 09 not
27d4: 81 im 1
27d5: 06 and
27d6: fc im -4
27d7: fa im -6
27d8: 38 neqbranch

000027d9 <.L135>:
27d9: 81 im 1

000027da <.LM176>:
27da: 0b nop
27db: 83 im 3
27dc: e0 im -32
27dd: 80 im 0
27de: 0c store
27df: 96 im 22
27e0: 3d pushspadd
27e1: 0d popsp
27e2: 04 poppc

000027e3 <.L136>:
27e3: 87 im 7

000027e4 <.LM178>:
27e4: 0b nop
27e5: 83 im 3
27e6: e0 im -32
27e7: 80 im 0
27e8: 0c store
27e9: 96 im 22
27ea: 3d pushspadd
27eb: 0d popsp
27ec: 04 poppc

000027ed <.L139>:
27ed: 02 pushsp
27ee: 80 im 0
27ef: d2 im -46
27f0: 05 add
27f1: 33 loadb
27f2: 02 pushsp
27f3: 84 im 4
27f4: 05 add
27f5: 80 im 0
27f6: d1 im -47
27f7: 05 add
27f8: 33 loadb
27f9: 71 loadsp 4
27fa: 98 im 24
27fb: 2b ashiftleft
27fc: 71 loadsp 4
27fd: 90 im 16
27fe: 2b ashiftleft
27ff: 07 or
2800: 98 im 24
2801: 3d pushspadd
2802: 33 loadb
2803: 70 loadsp 0
2804: 88 im 8
2805: 2b ashiftleft
2806: 72 loadsp 8
2807: 07 or
2808: 02 pushsp
2809: 94 im 20
280a: 05 add
280b: 80 im 0
280c: cf im -49
280d: 05 add
280e: 33 loadb
280f: 71 loadsp 4
2810: 07 or
2811: 90 im 16
2812: 1e addsp 56
2813: 0c store
2814: 52 storesp 8

00002815 <.LM180>:
2815: 84 im 4
2816: 1c addsp 48
2817: 22 loadh
2818: 7b loadsp 44
2819: 1f addsp 60
281a: 71 loadsp 4
281b: 84 im 4
281c: 2a lshiftright
281d: 05 add
281e: 94 im 20
281f: 1e addsp 56
2820: 0c store
2821: 52 storesp 8
2822: 5e storesp 56
2823: 57 storesp 28
2824: 5a storesp 40
2825: 56 storesp 24

00002826 <.LM181>:
2826: 80 im 0
2827: 0b nop
2828: 81 im 1
2829: 19 addsp 36
282a: 34 storeb

0000282b <.LM182>:
282b: 77 loadsp 28
282c: 83 im 3
282d: e0 im -32
282e: 90 im 16
282f: 0c store

00002830 <.LM183>:
2830: 80 im 0
2831: 56 storesp 24
2832: fe im -2
2833: c0 im -64
2834: 39 poppcrel

00002835 <pf_open>:




/*-----------------------------------------------------------------------*/
/* Open or Create a File */
/*-----------------------------------------------------------------------*/

FRESULT pf_open (
const char *path /* Pointer to the file name */
)
{
2835: e9 im -23
2836: 3d pushspadd
2837: 0d popsp

00002838 <.LM185>:
FRESULT res;
DIR dj;
BYTE sp[12], dir[32];
FATFS *fs = FatFs;
2838: 83 im 3
2839: e0 im -32
283a: 90 im 16
283b: 08 load
283c: 56 storesp 24

0000283d <.LM186>:


if (!fs) /* Check file system */
return FR_NOT_ENABLED;
283d: 86 im 6
283e: 54 storesp 16

0000283f <.LM187>:
283f: 75 loadsp 20
2840: 80 im 0
2841: 2e eq
2842: be im 62
2843: 38 neqbranch

00002844 <.LM188>:

fs->flag = 0;
2844: 80 im 0
2845: 0b nop
2846: 81 im 1
2847: 17 addsp 28
2848: 34 storeb

00002849 <.LM189>:
dj.fn = sp;
2849: 99 im 25
284a: 3d pushspadd
284b: e0 im -32
284c: 11 addsp 4
284d: 46 storesp 88

0000284e <.LM190>:
res = follow_path(&dj, dir, path); /* Follow the file path */
284e: 6a loadsp 104
284f: 54 storesp 16
2850: c0 im -64
2851: 11 addsp 4
2852: 53 storesp 12
2853: ec im -20
2854: 05 add
2855: 51 storesp 4
2856: f5 im -11
2857: c1 im -63
2858: 3f callpcrel

00002859 <.LM191>:
if (res != FR_OK) return res; /* Follow failed */
2859: 83 im 3
285a: e0 im -32
285b: 80 im 0
285c: 08 load
285d: 54 storesp 16
285e: 83 im 3
285f: e0 im -32
2860: 80 im 0
2861: 08 load
2862: 9e im 30
2863: 38 neqbranch

00002864 <.LM192>:
if (!dir[0] || (dir[DIR_Attr] & AM_DIR)) /* It is a directory */
2864: 89 im 9
2865: 3d pushspadd
2866: 33 loadb
2867: 54 storesp 16
2868: 73 loadsp 12
2869: 80 im 0
286a: 2e eq
286b: 93 im 19
286c: 38 neqbranch
286d: 02 pushsp
286e: ab im 43
286f: 05 add
2870: 33 loadb
2871: 70 loadsp 0
2872: 84 im 4
2873: 2a lshiftright
2874: 70 loadsp 0
2875: 81 im 1
2876: 06 and
2877: 51 storesp 4
2878: 55 storesp 20
2879: 55 storesp 20
287a: 73 loadsp 12
287b: 80 im 0
287c: 2e eq
287d: 8c im 12
287e: 38 neqbranch

0000287f <.L144>:
return FR_NO_FILE;
287f: 83 im 3
2880: 54 storesp 16

00002881 <.L140>:

fs->org_clust = LD_CLUST(dir); /* File start cluster */
fs->fsize = LD_DWORD(dir+DIR_FileSize); /* File size */
fs->fptr = 0; /* File pointer */
fs->flag = FA_OPENED;

return FR_OK;
}
2881: 73 loadsp 12
2882: 83 im 3
2883: e0 im -32
2884: 80 im 0
2885: 0c store
2886: 99 im 25
2887: 3d pushspadd
2888: 0d popsp
2889: 04 poppc

0000288a <.L143>:
288a: 02 pushsp
288b: b5 im 53
288c: 05 add
288d: 33 loadb
288e: 8f im 15
288f: 3d pushspadd
2890: 33 loadb
2891: 71 loadsp 4
2892: 98 im 24
2893: 2b ashiftleft
2894: 71 loadsp 4
2895: 90 im 16
2896: 2b ashiftleft
2897: 07 or
2898: 02 pushsp
2899: 8c im 12
289a: 05 add
289b: bb im 59
289c: 05 add
289d: 33 loadb
289e: 02 pushsp
289f: 90 im 16
28a0: 05 add
28a1: ba im 58
28a2: 05 add
28a3: 33 loadb
28a4: 71 loadsp 4
28a5: 88 im 8
28a6: 2b ashiftleft
28a7: 07 or
28a8: 72 loadsp 8
28a9: 07 or
28aa: a0 im 32
28ab: 1b addsp 44
28ac: 0c store

000028ad <.LM196>:
28ad: 02 pushsp
28ae: 90 im 16
28af: 05 add
28b0: bf im 63
28b1: 05 add
28b2: 33 loadb
28b3: 02 pushsp
28b4: 94 im 20
28b5: 05 add
28b6: be im 62
28b7: 05 add
28b8: 33 loadb
28b9: 71 loadsp 4
28ba: 98 im 24
28bb: 2b ashiftleft
28bc: 71 loadsp 4
28bd: 90 im 16
28be: 2b ashiftleft
28bf: 07 or
28c0: 02 pushsp
28c1: 9c im 28
28c2: 05 add
28c3: bd im 61
28c4: 05 add
28c5: 33 loadb
28c6: 70 loadsp 0
28c7: 88 im 8
28c8: 2b ashiftleft
28c9: 72 loadsp 8
28ca: 07 or
28cb: 99 im 25
28cc: 3d pushspadd
28cd: 33 loadb
28ce: 71 loadsp 4
28cf: 07 or
28d0: 7f loadsp 60
28d1: 9c im 28
28d2: 05 add
28d3: 0c store
28d4: 52 storesp 8

000028d5 <.LM197>:
28d5: 83 im 3
28d6: e0 im -32
28d7: 80 im 0
28d8: 08 load
28d9: 98 im 24
28da: 1f addsp 60
28db: 0c store
28dc: 56 storesp 24
28dd: 5a storesp 40
28de: 52 storesp 8
28df: 52 storesp 8
28e0: 53 storesp 12
28e1: 57 storesp 28
28e2: 59 storesp 36
28e3: 57 storesp 28

000028e4 <.LM198>:
28e4: 81 im 1
28e5: 0b nop
28e6: 81 im 1
28e7: 17 addsp 28
28e8: 34 storeb

000028e9 <.LM199>:
28e9: 83 im 3
28ea: e0 im -32
28eb: 80 im 0
28ec: 08 load

000028ed <.LM200>:
28ed: 83 im 3
28ee: e0 im -32
28ef: 80 im 0
28f0: 0c store
28f1: 99 im 25
28f2: 3d pushspadd
28f3: 0d popsp
28f4: 04 poppc

000028f5 <pf_read>:




/*-----------------------------------------------------------------------*/
/* Read File */
/*-----------------------------------------------------------------------*/
#if _USE_READ

FRESULT pf_read (
void* buff, /* Pointer to the read buffer (NULL:Forward data to the stream)*/
WORD btr, /* Number of bytes to read */
WORD* br /* Pointer to number of bytes read */
)
{
28f5: f4 im -12
28f6: 3d pushspadd
28f7: 0d popsp
28f8: 7e loadsp 56
28f9: 61 loadsp 68
28fa: 02 pushsp
28fb: 88 im 8
28fc: 05 add
28fd: be im 62
28fe: 05 add
28ff: 22 loadh

00002900 <.LM202>:
DRESULT dr;
CLUST clst;
DWORD sect, remain;
WORD rcnt;
BYTE cs, *rbuff = buff;
2900: 72 loadsp 8

00002901 <.LM203>:
FATFS *fs = FatFs;
2901: 83 im 3
2902: e0 im -32
2903: 90 im 16
2904: 08 load
2905: 5c storesp 48
2906: 5d storesp 52
2907: 5b storesp 44
2908: 5c storesp 48
2909: 5c storesp 48

0000290a <.LM204>:


*br = 0;
290a: 80 im 0
290b: 7b loadsp 44
290c: 23 storeh

0000290d <.LM205>:
if (!fs) return FR_NOT_ENABLED; /* Check file system */
290d: 86 im 6
290e: 56 storesp 24
290f: 77 loadsp 28
2910: 80 im 0
2911: 2e eq
2912: 81 im 1
2913: ca im -54
2914: 38 neqbranch

00002915 <.LM206>:
if (!(fs->flag & FA_OPENED)) /* Check if opened */
2915: 81 im 1
2916: 18 addsp 32
2917: 33 loadb
2918: 81 im 1
2919: 06 and
291a: 55 storesp 20

0000291b <.LM207>:
return FR_NOT_OPENED;
291b: 85 im 5
291c: 56 storesp 24

0000291d <.LM208>:
291d: 74 loadsp 16
291e: 80 im 0
291f: 2e eq
2920: 81 im 1
2921: bc im 60
2922: 38 neqbranch

00002923 <.LM209>:

remain = fs->fsize - fs->fptr;
2923: 98 im 24
2924: 18 addsp 32
2925: 08 load
2926: 9c im 28
2927: 19 addsp 36
2928: 08 load
2929: 71 loadsp 4
292a: 31 sub
292b: 56 storesp 24
292c: 57 storesp 28

0000292d <.LM210>:
if (btr > remain) btr = (WORD)remain; /* Truncate btr by remaining bytes */
292d: 78 loadsp 32
292e: 75 loadsp 20
292f: 26 ulessthan
2930: 81 im 1
2931: b5 im 53
2932: 38 neqbranch

00002933 <.L149>:

while (btr) { /* Repeat until all data transferred */
if ((fs->fptr % 512) == 0) { /* On the sector boundary? */
cs = (BYTE)(fs->fptr / 512 & (fs->csize - 1)); /* Sector offset in the cluster */
if (!cs) { /* On the cluster boundary? */
clst = (fs->fptr == 0) ? /* On the top of the file? */
fs->org_clust : get_fat(fs->curr_clust);
if (clst <= 1) goto fr_abort;
fs->curr_clust = clst; /* Update current cluster */
}
sect = clust2sect(fs->curr_clust); /* Get current sector */
if (!sect) goto fr_abort;
fs->dsect = sect + cs;
}
rcnt = (WORD)(512 - (fs->fptr % 512)); /* Get partial sector data from sector buffer */
if (rcnt > btr) rcnt = btr;
dr = disk_readp(!buff ? 0 : rbuff, fs->dsect, (WORD)(fs->fptr % 512), rcnt);
if (dr) goto fr_abort;
fs->fptr += rcnt; rbuff += rcnt; /* Update pointers and counters */
btr -= rcnt; *br += rcnt;
2933: 78 loadsp 32
2934: 80 im 0
2935: 2e eq
2936: 81 im 1
2937: a4 im 36
2938: 38 neqbranch

00002939 <.L169>:
2939: 76 loadsp 24
293a: 83 im 3
293b: ff im -1
293c: 06 and
293d: 55 storesp 20
293e: 74 loadsp 16
293f: 80 im 0
2940: c1 im -63
2941: 38 neqbranch

00002942 <.LM213>:
2942: 82 im 2
2943: 18 addsp 32
2944: 33 loadb
2945: ff im -1
2946: 05 add
2947: 77 loadsp 28
2948: 89 im 9
2949: 2a lshiftright
294a: 06 and
294b: 70 loadsp 0
294c: 81 im 1
294d: ff im -1
294e: 06 and
294f: 51 storesp 4
2950: 55 storesp 20

00002951 <.LM214>:
2951: 74 loadsp 16
2952: 93 im 19
2953: 38 neqbranch

00002954 <.LM215>:
2954: 76 loadsp 24
2955: 81 im 1
2956: 99 im 25
2957: 38 neqbranch
2958: a0 im 32
2959: 18 addsp 32
295a: 08 load
295b: 56 storesp 24

0000295c <.L155>:
295c: 81 im 1
295d: 76 loadsp 24
295e: 27 ulessthanorequal
295f: 81 im 1
2960: a3 im 35
2961: 38 neqbranch

00002962 <.LM217>:
2962: 75 loadsp 20
2963: a4 im 36
2964: 19 addsp 36
2965: 0c store

00002966 <.L153>:
2966: a4 im 36
2967: 18 addsp 32
2968: 08 load
2969: 51 storesp 4
296a: f0 im -16
296b: fd im -3
296c: 3f callpcrel

0000296d <.LM219>:
296d: 83 im 3
296e: e0 im -32
296f: 80 im 0
2970: 08 load
2971: 80 im 0
2972: 2e eq
2973: 81 im 1
2974: 8f im 15
2975: 38 neqbranch

00002976 <.LM220>:
2976: 83 im 3
2977: e0 im -32
2978: 80 im 0
2979: 08 load
297a: 15 addsp 20
297b: a8 im 40
297c: 19 addsp 36
297d: 0c store
297e: 98 im 24
297f: 18 addsp 32
2980: 08 load
2981: 57 storesp 28

00002982 <.L152>:
2982: 76 loadsp 24
2983: 83 im 3
2984: ff im -1
2985: 06 and
2986: 84 im 4
2987: 80 im 0
2988: 71 loadsp 4
2989: 31 sub
298a: 70 loadsp 0
298b: 83 im 3
298c: ff im -1
298d: ff im -1
298e: 06 and
298f: 58 storesp 32
2990: 51 storesp 4
2991: 55 storesp 20

00002992 <.LM222>:
2992: 78 loadsp 32
2993: 76 loadsp 24
2994: 27 ulessthanorequal
2995: 83 im 3
2996: 38 neqbranch
2997: 78 loadsp 32
2998: 56 storesp 24

00002999 <.L159>:
2999: 75 loadsp 20
299a: 54 storesp 16
299b: 98 im 24
299c: 18 addsp 32
299d: 08 load
299e: 83 im 3
299f: ff im -1
29a0: 06 and
29a1: 53 storesp 12
29a2: a8 im 40
29a3: 18 addsp 32
29a4: 08 load
29a5: 52 storesp 8
29a6: 79 loadsp 36
29a7: 55 storesp 20
29a8: 7b loadsp 44
29a9: 80 im 0
29aa: 2e eq
29ab: 80 im 0
29ac: d2 im -46
29ad: 38 neqbranch

000029ae <.L161>:
29ae: 74 loadsp 16
29af: 51 storesp 4
29b0: de im -34
29b1: cd im -51
29b2: 3f callpcrel

000029b3 <.LM224>:
29b3: 83 im 3
29b4: e0 im -32
29b5: 80 im 0
29b6: 08 load
29b7: 80 im 0
29b8: cb im -53
29b9: 38 neqbranch

000029ba <.LM225>:
29ba: 98 im 24
29bb: 18 addsp 32
29bc: 08 load
29bd: 16 addsp 24
29be: 70 loadsp 0
29bf: 58 storesp 32
29c0: 98 im 24
29c1: 19 addsp 36
29c2: 0c store
29c3: 75 loadsp 20
29c4: 1a addsp 40

000029c5 <.LM226>:
29c5: 79 loadsp 36
29c6: 77 loadsp 28
29c7: 31 sub
29c8: 70 loadsp 0
29c9: 83 im 3
29ca: ff im -1
29cb: ff im -1
29cc: 06 and
29cd: 7d loadsp 52
29ce: 22 loadh
29cf: 79 loadsp 36
29d0: 05 add
29d1: 52 storesp 8
29d2: 5b storesp 44
29d3: 56 storesp 24
29d4: 5a storesp 40
29d5: 74 loadsp 16
29d6: 7b loadsp 44
29d7: 23 storeh
29d8: 78 loadsp 32
29d9: fe im -2
29da: de im -34
29db: 38 neqbranch

000029dc <.L165>:
}

return FR_OK;
29dc: 80 im 0
29dd: 56 storesp 24

000029de <.L146>:

fr_abort:
fs->flag = 0;
return FR_DISK_ERR;
}
29de: 75 loadsp 20
29df: 83 im 3
29e0: e0 im -32
29e1: 80 im 0
29e2: 0c store
29e3: 8e im 14
29e4: 3d pushspadd
29e5: 0d popsp
29e6: 04 poppc

000029e7 <.L167>:
29e7: 74 loadsp 16
29e8: 83 im 3
29e9: ff im -1
29ea: ff im -1
29eb: 06 and
29ec: 59 storesp 36
29ed: fe im -2
29ee: c4 im -60
29ef: 39 poppcrel

000029f0 <.L154>:
29f0: a4 im 36
29f1: 18 addsp 32
29f2: 08 load
29f3: 51 storesp 4
29f4: ed im -19
29f5: a4 im 36
29f6: 3f callpcrel
29f7: 83 im 3
29f8: e0 im -32
29f9: 80 im 0
29fa: 08 load
29fb: 56 storesp 24
29fc: fe im -2
29fd: de im -34
29fe: 39 poppcrel

000029ff <.L168>:
29ff: 7b loadsp 44
2a00: 55 storesp 20
2a01: ff im -1
2a02: ab im 43
2a03: 39 poppcrel

00002a04 <.L157>:
2a04: 80 im 0
2a05: 0b nop
2a06: 81 im 1
2a07: 19 addsp 36
2a08: 34 storeb

00002a09 <.LM233>:
2a09: 81 im 1

00002a0a <.LM234>:
2a0a: 0b nop
2a0b: 83 im 3
2a0c: e0 im -32
2a0d: 80 im 0
2a0e: 0c store
2a0f: 8e im 14
2a10: 3d pushspadd
2a11: 0d popsp
2a12: 04 poppc

00002a13 <pf_lseek>:
#endif



/*-----------------------------------------------------------------------*/
/* Write File */
/*-----------------------------------------------------------------------*/
#if _USE_WRITE

FRESULT pf_write (
const void* buff, /* Pointer to the data to be written */
WORD btw, /* Number of bytes to write (0:Finalize the current write operation) */
WORD* bw /* Pointer to number of bytes written */
)
{
CLUST clst;
DWORD sect, remain;
const BYTE *p = buff;
BYTE cs;
WORD wcnt;
FATFS *fs = FatFs;


*bw = 0;
if (!fs) return FR_NOT_ENABLED; /* Check file system */
if (!(fs->flag & FA_OPENED)) /* Check if opened */
return FR_NOT_OPENED;

if (!btw) { /* Finalize request */
if ((fs->flag & FA__WIP) && disk_writep(0, 0)) goto fw_abort;
fs->flag &= ~FA__WIP;
return FR_OK;
} else { /* Write data request */
if (!(fs->flag & FA__WIP)) /* Round-down fptr to the sector boundary */
fs->fptr &= 0xFFFFFE00;
}
remain = fs->fsize - fs->fptr;
if (btw > remain) btw = (WORD)remain; /* Truncate btw by remaining bytes */

while (btw) { /* Repeat until all data transferred */
if (((WORD)fs->fptr % 512) == 0) { /* On the sector boundary? */
cs = (BYTE)(fs->fptr / 512 & (fs->csize - 1)); /* Sector offset in the cluster */
if (!cs) { /* On the cluster boundary? */
clst = (fs->fptr == 0) ? /* On the top of the file? */
fs->org_clust : get_fat(fs->curr_clust);
if (clst <= 1) goto fw_abort;
fs->curr_clust = clst; /* Update current cluster */
}
sect = clust2sect(fs->curr_clust); /* Get current sector */
if (!sect) goto fw_abort;
fs->dsect = sect + cs;
if (disk_writep(0, fs->dsect)) goto fw_abort; /* Initiate a sector write operation */
fs->flag |= FA__WIP;
}
wcnt = 512 - ((WORD)fs->fptr % 512); /* Number of bytes to write to the sector */
if (wcnt > btw) wcnt = btw;
if (disk_writep(p, wcnt)) goto fw_abort; /* Send data to the sector */
fs->fptr += wcnt; p += wcnt; /* Update pointers and counters */
btw -= wcnt; *bw += wcnt;
if (((WORD)fs->fptr % 512) == 0) {
if (disk_writep(0, 0)) goto fw_abort; /* Finalize the currtent secter write operation */
fs->flag &= ~FA__WIP;
}
}

return FR_OK;

fw_abort:
fs->flag = 0;
return FR_DISK_ERR;
}
#endif



/*-----------------------------------------------------------------------*/
/* Seek File R/W Pointer */
/*-----------------------------------------------------------------------*/
#if _USE_LSEEK

FRESULT pf_lseek (
DWORD ofs /* File pointer from top of file */
)
{
2a13: fa im -6
2a14: 3d pushspadd
2a15: 0d popsp
2a16: 78 loadsp 32

00002a17 <.LM236>:
CLUST clst;
DWORD bcs, sect, ifptr;
FATFS *fs = FatFs;
2a17: 83 im 3
2a18: e0 im -32
2a19: 90 im 16
2a1a: 08 load
2a1b: 55 storesp 20
2a1c: 55 storesp 20

00002a1d <.LM237>:


if (!fs) return FR_NOT_ENABLED; /* Check file system */
2a1d: 86 im 6
2a1e: 56 storesp 24
2a1f: 73 loadsp 12
2a20: 80 im 0
2a21: 2e eq
2a22: 81 im 1
2a23: cd im -51
2a24: 38 neqbranch

00002a25 <.LM238>:
if (!(fs->flag & FA_OPENED)) /* Check if opened */
2a25: 81 im 1
2a26: 14 addsp 16
2a27: 33 loadb
2a28: 81 im 1
2a29: 06 and
2a2a: 53 storesp 12

00002a2b <.LM239>:
return FR_NOT_OPENED;
2a2b: 85 im 5
2a2c: 56 storesp 24

00002a2d <.LM240>:
2a2d: 72 loadsp 8
2a2e: 80 im 0
2a2f: 2e eq
2a30: 81 im 1
2a31: bf im 63
2a32: 38 neqbranch

00002a33 <.LM241>:

if (ofs > fs->fsize) ofs = fs->fsize; /* Clip offset with the file size */
2a33: 9c im 28
2a34: 14 addsp 16
2a35: 08 load
2a36: 53 storesp 12
2a37: 74 loadsp 16
2a38: 73 loadsp 12
2a39: 26 ulessthan
2a3a: 81 im 1
2a3b: be im 62
2a3c: 38 neqbranch

00002a3d <.L173>:
ifptr = fs->fptr;
2a3d: 98 im 24
2a3e: 14 addsp 16
2a3f: 08 load
2a40: 57 storesp 28

00002a41 <.LM243>:
fs->fptr = 0;
2a41: 80 im 0
2a42: 0b nop
2a43: 98 im 24
2a44: 15 addsp 20
2a45: 0c store

00002a46 <.LM244>:
if (ofs > 0) {
2a46: 74 loadsp 16
2a47: 80 im 0
2a48: 2e eq
2a49: 81 im 1
2a4a: a4 im 36
2a4b: 38 neqbranch

00002a4c <.LM245>:
bcs = (DWORD)fs->csize * 512; /* Cluster size (byte) */
2a4c: 82 im 2
2a4d: 14 addsp 16
2a4e: 33 loadb
2a4f: 70 loadsp 0
2a50: 89 im 9
2a51: 2b ashiftleft
2a52: 57 storesp 28
2a53: 53 storesp 12

00002a54 <.LM246>:
if (ifptr > 0 &&
2a54: 76 loadsp 24
2a55: 80 im 0
2a56: 2e eq
2a57: 81 im 1
2a58: a6 im 38
2a59: 38 neqbranch
2a5a: 75 loadsp 20
2a5b: 52 storesp 8
2a5c: ff im -1
2a5d: 15 addsp 20
2a5e: 51 storesp 4
2a5f: 97 im 23
2a60: a1 im 33
2a61: 3f callpcrel
2a62: 83 im 3
2a63: e0 im -32
2a64: 80 im 0
2a65: 08 load
2a66: ff im -1
2a67: 18 addsp 32
2a68: 77 loadsp 28
2a69: 54 storesp 16
2a6a: 70 loadsp 0
2a6b: 53 storesp 12
2a6c: 58 storesp 32
2a6d: 53 storesp 12
2a6e: 97 im 23
2a6f: 92 im 18
2a70: 3f callpcrel
2a71: 83 im 3
2a72: e0 im -32
2a73: 80 im 0
2a74: 08 load
2a75: 73 loadsp 12
2a76: 26 ulessthan
2a77: 81 im 1
2a78: 86 im 6
2a79: 38 neqbranch

00002a7a <.LM247>:
(ofs - 1) / bcs >= (ifptr - 1) / bcs) { /* When seek to same or following cluster, */
fs->fptr = (ifptr - 1) & ~(bcs - 1); /* start from the current cluster */
2a7a: 75 loadsp 20
2a7b: 30 neg
2a7c: 70 loadsp 0
2a7d: 78 loadsp 32
2a7e: 06 and
2a7f: 70 loadsp 0
2a80: 98 im 24
2a81: 17 addsp 28
2a82: 0c store

00002a83 <.LM248>:
ofs -= fs->fptr;
2a83: 76 loadsp 24
2a84: 71 loadsp 4
2a85: 31 sub

00002a86 <.LM249>:
clst = fs->curr_clust;
2a86: a4 im 36
2a87: 17 addsp 28
2a88: 08 load
2a89: 52 storesp 8
2a8a: 57 storesp 28
2a8b: 51 storesp 4
2a8c: 53 storesp 12

00002a8d <.L176>:
} else { /* When seek to back cluster, */
clst = fs->org_clust; /* start from the first cluster */
fs->curr_clust = clst;
}
while (ofs > bcs) { /* Cluster following loop */
clst = get_fat(clst); /* Follow cluster chain */
if (clst <= 1 || clst >= fs->n_fatent) goto fe_abort;
fs->curr_clust = clst;
fs->fptr += bcs;
ofs -= bcs;
2a8d: 75 loadsp 20
2a8e: 75 loadsp 20
2a8f: 27 ulessthanorequal
2a90: b7 im 55
2a91: 38 neqbranch

00002a92 <.L188>:
2a92: 72 loadsp 8
2a93: 51 storesp 4
2a94: ec im -20
2a95: 84 im 4
2a96: 3f callpcrel
2a97: 83 im 3
2a98: e0 im -32
2a99: 80 im 0
2a9a: 08 load
2a9b: 53 storesp 12

00002a9c <.LM252>:
2a9c: 81 im 1
2a9d: 0b nop
2a9e: 83 im 3
2a9f: e0 im -32
2aa0: 80 im 0
2aa1: 08 load
2aa2: 27 ulessthanorequal
2aa3: 80 im 0
2aa4: e5 im -27
2aa5: 38 neqbranch
2aa6: 83 im 3
2aa7: e0 im -32
2aa8: 80 im 0
2aa9: 08 load
2aaa: 88 im 8
2aab: 15 addsp 20
2aac: 08 load
2aad: 27 ulessthanorequal
2aae: 80 im 0
2aaf: da im -38
2ab0: 38 neqbranch

00002ab1 <.LM253>:
2ab1: 83 im 3
2ab2: e0 im -32
2ab3: 80 im 0
2ab4: 08 load
2ab5: a4 im 36
2ab6: 15 addsp 20
2ab7: 0c store

00002ab8 <.LM254>:
2ab8: 98 im 24
2ab9: 14 addsp 16
2aba: 08 load
2abb: 16 addsp 24
2abc: 98 im 24
2abd: 15 addsp 20
2abe: 0c store

00002abf <.LM255>:
2abf: 74 loadsp 16
2ac0: 76 loadsp 24
2ac1: 31 sub
2ac2: 55 storesp 20
2ac3: 74 loadsp 16
2ac4: 76 loadsp 24
2ac5: 26 ulessthan
2ac6: cb im -53
2ac7: 38 neqbranch

00002ac8 <.L185>:
}
fs->fptr += ofs;
2ac8: 98 im 24
2ac9: 14 addsp 16
2aca: 08 load
2acb: 15 addsp 20
2acc: 70 loadsp 0
2acd: 98 im 24
2ace: 16 addsp 24
2acf: 0c store

00002ad0 <.LM257>:
sect = clust2sect(clst); /* Current sector */
2ad0: 73 loadsp 12
2ad1: 52 storesp 8
2ad2: 56 storesp 24
2ad3: ee im -18
2ad4: 94 im 20
2ad5: 3f callpcrel

00002ad6 <.LM258>:
if (!sect) goto fe_abort;
2ad6: 83 im 3
2ad7: e0 im -32
2ad8: 80 im 0
2ad9: 08 load
2ada: 80 im 0
2adb: 2e eq
2adc: ad im 45
2add: 38 neqbranch

00002ade <.LM259>:
fs->dsect = sect + (fs->fptr / 512 & (fs->csize - 1));
2ade: 82 im 2
2adf: 14 addsp 16
2ae0: 33 loadb
2ae1: ff im -1
2ae2: 05 add
2ae3: 76 loadsp 24
2ae4: 89 im 9
2ae5: 2a lshiftright
2ae6: 06 and
2ae7: 83 im 3
2ae8: e0 im -32
2ae9: 80 im 0
2aea: 08 load
2aeb: 05 add
2aec: a8 im 40
2aed: 15 addsp 20
2aee: 0c store

00002aef <.L174>:
}

return FR_OK;
2aef: 80 im 0
2af0: 56 storesp 24

00002af1 <.L170>:

fe_abort:
fs->flag = 0;
return FR_DISK_ERR;
}
2af1: 75 loadsp 20
2af2: 83 im 3
2af3: e0 im -32
2af4: 80 im 0
2af5: 0c store
2af6: 88 im 8
2af7: 3d pushspadd
2af8: 0d popsp
2af9: 04 poppc

00002afa <.L187>:
2afa: 72 loadsp 8
2afb: 55 storesp 20
2afc: fe im -2
2afd: bf im 63
2afe: 39 poppcrel

00002aff <.L175>:
2aff: a0 im 32
2b00: 14 addsp 16
2b01: 08 load

00002b02 <.LM264>:
2b02: 70 loadsp 0
2b03: a4 im 36
2b04: 16 addsp 24
2b05: 0c store
2b06: 53 storesp 12
2b07: ff im -1
2b08: 84 im 4
2b09: 39 poppcrel

00002b0a <.L181>:
2b0a: 80 im 0
2b0b: 0b nop
2b0c: 81 im 1
2b0d: 15 addsp 20
2b0e: 34 storeb

00002b0f <.LM266>:
2b0f: 81 im 1

00002b10 <.LM267>:
2b10: 0b nop
2b11: 83 im 3
2b12: e0 im -32
2b13: 80 im 0
2b14: 0c store
2b15: 88 im 8
2b16: 3d pushspadd
2b17: 0d popsp
2b18: 04 poppc

00002b19 <pf_opendir>:
#endif



/*-----------------------------------------------------------------------*/
/* Create a Directroy Object */
/*-----------------------------------------------------------------------*/
#if _USE_DIR

FRESULT pf_opendir (
DIR *dj, /* Pointer to directory object to create */
const char *path /* Pointer to the directory path */
)
{
2b19: ee im -18
2b1a: 3d pushspadd
2b1b: 0d popsp
2b1c: 64 loadsp 80
2b1d: 56 storesp 24

00002b1e <.LM269>:
FRESULT res;
BYTE sp[12], dir[32];
FATFS *fs = FatFs;


if (!fs) { /* Check file system */
res = FR_NOT_ENABLED;
2b1e: 86 im 6
2b1f: 55 storesp 20

00002b20 <.LM270>:
2b20: 83 im 3
2b21: e0 im -32
2b22: 90 im 16
2b23: 08 load
2b24: 80 im 0
2b25: 2e eq
2b26: 80 im 0
2b27: f1 im -15
2b28: 38 neqbranch

00002b29 <.LM271>:
} else {
dj->fn = sp;
2b29: 94 im 20
2b2a: 3d pushspadd
2b2b: f4 im -12
2b2c: 11 addsp 4
2b2d: 84 im 4
2b2e: 18 addsp 32
2b2f: 0c store

00002b30 <.LM272>:
res = follow_path(dj, dir, path); /* Follow the path to the directory */
2b30: 66 loadsp 88
2b31: 54 storesp 16
2b32: d4 im -44
2b33: 05 add
2b34: 52 storesp 8
2b35: 75 loadsp 20
2b36: 51 storesp 4
2b37: ef im -17
2b38: e0 im -32
2b39: 3f callpcrel
2b3a: 83 im 3
2b3b: e0 im -32
2b3c: 80 im 0
2b3d: 08 load
2b3e: 55 storesp 20

00002b3f <.LM273>:
if (res == FR_OK) { /* Follow completed */
2b3f: 83 im 3
2b40: e0 im -32
2b41: 80 im 0
2b42: 08 load
2b43: 80 im 0
2b44: cf im -49
2b45: 38 neqbranch

00002b46 <.LM274>:
if (dir[0]) { /* It is not the root dir */
2b46: 89 im 9
2b47: 3d pushspadd
2b48: 33 loadb
2b49: 54 storesp 16
2b4a: 73 loadsp 12
2b4b: 80 im 0
2b4c: 2e eq
2b4d: bc im 60
2b4e: 38 neqbranch

00002b4f <.LM275>:
if (dir[DIR_Attr] & AM_DIR) /* The object is a directory */
2b4f: 02 pushsp
2b50: ab im 43
2b51: 05 add
2b52: 33 loadb
2b53: 70 loadsp 0
2b54: 84 im 4
2b55: 2a lshiftright
2b56: 70 loadsp 0
2b57: 81 im 1
2b58: 06 and
2b59: 51 storesp 4
2b5a: 55 storesp 20
2b5b: 55 storesp 20

00002b5c <.LM276>:
dj->sclust = LD_CLUST(dir);
else /* The object is not a directory */
res = FR_NO_PATH;
2b5c: 84 im 4
2b5d: 55 storesp 20

00002b5e <.LM277>:
2b5e: 73 loadsp 12
2b5f: 80 im 0
2b60: 2e eq
2b61: b7 im 55
2b62: 38 neqbranch

00002b63 <.LM278>:
2b63: 02 pushsp
2b64: b5 im 53
2b65: 05 add
2b66: 33 loadb
2b67: 8f im 15
2b68: 3d pushspadd
2b69: 33 loadb
2b6a: 71 loadsp 4
2b6b: 98 im 24
2b6c: 2b ashiftleft
2b6d: 71 loadsp 4
2b6e: 90 im 16
2b6f: 2b ashiftleft
2b70: 07 or
2b71: 02 pushsp
2b72: 8c im 12
2b73: 05 add
2b74: bb im 59
2b75: 05 add
2b76: 33 loadb
2b77: 02 pushsp
2b78: 90 im 16
2b79: 05 add
2b7a: ba im 58
2b7b: 05 add
2b7c: 33 loadb
2b7d: 71 loadsp 4
2b7e: 88 im 8
2b7f: 2b ashiftleft
2b80: 07 or
2b81: 72 loadsp 8
2b82: 07 or
2b83: 88 im 8
2b84: 1b addsp 44
2b85: 0c store
2b86: 53 storesp 12
2b87: 57 storesp 28
2b88: 59 storesp 36
2b89: 57 storesp 28

00002b8a <.L198>:
}
if (res == FR_OK)
res = dir_rewind(dj); /* Rewind dir */
2b8a: 75 loadsp 20
2b8b: 51 storesp 4
2b8c: ed im -19
2b8d: 88 im 8
2b8e: 3f callpcrel
2b8f: 83 im 3
2b90: e0 im -32
2b91: 80 im 0
2b92: 08 load
2b93: 55 storesp 20

00002b94 <.L192>:
}
if (res == FR_NO_FILE) res = FR_NO_PATH;
2b94: 74 loadsp 16
2b95: 83 im 3
2b96: 2e eq
2b97: 8a im 10
2b98: 38 neqbranch

00002b99 <.L191>:
}

return res;
}
2b99: 74 loadsp 16
2b9a: 83 im 3
2b9b: e0 im -32
2b9c: 80 im 0
2b9d: 0c store
2b9e: 94 im 20
2b9f: 3d pushspadd
2ba0: 0d popsp
2ba1: 04 poppc

00002ba2 <.L200>:
2ba2: 84 im 4

00002ba3 <.LM283>:
2ba3: 0b nop
2ba4: 83 im 3
2ba5: e0 im -32
2ba6: 80 im 0
2ba7: 0c store
2ba8: 94 im 20
2ba9: 3d pushspadd
2baa: 0d popsp
2bab: 04 poppc

00002bac <pf_readdir>:




/*-----------------------------------------------------------------------*/
/* Read Directory Entry in Sequense */
/*-----------------------------------------------------------------------*/

FRESULT pf_readdir (
DIR *dj, /* Pointer to the open directory object */
FILINFO *fno /* Pointer to file information to return */
)
{
2bac: eb im -21
2bad: 3d pushspadd
2bae: 0d popsp
2baf: 67 loadsp 92
2bb0: 69 loadsp 100
2bb1: 5b storesp 44
2bb2: 59 storesp 36

00002bb3 <.LM285>:
FRESULT res;
BYTE sp[12], dir[32];
FATFS *fs = FatFs;


if (!fs) { /* Check file system */
res = FR_NOT_ENABLED;
2bb3: 86 im 6
2bb4: 55 storesp 20

00002bb5 <.LM286>:
2bb5: 83 im 3
2bb6: e0 im -32
2bb7: 90 im 16
2bb8: 08 load
2bb9: 80 im 0
2bba: 2e eq
2bbb: 81 im 1
2bbc: f1 im -15
2bbd: 38 neqbranch

00002bbe <.LM287>:
} else {
dj->fn = sp;
2bbe: 97 im 23
2bbf: 3d pushspadd
2bc0: f4 im -12
2bc1: 05 add
2bc2: 84 im 4
2bc3: 1a addsp 40
2bc4: 0c store

00002bc5 <.LM288>:
if (!fno) {
2bc5: 79 loadsp 36
2bc6: 80 im 0
2bc7: 2e eq
2bc8: 83 im 3
2bc9: 84 im 4
2bca: 38 neqbranch

00002bcb <.LBB24>:
2bcb: 8c im 12
2bcc: 3d pushspadd
2bcd: 58 storesp 32

00002bce <.LM290>:
2bce: 83 im 3
2bcf: 55 storesp 20

00002bd0 <.LM291>:
2bd0: 90 im 16
2bd1: 19 addsp 36
2bd2: 08 load
2bd3: 81 im 1
2bd4: fb im -5
2bd5: 38 neqbranch

00002bd6 <.L240>:
2bd6: 80 im 0
2bd7: 0b nop
2bd8: 90 im 16
2bd9: 1a addsp 40
2bda: 0c store

00002bdb <.L216>:
res = dir_rewind(dj);
} else {
res = dir_read(dj, dir);
if (res == FR_NO_FILE) {
2bdb: 74 loadsp 16
2bdc: 83 im 3
2bdd: 2e eq
2bde: 82 im 2
2bdf: e6 im -26
2be0: 38 neqbranch

00002be1 <.LM294>:
dj->sect = 0;
res = FR_OK;
}
if (res == FR_OK) { /* A valid entry is found */
2be1: 74 loadsp 16
2be2: 81 im 1
2be3: ca im -54
2be4: 38 neqbranch

00002be5 <.L241>:
2be5: 89 im 9
2be6: 1a addsp 40
2be7: 57 storesp 28

00002be8 <.LM296>:
2be8: 90 im 16
2be9: 19 addsp 36
2bea: 08 load
2beb: 80 im 0
2bec: 2e eq
2bed: 81 im 1
2bee: a0 im 32
2bef: 38 neqbranch

00002bf0 <.LM297>:
2bf0: 80 im 0
2bf1: 56 storesp 24

00002bf2 <.L226>:
2bf2: 77 loadsp 28
2bf3: 16 addsp 24
2bf4: 70 loadsp 0
2bf5: 33 loadb
2bf6: 51 storesp 4
2bf7: 55 storesp 20

00002bf8 <.LM299>:
2bf8: 74 loadsp 16
2bf9: a0 im 32
2bfa: 2e eq
2bfb: 9b im 27
2bfc: 38 neqbranch

00002bfd <.LM300>:
2bfd: 74 loadsp 16
2bfe: 85 im 5
2bff: 2e eq
2c00: 82 im 2
2c01: a9 im 41
2c02: 38 neqbranch

00002c03 <.LM301>:
2c03: 74 loadsp 16
2c04: 77 loadsp 28
2c05: 70 loadsp 0
2c06: 81 im 1
2c07: 05 add
2c08: 59 storesp 36
2c09: 34 storeb

00002c0a <.LM302>:
2c0a: 81 im 1
2c0b: 16 addsp 24
2c0c: 70 loadsp 0
2c0d: 81 im 1
2c0e: ff im -1
2c0f: 06 and
2c10: 57 storesp 28
2c11: 55 storesp 20
2c12: 87 im 7
2c13: 76 loadsp 24
2c14: 27 ulessthanorequal
2c15: dc im -36
2c16: 38 neqbranch

00002c17 <.L222>:
2c17: 88 im 8
2c18: 18 addsp 32
2c19: 33 loadb
2c1a: 55 storesp 20
2c1b: 74 loadsp 16
2c1c: a0 im 32
2c1d: 2e eq
2c1e: a9 im 41
2c1f: 38 neqbranch

00002c20 <.LM304>:
2c20: ae im 46
2c21: 77 loadsp 28
2c22: 70 loadsp 0
2c23: 81 im 1
2c24: 05 add
2c25: 59 storesp 36
2c26: 34 storeb

00002c27 <.LM305>:
2c27: 88 im 8
2c28: 56 storesp 24

00002c29 <.L232>:
2c29: 77 loadsp 28
2c2a: 16 addsp 24
2c2b: 70 loadsp 0
2c2c: 33 loadb
2c2d: 51 storesp 4
2c2e: 55 storesp 20

00002c2f <.LM307>:
2c2f: 74 loadsp 16
2c30: a0 im 32
2c31: 2e eq
2c32: 95 im 21
2c33: 38 neqbranch

00002c34 <.LM308>:
2c34: 74 loadsp 16
2c35: 77 loadsp 28
2c36: 70 loadsp 0
2c37: 81 im 1
2c38: 05 add
2c39: 59 storesp 36
2c3a: 34 storeb

00002c3b <.LM309>:
2c3b: 81 im 1
2c3c: 16 addsp 24
2c3d: 70 loadsp 0
2c3e: 81 im 1
2c3f: ff im -1
2c40: 06 and
2c41: 57 storesp 28
2c42: 55 storesp 20
2c43: 8a im 10
2c44: 76 loadsp 24
2c45: 27 ulessthanorequal
2c46: e2 im -30
2c47: 38 neqbranch

00002c48 <.L227>:
2c48: 8b im 11
2c49: 18 addsp 32
2c4a: 33 loadb
2c4b: 88 im 8
2c4c: 1b addsp 44
2c4d: 34 storeb

00002c4e <.LM311>:
2c4e: 9f im 31
2c4f: 18 addsp 32
2c50: 33 loadb
2c51: 9e im 30
2c52: 19 addsp 36
2c53: 33 loadb
2c54: 71 loadsp 4
2c55: 98 im 24
2c56: 2b ashiftleft
2c57: 71 loadsp 4
2c58: 90 im 16
2c59: 2b ashiftleft
2c5a: 07 or
2c5b: 9d im 29
2c5c: 1b addsp 44
2c5d: 33 loadb
2c5e: 70 loadsp 0
2c5f: 88 im 8
2c60: 2b ashiftleft
2c61: 72 loadsp 8
2c62: 07 or
2c63: 9c im 28
2c64: 1d addsp 52
2c65: 33 loadb
2c66: 71 loadsp 4
2c67: 07 or
2c68: 7f loadsp 60
2c69: 0c store
2c6a: 52 storesp 8

00002c6b <.LM312>:
2c6b: 99 im 25
2c6c: 1c addsp 48
2c6d: 33 loadb
2c6e: 98 im 24
2c6f: 1d addsp 52
2c70: 33 loadb
2c71: 71 loadsp 4
2c72: 88 im 8
2c73: 2b ashiftleft
2c74: 07 or
2c75: 53 storesp 12
2c76: 51 storesp 4
2c77: 53 storesp 12
2c78: 57 storesp 28
2c79: 5c storesp 48
2c7a: 56 storesp 24
2c7b: 74 loadsp 16
2c7c: 84 im 4
2c7d: 1b addsp 44
2c7e: 23 storeh

00002c7f <.LM313>:
2c7f: 97 im 23
2c80: 18 addsp 32
2c81: 33 loadb
2c82: 96 im 22
2c83: 19 addsp 36
2c84: 33 loadb
2c85: 71 loadsp 4
2c86: 88 im 8
2c87: 2b ashiftleft
2c88: 07 or
2c89: 56 storesp 24
2c8a: 56 storesp 24
2c8b: 74 loadsp 16
2c8c: 86 im 6
2c8d: 1b addsp 44
2c8e: 23 storeh

00002c8f <.L220>:
2c8f: 80 im 0
2c90: 77 loadsp 28
2c91: 34 storeb

00002c92 <.LBE26>:
get_fileinfo(dj, dir, fno); /* Get the object information */
res = dir_next(dj); /* Increment index for next */
2c92: 78 loadsp 32
2c93: 51 storesp 4
2c94: eb im -21
2c95: e3 im -29
2c96: 3f callpcrel
2c97: 83 im 3
2c98: e0 im -32
2c99: 80 im 0
2c9a: 08 load
2c9b: 55 storesp 20

00002c9c <.LM316>:
if (res == FR_NO_FILE) {
2c9c: 83 im 3
2c9d: e0 im -32
2c9e: 80 im 0
2c9f: 08 load
2ca0: 83 im 3
2ca1: 2e eq
2ca2: 09 not
2ca3: 81 im 1
2ca4: 06 and
2ca5: 88 im 8
2ca6: 38 neqbranch

00002ca7 <.LM317>:
dj->sect = 0;
2ca7: 80 im 0
2ca8: 0b nop
2ca9: 90 im 16
2caa: 1a addsp 40
2cab: 0c store

00002cac <.LM318>:
res = FR_OK;
2cac: 80 im 0
2cad: 55 storesp 20

00002cae <.L203>:
}
}
}
}

return res;
}
2cae: 74 loadsp 16
2caf: 83 im 3
2cb0: e0 im -32
2cb1: 80 im 0
2cb2: 0c store
2cb3: 97 im 23
2cb4: 3d pushspadd
2cb5: 0d popsp
2cb6: 04 poppc

00002cb7 <.L211>:
2cb7: 78 loadsp 32
2cb8: 51 storesp 4
2cb9: eb im -21
2cba: be im 62
2cbb: 3f callpcrel
2cbc: 83 im 3
2cbd: e0 im -32
2cbe: 80 im 0
2cbf: 08 load
2cc0: 55 storesp 20

00002cc1 <.LM321>:
2cc1: 83 im 3
2cc2: e0 im -32
2cc3: 80 im 0
2cc4: 08 load
2cc5: fe im -2
2cc6: 8f im 15
2cc7: 38 neqbranch
2cc8: 90 im 16
2cc9: 19 addsp 36
2cca: 08 load
2ccb: 80 im 0
2ccc: 2e eq
2ccd: fe im -2
2cce: 8c im 12
2ccf: 38 neqbranch

00002cd0 <.L215>:
2cd0: a0 im 32
2cd1: 54 storesp 16
2cd2: 78 loadsp 32
2cd3: 22 loadh
2cd4: 70 loadsp 0
2cd5: 85 im 5
2cd6: 2b ashiftleft
2cd7: 83 im 3
2cd8: e0 im -32
2cd9: 06 and
2cda: 54 storesp 16
2cdb: 56 storesp 24
2cdc: 90 im 16
2cdd: 19 addsp 36
2cde: 08 load
2cdf: 52 storesp 8
2ce0: 77 loadsp 28
2ce1: 51 storesp 4
2ce2: d8 im -40
2ce3: 9b im 27
2ce4: 3f callpcrel
2ce5: 83 im 3
2ce6: e0 im -32
2ce7: 80 im 0
2ce8: 08 load
2ce9: 80 im 0
2cea: f4 im -12
2ceb: 38 neqbranch

00002cec <.LM323>:
2cec: 77 loadsp 28
2ced: 33 loadb
2cee: 56 storesp 24

00002cef <.LM324>:
2cef: 75 loadsp 20
2cf0: 80 im 0
2cf1: 2e eq
2cf2: 80 im 0
2cf3: f5 im -11
2cf4: 38 neqbranch

00002cf5 <.LM325>:
2cf5: 8b im 11
2cf6: 18 addsp 32
2cf7: 33 loadb
2cf8: bf im 63
2cf9: 06 and

00002cfa <.LM326>:
2cfa: 76 loadsp 24
2cfb: 81 im 1
2cfc: e5 im -27
2cfd: 32 xor
2cfe: 70 loadsp 0
2cff: 30 neg
2d00: 70 loadsp 0
2d01: 9f im 31
2d02: 2a lshiftright
2d03: 51 storesp 4
2d04: 51 storesp 4
2d05: 56 storesp 24
2d06: 57 storesp 28
2d07: 75 loadsp 20
2d08: ae im 46
2d09: 2e eq
2d0a: ff im -1
2d0b: ab im 43
2d0c: 38 neqbranch
2d0d: 74 loadsp 16
2d0e: 80 im 0
2d0f: 2e eq
2d10: ff im -1
2d11: a5 im 37
2d12: 38 neqbranch
2d13: 76 loadsp 24
2d14: 83 im 3
2d15: 2a lshiftright
2d16: 70 loadsp 0
2d17: 81 im 1
2d18: 06 and
2d19: 51 storesp 4
2d1a: 55 storesp 20
2d1b: 74 loadsp 16
2d1c: ff im -1
2d1d: 99 im 25
2d1e: 38 neqbranch
2d1f: 83 im 3
2d20: e0 im -32
2d21: 80 im 0
2d22: 08 load
2d23: 55 storesp 20

00002d24 <.LM327>:
2d24: 74 loadsp 16
2d25: ff im -1
2d26: 87 im 7
2d27: 38 neqbranch
2d28: fd im -3
2d29: bb im 59
2d2a: 39 poppcrel

00002d2b <.L247>:
2d2b: 81 im 1
2d2c: e5 im -27
2d2d: 55 storesp 20

00002d2e <.LM329>:
2d2e: 74 loadsp 16
2d2f: 77 loadsp 28
2d30: 70 loadsp 0
2d31: 81 im 1
2d32: 05 add
2d33: 59 storesp 36
2d34: 34 storeb

00002d35 <.LM330>:
2d35: 81 im 1
2d36: 16 addsp 24
2d37: 70 loadsp 0
2d38: 81 im 1
2d39: ff im -1
2d3a: 06 and
2d3b: 57 storesp 28
2d3c: 55 storesp 20
2d3d: 87 im 7
2d3e: 76 loadsp 24
2d3f: 27 ulessthanorequal
2d40: fd im -3
2d41: b0 im 48
2d42: 38 neqbranch
2d43: fd im -3
2d44: d2 im -46
2d45: 39 poppcrel

00002d46 <.L246>:
2d46: 80 im 0
2d47: 0b nop
2d48: 90 im 16
2d49: 1a addsp 40
2d4a: 0c store
2d4b: fd im -3
2d4c: 98 im 24
2d4d: 39 poppcrel

00002d4e <.L245>:
2d4e: 78 loadsp 32
2d4f: 51 storesp 4
2d50: e9 im -23
2d51: c4 im -60
2d52: 3f callpcrel
2d53: 83 im 3
2d54: e0 im -32
2d55: 80 im 0
2d56: 08 load

00002d57 <.LM333>:
2d57: 83 im 3
2d58: e0 im -32
2d59: 80 im 0
2d5a: 0c store
2d5b: 97 im 23
2d5c: 3d pushspadd
2d5d: 0d popsp
2d5e: 04 poppc

00002d5f <.L238>:
2d5f: 81 im 1
2d60: 55 storesp 20

00002d61 <.LM335>:
2d61: 80 im 0
2d62: 0b nop
2d63: 90 im 16
2d64: 1a addsp 40
2d65: 0c store
2d66: fc im -4
2d67: f3 im -13
2d68: 39 poppcrel

00002d69 <.L239>:
2d69: 83 im 3
2d6a: 55 storesp 20

00002d6b <.LM337>:
2d6b: 80 im 0
2d6c: 0b nop
2d6d: 90 im 16
2d6e: 1a addsp 40
2d6f: 0c store
2d70: fc im -4
2d71: e9 im -23
2d72: 39 poppcrel

00002d73 <mmcInit>:
#include "mmcconf.h"
#include "debug.h"

void mmcInit(void)
{
2d73: 80 im 0
2d74: 3d pushspadd
2d75: 0d popsp

00002d76 <.LM2>:
// initialize SPI interface
spiInit();
2d76: 85 im 5
2d77: db im -37
2d78: 3f callpcrel

00002d79 <.LM3>:
// release chip select
mmcChipSelect(0);
2d79: 80 im 0
2d7a: 51 storesp 4
2d7b: 85 im 5
2d7c: f0 im -16
2d7d: 3f callpcrel
2d7e: 82 im 2
2d7f: 3d pushspadd
2d80: 0d popsp
2d81: 04 poppc

00002d82 <mmcReadLoop>:
}

u08 mmcReset(void)
{
u16 retry;
u08 r1;
u08 i;
u08 sdcard;

//
i=0xff; //255x
do { spiTransferFF(); i--; } while(i); //255x

//
r1 = mmcSendCommand(MMC_GO_IDLE_STATE, 0);
if (r1!=1) return -1;

retry=0xffff; //65535x
do
{
r1 = mmcSendCommand(55, 0);
if (r1!=1) break; //MMC
//if (r1==5) break; //MMC <--- kontrolovat takhle rekl Bob 27.6.2008
//Strana 120 ve specifikaci.
//bit 0 - in idle state, bit 2 - illegal command

r1 = mmcSendCommand(41, 0);
if (r1==0) break; //SD

retry--;
}
while(retry);

// initializing card for operation
r1 = mmcSendCommand(MMC_SEND_OP_COND, 0);
// SDkarty vraceji 0
// MMCkarta vraci 1
//if (r1>=2) return -1; //problem (MMC taky nefunguje)
if (r1!=0) return -1;

//kdyz jsem to tady nechal jit s MMC kartou dal (s r1=1)
//tak to na nekterem z dalsich povelu zustalo zasekle
//a po vytazeni MMC a vlozeni jine SD se muset mackat Reset :-(

/*
if( r1!=0 && r1!=5)
{
u08 v;
v=inb(PINC)&0xf0;
v|=(0x0f ^ (r1 & 0x0f) );
PORTC=v;
while(1); //nekonecna smycka
return -1;
}
*/

// turn off CRC checking to simplify communication
//r1 =
mmcSendCommand(MMC_CRC_ON_OFF, 0);

// set block length to 512 bytes
//r1 =
mmcSendCommand(MMC_SET_BLOCKLEN, 512);

// return success
return 0;
}

u08 mmcSendCommand(u08 cmd, u32 arg)
{
u08 r1;

// assert chip select
mmcChipSelect(1);
//
//spiTransferFF(); //pribude 34 bajtu kodu (!)
// issue the command
r1 = mmcCommand(cmd, arg);
//
//spiTransferFF();
// release chip select
mmcChipSelect(0);

return r1;
}

unsigned char mmc_sector_buffer[512];

void mmcReadLoop()
{
2d82: ff im -1
2d83: 3d pushspadd
2d84: 0d popsp

00002d85 <.LM5>:
u16 i;
u08 *buffer=mmc_sector_buffer; //natvrdo!
2d85: 83 im 3
2d86: e3 im -29
2d87: e8 im -24
2d88: 52 storesp 8

00002d89 <.LM6>:

i=0x80; //512
2d89: 81 im 1
2d8a: 80 im 0
2d8b: 51 storesp 4

00002d8c <.L3>:
do { *buffer++ = spiTransferFF(); i--; } while(i);
2d8c: 86 im 6
2d8d: d0 im -48
2d8e: 3f callpcrel
2d8f: 83 im 3
2d90: e0 im -32
2d91: 80 im 0
2d92: 08 load
2d93: 72 loadsp 8
2d94: 70 loadsp 0
2d95: 81 im 1
2d96: 05 add
2d97: 54 storesp 16
2d98: 34 storeb
2d99: ff im -1
2d9a: 11 addsp 4
2d9b: 70 loadsp 0
2d9c: 83 im 3
2d9d: ff im -1
2d9e: ff im -1
2d9f: 06 and
2da0: 51 storesp 4
2da1: 51 storesp 4
2da2: 70 loadsp 0
2da3: e8 im -24
2da4: 38 neqbranch

00002da5 <.LM8>:

//spiDisplay(1);
i=0x80; //512
2da5: 81 im 1
2da6: 80 im 0
2da7: 51 storesp 4

00002da8 <.L6>:
do { *buffer++ = spiTransferFF(); i--; } while(i);
2da8: 86 im 6
2da9: b4 im 52
2daa: 3f callpcrel
2dab: 83 im 3
2dac: e0 im -32
2dad: 80 im 0
2dae: 08 load
2daf: 72 loadsp 8
2db0: 70 loadsp 0
2db1: 81 im 1
2db2: 05 add
2db3: 54 storesp 16
2db4: 34 storeb
2db5: ff im -1
2db6: 11 addsp 4
2db7: 70 loadsp 0
2db8: 83 im 3
2db9: ff im -1
2dba: ff im -1
2dbb: 06 and
2dbc: 51 storesp 4
2dbd: 51 storesp 4
2dbe: 70 loadsp 0
2dbf: e8 im -24
2dc0: 38 neqbranch

00002dc1 <.LM10>:

i=0x80; //512
2dc1: 81 im 1
2dc2: 80 im 0
2dc3: 51 storesp 4

00002dc4 <.L9>:
do { *buffer++ = spiTransferFF(); i--; } while(i);
2dc4: 86 im 6
2dc5: 98 im 24
2dc6: 3f callpcrel
2dc7: 83 im 3
2dc8: e0 im -32
2dc9: 80 im 0
2dca: 08 load
2dcb: 72 loadsp 8
2dcc: 70 loadsp 0
2dcd: 81 im 1
2dce: 05 add
2dcf: 54 storesp 16
2dd0: 34 storeb
2dd1: ff im -1
2dd2: 11 addsp 4
2dd3: 70 loadsp 0
2dd4: 83 im 3
2dd5: ff im -1
2dd6: ff im -1
2dd7: 06 and
2dd8: 51 storesp 4
2dd9: 51 storesp 4
2dda: 70 loadsp 0
2ddb: e8 im -24
2ddc: 38 neqbranch

00002ddd <.LM12>:

i=0x80; //512
2ddd: 81 im 1
2dde: 80 im 0
2ddf: 51 storesp 4

00002de0 <.L12>:
do { *buffer++ = spiTransferFF(); i--; } while(i);
2de0: 85 im 5
2de1: fc im -4
2de2: 3f callpcrel
2de3: 83 im 3
2de4: e0 im -32
2de5: 80 im 0
2de6: 08 load
2de7: 72 loadsp 8
2de8: 70 loadsp 0
2de9: 81 im 1
2dea: 05 add
2deb: 54 storesp 16
2dec: 34 storeb
2ded: ff im -1
2dee: 11 addsp 4
2def: 70 loadsp 0
2df0: 83 im 3
2df1: ff im -1
2df2: ff im -1
2df3: 06 and
2df4: 51 storesp 4
2df5: 51 storesp 4
2df6: 70 loadsp 0
2df7: e8 im -24
2df8: 38 neqbranch
2df9: 83 im 3
2dfa: 3d pushspadd
2dfb: 0d popsp
2dfc: 04 poppc

00002dfd <mmcCommand>:

//spiDisplay(0);

}

u08 mmcRead(u32 sector)
{
u08 r1;

// assert chip select
mmcChipSelect(1);
// issue command
r1 = mmcCommand(MMC_READ_SINGLE_BLOCK, sector<<9);

// check for valid response
if(r1 != 0x00) return r1;

// wait for block start
while(spiTransferFF() != MMC_STARTBLOCK_READ);

//zacatek bloku

//nacti 512 bytu
mmcReadLoop();

// read 16-bit CRC
//2x FF:
spiTransferFF();
spiTransferFF();
//// + 1x FF navic pred releasnutim chip selectu
//spiTransferFF();
//
// release chip select
mmcChipSelect(0);

//debug("Hexdump\n");
//hexdump(mmc_sector_buffer,80);

//
return 0; //success
}

u08 mmcWrite(u32 sector)
{
u08 r1;
u16 i;
u08 *buffer=mmc_sector_buffer; //natvrdo!

// assert chip select
mmcChipSelect(1);
// issue command
r1 = mmcCommand(MMC_WRITE_BLOCK, sector<<9);
// check for valid response
if(r1 != 0x00)
return r1;
// send dummy
spiTransferFF();
// send data start token
spiTransferByte(MMC_STARTBLOCK_WRITE);

// write data (512 bytes)
i=0x200;
do { spiTransferByte(*buffer++); i--; } while(i);

// write 16-bit CRC (dummy values)
//2x FF:
spiTransferFF();
spiTransferFF();
// read data response token
r1 = spiTransferFF();
if( (r1&MMC_DR_MASK) != MMC_DR_ACCEPT)
return r1;
// wait until card not busy
while(!spiTransferFF());
// release chip select
mmcChipSelect(0);
// return success
return 0;
}

u08 mmcCommand(u08 cmd, u32 arg)
{
2dfd: fd im -3
2dfe: 3d pushspadd
2dff: 0d popsp
2e00: 76 loadsp 24
2e01: 02 pushsp
2e02: 84 im 4
2e03: 05 add
2e04: 97 im 23
2e05: 05 add
2e06: 33 loadb
2e07: 53 storesp 12
2e08: 53 storesp 12

00002e09 <.LM15>:
u08 r1;
u08 retry=0xff; //255x
2e09: 81 im 1
2e0a: ff im -1
2e0b: 54 storesp 16

00002e0c <.LM16>:
//

spiTransferFF();
2e0c: 85 im 5
2e0d: d0 im -48
2e0e: 3f callpcrel

00002e0f <.LM17>:

spiTransferFF(); //pridano navic! 27.6.2008 doporucil Bob!k
2e0f: 85 im 5
2e10: cd im -51
2e11: 3f callpcrel

00002e12 <.LM18>:
spiTransferFF(); //pridano navic! 27.6.2008 doporucil Bob!k
2e12: 85 im 5
2e13: ca im -54
2e14: 3f callpcrel

00002e15 <.LM19>:
spiTransferFF(); //pridano navic! 27.6.2008 doporucil Bob!k
2e15: 85 im 5
2e16: c7 im -57
2e17: 3f callpcrel

00002e18 <.LM20>:

// send command
spiTransferByte(cmd | 0x40);
2e18: 71 loadsp 4
2e19: 80 im 0
2e1a: c0 im -64
2e1b: 07 or
2e1c: 51 storesp 4
2e1d: 84 im 4
2e1e: e4 im -28
2e1f: 3f callpcrel

00002e20 <.LM21>:
//
spiTransferByte(arg>>24);
2e20: 72 loadsp 8
2e21: 98 im 24
2e22: 2a lshiftright
2e23: 51 storesp 4
2e24: 84 im 4
2e25: dd im -35
2e26: 3f callpcrel

00002e27 <.LM22>:
spiTransferByte(arg>>16);
2e27: 72 loadsp 8
2e28: 90 im 16
2e29: 2a lshiftright
2e2a: 70 loadsp 0
2e2b: 81 im 1
2e2c: ff im -1
2e2d: 06 and
2e2e: 52 storesp 8
2e2f: 52 storesp 8
2e30: 84 im 4
2e31: d1 im -47
2e32: 3f callpcrel

00002e33 <.LM23>:
spiTransferByte(arg>>8);
2e33: 72 loadsp 8
2e34: 88 im 8
2e35: 2a lshiftright
2e36: 70 loadsp 0
2e37: 81 im 1
2e38: ff im -1
2e39: 06 and
2e3a: 52 storesp 8
2e3b: 52 storesp 8
2e3c: 84 im 4
2e3d: c5 im -59
2e3e: 3f callpcrel

00002e3f <.LM24>:
spiTransferByte(arg);
2e3f: 72 loadsp 8
2e40: 81 im 1
2e41: ff im -1
2e42: 06 and
2e43: 51 storesp 4
2e44: 84 im 4
2e45: bd im 61
2e46: 3f callpcrel

00002e47 <.LM25>:
//Alternativni zpusob pres ((u08*)&arg)[] je delsi.

spiTransferByte(0x95); // crc valid only for MMC_GO_IDLE_STATE
2e47: 81 im 1
2e48: 95 im 21
2e49: 51 storesp 4
2e4a: 84 im 4
2e4b: b7 im 55
2e4c: 3f callpcrel

00002e4d <.L17>:
// end command
// wait for response
// if more than 255 retries, card has timed-out
// return the received 0xFF
do
{
r1 = spiTransferFF();
2e4d: 85 im 5
2e4e: 8f im 15
2e4f: 3f callpcrel
2e50: 83 im 3
2e51: e0 im -32
2e52: 80 im 0
2e53: 08 load
2e54: 81 im 1
2e55: ff im -1
2e56: 06 and

00002e57 <.LM27>:
retry--;
2e57: ff im -1
2e58: 15 addsp 20
2e59: 70 loadsp 0
2e5a: 81 im 1
2e5b: ff im -1
2e5c: 06 and

00002e5d <.LM28>:
}
2e5d: 70 loadsp 0
2e5e: 30 neg
2e5f: 70 loadsp 0
2e60: 9f im 31
2e61: 2a lshiftright
2e62: 51 storesp 4
2e63: 52 storesp 8
2e64: 56 storesp 24
2e65: 53 storesp 12
2e66: 53 storesp 12
2e67: 72 loadsp 8
2e68: 81 im 1
2e69: ff im -1
2e6a: 2e eq
2e6b: 09 not
2e6c: 81 im 1
2e6d: 06 and
2e6e: 84 im 4
2e6f: 38 neqbranch
2e70: 71 loadsp 4
2e71: db im -37
2e72: 38 neqbranch

00002e73 <.L22>:
while(retry && (r1 == 0xFF) );

// return response
return r1;
}
2e73: 72 loadsp 8
2e74: 83 im 3
2e75: e0 im -32
2e76: 80 im 0
2e77: 0c store
2e78: 85 im 5
2e79: 3d pushspadd
2e7a: 0d popsp
2e7b: 04 poppc

00002e7c <mmcRead>:
2e7c: fd im -3
2e7d: 3d pushspadd
2e7e: 0d popsp

00002e7f <.LM31>:
2e7f: 81 im 1
2e80: 51 storesp 4
2e81: 83 im 3
2e82: ea im -22
2e83: 3f callpcrel

00002e84 <.LM32>:
2e84: 75 loadsp 20
2e85: 89 im 9
2e86: 2b ashiftleft
2e87: 52 storesp 8
2e88: 91 im 17
2e89: 51 storesp 4
2e8a: fe im -2
2e8b: f1 im -15
2e8c: 3f callpcrel
2e8d: 83 im 3
2e8e: e0 im -32
2e8f: 80 im 0
2e90: 08 load
2e91: 81 im 1
2e92: ff im -1
2e93: 06 and

00002e94 <.LM33>:
2e94: 70 loadsp 0
2e95: 55 storesp 20
2e96: 53 storesp 12
2e97: 72 loadsp 8
2e98: 80 im 0
2e99: 2e eq
2e9a: 8a im 10
2e9b: 38 neqbranch

00002e9c <.LM34>:
2e9c: 73 loadsp 12
2e9d: 83 im 3
2e9e: e0 im -32
2e9f: 80 im 0
2ea0: 0c store
2ea1: 85 im 5
2ea2: 3d pushspadd
2ea3: 0d popsp
2ea4: 04 poppc

00002ea5 <.L27>:
2ea5: 84 im 4
2ea6: b7 im 55
2ea7: 3f callpcrel
2ea8: 83 im 3
2ea9: e0 im -32
2eaa: 80 im 0
2eab: 08 load
2eac: 81 im 1
2ead: ff im -1
2eae: 06 and
2eaf: 53 storesp 12
2eb0: 72 loadsp 8
2eb1: 81 im 1
2eb2: fe im -2
2eb3: 2e eq
2eb4: 09 not
2eb5: 81 im 1
2eb6: 06 and
2eb7: ed im -19
2eb8: 38 neqbranch

00002eb9 <.LM36>:
2eb9: fd im -3
2eba: c7 im -57
2ebb: 3f callpcrel

00002ebc <.LM37>:
2ebc: 84 im 4
2ebd: a0 im 32
2ebe: 3f callpcrel

00002ebf <.LM38>:
2ebf: 84 im 4
2ec0: 9d im 29
2ec1: 3f callpcrel

00002ec2 <.LM39>:
2ec2: 80 im 0
2ec3: 51 storesp 4
2ec4: 83 im 3
2ec5: a7 im 39
2ec6: 3f callpcrel

00002ec7 <.LM40>:
2ec7: 80 im 0

00002ec8 <.LM41>:
2ec8: 0b nop
2ec9: 83 im 3
2eca: e0 im -32
2ecb: 80 im 0
2ecc: 0c store
2ecd: 85 im 5
2ece: 3d pushspadd
2ecf: 0d popsp
2ed0: 04 poppc

00002ed1 <mmcSendCommand>:
2ed1: fe im -2
2ed2: 3d pushspadd
2ed3: 0d popsp
2ed4: 02 pushsp
2ed5: 93 im 19
2ed6: 05 add
2ed7: 33 loadb
2ed8: 53 storesp 12

00002ed9 <.LM43>:
2ed9: 81 im 1
2eda: 51 storesp 4
2edb: 83 im 3
2edc: 90 im 16
2edd: 3f callpcrel

00002ede <.LM44>:
2ede: 75 loadsp 20
2edf: 52 storesp 8
2ee0: 72 loadsp 8
2ee1: 51 storesp 4
2ee2: fe im -2
2ee3: 99 im 25
2ee4: 3f callpcrel
2ee5: 83 im 3
2ee6: e0 im -32
2ee7: 80 im 0
2ee8: 08 load
2ee9: 81 im 1
2eea: ff im -1
2eeb: 06 and
2eec: 53 storesp 12

00002eed <.LM45>:
2eed: 80 im 0
2eee: 51 storesp 4
2eef: 82 im 2
2ef0: fc im -4
2ef1: 3f callpcrel

00002ef2 <.LM46>:
2ef2: 72 loadsp 8
2ef3: 83 im 3
2ef4: e0 im -32
2ef5: 80 im 0
2ef6: 0c store
2ef7: 84 im 4
2ef8: 3d pushspadd
2ef9: 0d popsp
2efa: 04 poppc

00002efb <mmcReset>:
2efb: fd im -3
2efc: 3d pushspadd
2efd: 0d popsp

00002efe <.LM48>:
2efe: 81 im 1
2eff: ff im -1
2f00: 53 storesp 12

00002f01 <.L32>:
2f01: 83 im 3
2f02: db im -37
2f03: 3f callpcrel
2f04: ff im -1
2f05: 13 addsp 12
2f06: 70 loadsp 0
2f07: 81 im 1
2f08: ff im -1
2f09: 06 and
2f0a: 51 storesp 4
2f0b: 53 storesp 12
2f0c: 72 loadsp 8
2f0d: f3 im -13
2f0e: 38 neqbranch

00002f0f <.LM50>:
2f0f: 72 loadsp 8
2f10: 52 storesp 8
2f11: 72 loadsp 8
2f12: 51 storesp 4
2f13: ff im -1
2f14: bc im 60
2f15: 3f callpcrel
2f16: 83 im 3
2f17: e0 im -32
2f18: 80 im 0
2f19: 08 load
2f1a: 81 im 1
2f1b: ff im -1
2f1c: 06 and
2f1d: 53 storesp 12

00002f1e <.LM51>:
2f1e: 81 im 1
2f1f: ff im -1
2f20: 54 storesp 16
2f21: 72 loadsp 8
2f22: 81 im 1
2f23: 2e eq
2f24: 09 not
2f25: 81 im 1
2f26: 06 and
2f27: 80 im 0
2f28: e2 im -30
2f29: 38 neqbranch

00002f2a <.LM52>:
2f2a: 83 im 3
2f2b: ff im -1
2f2c: ff im -1
2f2d: 54 storesp 16

00002f2e <.L36>:
2f2e: 80 im 0
2f2f: 52 storesp 8
2f30: b7 im 55
2f31: 51 storesp 4
2f32: ff im -1
2f33: 9d im 29
2f34: 3f callpcrel
2f35: 83 im 3
2f36: e0 im -32
2f37: 80 im 0
2f38: 08 load
2f39: 81 im 1
2f3a: ff im -1
2f3b: 06 and
2f3c: 53 storesp 12

00002f3d <.LM54>:
2f3d: 72 loadsp 8
2f3e: 81 im 1
2f3f: 2e eq
2f40: 09 not
2f41: 81 im 1
2f42: 06 and
2f43: a1 im 33
2f44: 38 neqbranch

00002f45 <.LM55>:
2f45: 80 im 0
2f46: 52 storesp 8
2f47: a9 im 41
2f48: 51 storesp 4
2f49: ff im -1
2f4a: 86 im 6
2f4b: 3f callpcrel
2f4c: 83 im 3
2f4d: e0 im -32
2f4e: 80 im 0
2f4f: 08 load
2f50: 81 im 1
2f51: ff im -1
2f52: 06 and
2f53: 53 storesp 12

00002f54 <.LM56>:
2f54: 72 loadsp 8
2f55: 80 im 0
2f56: 2e eq
2f57: 8d im 13
2f58: 38 neqbranch

00002f59 <.LM57>:
2f59: ff im -1
2f5a: 14 addsp 16
2f5b: 70 loadsp 0
2f5c: 83 im 3
2f5d: ff im -1
2f5e: ff im -1
2f5f: 06 and
2f60: 55 storesp 20
2f61: 53 storesp 12

00002f62 <.LM58>:
2f62: 73 loadsp 12
2f63: ca im -54
2f64: 38 neqbranch

00002f65 <.L37>:
2f65: 80 im 0
2f66: 52 storesp 8
2f67: 81 im 1
2f68: 51 storesp 4
2f69: fe im -2
2f6a: e6 im -26
2f6b: 3f callpcrel
2f6c: 83 im 3
2f6d: e0 im -32
2f6e: 80 im 0
2f6f: 08 load
2f70: 81 im 1
2f71: ff im -1
2f72: 06 and
2f73: 53 storesp 12

00002f74 <.LM60>:
2f74: 81 im 1
2f75: ff im -1
2f76: 54 storesp 16
2f77: 72 loadsp 8
2f78: 92 im 18
2f79: 38 neqbranch

00002f7a <.LM61>:
2f7a: 72 loadsp 8
2f7b: 52 storesp 8
2f7c: bb im 59
2f7d: 51 storesp 4
2f7e: fe im -2
2f7f: d1 im -47
2f80: 3f callpcrel

00002f81 <.LM62>:
2f81: 84 im 4
2f82: 80 im 0
2f83: 52 storesp 8
2f84: 90 im 16
2f85: 51 storesp 4
2f86: fe im -2
2f87: c9 im -55
2f88: 3f callpcrel

00002f89 <.LM63>:
2f89: 72 loadsp 8
2f8a: 54 storesp 16

00002f8b <.L31>:
2f8b: 73 loadsp 12
2f8c: 83 im 3
2f8d: e0 im -32
2f8e: 80 im 0
2f8f: 0c store
2f90: 85 im 5
2f91: 3d pushspadd
2f92: 0d popsp
2f93: 04 poppc

00002f94 <mmcWrite>:
2f94: fb im -5
2f95: 3d pushspadd
2f96: 0d popsp

00002f97 <.LM66>:
2f97: 83 im 3
2f98: e3 im -29
2f99: e8 im -24
2f9a: 56 storesp 24

00002f9b <.LM67>:
2f9b: 81 im 1
2f9c: 51 storesp 4
2f9d: 81 im 1
2f9e: ce im -50
2f9f: 3f callpcrel

00002fa0 <.LM68>:
2fa0: 77 loadsp 28
2fa1: 89 im 9
2fa2: 2b ashiftleft
2fa3: 52 storesp 8
2fa4: 98 im 24
2fa5: 51 storesp 4
2fa6: fc im -4
2fa7: d5 im -43
2fa8: 3f callpcrel
2fa9: 83 im 3
2faa: e0 im -32
2fab: 80 im 0
2fac: 08 load
2fad: 81 im 1
2fae: ff im -1
2faf: 06 and

00002fb0 <.LM69>:
2fb0: 70 loadsp 0
2fb1: 56 storesp 24
2fb2: 54 storesp 16

00002fb3 <.LM70>:
2fb3: 73 loadsp 12
2fb4: 80 im 0
2fb5: 2e eq
2fb6: 8a im 10
2fb7: 38 neqbranch

00002fb8 <.L43>:
2fb8: 74 loadsp 16
2fb9: 83 im 3
2fba: e0 im -32
2fbb: 80 im 0
2fbc: 0c store
2fbd: 87 im 7
2fbe: 3d pushspadd
2fbf: 0d popsp
2fc0: 04 poppc

00002fc1 <.L52>:
2fc1: 82 im 2
2fc2: 9b im 27
2fc3: 3f callpcrel

00002fc4 <.LM73>:
2fc4: 81 im 1
2fc5: fe im -2
2fc6: 51 storesp 4
2fc7: 81 im 1
2fc8: ba im 58
2fc9: 3f callpcrel

00002fca <.LM74>:
2fca: 84 im 4
2fcb: 80 im 0
2fcc: 53 storesp 12

00002fcd <.L45>:
2fcd: 75 loadsp 20
2fce: 70 loadsp 0
2fcf: 81 im 1
2fd0: 05 add
2fd1: 57 storesp 28
2fd2: 33 loadb
2fd3: 51 storesp 4
2fd4: 81 im 1
2fd5: ad im 45
2fd6: 3f callpcrel
2fd7: ff im -1
2fd8: 13 addsp 12
2fd9: 70 loadsp 0
2fda: 83 im 3
2fdb: ff im -1
2fdc: ff im -1
2fdd: 06 and
2fde: 51 storesp 4
2fdf: 53 storesp 12
2fe0: 72 loadsp 8
2fe1: eb im -21
2fe2: 38 neqbranch

00002fe3 <.LM76>:
2fe3: 81 im 1
2fe4: f9 im -7
2fe5: 3f callpcrel

00002fe6 <.LM77>:
2fe6: 81 im 1
2fe7: f6 im -10
2fe8: 3f callpcrel

00002fe9 <.LM78>:
2fe9: 81 im 1
2fea: f3 im -13
2feb: 3f callpcrel
2fec: 83 im 3
2fed: e0 im -32
2fee: 80 im 0
2fef: 08 load
2ff0: 81 im 1
2ff1: ff im -1
2ff2: 06 and

00002ff3 <.LM79>:
2ff3: 70 loadsp 0
2ff4: 9f im 31
2ff5: 06 and

00002ff6 <.LM80>:
2ff6: 54 storesp 16
2ff7: 55 storesp 20

00002ff8 <.LM81>:
2ff8: 72 loadsp 8
2ff9: 85 im 5
2ffa: 2e eq
2ffb: 09 not
2ffc: 81 im 1
2ffd: 06 and
2ffe: ff im -1
2fff: b8 im 56
3000: 38 neqbranch

00003001 <.L49>:
3001: 81 im 1
3002: db im -37
3003: 3f callpcrel
3004: 83 im 3
3005: e0 im -32
3006: 80 im 0
3007: 08 load
3008: 81 im 1
3009: ff im -1
300a: 06 and
300b: 53 storesp 12
300c: 72 loadsp 8
300d: 80 im 0
300e: 2e eq
300f: f1 im -15
3010: 38 neqbranch

00003011 <.LM83>:
3011: 80 im 0
3012: 51 storesp 4
3013: 80 im 0
3014: d8 im -40
3015: 3f callpcrel

00003016 <.LM84>:
3016: 80 im 0

00003017 <.LM85>:
3017: 0b nop
3018: 83 im 3
3019: e0 im -32
301a: 80 im 0
301b: 0c store
301c: 87 im 7
301d: 3d pushspadd
301e: 0d popsp
301f: 04 poppc

00003020 <updateSpiState>:
int spi_slow; // 1 is slow
int spi_chip_select_n; // 0 is selected
int display;
void updateSpiState()
{
3020: ff im -1
3021: 3d pushspadd
3022: 0d popsp

00003023 <.LM2>:
*zpu_spi_state = (spi_slow<<1)|(spi_chip_select_n);
3023: 83 im 3
3024: e7 im -25
3025: f0 im -16
3026: 08 load
3027: 10 addsp 0
3028: 83 im 3
3029: e7 im -25
302a: e8 im -24
302b: 08 load
302c: 07 or
302d: 80 im 0
302e: fc im -4
302f: a8 im 40
3030: 08 load
3031: 52 storesp 8
3032: 71 loadsp 4
3033: 0c store
3034: 83 im 3
3035: 3d pushspadd
3036: 0d popsp
3037: 04 poppc

00003038 <setSpiFast>:
}

// access routines
void setSpiFast()
{
spi_slow = 0;
3038: 80 im 0
3039: 0b nop
303a: 83 im 3
303b: e7 im -25
303c: f0 im -16
303d: 0c store

0000303e <.LM5>:
updateSpiState();
303e: e1 im -31
303f: 3f callpcrel
3040: 04 poppc

00003041 <setSpiSlow>:
}

void setSpiSlow()
{
spi_slow = 1;
3041: 81 im 1
3042: 0b nop
3043: 83 im 3
3044: e7 im -25
3045: f0 im -16
3046: 0c store

00003047 <.LM8>:
updateSpiState();
3047: d8 im -40
3048: 3f callpcrel
3049: 04 poppc

0000304a <set_spi_clock_freq>:
}

void set_spi_clock_freq() // avr handles spi clock?
{
setSpiFast();
304a: ed im -19
304b: 3f callpcrel
304c: 04 poppc

0000304d <spiDisplay>:
}

void spiInit()
{
spiDisplay(0);
spi_slow = 1;
spi_chip_select_n = 1;
updateSpiState();
}

void mmcChipSelect(int select)
{
spi_chip_select_n = !select;
updateSpiState();
}

u08 spiTransferByte(u08 data)
{
u08 res = 0;

//debug("spiTransferByte");

/*if (display!=0)
{
plotnext(hextoatarichar((data&0xf0) >> 4));
plotnext(hextoatarichar((data&0xf)));
}*/

// send the given data
*zpu_spi_data = data;

// wait for transfer to complete
while ((1&*zpu_spi_state) == 1);

// return the received data
res = *zpu_spi_data;

if (display!=0)
{
plotnext(hextoatarichar((res&0xf0) >> 4));
plotnext(hextoatarichar((res&0xf)));

//plotnext(toatarichar(' '));
}

return res;
}

u08 spiTransferFF()
{
return spiTransferByte(0xFF);
}

void spiDisplay(int i)
{
display = i;
304d: 71 loadsp 4
304e: 83 im 3
304f: e7 im -25
3050: ec im -20
3051: 0c store
3052: 04 poppc

00003053 <spiInit>:
3053: 80 im 0
3054: 3d pushspadd
3055: 0d popsp

00003056 <.LM14>:
3056: 80 im 0
3057: 51 storesp 4
3058: f4 im -12
3059: 3f callpcrel

0000305a <.LM15>:
305a: 81 im 1
305b: 0b nop
305c: 83 im 3
305d: e7 im -25
305e: f0 im -16
305f: 0c store

00003060 <.LM16>:
3060: 81 im 1
3061: 0b nop
3062: 83 im 3
3063: e7 im -25
3064: e8 im -24
3065: 0c store

00003066 <.LM17>:
3066: ff im -1
3067: b8 im 56
3068: 3f callpcrel
3069: 82 im 2
306a: 3d pushspadd
306b: 0d popsp
306c: 04 poppc

0000306d <mmcChipSelect>:
306d: 80 im 0
306e: 3d pushspadd
306f: 0d popsp

00003070 <.LM19>:
3070: 72 loadsp 8
3071: 30 neg
3072: 70 loadsp 0
3073: 74 loadsp 16
3074: 07 or
3075: 80 im 0
3076: 25 lessthanorequal
3077: 83 im 3
3078: e7 im -25
3079: e8 im -24
307a: 0c store
307b: 51 storesp 4

0000307c <.LM20>:
307c: ff im -1
307d: a2 im 34
307e: 3f callpcrel
307f: 82 im 2
3080: 3d pushspadd
3081: 0d popsp
3082: 04 poppc

00003083 <spiTransferByte>:
3083: fd im -3
3084: 3d pushspadd
3085: 0d popsp
3086: 02 pushsp
3087: 97 im 23
3088: 05 add
3089: 33 loadb

0000308a <.LM22>:
308a: 80 im 0
308b: fc im -4
308c: ac im 44
308d: 08 load
308e: 55 storesp 20
308f: 74 loadsp 16
3090: 0c store
3091: 80 im 0
3092: fc im -4
3093: a8 im 40
3094: 08 load
3095: 53 storesp 12

00003096 <.L10>:
3096: 72 loadsp 8
3097: 08 load
3098: 70 loadsp 0
3099: 81 im 1
309a: 06 and
309b: 51 storesp 4
309c: 52 storesp 8
309d: 71 loadsp 4
309e: f7 im -9
309f: 38 neqbranch

000030a0 <.LM24>:
30a0: 73 loadsp 12
30a1: 08 load
30a2: 70 loadsp 0
30a3: 81 im 1
30a4: ff im -1
30a5: 06 and
30a6: 51 storesp 4
30a7: 52 storesp 8

000030a8 <.LM25>:
30a8: 83 im 3
30a9: e7 im -25
30aa: ec im -20
30ab: 08 load
30ac: 8a im 10
30ad: 38 neqbranch

000030ae <.LM26>:
30ae: 71 loadsp 4
30af: 83 im 3
30b0: e0 im -32
30b1: 80 im 0
30b2: 0c store
30b3: 85 im 5
30b4: 3d pushspadd
30b5: 0d popsp
30b6: 04 poppc

000030b7 <.L14>:
30b7: 71 loadsp 4
30b8: 84 im 4
30b9: 2a lshiftright
30ba: 51 storesp 4
30bb: 85 im 5
30bc: fa im -6
30bd: 3f callpcrel
30be: 83 im 3
30bf: e0 im -32
30c0: 80 im 0
30c1: 08 load
30c2: 51 storesp 4
30c3: 87 im 7
30c4: 85 im 5
30c5: 3f callpcrel

000030c6 <.LM28>:
30c6: 71 loadsp 4
30c7: 8f im 15
30c8: 06 and
30c9: 51 storesp 4
30ca: 85 im 5
30cb: eb im -21
30cc: 3f callpcrel
30cd: 83 im 3
30ce: e0 im -32
30cf: 80 im 0
30d0: 08 load
30d1: 51 storesp 4
30d2: 86 im 6
30d3: f6 im -10
30d4: 3f callpcrel

000030d5 <.LBE2>:
30d5: 71 loadsp 4
30d6: 83 im 3
30d7: e0 im -32
30d8: 80 im 0
30d9: 0c store
30da: 85 im 5
30db: 3d pushspadd
30dc: 0d popsp
30dd: 04 poppc

000030de <spiTransferFF>:
30de: 80 im 0
30df: 3d pushspadd
30e0: 0d popsp

000030e1 <.LM31>:
30e1: 81 im 1
30e2: ff im -1
30e3: 51 storesp 4
30e4: ff im -1
30e5: 9d im 29
30e6: 3f callpcrel
30e7: 83 im 3
30e8: e0 im -32
30e9: 80 im 0
30ea: 08 load
30eb: 81 im 1
30ec: ff im -1
30ed: 06 and
30ee: 83 im 3
30ef: e0 im -32
30f0: 80 im 0
30f1: 0c store

000030f2 <.LM32>:
30f2: 82 im 2
30f3: 3d pushspadd
30f4: 0d popsp
30f5: 04 poppc

000030f6 <USART_Data_Needed>:

void actions();

int USART_Data_Needed()
{
30f6: fe im -2
30f7: 3d pushspadd
30f8: 0d popsp

000030f9 <.LM2>:
int needed = 0==(0x10&(*zpu_pokey_irqen));
30f9: 80 im 0
30fa: fb im -5
30fb: ec im -20
30fc: 08 load
30fd: 70 loadsp 0
30fe: 33 loadb
30ff: 70 loadsp 0
3100: 81 im 1
3101: ff im -1
3102: 06 and
3103: 70 loadsp 0
3104: 84 im 4
3105: 2a lshiftright
3106: 81 im 1
3107: 32 xor
3108: 81 im 1
3109: 06 and
310a: 55 storesp 20
310b: 51 storesp 4
310c: 52 storesp 8
310d: 53 storesp 12

0000310e <.LM3>:
if (needed)
310e: 71 loadsp 4
310f: 80 im 0
3110: 2e eq
3111: 8c im 12
3112: 38 neqbranch

00003113 <.LM4>:
{
*zpu_pokey_irqen = 0x28;
3113: a8 im 40
3114: 73 loadsp 12
3115: 34 storeb

00003116 <.LM5>:
*zpu_pokey_irqen = 0x38;
3116: 80 im 0
3117: fb im -5
3118: ec im -20
3119: 08 load
311a: 51 storesp 4
311b: b8 im 56
311c: 71 loadsp 4
311d: 34 storeb

0000311e <.L2>:
}
return needed;
}
311e: 71 loadsp 4
311f: 83 im 3
3120: e0 im -32
3121: 80 im 0
3122: 0c store
3123: 84 im 4
3124: 3d pushspadd
3125: 0d popsp
3126: 04 poppc

00003127 <USART_Data_Ready>:

int USART_Data_Ready()
{
3127: fe im -2
3128: 3d pushspadd
3129: 0d popsp

0000312a <.LM8>:
int ready = 0==(0x20&(*zpu_pokey_irqen));
312a: 80 im 0
312b: fb im -5
312c: ec im -20
312d: 08 load
312e: 70 loadsp 0
312f: 33 loadb
3130: 70 loadsp 0
3131: 81 im 1
3132: ff im -1
3133: 06 and
3134: 70 loadsp 0
3135: 85 im 5
3136: 2a lshiftright
3137: 81 im 1
3138: 32 xor
3139: 81 im 1
313a: 06 and
313b: 55 storesp 20
313c: 51 storesp 4
313d: 52 storesp 8
313e: 53 storesp 12

0000313f <.LM9>:
if (ready)
313f: 71 loadsp 4
3140: 80 im 0
3141: 2e eq
3142: 8c im 12
3143: 38 neqbranch

00003144 <.LM10>:
{
*zpu_pokey_irqen = 0x18;
3144: 98 im 24
3145: 73 loadsp 12
3146: 34 storeb

00003147 <.LM11>:
*zpu_pokey_irqen = 0x38;
3147: 80 im 0
3148: fb im -5
3149: ec im -20
314a: 08 load
314b: 51 storesp 4
314c: b8 im 56
314d: 71 loadsp 4
314e: 34 storeb

0000314f <.L5>:
}
return ready;
}
314f: 71 loadsp 4
3150: 83 im 3
3151: e0 im -32
3152: 80 im 0
3153: 0c store
3154: 84 im 4
3155: 3d pushspadd
3156: 0d popsp
3157: 04 poppc

00003158 <USART_Receive_Mode>:

void USART_Init( u08 value )
{
// value is pokey div + 6
*zpu_pokey_skctl = 0;
wait_us(10);
USART_Receive_Mode(); // turn of reset and listen to commands
*zpu_pokey_audctl = 0x78; // linked channels, fast clocked
*zpu_pokey_audf1 = 0x00;
*zpu_pokey_audf0 = value-6;
*zpu_pokey_audf3 = 0x00;
*zpu_pokey_audf2 = value-6;

*zpu_pokey_irqen = 0x00;
*zpu_pokey_irqen = 0x38;
}

void USART_Transmit_Byte( unsigned char data )
{
*zpu_pokey_serout = data;

// wait until next byte is needed
while (!USART_Data_Needed());
}
unsigned char USART_Receive_Byte( void )
{
// wait for data
while (!USART_Data_Ready())
{
actions();
}

u08 res = *zpu_pokey_serout; //serin at same address
return res;
}

void USART_Transmit_Mode()
{
*zpu_pokey_skctl = 0x23; // 010 for transmission
*zpu_pokey_skrest = 0xff;
*zpu_pokey_irqen = 0x28; // clear data needed
*zpu_pokey_irqen = 0x38;
}

void USART_Receive_Mode()
{
3158: 80 im 0
3159: 3d pushspadd
315a: 0d popsp

0000315b <.LM14>:
*zpu_pokey_skctl = 0x13; // 001 for receiving
315b: 80 im 0
315c: fb im -5
315d: e8 im -24
315e: 08 load
315f: 51 storesp 4
3160: 93 im 19
3161: 71 loadsp 4
3162: 34 storeb

00003163 <.LM15>:
*zpu_pokey_skrest = 0xff;
3163: 80 im 0
3164: fb im -5
3165: f4 im -12
3166: 08 load
3167: 51 storesp 4
3168: ff im -1
3169: 71 loadsp 4
316a: 34 storeb
316b: 82 im 2
316c: 3d pushspadd
316d: 0d popsp
316e: 04 poppc

0000316f <USART_Init>:
316f: fe im -2
3170: 3d pushspadd
3171: 0d popsp
3172: 02 pushsp
3173: 93 im 19
3174: 05 add
3175: 33 loadb

00003176 <.LM17>:
3176: 80 im 0
3177: fb im -5
3178: e8 im -24
3179: 08 load
317a: 53 storesp 12
317b: 53 storesp 12
317c: 80 im 0
317d: 72 loadsp 8
317e: 34 storeb

0000317f <.LM18>:
317f: 8a im 10
3180: 51 storesp 4
3181: ff im -1
3182: a6 im 38
3183: af im 47
3184: 3f callpcrel

00003185 <.LM19>:
3185: d2 im -46
3186: 3f callpcrel

00003187 <.LM20>:
3187: 80 im 0
3188: fb im -5
3189: f8 im -8
318a: 08 load
318b: 52 storesp 8
318c: 80 im 0
318d: f8 im -8
318e: 72 loadsp 8
318f: 34 storeb

00003190 <.LM21>:
3190: 80 im 0
3191: fc im -4
3192: 90 im 16
3193: 08 load
3194: 52 storesp 8
3195: 80 im 0
3196: 72 loadsp 8
3197: 34 storeb

00003198 <.LM22>:
3198: fa im -6
3199: 13 addsp 12
319a: 80 im 0
319b: fc im -4
319c: 98 im 24
319d: 08 load
319e: 53 storesp 12
319f: 53 storesp 12
31a0: 72 loadsp 8
31a1: 72 loadsp 8
31a2: 34 storeb

000031a3 <.LM23>:
31a3: 80 im 0
31a4: fc im -4
31a5: 80 im 0
31a6: 08 load
31a7: 52 storesp 8
31a8: 80 im 0
31a9: 72 loadsp 8
31aa: 34 storeb

000031ab <.LM24>:
31ab: 80 im 0
31ac: fc im -4
31ad: 88 im 8
31ae: 08 load
31af: 52 storesp 8
31b0: 72 loadsp 8
31b1: 72 loadsp 8
31b2: 34 storeb

000031b3 <.LM25>:
31b3: 80 im 0
31b4: fb im -5
31b5: ec im -20
31b6: 08 load
31b7: 52 storesp 8
31b8: 80 im 0
31b9: 72 loadsp 8
31ba: 34 storeb

000031bb <.LM26>:
31bb: 80 im 0
31bc: fb im -5
31bd: ec im -20
31be: 08 load
31bf: 52 storesp 8
31c0: b8 im 56
31c1: 72 loadsp 8
31c2: 34 storeb
31c3: 84 im 4
31c4: 3d pushspadd
31c5: 0d popsp
31c6: 04 poppc

000031c7 <USART_Transmit_Byte>:
31c7: ff im -1
31c8: 3d pushspadd
31c9: 0d popsp
31ca: 02 pushsp
31cb: 8f im 15
31cc: 05 add
31cd: 33 loadb

000031ce <.LM28>:
31ce: 80 im 0
31cf: fb im -5
31d0: f0 im -16
31d1: 08 load
31d2: 52 storesp 8
31d3: 52 storesp 8
31d4: 71 loadsp 4
31d5: 71 loadsp 4
31d6: 34 storeb

000031d7 <.L10>:
31d7: fe im -2
31d8: 9d im 29
31d9: 3f callpcrel
31da: 83 im 3
31db: e0 im -32
31dc: 80 im 0
31dd: 08 load
31de: 80 im 0
31df: 2e eq
31e0: f6 im -10
31e1: 38 neqbranch
31e2: 83 im 3
31e3: 3d pushspadd
31e4: 0d popsp
31e5: 04 poppc

000031e6 <USART_Receive_Byte>:
31e6: 80 im 0
31e7: 3d pushspadd
31e8: 0d popsp

000031e9 <.LM31>:
31e9: fe im -2
31ea: bc im 60
31eb: 3f callpcrel
31ec: 83 im 3
31ed: e0 im -32
31ee: 80 im 0
31ef: 08 load
31f0: 90 im 16
31f1: 38 neqbranch

000031f2 <.L16>:
31f2: ff im -1
31f3: b6 im 54
31f4: e4 im -28
31f5: 3f callpcrel
31f6: fe im -2
31f7: af im 47
31f8: 3f callpcrel
31f9: 83 im 3
31fa: e0 im -32
31fb: 80 im 0
31fc: 08 load
31fd: 80 im 0
31fe: 2e eq
31ff: f2 im -14
3200: 38 neqbranch

00003201 <.L18>:
3201: 80 im 0
3202: fb im -5
3203: f0 im -16
3204: 08 load
3205: 70 loadsp 0
3206: 33 loadb
3207: 70 loadsp 0
3208: 81 im 1
3209: ff im -1
320a: 06 and
320b: 83 im 3
320c: e0 im -32
320d: 80 im 0
320e: 0c store
320f: 51 storesp 4
3210: 51 storesp 4

00003211 <.LM33>:
3211: 82 im 2
3212: 3d pushspadd
3213: 0d popsp
3214: 04 poppc

00003215 <USART_Transmit_Mode>:
3215: 80 im 0
3216: 3d pushspadd
3217: 0d popsp

00003218 <.LM35>:
3218: 80 im 0
3219: fb im -5
321a: e8 im -24
321b: 08 load
321c: 51 storesp 4
321d: a3 im 35
321e: 71 loadsp 4
321f: 34 storeb

00003220 <.LM36>:
3220: 80 im 0
3221: fb im -5
3222: f4 im -12
3223: 08 load
3224: 51 storesp 4
3225: ff im -1
3226: 71 loadsp 4
3227: 34 storeb

00003228 <.LM37>:
3228: 80 im 0
3229: fb im -5
322a: ec im -20
322b: 08 load
322c: 51 storesp 4
322d: a8 im 40
322e: 71 loadsp 4
322f: 34 storeb

00003230 <.LM38>:
3230: 80 im 0
3231: fb im -5
3232: ec im -20
3233: 08 load
3234: 51 storesp 4
3235: b8 im 56
3236: 71 loadsp 4
3237: 34 storeb
3238: 82 im 2
3239: 3d pushspadd
323a: 0d popsp
323b: 04 poppc

0000323c <USART_Framing_Error>:
}

int USART_Framing_Error()
{
323c: 80 im 0
323d: 3d pushspadd
323e: 0d popsp

0000323f <.LM40>:
if (0xc0&(*zpu_pokey_skctl))
323f: 80 im 0
3240: fb im -5
3241: e8 im -24
3242: 08 load
3243: 70 loadsp 0
3244: 33 loadb
3245: 70 loadsp 0
3246: 81 im 1
3247: c0 im -64
3248: 06 and

00003249 <.LM41>:
{
return 0;
3249: 70 loadsp 0
324a: 30 neg

0000324b <.LM42>:
}
else
{
return 1;
}
}
324b: 70 loadsp 0
324c: 80 im 0
324d: 25 lessthanorequal
324e: 83 im 3
324f: e0 im -32
3250: 80 im 0
3251: 0c store
3252: 51 storesp 4
3253: 51 storesp 4
3254: 51 storesp 4
3255: 51 storesp 4
3256: 82 im 2
3257: 3d pushspadd
3258: 0d popsp
3259: 04 poppc

0000325a <USART_Wait_Transmit_Complete>:

void USART_Wait_Transmit_Complete()
{
325a: ff im -1
325b: 3d pushspadd
325c: 0d popsp
325d: 80 im 0
325e: fb im -5
325f: ec im -20
3260: 08 load
3261: 52 storesp 8

00003262 <.L24>:
while (1)
{
int ready = 0==(0x08&(*zpu_pokey_irqen));
3262: 71 loadsp 4
3263: 33 loadb
3264: 70 loadsp 0
3265: 81 im 1
3266: ff im -1
3267: 06 and
3268: 70 loadsp 0
3269: 83 im 3
326a: 2a lshiftright
326b: 81 im 1
326c: 32 xor
326d: 70 loadsp 0
326e: 81 im 1
326f: 06 and
3270: 51 storesp 4
3271: 51 storesp 4
3272: 51 storesp 4
3273: 51 storesp 4

00003274 <.LM45>:
if (ready)
3274: 70 loadsp 0
3275: 80 im 0
3276: 2e eq
3277: ea im -22
3278: 38 neqbranch

00003279 <.LM46>:
{
*zpu_pokey_irqen = 0x30;
3279: b0 im 48
327a: 72 loadsp 8
327b: 34 storeb

0000327c <.LM47>:
*zpu_pokey_irqen = 0x38;
327c: 80 im 0
327d: fb im -5
327e: ec im -20
327f: 08 load
3280: 51 storesp 4
3281: b8 im 56
3282: 71 loadsp 4
3283: 34 storeb

00003284 <.LBE2>:
3284: 83 im 3
3285: 3d pushspadd
3286: 0d popsp
3287: 04 poppc

00003288 <set_green_led>:

#include "regs.h"

void set_green_led(int i)
{
3288: 80 im 0
3289: 3d pushspadd
328a: 0d popsp

0000328b <.LM2>:
*zpu_ledg = i;
328b: 80 im 0
328c: fc im -4
328d: b4 im 52
328e: 08 load
328f: 73 loadsp 12
3290: 71 loadsp 4
3291: 0c store
3292: 51 storesp 4
3293: 82 im 2
3294: 3d pushspadd
3295: 0d popsp
3296: 04 poppc

00003297 <set_red_led>:
}
void set_red_led(int i)
{
3297: 80 im 0
3298: 3d pushspadd
3299: 0d popsp

0000329a <.LM4>:
*zpu_ledr = i;
329a: 80 im 0
329b: fc im -4
329c: b0 im 48
329d: 08 load
329e: 73 loadsp 12
329f: 71 loadsp 4
32a0: 0c store
32a1: 51 storesp 4
32a2: 82 im 2
32a3: 3d pushspadd
32a4: 0d popsp
32a5: 04 poppc

000032a6 <set_drive_number>:
}
void set_drive_number(int i)
{
32a6: 80 im 0
32a7: 3d pushspadd
32a8: 0d popsp

000032a9 <.LM6>:
*zpu_hex = i;
32a9: 80 im 0
32aa: fc im -4
32ab: 9c im 28
32ac: 08 load
32ad: 73 loadsp 12
32ae: 71 loadsp 4
32af: 0c store
32b0: 51 storesp 4
32b1: 82 im 2
32b2: 3d pushspadd
32b3: 0d popsp
32b4: 04 poppc

000032b5 <init_display>:
}
void init_display()
{
32b5: 80 im 0
32b6: 3d pushspadd
32b7: 0d popsp

000032b8 <.LM8>:
*zpu_hex = 0;
32b8: 80 im 0
32b9: fc im -4
32ba: 9c im 28
32bb: 08 load
32bc: 51 storesp 4
32bd: 80 im 0
32be: 71 loadsp 4
32bf: 0c store
32c0: 82 im 2
32c1: 3d pushspadd
32c2: 0d popsp
32c3: 04 poppc

000032c4 <topofscreen>:
int debugoffsetval;

void topofscreen()
{
xpos = 0;
32c4: 80 im 0
32c5: 0b nop
32c6: 83 im 3
32c7: e7 im -25
32c8: f4 im -12
32c9: 0c store

000032ca <.LM3>:
ypos = 0;
32ca: 80 im 0
32cb: 0b nop
32cc: 83 im 3
32cd: e8 im -24
32ce: 80 im 0
32cf: 0c store
32d0: 04 poppc

000032d1 <setxpos>:
}

void setxpos(int val)
{
xpos = val;
32d1: 71 loadsp 4
32d2: 83 im 3
32d3: e7 im -25
32d4: f4 im -12
32d5: 0c store
32d6: 04 poppc

000032d7 <setypos>:
}

void setypos(int val)
{
ypos = val;
32d7: 71 loadsp 4
32d8: 83 im 3
32d9: e8 im -24
32da: 80 im 0
32db: 0c store
32dc: 04 poppc

000032dd <initdebug>:
}

void initdebug(int onoff_in)
{
xpos = 0;
32dd: 80 im 0
32de: 0b nop
32df: 83 im 3
32e0: e7 im -25
32e1: f4 im -12
32e2: 0c store

000032e3 <.LM10>:
ypos = 0;
32e3: 80 im 0
32e4: 0b nop
32e5: 83 im 3
32e6: e8 im -24
32e7: 80 im 0
32e8: 0c store

000032e9 <.LM11>:
onoff = onoff_in;
32e9: 71 loadsp 4
32ea: 83 im 3
32eb: e7 im -25
32ec: fc im -4
32ed: 0c store
32ee: 04 poppc

000032ef <plot>:
}

void nextline()
{
int i;
xpos=0;
ypos+=1;
if (ypos==24)
ypos = 0;
for (i=0;i!=40;++i)
plot(0,i,ypos);

//Delay100usX(5000);
}

unsigned char toatarichar(int val)
{
int inv = val>=128;
if (inv)
{
val-=128;
}
if (val>='A' && val<='Z')
{
val+=-'A'+33;
}
else if (val>='a' && val<='z')
{
val+=-'a'+33+64;
}
else if (val>='0' && val<='9')
{
val+=-'0'+16;
}
else if (val>=32 && val<=47)
{
val+=-32;
}
else
{
val = 0;
}
if (inv)
{
val+=128;
}
return val;
}
unsigned char hextoatarichar(int val)
{
if (val>=0 && val<=9)
{
val+=+16;
}
else if (val>=10 && val<=15)
{
val+=-10+33;
}
return val;
}
void plot(unsigned char val, int x, int y)
{
32ef: ff im -1
32f0: 3d pushspadd
32f1: 0d popsp
32f2: 75 loadsp 20
32f3: 02 pushsp
32f4: 84 im 4
32f5: 05 add
32f6: 8f im 15
32f7: 05 add
32f8: 33 loadb
32f9: 53 storesp 12
32fa: 51 storesp 4

000032fb <.LM13>:
if (onoff == 0) return;
32fb: 83 im 3
32fc: e7 im -25
32fd: fc im -4
32fe: 08 load
32ff: 80 im 0
3300: 2e eq
3301: 9a im 26
3302: 38 neqbranch

00003303 <.LM14>:

unsigned char volatile * baseaddr = (unsigned char volatile *)(40000 + 0x10000);
*(baseaddr + y*40+x) = val+debugoffsetval;
3303: 70 loadsp 0
3304: 10 addsp 0
3305: 10 addsp 0
3306: 11 addsp 4
3307: 70 loadsp 0
3308: 10 addsp 0
3309: 10 addsp 0
330a: 10 addsp 0
330b: 16 addsp 24
330c: 86 im 6
330d: b8 im 56
330e: c0 im -64
330f: 11 addsp 4
3310: 83 im 3
3311: e7 im -25
3312: f8 im -8
3313: 08 load
3314: 15 addsp 20
3315: 55 storesp 20
3316: 51 storesp 4
3317: 51 storesp 4
3318: 51 storesp 4
3319: 71 loadsp 4
331a: 71 loadsp 4
331b: 34 storeb

0000331c <.L5>:
}
331c: 83 im 3
331d: 3d pushspadd
331e: 0d popsp
331f: 04 poppc

00003320 <nextline>:
3320: fd im -3
3321: 3d pushspadd
3322: 0d popsp

00003323 <.LM17>:
3323: 80 im 0
3324: 0b nop
3325: 83 im 3
3326: e7 im -25
3327: f4 im -12
3328: 0c store

00003329 <.LM18>:
3329: 83 im 3
332a: e8 im -24
332b: 80 im 0
332c: 08 load
332d: 81 im 1
332e: 05 add
332f: 54 storesp 16

00003330 <.LM19>:
3330: 73 loadsp 12
3331: 98 im 24
3332: 2e eq
3333: a3 im 35
3334: 38 neqbranch
3335: 73 loadsp 12
3336: 83 im 3
3337: e8 im -24
3338: 80 im 0
3339: 0c store

0000333a <.LM20>:
333a: 80 im 0
333b: 54 storesp 16

0000333c <.L13>:
333c: 83 im 3
333d: e8 im -24
333e: 80 im 0
333f: 08 load
3340: 53 storesp 12
3341: 73 loadsp 12
3342: 52 storesp 8
3343: 80 im 0
3344: 51 storesp 4
3345: ff im -1
3346: a8 im 40
3347: 3f callpcrel

00003348 <.LM22>:
3348: 81 im 1
3349: 14 addsp 16
334a: 54 storesp 16
334b: 73 loadsp 12
334c: a8 im 40
334d: 2e eq
334e: 09 not
334f: 81 im 1
3350: 06 and
3351: ea im -22
3352: 38 neqbranch
3353: 85 im 5
3354: 3d pushspadd
3355: 0d popsp
3356: 04 poppc

00003357 <.L18>:
3357: 80 im 0
3358: 0b nop
3359: 83 im 3
335a: e8 im -24
335b: 80 im 0
335c: 0c store

0000335d <.LM24>:
335d: 80 im 0
335e: 54 storesp 16
335f: dc im -36
3360: 39 poppcrel

00003361 <toatarichar>:
3361: fe im -2
3362: 3d pushspadd
3363: 0d popsp
3364: 74 loadsp 16
3365: 52 storesp 8

00003366 <.LM26>:
3366: 80 im 0
3367: 53 storesp 12
3368: 80 im 0
3369: ff im -1
336a: 72 loadsp 8
336b: 25 lessthanorequal
336c: 88 im 8
336d: 38 neqbranch
336e: 81 im 1

0000336f <.LM27>:
336f: 0b nop
3370: ff im -1
3371: 80 im 0
3372: 13 addsp 12
3373: 53 storesp 12
3374: 53 storesp 12

00003375 <.L21>:
3375: ff im -1
3376: bf im 63
3377: 12 addsp 8
3378: 51 storesp 4
3379: 99 im 25
337a: 71 loadsp 4
337b: 27 ulessthanorequal
337c: a7 im 39
337d: 38 neqbranch

0000337e <.LM29>:
337e: ff im -1
337f: 9f im 31
3380: 12 addsp 8
3381: 51 storesp 4
3382: 70 loadsp 0
3383: 99 im 25
3384: 26 ulessthan
3385: 96 im 22
3386: 38 neqbranch

00003387 <.L23>:
3387: 72 loadsp 8
3388: 80 im 0
3389: 2e eq
338a: 85 im 5
338b: 38 neqbranch

0000338c <.LM31>:
338c: 81 im 1
338d: 80 im 0
338e: 12 addsp 8
338f: 52 storesp 8

00003390 <.L30>:
3390: 71 loadsp 4
3391: 81 im 1
3392: ff im -1
3393: 06 and
3394: 83 im 3
3395: e0 im -32
3396: 80 im 0
3397: 0c store

00003398 <.LM33>:
3398: 84 im 4
3399: 3d pushspadd
339a: 0d popsp
339b: 04 poppc

0000339c <.L34>:
339c: d0 im -48
339d: 12 addsp 8
339e: 51 storesp 4
339f: 70 loadsp 0
33a0: 89 im 9
33a1: 26 ulessthan
33a2: 86 im 6
33a3: 38 neqbranch

000033a4 <.L32>:
33a4: e0 im -32
33a5: 12 addsp 8
33a6: 52 storesp 8
33a7: df im -33
33a8: 39 poppcrel

000033a9 <.L26>:
33a9: e0 im -32
33aa: 12 addsp 8

000033ab <.LM37>:
33ab: 70 loadsp 0
33ac: 53 storesp 12
33ad: 51 storesp 4

000033ae <.LM38>:
33ae: 8f im 15
33af: 71 loadsp 4
33b0: 27 ulessthanorequal
33b1: d5 im -43
33b2: 38 neqbranch

000033b3 <.LM39>:
33b3: 80 im 0
33b4: 52 storesp 8
33b5: d1 im -47
33b6: 39 poppcrel

000033b7 <hextoatarichar>:
33b7: ff im -1
33b8: 3d pushspadd
33b9: 0d popsp
33ba: 73 loadsp 12
33bb: 52 storesp 8

000033bc <.LM41>:
33bc: 71 loadsp 4
33bd: 89 im 9
33be: 26 ulessthan
33bf: 90 im 16
33c0: 38 neqbranch

000033c1 <.LM42>:
33c1: 90 im 16
33c2: 12 addsp 8
33c3: 52 storesp 8

000033c4 <.L37>:
33c4: 71 loadsp 4
33c5: 81 im 1
33c6: ff im -1
33c7: 06 and
33c8: 83 im 3
33c9: e0 im -32
33ca: 80 im 0
33cb: 0c store

000033cc <.LM44>:
33cc: 83 im 3
33cd: 3d pushspadd
33ce: 0d popsp
33cf: 04 poppc

000033d0 <.L36>:
33d0: f6 im -10
33d1: 12 addsp 8
33d2: 51 storesp 4
33d3: 70 loadsp 0
33d4: 85 im 5
33d5: 26 ulessthan
33d6: ed im -19
33d7: 38 neqbranch

000033d8 <.LM46>:
33d8: 97 im 23
33d9: 12 addsp 8

000033da <.LM47>:
33da: 70 loadsp 0
33db: 81 im 1
33dc: ff im -1
33dd: 06 and
33de: 83 im 3
33df: e0 im -32
33e0: 80 im 0
33e1: 0c store
33e2: 52 storesp 8

000033e3 <.LM48>:
33e3: 83 im 3
33e4: 3d pushspadd
33e5: 0d popsp
33e6: 04 poppc

000033e7 <debugoffset>:
void debugoffset(int x)
{
debugoffsetval = x;
33e7: 71 loadsp 4
33e8: 83 im 3
33e9: e7 im -25
33ea: f8 im -8
33eb: 0c store
33ec: 04 poppc

000033ed <debug>:
}
void debug(char const * str)
{
33ed: fc im -4
33ee: 3d pushspadd
33ef: 0d popsp
33f0: 76 loadsp 24
33f1: 55 storesp 20

000033f2 <.L51>:
while (1)
{
int val = *str++;
33f2: 74 loadsp 16
33f3: 70 loadsp 0
33f4: 81 im 1
33f5: 05 add
33f6: 56 storesp 24
33f7: 33 loadb
33f8: 54 storesp 16

000033f9 <.LM53>:
if (val==0) break;
33f9: 73 loadsp 12
33fa: 80 im 0
33fb: 2e eq
33fc: 80 im 0
33fd: c2 im -62
33fe: 38 neqbranch

000033ff <.L53>:
if (val=='\n') {nextline();continue;};
33ff: 73 loadsp 12
3400: 8a im 10
3401: 2e eq
3402: b0 im 48
3403: 38 neqbranch

00003404 <.LM55>:

plot(toatarichar(val),xpos,ypos);
3404: 73 loadsp 12
3405: 51 storesp 4
3406: fe im -2
3407: d9 im -39
3408: 3f callpcrel
3409: 83 im 3
340a: e8 im -24
340b: 80 im 0
340c: 08 load
340d: 53 storesp 12
340e: 83 im 3
340f: e7 im -25
3410: f4 im -12
3411: 08 load
3412: 52 storesp 8
3413: 83 im 3
3414: e0 im -32
3415: 80 im 0
3416: 08 load
3417: 81 im 1
3418: ff im -1
3419: 06 and
341a: 51 storesp 4
341b: fd im -3
341c: d2 im -46
341d: 3f callpcrel

0000341e <.LM56>:
++xpos;
341e: 83 im 3
341f: e7 im -25
3420: f4 im -12
3421: 08 load
3422: 81 im 1
3423: 05 add
3424: 83 im 3
3425: e7 im -25
3426: f4 im -12
3427: 0c store

00003428 <.LM57>:
if (xpos==40)
3428: 83 im 3
3429: e7 im -25
342a: f4 im -12
342b: 08 load
342c: a8 im 40
342d: 2e eq
342e: 09 not
342f: 81 im 1
3430: 06 and
3431: c0 im -64
3432: 38 neqbranch

00003433 <.L50>:
{
nextline();
3433: fd im -3
3434: eb im -21
3435: 3f callpcrel

00003436 <.LM59>:
3436: 74 loadsp 16
3437: 70 loadsp 0
3438: 81 im 1
3439: 05 add
343a: 56 storesp 24
343b: 33 loadb
343c: 54 storesp 16

0000343d <.LM60>:
343d: 73 loadsp 12
343e: c0 im -64
343f: 38 neqbranch

00003440 <.L43>:
}
}
debugoffsetval = 0;
3440: 80 im 0
3441: 0b nop
3442: 83 im 3
3443: e7 im -25
3444: f8 im -8
3445: 0c store
3446: 86 im 6
3447: 3d pushspadd
3448: 0d popsp
3449: 04 poppc

0000344a <plotnext>:
}

void plotnext(unsigned char val)
{
344a: fd im -3
344b: 3d pushspadd
344c: 0d popsp
344d: 02 pushsp
344e: 97 im 23
344f: 05 add
3450: 33 loadb

00003451 <.LM63>:
plot(val,xpos,ypos);
3451: 83 im 3
3452: e8 im -24
3453: 80 im 0
3454: 08 load
3455: 54 storesp 16
3456: 83 im 3
3457: e7 im -25
3458: f4 im -12
3459: 08 load
345a: 53 storesp 12
345b: 51 storesp 4
345c: fd im -3
345d: 91 im 17
345e: 3f callpcrel

0000345f <.LM64>:

++xpos;
345f: 83 im 3
3460: e7 im -25
3461: f4 im -12
3462: 08 load
3463: 81 im 1
3464: 05 add
3465: 83 im 3
3466: e7 im -25
3467: f4 im -12
3468: 0c store

00003469 <.LM65>:
if (xpos==40) nextline();
3469: 83 im 3
346a: e7 im -25
346b: f4 im -12
346c: 08 load
346d: a8 im 40
346e: 2e eq
346f: 85 im 5
3470: 38 neqbranch

00003471 <.LM66>:
}
3471: 85 im 5
3472: 3d pushspadd
3473: 0d popsp
3474: 04 poppc

00003475 <.L57>:
3475: fd im -3
3476: a9 im 41
3477: 3f callpcrel

00003478 <.LM68>:
3478: 85 im 5
3479: 3d pushspadd
347a: 0d popsp
347b: 04 poppc

0000347c <plotnextnumber>:

void plotnextnumber(unsigned short val)
{
347c: fe im -2
347d: 3d pushspadd
347e: 0d popsp
347f: 02 pushsp
3480: 92 im 18
3481: 05 add
3482: 22 loadh

00003483 <.LM70>:
plotnext(hextoatarichar((val&0xf000)>>12));
3483: 70 loadsp 0
3484: 8c im 12
3485: 2a lshiftright
3486: 52 storesp 8
3487: 52 storesp 8
3488: fe im -2
3489: ad im 45
348a: 3f callpcrel
348b: 83 im 3
348c: e0 im -32
348d: 80 im 0
348e: 08 load
348f: 81 im 1
3490: ff im -1
3491: 06 and
3492: 51 storesp 4
3493: ff im -1
3494: b5 im 53
3495: 3f callpcrel

00003496 <.LM71>:
plotnext(hextoatarichar((val&0x0f00)>>8));
3496: 71 loadsp 4
3497: 9e im 30
3498: 80 im 0
3499: 06 and
349a: 70 loadsp 0
349b: 88 im 8
349c: 2a lshiftright
349d: 52 storesp 8
349e: 53 storesp 12
349f: fe im -2
34a0: 96 im 22
34a1: 3f callpcrel
34a2: 83 im 3
34a3: e0 im -32
34a4: 80 im 0
34a5: 08 load
34a6: 81 im 1
34a7: ff im -1
34a8: 06 and
34a9: 51 storesp 4
34aa: ff im -1
34ab: 9e im 30
34ac: 3f callpcrel

000034ad <.LM72>:
plotnext(hextoatarichar((val&0x00f0)>>4));
34ad: 71 loadsp 4
34ae: 81 im 1
34af: f0 im -16
34b0: 06 and
34b1: 70 loadsp 0
34b2: 84 im 4
34b3: 2a lshiftright
34b4: 52 storesp 8
34b5: 53 storesp 12
34b6: fd im -3
34b7: ff im -1
34b8: 3f callpcrel
34b9: 83 im 3
34ba: e0 im -32
34bb: 80 im 0
34bc: 08 load
34bd: 81 im 1
34be: ff im -1
34bf: 06 and
34c0: 51 storesp 4
34c1: ff im -1
34c2: 87 im 7
34c3: 3f callpcrel

000034c4 <.LM73>:
plotnext(hextoatarichar((val&0x000f)>>0));
34c4: 71 loadsp 4
34c5: 8f im 15
34c6: 06 and
34c7: 51 storesp 4
34c8: fd im -3
34c9: ed im -19
34ca: 3f callpcrel
34cb: 83 im 3
34cc: e0 im -32
34cd: 80 im 0
34ce: 08 load
34cf: 81 im 1
34d0: ff im -1
34d1: 06 and
34d2: 51 storesp 4
34d3: fe im -2
34d4: f5 im -11
34d5: 3f callpcrel

000034d6 <.LM74>:
debugoffsetval = 0;
34d6: 80 im 0
34d7: 0b nop
34d8: 83 im 3
34d9: e7 im -25
34da: f8 im -8
34db: 0c store
34dc: 84 im 4
34dd: 3d pushspadd
34de: 0d popsp
34df: 04 poppc

000034e0 <hexdump>:
}

void hexdump(char const * str, int length)
{
34e0: fb im -5
34e1: 3d pushspadd
34e2: 0d popsp
34e3: 77 loadsp 28
34e4: 79 loadsp 36
34e5: 56 storesp 24
34e6: 56 storesp 24

000034e7 <.LM76>:
nextline();
34e7: fc im -4
34e8: b7 im 55
34e9: 3f callpcrel

000034ea <.LM77>:

for (;length>0;--length)
34ea: 80 im 0
34eb: 75 loadsp 20
34ec: 25 lessthanorequal
34ed: 80 im 0
34ee: fb im -5
34ef: 38 neqbranch

000034f0 <.L70>:
{
unsigned char val= *str++;
34f0: 75 loadsp 20
34f1: 70 loadsp 0
34f2: 81 im 1
34f3: 05 add
34f4: 57 storesp 28
34f5: 33 loadb

000034f6 <.LM79>:

// LH 10 cols = char
// RH 20 cols = hex

plot(toatarichar(val),xpos,ypos);
34f6: 70 loadsp 0
34f7: 52 storesp 8
34f8: 54 storesp 16
34f9: fc im -4
34fa: e6 im -26
34fb: 3f callpcrel
34fc: 83 im 3
34fd: e8 im -24
34fe: 80 im 0
34ff: 08 load
3500: 53 storesp 12
3501: 83 im 3
3502: e7 im -25
3503: f4 im -12
3504: 08 load
3505: 52 storesp 8
3506: 83 im 3
3507: e0 im -32
3508: 80 im 0
3509: 08 load
350a: 81 im 1
350b: ff im -1
350c: 06 and
350d: 51 storesp 4
350e: fb im -5
350f: df im -33
3510: 3f callpcrel

00003511 <.LM80>:
plot(hextoatarichar((val&0xf0) >> 4),xpos*2+20,ypos);
3511: 73 loadsp 12
3512: 84 im 4
3513: 2a lshiftright
3514: 51 storesp 4
3515: fd im -3
3516: a0 im 32
3517: 3f callpcrel
3518: 83 im 3
3519: e8 im -24
351a: 80 im 0
351b: 08 load
351c: 53 storesp 12
351d: 83 im 3
351e: e7 im -25
351f: f4 im -12
3520: 08 load
3521: 10 addsp 0
3522: 94 im 20
3523: 05 add
3524: 52 storesp 8
3525: 83 im 3
3526: e0 im -32
3527: 80 im 0
3528: 08 load
3529: 81 im 1
352a: ff im -1
352b: 06 and
352c: 51 storesp 4
352d: fb im -5
352e: c0 im -64
352f: 3f callpcrel

00003530 <.LM81>:
plot(hextoatarichar(val&0xf),xpos*2+21,ypos);
3530: 73 loadsp 12
3531: 8f im 15
3532: 06 and
3533: 51 storesp 4
3534: fd im -3
3535: 81 im 1
3536: 3f callpcrel
3537: 83 im 3
3538: e8 im -24
3539: 80 im 0
353a: 08 load
353b: 53 storesp 12
353c: 83 im 3
353d: e7 im -25
353e: f4 im -12
353f: 08 load
3540: 10 addsp 0
3541: 95 im 21
3542: 05 add
3543: 52 storesp 8
3544: 83 im 3
3545: e0 im -32
3546: 80 im 0
3547: 08 load
3548: 81 im 1
3549: ff im -1
354a: 06 and
354b: 51 storesp 4
354c: fb im -5
354d: a1 im 33
354e: 3f callpcrel

0000354f <.LM82>:

++xpos;
354f: 83 im 3
3550: e7 im -25
3551: f4 im -12
3552: 08 load
3553: 81 im 1
3554: 05 add
3555: 83 im 3
3556: e7 im -25
3557: f4 im -12
3558: 0c store

00003559 <.LM83>:
if (xpos==10)
3559: 83 im 3
355a: e7 im -25
355b: f4 im -12
355c: 08 load
355d: 8a im 10
355e: 2e eq
355f: 91 im 17
3560: 38 neqbranch

00003561 <.LM84>:
3561: ff im -1
3562: 15 addsp 20
3563: 55 storesp 20

00003564 <.L71>:
3564: 74 loadsp 16
3565: 80 im 0
3566: 24 lessthan
3567: ff im -1
3568: 87 im 7
3569: 38 neqbranch

0000356a <.L66>:
{
nextline();
}
}
nextline();
356a: fb im -5
356b: b4 im 52
356c: 3f callpcrel
356d: 87 im 7
356e: 3d pushspadd
356f: 0d popsp
3570: 04 poppc

00003571 <.L69>:
3571: fb im -5
3572: ad im 45
3573: 3f callpcrel

00003574 <.LM87>:
3574: ff im -1
3575: 15 addsp 20
3576: 55 storesp 20
3577: ec im -20
3578: 39 poppcrel

00003579 <hexdump_pure>:
}

void hexdump_pure(char const * str, int length)
{
3579: fb im -5
357a: 3d pushspadd
357b: 0d popsp
357c: 77 loadsp 28
357d: 79 loadsp 36

0000357e <.LM89>:
xpos = xpos&0xfffe;
357e: 83 im 3
357f: e7 im -25
3580: f4 im -12
3581: 08 load
3582: 83 im 3
3583: ff im -1
3584: fe im -2
3585: 06 and
3586: 83 im 3
3587: e7 im -25
3588: f4 im -12
3589: 0c store
358a: 56 storesp 24
358b: 56 storesp 24

0000358c <.LM90>:
for (;length>0;--length)
358c: 80 im 0
358d: 75 loadsp 20
358e: 25 lessthanorequal
358f: 80 im 0
3590: e5 im -27
3591: 38 neqbranch

00003592 <.L83>:
{
unsigned char val= *str++;
3592: 75 loadsp 20
3593: 70 loadsp 0
3594: 81 im 1
3595: 05 add
3596: 57 storesp 28
3597: 33 loadb

00003598 <.LM92>:

plot(hextoatarichar((val&0xf0) >> 4),xpos++,ypos);
3598: 70 loadsp 0
3599: 84 im 4
359a: 2a lshiftright
359b: 52 storesp 8
359c: 54 storesp 16
359d: fc im -4
359e: 98 im 24
359f: 3f callpcrel
35a0: 83 im 3
35a1: e8 im -24
35a2: 80 im 0
35a3: 08 load
35a4: 53 storesp 12
35a5: 83 im 3
35a6: e7 im -25
35a7: f4 im -12
35a8: 08 load
35a9: 52 storesp 8
35aa: 83 im 3
35ab: e7 im -25
35ac: f4 im -12
35ad: 08 load
35ae: 81 im 1
35af: 05 add
35b0: 83 im 3
35b1: e7 im -25
35b2: f4 im -12
35b3: 0c store
35b4: 83 im 3
35b5: e0 im -32
35b6: 80 im 0
35b7: 08 load
35b8: 81 im 1
35b9: ff im -1
35ba: 06 and
35bb: 51 storesp 4
35bc: fa im -6
35bd: b1 im 49
35be: 3f callpcrel

000035bf <.LM93>:
plot(hextoatarichar(val&0xf),xpos++,ypos);
35bf: 73 loadsp 12
35c0: 8f im 15
35c1: 06 and
35c2: 51 storesp 4
35c3: fb im -5
35c4: f2 im -14
35c5: 3f callpcrel
35c6: 83 im 3
35c7: e8 im -24
35c8: 80 im 0
35c9: 08 load
35ca: 53 storesp 12
35cb: 83 im 3
35cc: e7 im -25
35cd: f4 im -12
35ce: 08 load
35cf: 52 storesp 8
35d0: 83 im 3
35d1: e7 im -25
35d2: f4 im -12
35d3: 08 load
35d4: 81 im 1
35d5: 05 add
35d6: 83 im 3
35d7: e7 im -25
35d8: f4 im -12
35d9: 0c store
35da: 83 im 3
35db: e0 im -32
35dc: 80 im 0
35dd: 08 load
35de: 81 im 1
35df: ff im -1
35e0: 06 and
35e1: 51 storesp 4
35e2: fa im -6
35e3: 8b im 11
35e4: 3f callpcrel

000035e5 <.LM94>:

if (xpos==40)
35e5: 83 im 3
35e6: e7 im -25
35e7: f4 im -12
35e8: 08 load
35e9: a8 im 40
35ea: 2e eq
35eb: 8e im 14
35ec: 38 neqbranch

000035ed <.LM95>:
35ed: ff im -1
35ee: 15 addsp 20
35ef: 55 storesp 20

000035f0 <.L84>:
35f0: 74 loadsp 16
35f1: 80 im 0
35f2: 24 lessthan
35f3: ff im -1
35f4: 9d im 29
35f5: 38 neqbranch

000035f6 <.L79>:
35f6: 87 im 7
35f7: 3d pushspadd
35f8: 0d popsp
35f9: 04 poppc

000035fa <.L82>:
{
nextline();
35fa: fa im -6
35fb: a4 im 36
35fc: 3f callpcrel

000035fd <.LM97>:
35fd: ff im -1
35fe: 15 addsp 20
35ff: 55 storesp 20
3600: ef im -17
3601: 39 poppcrel

00003602 <__udivsi3>:
3602: 83 im 3
3603: e0 im -32
3604: 8c im 12
3605: 08 load
3606: 02 pushsp
3607: 83 im 3
3608: e0 im -32
3609: 8c im 12
360a: 0c store
360b: fd im -3
360c: 3d pushspadd
360d: 0d popsp
360e: 80 im 0
360f: 53 storesp 12
3610: 83 im 3
3611: e0 im -32
3612: 8c im 12
3613: 08 load
3614: 8c im 12
3615: 05 add
3616: 08 load
3617: 52 storesp 8
3618: 83 im 3
3619: e0 im -32
361a: 8c im 12
361b: 08 load
361c: 88 im 8
361d: 05 add
361e: 08 load
361f: 51 storesp 4
3620: 83 im 3
3621: d4 im -44
3622: 3f callpcrel
3623: 83 im 3
3624: e0 im -32
3625: 80 im 0
3626: 08 load
3627: 70 loadsp 0
3628: 83 im 3
3629: e0 im -32
362a: 80 im 0
362b: 0c store
362c: 54 storesp 16
362d: 85 im 5
362e: 3d pushspadd
362f: 0d popsp
3630: 83 im 3
3631: e0 im -32
3632: 8c im 12
3633: 0c store
3634: 04 poppc

00003635 <__umodsi3>:
3635: 83 im 3
3636: e0 im -32
3637: 8c im 12
3638: 08 load
3639: 02 pushsp
363a: 83 im 3
363b: e0 im -32
363c: 8c im 12
363d: 0c store
363e: fd im -3
363f: 3d pushspadd
3640: 0d popsp
3641: 81 im 1
3642: 53 storesp 12
3643: 83 im 3
3644: e0 im -32
3645: 8c im 12
3646: 08 load
3647: 8c im 12
3648: 05 add
3649: 08 load
364a: 52 storesp 8
364b: 83 im 3
364c: e0 im -32
364d: 8c im 12
364e: 08 load
364f: 88 im 8
3650: 05 add
3651: 08 load
3652: 51 storesp 4
3653: 83 im 3
3654: a1 im 33
3655: 3f callpcrel
3656: 83 im 3
3657: e0 im -32
3658: 80 im 0
3659: 08 load
365a: 70 loadsp 0
365b: 83 im 3
365c: e0 im -32
365d: 80 im 0
365e: 0c store
365f: 54 storesp 16
3660: 85 im 5
3661: 3d pushspadd
3662: 0d popsp
3663: 83 im 3
3664: e0 im -32
3665: 8c im 12
3666: 0c store
3667: 04 poppc

00003668 <__divsi3>:
3668: 83 im 3
3669: e0 im -32
366a: 8c im 12
366b: 08 load
366c: 02 pushsp
366d: 83 im 3
366e: e0 im -32
366f: 8c im 12
3670: 0c store
3671: f9 im -7
3672: 3d pushspadd
3673: 0d popsp
3674: 80 im 0
3675: 0b nop
3676: 83 im 3
3677: e0 im -32
3678: 8c im 12
3679: 08 load
367a: fc im -4
367b: 05 add
367c: 0c store
367d: 83 im 3
367e: e0 im -32
367f: 8c im 12
3680: 08 load
3681: 88 im 8
3682: 05 add
3683: 08 load
3684: 80 im 0
3685: 25 lessthanorequal
3686: b9 im 57
3687: 38 neqbranch
3688: 83 im 3
3689: e0 im -32
368a: 8c im 12
368b: 08 load
368c: 88 im 8
368d: 05 add
368e: 08 load
368f: 30 neg
3690: 83 im 3
3691: e0 im -32
3692: 8c im 12
3693: 08 load
3694: 88 im 8
3695: 05 add
3696: 0c store
3697: 80 im 0
3698: 0b nop
3699: 83 im 3
369a: e0 im -32
369b: 8c im 12
369c: 08 load
369d: f4 im -12
369e: 05 add
369f: 0c store
36a0: 83 im 3
36a1: e0 im -32
36a2: 8c im 12
36a3: 08 load
36a4: fc im -4
36a5: 05 add
36a6: 08 load
36a7: 8a im 10
36a8: 38 neqbranch
36a9: 81 im 1
36aa: 0b nop
36ab: 83 im 3
36ac: e0 im -32
36ad: 8c im 12
36ae: 08 load
36af: f4 im -12
36b0: 05 add
36b1: 0c store

000036b2 <.L3>:
36b2: 83 im 3
36b3: e0 im -32
36b4: 8c im 12
36b5: 08 load
36b6: f4 im -12
36b7: 05 add
36b8: 08 load
36b9: 83 im 3
36ba: e0 im -32
36bb: 8c im 12
36bc: 08 load
36bd: fc im -4
36be: 05 add
36bf: 0c store

000036c0 <.L2>:
36c0: 83 im 3
36c1: e0 im -32
36c2: 8c im 12
36c3: 08 load
36c4: 8c im 12
36c5: 05 add
36c6: 08 load
36c7: 80 im 0
36c8: 25 lessthanorequal
36c9: b9 im 57
36ca: 38 neqbranch
36cb: 83 im 3
36cc: e0 im -32
36cd: 8c im 12
36ce: 08 load
36cf: 8c im 12
36d0: 05 add
36d1: 08 load
36d2: 30 neg
36d3: 83 im 3
36d4: e0 im -32
36d5: 8c im 12
36d6: 08 load
36d7: 8c im 12
36d8: 05 add
36d9: 0c store
36da: 80 im 0
36db: 0b nop
36dc: 83 im 3
36dd: e0 im -32
36de: 8c im 12
36df: 08 load
36e0: f0 im -16
36e1: 05 add
36e2: 0c store
36e3: 83 im 3
36e4: e0 im -32
36e5: 8c im 12
36e6: 08 load
36e7: fc im -4
36e8: 05 add
36e9: 08 load
36ea: 8a im 10
36eb: 38 neqbranch
36ec: 81 im 1
36ed: 0b nop
36ee: 83 im 3
36ef: e0 im -32
36f0: 8c im 12
36f1: 08 load
36f2: f0 im -16
36f3: 05 add
36f4: 0c store

000036f5 <.L5>:
36f5: 83 im 3
36f6: e0 im -32
36f7: 8c im 12
36f8: 08 load
36f9: f0 im -16
36fa: 05 add
36fb: 08 load
36fc: 83 im 3
36fd: e0 im -32
36fe: 8c im 12
36ff: 08 load
3700: fc im -4
3701: 05 add
3702: 0c store

00003703 <.L4>:
3703: 80 im 0
3704: 53 storesp 12
3705: 83 im 3
3706: e0 im -32
3707: 8c im 12
3708: 08 load
3709: 8c im 12
370a: 05 add
370b: 08 load
370c: 52 storesp 8
370d: 83 im 3
370e: e0 im -32
370f: 8c im 12
3710: 08 load
3711: 88 im 8
3712: 05 add
3713: 08 load
3714: 51 storesp 4
3715: 81 im 1
3716: df im -33
3717: 3f callpcrel
3718: 83 im 3
3719: e0 im -32
371a: 80 im 0
371b: 08 load
371c: 70 loadsp 0
371d: 83 im 3
371e: e0 im -32
371f: 8c im 12
3720: 08 load
3721: f8 im -8
3722: 05 add
3723: 0c store
3724: 54 storesp 16
3725: 83 im 3
3726: e0 im -32
3727: 8c im 12
3728: 08 load
3729: fc im -4
372a: 05 add
372b: 08 load
372c: 80 im 0
372d: 2e eq
372e: 90 im 16
372f: 38 neqbranch
3730: 83 im 3
3731: e0 im -32
3732: 8c im 12
3733: 08 load
3734: f8 im -8
3735: 05 add
3736: 08 load
3737: 30 neg
3738: 83 im 3
3739: e0 im -32
373a: 8c im 12
373b: 08 load
373c: f8 im -8
373d: 05 add
373e: 0c store

0000373f <.L6>:
373f: 83 im 3
3740: e0 im -32
3741: 8c im 12
3742: 08 load
3743: f8 im -8
3744: 05 add
3745: 08 load
3746: 70 loadsp 0
3747: 83 im 3
3748: e0 im -32
3749: 80 im 0
374a: 0c store
374b: 54 storesp 16
374c: 89 im 9
374d: 3d pushspadd
374e: 0d popsp
374f: 83 im 3
3750: e0 im -32
3751: 8c im 12
3752: 0c store
3753: 04 poppc

00003754 <__modsi3>:
3754: 83 im 3
3755: e0 im -32
3756: 8c im 12
3757: 08 load
3758: 02 pushsp
3759: 83 im 3
375a: e0 im -32
375b: 8c im 12
375c: 0c store
375d: fb im -5
375e: 3d pushspadd
375f: 0d popsp
3760: 80 im 0
3761: 0b nop
3762: 83 im 3
3763: e0 im -32
3764: 8c im 12
3765: 08 load
3766: fc im -4
3767: 05 add
3768: 0c store
3769: 83 im 3
376a: e0 im -32
376b: 8c im 12
376c: 08 load
376d: 88 im 8
376e: 05 add
376f: 08 load
3770: 80 im 0
3771: 25 lessthanorequal
3772: 99 im 25
3773: 38 neqbranch
3774: 83 im 3
3775: e0 im -32
3776: 8c im 12
3777: 08 load
3778: 88 im 8
3779: 05 add
377a: 08 load
377b: 30 neg
377c: 83 im 3
377d: e0 im -32
377e: 8c im 12
377f: 08 load
3780: 88 im 8
3781: 05 add
3782: 0c store
3783: 81 im 1
3784: 0b nop
3785: 83 im 3
3786: e0 im -32
3787: 8c im 12
3788: 08 load
3789: fc im -4
378a: 05 add
378b: 0c store

0000378c <.L8>:
378c: 83 im 3
378d: e0 im -32
378e: 8c im 12
378f: 08 load
3790: 8c im 12
3791: 05 add
3792: 08 load
3793: 80 im 0
3794: 25 lessthanorequal
3795: 90 im 16
3796: 38 neqbranch
3797: 83 im 3
3798: e0 im -32
3799: 8c im 12
379a: 08 load
379b: 8c im 12
379c: 05 add
379d: 08 load
379e: 30 neg
379f: 83 im 3
37a0: e0 im -32
37a1: 8c im 12
37a2: 08 load
37a3: 8c im 12
37a4: 05 add
37a5: 0c store

000037a6 <.L9>:
37a6: 81 im 1
37a7: 53 storesp 12
37a8: 83 im 3
37a9: e0 im -32
37aa: 8c im 12
37ab: 08 load
37ac: 8c im 12
37ad: 05 add
37ae: 08 load
37af: 52 storesp 8
37b0: 83 im 3
37b1: e0 im -32
37b2: 8c im 12
37b3: 08 load
37b4: 88 im 8
37b5: 05 add
37b6: 08 load
37b7: 51 storesp 4
37b8: bd im 61
37b9: 3f callpcrel
37ba: 83 im 3
37bb: e0 im -32
37bc: 80 im 0
37bd: 08 load
37be: 70 loadsp 0
37bf: 83 im 3
37c0: e0 im -32
37c1: 8c im 12
37c2: 08 load
37c3: f8 im -8
37c4: 05 add
37c5: 0c store
37c6: 54 storesp 16
37c7: 83 im 3
37c8: e0 im -32
37c9: 8c im 12
37ca: 08 load
37cb: fc im -4
37cc: 05 add
37cd: 08 load
37ce: 80 im 0
37cf: 2e eq
37d0: 90 im 16
37d1: 38 neqbranch
37d2: 83 im 3
37d3: e0 im -32
37d4: 8c im 12
37d5: 08 load
37d6: f8 im -8
37d7: 05 add
37d8: 08 load
37d9: 30 neg
37da: 83 im 3
37db: e0 im -32
37dc: 8c im 12
37dd: 08 load
37de: f8 im -8
37df: 05 add
37e0: 0c store

000037e1 <.L10>:
37e1: 83 im 3
37e2: e0 im -32
37e3: 8c im 12
37e4: 08 load
37e5: f8 im -8
37e6: 05 add
37e7: 08 load
37e8: 70 loadsp 0
37e9: 83 im 3
37ea: e0 im -32
37eb: 80 im 0
37ec: 0c store
37ed: 54 storesp 16
37ee: 87 im 7
37ef: 3d pushspadd
37f0: 0d popsp
37f1: 83 im 3
37f2: e0 im -32
37f3: 8c im 12
37f4: 0c store
37f5: 04 poppc

000037f6 <udivmodsi4>:
37f6: 83 im 3
37f7: e0 im -32
37f8: 8c im 12
37f9: 08 load
37fa: 02 pushsp
37fb: 83 im 3
37fc: e0 im -32
37fd: 8c im 12
37fe: 0c store
37ff: fd im -3
3800: 3d pushspadd
3801: 0d popsp
3802: 81 im 1
3803: 0b nop
3804: 83 im 3
3805: e0 im -32
3806: 8c im 12
3807: 08 load
3808: fc im -4
3809: 05 add
380a: 0c store
380b: 80 im 0
380c: 0b nop
380d: 83 im 3
380e: e0 im -32
380f: 8c im 12
3810: 08 load
3811: f8 im -8
3812: 05 add
3813: 0c store

00003814 <.L2>:
3814: 83 im 3
3815: e0 im -32
3816: 8c im 12
3817: 08 load
3818: 8c im 12
3819: 05 add
381a: 08 load
381b: 83 im 3
381c: e0 im -32
381d: 8c im 12
381e: 08 load
381f: 88 im 8
3820: 05 add
3821: 08 load
3822: 27 ulessthanorequal
3823: b9 im 57
3824: 38 neqbranch
3825: 83 im 3
3826: e0 im -32
3827: 8c im 12
3828: 08 load
3829: fc im -4
382a: 05 add
382b: 08 load
382c: 80 im 0
382d: 2e eq
382e: ae im 46
382f: 38 neqbranch
3830: 80 im 0
3831: 0b nop
3832: 83 im 3
3833: e0 im -32
3834: 8c im 12
3835: 08 load
3836: 8c im 12
3837: 05 add
3838: 08 load
3839: 24 lessthan
383a: a2 im 34
383b: 38 neqbranch
383c: 83 im 3
383d: e0 im -32
383e: 8c im 12
383f: 08 load
3840: 8c im 12
3841: 05 add
3842: 08 load
3843: 10 addsp 0
3844: 83 im 3
3845: e0 im -32
3846: 8c im 12
3847: 08 load
3848: 8c im 12
3849: 05 add
384a: 0c store
384b: 83 im 3
384c: e0 im -32
384d: 8c im 12
384e: 08 load
384f: fc im -4
3850: 05 add
3851: 08 load
3852: 10 addsp 0
3853: 83 im 3
3854: e0 im -32
3855: 8c im 12
3856: 08 load
3857: fc im -4
3858: 05 add
3859: 0c store
385a: ff im -1
385b: b8 im 56
385c: 39 poppcrel

0000385d <.L4>:
385d: 83 im 3
385e: e0 im -32
385f: 8c im 12
3860: 08 load
3861: fc im -4
3862: 05 add
3863: 08 load
3864: 80 im 0
3865: 2e eq
3866: 80 im 0
3867: e1 im -31
3868: 38 neqbranch
3869: 83 im 3
386a: e0 im -32
386b: 8c im 12
386c: 08 load
386d: 8c im 12
386e: 05 add
386f: 08 load
3870: 83 im 3
3871: e0 im -32
3872: 8c im 12
3873: 08 load
3874: 88 im 8
3875: 05 add
3876: 08 load
3877: 26 ulessthan
3878: ad im 45
3879: 38 neqbranch
387a: 83 im 3
387b: e0 im -32
387c: 8c im 12
387d: 08 load
387e: 88 im 8
387f: 05 add
3880: 08 load
3881: 83 im 3
3882: e0 im -32
3883: 8c im 12
3884: 08 load
3885: 8c im 12
3886: 05 add
3887: 08 load
3888: 31 sub
3889: 83 im 3
388a: e0 im -32
388b: 8c im 12
388c: 08 load
388d: 88 im 8
388e: 05 add
388f: 0c store
3890: 83 im 3
3891: e0 im -32
3892: 8c im 12
3893: 08 load
3894: f8 im -8
3895: 05 add
3896: 08 load
3897: 83 im 3
3898: e0 im -32
3899: 8c im 12
389a: 08 load
389b: fc im -4
389c: 05 add
389d: 08 load
389e: 07 or
389f: 83 im 3
38a0: e0 im -32
38a1: 8c im 12
38a2: 08 load
38a3: f8 im -8
38a4: 05 add
38a5: 0c store

000038a6 <.L6>:
38a6: 83 im 3
38a7: e0 im -32
38a8: 8c im 12
38a9: 08 load
38aa: fc im -4
38ab: 05 add
38ac: 08 load
38ad: 81 im 1
38ae: 2a lshiftright
38af: 83 im 3
38b0: e0 im -32
38b1: 8c im 12
38b2: 08 load
38b3: fc im -4
38b4: 05 add
38b5: 0c store
38b6: 83 im 3
38b7: e0 im -32
38b8: 8c im 12
38b9: 08 load
38ba: 8c im 12
38bb: 05 add
38bc: 08 load
38bd: 81 im 1
38be: 2a lshiftright
38bf: 83 im 3
38c0: e0 im -32
38c1: 8c im 12
38c2: 08 load
38c3: 8c im 12
38c4: 05 add
38c5: 0c store
38c6: ff im -1
38c7: 95 im 21
38c8: 39 poppcrel

000038c9 <.L5>:
38c9: 83 im 3
38ca: e0 im -32
38cb: 8c im 12
38cc: 08 load
38cd: 90 im 16
38ce: 05 add
38cf: 08 load
38d0: 80 im 0
38d1: 2e eq
38d2: 93 im 19
38d3: 38 neqbranch
38d4: 83 im 3
38d5: e0 im -32
38d6: 8c im 12
38d7: 08 load
38d8: 88 im 8
38d9: 05 add
38da: 08 load
38db: 70 loadsp 0
38dc: 83 im 3
38dd: e0 im -32
38de: 8c im 12
38df: 08 load
38e0: f4 im -12
38e1: 05 add
38e2: 0c store
38e3: 51 storesp 4
38e4: 91 im 17
38e5: 39 poppcrel

000038e6 <.L7>:
38e6: 83 im 3
38e7: e0 im -32
38e8: 8c im 12
38e9: 08 load
38ea: f8 im -8
38eb: 05 add
38ec: 08 load
38ed: 70 loadsp 0
38ee: 83 im 3
38ef: e0 im -32
38f0: 8c im 12
38f1: 08 load
38f2: f4 im -12
38f3: 05 add
38f4: 0c store
38f5: 51 storesp 4

000038f6 <.L1>:
38f6: 83 im 3
38f7: e0 im -32
38f8: 8c im 12
38f9: 08 load
38fa: f4 im -12
38fb: 05 add
38fc: 08 load
38fd: 83 im 3
38fe: e0 im -32
38ff: 80 im 0
3900: 0c store
3901: 85 im 5
3902: 3d pushspadd
3903: 0d popsp
3904: 83 im 3
3905: e0 im -32
3906: 8c im 12
3907: 0c store
3908: 04 poppc

00003909 <__mulsi3>:
3909: 83 im 3
390a: e0 im -32
390b: 8c im 12
390c: 08 load
390d: 02 pushsp
390e: 83 im 3
390f: e0 im -32
3910: 8c im 12
3911: 0c store
3912: ff im -1
3913: 3d pushspadd
3914: 0d popsp
3915: 80 im 0
3916: 0b nop
3917: 83 im 3
3918: e0 im -32
3919: 8c im 12
391a: 08 load
391b: fc im -4
391c: 05 add
391d: 0c store

0000391e <.L2>:
391e: 83 im 3
391f: e0 im -32
3920: 8c im 12
3921: 08 load
3922: 88 im 8
3923: 05 add
3924: 08 load
3925: 81 im 1
3926: 06 and
3927: ff im -1
3928: 11 addsp 4
3929: 70 loadsp 0
392a: 09 not
392b: 70 loadsp 0
392c: 83 im 3
392d: e0 im -32
392e: 8c im 12
392f: 08 load
3930: 8c im 12
3931: 05 add
3932: 08 load
3933: 06 and
3934: 83 im 3
3935: e0 im -32
3936: 8c im 12
3937: 08 load
3938: fc im -4
3939: 05 add
393a: 08 load
393b: 11 addsp 4
393c: 83 im 3
393d: e0 im -32
393e: 8c im 12
393f: 08 load
3940: fc im -4
3941: 05 add
3942: 0c store
3943: 83 im 3
3944: e0 im -32
3945: 8c im 12
3946: 08 load
3947: 88 im 8
3948: 05 add
3949: 08 load
394a: 81 im 1
394b: 2a lshiftright
394c: 83 im 3
394d: e0 im -32
394e: 8c im 12
394f: 08 load
3950: 88 im 8
3951: 05 add
3952: 0c store
3953: 83 im 3
3954: e0 im -32
3955: 8c im 12
3956: 08 load
3957: 8c im 12
3958: 05 add
3959: 08 load
395a: 10 addsp 0
395b: 83 im 3
395c: e0 im -32
395d: 8c im 12
395e: 08 load
395f: 8c im 12
3960: 05 add
3961: 0c store
3962: 51 storesp 4
3963: 51 storesp 4
3964: 51 storesp 4
3965: 51 storesp 4
3966: 83 im 3
3967: e0 im -32
3968: 8c im 12
3969: 08 load
396a: 88 im 8
396b: 05 add
396c: 08 load
396d: 80 im 0
396e: 2e eq
396f: 84 im 4
3970: 38 neqbranch
3971: ff im -1
3972: ab im 43
3973: 39 poppcrel

00003974 <.L3>:
3974: 83 im 3
3975: e0 im -32
3976: 8c im 12
3977: 08 load
3978: fc im -4
3979: 05 add
397a: 08 load
397b: 70 loadsp 0
397c: 83 im 3
397d: e0 im -32
397e: 80 im 0
397f: 0c store
3980: 51 storesp 4
3981: 83 im 3
3982: 3d pushspadd
3983: 0d popsp
3984: 83 im 3
3985: e0 im -32
3986: 8c im 12
3987: 0c store
3988: 04 poppc

00003989 <memcpy>:
3989: fc im -4
398a: 3d pushspadd
398b: 0d popsp
398c: 76 loadsp 24

0000398d <.LM2>:
398d: 70 loadsp 0

0000398e <.LM3>:
398e: 79 loadsp 36

0000398f <.LM4>:
398f: 7b loadsp 44
3990: 55 storesp 20
3991: 55 storesp 20
3992: 55 storesp 20
3993: 55 storesp 20

00003994 <.LM5>:
3994: 8f im 15
3995: 72 loadsp 8
3996: 27 ulessthanorequal
3997: 8c im 12
3998: 38 neqbranch
3999: 72 loadsp 8
399a: 75 loadsp 20
399b: 07 or
399c: 83 im 3
399d: 06 and
399e: 51 storesp 4
399f: 70 loadsp 0
39a0: 80 im 0
39a1: 2e eq
39a2: a9 im 41
39a3: 38 neqbranch

000039a4 <.L2>:
39a4: ff im -1
39a5: 12 addsp 8
39a6: 52 storesp 8
39a7: 71 loadsp 4
39a8: ff im -1
39a9: 2e eq
39aa: 98 im 24
39ab: 38 neqbranch

000039ac <.L21>:
39ac: 72 loadsp 8
39ad: 70 loadsp 0
39ae: 81 im 1
39af: 05 add
39b0: 54 storesp 16
39b1: 33 loadb
39b2: 74 loadsp 16
39b3: 70 loadsp 0
39b4: 81 im 1
39b5: 05 add
39b6: 56 storesp 24
39b7: 34 storeb
39b8: ff im -1
39b9: 12 addsp 8
39ba: 52 storesp 8
39bb: 71 loadsp 4
39bc: ff im -1
39bd: 2e eq
39be: 09 not
39bf: 81 im 1
39c0: 06 and
39c1: ea im -22
39c2: 38 neqbranch

000039c3 <.L17>:
39c3: 74 loadsp 16
39c4: 83 im 3
39c5: e0 im -32
39c6: 80 im 0
39c7: 0c store
39c8: 86 im 6
39c9: 3d pushspadd
39ca: 0d popsp
39cb: 04 poppc

000039cc <.L20>:
39cc: 74 loadsp 16
39cd: 51 storesp 4

000039ce <.L5>:
39ce: 72 loadsp 8
39cf: 70 loadsp 0
39d0: 84 im 4
39d1: 05 add
39d2: 54 storesp 16
39d3: 08 load
39d4: 71 loadsp 4
39d5: 70 loadsp 0
39d6: 84 im 4
39d7: 05 add
39d8: 53 storesp 12
39d9: 0c store

000039da <.LM10>:
39da: 72 loadsp 8
39db: 70 loadsp 0
39dc: 84 im 4
39dd: 05 add
39de: 54 storesp 16
39df: 08 load
39e0: 71 loadsp 4
39e1: 70 loadsp 0
39e2: 84 im 4
39e3: 05 add
39e4: 53 storesp 12
39e5: 0c store

000039e6 <.LM11>:
39e6: 72 loadsp 8
39e7: 70 loadsp 0
39e8: 84 im 4
39e9: 05 add
39ea: 54 storesp 16
39eb: 08 load
39ec: 71 loadsp 4
39ed: 70 loadsp 0
39ee: 84 im 4
39ef: 05 add
39f0: 53 storesp 12
39f1: 0c store

000039f2 <.LM12>:
39f2: 72 loadsp 8
39f3: 70 loadsp 0
39f4: 84 im 4
39f5: 05 add
39f6: 54 storesp 16
39f7: 08 load
39f8: 71 loadsp 4
39f9: 70 loadsp 0
39fa: 84 im 4
39fb: 05 add
39fc: 53 storesp 12
39fd: 0c store

000039fe <.LM13>:
39fe: f0 im -16
39ff: 12 addsp 8
3a00: 52 storesp 8
3a01: 71 loadsp 4
3a02: 8f im 15
3a03: 26 ulessthan
3a04: c9 im -55
3a05: 38 neqbranch

00003a06 <.LM14>:
3a06: 83 im 3
3a07: 72 loadsp 8
3a08: 27 ulessthanorequal
3a09: 95 im 21
3a0a: 38 neqbranch

00003a0b <.L22>:
3a0b: 72 loadsp 8
3a0c: 70 loadsp 0
3a0d: 84 im 4
3a0e: 05 add
3a0f: 54 storesp 16
3a10: 08 load
3a11: 71 loadsp 4
3a12: 70 loadsp 0
3a13: 84 im 4
3a14: 05 add
3a15: 53 storesp 12
3a16: 0c store

00003a17 <.LM16>:
3a17: fc im -4
3a18: 12 addsp 8
3a19: 52 storesp 8
3a1a: 71 loadsp 4
3a1b: 83 im 3
3a1c: 26 ulessthan
3a1d: ed im -19
3a1e: 38 neqbranch

00003a1f <.L15>:
3a1f: 70 loadsp 0
3a20: 54 storesp 16
3a21: ff im -1
3a22: 81 im 1
3a23: 39 poppcrel