OpenCores
URL https://opencores.org/ocsvn/openmsp430/openmsp430/trunk

Subversion Repositories openmsp430

[/] [openmsp430/] [trunk/] [fpga/] [altera_de0_nano_soc/] [doc/] [Terasic/] [DE0_NANO_SOC/] [Demonstrations/] [FPGA/] [DE0_NANO_SOC_ADC/] [software/] [DE0_NANO_SOC_ADC/] [DE0_NANO_SOC_ADC.objdump] - Blame information for rev 221

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 221 olivier.gi
 
2
DE0_NANO_SOC_ADC.elf:     file format elf32-littlenios2
3
DE0_NANO_SOC_ADC.elf
4
architecture: nios2, flags 0x00000112:
5
EXEC_P, HAS_SYMS, D_PAGED
6
start address 0x000401b8
7
 
8
Program Header:
9
    LOAD off    0x00001000 vaddr 0x00040000 paddr 0x00040000 align 2**12
10
         filesz 0x00000020 memsz 0x00000020 flags r-x
11
    LOAD off    0x00001020 vaddr 0x00040020 paddr 0x00040020 align 2**12
12
         filesz 0x0000c4f4 memsz 0x0000c4f4 flags r-x
13
    LOAD off    0x0000d514 vaddr 0x0004c514 paddr 0x0004df6c align 2**12
14
         filesz 0x00001a58 memsz 0x00001a58 flags rw-
15
    LOAD off    0x0000f9c4 vaddr 0x0004f9c4 paddr 0x0004f9c4 align 2**12
16
         filesz 0x00000000 memsz 0x000002ec flags rw-
17
 
18
Sections:
19
Idx Name          Size      VMA       LMA       File off  Algn
20
 
21
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
22
  1 .exceptions   00000198  00040020  00040020  00001020  2**2
23
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
24
  2 .text         0000bff4  000401b8  000401b8  000011b8  2**2
25
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
26
  3 .rodata       00000368  0004c1ac  0004c1ac  0000d1ac  2**2
27
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
28
  4 .rwdata       00001a58  0004c514  0004df6c  0000d514  2**2
29
                  CONTENTS, ALLOC, LOAD, DATA, SMALL_DATA
30
  5 .bss          000002ec  0004f9c4  0004f9c4  0000f9c4  2**2
31
                  ALLOC, SMALL_DATA
32
  6 .comment      00000023  00000000  00000000  0000ef6c  2**0
33
                  CONTENTS, READONLY
34
  7 .debug_aranges 00000e00  00000000  00000000  0000ef90  2**3
35
                  CONTENTS, READONLY, DEBUGGING
36
  8 .debug_info   00023366  00000000  00000000  0000fd90  2**0
37
                  CONTENTS, READONLY, DEBUGGING
38
  9 .debug_abbrev 0000952b  00000000  00000000  000330f6  2**0
39
                  CONTENTS, READONLY, DEBUGGING
40
 10 .debug_line   0000a205  00000000  00000000  0003c621  2**0
41
                  CONTENTS, READONLY, DEBUGGING
42
 11 .debug_frame  00001848  00000000  00000000  00046828  2**2
43
                  CONTENTS, READONLY, DEBUGGING
44
 12 .debug_str    00002c81  00000000  00000000  00048070  2**0
45
                  CONTENTS, READONLY, DEBUGGING
46
 13 .debug_loc    00010a04  00000000  00000000  0004acf1  2**0
47
                  CONTENTS, READONLY, DEBUGGING
48
 14 .debug_alt_sim_info 00000060  00000000  00000000  0005b6f8  2**2
49
                  CONTENTS, READONLY, DEBUGGING
50
 15 .debug_ranges 00000a88  00000000  00000000  0005b758  2**3
51
                  CONTENTS, READONLY, DEBUGGING
52
 16 .thread_model 00000003  00000000  00000000  0005f1a1  2**0
53
                  CONTENTS, READONLY
54
 17 .cpu          0000000a  00000000  00000000  0005f1a4  2**0
55
                  CONTENTS, READONLY
56
 18 .qsys         00000001  00000000  00000000  0005f1ae  2**0
57
                  CONTENTS, READONLY
58
 19 .simulation_enabled 00000001  00000000  00000000  0005f1af  2**0
59
                  CONTENTS, READONLY
60
 20 .sysid_hash   00000004  00000000  00000000  0005f1b0  2**0
61
                  CONTENTS, READONLY
62
 21 .sysid_base   00000004  00000000  00000000  0005f1b4  2**0
63
                  CONTENTS, READONLY
64
 22 .sysid_time   00000004  00000000  00000000  0005f1b8  2**0
65
                  CONTENTS, READONLY
66
 23 .stderr_dev   00000009  00000000  00000000  0005f1bc  2**0
67
                  CONTENTS, READONLY
68
 24 .stdin_dev    00000009  00000000  00000000  0005f1c5  2**0
69
                  CONTENTS, READONLY
70
 25 .stdout_dev   00000009  00000000  00000000  0005f1ce  2**0
71
                  CONTENTS, READONLY
72
 26 .sopc_system_name 00000011  00000000  00000000  0005f1d7  2**0
73
                  CONTENTS, READONLY
74
 27 .quartus_project_dir 00000024  00000000  00000000  0005f1e8  2**0
75
                  CONTENTS, READONLY
76
 28 .jdi          00005567  00000000  00000000  0005f20c  2**0
77
                  CONTENTS, READONLY
78
 29 .sopcinfo     00054d1c  00000000  00000000  00064773  2**0
79
                  CONTENTS, READONLY
80
SYMBOL TABLE:
81
00040000 l    d  .entry 00000000 .entry
82
00040020 l    d  .exceptions    00000000 .exceptions
83
000401b8 l    d  .text  00000000 .text
84
0004c1ac l    d  .rodata        00000000 .rodata
85
0004c514 l    d  .rwdata        00000000 .rwdata
86
0004f9c4 l    d  .bss   00000000 .bss
87
00000000 l    d  .comment       00000000 .comment
88
00000000 l    d  .debug_aranges 00000000 .debug_aranges
89
00000000 l    d  .debug_info    00000000 .debug_info
90
00000000 l    d  .debug_abbrev  00000000 .debug_abbrev
91
00000000 l    d  .debug_line    00000000 .debug_line
92
00000000 l    d  .debug_frame   00000000 .debug_frame
93
00000000 l    d  .debug_str     00000000 .debug_str
94
00000000 l    d  .debug_loc     00000000 .debug_loc
95
00000000 l    d  .debug_alt_sim_info    00000000 .debug_alt_sim_info
96
00000000 l    d  .debug_ranges  00000000 .debug_ranges
97
00000000 l    df *ABS*  00000000 ../DE0_NANO_SOC_ADC_bsp//obj/HAL/src/crt0.o
98
00040200 l       .text  00000000 alt_after_alt_main
99
00000000 l    df *ABS*  00000000 alt_exception_entry.o
100
00040094 l       .exceptions    00000000 alt_exception_unknown
101
00000000 l    df *ABS*  00000000 alt_irq_handler.c
102
00000000 l    df *ABS*  00000000 main.c
103
00000000 l    df *ABS*  00000000 fp-bit.c
104
00000000 l    df *ABS*  00000000 fp-bit.c
105
00000000 l    df *ABS*  00000000 fp-bit.c
106
00000000 l    df *ABS*  00000000 fp-bit.c
107
00000000 l    df *ABS*  00000000 fp-bit.c
108
00000000 l    df *ABS*  00000000 libgcc2.c
109
00000000 l    df *ABS*  00000000 fp-bit.c
110
00000000 l    df *ABS*  00000000 fp-bit.c
111
00000000 l    df *ABS*  00000000 fp-bit.c
112
00000000 l    df *ABS*  00000000 fp-bit.c
113
00000000 l    df *ABS*  00000000 libgcc2.c
114
00000000 l    df *ABS*  00000000 libgcc2.c
115
00000000 l    df *ABS*  00000000 libgcc2.c
116
00000000 l    df *ABS*  00000000 printf.c
117
00000000 l    df *ABS*  00000000 puts.c
118
00000000 l    df *ABS*  00000000 strlen.c
119
00000000 l    df *ABS*  00000000 vfprintf.c
120
00040e30 l     F .text  00000034 __sprint_r
121
0004c34e l     O .rodata        00000010 blanks.3546
122
0004c35e l     O .rodata        00000010 zeroes.3547
123
00000000 l    df *ABS*  00000000 wsetup.c
124
00000000 l    df *ABS*  00000000 dtoa.c
125
00042df4 l     F .text  00000208 quorem
126
00000000 l    df *ABS*  00000000 fflush.c
127
00000000 l    df *ABS*  00000000 findfp.c
128
00044830 l     F .text  00000008 __fp_lock
129
00044838 l     F .text  00000008 __fp_unlock
130
00000000 l    df *ABS*  00000000 mallocr.c
131
00000000 l    df *ABS*  00000000 fvwrite.c
132
00000000 l    df *ABS*  00000000 fwalk.c
133
00000000 l    df *ABS*  00000000 impure.c
134
0004c514 l     O .rwdata        00000400 impure_data
135
00000000 l    df *ABS*  00000000 locale.c
136
0004c394 l     O .rodata        00000030 lconv
137
00000000 l    df *ABS*  00000000 makebuf.c
138
00000000 l    df *ABS*  00000000 mallocr.c
139
00000000 l    df *ABS*  00000000 memchr.c
140
00000000 l    df *ABS*  00000000 memcpy.c
141
00000000 l    df *ABS*  00000000 memmove.c
142
00000000 l    df *ABS*  00000000 memset.c
143
00000000 l    df *ABS*  00000000 mprec.c
144
0004c4dc l     O .rodata        0000000c p05.2466
145
00000000 l    df *ABS*  00000000 mallocr.c
146
00000000 l    df *ABS*  00000000 s_isinfd.c
147
00000000 l    df *ABS*  00000000 s_isnand.c
148
00000000 l    df *ABS*  00000000 sbrkr.c
149
00000000 l    df *ABS*  00000000 stdio.c
150
00000000 l    df *ABS*  00000000 strcmp.c
151
00000000 l    df *ABS*  00000000 writer.c
152
00000000 l    df *ABS*  00000000 mallocr.c
153
00000000 l    df *ABS*  00000000 closer.c
154
00000000 l    df *ABS*  00000000 fclose.c
155
00000000 l    df *ABS*  00000000 fstatr.c
156
00000000 l    df *ABS*  00000000 int_errno.c
157
00000000 l    df *ABS*  00000000 isattyr.c
158
00000000 l    df *ABS*  00000000 lseekr.c
159
00000000 l    df *ABS*  00000000 readr.c
160
00000000 l    df *ABS*  00000000 libgcc2.c
161
00000000 l    df *ABS*  00000000 libgcc2.c
162
00000000 l    df *ABS*  00000000 fp-bit.c
163
00048b78 l     F .text  00000354 _fpadd_parts
164
00000000 l    df *ABS*  00000000 fp-bit.c
165
00000000 l    df *ABS*  00000000 fp-bit.c
166
00000000 l    df *ABS*  00000000 fp-bit.c
167
00000000 l    df *ABS*  00000000 fp-bit.c
168
00000000 l    df *ABS*  00000000 fp-bit.c
169
00000000 l    df *ABS*  00000000 fp-bit.c
170
00000000 l    df *ABS*  00000000 fp-bit.c
171
00000000 l    df *ABS*  00000000 fp-bit.c
172
00000000 l    df *ABS*  00000000 fp-bit.c
173
00000000 l    df *ABS*  00000000 lib2-divmod.c
174
000496f4 l     F .text  00000074 udivmodsi4
175
00000000 l    df *ABS*  00000000 libgcc2.c
176
00000000 l    df *ABS*  00000000 fp-bit.c
177
00000000 l    df *ABS*  00000000 alt_close.c
178
00049954 l     F .text  00000050 alt_get_errno
179
00000000 l    df *ABS*  00000000 alt_dev.c
180
00049a6c l     F .text  0000002c alt_dev_null_write
181
00000000 l    df *ABS*  00000000 alt_errno.c
182
00000000 l    df *ABS*  00000000 alt_fstat.c
183
00049a98 l     F .text  00000050 alt_get_errno
184
00000000 l    df *ABS*  00000000 alt_isatty.c
185
00049b94 l     F .text  00000050 alt_get_errno
186
00000000 l    df *ABS*  00000000 alt_load.c
187
00049c84 l     F .text  0000006c alt_load_section
188
00000000 l    df *ABS*  00000000 alt_lseek.c
189
00049d70 l     F .text  00000050 alt_get_errno
190
00000000 l    df *ABS*  00000000 alt_main.c
191
00000000 l    df *ABS*  00000000 alt_malloc_lock.c
192
00000000 l    df *ABS*  00000000 alt_read.c
193
00049f48 l     F .text  00000050 alt_get_errno
194
00000000 l    df *ABS*  00000000 alt_release_fd.c
195
00000000 l    df *ABS*  00000000 alt_sbrk.c
196
0004df5c l     O .rwdata        00000004 heap_end
197
00000000 l    df *ABS*  00000000 alt_usleep.c
198
00000000 l    df *ABS*  00000000 alt_write.c
199
0004a1c8 l     F .text  00000050 alt_get_errno
200
00000000 l    df *ABS*  00000000 alt_sys_init.c
201
0004a304 l     F .text  00000038 alt_dev_reg
202
0004ced0 l     O .rwdata        00001060 jtag_uart
203
00000000 l    df *ABS*  00000000 altera_avalon_jtag_uart_fd.c
204
00000000 l    df *ABS*  00000000 altera_avalon_jtag_uart_init.c
205
0004a5dc l     F .text  00000204 altera_avalon_jtag_uart_irq
206
0004a7e0 l     F .text  000000a4 altera_avalon_jtag_uart_timeout
207
00000000 l    df *ABS*  00000000 altera_avalon_jtag_uart_ioctl.c
208
00000000 l    df *ABS*  00000000 altera_avalon_jtag_uart_read.c
209
00000000 l    df *ABS*  00000000 altera_avalon_jtag_uart_write.c
210
00000000 l    df *ABS*  00000000 alt_alarm_start.c
211
00000000 l    df *ABS*  00000000 alt_busy_sleep.c
212
00000000 l    df *ABS*  00000000 alt_dcache_flush_all.c
213
00000000 l    df *ABS*  00000000 alt_dev_llist_insert.c
214
0004b0f0 l     F .text  00000050 alt_get_errno
215
00000000 l    df *ABS*  00000000 alt_do_ctors.c
216
00000000 l    df *ABS*  00000000 alt_do_dtors.c
217
00000000 l    df *ABS*  00000000 alt_icache_flush_all.c
218
00000000 l    df *ABS*  00000000 alt_iic.c
219
00000000 l    df *ABS*  00000000 alt_iic_isr_register.c
220
00000000 l    df *ABS*  00000000 alt_io_redirect.c
221
0004b590 l     F .text  000000c0 alt_open_fd
222
00000000 l    df *ABS*  00000000 alt_irq_vars.c
223
00000000 l    df *ABS*  00000000 alt_open.c
224
0004b6c8 l     F .text  00000050 alt_get_errno
225
0004b718 l     F .text  000000cc alt_file_locked
226
00000000 l    df *ABS*  00000000 alt_tick.c
227
00000000 l    df *ABS*  00000000 altera_nios2_qsys_irq.c
228
00000000 l    df *ABS*  00000000 alt_find_dev.c
229
00000000 l    df *ABS*  00000000 alt_find_file.c
230
00000000 l    df *ABS*  00000000 alt_get_fd.c
231
00000000 l    df *ABS*  00000000 alt_icache_flush.c
232
00000000 l    df *ABS*  00000000 atexit.c
233
00000000 l    df *ABS*  00000000 exit.c
234
00000000 l    df *ABS*  00000000 memcmp.c
235
00000000 l    df *ABS*  00000000 __atexit.c
236
00000000 l    df *ABS*  00000000 __call_atexit.c
237
00000000 l    df *ABS*  00000000 alt_exit.c
238
00000000 l    df *ABS*  00000000
239
00047188 g     F .text  00000074 _mprec_log10
240
00047278 g     F .text  00000084 __any_on
241
00047ee8 g     F .text  00000064 _isatty_r
242
0004c3c4 g     O .rodata        00000028 __mprec_tinytens
243
00049e90 g     F .text  00000078 alt_main
244
00040c60 g     F .text  00000044 __ashldi3
245
00040d0c g     F .text  00000084 _puts_r
246
0004fa20 g     O .bss   00000100 alt_irq
247
00047f4c g     F .text  0000006c _lseek_r
248
0004df6c g       *ABS*  00000000 __flash_rwdata_start
249
00049264 g     F .text  0000005c __eqdf2
250
0004fcb0 g       *ABS*  00000000 __alt_heap_start
251
00040cd0 g     F .text  0000003c printf
252
00047a9c g     F .text  0000005c __sseek
253
000448c0 g     F .text  0000010c __sinit
254
00045558 g     F .text  0000009c _setlocale_r
255
0004484c g     F .text  00000064 __sfmoreglue
256
00049f28 g     F .text  00000020 __malloc_unlock
257
00046150 g     F .text  00000128 memmove
258
000448b0 g     F .text  00000010 _cleanup
259
00046354 g     F .text  000000a8 _Balloc
260
0004931c g     F .text  00000064 __gtdf2
261
00000000  w      *UND*  00000000 __errno
262
00040000 g     F .entry 0000001c __reset
263
00040020 g       *ABS*  00000000 __flash_exceptions_start
264
00047e80 g     F .text  00000068 _fstat_r
265
0004f9dc g     O .bss   00000004 errno
266
0004061c g     F .text  00000038 __make_dp
267
0004f9e4 g     O .bss   00000004 alt_argv
268
00055f30 g       *ABS*  00000000 _gp
269
0004a198 g     F .text  00000030 usleep
270
0004cd50 g     O .rwdata        00000180 alt_fd_list
271
0004baf4 g     F .text  00000090 alt_find_dev
272
00046058 g     F .text  000000f8 memcpy
273
00044840 g     F .text  0000000c _cleanup_r
274
00049440 g     F .text  000000d4 __floatsidf
275
0004b650 g     F .text  00000078 alt_io_redirect
276
000493e4 g     F .text  0000005c __ltdf2
277
0004c1ac g       *ABS*  00000000 __DTOR_END__
278
00040d90 g     F .text  00000014 puts
279
000470e4 g     F .text  000000a4 __ratio
280
0004a9e0 g     F .text  00000218 altera_avalon_jtag_uart_read
281
00000000  w      *UND*  00000000 malloc
282
00040ca4 g     F .text  0000002c _printf_r
283
00049814 g     F .text  00000008 __udivsi3
284
00049be4 g     F .text  000000a0 isatty
285
0004c414 g     O .rodata        000000c8 __mprec_tens
286
000455f4 g     F .text  0000000c __locale_charset
287
0004bd4c g     F .text  0000008c alt_icache_flush
288
0004f9d8 g     O .bss   00000004 __malloc_top_pad
289
0004df38 g     O .rwdata        00000004 __mb_cur_max
290
00045600 g     F .text  0000000c _localeconv_r
291
00046754 g     F .text  0000003c __i2b
292
00044f14 g     F .text  000004e4 __sfvwrite_r
293
0004795c g     F .text  00000064 _sbrk_r
294
00047fb8 g     F .text  0000006c _read_r
295
0004c914 g     O .rwdata        0000000c __lc_ctype
296
0004df54 g     O .rwdata        00000004 alt_max_fd
297
00040b18 g     F .text  00000104 __unpack_d
298
00047d30 g     F .text  0000013c _fclose_r
299
00044800 g     F .text  00000030 fflush
300
0004f9d4 g     O .bss   00000004 __malloc_max_sbrked_mem
301
00040424 g     F .text  00000044 __extendsfdf2
302
00048ecc g     F .text  00000054 __adddf3
303
00046e58 g     F .text  00000148 __b2d
304
000485ec g     F .text  0000058c __umoddi3
305
00049dc0 g     F .text  000000d0 lseek
306
0004df30 g     O .rwdata        00000004 _global_impure_ptr
307
000472fc g     F .text  000005fc _realloc_r
308
0004fcb0 g       *ABS*  00000000 __bss_end
309
0004b4a0 g     F .text  000000f0 alt_iic_isr_register
310
0004b9d0 g     F .text  00000104 alt_tick
311
00048024 g     F .text  000005c8 __udivdi3
312
0004c3ec g     O .rodata        00000028 __mprec_bigtens
313
00046538 g     F .text  00000104 __s2b
314
000495d8 g     F .text  0000011c __floatunsidf
315
00046bf8 g     F .text  00000058 __mcmp
316
00044ad8 g     F .text  00000018 __fp_lock_all
317
0004b454 g     F .text  0000004c alt_ic_irq_enabled
318
0004b938 g     F .text  00000098 alt_alarm_stop
319
0004f9ec g     O .bss   00000004 alt_irq_active
320
000400ec g     F .exceptions    000000cc alt_irq_handler
321
0004cd28 g     O .rwdata        00000028 alt_dev_null
322
0004082c g     F .text  000000c8 __unpack_f
323
0004b0ac g     F .text  00000044 alt_dcache_flush_all
324
0004663c g     F .text  00000068 __hi0bits
325
00049514 g     F .text  000000c4 __fixdfsi
326
0004df6c g       *ABS*  00000000 __ram_rwdata_end
327
0004df4c g     O .rwdata        00000008 alt_dev_list
328
0004a218 g     F .text  000000ec write
329
0004c514 g       *ABS*  00000000 __ram_rodata_end
330
00049ae8 g     F .text  000000ac fstat
331
00040c1c g     F .text  00000044 __lshrdi3
332
00046970 g     F .text  0000012c __pow5mult
333
0004f9cc g     O .bss   00000004 __nlocale_changed
334
0004981c g     F .text  00000008 __umodsi3
335
0004fcb0 g       *ABS*  00000000 end
336
00040700 g     F .text  0000012c __pack_f
337
0004a51c g     F .text  000000c0 altera_avalon_jtag_uart_init
338
0004c1ac g       *ABS*  00000000 __CTOR_LIST__
339
00067100 g       *ABS*  00000000 __alt_stack_pointer
340
00040654 g     F .text  000000ac __clzsi2
341
0004abf8 g     F .text  00000220 altera_avalon_jtag_uart_write
342
00044ac8 g     F .text  00000004 __sfp_lock_acquire
343
00045f60 g     F .text  000000f8 memchr
344
00040e64 g     F .text  00001df8 ___vfprintf_internal_r
345
00044c44 g     F .text  000002d0 _free_r
346
0004bfd0 g     F .text  000001a0 __call_exitprocs
347
0004f9c8 g     O .bss   00000004 __mlocale_changed
348
0004df3c g     O .rwdata        00000004 __malloc_sbrk_base
349
000401b8 g     F .text  0000004c _start
350
0004f9f0 g     O .bss   00000004 _alt_tick_rate
351
00046a9c g     F .text  0000015c __lshift
352
0004f9f4 g     O .bss   00000004 _alt_nticks
353
00049f98 g     F .text  000000f0 read
354
0004a370 g     F .text  00000048 alt_sys_init
355
00040380 g     F .text  000000a4 __floatsisf
356
0004bea0 g     F .text  00000130 __register_exitproc
357
00046790 g     F .text  000001e0 __multiply
358
0004a884 g     F .text  00000068 altera_avalon_jtag_uart_close
359
0004c514 g       *ABS*  00000000 __ram_rwdata_start
360
0004c1ac g       *ABS*  00000000 __ram_rodata_start
361
0004f9f8 g     O .bss   00000028 __malloc_current_mallinfo
362
00046fa0 g     F .text  00000144 __d2b
363
0004a3b8 g     F .text  00000060 altera_avalon_jtag_uart_read_fd
364
0004bc98 g     F .text  000000b4 alt_get_fd
365
0004af58 g     F .text  00000154 alt_busy_sleep
366
00049884 g     F .text  000000d0 __fpcmp_parts_d
367
00047ccc g     F .text  00000064 _close_r
368
0004be24 g     F .text  0000007c memcmp
369
0004a478 g     F .text  00000050 altera_avalon_jtag_uart_close_fd
370
0004fcb0 g       *ABS*  00000000 __alt_stack_base
371
0004a4c8 g     F .text  00000054 altera_avalon_jtag_uart_ioctl_fd
372
00042c80 g     F .text  00000174 __swsetup_r
373
00040468 g     F .text  000001b4 __divdf3
374
000449cc g     F .text  000000fc __sfp
375
000471fc g     F .text  0000007c __copybits
376
0004c920 g     O .rwdata        00000408 __malloc_av_
377
00044ad4 g     F .text  00000004 __sinit_lock_release
378
00048f80 g     F .text  000002e4 __muldf3
379
000479c0 g     F .text  00000054 __sread
380
0004bb84 g     F .text  00000114 alt_find_file
381
0004b140 g     F .text  000000a0 alt_dev_llist_insert
382
00049f08 g     F .text  00000020 __malloc_lock
383
0004a0e8 g     F .text  000000b0 sbrk
384
00044618 g     F .text  000001e8 _fflush_r
385
00047c10 g     F .text  000000bc _calloc_r
386
0004f9c4 g       *ABS*  00000000 __bss_start
387
00046278 g     F .text  000000dc memset
388
00040204 g     F .text  0000017c main
389
0004f9e8 g     O .bss   00000004 alt_envp
390
0004f9d0 g     O .bss   00000004 __malloc_max_total_mem
391
0004a418 g     F .text  00000060 altera_avalon_jtag_uart_write_fd
392
00047af8 g     F .text  00000008 __sclose
393
00067100 g       *ABS*  00000000 __alt_heap_limit
394
00047e6c g     F .text  00000014 fclose
395
0004fb20 g     O .bss   00000190 _atexit0
396
00042ffc g     F .text  0000161c _dtoa_r
397
000457dc g     F .text  00000784 _malloc_r
398
0004df58 g     O .rwdata        00000004 alt_errno
399
000453f8 g     F .text  000000a8 _fwalk
400
00049768 g     F .text  00000050 __divsi3
401
0004c1f4 g     O .rodata        00000014 __thenan_df
402
00044b08 g     F .text  0000013c _malloc_trim_r
403
0004c1ac g       *ABS*  00000000 __CTOR_END__
404
00047b00 g     F .text  000000a4 strcmp
405
0004c1ac g       *ABS*  00000000 __flash_rodata_start
406
0004c1ac g       *ABS*  00000000 __DTOR_LIST__
407
000492c0 g     F .text  0000005c __nedf2
408
0004a33c g     F .text  00000034 alt_irq_init
409
0004a088 g     F .text  00000060 alt_release_fd
410
0004c208 g     O .rodata        00000100 __clz_tab
411
0004f9c4 g     O .bss   00000004 _PathLocale
412
0004bdd8 g     F .text  00000014 atexit
413
00047ba4 g     F .text  0000006c _write_r
414
0004560c g     F .text  0000001c setlocale
415
0004df34 g     O .rwdata        00000004 _impure_ptr
416
0004f9e0 g     O .bss   00000004 alt_argc
417
0004b23c g     F .text  0000005c _do_dtors
418
00040020 g       .exceptions    00000000 alt_irq_entry
419
00046df8 g     F .text  00000060 __ulp
420
000478f8 g     F .text  00000038 __isinfd
421
00044af0 g     F .text  00000018 __fp_unlock_all
422
0004df44 g     O .rwdata        00000008 alt_fs_list
423
00040020 g       *ABS*  00000000 __ram_exceptions_start
424
00045628 g     F .text  0000000c localeconv
425
00040000 g       *ABS*  00000000 __alt_mem_onchip_memory2
426
0004b2c8 g     F .text  00000050 alt_ic_isr_register
427
0004df6c g       *ABS*  00000000 _edata
428
0004fcb0 g       *ABS*  00000000 _end
429
000401b8 g       *ABS*  00000000 __ram_exceptions_end
430
0004a8ec g     F .text  000000f4 altera_avalon_jtag_uart_ioctl
431
0004b3b4 g     F .text  000000a0 alt_ic_irq_disable
432
00047a14 g     F .text  00000088 __swrite
433
0004df40 g     O .rwdata        00000004 __malloc_trim_threshold
434
0004bad4 g     F .text  00000020 altera_nios2_qsys_irq_init
435
0004bdec g     F .text  00000038 exit
436
000454a0 g     F .text  000000b8 _fwalk_reent
437
00046c50 g     F .text  000001a8 __mdiff
438
000497b8 g     F .text  0000005c __modsi3
439
00067100 g       *ABS*  00000000 __alt_data_end
440
00040020 g     F .exceptions    00000000 alt_exception
441
00044acc g     F .text  00000004 __sfp_lock_release
442
0004c170 g     F .text  0000003c _exit
443
00047930 g     F .text  0000002c __isnand
444
0004ae18 g     F .text  00000140 alt_alarm_start
445
00049824 g     F .text  00000060 __muldi3
446
00045634 g     F .text  000001a8 __smakebuf_r
447
00040da4 g     F .text  0000008c strlen
448
0004b7e4 g     F .text  00000154 open
449
00049380 g     F .text  00000064 __gedf2
450
0004b298 g     F .text  00000030 alt_icache_flush_all
451
0004df60 g     O .rwdata        00000004 alt_priority_mask
452
0004b318 g     F .text  0000009c alt_ic_irq_enable
453
00042c5c g     F .text  00000024 __vfprintf_internal
454
00048f20 g     F .text  00000060 __subdf3
455
000466a4 g     F .text  000000b0 __lo0bits
456
0004df64 g     O .rwdata        00000008 alt_alarm_list
457
0004b1e0 g     F .text  0000005c _do_ctors
458
000499a4 g     F .text  000000c8 close
459
00049cf0 g     F .text  00000080 alt_load
460
000408f4 g     F .text  00000224 __pack_d
461
00000000  w      *UND*  00000000 free
462
00044ad0 g     F .text  00000004 __sinit_lock_acquire
463
00046424 g     F .text  00000114 __multadd
464
000463fc g     F .text  00000028 _Bfree
465
 
466
 
467
 
468
Disassembly of section .entry:
469
 
470
00040000 <__reset>:
471
#if NIOS2_ICACHE_SIZE > 0 && defined(ALT_ALLOW_CODE_AT_RESET) && !defined(ALT_SIM_OPTIMIZE)
472
    /* Assume the instruction cache size is always a power of two. */
473
#if NIOS2_ICACHE_SIZE > 0x8000
474
    movhi r2, %hi(NIOS2_ICACHE_SIZE)
475
#else
476
    movui r2, NIOS2_ICACHE_SIZE
477
   40000:       00840014        movui   r2,4096
478
#endif
479
 
480
0:
481
    initi r2
482
   40004:       1001483a        initi   r2
483
    addi r2, r2, -NIOS2_ICACHE_LINE_SIZE
484
   40008:       10bff804        addi    r2,r2,-32
485
    bgt r2, zero, 0b
486
   4000c:       00bffd16        blt     zero,r2,40004 <__alt_data_end+0xfffd8f04>
487
 * Jump to the _start entry point in the .text section if reset code
488
 * is allowed or if optimizing for RTL simulation.
489
 */
490
#if defined(ALT_ALLOW_CODE_AT_RESET) || defined(ALT_SIM_OPTIMIZE)
491
    /* Jump to the _start entry point in the .text section. */
492
    movhi r1, %hi(_start)
493
   40010:       00400134        movhi   at,4
494
    ori r1, r1, %lo(_start)
495
   40014:       08406e14        ori     at,at,440
496
    jmp r1
497
   40018:       0800683a        jmp     at
498
   4001c:       00000000        call    0 <__reset-0x40000>
499
 
500
Disassembly of section .exceptions:
501
 
502
00040020 :
503
 
504
#else /* ALT_EXCEPTION_STACK disabled */
505
        /*
506
         * Reserve space on normal stack for registers about to be pushed.
507
         */
508
        addi  sp, sp, -76
509
   40020:       deffed04        addi    sp,sp,-76
510
         * documentation for details).
511
         *
512
         * Leave a gap in the stack frame at 4(sp) for the muldiv handler to
513
         * store zero into.
514
         */
515
        stw   ra,  0(sp)
516
   40024:       dfc00015        stw     ra,0(sp)
517
        stw   r1,   8(sp)
518
   40028:       d8400215        stw     at,8(sp)
519
        stw   r2,  12(sp)
520
   4002c:       d8800315        stw     r2,12(sp)
521
        stw   r3,  16(sp)
522
   40030:       d8c00415        stw     r3,16(sp)
523
        stw   r4,  20(sp)
524
   40034:       d9000515        stw     r4,20(sp)
525
        stw   r5,  24(sp)
526
   40038:       d9400615        stw     r5,24(sp)
527
        stw   r6,  28(sp)
528
   4003c:       d9800715        stw     r6,28(sp)
529
        stw   r7,  32(sp)
530
   40040:       d9c00815        stw     r7,32(sp)
531
        rdctl r5, estatus   /* Read early to avoid usage stall */
532
   40044:       000b307a        rdctl   r5,estatus
533
        stw   r8,  36(sp)
534
   40048:       da000915        stw     r8,36(sp)
535
        stw   r9,  40(sp)
536
   4004c:       da400a15        stw     r9,40(sp)
537
        stw   r10, 44(sp)
538
   40050:       da800b15        stw     r10,44(sp)
539
        stw   r11, 48(sp)
540
   40054:       dac00c15        stw     r11,48(sp)
541
        stw   r12, 52(sp)
542
   40058:       db000d15        stw     r12,52(sp)
543
        stw   r13, 56(sp)
544
   4005c:       db400e15        stw     r13,56(sp)
545
        stw   r14, 60(sp)
546
   40060:       db800f15        stw     r14,60(sp)
547
        stw   r15, 64(sp)
548
   40064:       dbc01015        stw     r15,64(sp)
549
        /*
550
         * ea-4 contains the address of the instruction being executed
551
         * when the exception occured. For interrupt exceptions, we will
552
         * will be re-issue the isntruction. Store it in 72(sp)
553
         */
554
        stw   r5,  68(sp)  /* estatus */
555
   40068:       d9401115        stw     r5,68(sp)
556
        addi  r15, ea, -4  /* instruction that caused exception */
557
   4006c:       ebffff04        addi    r15,ea,-4
558
        stw   r15,  72(sp)
559
   40070:       dbc01215        stw     r15,72(sp)
560
#else
561
        /*
562
         * Test to see if the exception was a software exception or caused
563
         * by an external interrupt, and vector accordingly.
564
         */
565
        rdctl r4, ipending
566
   40074:       0009313a        rdctl   r4,ipending
567
        andi  r2, r5, 1
568
   40078:       2880004c        andi    r2,r5,1
569
        beq   r2, zero, .Lnot_irq
570
   4007c:       10000326        beq     r2,zero,4008c 
571
        beq   r4, zero, .Lnot_irq
572
   40080:       20000226        beq     r4,zero,4008c 
573
        /*
574
         * Now that all necessary registers have been preserved, call
575
         * alt_irq_handler() to process the interrupts.
576
         */
577
 
578
        call alt_irq_handler
579
   40084:       00400ec0        call    400ec 
580
 
581
        .section .exceptions.irqreturn, "xa"
582
 
583
        br    .Lexception_exit
584
   40088:       00000306        br      40098 
585
         * upon completion, so we write ea (address of instruction *after*
586
         * the one where the exception occured) into 72(sp). The actual
587
         * instruction that caused the exception is written in r2, which these
588
         * handlers will utilize.
589
         */
590
        stw   ea,  72(sp)  /* Don't re-issue */
591
   4008c:       df401215        stw     ea,72(sp)
592
        ldw   r2, -4(ea)   /* Instruction that caused exception */
593
   40090:       e8bfff17        ldw     r2,-4(ea)
594
 
595
00040094 :
596
#ifdef NIOS2_HAS_DEBUG_STUB
597
       /*
598
        *  Either tell the user now (if there is a debugger attached) or go into
599
        *  the debug monitor which will loop until a debugger is attached.
600
        */
601
        break
602
   40094:       003da03a        break   0
603
        /*
604
         * Restore the saved registers, so that all general purpose registers
605
         * have been restored to their state at the time the interrupt occured.
606
         */
607
 
608
        ldw   r5,  68(sp)
609
   40098:       d9401117        ldw     r5,68(sp)
610
        ldw   ea,  72(sp)  /* This becomes the PC once eret is executed */
611
   4009c:       df401217        ldw     ea,72(sp)
612
        ldw   ra,   0(sp)
613
   400a0:       dfc00017        ldw     ra,0(sp)
614
 
615
        wrctl estatus, r5
616
   400a4:       2801707a        wrctl   estatus,r5
617
 
618
        ldw   r1,   8(sp)
619
   400a8:       d8400217        ldw     at,8(sp)
620
        ldw   r2,  12(sp)
621
   400ac:       d8800317        ldw     r2,12(sp)
622
        ldw   r3,  16(sp)
623
   400b0:       d8c00417        ldw     r3,16(sp)
624
        ldw   r4,  20(sp)
625
   400b4:       d9000517        ldw     r4,20(sp)
626
        ldw   r5,  24(sp)
627
   400b8:       d9400617        ldw     r5,24(sp)
628
        ldw   r6,  28(sp)
629
   400bc:       d9800717        ldw     r6,28(sp)
630
        ldw   r7,  32(sp)
631
   400c0:       d9c00817        ldw     r7,32(sp)
632
 
633
#if defined(ALT_EXCEPTION_STACK) && defined(ALT_STACK_CHECK)
634
        ldw   et, %gprel(alt_exception_old_stack_limit)(gp)
635
#endif
636
 
637
        ldw   r8,  36(sp)
638
   400c4:       da000917        ldw     r8,36(sp)
639
        ldw   r9,  40(sp)
640
   400c8:       da400a17        ldw     r9,40(sp)
641
        ldw   r10, 44(sp)
642
   400cc:       da800b17        ldw     r10,44(sp)
643
        ldw   r11, 48(sp)
644
   400d0:       dac00c17        ldw     r11,48(sp)
645
        ldw   r12, 52(sp)
646
   400d4:       db000d17        ldw     r12,52(sp)
647
        ldw   r13, 56(sp)
648
   400d8:       db400e17        ldw     r13,56(sp)
649
        ldw   r14, 60(sp)
650
   400dc:       db800f17        ldw     r14,60(sp)
651
        ldw   r15, 64(sp)
652
   400e0:       dbc01017        ldw     r15,64(sp)
653
        stw   et, %gprel(alt_stack_limit_value)(gp)
654
        stw   zero, %gprel(alt_exception_old_stack_limit)(gp)
655
#endif /* ALT_STACK_CHECK */
656
        ldw   sp,  76(sp)
657
#else /* ALT_EXCEPTION_STACK disabled */
658
        addi  sp, sp, 76
659
   400e4:       dec01304        addi    sp,sp,76
660
 
661
        /*
662
         * Return to the interrupted instruction.
663
         */
664
 
665
        eret
666
   400e8:       ef80083a        eret
667
 
668
000400ec :
669
 * instruction is present if the macro ALT_CI_INTERRUPT_VECTOR defined.
670
 */
671
 
672
void alt_irq_handler (void) __attribute__ ((section (".exceptions")));
673
void alt_irq_handler (void)
674
{
675
   400ec:       defff904        addi    sp,sp,-28
676
   400f0:       dfc00615        stw     ra,24(sp)
677
   400f4:       df000515        stw     fp,20(sp)
678
   400f8:       df000504        addi    fp,sp,20
679
 
680
  /*
681
   * Notify the operating system that we are at interrupt level.
682
   */
683
 
684
  ALT_OS_INT_ENTER();
685
   400fc:       0001883a        nop
686
#ifndef NIOS2_EIC_PRESENT
687
static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void)
688
{
689
  alt_u32 active;
690
 
691
  NIOS2_READ_IPENDING (active);
692
   40100:       0005313a        rdctl   r2,ipending
693
   40104:       e0bffe15        stw     r2,-8(fp)
694
 
695
  return active;
696
   40108:       e0bffe17        ldw     r2,-8(fp)
697
   * Consider the case where the high priority interupt is asserted during
698
   * the interrupt entry sequence for a lower priority interrupt to see why
699
   * this is the case.
700
   */
701
 
702
  active = alt_irq_pending ();
703
   4010c:       e0bffb15        stw     r2,-20(fp)
704
 
705
  do
706
  {
707
    i = 0;
708
   40110:       e03ffd15        stw     zero,-12(fp)
709
    mask = 1;
710
   40114:       00800044        movi    r2,1
711
   40118:       e0bffc15        stw     r2,-16(fp)
712
     * called to clear the interrupt condition.
713
     */
714
 
715
    do
716
    {
717
      if (active & mask)
718
   4011c:       e0fffb17        ldw     r3,-20(fp)
719
   40120:       e0bffc17        ldw     r2,-16(fp)
720
   40124:       1884703a        and     r2,r3,r2
721
   40128:       10001726        beq     r2,zero,40188 
722
      {
723
#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
724
        alt_irq[i].handler(alt_irq[i].context);
725
   4012c:       00c00174        movhi   r3,5
726
   40130:       18fe8804        addi    r3,r3,-1504
727
   40134:       e0bffd17        ldw     r2,-12(fp)
728
   40138:       100490fa        slli    r2,r2,3
729
   4013c:       1885883a        add     r2,r3,r2
730
   40140:       10c00017        ldw     r3,0(r2)
731
   40144:       01000174        movhi   r4,5
732
   40148:       213e8804        addi    r4,r4,-1504
733
   4014c:       e0bffd17        ldw     r2,-12(fp)
734
   40150:       100490fa        slli    r2,r2,3
735
   40154:       2085883a        add     r2,r4,r2
736
   40158:       10800104        addi    r2,r2,4
737
   4015c:       10800017        ldw     r2,0(r2)
738
   40160:       1009883a        mov     r4,r2
739
   40164:       183ee83a        callr   r3
740
#else
741
        alt_irq[i].handler(alt_irq[i].context, i);
742
#endif
743
        break;
744
   40168:       0001883a        nop
745
#ifndef NIOS2_EIC_PRESENT
746
static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void)
747
{
748
  alt_u32 active;
749
 
750
  NIOS2_READ_IPENDING (active);
751
   4016c:       0005313a        rdctl   r2,ipending
752
   40170:       e0bfff15        stw     r2,-4(fp)
753
 
754
  return active;
755
   40174:       e0bfff17        ldw     r2,-4(fp)
756
      mask <<= 1;
757
      i++;
758
 
759
    } while (1);
760
 
761
    active = alt_irq_pending ();
762
   40178:       e0bffb15        stw     r2,-20(fp)
763
 
764
  } while (active);
765
   4017c:       e0bffb17        ldw     r2,-20(fp)
766
   40180:       103fe31e        bne     r2,zero,40110 <__alt_data_end+0xfffd9010>
767
 
768
  /*
769
   * Notify the operating system that interrupt processing is complete.
770
   */
771
 
772
  ALT_OS_INT_EXIT();
773
   40184:       00000706        br      401a4 
774
#else
775
        alt_irq[i].handler(alt_irq[i].context, i);
776
#endif
777
        break;
778
      }
779
      mask <<= 1;
780
   40188:       e0bffc17        ldw     r2,-16(fp)
781
   4018c:       1085883a        add     r2,r2,r2
782
   40190:       e0bffc15        stw     r2,-16(fp)
783
      i++;
784
   40194:       e0bffd17        ldw     r2,-12(fp)
785
   40198:       10800044        addi    r2,r2,1
786
   4019c:       e0bffd15        stw     r2,-12(fp)
787
 
788
    } while (1);
789
   401a0:       003fde06        br      4011c <__alt_data_end+0xfffd901c>
790
  /*
791
   * Notify the operating system that interrupt processing is complete.
792
   */
793
 
794
  ALT_OS_INT_EXIT();
795
}
796
   401a4:       e037883a        mov     sp,fp
797
   401a8:       dfc00117        ldw     ra,4(sp)
798
   401ac:       df000017        ldw     fp,0(sp)
799
   401b0:       dec00204        addi    sp,sp,8
800
   401b4:       f800283a        ret
801
 
802
Disassembly of section .text:
803
 
804
000401b8 <_start>:
805
 
806
    /* Assume the data cache size is always a power of two. */
807
#if NIOS2_DCACHE_SIZE > 0x8000
808
    movhi r2, %hi(NIOS2_DCACHE_SIZE)
809
#else
810
    movui r2, NIOS2_DCACHE_SIZE
811
   401b8:       00820014        movui   r2,2048
812
#endif
813
 
814
0:
815
    initd 0(r2)
816
   401bc:       10000033        initd   0(r2)
817
#ifdef NIOS2_ECC_PRESENT
818
    addi r2, r2, -4
819
#else
820
    addi r2, r2, -NIOS2_DCACHE_LINE_SIZE
821
   401c0:       10bff804        addi    r2,r2,-32
822
#endif
823
    bgt r2, zero, 0b
824
   401c4:       00bffd16        blt     zero,r2,401bc <__alt_data_end+0xfffd90bc>
825
 
826
    /*
827
     * Now that the caches are initialized, set up the stack pointer and global pointer.
828
     * The values provided by the linker are assumed to be correctly aligned.
829
     */
830
    movhi sp, %hi(__alt_stack_pointer)
831
   401c8:       06c001b4        movhi   sp,6
832
    ori sp, sp, %lo(__alt_stack_pointer)
833
   401cc:       dedc4014        ori     sp,sp,28928
834
    movhi gp, %hi(_gp)
835
   401d0:       06800174        movhi   gp,5
836
    ori gp, gp, %lo(_gp)
837
   401d4:       d697cc14        ori     gp,gp,24368
838
 */
839
#ifndef ALT_SIM_OPTIMIZE
840
    /* Log that the BSS is about to be cleared. */
841
    ALT_LOG_PUTS(alt_log_msg_bss)
842
 
843
    movhi r2, %hi(__bss_start)
844
   401d8:       00800134        movhi   r2,4
845
    ori r2, r2, %lo(__bss_start)
846
   401dc:       10be7114        ori     r2,r2,63940
847
 
848
    movhi r3, %hi(__bss_end)
849
   401e0:       00c00134        movhi   r3,4
850
    ori r3, r3, %lo(__bss_end)
851
   401e4:       18ff2c14        ori     r3,r3,64688
852
 
853
    beq r2, r3, 1f
854
   401e8:       10c00326        beq     r2,r3,401f8 <_start+0x40>
855
 
856
0:
857
    stw zero, (r2)
858
   401ec:       10000015        stw     zero,0(r2)
859
    addi r2, r2, 4
860
   401f0:       10800104        addi    r2,r2,4
861
    bltu r2, r3, 0b
862
   401f4:       10fffd36        bltu    r2,r3,401ec <__alt_data_end+0xfffd90ec>
863
     * section aren't defined until alt_load() has been called).
864
     */
865
    mov   et, zero
866
#endif
867
 
868
    call alt_load
869
   401f8:       0049cf00        call    49cf0 
870
 
871
    /* Log that alt_main is about to be called. */
872
    ALT_LOG_PUTS(alt_log_msg_alt_main)
873
 
874
    /* Call the C entry point. It should never return. */
875
    call alt_main
876
   401fc:       0049e900        call    49e90 
877
 
878
00040200 :
879
 
880
    /* Wait in infinite loop in case alt_main does return. */
881
alt_after_alt_main:
882
    br alt_after_alt_main
883
   40200:       003fff06        br      40200 <__alt_data_end+0xfffd9100>
884
 
885
00040204 
:
886
#include 
887
#include 
888
 
889
#include "system.h"
890
 
891
void main(void){
892
   40204:       defff804        addi    sp,sp,-32
893
   40208:       dfc00715        stw     ra,28(sp)
894
   4020c:       df000615        stw     fp,24(sp)
895
   40210:       df000604        addi    fp,sp,24
896
        int ch = 0;
897
   40214:       e03ffd15        stw     zero,-12(fp)
898
        const int nReadNum = 10; // max 1024
899
   40218:       00800284        movi    r2,10
900
   4021c:       e0bffe15        stw     r2,-8(fp)
901
        int i, Value, nIndex=0;
902
   40220:       e03ffc15        stw     zero,-16(fp)
903
 
904
        printf("ADC Demo\r\n");
905
   40224:       01000174        movhi   r4,5
906
   40228:       21306b04        addi    r4,r4,-15956
907
   4022c:       0040d900        call    40d90 
908
        while(1){
909
                ch = IORD(SW_BASE, 0x00) & 0x07;
910
   40230:       0005883a        mov     r2,zero
911
   40234:       10800037        ldwio   r2,0(r2)
912
   40238:       108001cc        andi    r2,r2,7
913
   4023c:       e0bffd15        stw     r2,-12(fp)
914
 
915
                printf("======================= %d, ch=%d\r\n", nIndex++, ch);
916
   40240:       e0bffc17        ldw     r2,-16(fp)
917
   40244:       e0fffc17        ldw     r3,-16(fp)
918
   40248:       18c00044        addi    r3,r3,1
919
   4024c:       e0fffc15        stw     r3,-16(fp)
920
   40250:       01000174        movhi   r4,5
921
   40254:       21306e04        addi    r4,r4,-15944
922
   40258:       100b883a        mov     r5,r2
923
   4025c:       e1bffd17        ldw     r6,-12(fp)
924
   40260:       0040cd00        call    40cd0 
925
                // set measure number for ADC convert
926
                IOWR(ADC_LTC2308_BASE, 0x01, nReadNum);
927
   40264:       00800234        movhi   r2,8
928
   40268:       10840504        addi    r2,r2,4116
929
   4026c:       e0fffe17        ldw     r3,-8(fp)
930
   40270:       10c00035        stwio   r3,0(r2)
931
 
932
 
933
                // start measure
934
                IOWR(ADC_LTC2308_BASE, 0x00, (ch << 1) | 0x00);
935
   40274:       e0bffd17        ldw     r2,-12(fp)
936
   40278:       1085883a        add     r2,r2,r2
937
   4027c:       1007883a        mov     r3,r2
938
   40280:       00800234        movhi   r2,8
939
   40284:       10840404        addi    r2,r2,4112
940
   40288:       10c00035        stwio   r3,0(r2)
941
                IOWR(ADC_LTC2308_BASE, 0x00, (ch << 1) | 0x01);
942
   4028c:       e0bffd17        ldw     r2,-12(fp)
943
   40290:       1085883a        add     r2,r2,r2
944
   40294:       10c00054        ori     r3,r2,1
945
   40298:       00800234        movhi   r2,8
946
   4029c:       10840404        addi    r2,r2,4112
947
   402a0:       10c00035        stwio   r3,0(r2)
948
                IOWR(ADC_LTC2308_BASE, 0x00, (ch << 1) | 0x00);
949
   402a4:       e0bffd17        ldw     r2,-12(fp)
950
   402a8:       1085883a        add     r2,r2,r2
951
   402ac:       1007883a        mov     r3,r2
952
   402b0:       00800234        movhi   r2,8
953
   402b4:       10840404        addi    r2,r2,4112
954
   402b8:       10c00035        stwio   r3,0(r2)
955
                usleep(1);
956
   402bc:       01000044        movi    r4,1
957
   402c0:       004a1980        call    4a198 
958
 
959
                // wait measure done
960
                while ((IORD(ADC_LTC2308_BASE,0x00) & 0x01) == 0x00);
961
   402c4:       0001883a        nop
962
   402c8:       00800234        movhi   r2,8
963
   402cc:       10840404        addi    r2,r2,4112
964
   402d0:       10800037        ldwio   r2,0(r2)
965
   402d4:       1080004c        andi    r2,r2,1
966
   402d8:       103ffb26        beq     r2,zero,402c8 <__alt_data_end+0xfffd91c8>
967
 
968
                // read adc value
969
                for(i=0;i
970
   402dc:       e03ffb15        stw     zero,-20(fp)
971
   402e0:       00002006        br      40364 
972
                        Value = IORD(ADC_LTC2308_BASE, 0x01);
973
   402e4:       00800234        movhi   r2,8
974
   402e8:       10840504        addi    r2,r2,4116
975
   402ec:       10800037        ldwio   r2,0(r2)
976
   402f0:       e0bfff15        stw     r2,-4(fp)
977
                        printf("CH%d=%.3fV (0x%04x)\r\n", ch, (float)Value/1000.0, Value);
978
   402f4:       e13fff17        ldw     r4,-4(fp)
979
   402f8:       00403800        call    40380 <__floatsisf>
980
   402fc:       1007883a        mov     r3,r2
981
   40300:       1809883a        mov     r4,r3
982
   40304:       00404240        call    40424 <__extendsfdf2>
983
   40308:       100b883a        mov     r5,r2
984
   4030c:       180d883a        mov     r6,r3
985
   40310:       2809883a        mov     r4,r5
986
   40314:       300b883a        mov     r5,r6
987
   40318:       000d883a        mov     r6,zero
988
   4031c:       01d023f4        movhi   r7,16527
989
   40320:       39d00004        addi    r7,r7,16384
990
   40324:       00404680        call    40468 <__divdf3>
991
   40328:       1009883a        mov     r4,r2
992
   4032c:       180b883a        mov     r5,r3
993
   40330:       2005883a        mov     r2,r4
994
   40334:       2807883a        mov     r3,r5
995
   40338:       e13fff17        ldw     r4,-4(fp)
996
   4033c:       d9000015        stw     r4,0(sp)
997
   40340:       01000174        movhi   r4,5
998
   40344:       21307704        addi    r4,r4,-15908
999
   40348:       e17ffd17        ldw     r5,-12(fp)
1000
   4034c:       100d883a        mov     r6,r2
1001
   40350:       180f883a        mov     r7,r3
1002
   40354:       0040cd00        call    40cd0 
1003
 
1004
                // wait measure done
1005
                while ((IORD(ADC_LTC2308_BASE,0x00) & 0x01) == 0x00);
1006
 
1007
                // read adc value
1008
                for(i=0;i
1009
   40358:       e0bffb17        ldw     r2,-20(fp)
1010
   4035c:       10800044        addi    r2,r2,1
1011
   40360:       e0bffb15        stw     r2,-20(fp)
1012
   40364:       e0fffb17        ldw     r3,-20(fp)
1013
   40368:       e0bffe17        ldw     r2,-8(fp)
1014
   4036c:       18bfdd16        blt     r3,r2,402e4 <__alt_data_end+0xfffd91e4>
1015
                        Value = IORD(ADC_LTC2308_BASE, 0x01);
1016
                        printf("CH%d=%.3fV (0x%04x)\r\n", ch, (float)Value/1000.0, Value);
1017
                }
1018
 
1019
                usleep(200*1000);
1020
   40370:       010000f4        movhi   r4,3
1021
   40374:       21035004        addi    r4,r4,3392
1022
   40378:       004a1980        call    4a198 
1023
        } // while
1024
   4037c:       003fac06        br      40230 <__alt_data_end+0xfffd9130>
1025
 
1026
00040380 <__floatsisf>:
1027
   40380:       2004d7fa        srli    r2,r4,31
1028
   40384:       defffa04        addi    sp,sp,-24
1029
   40388:       00c000c4        movi    r3,3
1030
   4038c:       dfc00515        stw     ra,20(sp)
1031
   40390:       dc000415        stw     r16,16(sp)
1032
   40394:       d8c00015        stw     r3,0(sp)
1033
   40398:       d8800115        stw     r2,4(sp)
1034
   4039c:       2000081e        bne     r4,zero,403c0 <__floatsisf+0x40>
1035
   403a0:       00800084        movi    r2,2
1036
   403a4:       d8800015        stw     r2,0(sp)
1037
   403a8:       d809883a        mov     r4,sp
1038
   403ac:       00407000        call    40700 <__pack_f>
1039
   403b0:       dfc00517        ldw     ra,20(sp)
1040
   403b4:       dc000417        ldw     r16,16(sp)
1041
   403b8:       dec00604        addi    sp,sp,24
1042
   403bc:       f800283a        ret
1043
   403c0:       00c00784        movi    r3,30
1044
   403c4:       d8c00215        stw     r3,8(sp)
1045
   403c8:       10000b1e        bne     r2,zero,403f8 <__floatsisf+0x78>
1046
   403cc:       2021883a        mov     r16,r4
1047
   403d0:       8009883a        mov     r4,r16
1048
   403d4:       00406540        call    40654 <__clzsi2>
1049
   403d8:       113fffc4        addi    r4,r2,-1
1050
   403dc:       01000d0e        bge     zero,r4,40414 <__floatsisf+0x94>
1051
   403e0:       8108983a        sll     r4,r16,r4
1052
   403e4:       00c007c4        movi    r3,31
1053
   403e8:       1885c83a        sub     r2,r3,r2
1054
   403ec:       d9000315        stw     r4,12(sp)
1055
   403f0:       d8800215        stw     r2,8(sp)
1056
   403f4:       003fec06        br      403a8 <__alt_data_end+0xfffd92a8>
1057
   403f8:       00a00034        movhi   r2,32768
1058
   403fc:       20800726        beq     r4,r2,4041c <__floatsisf+0x9c>
1059
   40400:       0121c83a        sub     r16,zero,r4
1060
   40404:       8009883a        mov     r4,r16
1061
   40408:       00406540        call    40654 <__clzsi2>
1062
   4040c:       113fffc4        addi    r4,r2,-1
1063
   40410:       013ff316        blt     zero,r4,403e0 <__alt_data_end+0xfffd92e0>
1064
   40414:       dc000315        stw     r16,12(sp)
1065
   40418:       003fe306        br      403a8 <__alt_data_end+0xfffd92a8>
1066
   4041c:       00b3c034        movhi   r2,52992
1067
   40420:       003fe306        br      403b0 <__alt_data_end+0xfffd92b0>
1068
 
1069
00040424 <__extendsfdf2>:
1070
   40424:       defff904        addi    sp,sp,-28
1071
   40428:       d9000515        stw     r4,20(sp)
1072
   4042c:       d9400104        addi    r5,sp,4
1073
   40430:       d9000504        addi    r4,sp,20
1074
   40434:       dfc00615        stw     ra,24(sp)
1075
   40438:       004082c0        call    4082c <__unpack_f>
1076
   4043c:       d9c00417        ldw     r7,16(sp)
1077
   40440:       d9000117        ldw     r4,4(sp)
1078
   40444:       d9400217        ldw     r5,8(sp)
1079
   40448:       3804d0ba        srli    r2,r7,2
1080
   4044c:       d9800317        ldw     r6,12(sp)
1081
   40450:       380e97ba        slli    r7,r7,30
1082
   40454:       d8800015        stw     r2,0(sp)
1083
   40458:       004061c0        call    4061c <__make_dp>
1084
   4045c:       dfc00617        ldw     ra,24(sp)
1085
   40460:       dec00704        addi    sp,sp,28
1086
   40464:       f800283a        ret
1087
 
1088
00040468 <__divdf3>:
1089
   40468:       defff104        addi    sp,sp,-60
1090
   4046c:       d9000c15        stw     r4,48(sp)
1091
   40470:       d9400d15        stw     r5,52(sp)
1092
   40474:       d9000c04        addi    r4,sp,48
1093
   40478:       d9400504        addi    r5,sp,20
1094
   4047c:       dfc00e15        stw     ra,56(sp)
1095
   40480:       d9800a15        stw     r6,40(sp)
1096
   40484:       d9c00b15        stw     r7,44(sp)
1097
   40488:       0040b180        call    40b18 <__unpack_d>
1098
   4048c:       d9000a04        addi    r4,sp,40
1099
   40490:       d80b883a        mov     r5,sp
1100
   40494:       0040b180        call    40b18 <__unpack_d>
1101
   40498:       d8c00517        ldw     r3,20(sp)
1102
   4049c:       00800044        movi    r2,1
1103
   404a0:       10c00536        bltu    r2,r3,404b8 <__divdf3+0x50>
1104
   404a4:       d9000504        addi    r4,sp,20
1105
   404a8:       00408f40        call    408f4 <__pack_d>
1106
   404ac:       dfc00e17        ldw     ra,56(sp)
1107
   404b0:       dec00f04        addi    sp,sp,60
1108
   404b4:       f800283a        ret
1109
   404b8:       d9000017        ldw     r4,0(sp)
1110
   404bc:       11000536        bltu    r2,r4,404d4 <__divdf3+0x6c>
1111
   404c0:       d809883a        mov     r4,sp
1112
   404c4:       00408f40        call    408f4 <__pack_d>
1113
   404c8:       dfc00e17        ldw     ra,56(sp)
1114
   404cc:       dec00f04        addi    sp,sp,60
1115
   404d0:       f800283a        ret
1116
   404d4:       d9800617        ldw     r6,24(sp)
1117
   404d8:       d9400117        ldw     r5,4(sp)
1118
   404dc:       00800104        movi    r2,4
1119
   404e0:       314af03a        xor     r5,r6,r5
1120
   404e4:       d9400615        stw     r5,24(sp)
1121
   404e8:       18800226        beq     r3,r2,404f4 <__divdf3+0x8c>
1122
   404ec:       01400084        movi    r5,2
1123
   404f0:       1940041e        bne     r3,r5,40504 <__divdf3+0x9c>
1124
   404f4:       193feb1e        bne     r3,r4,404a4 <__alt_data_end+0xfffd93a4>
1125
   404f8:       01000174        movhi   r4,5
1126
   404fc:       21307d04        addi    r4,r4,-15884
1127
   40500:       003fe906        br      404a8 <__alt_data_end+0xfffd93a8>
1128
   40504:       20803326        beq     r4,r2,405d4 <__divdf3+0x16c>
1129
   40508:       21403726        beq     r4,r5,405e8 <__divdf3+0x180>
1130
   4050c:       d8800217        ldw     r2,8(sp)
1131
   40510:       d9000717        ldw     r4,28(sp)
1132
   40514:       d8c00917        ldw     r3,36(sp)
1133
   40518:       da000417        ldw     r8,16(sp)
1134
   4051c:       2089c83a        sub     r4,r4,r2
1135
   40520:       d9000715        stw     r4,28(sp)
1136
   40524:       d8800817        ldw     r2,32(sp)
1137
   40528:       dbc00317        ldw     r15,12(sp)
1138
   4052c:       1a000236        bltu    r3,r8,40538 <__divdf3+0xd0>
1139
   40530:       40c0081e        bne     r8,r3,40554 <__divdf3+0xec>
1140
   40534:       13c0072e        bgeu    r2,r15,40554 <__divdf3+0xec>
1141
   40538:       108b883a        add     r5,r2,r2
1142
   4053c:       288d803a        cmpltu  r6,r5,r2
1143
   40540:       18c7883a        add     r3,r3,r3
1144
   40544:       213fffc4        addi    r4,r4,-1
1145
   40548:       2805883a        mov     r2,r5
1146
   4054c:       30c7883a        add     r3,r6,r3
1147
   40550:       d9000715        stw     r4,28(sp)
1148
   40554:       01400f44        movi    r5,61
1149
   40558:       000f883a        mov     r7,zero
1150
   4055c:       01040034        movhi   r4,4096
1151
   40560:       0019883a        mov     r12,zero
1152
   40564:       001b883a        mov     r13,zero
1153
   40568:       201697fa        slli    r11,r4,31
1154
   4056c:       3814d07a        srli    r10,r7,1
1155
   40570:       297fffc4        addi    r5,r5,-1
1156
   40574:       1a000936        bltu    r3,r8,4059c <__divdf3+0x134>
1157
   40578:       13cdc83a        sub     r6,r2,r15
1158
   4057c:       1193803a        cmpltu  r9,r2,r6
1159
   40580:       1a1dc83a        sub     r14,r3,r8
1160
   40584:       40c0011e        bne     r8,r3,4058c <__divdf3+0x124>
1161
   40588:       13c00436        bltu    r2,r15,4059c <__divdf3+0x134>
1162
   4058c:       3005883a        mov     r2,r6
1163
   40590:       7247c83a        sub     r3,r14,r9
1164
   40594:       61d8b03a        or      r12,r12,r7
1165
   40598:       691ab03a        or      r13,r13,r4
1166
   4059c:       108d883a        add     r6,r2,r2
1167
   405a0:       3093803a        cmpltu  r9,r6,r2
1168
   405a4:       18c7883a        add     r3,r3,r3
1169
   405a8:       5a8eb03a        or      r7,r11,r10
1170
   405ac:       2008d07a        srli    r4,r4,1
1171
   405b0:       3005883a        mov     r2,r6
1172
   405b4:       48c7883a        add     r3,r9,r3
1173
   405b8:       283feb1e        bne     r5,zero,40568 <__alt_data_end+0xfffd9468>
1174
   405bc:       61003fcc        andi    r4,r12,255
1175
   405c0:       01402004        movi    r5,128
1176
   405c4:       21400b26        beq     r4,r5,405f4 <__divdf3+0x18c>
1177
   405c8:       db000815        stw     r12,32(sp)
1178
   405cc:       db400915        stw     r13,36(sp)
1179
   405d0:       003fb406        br      404a4 <__alt_data_end+0xfffd93a4>
1180
   405d4:       d8000815        stw     zero,32(sp)
1181
   405d8:       d8000915        stw     zero,36(sp)
1182
   405dc:       d8000715        stw     zero,28(sp)
1183
   405e0:       d9000504        addi    r4,sp,20
1184
   405e4:       003fb006        br      404a8 <__alt_data_end+0xfffd93a8>
1185
   405e8:       d8800515        stw     r2,20(sp)
1186
   405ec:       d9000504        addi    r4,sp,20
1187
   405f0:       003fad06        br      404a8 <__alt_data_end+0xfffd93a8>
1188
   405f4:       6140400c        andi    r5,r12,256
1189
   405f8:       283ff31e        bne     r5,zero,405c8 <__alt_data_end+0xfffd94c8>
1190
   405fc:       30c4b03a        or      r2,r6,r3
1191
   40600:       103ff126        beq     r2,zero,405c8 <__alt_data_end+0xfffd94c8>
1192
   40604:       6109883a        add     r4,r12,r4
1193
   40608:       2305803a        cmpltu  r2,r4,r12
1194
   4060c:       033fc004        movi    r12,-256
1195
   40610:       2318703a        and     r12,r4,r12
1196
   40614:       135b883a        add     r13,r2,r13
1197
   40618:       003feb06        br      405c8 <__alt_data_end+0xfffd94c8>
1198
 
1199
0004061c <__make_dp>:
1200
   4061c:       defff904        addi    sp,sp,-28
1201
   40620:       d8800717        ldw     r2,28(sp)
1202
   40624:       d9000015        stw     r4,0(sp)
1203
   40628:       d809883a        mov     r4,sp
1204
   4062c:       dfc00515        stw     ra,20(sp)
1205
   40630:       d9c00615        stw     r7,24(sp)
1206
   40634:       d9400115        stw     r5,4(sp)
1207
   40638:       d9800215        stw     r6,8(sp)
1208
   4063c:       d9c00315        stw     r7,12(sp)
1209
   40640:       d8800415        stw     r2,16(sp)
1210
   40644:       00408f40        call    408f4 <__pack_d>
1211
   40648:       dfc00517        ldw     ra,20(sp)
1212
   4064c:       dec00704        addi    sp,sp,28
1213
   40650:       f800283a        ret
1214
 
1215
00040654 <__clzsi2>:
1216
   40654:       00bfffd4        movui   r2,65535
1217
   40658:       11000b36        bltu    r2,r4,40688 <__clzsi2+0x34>
1218
   4065c:       00803fc4        movi    r2,255
1219
   40660:       11001e2e        bgeu    r2,r4,406dc <__clzsi2+0x88>
1220
   40664:       00c00204        movi    r3,8
1221
   40668:       20c8d83a        srl     r4,r4,r3
1222
   4066c:       00c00174        movhi   r3,5
1223
   40670:       18f08204        addi    r3,r3,-15864
1224
   40674:       00800604        movi    r2,24
1225
   40678:       1909883a        add     r4,r3,r4
1226
   4067c:       20c00003        ldbu    r3,0(r4)
1227
   40680:       10c5c83a        sub     r2,r2,r3
1228
   40684:       f800283a        ret
1229
   40688:       00804034        movhi   r2,256
1230
   4068c:       10bfffc4        addi    r2,r2,-1
1231
   40690:       11000936        bltu    r2,r4,406b8 <__clzsi2+0x64>
1232
   40694:       00800404        movi    r2,16
1233
   40698:       1007883a        mov     r3,r2
1234
   4069c:       20c8d83a        srl     r4,r4,r3
1235
   406a0:       00c00174        movhi   r3,5
1236
   406a4:       18f08204        addi    r3,r3,-15864
1237
   406a8:       1909883a        add     r4,r3,r4
1238
   406ac:       20c00003        ldbu    r3,0(r4)
1239
   406b0:       10c5c83a        sub     r2,r2,r3
1240
   406b4:       f800283a        ret
1241
   406b8:       00c00604        movi    r3,24
1242
   406bc:       20c8d83a        srl     r4,r4,r3
1243
   406c0:       00c00174        movhi   r3,5
1244
   406c4:       18f08204        addi    r3,r3,-15864
1245
   406c8:       00800204        movi    r2,8
1246
   406cc:       1909883a        add     r4,r3,r4
1247
   406d0:       20c00003        ldbu    r3,0(r4)
1248
   406d4:       10c5c83a        sub     r2,r2,r3
1249
   406d8:       f800283a        ret
1250
   406dc:       0007883a        mov     r3,zero
1251
   406e0:       20c8d83a        srl     r4,r4,r3
1252
   406e4:       00c00174        movhi   r3,5
1253
   406e8:       18f08204        addi    r3,r3,-15864
1254
   406ec:       00800804        movi    r2,32
1255
   406f0:       1909883a        add     r4,r3,r4
1256
   406f4:       20c00003        ldbu    r3,0(r4)
1257
   406f8:       10c5c83a        sub     r2,r2,r3
1258
   406fc:       f800283a        ret
1259
 
1260
00040700 <__pack_f>:
1261
   40700:       21400017        ldw     r5,0(r4)
1262
   40704:       01800044        movi    r6,1
1263
   40708:       20c00317        ldw     r3,12(r4)
1264
   4070c:       21c00117        ldw     r7,4(r4)
1265
   40710:       3140282e        bgeu    r6,r5,407b4 <__pack_f+0xb4>
1266
   40714:       00800104        movi    r2,4
1267
   40718:       28802326        beq     r5,r2,407a8 <__pack_f+0xa8>
1268
   4071c:       00800084        movi    r2,2
1269
   40720:       28800f26        beq     r5,r2,40760 <__pack_f+0x60>
1270
   40724:       18000e26        beq     r3,zero,40760 <__pack_f+0x60>
1271
   40728:       21000217        ldw     r4,8(r4)
1272
   4072c:       00bfe084        movi    r2,-126
1273
   40730:       20802616        blt     r4,r2,407cc <__pack_f+0xcc>
1274
   40734:       00801fc4        movi    r2,127
1275
   40738:       11001b16        blt     r2,r4,407a8 <__pack_f+0xa8>
1276
   4073c:       188a703a        and     r5,r3,r2
1277
   40740:       00801004        movi    r2,64
1278
   40744:       28801126        beq     r5,r2,4078c <__pack_f+0x8c>
1279
   40748:       18c00fc4        addi    r3,r3,63
1280
   4074c:       18001316        blt     r3,zero,4079c <__pack_f+0x9c>
1281
   40750:       21001fc4        addi    r4,r4,127
1282
   40754:       180690ba        slli    r3,r3,2
1283
   40758:       1806d27a        srli    r3,r3,9
1284
   4075c:       00000206        br      40768 <__pack_f+0x68>
1285
   40760:       0009883a        mov     r4,zero
1286
   40764:       0007883a        mov     r3,zero
1287
   40768:       21003fcc        andi    r4,r4,255
1288
   4076c:       200895fa        slli    r4,r4,23
1289
   40770:       380a97fa        slli    r5,r7,31
1290
   40774:       00802034        movhi   r2,128
1291
   40778:       10bfffc4        addi    r2,r2,-1
1292
   4077c:       1886703a        and     r3,r3,r2
1293
   40780:       1904b03a        or      r2,r3,r4
1294
   40784:       1144b03a        or      r2,r2,r5
1295
   40788:       f800283a        ret
1296
   4078c:       1880200c        andi    r2,r3,128
1297
   40790:       103fee26        beq     r2,zero,4074c <__alt_data_end+0xfffd964c>
1298
   40794:       18c01004        addi    r3,r3,64
1299
   40798:       183fed0e        bge     r3,zero,40750 <__alt_data_end+0xfffd9650>
1300
   4079c:       1806d07a        srli    r3,r3,1
1301
   407a0:       21002004        addi    r4,r4,128
1302
   407a4:       003feb06        br      40754 <__alt_data_end+0xfffd9654>
1303
   407a8:       013fffc4        movi    r4,-1
1304
   407ac:       0007883a        mov     r3,zero
1305
   407b0:       003fed06        br      40768 <__alt_data_end+0xfffd9668>
1306
   407b4:       18c00434        orhi    r3,r3,16
1307
   407b8:       00802034        movhi   r2,128
1308
   407bc:       10bfffc4        addi    r2,r2,-1
1309
   407c0:       1886703a        and     r3,r3,r2
1310
   407c4:       013fffc4        movi    r4,-1
1311
   407c8:       003fe706        br      40768 <__alt_data_end+0xfffd9668>
1312
   407cc:       1105c83a        sub     r2,r2,r4
1313
   407d0:       01000644        movi    r4,25
1314
   407d4:       20801216        blt     r4,r2,40820 <__pack_f+0x120>
1315
   407d8:       3088983a        sll     r4,r6,r2
1316
   407dc:       1884d83a        srl     r2,r3,r2
1317
   407e0:       213fffc4        addi    r4,r4,-1
1318
   407e4:       20c6703a        and     r3,r4,r3
1319
   407e8:       1806c03a        cmpne   r3,r3,zero
1320
   407ec:       1884b03a        or      r2,r3,r2
1321
   407f0:       11001fcc        andi    r4,r2,127
1322
   407f4:       00c01004        movi    r3,64
1323
   407f8:       20c00a1e        bne     r4,r3,40824 <__pack_f+0x124>
1324
   407fc:       10c0200c        andi    r3,r2,128
1325
   40800:       18000126        beq     r3,zero,40808 <__pack_f+0x108>
1326
   40804:       10801004        addi    r2,r2,64
1327
   40808:       100690ba        slli    r3,r2,2
1328
   4080c:       01100034        movhi   r4,16384
1329
   40810:       1105403a        cmpgeu  r2,r2,r4
1330
   40814:       1806d27a        srli    r3,r3,9
1331
   40818:       1009883a        mov     r4,r2
1332
   4081c:       003fd206        br      40768 <__alt_data_end+0xfffd9668>
1333
   40820:       0005883a        mov     r2,zero
1334
   40824:       10800fc4        addi    r2,r2,63
1335
   40828:       003ff706        br      40808 <__alt_data_end+0xfffd9708>
1336
 
1337
0004082c <__unpack_f>:
1338
   4082c:       20c00017        ldw     r3,0(r4)
1339
   40830:       00802034        movhi   r2,128
1340
   40834:       10bfffc4        addi    r2,r2,-1
1341
   40838:       1808d5fa        srli    r4,r3,23
1342
   4083c:       180cd7fa        srli    r6,r3,31
1343
   40840:       1884703a        and     r2,r3,r2
1344
   40844:       21003fcc        andi    r4,r4,255
1345
   40848:       29800115        stw     r6,4(r5)
1346
   4084c:       2000111e        bne     r4,zero,40894 <__unpack_f+0x68>
1347
   40850:       10001a26        beq     r2,zero,408bc <__unpack_f+0x90>
1348
   40854:       00ffe084        movi    r3,-126
1349
   40858:       100491fa        slli    r2,r2,7
1350
   4085c:       28c00215        stw     r3,8(r5)
1351
   40860:       00c000c4        movi    r3,3
1352
   40864:       28c00015        stw     r3,0(r5)
1353
   40868:       01900034        movhi   r6,16384
1354
   4086c:       31bfffc4        addi    r6,r6,-1
1355
   40870:       30801036        bltu    r6,r2,408b4 <__unpack_f+0x88>
1356
   40874:       00ffe044        movi    r3,-127
1357
   40878:       1085883a        add     r2,r2,r2
1358
   4087c:       1809883a        mov     r4,r3
1359
   40880:       18ffffc4        addi    r3,r3,-1
1360
   40884:       30bffc2e        bgeu    r6,r2,40878 <__alt_data_end+0xfffd9778>
1361
   40888:       29000215        stw     r4,8(r5)
1362
   4088c:       28800315        stw     r2,12(r5)
1363
   40890:       f800283a        ret
1364
   40894:       01803fc4        movi    r6,255
1365
   40898:       21800b26        beq     r4,r6,408c8 <__unpack_f+0x9c>
1366
   4089c:       100491fa        slli    r2,r2,7
1367
   408a0:       213fe044        addi    r4,r4,-127
1368
   408a4:       00c000c4        movi    r3,3
1369
   408a8:       10900034        orhi    r2,r2,16384
1370
   408ac:       29000215        stw     r4,8(r5)
1371
   408b0:       28c00015        stw     r3,0(r5)
1372
   408b4:       28800315        stw     r2,12(r5)
1373
   408b8:       f800283a        ret
1374
   408bc:       00800084        movi    r2,2
1375
   408c0:       28800015        stw     r2,0(r5)
1376
   408c4:       f800283a        ret
1377
   408c8:       10000526        beq     r2,zero,408e0 <__unpack_f+0xb4>
1378
   408cc:       18c0042c        andhi   r3,r3,16
1379
   408d0:       18000626        beq     r3,zero,408ec <__unpack_f+0xc0>
1380
   408d4:       00c00044        movi    r3,1
1381
   408d8:       28c00015        stw     r3,0(r5)
1382
   408dc:       003ff506        br      408b4 <__alt_data_end+0xfffd97b4>
1383
   408e0:       00800104        movi    r2,4
1384
   408e4:       28800015        stw     r2,0(r5)
1385
   408e8:       f800283a        ret
1386
   408ec:       28000015        stw     zero,0(r5)
1387
   408f0:       003ff006        br      408b4 <__alt_data_end+0xfffd97b4>
1388
 
1389
000408f4 <__pack_d>:
1390
   408f4:       20800017        ldw     r2,0(r4)
1391
   408f8:       defff804        addi    sp,sp,-32
1392
   408fc:       dcc00315        stw     r19,12(sp)
1393
   40900:       dc800215        stw     r18,8(sp)
1394
   40904:       dfc00715        stw     ra,28(sp)
1395
   40908:       dd800615        stw     r22,24(sp)
1396
   4090c:       dd400515        stw     r21,20(sp)
1397
   40910:       dd000415        stw     r20,16(sp)
1398
   40914:       dc400115        stw     r17,4(sp)
1399
   40918:       dc000015        stw     r16,0(sp)
1400
   4091c:       04800044        movi    r18,1
1401
   40920:       24400317        ldw     r17,12(r4)
1402
   40924:       24000417        ldw     r16,16(r4)
1403
   40928:       24c00117        ldw     r19,4(r4)
1404
   4092c:       9080422e        bgeu    r18,r2,40a38 <__pack_d+0x144>
1405
   40930:       00c00104        movi    r3,4
1406
   40934:       10c03c26        beq     r2,r3,40a28 <__pack_d+0x134>
1407
   40938:       00c00084        movi    r3,2
1408
   4093c:       10c01926        beq     r2,r3,409a4 <__pack_d+0xb0>
1409
   40940:       8c04b03a        or      r2,r17,r16
1410
   40944:       10001726        beq     r2,zero,409a4 <__pack_d+0xb0>
1411
   40948:       21000217        ldw     r4,8(r4)
1412
   4094c:       00bf0084        movi    r2,-1022
1413
   40950:       20804016        blt     r4,r2,40a54 <__pack_d+0x160>
1414
   40954:       0080ffc4        movi    r2,1023
1415
   40958:       11003316        blt     r2,r4,40a28 <__pack_d+0x134>
1416
   4095c:       88803fcc        andi    r2,r17,255
1417
   40960:       00c02004        movi    r3,128
1418
   40964:       10c02926        beq     r2,r3,40a0c <__pack_d+0x118>
1419
   40968:       88801fc4        addi    r2,r17,127
1420
   4096c:       1463803a        cmpltu  r17,r2,r17
1421
   40970:       8c21883a        add     r16,r17,r16
1422
   40974:       1023883a        mov     r17,r2
1423
   40978:       00880034        movhi   r2,8192
1424
   4097c:       10bfffc4        addi    r2,r2,-1
1425
   40980:       14001c36        bltu    r2,r16,409f4 <__pack_d+0x100>
1426
   40984:       2100ffc4        addi    r4,r4,1023
1427
   40988:       8006963a        slli    r3,r16,24
1428
   4098c:       8804d23a        srli    r2,r17,8
1429
   40990:       8020913a        slli    r16,r16,4
1430
   40994:       2101ffcc        andi    r4,r4,2047
1431
   40998:       1884b03a        or      r2,r3,r2
1432
   4099c:       8020d33a        srli    r16,r16,12
1433
   409a0:       00000306        br      409b0 <__pack_d+0xbc>
1434
   409a4:       0009883a        mov     r4,zero
1435
   409a8:       0005883a        mov     r2,zero
1436
   409ac:       0021883a        mov     r16,zero
1437
   409b0:       2008953a        slli    r4,r4,20
1438
   409b4:       982697fa        slli    r19,r19,31
1439
   409b8:       00c00434        movhi   r3,16
1440
   409bc:       18ffffc4        addi    r3,r3,-1
1441
   409c0:       80e0703a        and     r16,r16,r3
1442
   409c4:       8106b03a        or      r3,r16,r4
1443
   409c8:       1cc6b03a        or      r3,r3,r19
1444
   409cc:       dfc00717        ldw     ra,28(sp)
1445
   409d0:       dd800617        ldw     r22,24(sp)
1446
   409d4:       dd400517        ldw     r21,20(sp)
1447
   409d8:       dd000417        ldw     r20,16(sp)
1448
   409dc:       dcc00317        ldw     r19,12(sp)
1449
   409e0:       dc800217        ldw     r18,8(sp)
1450
   409e4:       dc400117        ldw     r17,4(sp)
1451
   409e8:       dc000017        ldw     r16,0(sp)
1452
   409ec:       dec00804        addi    sp,sp,32
1453
   409f0:       f800283a        ret
1454
   409f4:       800697fa        slli    r3,r16,31
1455
   409f8:       8804d07a        srli    r2,r17,1
1456
   409fc:       21010004        addi    r4,r4,1024
1457
   40a00:       8020d07a        srli    r16,r16,1
1458
   40a04:       18a2b03a        or      r17,r3,r2
1459
   40a08:       003fdf06        br      40988 <__alt_data_end+0xfffd9888>
1460
   40a0c:       88c0400c        andi    r3,r17,256
1461
   40a10:       183fd926        beq     r3,zero,40978 <__alt_data_end+0xfffd9878>
1462
   40a14:       8885883a        add     r2,r17,r2
1463
   40a18:       1463803a        cmpltu  r17,r2,r17
1464
   40a1c:       8c21883a        add     r16,r17,r16
1465
   40a20:       1023883a        mov     r17,r2
1466
   40a24:       003fd406        br      40978 <__alt_data_end+0xfffd9878>
1467
   40a28:       0101ffc4        movi    r4,2047
1468
   40a2c:       0005883a        mov     r2,zero
1469
   40a30:       0021883a        mov     r16,zero
1470
   40a34:       003fde06        br      409b0 <__alt_data_end+0xfffd98b0>
1471
   40a38:       84000234        orhi    r16,r16,8
1472
   40a3c:       00c00434        movhi   r3,16
1473
   40a40:       18ffffc4        addi    r3,r3,-1
1474
   40a44:       8805883a        mov     r2,r17
1475
   40a48:       80e0703a        and     r16,r16,r3
1476
   40a4c:       0101ffc4        movi    r4,2047
1477
   40a50:       003fd706        br      409b0 <__alt_data_end+0xfffd98b0>
1478
   40a54:       1129c83a        sub     r20,r2,r4
1479
   40a58:       00800e04        movi    r2,56
1480
   40a5c:       15002716        blt     r2,r20,40afc <__pack_d+0x208>
1481
   40a60:       800b883a        mov     r5,r16
1482
   40a64:       a00d883a        mov     r6,r20
1483
   40a68:       8809883a        mov     r4,r17
1484
   40a6c:       0040c1c0        call    40c1c <__lshrdi3>
1485
   40a70:       9009883a        mov     r4,r18
1486
   40a74:       000b883a        mov     r5,zero
1487
   40a78:       a00d883a        mov     r6,r20
1488
   40a7c:       102d883a        mov     r22,r2
1489
   40a80:       182b883a        mov     r21,r3
1490
   40a84:       0040c600        call    40c60 <__ashldi3>
1491
   40a88:       1009003a        cmpeq   r4,r2,zero
1492
   40a8c:       1907c83a        sub     r3,r3,r4
1493
   40a90:       10bfffc4        addi    r2,r2,-1
1494
   40a94:       1c20703a        and     r16,r3,r16
1495
   40a98:       1444703a        and     r2,r2,r17
1496
   40a9c:       1404b03a        or      r2,r2,r16
1497
   40aa0:       1004c03a        cmpne   r2,r2,zero
1498
   40aa4:       1584b03a        or      r2,r2,r22
1499
   40aa8:       11003fcc        andi    r4,r2,255
1500
   40aac:       01402004        movi    r5,128
1501
   40ab0:       a807883a        mov     r3,r21
1502
   40ab4:       2140131e        bne     r4,r5,40b04 <__pack_d+0x210>
1503
   40ab8:       1140400c        andi    r5,r2,256
1504
   40abc:       28000426        beq     r5,zero,40ad0 <__pack_d+0x1dc>
1505
   40ac0:       1109883a        add     r4,r2,r4
1506
   40ac4:       2085803a        cmpltu  r2,r4,r2
1507
   40ac8:       1547883a        add     r3,r2,r21
1508
   40acc:       2005883a        mov     r2,r4
1509
   40ad0:       1808963a        slli    r4,r3,24
1510
   40ad4:       1004d23a        srli    r2,r2,8
1511
   40ad8:       1820913a        slli    r16,r3,4
1512
   40adc:       01440034        movhi   r5,4096
1513
   40ae0:       297fffc4        addi    r5,r5,-1
1514
   40ae4:       2084b03a        or      r2,r4,r2
1515
   40ae8:       8020d33a        srli    r16,r16,12
1516
   40aec:       01000044        movi    r4,1
1517
   40af0:       28ffaf36        bltu    r5,r3,409b0 <__alt_data_end+0xfffd98b0>
1518
   40af4:       0009883a        mov     r4,zero
1519
   40af8:       003fad06        br      409b0 <__alt_data_end+0xfffd98b0>
1520
   40afc:       0005883a        mov     r2,zero
1521
   40b00:       0007883a        mov     r3,zero
1522
   40b04:       11001fc4        addi    r4,r2,127
1523
   40b08:       2085803a        cmpltu  r2,r4,r2
1524
   40b0c:       10c7883a        add     r3,r2,r3
1525
   40b10:       2005883a        mov     r2,r4
1526
   40b14:       003fee06        br      40ad0 <__alt_data_end+0xfffd99d0>
1527
 
1528
00040b18 <__unpack_d>:
1529
   40b18:       21800117        ldw     r6,4(r4)
1530
   40b1c:       20c00017        ldw     r3,0(r4)
1531
   40b20:       3004d7fa        srli    r2,r6,31
1532
   40b24:       3008d53a        srli    r4,r6,20
1533
   40b28:       28800115        stw     r2,4(r5)
1534
   40b2c:       2101ffcc        andi    r4,r4,2047
1535
   40b30:       00800434        movhi   r2,16
1536
   40b34:       10bfffc4        addi    r2,r2,-1
1537
   40b38:       3084703a        and     r2,r6,r2
1538
   40b3c:       20001a1e        bne     r4,zero,40ba8 <__unpack_d+0x90>
1539
   40b40:       1888b03a        or      r4,r3,r2
1540
   40b44:       20002626        beq     r4,zero,40be0 <__unpack_d+0xc8>
1541
   40b48:       1808d63a        srli    r4,r3,24
1542
   40b4c:       1004923a        slli    r2,r2,8
1543
   40b50:       01bf0084        movi    r6,-1022
1544
   40b54:       29800215        stw     r6,8(r5)
1545
   40b58:       2084b03a        or      r2,r4,r2
1546
   40b5c:       010000c4        movi    r4,3
1547
   40b60:       29000015        stw     r4,0(r5)
1548
   40b64:       02040034        movhi   r8,4096
1549
   40b68:       423fffc4        addi    r8,r8,-1
1550
   40b6c:       1806923a        slli    r3,r3,8
1551
   40b70:       40801836        bltu    r8,r2,40bd4 <__unpack_d+0xbc>
1552
   40b74:       013f0044        movi    r4,-1023
1553
   40b78:       18cd883a        add     r6,r3,r3
1554
   40b7c:       30c7803a        cmpltu  r3,r6,r3
1555
   40b80:       1085883a        add     r2,r2,r2
1556
   40b84:       1885883a        add     r2,r3,r2
1557
   40b88:       200f883a        mov     r7,r4
1558
   40b8c:       3007883a        mov     r3,r6
1559
   40b90:       213fffc4        addi    r4,r4,-1
1560
   40b94:       40bff82e        bgeu    r8,r2,40b78 <__alt_data_end+0xfffd9a78>
1561
   40b98:       29c00215        stw     r7,8(r5)
1562
   40b9c:       28c00315        stw     r3,12(r5)
1563
   40ba0:       28800415        stw     r2,16(r5)
1564
   40ba4:       f800283a        ret
1565
   40ba8:       01c1ffc4        movi    r7,2047
1566
   40bac:       21c00f26        beq     r4,r7,40bec <__unpack_d+0xd4>
1567
   40bb0:       180cd63a        srli    r6,r3,24
1568
   40bb4:       1004923a        slli    r2,r2,8
1569
   40bb8:       213f0044        addi    r4,r4,-1023
1570
   40bbc:       1806923a        slli    r3,r3,8
1571
   40bc0:       3084b03a        or      r2,r6,r2
1572
   40bc4:       29000215        stw     r4,8(r5)
1573
   40bc8:       010000c4        movi    r4,3
1574
   40bcc:       10840034        orhi    r2,r2,4096
1575
   40bd0:       29000015        stw     r4,0(r5)
1576
   40bd4:       28c00315        stw     r3,12(r5)
1577
   40bd8:       28800415        stw     r2,16(r5)
1578
   40bdc:       f800283a        ret
1579
   40be0:       00800084        movi    r2,2
1580
   40be4:       28800015        stw     r2,0(r5)
1581
   40be8:       f800283a        ret
1582
   40bec:       1888b03a        or      r4,r3,r2
1583
   40bf0:       20000526        beq     r4,zero,40c08 <__unpack_d+0xf0>
1584
   40bf4:       3180022c        andhi   r6,r6,8
1585
   40bf8:       30000626        beq     r6,zero,40c14 <__unpack_d+0xfc>
1586
   40bfc:       01000044        movi    r4,1
1587
   40c00:       29000015        stw     r4,0(r5)
1588
   40c04:       003ff306        br      40bd4 <__alt_data_end+0xfffd9ad4>
1589
   40c08:       00800104        movi    r2,4
1590
   40c0c:       28800015        stw     r2,0(r5)
1591
   40c10:       f800283a        ret
1592
   40c14:       28000015        stw     zero,0(r5)
1593
   40c18:       003fee06        br      40bd4 <__alt_data_end+0xfffd9ad4>
1594
 
1595
00040c1c <__lshrdi3>:
1596
   40c1c:       2005883a        mov     r2,r4
1597
   40c20:       2807883a        mov     r3,r5
1598
   40c24:       30000826        beq     r6,zero,40c48 <__lshrdi3+0x2c>
1599
   40c28:       01000804        movi    r4,32
1600
   40c2c:       2189c83a        sub     r4,r4,r6
1601
   40c30:       0100060e        bge     zero,r4,40c4c <__lshrdi3+0x30>
1602
   40c34:       1184d83a        srl     r2,r2,r6
1603
   40c38:       2908983a        sll     r4,r5,r4
1604
   40c3c:       298cd83a        srl     r6,r5,r6
1605
   40c40:       2084b03a        or      r2,r4,r2
1606
   40c44:       3007883a        mov     r3,r6
1607
   40c48:       f800283a        ret
1608
   40c4c:       0105c83a        sub     r2,zero,r4
1609
   40c50:       000d883a        mov     r6,zero
1610
   40c54:       2884d83a        srl     r2,r5,r2
1611
   40c58:       3007883a        mov     r3,r6
1612
   40c5c:       003ffa06        br      40c48 <__alt_data_end+0xfffd9b48>
1613
 
1614
00040c60 <__ashldi3>:
1615
   40c60:       2005883a        mov     r2,r4
1616
   40c64:       2807883a        mov     r3,r5
1617
   40c68:       30000826        beq     r6,zero,40c8c <__ashldi3+0x2c>
1618
   40c6c:       01000804        movi    r4,32
1619
   40c70:       2189c83a        sub     r4,r4,r6
1620
   40c74:       0100060e        bge     zero,r4,40c90 <__ashldi3+0x30>
1621
   40c78:       1108d83a        srl     r4,r2,r4
1622
   40c7c:       2986983a        sll     r3,r5,r6
1623
   40c80:       118c983a        sll     r6,r2,r6
1624
   40c84:       20c6b03a        or      r3,r4,r3
1625
   40c88:       3005883a        mov     r2,r6
1626
   40c8c:       f800283a        ret
1627
   40c90:       0107c83a        sub     r3,zero,r4
1628
   40c94:       000d883a        mov     r6,zero
1629
   40c98:       10c6983a        sll     r3,r2,r3
1630
   40c9c:       3005883a        mov     r2,r6
1631
   40ca0:       003ffa06        br      40c8c <__alt_data_end+0xfffd9b8c>
1632
 
1633
00040ca4 <_printf_r>:
1634
   40ca4:       defffd04        addi    sp,sp,-12
1635
   40ca8:       dfc00015        stw     ra,0(sp)
1636
   40cac:       d9800115        stw     r6,4(sp)
1637
   40cb0:       d9c00215        stw     r7,8(sp)
1638
   40cb4:       280d883a        mov     r6,r5
1639
   40cb8:       21400217        ldw     r5,8(r4)
1640
   40cbc:       d9c00104        addi    r7,sp,4
1641
   40cc0:       0040e640        call    40e64 <___vfprintf_internal_r>
1642
   40cc4:       dfc00017        ldw     ra,0(sp)
1643
   40cc8:       dec00304        addi    sp,sp,12
1644
   40ccc:       f800283a        ret
1645
 
1646
00040cd0 :
1647
   40cd0:       defffc04        addi    sp,sp,-16
1648
   40cd4:       dfc00015        stw     ra,0(sp)
1649
   40cd8:       d9400115        stw     r5,4(sp)
1650
   40cdc:       d9800215        stw     r6,8(sp)
1651
   40ce0:       d9c00315        stw     r7,12(sp)
1652
   40ce4:       00800174        movhi   r2,5
1653
   40ce8:       10b7cd04        addi    r2,r2,-8396
1654
   40cec:       10800017        ldw     r2,0(r2)
1655
   40cf0:       200b883a        mov     r5,r4
1656
   40cf4:       d9800104        addi    r6,sp,4
1657
   40cf8:       11000217        ldw     r4,8(r2)
1658
   40cfc:       0042c5c0        call    42c5c <__vfprintf_internal>
1659
   40d00:       dfc00017        ldw     ra,0(sp)
1660
   40d04:       dec00404        addi    sp,sp,16
1661
   40d08:       f800283a        ret
1662
 
1663
00040d0c <_puts_r>:
1664
   40d0c:       defff604        addi    sp,sp,-40
1665
   40d10:       dc400815        stw     r17,32(sp)
1666
   40d14:       2023883a        mov     r17,r4
1667
   40d18:       2809883a        mov     r4,r5
1668
   40d1c:       dc000715        stw     r16,28(sp)
1669
   40d20:       dfc00915        stw     ra,36(sp)
1670
   40d24:       2821883a        mov     r16,r5
1671
   40d28:       0040da40        call    40da4 
1672
   40d2c:       10c00044        addi    r3,r2,1
1673
   40d30:       d8800115        stw     r2,4(sp)
1674
   40d34:       89400217        ldw     r5,8(r17)
1675
   40d38:       00800174        movhi   r2,5
1676
   40d3c:       10b0c204        addi    r2,r2,-15608
1677
   40d40:       d8800215        stw     r2,8(sp)
1678
   40d44:       00800044        movi    r2,1
1679
   40d48:       d8800315        stw     r2,12(sp)
1680
   40d4c:       8809883a        mov     r4,r17
1681
   40d50:       00800084        movi    r2,2
1682
   40d54:       d9800404        addi    r6,sp,16
1683
   40d58:       dc000015        stw     r16,0(sp)
1684
   40d5c:       d8c00615        stw     r3,24(sp)
1685
   40d60:       dec00415        stw     sp,16(sp)
1686
   40d64:       d8800515        stw     r2,20(sp)
1687
   40d68:       0044f140        call    44f14 <__sfvwrite_r>
1688
   40d6c:       1000061e        bne     r2,zero,40d88 <_puts_r+0x7c>
1689
   40d70:       00800284        movi    r2,10
1690
   40d74:       dfc00917        ldw     ra,36(sp)
1691
   40d78:       dc400817        ldw     r17,32(sp)
1692
   40d7c:       dc000717        ldw     r16,28(sp)
1693
   40d80:       dec00a04        addi    sp,sp,40
1694
   40d84:       f800283a        ret
1695
   40d88:       00bfffc4        movi    r2,-1
1696
   40d8c:       003ff906        br      40d74 <__alt_data_end+0xfffd9c74>
1697
 
1698
00040d90 :
1699
   40d90:       00800174        movhi   r2,5
1700
   40d94:       10b7cd04        addi    r2,r2,-8396
1701
   40d98:       200b883a        mov     r5,r4
1702
   40d9c:       11000017        ldw     r4,0(r2)
1703
   40da0:       0040d0c1        jmpi    40d0c <_puts_r>
1704
 
1705
00040da4 :
1706
   40da4:       208000cc        andi    r2,r4,3
1707
   40da8:       10001f1e        bne     r2,zero,40e28 
1708
   40dac:       20800017        ldw     r2,0(r4)
1709
   40db0:       01ffbff4        movhi   r7,65279
1710
   40db4:       39ffbfc4        addi    r7,r7,-257
1711
   40db8:       01a02074        movhi   r6,32897
1712
   40dbc:       31a02004        addi    r6,r6,-32640
1713
   40dc0:       11c7883a        add     r3,r2,r7
1714
   40dc4:       0084303a        nor     r2,zero,r2
1715
   40dc8:       1886703a        and     r3,r3,r2
1716
   40dcc:       1986703a        and     r3,r3,r6
1717
   40dd0:       2005883a        mov     r2,r4
1718
   40dd4:       1800101e        bne     r3,zero,40e18 
1719
   40dd8:       10800104        addi    r2,r2,4
1720
   40ddc:       10c00017        ldw     r3,0(r2)
1721
   40de0:       19cb883a        add     r5,r3,r7
1722
   40de4:       00c6303a        nor     r3,zero,r3
1723
   40de8:       28c6703a        and     r3,r5,r3
1724
   40dec:       1986703a        and     r3,r3,r6
1725
   40df0:       1800091e        bne     r3,zero,40e18 
1726
   40df4:       10800104        addi    r2,r2,4
1727
   40df8:       10c00017        ldw     r3,0(r2)
1728
   40dfc:       19cb883a        add     r5,r3,r7
1729
   40e00:       00c6303a        nor     r3,zero,r3
1730
   40e04:       28c6703a        and     r3,r5,r3
1731
   40e08:       1986703a        and     r3,r3,r6
1732
   40e0c:       183ff226        beq     r3,zero,40dd8 <__alt_data_end+0xfffd9cd8>
1733
   40e10:       00000106        br      40e18 
1734
   40e14:       10800044        addi    r2,r2,1
1735
   40e18:       10c00007        ldb     r3,0(r2)
1736
   40e1c:       183ffd1e        bne     r3,zero,40e14 <__alt_data_end+0xfffd9d14>
1737
   40e20:       1105c83a        sub     r2,r2,r4
1738
   40e24:       f800283a        ret
1739
   40e28:       2005883a        mov     r2,r4
1740
   40e2c:       003ffa06        br      40e18 <__alt_data_end+0xfffd9d18>
1741
 
1742
00040e30 <__sprint_r>:
1743
   40e30:       30800217        ldw     r2,8(r6)
1744
   40e34:       defffe04        addi    sp,sp,-8
1745
   40e38:       dc000015        stw     r16,0(sp)
1746
   40e3c:       dfc00115        stw     ra,4(sp)
1747
   40e40:       3021883a        mov     r16,r6
1748
   40e44:       10000226        beq     r2,zero,40e50 <__sprint_r+0x20>
1749
   40e48:       0044f140        call    44f14 <__sfvwrite_r>
1750
   40e4c:       80000215        stw     zero,8(r16)
1751
   40e50:       80000115        stw     zero,4(r16)
1752
   40e54:       dfc00117        ldw     ra,4(sp)
1753
   40e58:       dc000017        ldw     r16,0(sp)
1754
   40e5c:       dec00204        addi    sp,sp,8
1755
   40e60:       f800283a        ret
1756
 
1757
00040e64 <___vfprintf_internal_r>:
1758
   40e64:       defeb904        addi    sp,sp,-1308
1759
   40e68:       dc013d15        stw     r16,1268(sp)
1760
   40e6c:       d9013015        stw     r4,1216(sp)
1761
   40e70:       dfc14615        stw     ra,1304(sp)
1762
   40e74:       df014515        stw     fp,1300(sp)
1763
   40e78:       ddc14415        stw     r23,1296(sp)
1764
   40e7c:       dd814315        stw     r22,1292(sp)
1765
   40e80:       dd414215        stw     r21,1288(sp)
1766
   40e84:       dd014115        stw     r20,1284(sp)
1767
   40e88:       dcc14015        stw     r19,1280(sp)
1768
   40e8c:       dc813f15        stw     r18,1276(sp)
1769
   40e90:       dc413e15        stw     r17,1272(sp)
1770
   40e94:       d9412915        stw     r5,1188(sp)
1771
   40e98:       3021883a        mov     r16,r6
1772
   40e9c:       d9c12d15        stw     r7,1204(sp)
1773
   40ea0:       00456000        call    45600 <_localeconv_r>
1774
   40ea4:       10800017        ldw     r2,0(r2)
1775
   40ea8:       d9013017        ldw     r4,1216(sp)
1776
   40eac:       d8013315        stw     zero,1228(sp)
1777
   40eb0:       d8813715        stw     r2,1244(sp)
1778
   40eb4:       d8013415        stw     zero,1232(sp)
1779
   40eb8:       20000226        beq     r4,zero,40ec4 <___vfprintf_internal_r+0x60>
1780
   40ebc:       20800e17        ldw     r2,56(r4)
1781
   40ec0:       10019826        beq     r2,zero,41524 <___vfprintf_internal_r+0x6c0>
1782
   40ec4:       da012917        ldw     r8,1188(sp)
1783
   40ec8:       4080030b        ldhu    r2,12(r8)
1784
   40ecc:       10c0020c        andi    r3,r2,8
1785
   40ed0:       18ffffcc        andi    r3,r3,65535
1786
   40ed4:       18e0001c        xori    r3,r3,32768
1787
   40ed8:       18e00004        addi    r3,r3,-32768
1788
   40edc:       18013a26        beq     r3,zero,413c8 <___vfprintf_internal_r+0x564>
1789
   40ee0:       40c00417        ldw     r3,16(r8)
1790
   40ee4:       18013826        beq     r3,zero,413c8 <___vfprintf_internal_r+0x564>
1791
   40ee8:       1100068c        andi    r4,r2,26
1792
   40eec:       00c00284        movi    r3,10
1793
   40ef0:       20c13e26        beq     r4,r3,413ec <___vfprintf_internal_r+0x588>
1794
   40ef4:       da010dc4        addi    r8,sp,1079
1795
   40ef8:       d8800404        addi    r2,sp,16
1796
   40efc:       da012615        stw     r8,1176(sp)
1797
   40f00:       d8811b15        stw     r2,1132(sp)
1798
   40f04:       1013883a        mov     r9,r2
1799
   40f08:       d8812617        ldw     r2,1176(sp)
1800
   40f0c:       da010e04        addi    r8,sp,1080
1801
   40f10:       dc413017        ldw     r17,1216(sp)
1802
   40f14:       da012715        stw     r8,1180(sp)
1803
   40f18:       4091c83a        sub     r8,r8,r2
1804
   40f1c:       d8011d15        stw     zero,1140(sp)
1805
   40f20:       d8011c15        stw     zero,1136(sp)
1806
   40f24:       802b883a        mov     r21,r16
1807
   40f28:       d8013215        stw     zero,1224(sp)
1808
   40f2c:       d8013615        stw     zero,1240(sp)
1809
   40f30:       d8013515        stw     zero,1236(sp)
1810
   40f34:       d8012c15        stw     zero,1200(sp)
1811
   40f38:       da013915        stw     r8,1252(sp)
1812
   40f3c:       a8800007        ldb     r2,0(r21)
1813
   40f40:       1002ec26        beq     r2,zero,41af4 <___vfprintf_internal_r+0xc90>
1814
   40f44:       00c00944        movi    r3,37
1815
   40f48:       a825883a        mov     r18,r21
1816
   40f4c:       10c0021e        bne     r2,r3,40f58 <___vfprintf_internal_r+0xf4>
1817
   40f50:       00001406        br      40fa4 <___vfprintf_internal_r+0x140>
1818
   40f54:       10c00326        beq     r2,r3,40f64 <___vfprintf_internal_r+0x100>
1819
   40f58:       94800044        addi    r18,r18,1
1820
   40f5c:       90800007        ldb     r2,0(r18)
1821
   40f60:       103ffc1e        bne     r2,zero,40f54 <__alt_data_end+0xfffd9e54>
1822
   40f64:       9561c83a        sub     r16,r18,r21
1823
   40f68:       80000e26        beq     r16,zero,40fa4 <___vfprintf_internal_r+0x140>
1824
   40f6c:       da011d17        ldw     r8,1140(sp)
1825
   40f70:       d8c11c17        ldw     r3,1136(sp)
1826
   40f74:       4d400015        stw     r21,0(r9)
1827
   40f78:       4c000115        stw     r16,4(r9)
1828
   40f7c:       4411883a        add     r8,r8,r16
1829
   40f80:       18c00044        addi    r3,r3,1
1830
   40f84:       da011d15        stw     r8,1140(sp)
1831
   40f88:       d8c11c15        stw     r3,1136(sp)
1832
   40f8c:       008001c4        movi    r2,7
1833
   40f90:       10c15d16        blt     r2,r3,41508 <___vfprintf_internal_r+0x6a4>
1834
   40f94:       4a400204        addi    r9,r9,8
1835
   40f98:       d8812c17        ldw     r2,1200(sp)
1836
   40f9c:       1405883a        add     r2,r2,r16
1837
   40fa0:       d8812c15        stw     r2,1200(sp)
1838
   40fa4:       90800007        ldb     r2,0(r18)
1839
   40fa8:       10013b26        beq     r2,zero,41498 <___vfprintf_internal_r+0x634>
1840
   40fac:       95400044        addi    r21,r18,1
1841
   40fb0:       94800047        ldb     r18,1(r18)
1842
   40fb4:       d8012585        stb     zero,1174(sp)
1843
   40fb8:       073fffc4        movi    fp,-1
1844
   40fbc:       d8012e15        stw     zero,1208(sp)
1845
   40fc0:       0021883a        mov     r16,zero
1846
   40fc4:       00c01604        movi    r3,88
1847
   40fc8:       01400244        movi    r5,9
1848
   40fcc:       02800a84        movi    r10,42
1849
   40fd0:       01c01b04        movi    r7,108
1850
   40fd4:       01800ac4        movi    r6,43
1851
   40fd8:       02c00804        movi    r11,32
1852
   40fdc:       ad400044        addi    r21,r21,1
1853
   40fe0:       90bff804        addi    r2,r18,-32
1854
   40fe4:       1880092e        bgeu    r3,r2,4100c <___vfprintf_internal_r+0x1a8>
1855
   40fe8:       90012b26        beq     r18,zero,41498 <___vfprintf_internal_r+0x634>
1856
   40fec:       00c00044        movi    r3,1
1857
   40ff0:       d8c12815        stw     r3,1184(sp)
1858
   40ff4:       dc810405        stb     r18,1040(sp)
1859
   40ff8:       d8012585        stb     zero,1174(sp)
1860
   40ffc:       d8c12b15        stw     r3,1196(sp)
1861
   41000:       dcc10404        addi    r19,sp,1040
1862
   41004:       d8013115        stw     zero,1220(sp)
1863
   41008:       00008806        br      4122c <___vfprintf_internal_r+0x3c8>
1864
   4100c:       1085883a        add     r2,r2,r2
1865
   41010:       1085883a        add     r2,r2,r2
1866
   41014:       01000134        movhi   r4,4
1867
   41018:       21040a04        addi    r4,r4,4136
1868
   4101c:       1105883a        add     r2,r2,r4
1869
   41020:       10800017        ldw     r2,0(r2)
1870
   41024:       1000683a        jmp     r2
1871
   41028:       000415dc        xori    zero,zero,4183
1872
   4102c:       00040fe8        cmpgeui zero,zero,4159
1873
   41030:       00040fe8        cmpgeui zero,zero,4159
1874
   41034:       000415f0        cmpltui zero,zero,4183
1875
   41038:       00040fe8        cmpgeui zero,zero,4159
1876
   4103c:       00040fe8        cmpgeui zero,zero,4159
1877
   41040:       00040fe8        cmpgeui zero,zero,4159
1878
   41044:       00040fe8        cmpgeui zero,zero,4159
1879
   41048:       00040fe8        cmpgeui zero,zero,4159
1880
   4104c:       00040fe8        cmpgeui zero,zero,4159
1881
   41050:       000416d8        cmpnei  zero,zero,4187
1882
   41054:       00041594        movui   zero,4182
1883
   41058:       00040fe8        cmpgeui zero,zero,4159
1884
   4105c:       000413bc        xorhi   zero,zero,4174
1885
   41060:       000415a0        cmpeqi  zero,zero,4182
1886
   41064:       00040fe8        cmpgeui zero,zero,4159
1887
   41068:       000415fc        xorhi   zero,zero,4183
1888
   4106c:       000416fc        xorhi   zero,zero,4187
1889
   41070:       000416fc        xorhi   zero,zero,4187
1890
   41074:       000416fc        xorhi   zero,zero,4187
1891
   41078:       000416fc        xorhi   zero,zero,4187
1892
   4107c:       000416fc        xorhi   zero,zero,4187
1893
   41080:       000416fc        xorhi   zero,zero,4187
1894
   41084:       000416fc        xorhi   zero,zero,4187
1895
   41088:       000416fc        xorhi   zero,zero,4187
1896
   4108c:       000416fc        xorhi   zero,zero,4187
1897
   41090:       00040fe8        cmpgeui zero,zero,4159
1898
   41094:       00040fe8        cmpgeui zero,zero,4159
1899
   41098:       00040fe8        cmpgeui zero,zero,4159
1900
   4109c:       00040fe8        cmpgeui zero,zero,4159
1901
   410a0:       00040fe8        cmpgeui zero,zero,4159
1902
   410a4:       00040fe8        cmpgeui zero,zero,4159
1903
   410a8:       00040fe8        cmpgeui zero,zero,4159
1904
   410ac:       00040fe8        cmpgeui zero,zero,4159
1905
   410b0:       00040fe8        cmpgeui zero,zero,4159
1906
   410b4:       00040fe8        cmpgeui zero,zero,4159
1907
   410b8:       00041358        cmpnei  zero,zero,4173
1908
   410bc:       00041724        muli    zero,zero,4188
1909
   410c0:       00040fe8        cmpgeui zero,zero,4159
1910
   410c4:       00041724        muli    zero,zero,4188
1911
   410c8:       00040fe8        cmpgeui zero,zero,4159
1912
   410cc:       00040fe8        cmpgeui zero,zero,4159
1913
   410d0:       00040fe8        cmpgeui zero,zero,4159
1914
   410d4:       00040fe8        cmpgeui zero,zero,4159
1915
   410d8:       00041894        movui   zero,4194
1916
   410dc:       00040fe8        cmpgeui zero,zero,4159
1917
   410e0:       00040fe8        cmpgeui zero,zero,4159
1918
   410e4:       00041320        cmpeqi  zero,zero,4172
1919
   410e8:       00040fe8        cmpgeui zero,zero,4159
1920
   410ec:       00040fe8        cmpgeui zero,zero,4159
1921
   410f0:       00040fe8        cmpgeui zero,zero,4159
1922
   410f4:       00040fe8        cmpgeui zero,zero,4159
1923
   410f8:       00040fe8        cmpgeui zero,zero,4159
1924
   410fc:       0004118c        andi    zero,zero,4166
1925
   41100:       00040fe8        cmpgeui zero,zero,4159
1926
   41104:       00040fe8        cmpgeui zero,zero,4159
1927
   41108:       00041608        cmpgei  zero,zero,4184
1928
   4110c:       00040fe8        cmpgeui zero,zero,4159
1929
   41110:       00040fe8        cmpgeui zero,zero,4159
1930
   41114:       00040fe8        cmpgeui zero,zero,4159
1931
   41118:       00040fe8        cmpgeui zero,zero,4159
1932
   4111c:       00040fe8        cmpgeui zero,zero,4159
1933
   41120:       00040fe8        cmpgeui zero,zero,4159
1934
   41124:       00040fe8        cmpgeui zero,zero,4159
1935
   41128:       00040fe8        cmpgeui zero,zero,4159
1936
   4112c:       00040fe8        cmpgeui zero,zero,4159
1937
   41130:       00040fe8        cmpgeui zero,zero,4159
1938
   41134:       0004167c        xorhi   zero,zero,4185
1939
   41138:       0004135c        xori    zero,zero,4173
1940
   4113c:       00041724        muli    zero,zero,4188
1941
   41140:       00041724        muli    zero,zero,4188
1942
   41144:       00041724        muli    zero,zero,4188
1943
   41148:       0004165c        xori    zero,zero,4185
1944
   4114c:       0004135c        xori    zero,zero,4173
1945
   41150:       00040fe8        cmpgeui zero,zero,4159
1946
   41154:       00040fe8        cmpgeui zero,zero,4159
1947
   41158:       00041668        cmpgeui zero,zero,4185
1948
   4115c:       00040fe8        cmpgeui zero,zero,4159
1949
   41160:       000416ac        andhi   zero,zero,4186
1950
   41164:       00041324        muli    zero,zero,4172
1951
   41168:       000417ac        andhi   zero,zero,4190
1952
   4116c:       000417f8        rdprs   zero,zero,4191
1953
   41170:       00040fe8        cmpgeui zero,zero,4159
1954
   41174:       00041804        movi    zero,4192
1955
   41178:       00040fe8        cmpgeui zero,zero,4159
1956
   4117c:       00041190        cmplti  zero,zero,4166
1957
   41180:       00040fe8        cmpgeui zero,zero,4159
1958
   41184:       00040fe8        cmpgeui zero,zero,4159
1959
   41188:       00041860        cmpeqi  zero,zero,4193
1960
   4118c:       84000414        ori     r16,r16,16
1961
   41190:       8080080c        andi    r2,r16,32
1962
   41194:       1000f51e        bne     r2,zero,4156c <___vfprintf_internal_r+0x708>
1963
   41198:       8080040c        andi    r2,r16,16
1964
   4119c:       10042c26        beq     r2,zero,42250 <___vfprintf_internal_r+0x13ec>
1965
   411a0:       da012d17        ldw     r8,1204(sp)
1966
   411a4:       002d883a        mov     r22,zero
1967
   411a8:       00c00044        movi    r3,1
1968
   411ac:       45c00017        ldw     r23,0(r8)
1969
   411b0:       42000104        addi    r8,r8,4
1970
   411b4:       da012d15        stw     r8,1204(sp)
1971
   411b8:       b805883a        mov     r2,r23
1972
   411bc:       d8012585        stb     zero,1174(sp)
1973
   411c0:       e0000216        blt     fp,zero,411cc <___vfprintf_internal_r+0x368>
1974
   411c4:       013fdfc4        movi    r4,-129
1975
   411c8:       8120703a        and     r16,r16,r4
1976
   411cc:       1002671e        bne     r2,zero,41b6c <___vfprintf_internal_r+0xd08>
1977
   411d0:       e002661e        bne     fp,zero,41b6c <___vfprintf_internal_r+0xd08>
1978
   411d4:       18c03fcc        andi    r3,r3,255
1979
   411d8:       1803561e        bne     r3,zero,41f34 <___vfprintf_internal_r+0x10d0>
1980
   411dc:       8080004c        andi    r2,r16,1
1981
   411e0:       10035426        beq     r2,zero,41f34 <___vfprintf_internal_r+0x10d0>
1982
   411e4:       da013917        ldw     r8,1252(sp)
1983
   411e8:       00800c04        movi    r2,48
1984
   411ec:       d8810dc5        stb     r2,1079(sp)
1985
   411f0:       da012b15        stw     r8,1196(sp)
1986
   411f4:       dcc10dc4        addi    r19,sp,1079
1987
   411f8:       d8812b17        ldw     r2,1196(sp)
1988
   411fc:       d8812815        stw     r2,1184(sp)
1989
   41200:       1700010e        bge     r2,fp,41208 <___vfprintf_internal_r+0x3a4>
1990
   41204:       df012815        stw     fp,1184(sp)
1991
   41208:       d8812583        ldbu    r2,1174(sp)
1992
   4120c:       df013115        stw     fp,1220(sp)
1993
   41210:       10803fcc        andi    r2,r2,255
1994
   41214:       1080201c        xori    r2,r2,128
1995
   41218:       10bfe004        addi    r2,r2,-128
1996
   4121c:       10000326        beq     r2,zero,4122c <___vfprintf_internal_r+0x3c8>
1997
   41220:       da012817        ldw     r8,1184(sp)
1998
   41224:       42000044        addi    r8,r8,1
1999
   41228:       da012815        stw     r8,1184(sp)
2000
   4122c:       80c0008c        andi    r3,r16,2
2001
   41230:       d8c12a15        stw     r3,1192(sp)
2002
   41234:       18000326        beq     r3,zero,41244 <___vfprintf_internal_r+0x3e0>
2003
   41238:       da012817        ldw     r8,1184(sp)
2004
   4123c:       42000084        addi    r8,r8,2
2005
   41240:       da012815        stw     r8,1184(sp)
2006
   41244:       80c0210c        andi    r3,r16,132
2007
   41248:       d8c12f15        stw     r3,1212(sp)
2008
   4124c:       1801941e        bne     r3,zero,418a0 <___vfprintf_internal_r+0xa3c>
2009
   41250:       da012e17        ldw     r8,1208(sp)
2010
   41254:       d8c12817        ldw     r3,1184(sp)
2011
   41258:       40edc83a        sub     r22,r8,r3
2012
   4125c:       0581900e        bge     zero,r22,418a0 <___vfprintf_internal_r+0xa3c>
2013
   41260:       02800404        movi    r10,16
2014
   41264:       da011d17        ldw     r8,1140(sp)
2015
   41268:       d8c11c17        ldw     r3,1136(sp)
2016
   4126c:       05c00174        movhi   r23,5
2017
   41270:       bdf0d384        addi    r23,r23,-15538
2018
   41274:       5580200e        bge     r10,r22,412f8 <___vfprintf_internal_r+0x494>
2019
   41278:       dc813815        stw     r18,1248(sp)
2020
   4127c:       5039883a        mov     fp,r10
2021
   41280:       b825883a        mov     r18,r23
2022
   41284:       050001c4        movi    r20,7
2023
   41288:       b02f883a        mov     r23,r22
2024
   4128c:       802d883a        mov     r22,r16
2025
   41290:       dc012917        ldw     r16,1188(sp)
2026
   41294:       00000306        br      412a4 <___vfprintf_internal_r+0x440>
2027
   41298:       bdfffc04        addi    r23,r23,-16
2028
   4129c:       4a400204        addi    r9,r9,8
2029
   412a0:       e5c0110e        bge     fp,r23,412e8 <___vfprintf_internal_r+0x484>
2030
   412a4:       4c800015        stw     r18,0(r9)
2031
   412a8:       4f000115        stw     fp,4(r9)
2032
   412ac:       42000404        addi    r8,r8,16
2033
   412b0:       18c00044        addi    r3,r3,1
2034
   412b4:       da011d15        stw     r8,1140(sp)
2035
   412b8:       d8c11c15        stw     r3,1136(sp)
2036
   412bc:       a0fff60e        bge     r20,r3,41298 <__alt_data_end+0xfffda198>
2037
   412c0:       8809883a        mov     r4,r17
2038
   412c4:       800b883a        mov     r5,r16
2039
   412c8:       d9811b04        addi    r6,sp,1132
2040
   412cc:       0040e300        call    40e30 <__sprint_r>
2041
   412d0:       1000771e        bne     r2,zero,414b0 <___vfprintf_internal_r+0x64c>
2042
   412d4:       bdfffc04        addi    r23,r23,-16
2043
   412d8:       da011d17        ldw     r8,1140(sp)
2044
   412dc:       d8c11c17        ldw     r3,1136(sp)
2045
   412e0:       da400404        addi    r9,sp,16
2046
   412e4:       e5ffef16        blt     fp,r23,412a4 <__alt_data_end+0xfffda1a4>
2047
   412e8:       b021883a        mov     r16,r22
2048
   412ec:       b82d883a        mov     r22,r23
2049
   412f0:       902f883a        mov     r23,r18
2050
   412f4:       dc813817        ldw     r18,1248(sp)
2051
   412f8:       4dc00015        stw     r23,0(r9)
2052
   412fc:       4d800115        stw     r22,4(r9)
2053
   41300:       4591883a        add     r8,r8,r22
2054
   41304:       18c00044        addi    r3,r3,1
2055
   41308:       da011d15        stw     r8,1140(sp)
2056
   4130c:       d8c11c15        stw     r3,1136(sp)
2057
   41310:       008001c4        movi    r2,7
2058
   41314:       10c36d16        blt     r2,r3,420cc <___vfprintf_internal_r+0x1268>
2059
   41318:       4a400204        addi    r9,r9,8
2060
   4131c:       00016206        br      418a8 <___vfprintf_internal_r+0xa44>
2061
   41320:       84000414        ori     r16,r16,16
2062
   41324:       8080080c        andi    r2,r16,32
2063
   41328:       1000801e        bne     r2,zero,4152c <___vfprintf_internal_r+0x6c8>
2064
   4132c:       8080040c        andi    r2,r16,16
2065
   41330:       1003da26        beq     r2,zero,4229c <___vfprintf_internal_r+0x1438>
2066
   41334:       d8c12d17        ldw     r3,1204(sp)
2067
   41338:       002d883a        mov     r22,zero
2068
   4133c:       1dc00017        ldw     r23,0(r3)
2069
   41340:       18c00104        addi    r3,r3,4
2070
   41344:       d8c12d15        stw     r3,1204(sp)
2071
   41348:       b805883a        mov     r2,r23
2072
   4134c:       0007883a        mov     r3,zero
2073
   41350:       d8012585        stb     zero,1174(sp)
2074
   41354:       003f9a06        br      411c0 <__alt_data_end+0xfffda0c0>
2075
   41358:       84000414        ori     r16,r16,16
2076
   4135c:       8080080c        andi    r2,r16,32
2077
   41360:       10007b1e        bne     r2,zero,41550 <___vfprintf_internal_r+0x6ec>
2078
   41364:       8080040c        andi    r2,r16,16
2079
   41368:       1003ed26        beq     r2,zero,42320 <___vfprintf_internal_r+0x14bc>
2080
   4136c:       d9012d17        ldw     r4,1204(sp)
2081
   41370:       25c00017        ldw     r23,0(r4)
2082
   41374:       21000104        addi    r4,r4,4
2083
   41378:       d9012d15        stw     r4,1204(sp)
2084
   4137c:       b82dd7fa        srai    r22,r23,31
2085
   41380:       b005883a        mov     r2,r22
2086
   41384:       1003230e        bge     r2,zero,42014 <___vfprintf_internal_r+0x11b0>
2087
   41388:       05efc83a        sub     r23,zero,r23
2088
   4138c:       b804c03a        cmpne   r2,r23,zero
2089
   41390:       05adc83a        sub     r22,zero,r22
2090
   41394:       b0adc83a        sub     r22,r22,r2
2091
   41398:       00800b44        movi    r2,45
2092
   4139c:       d8812585        stb     r2,1174(sp)
2093
   413a0:       00c00044        movi    r3,1
2094
   413a4:       bd84b03a        or      r2,r23,r22
2095
   413a8:       003f8506        br      411c0 <__alt_data_end+0xfffda0c0>
2096
   413ac:       da012e17        ldw     r8,1208(sp)
2097
   413b0:       d8812d15        stw     r2,1204(sp)
2098
   413b4:       0211c83a        sub     r8,zero,r8
2099
   413b8:       da012e15        stw     r8,1208(sp)
2100
   413bc:       84000114        ori     r16,r16,4
2101
   413c0:       ac800007        ldb     r18,0(r21)
2102
   413c4:       003f0506        br      40fdc <__alt_data_end+0xfffd9edc>
2103
   413c8:       d9013017        ldw     r4,1216(sp)
2104
   413cc:       d9412917        ldw     r5,1188(sp)
2105
   413d0:       0042c800        call    42c80 <__swsetup_r>
2106
   413d4:       10003d1e        bne     r2,zero,414cc <___vfprintf_internal_r+0x668>
2107
   413d8:       d8c12917        ldw     r3,1188(sp)
2108
   413dc:       1880030b        ldhu    r2,12(r3)
2109
   413e0:       00c00284        movi    r3,10
2110
   413e4:       1100068c        andi    r4,r2,26
2111
   413e8:       20fec21e        bne     r4,r3,40ef4 <__alt_data_end+0xfffd9df4>
2112
   413ec:       d9012917        ldw     r4,1188(sp)
2113
   413f0:       20c0038b        ldhu    r3,14(r4)
2114
   413f4:       193fffcc        andi    r4,r3,65535
2115
   413f8:       2120001c        xori    r4,r4,32768
2116
   413fc:       21200004        addi    r4,r4,-32768
2117
   41400:       203ebc16        blt     r4,zero,40ef4 <__alt_data_end+0xfffd9df4>
2118
   41404:       da012917        ldw     r8,1188(sp)
2119
   41408:       d9013017        ldw     r4,1216(sp)
2120
   4140c:       d9c12d17        ldw     r7,1204(sp)
2121
   41410:       42800717        ldw     r10,28(r8)
2122
   41414:       42400917        ldw     r9,36(r8)
2123
   41418:       10bfff4c        andi    r2,r2,65533
2124
   4141c:       02010004        movi    r8,1024
2125
   41420:       d881070d        sth     r2,1052(sp)
2126
   41424:       d9410404        addi    r5,sp,1040
2127
   41428:       d8800404        addi    r2,sp,16
2128
   4142c:       800d883a        mov     r6,r16
2129
   41430:       d8c1078d        sth     r3,1054(sp)
2130
   41434:       da810b15        stw     r10,1068(sp)
2131
   41438:       da410d15        stw     r9,1076(sp)
2132
   4143c:       d8810415        stw     r2,1040(sp)
2133
   41440:       d8810815        stw     r2,1056(sp)
2134
   41444:       da010615        stw     r8,1048(sp)
2135
   41448:       da010915        stw     r8,1060(sp)
2136
   4144c:       d8010a15        stw     zero,1064(sp)
2137
   41450:       0040e640        call    40e64 <___vfprintf_internal_r>
2138
   41454:       d8812c15        stw     r2,1200(sp)
2139
   41458:       10000416        blt     r2,zero,4146c <___vfprintf_internal_r+0x608>
2140
   4145c:       d9013017        ldw     r4,1216(sp)
2141
   41460:       d9410404        addi    r5,sp,1040
2142
   41464:       00446180        call    44618 <_fflush_r>
2143
   41468:       1005d81e        bne     r2,zero,42bcc <___vfprintf_internal_r+0x1d68>
2144
   4146c:       d881070b        ldhu    r2,1052(sp)
2145
   41470:       1080100c        andi    r2,r2,64
2146
   41474:       10bfffcc        andi    r2,r2,65535
2147
   41478:       10a0001c        xori    r2,r2,32768
2148
   4147c:       10a00004        addi    r2,r2,-32768
2149
   41480:       10001426        beq     r2,zero,414d4 <___vfprintf_internal_r+0x670>
2150
   41484:       d8c12917        ldw     r3,1188(sp)
2151
   41488:       1880030b        ldhu    r2,12(r3)
2152
   4148c:       10801014        ori     r2,r2,64
2153
   41490:       1880030d        sth     r2,12(r3)
2154
   41494:       00000f06        br      414d4 <___vfprintf_internal_r+0x670>
2155
   41498:       d8811d17        ldw     r2,1140(sp)
2156
   4149c:       10000426        beq     r2,zero,414b0 <___vfprintf_internal_r+0x64c>
2157
   414a0:       d9013017        ldw     r4,1216(sp)
2158
   414a4:       d9412917        ldw     r5,1188(sp)
2159
   414a8:       d9811b04        addi    r6,sp,1132
2160
   414ac:       0040e300        call    40e30 <__sprint_r>
2161
   414b0:       d8c12917        ldw     r3,1188(sp)
2162
   414b4:       1880030b        ldhu    r2,12(r3)
2163
   414b8:       1080100c        andi    r2,r2,64
2164
   414bc:       10bfffcc        andi    r2,r2,65535
2165
   414c0:       10a0001c        xori    r2,r2,32768
2166
   414c4:       10a00004        addi    r2,r2,-32768
2167
   414c8:       10000226        beq     r2,zero,414d4 <___vfprintf_internal_r+0x670>
2168
   414cc:       00bfffc4        movi    r2,-1
2169
   414d0:       d8812c15        stw     r2,1200(sp)
2170
   414d4:       d8812c17        ldw     r2,1200(sp)
2171
   414d8:       dfc14617        ldw     ra,1304(sp)
2172
   414dc:       df014517        ldw     fp,1300(sp)
2173
   414e0:       ddc14417        ldw     r23,1296(sp)
2174
   414e4:       dd814317        ldw     r22,1292(sp)
2175
   414e8:       dd414217        ldw     r21,1288(sp)
2176
   414ec:       dd014117        ldw     r20,1284(sp)
2177
   414f0:       dcc14017        ldw     r19,1280(sp)
2178
   414f4:       dc813f17        ldw     r18,1276(sp)
2179
   414f8:       dc413e17        ldw     r17,1272(sp)
2180
   414fc:       dc013d17        ldw     r16,1268(sp)
2181
   41500:       dec14704        addi    sp,sp,1308
2182
   41504:       f800283a        ret
2183
   41508:       d9412917        ldw     r5,1188(sp)
2184
   4150c:       8809883a        mov     r4,r17
2185
   41510:       d9811b04        addi    r6,sp,1132
2186
   41514:       0040e300        call    40e30 <__sprint_r>
2187
   41518:       103fe51e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2188
   4151c:       da400404        addi    r9,sp,16
2189
   41520:       003e9d06        br      40f98 <__alt_data_end+0xfffd9e98>
2190
   41524:       00448c00        call    448c0 <__sinit>
2191
   41528:       003e6606        br      40ec4 <__alt_data_end+0xfffd9dc4>
2192
   4152c:       d8812d17        ldw     r2,1204(sp)
2193
   41530:       0007883a        mov     r3,zero
2194
   41534:       15c00017        ldw     r23,0(r2)
2195
   41538:       15800117        ldw     r22,4(r2)
2196
   4153c:       10800204        addi    r2,r2,8
2197
   41540:       d8812d15        stw     r2,1204(sp)
2198
   41544:       d8012585        stb     zero,1174(sp)
2199
   41548:       bd84b03a        or      r2,r23,r22
2200
   4154c:       003f1c06        br      411c0 <__alt_data_end+0xfffda0c0>
2201
   41550:       d8c12d17        ldw     r3,1204(sp)
2202
   41554:       18800117        ldw     r2,4(r3)
2203
   41558:       1dc00017        ldw     r23,0(r3)
2204
   4155c:       18c00204        addi    r3,r3,8
2205
   41560:       d8c12d15        stw     r3,1204(sp)
2206
   41564:       102d883a        mov     r22,r2
2207
   41568:       003f8606        br      41384 <__alt_data_end+0xfffda284>
2208
   4156c:       d8c12d17        ldw     r3,1204(sp)
2209
   41570:       d9012d17        ldw     r4,1204(sp)
2210
   41574:       1dc00017        ldw     r23,0(r3)
2211
   41578:       1d800117        ldw     r22,4(r3)
2212
   4157c:       21000204        addi    r4,r4,8
2213
   41580:       00c00044        movi    r3,1
2214
   41584:       d9012d15        stw     r4,1204(sp)
2215
   41588:       bd84b03a        or      r2,r23,r22
2216
   4158c:       d8012585        stb     zero,1174(sp)
2217
   41590:       003f0b06        br      411c0 <__alt_data_end+0xfffda0c0>
2218
   41594:       d9812585        stb     r6,1174(sp)
2219
   41598:       ac800007        ldb     r18,0(r21)
2220
   4159c:       003e8f06        br      40fdc <__alt_data_end+0xfffd9edc>
2221
   415a0:       ac800007        ldb     r18,0(r21)
2222
   415a4:       a9000044        addi    r4,r21,1
2223
   415a8:       92857d26        beq     r18,r10,42ba0 <___vfprintf_internal_r+0x1d3c>
2224
   415ac:       90bff404        addi    r2,r18,-48
2225
   415b0:       0039883a        mov     fp,zero
2226
   415b4:       28800736        bltu    r5,r2,415d4 <___vfprintf_internal_r+0x770>
2227
   415b8:       24800007        ldb     r18,0(r4)
2228
   415bc:       e70002a4        muli    fp,fp,10
2229
   415c0:       21000044        addi    r4,r4,1
2230
   415c4:       1739883a        add     fp,r2,fp
2231
   415c8:       90bff404        addi    r2,r18,-48
2232
   415cc:       28bffa2e        bgeu    r5,r2,415b8 <__alt_data_end+0xfffda4b8>
2233
   415d0:       e0044216        blt     fp,zero,426dc <___vfprintf_internal_r+0x1878>
2234
   415d4:       202b883a        mov     r21,r4
2235
   415d8:       003e8106        br      40fe0 <__alt_data_end+0xfffd9ee0>
2236
   415dc:       d8812587        ldb     r2,1174(sp)
2237
   415e0:       1003581e        bne     r2,zero,42344 <___vfprintf_internal_r+0x14e0>
2238
   415e4:       dac12585        stb     r11,1174(sp)
2239
   415e8:       ac800007        ldb     r18,0(r21)
2240
   415ec:       003e7b06        br      40fdc <__alt_data_end+0xfffd9edc>
2241
   415f0:       84000054        ori     r16,r16,1
2242
   415f4:       ac800007        ldb     r18,0(r21)
2243
   415f8:       003e7806        br      40fdc <__alt_data_end+0xfffd9edc>
2244
   415fc:       84002014        ori     r16,r16,128
2245
   41600:       ac800007        ldb     r18,0(r21)
2246
   41604:       003e7506        br      40fdc <__alt_data_end+0xfffd9edc>
2247
   41608:       02000174        movhi   r8,5
2248
   4160c:       4230c704        addi    r8,r8,-15588
2249
   41610:       da013615        stw     r8,1240(sp)
2250
   41614:       8080080c        andi    r2,r16,32
2251
   41618:       10009626        beq     r2,zero,41874 <___vfprintf_internal_r+0xa10>
2252
   4161c:       d8812d17        ldw     r2,1204(sp)
2253
   41620:       15c00017        ldw     r23,0(r2)
2254
   41624:       15800117        ldw     r22,4(r2)
2255
   41628:       10800204        addi    r2,r2,8
2256
   4162c:       d8812d15        stw     r2,1204(sp)
2257
   41630:       8080004c        andi    r2,r16,1
2258
   41634:       1002ae26        beq     r2,zero,420f0 <___vfprintf_internal_r+0x128c>
2259
   41638:       bd84b03a        or      r2,r23,r22
2260
   4163c:       10032a26        beq     r2,zero,422e8 <___vfprintf_internal_r+0x1484>
2261
   41640:       00c00c04        movi    r3,48
2262
   41644:       d8c12505        stb     r3,1172(sp)
2263
   41648:       dc812545        stb     r18,1173(sp)
2264
   4164c:       84000094        ori     r16,r16,2
2265
   41650:       00c00084        movi    r3,2
2266
   41654:       d8012585        stb     zero,1174(sp)
2267
   41658:       003ed906        br      411c0 <__alt_data_end+0xfffda0c0>
2268
   4165c:       84001014        ori     r16,r16,64
2269
   41660:       ac800007        ldb     r18,0(r21)
2270
   41664:       003e5d06        br      40fdc <__alt_data_end+0xfffd9edc>
2271
   41668:       ac800007        ldb     r18,0(r21)
2272
   4166c:       a805883a        mov     r2,r21
2273
   41670:       91c43226        beq     r18,r7,4273c <___vfprintf_internal_r+0x18d8>
2274
   41674:       84000414        ori     r16,r16,16
2275
   41678:       003e5806        br      40fdc <__alt_data_end+0xfffd9edc>
2276
   4167c:       d8c12d17        ldw     r3,1204(sp)
2277
   41680:       02000044        movi    r8,1
2278
   41684:       da012815        stw     r8,1184(sp)
2279
   41688:       18800017        ldw     r2,0(r3)
2280
   4168c:       18c00104        addi    r3,r3,4
2281
   41690:       d8012585        stb     zero,1174(sp)
2282
   41694:       d8810405        stb     r2,1040(sp)
2283
   41698:       d8c12d15        stw     r3,1204(sp)
2284
   4169c:       da012b15        stw     r8,1196(sp)
2285
   416a0:       dcc10404        addi    r19,sp,1040
2286
   416a4:       d8013115        stw     zero,1220(sp)
2287
   416a8:       003ee006        br      4122c <__alt_data_end+0xfffda12c>
2288
   416ac:       8080080c        andi    r2,r16,32
2289
   416b0:       10031026        beq     r2,zero,422f4 <___vfprintf_internal_r+0x1490>
2290
   416b4:       d9012d17        ldw     r4,1204(sp)
2291
   416b8:       da012c17        ldw     r8,1200(sp)
2292
   416bc:       20800017        ldw     r2,0(r4)
2293
   416c0:       4007d7fa        srai    r3,r8,31
2294
   416c4:       21000104        addi    r4,r4,4
2295
   416c8:       d9012d15        stw     r4,1204(sp)
2296
   416cc:       12000015        stw     r8,0(r2)
2297
   416d0:       10c00115        stw     r3,4(r2)
2298
   416d4:       003e1906        br      40f3c <__alt_data_end+0xfffd9e3c>
2299
   416d8:       da012d17        ldw     r8,1204(sp)
2300
   416dc:       d9012d17        ldw     r4,1204(sp)
2301
   416e0:       42000017        ldw     r8,0(r8)
2302
   416e4:       20800104        addi    r2,r4,4
2303
   416e8:       da012e15        stw     r8,1208(sp)
2304
   416ec:       403f2f16        blt     r8,zero,413ac <__alt_data_end+0xfffda2ac>
2305
   416f0:       d8812d15        stw     r2,1204(sp)
2306
   416f4:       ac800007        ldb     r18,0(r21)
2307
   416f8:       003e3806        br      40fdc <__alt_data_end+0xfffd9edc>
2308
   416fc:       0009883a        mov     r4,zero
2309
   41700:       90bff404        addi    r2,r18,-48
2310
   41704:       ac800007        ldb     r18,0(r21)
2311
   41708:       210002a4        muli    r4,r4,10
2312
   4170c:       ad400044        addi    r21,r21,1
2313
   41710:       2089883a        add     r4,r4,r2
2314
   41714:       90bff404        addi    r2,r18,-48
2315
   41718:       28bffa2e        bgeu    r5,r2,41704 <__alt_data_end+0xfffda604>
2316
   4171c:       d9012e15        stw     r4,1208(sp)
2317
   41720:       003e2f06        br      40fe0 <__alt_data_end+0xfffd9ee0>
2318
   41724:       8080020c        andi    r2,r16,8
2319
   41728:       1002d426        beq     r2,zero,4227c <___vfprintf_internal_r+0x1418>
2320
   4172c:       d8c12d17        ldw     r3,1204(sp)
2321
   41730:       1d800017        ldw     r22,0(r3)
2322
   41734:       1d000117        ldw     r20,4(r3)
2323
   41738:       18c00204        addi    r3,r3,8
2324
   4173c:       d8c12d15        stw     r3,1204(sp)
2325
   41740:       dd813315        stw     r22,1228(sp)
2326
   41744:       dd013415        stw     r20,1232(sp)
2327
   41748:       b009883a        mov     r4,r22
2328
   4174c:       a00b883a        mov     r5,r20
2329
   41750:       da413c15        stw     r9,1264(sp)
2330
   41754:       00478f80        call    478f8 <__isinfd>
2331
   41758:       da413c17        ldw     r9,1264(sp)
2332
   4175c:       b009883a        mov     r4,r22
2333
   41760:       a00b883a        mov     r5,r20
2334
   41764:       10035726        beq     r2,zero,424c4 <___vfprintf_internal_r+0x1660>
2335
   41768:       000d883a        mov     r6,zero
2336
   4176c:       000f883a        mov     r7,zero
2337
   41770:       00493e40        call    493e4 <__ltdf2>
2338
   41774:       da413c17        ldw     r9,1264(sp)
2339
   41778:       10041b16        blt     r2,zero,427e8 <___vfprintf_internal_r+0x1984>
2340
   4177c:       d8812583        ldbu    r2,1174(sp)
2341
   41780:       00c011c4        movi    r3,71
2342
   41784:       1c830b16        blt     r3,r18,423b4 <___vfprintf_internal_r+0x1550>
2343
   41788:       04c00174        movhi   r19,5
2344
   4178c:       9cf0c304        addi    r19,r19,-15604
2345
   41790:       020000c4        movi    r8,3
2346
   41794:       00ffdfc4        movi    r3,-129
2347
   41798:       da012815        stw     r8,1184(sp)
2348
   4179c:       80e0703a        and     r16,r16,r3
2349
   417a0:       da012b15        stw     r8,1196(sp)
2350
   417a4:       d8013115        stw     zero,1220(sp)
2351
   417a8:       003e9906        br      41210 <__alt_data_end+0xfffda110>
2352
   417ac:       d8812d17        ldw     r2,1204(sp)
2353
   417b0:       d8c12d17        ldw     r3,1204(sp)
2354
   417b4:       02000174        movhi   r8,5
2355
   417b8:       4230cc04        addi    r8,r8,-15568
2356
   417bc:       15c00017        ldw     r23,0(r2)
2357
   417c0:       00800c04        movi    r2,48
2358
   417c4:       18c00104        addi    r3,r3,4
2359
   417c8:       d8812505        stb     r2,1172(sp)
2360
   417cc:       00801e04        movi    r2,120
2361
   417d0:       d8812545        stb     r2,1173(sp)
2362
   417d4:       d8c12d15        stw     r3,1204(sp)
2363
   417d8:       002d883a        mov     r22,zero
2364
   417dc:       84000094        ori     r16,r16,2
2365
   417e0:       da013615        stw     r8,1240(sp)
2366
   417e4:       00c00084        movi    r3,2
2367
   417e8:       04801e04        movi    r18,120
2368
   417ec:       b805883a        mov     r2,r23
2369
   417f0:       d8012585        stb     zero,1174(sp)
2370
   417f4:       003e7206        br      411c0 <__alt_data_end+0xfffda0c0>
2371
   417f8:       84000814        ori     r16,r16,32
2372
   417fc:       ac800007        ldb     r18,0(r21)
2373
   41800:       003df606        br      40fdc <__alt_data_end+0xfffd9edc>
2374
   41804:       d8812d17        ldw     r2,1204(sp)
2375
   41808:       d8012585        stb     zero,1174(sp)
2376
   4180c:       14c00017        ldw     r19,0(r2)
2377
   41810:       15c00104        addi    r23,r2,4
2378
   41814:       98040126        beq     r19,zero,4281c <___vfprintf_internal_r+0x19b8>
2379
   41818:       9809883a        mov     r4,r19
2380
   4181c:       e003dd16        blt     fp,zero,42794 <___vfprintf_internal_r+0x1930>
2381
   41820:       000b883a        mov     r5,zero
2382
   41824:       e00d883a        mov     r6,fp
2383
   41828:       da413c15        stw     r9,1264(sp)
2384
   4182c:       0045f600        call    45f60 
2385
   41830:       da413c17        ldw     r9,1264(sp)
2386
   41834:       10042e26        beq     r2,zero,428f0 <___vfprintf_internal_r+0x1a8c>
2387
   41838:       14c5c83a        sub     r2,r2,r19
2388
   4183c:       d8812b15        stw     r2,1196(sp)
2389
   41840:       e083790e        bge     fp,r2,42628 <___vfprintf_internal_r+0x17c4>
2390
   41844:       df012815        stw     fp,1184(sp)
2391
   41848:       e0049516        blt     fp,zero,42aa0 <___vfprintf_internal_r+0x1c3c>
2392
   4184c:       d8812583        ldbu    r2,1174(sp)
2393
   41850:       df012b15        stw     fp,1196(sp)
2394
   41854:       ddc12d15        stw     r23,1204(sp)
2395
   41858:       d8013115        stw     zero,1220(sp)
2396
   4185c:       003e6c06        br      41210 <__alt_data_end+0xfffda110>
2397
   41860:       02000174        movhi   r8,5
2398
   41864:       4230cc04        addi    r8,r8,-15568
2399
   41868:       da013615        stw     r8,1240(sp)
2400
   4186c:       8080080c        andi    r2,r16,32
2401
   41870:       103f6a1e        bne     r2,zero,4161c <__alt_data_end+0xfffda51c>
2402
   41874:       8080040c        andi    r2,r16,16
2403
   41878:       10029326        beq     r2,zero,422c8 <___vfprintf_internal_r+0x1464>
2404
   4187c:       d8c12d17        ldw     r3,1204(sp)
2405
   41880:       002d883a        mov     r22,zero
2406
   41884:       1dc00017        ldw     r23,0(r3)
2407
   41888:       18c00104        addi    r3,r3,4
2408
   4188c:       d8c12d15        stw     r3,1204(sp)
2409
   41890:       003f6706        br      41630 <__alt_data_end+0xfffda530>
2410
   41894:       84000214        ori     r16,r16,8
2411
   41898:       ac800007        ldb     r18,0(r21)
2412
   4189c:       003dcf06        br      40fdc <__alt_data_end+0xfffd9edc>
2413
   418a0:       da011d17        ldw     r8,1140(sp)
2414
   418a4:       d8c11c17        ldw     r3,1136(sp)
2415
   418a8:       d8812587        ldb     r2,1174(sp)
2416
   418ac:       10000b26        beq     r2,zero,418dc <___vfprintf_internal_r+0xa78>
2417
   418b0:       d8812584        addi    r2,sp,1174
2418
   418b4:       48800015        stw     r2,0(r9)
2419
   418b8:       00800044        movi    r2,1
2420
   418bc:       48800115        stw     r2,4(r9)
2421
   418c0:       4091883a        add     r8,r8,r2
2422
   418c4:       1887883a        add     r3,r3,r2
2423
   418c8:       da011d15        stw     r8,1140(sp)
2424
   418cc:       d8c11c15        stw     r3,1136(sp)
2425
   418d0:       008001c4        movi    r2,7
2426
   418d4:       10c18516        blt     r2,r3,41eec <___vfprintf_internal_r+0x1088>
2427
   418d8:       4a400204        addi    r9,r9,8
2428
   418dc:       d9012a17        ldw     r4,1192(sp)
2429
   418e0:       20000b26        beq     r4,zero,41910 <___vfprintf_internal_r+0xaac>
2430
   418e4:       d8812504        addi    r2,sp,1172
2431
   418e8:       48800015        stw     r2,0(r9)
2432
   418ec:       00800084        movi    r2,2
2433
   418f0:       48800115        stw     r2,4(r9)
2434
   418f4:       4091883a        add     r8,r8,r2
2435
   418f8:       18c00044        addi    r3,r3,1
2436
   418fc:       da011d15        stw     r8,1140(sp)
2437
   41900:       d8c11c15        stw     r3,1136(sp)
2438
   41904:       008001c4        movi    r2,7
2439
   41908:       10c18116        blt     r2,r3,41f10 <___vfprintf_internal_r+0x10ac>
2440
   4190c:       4a400204        addi    r9,r9,8
2441
   41910:       d9012f17        ldw     r4,1212(sp)
2442
   41914:       00802004        movi    r2,128
2443
   41918:       2080fc26        beq     r4,r2,41d0c <___vfprintf_internal_r+0xea8>
2444
   4191c:       d8813117        ldw     r2,1220(sp)
2445
   41920:       d9012b17        ldw     r4,1196(sp)
2446
   41924:       112fc83a        sub     r23,r2,r4
2447
   41928:       05c02a0e        bge     zero,r23,419d4 <___vfprintf_internal_r+0xb70>
2448
   4192c:       07000404        movi    fp,16
2449
   41930:       05000174        movhi   r20,5
2450
   41934:       a530d784        addi    r20,r20,-15522
2451
   41938:       e5c01d0e        bge     fp,r23,419b0 <___vfprintf_internal_r+0xb4c>
2452
   4193c:       dc812a15        stw     r18,1192(sp)
2453
   41940:       058001c4        movi    r22,7
2454
   41944:       a025883a        mov     r18,r20
2455
   41948:       8029883a        mov     r20,r16
2456
   4194c:       dc012917        ldw     r16,1188(sp)
2457
   41950:       00000306        br      41960 <___vfprintf_internal_r+0xafc>
2458
   41954:       bdfffc04        addi    r23,r23,-16
2459
   41958:       4a400204        addi    r9,r9,8
2460
   4195c:       e5c0110e        bge     fp,r23,419a4 <___vfprintf_internal_r+0xb40>
2461
   41960:       4c800015        stw     r18,0(r9)
2462
   41964:       4f000115        stw     fp,4(r9)
2463
   41968:       42000404        addi    r8,r8,16
2464
   4196c:       18c00044        addi    r3,r3,1
2465
   41970:       da011d15        stw     r8,1140(sp)
2466
   41974:       d8c11c15        stw     r3,1136(sp)
2467
   41978:       b0fff60e        bge     r22,r3,41954 <__alt_data_end+0xfffda854>
2468
   4197c:       8809883a        mov     r4,r17
2469
   41980:       800b883a        mov     r5,r16
2470
   41984:       d9811b04        addi    r6,sp,1132
2471
   41988:       0040e300        call    40e30 <__sprint_r>
2472
   4198c:       103ec81e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2473
   41990:       bdfffc04        addi    r23,r23,-16
2474
   41994:       da011d17        ldw     r8,1140(sp)
2475
   41998:       d8c11c17        ldw     r3,1136(sp)
2476
   4199c:       da400404        addi    r9,sp,16
2477
   419a0:       e5ffef16        blt     fp,r23,41960 <__alt_data_end+0xfffda860>
2478
   419a4:       a021883a        mov     r16,r20
2479
   419a8:       9029883a        mov     r20,r18
2480
   419ac:       dc812a17        ldw     r18,1192(sp)
2481
   419b0:       4d000015        stw     r20,0(r9)
2482
   419b4:       4dc00115        stw     r23,4(r9)
2483
   419b8:       45d1883a        add     r8,r8,r23
2484
   419bc:       18c00044        addi    r3,r3,1
2485
   419c0:       da011d15        stw     r8,1140(sp)
2486
   419c4:       d8c11c15        stw     r3,1136(sp)
2487
   419c8:       008001c4        movi    r2,7
2488
   419cc:       10c13e16        blt     r2,r3,41ec8 <___vfprintf_internal_r+0x1064>
2489
   419d0:       4a400204        addi    r9,r9,8
2490
   419d4:       8080400c        andi    r2,r16,256
2491
   419d8:       1000831e        bne     r2,zero,41be8 <___vfprintf_internal_r+0xd84>
2492
   419dc:       d8812b17        ldw     r2,1196(sp)
2493
   419e0:       4cc00015        stw     r19,0(r9)
2494
   419e4:       48800115        stw     r2,4(r9)
2495
   419e8:       4091883a        add     r8,r8,r2
2496
   419ec:       18c00044        addi    r3,r3,1
2497
   419f0:       da011d15        stw     r8,1140(sp)
2498
   419f4:       d8c11c15        stw     r3,1136(sp)
2499
   419f8:       008001c4        movi    r2,7
2500
   419fc:       10c05316        blt     r2,r3,41b4c <___vfprintf_internal_r+0xce8>
2501
   41a00:       4a400204        addi    r9,r9,8
2502
   41a04:       8400010c        andi    r16,r16,4
2503
   41a08:       80002e26        beq     r16,zero,41ac4 <___vfprintf_internal_r+0xc60>
2504
   41a0c:       d8812e17        ldw     r2,1208(sp)
2505
   41a10:       d8c12817        ldw     r3,1184(sp)
2506
   41a14:       10e1c83a        sub     r16,r2,r3
2507
   41a18:       04002a0e        bge     zero,r16,41ac4 <___vfprintf_internal_r+0xc60>
2508
   41a1c:       04800404        movi    r18,16
2509
   41a20:       d8c11c17        ldw     r3,1136(sp)
2510
   41a24:       05c00174        movhi   r23,5
2511
   41a28:       bdf0d384        addi    r23,r23,-15538
2512
   41a2c:       9400170e        bge     r18,r16,41a8c <___vfprintf_internal_r+0xc28>
2513
   41a30:       04c001c4        movi    r19,7
2514
   41a34:       dd012917        ldw     r20,1188(sp)
2515
   41a38:       00000306        br      41a48 <___vfprintf_internal_r+0xbe4>
2516
   41a3c:       843ffc04        addi    r16,r16,-16
2517
   41a40:       4a400204        addi    r9,r9,8
2518
   41a44:       9400110e        bge     r18,r16,41a8c <___vfprintf_internal_r+0xc28>
2519
   41a48:       4dc00015        stw     r23,0(r9)
2520
   41a4c:       4c800115        stw     r18,4(r9)
2521
   41a50:       42000404        addi    r8,r8,16
2522
   41a54:       18c00044        addi    r3,r3,1
2523
   41a58:       da011d15        stw     r8,1140(sp)
2524
   41a5c:       d8c11c15        stw     r3,1136(sp)
2525
   41a60:       98fff60e        bge     r19,r3,41a3c <__alt_data_end+0xfffda93c>
2526
   41a64:       8809883a        mov     r4,r17
2527
   41a68:       a00b883a        mov     r5,r20
2528
   41a6c:       d9811b04        addi    r6,sp,1132
2529
   41a70:       0040e300        call    40e30 <__sprint_r>
2530
   41a74:       103e8e1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2531
   41a78:       843ffc04        addi    r16,r16,-16
2532
   41a7c:       da011d17        ldw     r8,1140(sp)
2533
   41a80:       d8c11c17        ldw     r3,1136(sp)
2534
   41a84:       da400404        addi    r9,sp,16
2535
   41a88:       943fef16        blt     r18,r16,41a48 <__alt_data_end+0xfffda948>
2536
   41a8c:       4dc00015        stw     r23,0(r9)
2537
   41a90:       4c000115        stw     r16,4(r9)
2538
   41a94:       8211883a        add     r8,r16,r8
2539
   41a98:       18c00044        addi    r3,r3,1
2540
   41a9c:       da011d15        stw     r8,1140(sp)
2541
   41aa0:       d8c11c15        stw     r3,1136(sp)
2542
   41aa4:       008001c4        movi    r2,7
2543
   41aa8:       10c0060e        bge     r2,r3,41ac4 <___vfprintf_internal_r+0xc60>
2544
   41aac:       d9412917        ldw     r5,1188(sp)
2545
   41ab0:       8809883a        mov     r4,r17
2546
   41ab4:       d9811b04        addi    r6,sp,1132
2547
   41ab8:       0040e300        call    40e30 <__sprint_r>
2548
   41abc:       103e7c1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2549
   41ac0:       da011d17        ldw     r8,1140(sp)
2550
   41ac4:       dd012817        ldw     r20,1184(sp)
2551
   41ac8:       d9012e17        ldw     r4,1208(sp)
2552
   41acc:       a100010e        bge     r20,r4,41ad4 <___vfprintf_internal_r+0xc70>
2553
   41ad0:       2029883a        mov     r20,r4
2554
   41ad4:       d8812c17        ldw     r2,1200(sp)
2555
   41ad8:       1505883a        add     r2,r2,r20
2556
   41adc:       d8812c15        stw     r2,1200(sp)
2557
   41ae0:       4000b91e        bne     r8,zero,41dc8 <___vfprintf_internal_r+0xf64>
2558
   41ae4:       d8011c15        stw     zero,1136(sp)
2559
   41ae8:       a8800007        ldb     r2,0(r21)
2560
   41aec:       da400404        addi    r9,sp,16
2561
   41af0:       103d141e        bne     r2,zero,40f44 <__alt_data_end+0xfffd9e44>
2562
   41af4:       a825883a        mov     r18,r21
2563
   41af8:       003d2a06        br      40fa4 <__alt_data_end+0xfffd9ea4>
2564
   41afc:       d9412917        ldw     r5,1188(sp)
2565
   41b00:       8809883a        mov     r4,r17
2566
   41b04:       d9811b04        addi    r6,sp,1132
2567
   41b08:       0040e300        call    40e30 <__sprint_r>
2568
   41b0c:       103e681e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2569
   41b10:       da011d17        ldw     r8,1140(sp)
2570
   41b14:       da400404        addi    r9,sp,16
2571
   41b18:       8080004c        andi    r2,r16,1
2572
   41b1c:       103fb926        beq     r2,zero,41a04 <__alt_data_end+0xfffda904>
2573
   41b20:       d8c11c17        ldw     r3,1136(sp)
2574
   41b24:       d9013717        ldw     r4,1244(sp)
2575
   41b28:       00800044        movi    r2,1
2576
   41b2c:       48800115        stw     r2,4(r9)
2577
   41b30:       49000015        stw     r4,0(r9)
2578
   41b34:       4091883a        add     r8,r8,r2
2579
   41b38:       1887883a        add     r3,r3,r2
2580
   41b3c:       da011d15        stw     r8,1140(sp)
2581
   41b40:       d8c11c15        stw     r3,1136(sp)
2582
   41b44:       008001c4        movi    r2,7
2583
   41b48:       10ffad0e        bge     r2,r3,41a00 <__alt_data_end+0xfffda900>
2584
   41b4c:       d9412917        ldw     r5,1188(sp)
2585
   41b50:       8809883a        mov     r4,r17
2586
   41b54:       d9811b04        addi    r6,sp,1132
2587
   41b58:       0040e300        call    40e30 <__sprint_r>
2588
   41b5c:       103e541e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2589
   41b60:       da400404        addi    r9,sp,16
2590
   41b64:       da011d17        ldw     r8,1140(sp)
2591
   41b68:       003fa606        br      41a04 <__alt_data_end+0xfffda904>
2592
   41b6c:       18803fcc        andi    r2,r3,255
2593
   41b70:       00c00044        movi    r3,1
2594
   41b74:       10c10126        beq     r2,r3,41f7c <___vfprintf_internal_r+0x1118>
2595
   41b78:       00c00084        movi    r3,2
2596
   41b7c:       10c0f026        beq     r2,r3,41f40 <___vfprintf_internal_r+0x10dc>
2597
   41b80:       d8c10dc4        addi    r3,sp,1079
2598
   41b84:       b808d0fa        srli    r4,r23,3
2599
   41b88:       b00a977a        slli    r5,r22,29
2600
   41b8c:       b02cd0fa        srli    r22,r22,3
2601
   41b90:       bdc001cc        andi    r23,r23,7
2602
   41b94:       b8800c04        addi    r2,r23,48
2603
   41b98:       292eb03a        or      r23,r5,r4
2604
   41b9c:       18800005        stb     r2,0(r3)
2605
   41ba0:       bd88b03a        or      r4,r23,r22
2606
   41ba4:       1827883a        mov     r19,r3
2607
   41ba8:       18ffffc4        addi    r3,r3,-1
2608
   41bac:       203ff51e        bne     r4,zero,41b84 <__alt_data_end+0xfffdaa84>
2609
   41bb0:       8100004c        andi    r4,r16,1
2610
   41bb4:       980b883a        mov     r5,r19
2611
   41bb8:       20000726        beq     r4,zero,41bd8 <___vfprintf_internal_r+0xd74>
2612
   41bbc:       10803fcc        andi    r2,r2,255
2613
   41bc0:       1080201c        xori    r2,r2,128
2614
   41bc4:       10bfe004        addi    r2,r2,-128
2615
   41bc8:       01000c04        movi    r4,48
2616
   41bcc:       11000226        beq     r2,r4,41bd8 <___vfprintf_internal_r+0xd74>
2617
   41bd0:       1827883a        mov     r19,r3
2618
   41bd4:       293fffc5        stb     r4,-1(r5)
2619
   41bd8:       d8812717        ldw     r2,1180(sp)
2620
   41bdc:       14c5c83a        sub     r2,r2,r19
2621
   41be0:       d8812b15        stw     r2,1196(sp)
2622
   41be4:       003d8406        br      411f8 <__alt_data_end+0xfffda0f8>
2623
   41be8:       00801944        movi    r2,101
2624
   41bec:       14807c0e        bge     r2,r18,41de0 <___vfprintf_internal_r+0xf7c>
2625
   41bf0:       d9013317        ldw     r4,1228(sp)
2626
   41bf4:       d9413417        ldw     r5,1232(sp)
2627
   41bf8:       000d883a        mov     r6,zero
2628
   41bfc:       000f883a        mov     r7,zero
2629
   41c00:       d8c13b15        stw     r3,1260(sp)
2630
   41c04:       da013a15        stw     r8,1256(sp)
2631
   41c08:       da413c15        stw     r9,1264(sp)
2632
   41c0c:       00492c00        call    492c0 <__nedf2>
2633
   41c10:       d8c13b17        ldw     r3,1260(sp)
2634
   41c14:       da013a17        ldw     r8,1256(sp)
2635
   41c18:       da413c17        ldw     r9,1264(sp)
2636
   41c1c:       1001001e        bne     r2,zero,42020 <___vfprintf_internal_r+0x11bc>
2637
   41c20:       00800174        movhi   r2,5
2638
   41c24:       10b0d304        addi    r2,r2,-15540
2639
   41c28:       48800015        stw     r2,0(r9)
2640
   41c2c:       00800044        movi    r2,1
2641
   41c30:       48800115        stw     r2,4(r9)
2642
   41c34:       4091883a        add     r8,r8,r2
2643
   41c38:       1887883a        add     r3,r3,r2
2644
   41c3c:       da011d15        stw     r8,1140(sp)
2645
   41c40:       d8c11c15        stw     r3,1136(sp)
2646
   41c44:       008001c4        movi    r2,7
2647
   41c48:       10c1dd16        blt     r2,r3,423c0 <___vfprintf_internal_r+0x155c>
2648
   41c4c:       4a400204        addi    r9,r9,8
2649
   41c50:       d8812417        ldw     r2,1168(sp)
2650
   41c54:       d8c13217        ldw     r3,1224(sp)
2651
   41c58:       10c00216        blt     r2,r3,41c64 <___vfprintf_internal_r+0xe00>
2652
   41c5c:       8080004c        andi    r2,r16,1
2653
   41c60:       103f6826        beq     r2,zero,41a04 <__alt_data_end+0xfffda904>
2654
   41c64:       d8c11c17        ldw     r3,1136(sp)
2655
   41c68:       d9013717        ldw     r4,1244(sp)
2656
   41c6c:       00800044        movi    r2,1
2657
   41c70:       48800115        stw     r2,4(r9)
2658
   41c74:       49000015        stw     r4,0(r9)
2659
   41c78:       4091883a        add     r8,r8,r2
2660
   41c7c:       1887883a        add     r3,r3,r2
2661
   41c80:       da011d15        stw     r8,1140(sp)
2662
   41c84:       d8c11c15        stw     r3,1136(sp)
2663
   41c88:       008001c4        movi    r2,7
2664
   41c8c:       10c2af16        blt     r2,r3,4274c <___vfprintf_internal_r+0x18e8>
2665
   41c90:       4a400204        addi    r9,r9,8
2666
   41c94:       d8813217        ldw     r2,1224(sp)
2667
   41c98:       14bfffc4        addi    r18,r2,-1
2668
   41c9c:       04bf590e        bge     zero,r18,41a04 <__alt_data_end+0xfffda904>
2669
   41ca0:       04c00404        movi    r19,16
2670
   41ca4:       d8c11c17        ldw     r3,1136(sp)
2671
   41ca8:       05000174        movhi   r20,5
2672
   41cac:       a530d784        addi    r20,r20,-15522
2673
   41cb0:       9c81630e        bge     r19,r18,42240 <___vfprintf_internal_r+0x13dc>
2674
   41cb4:       058001c4        movi    r22,7
2675
   41cb8:       ddc12917        ldw     r23,1188(sp)
2676
   41cbc:       00000306        br      41ccc <___vfprintf_internal_r+0xe68>
2677
   41cc0:       4a400204        addi    r9,r9,8
2678
   41cc4:       94bffc04        addi    r18,r18,-16
2679
   41cc8:       9c815d0e        bge     r19,r18,42240 <___vfprintf_internal_r+0x13dc>
2680
   41ccc:       4d000015        stw     r20,0(r9)
2681
   41cd0:       4cc00115        stw     r19,4(r9)
2682
   41cd4:       42000404        addi    r8,r8,16
2683
   41cd8:       18c00044        addi    r3,r3,1
2684
   41cdc:       da011d15        stw     r8,1140(sp)
2685
   41ce0:       d8c11c15        stw     r3,1136(sp)
2686
   41ce4:       b0fff60e        bge     r22,r3,41cc0 <__alt_data_end+0xfffdabc0>
2687
   41ce8:       8809883a        mov     r4,r17
2688
   41cec:       b80b883a        mov     r5,r23
2689
   41cf0:       d9811b04        addi    r6,sp,1132
2690
   41cf4:       0040e300        call    40e30 <__sprint_r>
2691
   41cf8:       103ded1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2692
   41cfc:       da011d17        ldw     r8,1140(sp)
2693
   41d00:       d8c11c17        ldw     r3,1136(sp)
2694
   41d04:       da400404        addi    r9,sp,16
2695
   41d08:       003fee06        br      41cc4 <__alt_data_end+0xfffdabc4>
2696
   41d0c:       d8812e17        ldw     r2,1208(sp)
2697
   41d10:       d9012817        ldw     r4,1184(sp)
2698
   41d14:       112fc83a        sub     r23,r2,r4
2699
   41d18:       05ff000e        bge     zero,r23,4191c <__alt_data_end+0xfffda81c>
2700
   41d1c:       07000404        movi    fp,16
2701
   41d20:       05000174        movhi   r20,5
2702
   41d24:       a530d784        addi    r20,r20,-15522
2703
   41d28:       e5c01d0e        bge     fp,r23,41da0 <___vfprintf_internal_r+0xf3c>
2704
   41d2c:       dc812a15        stw     r18,1192(sp)
2705
   41d30:       058001c4        movi    r22,7
2706
   41d34:       a025883a        mov     r18,r20
2707
   41d38:       8029883a        mov     r20,r16
2708
   41d3c:       dc012917        ldw     r16,1188(sp)
2709
   41d40:       00000306        br      41d50 <___vfprintf_internal_r+0xeec>
2710
   41d44:       bdfffc04        addi    r23,r23,-16
2711
   41d48:       4a400204        addi    r9,r9,8
2712
   41d4c:       e5c0110e        bge     fp,r23,41d94 <___vfprintf_internal_r+0xf30>
2713
   41d50:       4c800015        stw     r18,0(r9)
2714
   41d54:       4f000115        stw     fp,4(r9)
2715
   41d58:       42000404        addi    r8,r8,16
2716
   41d5c:       18c00044        addi    r3,r3,1
2717
   41d60:       da011d15        stw     r8,1140(sp)
2718
   41d64:       d8c11c15        stw     r3,1136(sp)
2719
   41d68:       b0fff60e        bge     r22,r3,41d44 <__alt_data_end+0xfffdac44>
2720
   41d6c:       8809883a        mov     r4,r17
2721
   41d70:       800b883a        mov     r5,r16
2722
   41d74:       d9811b04        addi    r6,sp,1132
2723
   41d78:       0040e300        call    40e30 <__sprint_r>
2724
   41d7c:       103dcc1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2725
   41d80:       bdfffc04        addi    r23,r23,-16
2726
   41d84:       da011d17        ldw     r8,1140(sp)
2727
   41d88:       d8c11c17        ldw     r3,1136(sp)
2728
   41d8c:       da400404        addi    r9,sp,16
2729
   41d90:       e5ffef16        blt     fp,r23,41d50 <__alt_data_end+0xfffdac50>
2730
   41d94:       a021883a        mov     r16,r20
2731
   41d98:       9029883a        mov     r20,r18
2732
   41d9c:       dc812a17        ldw     r18,1192(sp)
2733
   41da0:       4d000015        stw     r20,0(r9)
2734
   41da4:       4dc00115        stw     r23,4(r9)
2735
   41da8:       45d1883a        add     r8,r8,r23
2736
   41dac:       18c00044        addi    r3,r3,1
2737
   41db0:       da011d15        stw     r8,1140(sp)
2738
   41db4:       d8c11c15        stw     r3,1136(sp)
2739
   41db8:       008001c4        movi    r2,7
2740
   41dbc:       10c11716        blt     r2,r3,4221c <___vfprintf_internal_r+0x13b8>
2741
   41dc0:       4a400204        addi    r9,r9,8
2742
   41dc4:       003ed506        br      4191c <__alt_data_end+0xfffda81c>
2743
   41dc8:       d9412917        ldw     r5,1188(sp)
2744
   41dcc:       8809883a        mov     r4,r17
2745
   41dd0:       d9811b04        addi    r6,sp,1132
2746
   41dd4:       0040e300        call    40e30 <__sprint_r>
2747
   41dd8:       103f4226        beq     r2,zero,41ae4 <__alt_data_end+0xfffda9e4>
2748
   41ddc:       003db406        br      414b0 <__alt_data_end+0xfffda3b0>
2749
   41de0:       d9013217        ldw     r4,1224(sp)
2750
   41de4:       00800044        movi    r2,1
2751
   41de8:       4cc00015        stw     r19,0(r9)
2752
   41dec:       1100e10e        bge     r2,r4,42174 <___vfprintf_internal_r+0x1310>
2753
   41df0:       00800044        movi    r2,1
2754
   41df4:       48800115        stw     r2,4(r9)
2755
   41df8:       4091883a        add     r8,r8,r2
2756
   41dfc:       1887883a        add     r3,r3,r2
2757
   41e00:       da011d15        stw     r8,1140(sp)
2758
   41e04:       d8c11c15        stw     r3,1136(sp)
2759
   41e08:       008001c4        movi    r2,7
2760
   41e0c:       10c0ed16        blt     r2,r3,421c4 <___vfprintf_internal_r+0x1360>
2761
   41e10:       4a400204        addi    r9,r9,8
2762
   41e14:       d8813717        ldw     r2,1244(sp)
2763
   41e18:       48800015        stw     r2,0(r9)
2764
   41e1c:       00800044        movi    r2,1
2765
   41e20:       48800115        stw     r2,4(r9)
2766
   41e24:       4091883a        add     r8,r8,r2
2767
   41e28:       1887883a        add     r3,r3,r2
2768
   41e2c:       da011d15        stw     r8,1140(sp)
2769
   41e30:       d8c11c15        stw     r3,1136(sp)
2770
   41e34:       008001c4        movi    r2,7
2771
   41e38:       10c0eb16        blt     r2,r3,421e8 <___vfprintf_internal_r+0x1384>
2772
   41e3c:       4c800204        addi    r18,r9,8
2773
   41e40:       d9013317        ldw     r4,1228(sp)
2774
   41e44:       d9413417        ldw     r5,1232(sp)
2775
   41e48:       000d883a        mov     r6,zero
2776
   41e4c:       000f883a        mov     r7,zero
2777
   41e50:       d8c13b15        stw     r3,1260(sp)
2778
   41e54:       da013a15        stw     r8,1256(sp)
2779
   41e58:       00492640        call    49264 <__eqdf2>
2780
   41e5c:       d8c13b17        ldw     r3,1260(sp)
2781
   41e60:       da013a17        ldw     r8,1256(sp)
2782
   41e64:       1000a626        beq     r2,zero,42100 <___vfprintf_internal_r+0x129c>
2783
   41e68:       d9013217        ldw     r4,1224(sp)
2784
   41e6c:       9cc00044        addi    r19,r19,1
2785
   41e70:       94c00015        stw     r19,0(r18)
2786
   41e74:       20bfffc4        addi    r2,r4,-1
2787
   41e78:       90800115        stw     r2,4(r18)
2788
   41e7c:       4091883a        add     r8,r8,r2
2789
   41e80:       18c00044        addi    r3,r3,1
2790
   41e84:       da011d15        stw     r8,1140(sp)
2791
   41e88:       d8c11c15        stw     r3,1136(sp)
2792
   41e8c:       008001c4        movi    r2,7
2793
   41e90:       10c0c316        blt     r2,r3,421a0 <___vfprintf_internal_r+0x133c>
2794
   41e94:       94800204        addi    r18,r18,8
2795
   41e98:       d9013517        ldw     r4,1236(sp)
2796
   41e9c:       d8811fc4        addi    r2,sp,1151
2797
   41ea0:       90800015        stw     r2,0(r18)
2798
   41ea4:       91000115        stw     r4,4(r18)
2799
   41ea8:       4111883a        add     r8,r8,r4
2800
   41eac:       18c00044        addi    r3,r3,1
2801
   41eb0:       da011d15        stw     r8,1140(sp)
2802
   41eb4:       d8c11c15        stw     r3,1136(sp)
2803
   41eb8:       008001c4        movi    r2,7
2804
   41ebc:       10ff2316        blt     r2,r3,41b4c <__alt_data_end+0xfffdaa4c>
2805
   41ec0:       92400204        addi    r9,r18,8
2806
   41ec4:       003ecf06        br      41a04 <__alt_data_end+0xfffda904>
2807
   41ec8:       d9412917        ldw     r5,1188(sp)
2808
   41ecc:       8809883a        mov     r4,r17
2809
   41ed0:       d9811b04        addi    r6,sp,1132
2810
   41ed4:       0040e300        call    40e30 <__sprint_r>
2811
   41ed8:       103d751e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2812
   41edc:       da011d17        ldw     r8,1140(sp)
2813
   41ee0:       d8c11c17        ldw     r3,1136(sp)
2814
   41ee4:       da400404        addi    r9,sp,16
2815
   41ee8:       003eba06        br      419d4 <__alt_data_end+0xfffda8d4>
2816
   41eec:       d9412917        ldw     r5,1188(sp)
2817
   41ef0:       8809883a        mov     r4,r17
2818
   41ef4:       d9811b04        addi    r6,sp,1132
2819
   41ef8:       0040e300        call    40e30 <__sprint_r>
2820
   41efc:       103d6c1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2821
   41f00:       da011d17        ldw     r8,1140(sp)
2822
   41f04:       d8c11c17        ldw     r3,1136(sp)
2823
   41f08:       da400404        addi    r9,sp,16
2824
   41f0c:       003e7306        br      418dc <__alt_data_end+0xfffda7dc>
2825
   41f10:       d9412917        ldw     r5,1188(sp)
2826
   41f14:       8809883a        mov     r4,r17
2827
   41f18:       d9811b04        addi    r6,sp,1132
2828
   41f1c:       0040e300        call    40e30 <__sprint_r>
2829
   41f20:       103d631e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2830
   41f24:       da011d17        ldw     r8,1140(sp)
2831
   41f28:       d8c11c17        ldw     r3,1136(sp)
2832
   41f2c:       da400404        addi    r9,sp,16
2833
   41f30:       003e7706        br      41910 <__alt_data_end+0xfffda810>
2834
   41f34:       d8012b15        stw     zero,1196(sp)
2835
   41f38:       dcc10e04        addi    r19,sp,1080
2836
   41f3c:       003cae06        br      411f8 <__alt_data_end+0xfffda0f8>
2837
   41f40:       d9413617        ldw     r5,1240(sp)
2838
   41f44:       d8810dc4        addi    r2,sp,1079
2839
   41f48:       b8c003cc        andi    r3,r23,15
2840
   41f4c:       b008973a        slli    r4,r22,28
2841
   41f50:       28c7883a        add     r3,r5,r3
2842
   41f54:       b82ed13a        srli    r23,r23,4
2843
   41f58:       18c00003        ldbu    r3,0(r3)
2844
   41f5c:       b02cd13a        srli    r22,r22,4
2845
   41f60:       25eeb03a        or      r23,r4,r23
2846
   41f64:       10c00005        stb     r3,0(r2)
2847
   41f68:       bd86b03a        or      r3,r23,r22
2848
   41f6c:       1027883a        mov     r19,r2
2849
   41f70:       10bfffc4        addi    r2,r2,-1
2850
   41f74:       183ff41e        bne     r3,zero,41f48 <__alt_data_end+0xfffdae48>
2851
   41f78:       003f1706        br      41bd8 <__alt_data_end+0xfffdaad8>
2852
   41f7c:       b0025826        beq     r22,zero,428e0 <___vfprintf_internal_r+0x1a7c>
2853
   41f80:       b807883a        mov     r3,r23
2854
   41f84:       d8810dc4        addi    r2,sp,1079
2855
   41f88:       882f883a        mov     r23,r17
2856
   41f8c:       04c00244        movi    r19,9
2857
   41f90:       8023883a        mov     r17,r16
2858
   41f94:       da412815        stw     r9,1184(sp)
2859
   41f98:       1821883a        mov     r16,r3
2860
   41f9c:       8009883a        mov     r4,r16
2861
   41fa0:       b00b883a        mov     r5,r22
2862
   41fa4:       01800284        movi    r6,10
2863
   41fa8:       000f883a        mov     r7,zero
2864
   41fac:       1029883a        mov     r20,r2
2865
   41fb0:       00485ec0        call    485ec <__umoddi3>
2866
   41fb4:       10800c04        addi    r2,r2,48
2867
   41fb8:       8009883a        mov     r4,r16
2868
   41fbc:       b00b883a        mov     r5,r22
2869
   41fc0:       a0800005        stb     r2,0(r20)
2870
   41fc4:       01800284        movi    r6,10
2871
   41fc8:       000f883a        mov     r7,zero
2872
   41fcc:       00480240        call    48024 <__udivdi3>
2873
   41fd0:       1021883a        mov     r16,r2
2874
   41fd4:       182d883a        mov     r22,r3
2875
   41fd8:       a0bfffc4        addi    r2,r20,-1
2876
   41fdc:       183fef1e        bne     r3,zero,41f9c <__alt_data_end+0xfffdae9c>
2877
   41fe0:       9c3fee36        bltu    r19,r16,41f9c <__alt_data_end+0xfffdae9c>
2878
   41fe4:       da412817        ldw     r9,1184(sp)
2879
   41fe8:       8005883a        mov     r2,r16
2880
   41fec:       8821883a        mov     r16,r17
2881
   41ff0:       b823883a        mov     r17,r23
2882
   41ff4:       102f883a        mov     r23,r2
2883
   41ff8:       d8812717        ldw     r2,1180(sp)
2884
   41ffc:       a4ffffc4        addi    r19,r20,-1
2885
   42000:       bdc00c04        addi    r23,r23,48
2886
   42004:       14c5c83a        sub     r2,r2,r19
2887
   42008:       a5ffffc5        stb     r23,-1(r20)
2888
   4200c:       d8812b15        stw     r2,1196(sp)
2889
   42010:       003c7906        br      411f8 <__alt_data_end+0xfffda0f8>
2890
   42014:       00c00044        movi    r3,1
2891
   42018:       bd84b03a        or      r2,r23,r22
2892
   4201c:       003c6806        br      411c0 <__alt_data_end+0xfffda0c0>
2893
   42020:       dc812417        ldw     r18,1168(sp)
2894
   42024:       0480ee0e        bge     zero,r18,423e0 <___vfprintf_internal_r+0x157c>
2895
   42028:       d9013217        ldw     r4,1224(sp)
2896
   4202c:       4cc00015        stw     r19,0(r9)
2897
   42030:       9100c616        blt     r18,r4,4234c <___vfprintf_internal_r+0x14e8>
2898
   42034:       49000115        stw     r4,4(r9)
2899
   42038:       4111883a        add     r8,r8,r4
2900
   4203c:       18c00044        addi    r3,r3,1
2901
   42040:       da011d15        stw     r8,1140(sp)
2902
   42044:       d8c11c15        stw     r3,1136(sp)
2903
   42048:       008001c4        movi    r2,7
2904
   4204c:       10c20916        blt     r2,r3,42874 <___vfprintf_internal_r+0x1a10>
2905
   42050:       4a400204        addi    r9,r9,8
2906
   42054:       d8813217        ldw     r2,1224(sp)
2907
   42058:       90a5c83a        sub     r18,r18,r2
2908
   4205c:       04beae0e        bge     zero,r18,41b18 <__alt_data_end+0xfffdaa18>
2909
   42060:       04c00404        movi    r19,16
2910
   42064:       d8c11c17        ldw     r3,1136(sp)
2911
   42068:       05000174        movhi   r20,5
2912
   4206c:       a530d784        addi    r20,r20,-15522
2913
   42070:       9c81be0e        bge     r19,r18,4276c <___vfprintf_internal_r+0x1908>
2914
   42074:       058001c4        movi    r22,7
2915
   42078:       ddc12917        ldw     r23,1188(sp)
2916
   4207c:       00000306        br      4208c <___vfprintf_internal_r+0x1228>
2917
   42080:       4a400204        addi    r9,r9,8
2918
   42084:       94bffc04        addi    r18,r18,-16
2919
   42088:       9c81b80e        bge     r19,r18,4276c <___vfprintf_internal_r+0x1908>
2920
   4208c:       4d000015        stw     r20,0(r9)
2921
   42090:       4cc00115        stw     r19,4(r9)
2922
   42094:       42000404        addi    r8,r8,16
2923
   42098:       18c00044        addi    r3,r3,1
2924
   4209c:       da011d15        stw     r8,1140(sp)
2925
   420a0:       d8c11c15        stw     r3,1136(sp)
2926
   420a4:       b0fff60e        bge     r22,r3,42080 <__alt_data_end+0xfffdaf80>
2927
   420a8:       8809883a        mov     r4,r17
2928
   420ac:       b80b883a        mov     r5,r23
2929
   420b0:       d9811b04        addi    r6,sp,1132
2930
   420b4:       0040e300        call    40e30 <__sprint_r>
2931
   420b8:       103cfd1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2932
   420bc:       da011d17        ldw     r8,1140(sp)
2933
   420c0:       d8c11c17        ldw     r3,1136(sp)
2934
   420c4:       da400404        addi    r9,sp,16
2935
   420c8:       003fee06        br      42084 <__alt_data_end+0xfffdaf84>
2936
   420cc:       d9412917        ldw     r5,1188(sp)
2937
   420d0:       8809883a        mov     r4,r17
2938
   420d4:       d9811b04        addi    r6,sp,1132
2939
   420d8:       0040e300        call    40e30 <__sprint_r>
2940
   420dc:       103cf41e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2941
   420e0:       da011d17        ldw     r8,1140(sp)
2942
   420e4:       d8c11c17        ldw     r3,1136(sp)
2943
   420e8:       da400404        addi    r9,sp,16
2944
   420ec:       003dee06        br      418a8 <__alt_data_end+0xfffda7a8>
2945
   420f0:       00c00084        movi    r3,2
2946
   420f4:       bd84b03a        or      r2,r23,r22
2947
   420f8:       d8012585        stb     zero,1174(sp)
2948
   420fc:       003c3006        br      411c0 <__alt_data_end+0xfffda0c0>
2949
   42100:       d8813217        ldw     r2,1224(sp)
2950
   42104:       14ffffc4        addi    r19,r2,-1
2951
   42108:       04ff630e        bge     zero,r19,41e98 <__alt_data_end+0xfffdad98>
2952
   4210c:       05800404        movi    r22,16
2953
   42110:       05000174        movhi   r20,5
2954
   42114:       a530d784        addi    r20,r20,-15522
2955
   42118:       b4c03c0e        bge     r22,r19,4220c <___vfprintf_internal_r+0x13a8>
2956
   4211c:       05c001c4        movi    r23,7
2957
   42120:       df012917        ldw     fp,1188(sp)
2958
   42124:       00000306        br      42134 <___vfprintf_internal_r+0x12d0>
2959
   42128:       94800204        addi    r18,r18,8
2960
   4212c:       9cfffc04        addi    r19,r19,-16
2961
   42130:       b4c0360e        bge     r22,r19,4220c <___vfprintf_internal_r+0x13a8>
2962
   42134:       95000015        stw     r20,0(r18)
2963
   42138:       95800115        stw     r22,4(r18)
2964
   4213c:       42000404        addi    r8,r8,16
2965
   42140:       18c00044        addi    r3,r3,1
2966
   42144:       da011d15        stw     r8,1140(sp)
2967
   42148:       d8c11c15        stw     r3,1136(sp)
2968
   4214c:       b8fff60e        bge     r23,r3,42128 <__alt_data_end+0xfffdb028>
2969
   42150:       8809883a        mov     r4,r17
2970
   42154:       e00b883a        mov     r5,fp
2971
   42158:       d9811b04        addi    r6,sp,1132
2972
   4215c:       0040e300        call    40e30 <__sprint_r>
2973
   42160:       103cd31e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2974
   42164:       da011d17        ldw     r8,1140(sp)
2975
   42168:       d8c11c17        ldw     r3,1136(sp)
2976
   4216c:       dc800404        addi    r18,sp,16
2977
   42170:       003fee06        br      4212c <__alt_data_end+0xfffdb02c>
2978
   42174:       8088703a        and     r4,r16,r2
2979
   42178:       203f1d1e        bne     r4,zero,41df0 <__alt_data_end+0xfffdacf0>
2980
   4217c:       48800115        stw     r2,4(r9)
2981
   42180:       42000044        addi    r8,r8,1
2982
   42184:       18c00044        addi    r3,r3,1
2983
   42188:       da011d15        stw     r8,1140(sp)
2984
   4218c:       d8c11c15        stw     r3,1136(sp)
2985
   42190:       008001c4        movi    r2,7
2986
   42194:       10c00216        blt     r2,r3,421a0 <___vfprintf_internal_r+0x133c>
2987
   42198:       4c800204        addi    r18,r9,8
2988
   4219c:       003f3e06        br      41e98 <__alt_data_end+0xfffdad98>
2989
   421a0:       d9412917        ldw     r5,1188(sp)
2990
   421a4:       8809883a        mov     r4,r17
2991
   421a8:       d9811b04        addi    r6,sp,1132
2992
   421ac:       0040e300        call    40e30 <__sprint_r>
2993
   421b0:       103cbf1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
2994
   421b4:       dc800404        addi    r18,sp,16
2995
   421b8:       da011d17        ldw     r8,1140(sp)
2996
   421bc:       d8c11c17        ldw     r3,1136(sp)
2997
   421c0:       003f3506        br      41e98 <__alt_data_end+0xfffdad98>
2998
   421c4:       d9412917        ldw     r5,1188(sp)
2999
   421c8:       8809883a        mov     r4,r17
3000
   421cc:       d9811b04        addi    r6,sp,1132
3001
   421d0:       0040e300        call    40e30 <__sprint_r>
3002
   421d4:       103cb61e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3003
   421d8:       da011d17        ldw     r8,1140(sp)
3004
   421dc:       d8c11c17        ldw     r3,1136(sp)
3005
   421e0:       da400404        addi    r9,sp,16
3006
   421e4:       003f0b06        br      41e14 <__alt_data_end+0xfffdad14>
3007
   421e8:       d9412917        ldw     r5,1188(sp)
3008
   421ec:       8809883a        mov     r4,r17
3009
   421f0:       d9811b04        addi    r6,sp,1132
3010
   421f4:       0040e300        call    40e30 <__sprint_r>
3011
   421f8:       103cad1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3012
   421fc:       da011d17        ldw     r8,1140(sp)
3013
   42200:       d8c11c17        ldw     r3,1136(sp)
3014
   42204:       dc800404        addi    r18,sp,16
3015
   42208:       003f0d06        br      41e40 <__alt_data_end+0xfffdad40>
3016
   4220c:       95000015        stw     r20,0(r18)
3017
   42210:       94c00115        stw     r19,4(r18)
3018
   42214:       44d1883a        add     r8,r8,r19
3019
   42218:       003f1906        br      41e80 <__alt_data_end+0xfffdad80>
3020
   4221c:       d9412917        ldw     r5,1188(sp)
3021
   42220:       8809883a        mov     r4,r17
3022
   42224:       d9811b04        addi    r6,sp,1132
3023
   42228:       0040e300        call    40e30 <__sprint_r>
3024
   4222c:       103ca01e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3025
   42230:       da011d17        ldw     r8,1140(sp)
3026
   42234:       d8c11c17        ldw     r3,1136(sp)
3027
   42238:       da400404        addi    r9,sp,16
3028
   4223c:       003db706        br      4191c <__alt_data_end+0xfffda81c>
3029
   42240:       4d000015        stw     r20,0(r9)
3030
   42244:       4c800115        stw     r18,4(r9)
3031
   42248:       4491883a        add     r8,r8,r18
3032
   4224c:       003de706        br      419ec <__alt_data_end+0xfffda8ec>
3033
   42250:       8080100c        andi    r2,r16,64
3034
   42254:       10010226        beq     r2,zero,42660 <___vfprintf_internal_r+0x17fc>
3035
   42258:       d8812d17        ldw     r2,1204(sp)
3036
   4225c:       002d883a        mov     r22,zero
3037
   42260:       00c00044        movi    r3,1
3038
   42264:       15c0000b        ldhu    r23,0(r2)
3039
   42268:       10800104        addi    r2,r2,4
3040
   4226c:       d8812d15        stw     r2,1204(sp)
3041
   42270:       d8012585        stb     zero,1174(sp)
3042
   42274:       b805883a        mov     r2,r23
3043
   42278:       003bd106        br      411c0 <__alt_data_end+0xfffda0c0>
3044
   4227c:       d9012d17        ldw     r4,1204(sp)
3045
   42280:       25800017        ldw     r22,0(r4)
3046
   42284:       25000117        ldw     r20,4(r4)
3047
   42288:       21000204        addi    r4,r4,8
3048
   4228c:       d9012d15        stw     r4,1204(sp)
3049
   42290:       dd813315        stw     r22,1228(sp)
3050
   42294:       dd013415        stw     r20,1232(sp)
3051
   42298:       003d2b06        br      41748 <__alt_data_end+0xfffda648>
3052
   4229c:       8080100c        andi    r2,r16,64
3053
   422a0:       1000fe26        beq     r2,zero,4269c <___vfprintf_internal_r+0x1838>
3054
   422a4:       d9012d17        ldw     r4,1204(sp)
3055
   422a8:       002d883a        mov     r22,zero
3056
   422ac:       0007883a        mov     r3,zero
3057
   422b0:       25c0000b        ldhu    r23,0(r4)
3058
   422b4:       21000104        addi    r4,r4,4
3059
   422b8:       d9012d15        stw     r4,1204(sp)
3060
   422bc:       b805883a        mov     r2,r23
3061
   422c0:       d8012585        stb     zero,1174(sp)
3062
   422c4:       003bbe06        br      411c0 <__alt_data_end+0xfffda0c0>
3063
   422c8:       8080100c        andi    r2,r16,64
3064
   422cc:       1000ed26        beq     r2,zero,42684 <___vfprintf_internal_r+0x1820>
3065
   422d0:       d9012d17        ldw     r4,1204(sp)
3066
   422d4:       002d883a        mov     r22,zero
3067
   422d8:       25c0000b        ldhu    r23,0(r4)
3068
   422dc:       21000104        addi    r4,r4,4
3069
   422e0:       d9012d15        stw     r4,1204(sp)
3070
   422e4:       003cd206        br      41630 <__alt_data_end+0xfffda530>
3071
   422e8:       00c00084        movi    r3,2
3072
   422ec:       d8012585        stb     zero,1174(sp)
3073
   422f0:       003bb306        br      411c0 <__alt_data_end+0xfffda0c0>
3074
   422f4:       8080040c        andi    r2,r16,16
3075
   422f8:       1000f11e        bne     r2,zero,426c0 <___vfprintf_internal_r+0x185c>
3076
   422fc:       8400100c        andi    r16,r16,64
3077
   42300:       80015526        beq     r16,zero,42858 <___vfprintf_internal_r+0x19f4>
3078
   42304:       da012d17        ldw     r8,1204(sp)
3079
   42308:       d8c12c17        ldw     r3,1200(sp)
3080
   4230c:       40800017        ldw     r2,0(r8)
3081
   42310:       42000104        addi    r8,r8,4
3082
   42314:       da012d15        stw     r8,1204(sp)
3083
   42318:       10c0000d        sth     r3,0(r2)
3084
   4231c:       003b0706        br      40f3c <__alt_data_end+0xfffd9e3c>
3085
   42320:       8080100c        andi    r2,r16,64
3086
   42324:       1000c726        beq     r2,zero,42644 <___vfprintf_internal_r+0x17e0>
3087
   42328:       da012d17        ldw     r8,1204(sp)
3088
   4232c:       45c0000f        ldh     r23,0(r8)
3089
   42330:       42000104        addi    r8,r8,4
3090
   42334:       da012d15        stw     r8,1204(sp)
3091
   42338:       b82dd7fa        srai    r22,r23,31
3092
   4233c:       b005883a        mov     r2,r22
3093
   42340:       003c1006        br      41384 <__alt_data_end+0xfffda284>
3094
   42344:       ac800007        ldb     r18,0(r21)
3095
   42348:       003b2406        br      40fdc <__alt_data_end+0xfffd9edc>
3096
   4234c:       4c800115        stw     r18,4(r9)
3097
   42350:       9211883a        add     r8,r18,r8
3098
   42354:       18c00044        addi    r3,r3,1
3099
   42358:       da011d15        stw     r8,1140(sp)
3100
   4235c:       d8c11c15        stw     r3,1136(sp)
3101
   42360:       008001c4        movi    r2,7
3102
   42364:       10c15416        blt     r2,r3,428b8 <___vfprintf_internal_r+0x1a54>
3103
   42368:       4a400204        addi    r9,r9,8
3104
   4236c:       d8813717        ldw     r2,1244(sp)
3105
   42370:       9ca7883a        add     r19,r19,r18
3106
   42374:       48800015        stw     r2,0(r9)
3107
   42378:       00800044        movi    r2,1
3108
   4237c:       48800115        stw     r2,4(r9)
3109
   42380:       4091883a        add     r8,r8,r2
3110
   42384:       1887883a        add     r3,r3,r2
3111
   42388:       da011d15        stw     r8,1140(sp)
3112
   4238c:       d8c11c15        stw     r3,1136(sp)
3113
   42390:       008001c4        movi    r2,7
3114
   42394:       10c14016        blt     r2,r3,42898 <___vfprintf_internal_r+0x1a34>
3115
   42398:       4a400204        addi    r9,r9,8
3116
   4239c:       d9013217        ldw     r4,1224(sp)
3117
   423a0:       da011d17        ldw     r8,1140(sp)
3118
   423a4:       d8c11c17        ldw     r3,1136(sp)
3119
   423a8:       24a5c83a        sub     r18,r4,r18
3120
   423ac:       4cc00015        stw     r19,0(r9)
3121
   423b0:       003fa406        br      42244 <__alt_data_end+0xfffdb144>
3122
   423b4:       04c00174        movhi   r19,5
3123
   423b8:       9cf0c404        addi    r19,r19,-15600
3124
   423bc:       003cf406        br      41790 <__alt_data_end+0xfffda690>
3125
   423c0:       d9412917        ldw     r5,1188(sp)
3126
   423c4:       8809883a        mov     r4,r17
3127
   423c8:       d9811b04        addi    r6,sp,1132
3128
   423cc:       0040e300        call    40e30 <__sprint_r>
3129
   423d0:       103c371e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3130
   423d4:       da011d17        ldw     r8,1140(sp)
3131
   423d8:       da400404        addi    r9,sp,16
3132
   423dc:       003e1c06        br      41c50 <__alt_data_end+0xfffdab50>
3133
   423e0:       00800174        movhi   r2,5
3134
   423e4:       10b0d304        addi    r2,r2,-15540
3135
   423e8:       48800015        stw     r2,0(r9)
3136
   423ec:       00800044        movi    r2,1
3137
   423f0:       48800115        stw     r2,4(r9)
3138
   423f4:       4091883a        add     r8,r8,r2
3139
   423f8:       1887883a        add     r3,r3,r2
3140
   423fc:       da011d15        stw     r8,1140(sp)
3141
   42400:       d8c11c15        stw     r3,1136(sp)
3142
   42404:       008001c4        movi    r2,7
3143
   42408:       10c0c316        blt     r2,r3,42718 <___vfprintf_internal_r+0x18b4>
3144
   4240c:       4a400204        addi    r9,r9,8
3145
   42410:       9000041e        bne     r18,zero,42424 <___vfprintf_internal_r+0x15c0>
3146
   42414:       d8c13217        ldw     r3,1224(sp)
3147
   42418:       1800021e        bne     r3,zero,42424 <___vfprintf_internal_r+0x15c0>
3148
   4241c:       8080004c        andi    r2,r16,1
3149
   42420:       103d7826        beq     r2,zero,41a04 <__alt_data_end+0xfffda904>
3150
   42424:       d8c11c17        ldw     r3,1136(sp)
3151
   42428:       d9013717        ldw     r4,1244(sp)
3152
   4242c:       00800044        movi    r2,1
3153
   42430:       48800115        stw     r2,4(r9)
3154
   42434:       49000015        stw     r4,0(r9)
3155
   42438:       4091883a        add     r8,r8,r2
3156
   4243c:       1887883a        add     r3,r3,r2
3157
   42440:       da011d15        stw     r8,1140(sp)
3158
   42444:       d8c11c15        stw     r3,1136(sp)
3159
   42448:       008001c4        movi    r2,7
3160
   4244c:       10c12e16        blt     r2,r3,42908 <___vfprintf_internal_r+0x1aa4>
3161
   42450:       4a400204        addi    r9,r9,8
3162
   42454:       04a5c83a        sub     r18,zero,r18
3163
   42458:       0480de0e        bge     zero,r18,427d4 <___vfprintf_internal_r+0x1970>
3164
   4245c:       05800404        movi    r22,16
3165
   42460:       05000174        movhi   r20,5
3166
   42464:       a530d784        addi    r20,r20,-15522
3167
   42468:       b480e20e        bge     r22,r18,427f4 <___vfprintf_internal_r+0x1990>
3168
   4246c:       05c001c4        movi    r23,7
3169
   42470:       df012917        ldw     fp,1188(sp)
3170
   42474:       00000306        br      42484 <___vfprintf_internal_r+0x1620>
3171
   42478:       4a400204        addi    r9,r9,8
3172
   4247c:       94bffc04        addi    r18,r18,-16
3173
   42480:       b480dc0e        bge     r22,r18,427f4 <___vfprintf_internal_r+0x1990>
3174
   42484:       4d000015        stw     r20,0(r9)
3175
   42488:       4d800115        stw     r22,4(r9)
3176
   4248c:       42000404        addi    r8,r8,16
3177
   42490:       18c00044        addi    r3,r3,1
3178
   42494:       da011d15        stw     r8,1140(sp)
3179
   42498:       d8c11c15        stw     r3,1136(sp)
3180
   4249c:       b8fff60e        bge     r23,r3,42478 <__alt_data_end+0xfffdb378>
3181
   424a0:       8809883a        mov     r4,r17
3182
   424a4:       e00b883a        mov     r5,fp
3183
   424a8:       d9811b04        addi    r6,sp,1132
3184
   424ac:       0040e300        call    40e30 <__sprint_r>
3185
   424b0:       103bff1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3186
   424b4:       da011d17        ldw     r8,1140(sp)
3187
   424b8:       d8c11c17        ldw     r3,1136(sp)
3188
   424bc:       da400404        addi    r9,sp,16
3189
   424c0:       003fee06        br      4247c <__alt_data_end+0xfffdb37c>
3190
   424c4:       da413c15        stw     r9,1264(sp)
3191
   424c8:       00479300        call    47930 <__isnand>
3192
   424cc:       da413c17        ldw     r9,1264(sp)
3193
   424d0:       1000851e        bne     r2,zero,426e8 <___vfprintf_internal_r+0x1884>
3194
   424d4:       00bfffc4        movi    r2,-1
3195
   424d8:       e0817626        beq     fp,r2,42ab4 <___vfprintf_internal_r+0x1c50>
3196
   424dc:       008019c4        movi    r2,103
3197
   424e0:       90817126        beq     r18,r2,42aa8 <___vfprintf_internal_r+0x1c44>
3198
   424e4:       008011c4        movi    r2,71
3199
   424e8:       90816f26        beq     r18,r2,42aa8 <___vfprintf_internal_r+0x1c44>
3200
   424ec:       82004014        ori     r8,r16,256
3201
   424f0:       da012a15        stw     r8,1192(sp)
3202
   424f4:       a0017116        blt     r20,zero,42abc <___vfprintf_internal_r+0x1c58>
3203
   424f8:       d8012f05        stb     zero,1212(sp)
3204
   424fc:       00801984        movi    r2,102
3205
   42500:       90811226        beq     r18,r2,4294c <___vfprintf_internal_r+0x1ae8>
3206
   42504:       00801184        movi    r2,70
3207
   42508:       90811026        beq     r18,r2,4294c <___vfprintf_internal_r+0x1ae8>
3208
   4250c:       00801944        movi    r2,101
3209
   42510:       90819b26        beq     r18,r2,42b80 <___vfprintf_internal_r+0x1d1c>
3210
   42514:       00801144        movi    r2,69
3211
   42518:       90819926        beq     r18,r2,42b80 <___vfprintf_internal_r+0x1d1c>
3212
   4251c:       e02f883a        mov     r23,fp
3213
   42520:       d8812404        addi    r2,sp,1168
3214
   42524:       d8800115        stw     r2,4(sp)
3215
   42528:       d8812304        addi    r2,sp,1164
3216
   4252c:       d8800215        stw     r2,8(sp)
3217
   42530:       d8812204        addi    r2,sp,1160
3218
   42534:       ddc00015        stw     r23,0(sp)
3219
   42538:       d8800315        stw     r2,12(sp)
3220
   4253c:       8809883a        mov     r4,r17
3221
   42540:       b00b883a        mov     r5,r22
3222
   42544:       a00d883a        mov     r6,r20
3223
   42548:       01c00084        movi    r7,2
3224
   4254c:       da413c15        stw     r9,1264(sp)
3225
   42550:       0042ffc0        call    42ffc <_dtoa_r>
3226
   42554:       1027883a        mov     r19,r2
3227
   42558:       008019c4        movi    r2,103
3228
   4255c:       da413c17        ldw     r9,1264(sp)
3229
   42560:       90818c1e        bne     r18,r2,42b94 <___vfprintf_internal_r+0x1d30>
3230
   42564:       8080004c        andi    r2,r16,1
3231
   42568:       10017926        beq     r2,zero,42b50 <___vfprintf_internal_r+0x1cec>
3232
   4256c:       00801184        movi    r2,70
3233
   42570:       9dc7883a        add     r3,r19,r23
3234
   42574:       90810626        beq     r18,r2,42990 <___vfprintf_internal_r+0x1b2c>
3235
   42578:       b009883a        mov     r4,r22
3236
   4257c:       a00b883a        mov     r5,r20
3237
   42580:       000d883a        mov     r6,zero
3238
   42584:       000f883a        mov     r7,zero
3239
   42588:       d8c13b15        stw     r3,1260(sp)
3240
   4258c:       da413c15        stw     r9,1264(sp)
3241
   42590:       00492640        call    49264 <__eqdf2>
3242
   42594:       d8c13b17        ldw     r3,1260(sp)
3243
   42598:       da413c17        ldw     r9,1264(sp)
3244
   4259c:       10000726        beq     r2,zero,425bc <___vfprintf_internal_r+0x1758>
3245
   425a0:       d8812217        ldw     r2,1160(sp)
3246
   425a4:       10c1962e        bgeu    r2,r3,42c00 <___vfprintf_internal_r+0x1d9c>
3247
   425a8:       01000c04        movi    r4,48
3248
   425ac:       11000005        stb     r4,0(r2)
3249
   425b0:       10800044        addi    r2,r2,1
3250
   425b4:       d8812215        stw     r2,1160(sp)
3251
   425b8:       10fffc1e        bne     r2,r3,425ac <__alt_data_end+0xfffdb4ac>
3252
   425bc:       1cc7c83a        sub     r3,r3,r19
3253
   425c0:       d8c13215        stw     r3,1224(sp)
3254
   425c4:       008019c4        movi    r2,103
3255
   425c8:       90810626        beq     r18,r2,429e4 <___vfprintf_internal_r+0x1b80>
3256
   425cc:       008011c4        movi    r2,71
3257
   425d0:       90810426        beq     r18,r2,429e4 <___vfprintf_internal_r+0x1b80>
3258
   425d4:       00801984        movi    r2,102
3259
   425d8:       90819a1e        bne     r18,r2,42c44 <___vfprintf_internal_r+0x1de0>
3260
   425dc:       d8812417        ldw     r2,1168(sp)
3261
   425e0:       d8812b15        stw     r2,1196(sp)
3262
   425e4:       0081880e        bge     zero,r2,42c08 <___vfprintf_internal_r+0x1da4>
3263
   425e8:       e000021e        bne     fp,zero,425f4 <___vfprintf_internal_r+0x1790>
3264
   425ec:       8400004c        andi    r16,r16,1
3265
   425f0:       80000426        beq     r16,zero,42604 <___vfprintf_internal_r+0x17a0>
3266
   425f4:       d8812b17        ldw     r2,1196(sp)
3267
   425f8:       e2000044        addi    r8,fp,1
3268
   425fc:       1205883a        add     r2,r2,r8
3269
   42600:       d8812b15        stw     r2,1196(sp)
3270
   42604:       d8812815        stw     r2,1184(sp)
3271
   42608:       10011716        blt     r2,zero,42a68 <___vfprintf_internal_r+0x1c04>
3272
   4260c:       ddc12f07        ldb     r23,1212(sp)
3273
   42610:       b800ca26        beq     r23,zero,4293c <___vfprintf_internal_r+0x1ad8>
3274
   42614:       00800b44        movi    r2,45
3275
   42618:       d8812585        stb     r2,1174(sp)
3276
   4261c:       dc012a17        ldw     r16,1192(sp)
3277
   42620:       d8013115        stw     zero,1220(sp)
3278
   42624:       003afe06        br      41220 <__alt_data_end+0xfffda120>
3279
   42628:       d8812b17        ldw     r2,1196(sp)
3280
   4262c:       d8812815        stw     r2,1184(sp)
3281
   42630:       10005e16        blt     r2,zero,427ac <___vfprintf_internal_r+0x1948>
3282
   42634:       d8812583        ldbu    r2,1174(sp)
3283
   42638:       ddc12d15        stw     r23,1204(sp)
3284
   4263c:       d8013115        stw     zero,1220(sp)
3285
   42640:       003af306        br      41210 <__alt_data_end+0xfffda110>
3286
   42644:       d8812d17        ldw     r2,1204(sp)
3287
   42648:       15c00017        ldw     r23,0(r2)
3288
   4264c:       10800104        addi    r2,r2,4
3289
   42650:       d8812d15        stw     r2,1204(sp)
3290
   42654:       b82dd7fa        srai    r22,r23,31
3291
   42658:       b005883a        mov     r2,r22
3292
   4265c:       003b4906        br      41384 <__alt_data_end+0xfffda284>
3293
   42660:       d8c12d17        ldw     r3,1204(sp)
3294
   42664:       002d883a        mov     r22,zero
3295
   42668:       1dc00017        ldw     r23,0(r3)
3296
   4266c:       18c00104        addi    r3,r3,4
3297
   42670:       d8c12d15        stw     r3,1204(sp)
3298
   42674:       b805883a        mov     r2,r23
3299
   42678:       00c00044        movi    r3,1
3300
   4267c:       d8012585        stb     zero,1174(sp)
3301
   42680:       003acf06        br      411c0 <__alt_data_end+0xfffda0c0>
3302
   42684:       da012d17        ldw     r8,1204(sp)
3303
   42688:       002d883a        mov     r22,zero
3304
   4268c:       45c00017        ldw     r23,0(r8)
3305
   42690:       42000104        addi    r8,r8,4
3306
   42694:       da012d15        stw     r8,1204(sp)
3307
   42698:       003be506        br      41630 <__alt_data_end+0xfffda530>
3308
   4269c:       da012d17        ldw     r8,1204(sp)
3309
   426a0:       002d883a        mov     r22,zero
3310
   426a4:       0007883a        mov     r3,zero
3311
   426a8:       45c00017        ldw     r23,0(r8)
3312
   426ac:       42000104        addi    r8,r8,4
3313
   426b0:       da012d15        stw     r8,1204(sp)
3314
   426b4:       b805883a        mov     r2,r23
3315
   426b8:       d8012585        stb     zero,1174(sp)
3316
   426bc:       003ac006        br      411c0 <__alt_data_end+0xfffda0c0>
3317
   426c0:       d8c12d17        ldw     r3,1204(sp)
3318
   426c4:       d9012c17        ldw     r4,1200(sp)
3319
   426c8:       18800017        ldw     r2,0(r3)
3320
   426cc:       18c00104        addi    r3,r3,4
3321
   426d0:       d8c12d15        stw     r3,1204(sp)
3322
   426d4:       11000015        stw     r4,0(r2)
3323
   426d8:       003a1806        br      40f3c <__alt_data_end+0xfffd9e3c>
3324
   426dc:       073fffc4        movi    fp,-1
3325
   426e0:       202b883a        mov     r21,r4
3326
   426e4:       003a3e06        br      40fe0 <__alt_data_end+0xfffd9ee0>
3327
   426e8:       008011c4        movi    r2,71
3328
   426ec:       14809016        blt     r2,r18,42930 <___vfprintf_internal_r+0x1acc>
3329
   426f0:       04c00174        movhi   r19,5
3330
   426f4:       9cf0c504        addi    r19,r19,-15596
3331
   426f8:       00c000c4        movi    r3,3
3332
   426fc:       00bfdfc4        movi    r2,-129
3333
   42700:       80a0703a        and     r16,r16,r2
3334
   42704:       d8c12815        stw     r3,1184(sp)
3335
   42708:       d8812583        ldbu    r2,1174(sp)
3336
   4270c:       d8c12b15        stw     r3,1196(sp)
3337
   42710:       d8013115        stw     zero,1220(sp)
3338
   42714:       003abe06        br      41210 <__alt_data_end+0xfffda110>
3339
   42718:       d9412917        ldw     r5,1188(sp)
3340
   4271c:       8809883a        mov     r4,r17
3341
   42720:       d9811b04        addi    r6,sp,1132
3342
   42724:       0040e300        call    40e30 <__sprint_r>
3343
   42728:       103b611e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3344
   4272c:       dc812417        ldw     r18,1168(sp)
3345
   42730:       da011d17        ldw     r8,1140(sp)
3346
   42734:       da400404        addi    r9,sp,16
3347
   42738:       003f3506        br      42410 <__alt_data_end+0xfffdb310>
3348
   4273c:       ad400044        addi    r21,r21,1
3349
   42740:       84000814        ori     r16,r16,32
3350
   42744:       14800047        ldb     r18,1(r2)
3351
   42748:       003a2406        br      40fdc <__alt_data_end+0xfffd9edc>
3352
   4274c:       d9412917        ldw     r5,1188(sp)
3353
   42750:       8809883a        mov     r4,r17
3354
   42754:       d9811b04        addi    r6,sp,1132
3355
   42758:       0040e300        call    40e30 <__sprint_r>
3356
   4275c:       103b541e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3357
   42760:       da011d17        ldw     r8,1140(sp)
3358
   42764:       da400404        addi    r9,sp,16
3359
   42768:       003d4a06        br      41c94 <__alt_data_end+0xfffdab94>
3360
   4276c:       4d000015        stw     r20,0(r9)
3361
   42770:       4c800115        stw     r18,4(r9)
3362
   42774:       4491883a        add     r8,r8,r18
3363
   42778:       18c00044        addi    r3,r3,1
3364
   4277c:       da011d15        stw     r8,1140(sp)
3365
   42780:       d8c11c15        stw     r3,1136(sp)
3366
   42784:       008001c4        movi    r2,7
3367
   42788:       10fcdc16        blt     r2,r3,41afc <__alt_data_end+0xfffda9fc>
3368
   4278c:       4a400204        addi    r9,r9,8
3369
   42790:       003ce106        br      41b18 <__alt_data_end+0xfffdaa18>
3370
   42794:       da413c15        stw     r9,1264(sp)
3371
   42798:       0040da40        call    40da4 
3372
   4279c:       d8812b15        stw     r2,1196(sp)
3373
   427a0:       d8812815        stw     r2,1184(sp)
3374
   427a4:       da413c17        ldw     r9,1264(sp)
3375
   427a8:       103fa20e        bge     r2,zero,42634 <__alt_data_end+0xfffdb534>
3376
   427ac:       d8012815        stw     zero,1184(sp)
3377
   427b0:       003fa006        br      42634 <__alt_data_end+0xfffdb534>
3378
   427b4:       d9412917        ldw     r5,1188(sp)
3379
   427b8:       8809883a        mov     r4,r17
3380
   427bc:       d9811b04        addi    r6,sp,1132
3381
   427c0:       0040e300        call    40e30 <__sprint_r>
3382
   427c4:       103b3a1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3383
   427c8:       da011d17        ldw     r8,1140(sp)
3384
   427cc:       d8c11c17        ldw     r3,1136(sp)
3385
   427d0:       da400404        addi    r9,sp,16
3386
   427d4:       d8813217        ldw     r2,1224(sp)
3387
   427d8:       4cc00015        stw     r19,0(r9)
3388
   427dc:       48800115        stw     r2,4(r9)
3389
   427e0:       4091883a        add     r8,r8,r2
3390
   427e4:       003c8106        br      419ec <__alt_data_end+0xfffda8ec>
3391
   427e8:       00800b44        movi    r2,45
3392
   427ec:       d8812585        stb     r2,1174(sp)
3393
   427f0:       003be306        br      41780 <__alt_data_end+0xfffda680>
3394
   427f4:       4d000015        stw     r20,0(r9)
3395
   427f8:       4c800115        stw     r18,4(r9)
3396
   427fc:       4491883a        add     r8,r8,r18
3397
   42800:       18c00044        addi    r3,r3,1
3398
   42804:       da011d15        stw     r8,1140(sp)
3399
   42808:       d8c11c15        stw     r3,1136(sp)
3400
   4280c:       008001c4        movi    r2,7
3401
   42810:       10ffe816        blt     r2,r3,427b4 <__alt_data_end+0xfffdb6b4>
3402
   42814:       4a400204        addi    r9,r9,8
3403
   42818:       003fee06        br      427d4 <__alt_data_end+0xfffdb6d4>
3404
   4281c:       df012b15        stw     fp,1196(sp)
3405
   42820:       00800184        movi    r2,6
3406
   42824:       1700072e        bgeu    r2,fp,42844 <___vfprintf_internal_r+0x19e0>
3407
   42828:       d8812b15        stw     r2,1196(sp)
3408
   4282c:       d8812815        stw     r2,1184(sp)
3409
   42830:       ddc12d15        stw     r23,1204(sp)
3410
   42834:       04c00174        movhi   r19,5
3411
   42838:       9cf0d104        addi    r19,r19,-15548
3412
   4283c:       d8013115        stw     zero,1220(sp)
3413
   42840:       003a7a06        br      4122c <__alt_data_end+0xfffda12c>
3414
   42844:       d8812b17        ldw     r2,1196(sp)
3415
   42848:       d8812815        stw     r2,1184(sp)
3416
   4284c:       103ff80e        bge     r2,zero,42830 <__alt_data_end+0xfffdb730>
3417
   42850:       d8012815        stw     zero,1184(sp)
3418
   42854:       003ff606        br      42830 <__alt_data_end+0xfffdb730>
3419
   42858:       d9012d17        ldw     r4,1204(sp)
3420
   4285c:       da012c17        ldw     r8,1200(sp)
3421
   42860:       20800017        ldw     r2,0(r4)
3422
   42864:       21000104        addi    r4,r4,4
3423
   42868:       d9012d15        stw     r4,1204(sp)
3424
   4286c:       12000015        stw     r8,0(r2)
3425
   42870:       0039b206        br      40f3c <__alt_data_end+0xfffd9e3c>
3426
   42874:       d9412917        ldw     r5,1188(sp)
3427
   42878:       8809883a        mov     r4,r17
3428
   4287c:       d9811b04        addi    r6,sp,1132
3429
   42880:       0040e300        call    40e30 <__sprint_r>
3430
   42884:       103b0a1e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3431
   42888:       dc812417        ldw     r18,1168(sp)
3432
   4288c:       da011d17        ldw     r8,1140(sp)
3433
   42890:       da400404        addi    r9,sp,16
3434
   42894:       003def06        br      42054 <__alt_data_end+0xfffdaf54>
3435
   42898:       d9412917        ldw     r5,1188(sp)
3436
   4289c:       8809883a        mov     r4,r17
3437
   428a0:       d9811b04        addi    r6,sp,1132
3438
   428a4:       0040e300        call    40e30 <__sprint_r>
3439
   428a8:       103b011e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3440
   428ac:       dc812417        ldw     r18,1168(sp)
3441
   428b0:       da400404        addi    r9,sp,16
3442
   428b4:       003eb906        br      4239c <__alt_data_end+0xfffdb29c>
3443
   428b8:       d9412917        ldw     r5,1188(sp)
3444
   428bc:       8809883a        mov     r4,r17
3445
   428c0:       d9811b04        addi    r6,sp,1132
3446
   428c4:       0040e300        call    40e30 <__sprint_r>
3447
   428c8:       103af91e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3448
   428cc:       dc812417        ldw     r18,1168(sp)
3449
   428d0:       da011d17        ldw     r8,1140(sp)
3450
   428d4:       d8c11c17        ldw     r3,1136(sp)
3451
   428d8:       da400404        addi    r9,sp,16
3452
   428dc:       003ea306        br      4236c <__alt_data_end+0xfffdb26c>
3453
   428e0:       00800244        movi    r2,9
3454
   428e4:       15fda636        bltu    r2,r23,41f80 <__alt_data_end+0xfffdae80>
3455
   428e8:       dd010e04        addi    r20,sp,1080
3456
   428ec:       003dc206        br      41ff8 <__alt_data_end+0xfffdaef8>
3457
   428f0:       df012815        stw     fp,1184(sp)
3458
   428f4:       d8812583        ldbu    r2,1174(sp)
3459
   428f8:       df012b15        stw     fp,1196(sp)
3460
   428fc:       ddc12d15        stw     r23,1204(sp)
3461
   42900:       d8013115        stw     zero,1220(sp)
3462
   42904:       003a4206        br      41210 <__alt_data_end+0xfffda110>
3463
   42908:       d9412917        ldw     r5,1188(sp)
3464
   4290c:       8809883a        mov     r4,r17
3465
   42910:       d9811b04        addi    r6,sp,1132
3466
   42914:       0040e300        call    40e30 <__sprint_r>
3467
   42918:       103ae51e        bne     r2,zero,414b0 <__alt_data_end+0xfffda3b0>
3468
   4291c:       dc812417        ldw     r18,1168(sp)
3469
   42920:       da011d17        ldw     r8,1140(sp)
3470
   42924:       d8c11c17        ldw     r3,1136(sp)
3471
   42928:       da400404        addi    r9,sp,16
3472
   4292c:       003ec906        br      42454 <__alt_data_end+0xfffdb354>
3473
   42930:       04c00174        movhi   r19,5
3474
   42934:       9cf0c604        addi    r19,r19,-15592
3475
   42938:       003f6f06        br      426f8 <__alt_data_end+0xfffdb5f8>
3476
   4293c:       d8812583        ldbu    r2,1174(sp)
3477
   42940:       dc012a17        ldw     r16,1192(sp)
3478
   42944:       d8013115        stw     zero,1220(sp)
3479
   42948:       003a3106        br      41210 <__alt_data_end+0xfffda110>
3480
   4294c:       d8812404        addi    r2,sp,1168
3481
   42950:       d8800115        stw     r2,4(sp)
3482
   42954:       d8812304        addi    r2,sp,1164
3483
   42958:       d8800215        stw     r2,8(sp)
3484
   4295c:       d8812204        addi    r2,sp,1160
3485
   42960:       df000015        stw     fp,0(sp)
3486
   42964:       d8800315        stw     r2,12(sp)
3487
   42968:       8809883a        mov     r4,r17
3488
   4296c:       b00b883a        mov     r5,r22
3489
   42970:       a00d883a        mov     r6,r20
3490
   42974:       01c000c4        movi    r7,3
3491
   42978:       da413c15        stw     r9,1264(sp)
3492
   4297c:       0042ffc0        call    42ffc <_dtoa_r>
3493
   42980:       da413c17        ldw     r9,1264(sp)
3494
   42984:       1027883a        mov     r19,r2
3495
   42988:       1707883a        add     r3,r2,fp
3496
   4298c:       e02f883a        mov     r23,fp
3497
   42990:       99000007        ldb     r4,0(r19)
3498
   42994:       00800c04        movi    r2,48
3499
   42998:       20800326        beq     r4,r2,429a8 <___vfprintf_internal_r+0x1b44>
3500
   4299c:       da812417        ldw     r10,1168(sp)
3501
   429a0:       1a87883a        add     r3,r3,r10
3502
   429a4:       003ef406        br      42578 <__alt_data_end+0xfffdb478>
3503
   429a8:       b009883a        mov     r4,r22
3504
   429ac:       a00b883a        mov     r5,r20
3505
   429b0:       000d883a        mov     r6,zero
3506
   429b4:       000f883a        mov     r7,zero
3507
   429b8:       d8c13b15        stw     r3,1260(sp)
3508
   429bc:       da413c15        stw     r9,1264(sp)
3509
   429c0:       00492c00        call    492c0 <__nedf2>
3510
   429c4:       d8c13b17        ldw     r3,1260(sp)
3511
   429c8:       da413c17        ldw     r9,1264(sp)
3512
   429cc:       103ff326        beq     r2,zero,4299c <__alt_data_end+0xfffdb89c>
3513
   429d0:       00800044        movi    r2,1
3514
   429d4:       15d5c83a        sub     r10,r2,r23
3515
   429d8:       da812415        stw     r10,1168(sp)
3516
   429dc:       1a87883a        add     r3,r3,r10
3517
   429e0:       003ee506        br      42578 <__alt_data_end+0xfffdb478>
3518
   429e4:       d8812417        ldw     r2,1168(sp)
3519
   429e8:       d8812b15        stw     r2,1196(sp)
3520
   429ec:       1029883a        mov     r20,r2
3521
   429f0:       00bfff44        movi    r2,-3
3522
   429f4:       a0800116        blt     r20,r2,429fc <___vfprintf_internal_r+0x1b98>
3523
   429f8:       e5001d0e        bge     fp,r20,42a70 <___vfprintf_internal_r+0x1c0c>
3524
   429fc:       94bfff84        addi    r18,r18,-2
3525
   42a00:       a53fffc4        addi    r20,r20,-1
3526
   42a04:       dd012415        stw     r20,1168(sp)
3527
   42a08:       dc811fc5        stb     r18,1151(sp)
3528
   42a0c:       a0007816        blt     r20,zero,42bf0 <___vfprintf_internal_r+0x1d8c>
3529
   42a10:       00800ac4        movi    r2,43
3530
   42a14:       d8812005        stb     r2,1152(sp)
3531
   42a18:       00800244        movi    r2,9
3532
   42a1c:       15002b16        blt     r2,r20,42acc <___vfprintf_internal_r+0x1c68>
3533
   42a20:       00800c04        movi    r2,48
3534
   42a24:       a5000c04        addi    r20,r20,48
3535
   42a28:       d8812045        stb     r2,1153(sp)
3536
   42a2c:       dd012085        stb     r20,1154(sp)
3537
   42a30:       d8c120c4        addi    r3,sp,1155
3538
   42a34:       d8811fc4        addi    r2,sp,1151
3539
   42a38:       da013217        ldw     r8,1224(sp)
3540
   42a3c:       1885c83a        sub     r2,r3,r2
3541
   42a40:       d8813515        stw     r2,1236(sp)
3542
   42a44:       4085883a        add     r2,r8,r2
3543
   42a48:       d8812b15        stw     r2,1196(sp)
3544
   42a4c:       00800044        movi    r2,1
3545
   42a50:       1200610e        bge     r2,r8,42bd8 <___vfprintf_internal_r+0x1d74>
3546
   42a54:       d8812b17        ldw     r2,1196(sp)
3547
   42a58:       10800044        addi    r2,r2,1
3548
   42a5c:       d8812b15        stw     r2,1196(sp)
3549
   42a60:       d8812815        stw     r2,1184(sp)
3550
   42a64:       103ee90e        bge     r2,zero,4260c <__alt_data_end+0xfffdb50c>
3551
   42a68:       d8012815        stw     zero,1184(sp)
3552
   42a6c:       003ee706        br      4260c <__alt_data_end+0xfffdb50c>
3553
   42a70:       d8812b17        ldw     r2,1196(sp)
3554
   42a74:       da013217        ldw     r8,1224(sp)
3555
   42a78:       12003716        blt     r2,r8,42b58 <___vfprintf_internal_r+0x1cf4>
3556
   42a7c:       8400004c        andi    r16,r16,1
3557
   42a80:       80000326        beq     r16,zero,42a90 <___vfprintf_internal_r+0x1c2c>
3558
   42a84:       d8812b17        ldw     r2,1196(sp)
3559
   42a88:       10800044        addi    r2,r2,1
3560
   42a8c:       d8812b15        stw     r2,1196(sp)
3561
   42a90:       d8812815        stw     r2,1184(sp)
3562
   42a94:       10003716        blt     r2,zero,42b74 <___vfprintf_internal_r+0x1d10>
3563
   42a98:       048019c4        movi    r18,103
3564
   42a9c:       003edb06        br      4260c <__alt_data_end+0xfffdb50c>
3565
   42aa0:       d8012815        stw     zero,1184(sp)
3566
   42aa4:       003b6906        br      4184c <__alt_data_end+0xfffda74c>
3567
   42aa8:       e03e901e        bne     fp,zero,424ec <__alt_data_end+0xfffdb3ec>
3568
   42aac:       07000044        movi    fp,1
3569
   42ab0:       003e8e06        br      424ec <__alt_data_end+0xfffdb3ec>
3570
   42ab4:       07000184        movi    fp,6
3571
   42ab8:       003e8c06        br      424ec <__alt_data_end+0xfffdb3ec>
3572
   42abc:       00c00b44        movi    r3,45
3573
   42ac0:       a520003c        xorhi   r20,r20,32768
3574
   42ac4:       d8c12f05        stb     r3,1212(sp)
3575
   42ac8:       003e8c06        br      424fc <__alt_data_end+0xfffdb3fc>
3576
   42acc:       d8c11f84        addi    r3,sp,1150
3577
   42ad0:       102f883a        mov     r23,r2
3578
   42ad4:       4839883a        mov     fp,r9
3579
   42ad8:       a009883a        mov     r4,r20
3580
   42adc:       01400284        movi    r5,10
3581
   42ae0:       182d883a        mov     r22,r3
3582
   42ae4:       00497b80        call    497b8 <__modsi3>
3583
   42ae8:       10800c04        addi    r2,r2,48
3584
   42aec:       a009883a        mov     r4,r20
3585
   42af0:       b0800005        stb     r2,0(r22)
3586
   42af4:       01400284        movi    r5,10
3587
   42af8:       00497680        call    49768 <__divsi3>
3588
   42afc:       1029883a        mov     r20,r2
3589
   42b00:       b0ffffc4        addi    r3,r22,-1
3590
   42b04:       b8bff416        blt     r23,r2,42ad8 <__alt_data_end+0xfffdb9d8>
3591
   42b08:       11400c04        addi    r5,r2,48
3592
   42b0c:       b17fffc5        stb     r5,-1(r22)
3593
   42b10:       d8811fc4        addi    r2,sp,1151
3594
   42b14:       e013883a        mov     r9,fp
3595
   42b18:       1880482e        bgeu    r3,r2,42c3c <___vfprintf_internal_r+0x1dd8>
3596
   42b1c:       b007883a        mov     r3,r22
3597
   42b20:       d9012044        addi    r4,sp,1153
3598
   42b24:       00000206        br      42b30 <___vfprintf_internal_r+0x1ccc>
3599
   42b28:       19400003        ldbu    r5,0(r3)
3600
   42b2c:       18c00044        addi    r3,r3,1
3601
   42b30:       21400005        stb     r5,0(r4)
3602
   42b34:       21000044        addi    r4,r4,1
3603
   42b38:       10fffb1e        bne     r2,r3,42b28 <__alt_data_end+0xfffdba28>
3604
   42b3c:       d8c12004        addi    r3,sp,1152
3605
   42b40:       1d87c83a        sub     r3,r3,r22
3606
   42b44:       d9012044        addi    r4,sp,1153
3607
   42b48:       20c7883a        add     r3,r4,r3
3608
   42b4c:       003fba06        br      42a38 <__alt_data_end+0xfffdb938>
3609
   42b50:       d8c12217        ldw     r3,1160(sp)
3610
   42b54:       003e9906        br      425bc <__alt_data_end+0xfffdb4bc>
3611
   42b58:       05000b0e        bge     zero,r20,42b88 <___vfprintf_internal_r+0x1d24>
3612
   42b5c:       05000044        movi    r20,1
3613
   42b60:       da013217        ldw     r8,1224(sp)
3614
   42b64:       a229883a        add     r20,r20,r8
3615
   42b68:       dd012b15        stw     r20,1196(sp)
3616
   42b6c:       dd012815        stw     r20,1184(sp)
3617
   42b70:       a03fc90e        bge     r20,zero,42a98 <__alt_data_end+0xfffdb998>
3618
   42b74:       d8012815        stw     zero,1184(sp)
3619
   42b78:       048019c4        movi    r18,103
3620
   42b7c:       003ea306        br      4260c <__alt_data_end+0xfffdb50c>
3621
   42b80:       e5c00044        addi    r23,fp,1
3622
   42b84:       003e6606        br      42520 <__alt_data_end+0xfffdb420>
3623
   42b88:       00800084        movi    r2,2
3624
   42b8c:       1529c83a        sub     r20,r2,r20
3625
   42b90:       003ff306        br      42b60 <__alt_data_end+0xfffdba60>
3626
   42b94:       008011c4        movi    r2,71
3627
   42b98:       90be7226        beq     r18,r2,42564 <__alt_data_end+0xfffdb464>
3628
   42b9c:       003e7306        br      4256c <__alt_data_end+0xfffdb46c>
3629
   42ba0:       d8812d17        ldw     r2,1204(sp)
3630
   42ba4:       ac800043        ldbu    r18,1(r21)
3631
   42ba8:       202b883a        mov     r21,r4
3632
   42bac:       17000017        ldw     fp,0(r2)
3633
   42bb0:       10800104        addi    r2,r2,4
3634
   42bb4:       d8812d15        stw     r2,1204(sp)
3635
   42bb8:       e0001b16        blt     fp,zero,42c28 <___vfprintf_internal_r+0x1dc4>
3636
   42bbc:       94803fcc        andi    r18,r18,255
3637
   42bc0:       9480201c        xori    r18,r18,128
3638
   42bc4:       94bfe004        addi    r18,r18,-128
3639
   42bc8:       00390406        br      40fdc <__alt_data_end+0xfffd9edc>
3640
   42bcc:       00bfffc4        movi    r2,-1
3641
   42bd0:       d8812c15        stw     r2,1200(sp)
3642
   42bd4:       003a2506        br      4146c <__alt_data_end+0xfffda36c>
3643
   42bd8:       80a0703a        and     r16,r16,r2
3644
   42bdc:       803f9d1e        bne     r16,zero,42a54 <__alt_data_end+0xfffdb954>
3645
   42be0:       d8812b17        ldw     r2,1196(sp)
3646
   42be4:       d8812815        stw     r2,1184(sp)
3647
   42be8:       103e880e        bge     r2,zero,4260c <__alt_data_end+0xfffdb50c>
3648
   42bec:       003f9e06        br      42a68 <__alt_data_end+0xfffdb968>
3649
   42bf0:       00800b44        movi    r2,45
3650
   42bf4:       0529c83a        sub     r20,zero,r20
3651
   42bf8:       d8812005        stb     r2,1152(sp)
3652
   42bfc:       003f8606        br      42a18 <__alt_data_end+0xfffdb918>
3653
   42c00:       1007883a        mov     r3,r2
3654
   42c04:       003e6d06        br      425bc <__alt_data_end+0xfffdb4bc>
3655
   42c08:       e000021e        bne     fp,zero,42c14 <___vfprintf_internal_r+0x1db0>
3656
   42c0c:       8400004c        andi    r16,r16,1
3657
   42c10:       80000e26        beq     r16,zero,42c4c <___vfprintf_internal_r+0x1de8>
3658
   42c14:       e7000084        addi    fp,fp,2
3659
   42c18:       df012b15        stw     fp,1196(sp)
3660
   42c1c:       df012815        stw     fp,1184(sp)
3661
   42c20:       e03e7a0e        bge     fp,zero,4260c <__alt_data_end+0xfffdb50c>
3662
   42c24:       003f9006        br      42a68 <__alt_data_end+0xfffdb968>
3663
   42c28:       94803fcc        andi    r18,r18,255
3664
   42c2c:       9480201c        xori    r18,r18,128
3665
   42c30:       073fffc4        movi    fp,-1
3666
   42c34:       94bfe004        addi    r18,r18,-128
3667
   42c38:       0038e806        br      40fdc <__alt_data_end+0xfffd9edc>
3668
   42c3c:       d8c12044        addi    r3,sp,1153
3669
   42c40:       003f7d06        br      42a38 <__alt_data_end+0xfffdb938>
3670
   42c44:       dd012417        ldw     r20,1168(sp)
3671
   42c48:       003f6d06        br      42a00 <__alt_data_end+0xfffdb900>
3672
   42c4c:       00c00044        movi    r3,1
3673
   42c50:       d8c12815        stw     r3,1184(sp)
3674
   42c54:       d8c12b15        stw     r3,1196(sp)
3675
   42c58:       003e6c06        br      4260c <__alt_data_end+0xfffdb50c>
3676
 
3677
00042c5c <__vfprintf_internal>:
3678
   42c5c:       00800174        movhi   r2,5
3679
   42c60:       10b7cd04        addi    r2,r2,-8396
3680
   42c64:       2007883a        mov     r3,r4
3681
   42c68:       11000017        ldw     r4,0(r2)
3682
   42c6c:       2805883a        mov     r2,r5
3683
   42c70:       300f883a        mov     r7,r6
3684
   42c74:       180b883a        mov     r5,r3
3685
   42c78:       100d883a        mov     r6,r2
3686
   42c7c:       0040e641        jmpi    40e64 <___vfprintf_internal_r>
3687
 
3688
00042c80 <__swsetup_r>:
3689
   42c80:       00800174        movhi   r2,5
3690
   42c84:       10b7cd04        addi    r2,r2,-8396
3691
   42c88:       10800017        ldw     r2,0(r2)
3692
   42c8c:       defffd04        addi    sp,sp,-12
3693
   42c90:       dc400115        stw     r17,4(sp)
3694
   42c94:       dc000015        stw     r16,0(sp)
3695
   42c98:       dfc00215        stw     ra,8(sp)
3696
   42c9c:       2023883a        mov     r17,r4
3697
   42ca0:       2821883a        mov     r16,r5
3698
   42ca4:       10000226        beq     r2,zero,42cb0 <__swsetup_r+0x30>
3699
   42ca8:       10c00e17        ldw     r3,56(r2)
3700
   42cac:       18003d26        beq     r3,zero,42da4 <__swsetup_r+0x124>
3701
   42cb0:       8080030b        ldhu    r2,12(r16)
3702
   42cb4:       10c0020c        andi    r3,r2,8
3703
   42cb8:       18ffffcc        andi    r3,r3,65535
3704
   42cbc:       18e0001c        xori    r3,r3,32768
3705
   42cc0:       18e00004        addi    r3,r3,-32768
3706
   42cc4:       18001226        beq     r3,zero,42d10 <__swsetup_r+0x90>
3707
   42cc8:       80c00417        ldw     r3,16(r16)
3708
   42ccc:       18001f26        beq     r3,zero,42d4c <__swsetup_r+0xcc>
3709
   42cd0:       1100004c        andi    r4,r2,1
3710
   42cd4:       2000261e        bne     r4,zero,42d70 <__swsetup_r+0xf0>
3711
   42cd8:       1080008c        andi    r2,r2,2
3712
   42cdc:       10bfffcc        andi    r2,r2,65535
3713
   42ce0:       10a0001c        xori    r2,r2,32768
3714
   42ce4:       10a00004        addi    r2,r2,-32768
3715
   42ce8:       1000311e        bne     r2,zero,42db0 <__swsetup_r+0x130>
3716
   42cec:       80800517        ldw     r2,20(r16)
3717
   42cf0:       80800215        stw     r2,8(r16)
3718
   42cf4:       18002326        beq     r3,zero,42d84 <__swsetup_r+0x104>
3719
   42cf8:       0005883a        mov     r2,zero
3720
   42cfc:       dfc00217        ldw     ra,8(sp)
3721
   42d00:       dc400117        ldw     r17,4(sp)
3722
   42d04:       dc000017        ldw     r16,0(sp)
3723
   42d08:       dec00304        addi    sp,sp,12
3724
   42d0c:       f800283a        ret
3725
   42d10:       10c0040c        andi    r3,r2,16
3726
   42d14:       18ffffcc        andi    r3,r3,65535
3727
   42d18:       18e0001c        xori    r3,r3,32768
3728
   42d1c:       18e00004        addi    r3,r3,-32768
3729
   42d20:       18001e26        beq     r3,zero,42d9c <__swsetup_r+0x11c>
3730
   42d24:       10c0010c        andi    r3,r2,4
3731
   42d28:       18ffffcc        andi    r3,r3,65535
3732
   42d2c:       18e0001c        xori    r3,r3,32768
3733
   42d30:       18e00004        addi    r3,r3,-32768
3734
   42d34:       1800211e        bne     r3,zero,42dbc <__swsetup_r+0x13c>
3735
   42d38:       80c00417        ldw     r3,16(r16)
3736
   42d3c:       11400214        ori     r5,r2,8
3737
   42d40:       8140030d        sth     r5,12(r16)
3738
   42d44:       2805883a        mov     r2,r5
3739
   42d48:       183fe11e        bne     r3,zero,42cd0 <__alt_data_end+0xfffdbbd0>
3740
   42d4c:       1140a00c        andi    r5,r2,640
3741
   42d50:       01008004        movi    r4,512
3742
   42d54:       293fde26        beq     r5,r4,42cd0 <__alt_data_end+0xfffdbbd0>
3743
   42d58:       8809883a        mov     r4,r17
3744
   42d5c:       800b883a        mov     r5,r16
3745
   42d60:       00456340        call    45634 <__smakebuf_r>
3746
   42d64:       8080030b        ldhu    r2,12(r16)
3747
   42d68:       80c00417        ldw     r3,16(r16)
3748
   42d6c:       003fd806        br      42cd0 <__alt_data_end+0xfffdbbd0>
3749
   42d70:       80800517        ldw     r2,20(r16)
3750
   42d74:       80000215        stw     zero,8(r16)
3751
   42d78:       0085c83a        sub     r2,zero,r2
3752
   42d7c:       80800615        stw     r2,24(r16)
3753
   42d80:       183fdd1e        bne     r3,zero,42cf8 <__alt_data_end+0xfffdbbf8>
3754
   42d84:       8080030b        ldhu    r2,12(r16)
3755
   42d88:       1080200c        andi    r2,r2,128
3756
   42d8c:       10bfffcc        andi    r2,r2,65535
3757
   42d90:       10a0001c        xori    r2,r2,32768
3758
   42d94:       10a00004        addi    r2,r2,-32768
3759
   42d98:       103fd826        beq     r2,zero,42cfc <__alt_data_end+0xfffdbbfc>
3760
   42d9c:       00bfffc4        movi    r2,-1
3761
   42da0:       003fd606        br      42cfc <__alt_data_end+0xfffdbbfc>
3762
   42da4:       1009883a        mov     r4,r2
3763
   42da8:       00448c00        call    448c0 <__sinit>
3764
   42dac:       003fc006        br      42cb0 <__alt_data_end+0xfffdbbb0>
3765
   42db0:       0005883a        mov     r2,zero
3766
   42db4:       80800215        stw     r2,8(r16)
3767
   42db8:       003fce06        br      42cf4 <__alt_data_end+0xfffdbbf4>
3768
   42dbc:       81400c17        ldw     r5,48(r16)
3769
   42dc0:       28000626        beq     r5,zero,42ddc <__swsetup_r+0x15c>
3770
   42dc4:       80c01004        addi    r3,r16,64
3771
   42dc8:       28c00326        beq     r5,r3,42dd8 <__swsetup_r+0x158>
3772
   42dcc:       8809883a        mov     r4,r17
3773
   42dd0:       0044c440        call    44c44 <_free_r>
3774
   42dd4:       8080030b        ldhu    r2,12(r16)
3775
   42dd8:       80000c15        stw     zero,48(r16)
3776
   42ddc:       80c00417        ldw     r3,16(r16)
3777
   42de0:       013ff6c4        movi    r4,-37
3778
   42de4:       2084703a        and     r2,r4,r2
3779
   42de8:       80000115        stw     zero,4(r16)
3780
   42dec:       80c00015        stw     r3,0(r16)
3781
   42df0:       003fd206        br      42d3c <__alt_data_end+0xfffdbc3c>
3782
 
3783
00042df4 :
3784
   42df4:       defff704        addi    sp,sp,-36
3785
   42df8:       dc400115        stw     r17,4(sp)
3786
   42dfc:       20800417        ldw     r2,16(r4)
3787
   42e00:       2c400417        ldw     r17,16(r5)
3788
   42e04:       dd800615        stw     r22,24(sp)
3789
   42e08:       dd400515        stw     r21,20(sp)
3790
   42e0c:       dfc00815        stw     ra,32(sp)
3791
   42e10:       ddc00715        stw     r23,28(sp)
3792
   42e14:       dd000415        stw     r20,16(sp)
3793
   42e18:       dcc00315        stw     r19,12(sp)
3794
   42e1c:       dc800215        stw     r18,8(sp)
3795
   42e20:       dc000015        stw     r16,0(sp)
3796
   42e24:       202b883a        mov     r21,r4
3797
   42e28:       282d883a        mov     r22,r5
3798
   42e2c:       14407116        blt     r2,r17,42ff4 
3799
   42e30:       88800104        addi    r2,r17,4
3800
   42e34:       1085883a        add     r2,r2,r2
3801
   42e38:       1085883a        add     r2,r2,r2
3802
   42e3c:       28a7883a        add     r19,r5,r2
3803
   42e40:       2085883a        add     r2,r4,r2
3804
   42e44:       15c00017        ldw     r23,0(r2)
3805
   42e48:       99400017        ldw     r5,0(r19)
3806
   42e4c:       8c7fffc4        addi    r17,r17,-1
3807
   42e50:       b809883a        mov     r4,r23
3808
   42e54:       29400044        addi    r5,r5,1
3809
   42e58:       00498140        call    49814 <__udivsi3>
3810
   42e5c:       1025883a        mov     r18,r2
3811
   42e60:       b4000504        addi    r16,r22,20
3812
   42e64:       ad000504        addi    r20,r21,20
3813
   42e68:       10002d26        beq     r2,zero,42f20 
3814
   42e6c:       800d883a        mov     r6,r16
3815
   42e70:       a007883a        mov     r3,r20
3816
   42e74:       000f883a        mov     r7,zero
3817
   42e78:       0005883a        mov     r2,zero
3818
   42e7c:       32c00017        ldw     r11,0(r6)
3819
   42e80:       1a400017        ldw     r9,0(r3)
3820
   42e84:       31800104        addi    r6,r6,4
3821
   42e88:       5abfffcc        andi    r10,r11,65535
3822
   42e8c:       5495383a        mul     r10,r10,r18
3823
   42e90:       5816d43a        srli    r11,r11,16
3824
   42e94:       4a3fffcc        andi    r8,r9,65535
3825
   42e98:       3a95883a        add     r10,r7,r10
3826
   42e9c:       500ed43a        srli    r7,r10,16
3827
   42ea0:       5c97383a        mul     r11,r11,r18
3828
   42ea4:       4085883a        add     r2,r8,r2
3829
   42ea8:       52bfffcc        andi    r10,r10,65535
3830
   42eac:       1291c83a        sub     r8,r2,r10
3831
   42eb0:       4804d43a        srli    r2,r9,16
3832
   42eb4:       3acf883a        add     r7,r7,r11
3833
   42eb8:       4015d43a        srai    r10,r8,16
3834
   42ebc:       393fffcc        andi    r4,r7,65535
3835
   42ec0:       1105c83a        sub     r2,r2,r4
3836
   42ec4:       1285883a        add     r2,r2,r10
3837
   42ec8:       1880008d        sth     r2,2(r3)
3838
   42ecc:       1a00000d        sth     r8,0(r3)
3839
   42ed0:       380ed43a        srli    r7,r7,16
3840
   42ed4:       1005d43a        srai    r2,r2,16
3841
   42ed8:       18c00104        addi    r3,r3,4
3842
   42edc:       99bfe72e        bgeu    r19,r6,42e7c <__alt_data_end+0xfffdbd7c>
3843
   42ee0:       b8000f1e        bne     r23,zero,42f20 
3844
   42ee4:       88800144        addi    r2,r17,5
3845
   42ee8:       1085883a        add     r2,r2,r2
3846
   42eec:       1085883a        add     r2,r2,r2
3847
   42ef0:       a887883a        add     r3,r21,r2
3848
   42ef4:       18bfff04        addi    r2,r3,-4
3849
   42ef8:       a080082e        bgeu    r20,r2,42f1c 
3850
   42efc:       18ffff17        ldw     r3,-4(r3)
3851
   42f00:       18000326        beq     r3,zero,42f10 
3852
   42f04:       00000506        br      42f1c 
3853
   42f08:       10c00017        ldw     r3,0(r2)
3854
   42f0c:       1800031e        bne     r3,zero,42f1c 
3855
   42f10:       10bfff04        addi    r2,r2,-4
3856
   42f14:       8c7fffc4        addi    r17,r17,-1
3857
   42f18:       a0bffb36        bltu    r20,r2,42f08 <__alt_data_end+0xfffdbe08>
3858
   42f1c:       ac400415        stw     r17,16(r21)
3859
   42f20:       a809883a        mov     r4,r21
3860
   42f24:       b00b883a        mov     r5,r22
3861
   42f28:       0046bf80        call    46bf8 <__mcmp>
3862
   42f2c:       10002516        blt     r2,zero,42fc4 
3863
   42f30:       94800044        addi    r18,r18,1
3864
   42f34:       a007883a        mov     r3,r20
3865
   42f38:       000b883a        mov     r5,zero
3866
   42f3c:       1a000017        ldw     r8,0(r3)
3867
   42f40:       81c00017        ldw     r7,0(r16)
3868
   42f44:       84000104        addi    r16,r16,4
3869
   42f48:       41bfffcc        andi    r6,r8,65535
3870
   42f4c:       38bfffcc        andi    r2,r7,65535
3871
   42f50:       314b883a        add     r5,r6,r5
3872
   42f54:       288dc83a        sub     r6,r5,r2
3873
   42f58:       380ed43a        srli    r7,r7,16
3874
   42f5c:       400ad43a        srli    r5,r8,16
3875
   42f60:       3005d43a        srai    r2,r6,16
3876
   42f64:       1980000d        sth     r6,0(r3)
3877
   42f68:       29cbc83a        sub     r5,r5,r7
3878
   42f6c:       288b883a        add     r5,r5,r2
3879
   42f70:       1940008d        sth     r5,2(r3)
3880
   42f74:       280bd43a        srai    r5,r5,16
3881
   42f78:       18c00104        addi    r3,r3,4
3882
   42f7c:       9c3fef2e        bgeu    r19,r16,42f3c <__alt_data_end+0xfffdbe3c>
3883
   42f80:       88800144        addi    r2,r17,5
3884
   42f84:       1085883a        add     r2,r2,r2
3885
   42f88:       1085883a        add     r2,r2,r2
3886
   42f8c:       a885883a        add     r2,r21,r2
3887
   42f90:       10c00017        ldw     r3,0(r2)
3888
   42f94:       18000b1e        bne     r3,zero,42fc4 
3889
   42f98:       10ffff04        addi    r3,r2,-4
3890
   42f9c:       a0c0082e        bgeu    r20,r3,42fc0 
3891
   42fa0:       10bfff17        ldw     r2,-4(r2)
3892
   42fa4:       10000326        beq     r2,zero,42fb4 
3893
   42fa8:       00000506        br      42fc0 
3894
   42fac:       18800017        ldw     r2,0(r3)
3895
   42fb0:       1000031e        bne     r2,zero,42fc0 
3896
   42fb4:       18ffff04        addi    r3,r3,-4
3897
   42fb8:       8c7fffc4        addi    r17,r17,-1
3898
   42fbc:       a0fffb36        bltu    r20,r3,42fac <__alt_data_end+0xfffdbeac>
3899
   42fc0:       ac400415        stw     r17,16(r21)
3900
   42fc4:       9005883a        mov     r2,r18
3901
   42fc8:       dfc00817        ldw     ra,32(sp)
3902
   42fcc:       ddc00717        ldw     r23,28(sp)
3903
   42fd0:       dd800617        ldw     r22,24(sp)
3904
   42fd4:       dd400517        ldw     r21,20(sp)
3905
   42fd8:       dd000417        ldw     r20,16(sp)
3906
   42fdc:       dcc00317        ldw     r19,12(sp)
3907
   42fe0:       dc800217        ldw     r18,8(sp)
3908
   42fe4:       dc400117        ldw     r17,4(sp)
3909
   42fe8:       dc000017        ldw     r16,0(sp)
3910
   42fec:       dec00904        addi    sp,sp,36
3911
   42ff0:       f800283a        ret
3912
   42ff4:       0005883a        mov     r2,zero
3913
   42ff8:       003ff306        br      42fc8 <__alt_data_end+0xfffdbec8>
3914
 
3915
00042ffc <_dtoa_r>:
3916
   42ffc:       20801017        ldw     r2,64(r4)
3917
   43000:       deffdf04        addi    sp,sp,-132
3918
   43004:       dcc01a15        stw     r19,104(sp)
3919
   43008:       dc801915        stw     r18,100(sp)
3920
   4300c:       dc401815        stw     r17,96(sp)
3921
   43010:       dc001715        stw     r16,92(sp)
3922
   43014:       dfc02015        stw     ra,128(sp)
3923
   43018:       df001f15        stw     fp,124(sp)
3924
   4301c:       ddc01e15        stw     r23,120(sp)
3925
   43020:       dd801d15        stw     r22,116(sp)
3926
   43024:       dd401c15        stw     r21,112(sp)
3927
   43028:       dd001b15        stw     r20,108(sp)
3928
   4302c:       d9400315        stw     r5,12(sp)
3929
   43030:       d9c00415        stw     r7,16(sp)
3930
   43034:       2021883a        mov     r16,r4
3931
   43038:       3025883a        mov     r18,r6
3932
   4303c:       dcc02317        ldw     r19,140(sp)
3933
   43040:       3023883a        mov     r17,r6
3934
   43044:       10000826        beq     r2,zero,43068 <_dtoa_r+0x6c>
3935
   43048:       20c01117        ldw     r3,68(r4)
3936
   4304c:       01800044        movi    r6,1
3937
   43050:       100b883a        mov     r5,r2
3938
   43054:       30cc983a        sll     r6,r6,r3
3939
   43058:       10c00115        stw     r3,4(r2)
3940
   4305c:       11800215        stw     r6,8(r2)
3941
   43060:       00463fc0        call    463fc <_Bfree>
3942
   43064:       80001015        stw     zero,64(r16)
3943
   43068:       90002f16        blt     r18,zero,43128 <_dtoa_r+0x12c>
3944
   4306c:       98000015        stw     zero,0(r19)
3945
   43070:       90dffc2c        andhi   r3,r18,32752
3946
   43074:       009ffc34        movhi   r2,32752
3947
   43078:       18801c26        beq     r3,r2,430ec <_dtoa_r+0xf0>
3948
   4307c:       d9000317        ldw     r4,12(sp)
3949
   43080:       880b883a        mov     r5,r17
3950
   43084:       000d883a        mov     r6,zero
3951
   43088:       000f883a        mov     r7,zero
3952
   4308c:       00492c00        call    492c0 <__nedf2>
3953
   43090:       10002c1e        bne     r2,zero,43144 <_dtoa_r+0x148>
3954
   43094:       d9002217        ldw     r4,136(sp)
3955
   43098:       d9c02417        ldw     r7,144(sp)
3956
   4309c:       00800044        movi    r2,1
3957
   430a0:       20800015        stw     r2,0(r4)
3958
   430a4:       38019426        beq     r7,zero,436f8 <_dtoa_r+0x6fc>
3959
   430a8:       00800174        movhi   r2,5
3960
   430ac:       10b0d344        addi    r2,r2,-15539
3961
   430b0:       38800015        stw     r2,0(r7)
3962
   430b4:       15ffffc4        addi    r23,r2,-1
3963
   430b8:       b805883a        mov     r2,r23
3964
   430bc:       dfc02017        ldw     ra,128(sp)
3965
   430c0:       df001f17        ldw     fp,124(sp)
3966
   430c4:       ddc01e17        ldw     r23,120(sp)
3967
   430c8:       dd801d17        ldw     r22,116(sp)
3968
   430cc:       dd401c17        ldw     r21,112(sp)
3969
   430d0:       dd001b17        ldw     r20,108(sp)
3970
   430d4:       dcc01a17        ldw     r19,104(sp)
3971
   430d8:       dc801917        ldw     r18,100(sp)
3972
   430dc:       dc401817        ldw     r17,96(sp)
3973
   430e0:       dc001717        ldw     r16,92(sp)
3974
   430e4:       dec02104        addi    sp,sp,132
3975
   430e8:       f800283a        ret
3976
   430ec:       d8c02217        ldw     r3,136(sp)
3977
   430f0:       d9000317        ldw     r4,12(sp)
3978
   430f4:       0089c3c4        movi    r2,9999
3979
   430f8:       18800015        stw     r2,0(r3)
3980
   430fc:       20016c26        beq     r4,zero,436b0 <_dtoa_r+0x6b4>
3981
   43100:       05c00174        movhi   r23,5
3982
   43104:       bdf0df04        addi    r23,r23,-15492
3983
   43108:       d9c02417        ldw     r7,144(sp)
3984
   4310c:       383fea26        beq     r7,zero,430b8 <__alt_data_end+0xfffdbfb8>
3985
   43110:       b88000c7        ldb     r2,3(r23)
3986
   43114:       10016d1e        bne     r2,zero,436cc <_dtoa_r+0x6d0>
3987
   43118:       b88000c4        addi    r2,r23,3
3988
   4311c:       d8c02417        ldw     r3,144(sp)
3989
   43120:       18800015        stw     r2,0(r3)
3990
   43124:       003fe406        br      430b8 <__alt_data_end+0xfffdbfb8>
3991
   43128:       04600034        movhi   r17,32768
3992
   4312c:       8c7fffc4        addi    r17,r17,-1
3993
   43130:       9462703a        and     r17,r18,r17
3994
   43134:       00800044        movi    r2,1
3995
   43138:       98800015        stw     r2,0(r19)
3996
   4313c:       8825883a        mov     r18,r17
3997
   43140:       003fcb06        br      43070 <__alt_data_end+0xfffdbf70>
3998
   43144:       d9400317        ldw     r5,12(sp)
3999
   43148:       9028d53a        srli    r20,r18,20
4000
   4314c:       d8800204        addi    r2,sp,8
4001
   43150:       d8800015        stw     r2,0(sp)
4002
   43154:       8009883a        mov     r4,r16
4003
   43158:       880d883a        mov     r6,r17
4004
   4315c:       d9c00104        addi    r7,sp,4
4005
   43160:       0046fa00        call    46fa0 <__d2b>
4006
   43164:       a501ffcc        andi    r20,r20,2047
4007
   43168:       1039883a        mov     fp,r2
4008
   4316c:       a001591e        bne     r20,zero,436d4 <_dtoa_r+0x6d8>
4009
   43170:       dd400217        ldw     r21,8(sp)
4010
   43174:       dd000117        ldw     r20,4(sp)
4011
   43178:       00befbc4        movi    r2,-1041
4012
   4317c:       ad29883a        add     r20,r21,r20
4013
   43180:       a082d216        blt     r20,r2,43ccc <_dtoa_r+0xcd0>
4014
   43184:       d8c00317        ldw     r3,12(sp)
4015
   43188:       013f0384        movi    r4,-1010
4016
   4318c:       2509c83a        sub     r4,r4,r20
4017
   43190:       a0810484        addi    r2,r20,1042
4018
   43194:       9124983a        sll     r18,r18,r4
4019
   43198:       1884d83a        srl     r2,r3,r2
4020
   4319c:       9088b03a        or      r4,r18,r2
4021
   431a0:       00495d80        call    495d8 <__floatunsidf>
4022
   431a4:       1009883a        mov     r4,r2
4023
   431a8:       017f8434        movhi   r5,65040
4024
   431ac:       00800044        movi    r2,1
4025
   431b0:       194b883a        add     r5,r3,r5
4026
   431b4:       a53fffc4        addi    r20,r20,-1
4027
   431b8:       d8800f15        stw     r2,60(sp)
4028
   431bc:       000d883a        mov     r6,zero
4029
   431c0:       01cffe34        movhi   r7,16376
4030
   431c4:       0048f200        call    48f20 <__subdf3>
4031
   431c8:       1009883a        mov     r4,r2
4032
   431cc:       180b883a        mov     r5,r3
4033
   431d0:       0198dbf4        movhi   r6,25455
4034
   431d4:       3190d844        addi    r6,r6,17249
4035
   431d8:       01cff4f4        movhi   r7,16339
4036
   431dc:       39e1e9c4        addi    r7,r7,-30809
4037
   431e0:       0048f800        call    48f80 <__muldf3>
4038
   431e4:       180b883a        mov     r5,r3
4039
   431e8:       01a2d874        movhi   r6,35681
4040
   431ec:       31b22cc4        addi    r6,r6,-14157
4041
   431f0:       01cff1f4        movhi   r7,16327
4042
   431f4:       39e28a04        addi    r7,r7,-30168
4043
   431f8:       1009883a        mov     r4,r2
4044
   431fc:       0048ecc0        call    48ecc <__adddf3>
4045
   43200:       a009883a        mov     r4,r20
4046
   43204:       1027883a        mov     r19,r2
4047
   43208:       1825883a        mov     r18,r3
4048
   4320c:       00494400        call    49440 <__floatsidf>
4049
   43210:       1009883a        mov     r4,r2
4050
   43214:       180b883a        mov     r5,r3
4051
   43218:       019427f4        movhi   r6,20639
4052
   4321c:       319e7ec4        addi    r6,r6,31227
4053
   43220:       01cff4f4        movhi   r7,16339
4054
   43224:       39d104c4        addi    r7,r7,17427
4055
   43228:       0048f800        call    48f80 <__muldf3>
4056
   4322c:       9809883a        mov     r4,r19
4057
   43230:       900b883a        mov     r5,r18
4058
   43234:       100d883a        mov     r6,r2
4059
   43238:       180f883a        mov     r7,r3
4060
   4323c:       0048ecc0        call    48ecc <__adddf3>
4061
   43240:       1009883a        mov     r4,r2
4062
   43244:       180b883a        mov     r5,r3
4063
   43248:       1027883a        mov     r19,r2
4064
   4324c:       1825883a        mov     r18,r3
4065
   43250:       00495140        call    49514 <__fixdfsi>
4066
   43254:       9809883a        mov     r4,r19
4067
   43258:       900b883a        mov     r5,r18
4068
   4325c:       000d883a        mov     r6,zero
4069
   43260:       000f883a        mov     r7,zero
4070
   43264:       d8800615        stw     r2,24(sp)
4071
   43268:       00493e40        call    493e4 <__ltdf2>
4072
   4326c:       10027e16        blt     r2,zero,43c68 <_dtoa_r+0xc6c>
4073
   43270:       d8c00617        ldw     r3,24(sp)
4074
   43274:       00800584        movi    r2,22
4075
   43278:       10c26c36        bltu    r2,r3,43c2c <_dtoa_r+0xc30>
4076
   4327c:       180490fa        slli    r2,r3,3
4077
   43280:       00c00174        movhi   r3,5
4078
   43284:       18f10504        addi    r3,r3,-15340
4079
   43288:       d9800317        ldw     r6,12(sp)
4080
   4328c:       1885883a        add     r2,r3,r2
4081
   43290:       11000017        ldw     r4,0(r2)
4082
   43294:       11400117        ldw     r5,4(r2)
4083
   43298:       880f883a        mov     r7,r17
4084
   4329c:       004931c0        call    4931c <__gtdf2>
4085
   432a0:       00828f0e        bge     zero,r2,43ce0 <_dtoa_r+0xce4>
4086
   432a4:       d8800617        ldw     r2,24(sp)
4087
   432a8:       d8000d15        stw     zero,52(sp)
4088
   432ac:       10bfffc4        addi    r2,r2,-1
4089
   432b0:       d8800615        stw     r2,24(sp)
4090
   432b4:       ad29c83a        sub     r20,r21,r20
4091
   432b8:       a53fffc4        addi    r20,r20,-1
4092
   432bc:       a0026616        blt     r20,zero,43c58 <_dtoa_r+0xc5c>
4093
   432c0:       dd000715        stw     r20,28(sp)
4094
   432c4:       d8000815        stw     zero,32(sp)
4095
   432c8:       d8800617        ldw     r2,24(sp)
4096
   432cc:       10025a16        blt     r2,zero,43c38 <_dtoa_r+0xc3c>
4097
   432d0:       d8c00717        ldw     r3,28(sp)
4098
   432d4:       d8800b15        stw     r2,44(sp)
4099
   432d8:       d8000a15        stw     zero,40(sp)
4100
   432dc:       1887883a        add     r3,r3,r2
4101
   432e0:       d8c00715        stw     r3,28(sp)
4102
   432e4:       d9c00417        ldw     r7,16(sp)
4103
   432e8:       00800244        movi    r2,9
4104
   432ec:       11c10536        bltu    r2,r7,43704 <_dtoa_r+0x708>
4105
   432f0:       00800144        movi    r2,5
4106
   432f4:       11c4c60e        bge     r2,r7,44610 <_dtoa_r+0x1614>
4107
   432f8:       39ffff04        addi    r7,r7,-4
4108
   432fc:       d9c00415        stw     r7,16(sp)
4109
   43300:       0027883a        mov     r19,zero
4110
   43304:       d9c00417        ldw     r7,16(sp)
4111
   43308:       008000c4        movi    r2,3
4112
   4330c:       3883a226        beq     r7,r2,44198 <_dtoa_r+0x119c>
4113
   43310:       11c2bc16        blt     r2,r7,43e04 <_dtoa_r+0xe08>
4114
   43314:       00800084        movi    r2,2
4115
   43318:       3880fb1e        bne     r7,r2,43708 <_dtoa_r+0x70c>
4116
   4331c:       d8000c15        stw     zero,48(sp)
4117
   43320:       d9002117        ldw     r4,132(sp)
4118
   43324:       0103ae0e        bge     zero,r4,441e0 <_dtoa_r+0x11e4>
4119
   43328:       2025883a        mov     r18,r4
4120
   4332c:       d9000e15        stw     r4,56(sp)
4121
   43330:       d9000915        stw     r4,36(sp)
4122
   43334:       80001115        stw     zero,68(r16)
4123
   43338:       008005c4        movi    r2,23
4124
   4333c:       1484b22e        bgeu    r2,r18,44608 <_dtoa_r+0x160c>
4125
   43340:       00c00044        movi    r3,1
4126
   43344:       00800104        movi    r2,4
4127
   43348:       1085883a        add     r2,r2,r2
4128
   4334c:       11000504        addi    r4,r2,20
4129
   43350:       180b883a        mov     r5,r3
4130
   43354:       18c00044        addi    r3,r3,1
4131
   43358:       913ffb2e        bgeu    r18,r4,43348 <__alt_data_end+0xfffdc248>
4132
   4335c:       81401115        stw     r5,68(r16)
4133
   43360:       8009883a        mov     r4,r16
4134
   43364:       00463540        call    46354 <_Balloc>
4135
   43368:       102f883a        mov     r23,r2
4136
   4336c:       80801015        stw     r2,64(r16)
4137
   43370:       00800384        movi    r2,14
4138
   43374:       1480f036        bltu    r2,r18,43738 <_dtoa_r+0x73c>
4139
   43378:       9800ef26        beq     r19,zero,43738 <_dtoa_r+0x73c>
4140
   4337c:       d8800617        ldw     r2,24(sp)
4141
   43380:       00839c0e        bge     zero,r2,441f4 <_dtoa_r+0x11f8>
4142
   43384:       d8c00617        ldw     r3,24(sp)
4143
   43388:       108003cc        andi    r2,r2,15
4144
   4338c:       100490fa        slli    r2,r2,3
4145
   43390:       182bd13a        srai    r21,r3,4
4146
   43394:       00c00174        movhi   r3,5
4147
   43398:       18f10504        addi    r3,r3,-15340
4148
   4339c:       1885883a        add     r2,r3,r2
4149
   433a0:       a8c0040c        andi    r3,r21,16
4150
   433a4:       12800017        ldw     r10,0(r2)
4151
   433a8:       15800117        ldw     r22,4(r2)
4152
   433ac:       18038726        beq     r3,zero,441cc <_dtoa_r+0x11d0>
4153
   433b0:       00800174        movhi   r2,5
4154
   433b4:       10b0fb04        addi    r2,r2,-15380
4155
   433b8:       11800817        ldw     r6,32(r2)
4156
   433bc:       11c00917        ldw     r7,36(r2)
4157
   433c0:       d9000317        ldw     r4,12(sp)
4158
   433c4:       880b883a        mov     r5,r17
4159
   433c8:       da801515        stw     r10,84(sp)
4160
   433cc:       00404680        call    40468 <__divdf3>
4161
   433d0:       da801517        ldw     r10,84(sp)
4162
   433d4:       d8801015        stw     r2,64(sp)
4163
   433d8:       1829883a        mov     r20,r3
4164
   433dc:       ad4003cc        andi    r21,r21,15
4165
   433e0:       048000c4        movi    r18,3
4166
   433e4:       a8001126        beq     r21,zero,4342c <_dtoa_r+0x430>
4167
   433e8:       04c00174        movhi   r19,5
4168
   433ec:       9cf0fb04        addi    r19,r19,-15380
4169
   433f0:       5005883a        mov     r2,r10
4170
   433f4:       b007883a        mov     r3,r22
4171
   433f8:       a980004c        andi    r6,r21,1
4172
   433fc:       1009883a        mov     r4,r2
4173
   43400:       a82bd07a        srai    r21,r21,1
4174
   43404:       180b883a        mov     r5,r3
4175
   43408:       30000426        beq     r6,zero,4341c <_dtoa_r+0x420>
4176
   4340c:       99800017        ldw     r6,0(r19)
4177
   43410:       99c00117        ldw     r7,4(r19)
4178
   43414:       94800044        addi    r18,r18,1
4179
   43418:       0048f800        call    48f80 <__muldf3>
4180
   4341c:       9cc00204        addi    r19,r19,8
4181
   43420:       a83ff51e        bne     r21,zero,433f8 <__alt_data_end+0xfffdc2f8>
4182
   43424:       1015883a        mov     r10,r2
4183
   43428:       182d883a        mov     r22,r3
4184
   4342c:       d9001017        ldw     r4,64(sp)
4185
   43430:       a00b883a        mov     r5,r20
4186
   43434:       500d883a        mov     r6,r10
4187
   43438:       b00f883a        mov     r7,r22
4188
   4343c:       00404680        call    40468 <__divdf3>
4189
   43440:       1027883a        mov     r19,r2
4190
   43444:       1829883a        mov     r20,r3
4191
   43448:       d8c00d17        ldw     r3,52(sp)
4192
   4344c:       18000626        beq     r3,zero,43468 <_dtoa_r+0x46c>
4193
   43450:       9809883a        mov     r4,r19
4194
   43454:       a00b883a        mov     r5,r20
4195
   43458:       000d883a        mov     r6,zero
4196
   4345c:       01cffc34        movhi   r7,16368
4197
   43460:       00493e40        call    493e4 <__ltdf2>
4198
   43464:       10040e16        blt     r2,zero,444a0 <_dtoa_r+0x14a4>
4199
   43468:       9009883a        mov     r4,r18
4200
   4346c:       00494400        call    49440 <__floatsidf>
4201
   43470:       1009883a        mov     r4,r2
4202
   43474:       180b883a        mov     r5,r3
4203
   43478:       980d883a        mov     r6,r19
4204
   4347c:       a00f883a        mov     r7,r20
4205
   43480:       0048f800        call    48f80 <__muldf3>
4206
   43484:       1009883a        mov     r4,r2
4207
   43488:       180b883a        mov     r5,r3
4208
   4348c:       000d883a        mov     r6,zero
4209
   43490:       01d00734        movhi   r7,16412
4210
   43494:       0048ecc0        call    48ecc <__adddf3>
4211
   43498:       057f3034        movhi   r21,64704
4212
   4349c:       1d6b883a        add     r21,r3,r21
4213
   434a0:       d8c00917        ldw     r3,36(sp)
4214
   434a4:       1025883a        mov     r18,r2
4215
   434a8:       18031f26        beq     r3,zero,44128 <_dtoa_r+0x112c>
4216
   434ac:       d8800617        ldw     r2,24(sp)
4217
   434b0:       dac00917        ldw     r11,36(sp)
4218
   434b4:       d8801315        stw     r2,76(sp)
4219
   434b8:       d8c00c17        ldw     r3,48(sp)
4220
   434bc:       18039026        beq     r3,zero,44300 <_dtoa_r+0x1304>
4221
   434c0:       58bfffc4        addi    r2,r11,-1
4222
   434c4:       100490fa        slli    r2,r2,3
4223
   434c8:       00c00174        movhi   r3,5
4224
   434cc:       18f10504        addi    r3,r3,-15340
4225
   434d0:       0009883a        mov     r4,zero
4226
   434d4:       1885883a        add     r2,r3,r2
4227
   434d8:       11800017        ldw     r6,0(r2)
4228
   434dc:       11c00117        ldw     r7,4(r2)
4229
   434e0:       014ff834        movhi   r5,16352
4230
   434e4:       dac01615        stw     r11,88(sp)
4231
   434e8:       00404680        call    40468 <__divdf3>
4232
   434ec:       900d883a        mov     r6,r18
4233
   434f0:       a80f883a        mov     r7,r21
4234
   434f4:       1009883a        mov     r4,r2
4235
   434f8:       180b883a        mov     r5,r3
4236
   434fc:       0048f200        call    48f20 <__subdf3>
4237
   43500:       a00b883a        mov     r5,r20
4238
   43504:       9809883a        mov     r4,r19
4239
   43508:       182b883a        mov     r21,r3
4240
   4350c:       d8801015        stw     r2,64(sp)
4241
   43510:       00495140        call    49514 <__fixdfsi>
4242
   43514:       1009883a        mov     r4,r2
4243
   43518:       d8801515        stw     r2,84(sp)
4244
   4351c:       00494400        call    49440 <__floatsidf>
4245
   43520:       9809883a        mov     r4,r19
4246
   43524:       a00b883a        mov     r5,r20
4247
   43528:       100d883a        mov     r6,r2
4248
   4352c:       180f883a        mov     r7,r3
4249
   43530:       0048f200        call    48f20 <__subdf3>
4250
   43534:       da401517        ldw     r9,84(sp)
4251
   43538:       d9001017        ldw     r4,64(sp)
4252
   4353c:       a80b883a        mov     r5,r21
4253
   43540:       4d000c04        addi    r20,r9,48
4254
   43544:       bd000005        stb     r20,0(r23)
4255
   43548:       100d883a        mov     r6,r2
4256
   4354c:       180f883a        mov     r7,r3
4257
   43550:       bd800044        addi    r22,r23,1
4258
   43554:       1025883a        mov     r18,r2
4259
   43558:       1827883a        mov     r19,r3
4260
   4355c:       004931c0        call    4931c <__gtdf2>
4261
   43560:       00842216        blt     zero,r2,445ec <_dtoa_r+0x15f0>
4262
   43564:       0009883a        mov     r4,zero
4263
   43568:       014ffc34        movhi   r5,16368
4264
   4356c:       900d883a        mov     r6,r18
4265
   43570:       980f883a        mov     r7,r19
4266
   43574:       0048f200        call    48f20 <__subdf3>
4267
   43578:       d9001017        ldw     r4,64(sp)
4268
   4357c:       a80b883a        mov     r5,r21
4269
   43580:       100d883a        mov     r6,r2
4270
   43584:       180f883a        mov     r7,r3
4271
   43588:       004931c0        call    4931c <__gtdf2>
4272
   4358c:       dac01617        ldw     r11,88(sp)
4273
   43590:       00841316        blt     zero,r2,445e0 <_dtoa_r+0x15e4>
4274
   43594:       00800044        movi    r2,1
4275
   43598:       12c0670e        bge     r2,r11,43738 <_dtoa_r+0x73c>
4276
   4359c:       bad7883a        add     r11,r23,r11
4277
   435a0:       df001115        stw     fp,68(sp)
4278
   435a4:       dc401215        stw     r17,72(sp)
4279
   435a8:       5839883a        mov     fp,r11
4280
   435ac:       dc401017        ldw     r17,64(sp)
4281
   435b0:       00000806        br      435d4 <_dtoa_r+0x5d8>
4282
   435b4:       0048f200        call    48f20 <__subdf3>
4283
   435b8:       1009883a        mov     r4,r2
4284
   435bc:       180b883a        mov     r5,r3
4285
   435c0:       880d883a        mov     r6,r17
4286
   435c4:       a80f883a        mov     r7,r21
4287
   435c8:       00493e40        call    493e4 <__ltdf2>
4288
   435cc:       1003ee16        blt     r2,zero,44588 <_dtoa_r+0x158c>
4289
   435d0:       b703f126        beq     r22,fp,44598 <_dtoa_r+0x159c>
4290
   435d4:       8809883a        mov     r4,r17
4291
   435d8:       a80b883a        mov     r5,r21
4292
   435dc:       000d883a        mov     r6,zero
4293
   435e0:       01d00934        movhi   r7,16420
4294
   435e4:       0048f800        call    48f80 <__muldf3>
4295
   435e8:       000d883a        mov     r6,zero
4296
   435ec:       01d00934        movhi   r7,16420
4297
   435f0:       9009883a        mov     r4,r18
4298
   435f4:       980b883a        mov     r5,r19
4299
   435f8:       1023883a        mov     r17,r2
4300
   435fc:       182b883a        mov     r21,r3
4301
   43600:       0048f800        call    48f80 <__muldf3>
4302
   43604:       180b883a        mov     r5,r3
4303
   43608:       1009883a        mov     r4,r2
4304
   4360c:       1825883a        mov     r18,r3
4305
   43610:       1027883a        mov     r19,r2
4306
   43614:       00495140        call    49514 <__fixdfsi>
4307
   43618:       1009883a        mov     r4,r2
4308
   4361c:       1029883a        mov     r20,r2
4309
   43620:       00494400        call    49440 <__floatsidf>
4310
   43624:       9809883a        mov     r4,r19
4311
   43628:       900b883a        mov     r5,r18
4312
   4362c:       100d883a        mov     r6,r2
4313
   43630:       180f883a        mov     r7,r3
4314
   43634:       0048f200        call    48f20 <__subdf3>
4315
   43638:       a5000c04        addi    r20,r20,48
4316
   4363c:       b5000005        stb     r20,0(r22)
4317
   43640:       1009883a        mov     r4,r2
4318
   43644:       180b883a        mov     r5,r3
4319
   43648:       880d883a        mov     r6,r17
4320
   4364c:       a80f883a        mov     r7,r21
4321
   43650:       1025883a        mov     r18,r2
4322
   43654:       1827883a        mov     r19,r3
4323
   43658:       00493e40        call    493e4 <__ltdf2>
4324
   4365c:       b5800044        addi    r22,r22,1
4325
   43660:       0009883a        mov     r4,zero
4326
   43664:       014ffc34        movhi   r5,16368
4327
   43668:       900d883a        mov     r6,r18
4328
   4366c:       980f883a        mov     r7,r19
4329
   43670:       103fd00e        bge     r2,zero,435b4 <__alt_data_end+0xfffdc4b4>
4330
   43674:       d9001317        ldw     r4,76(sp)
4331
   43678:       df001117        ldw     fp,68(sp)
4332
   4367c:       d9000615        stw     r4,24(sp)
4333
   43680:       8009883a        mov     r4,r16
4334
   43684:       e00b883a        mov     r5,fp
4335
   43688:       00463fc0        call    463fc <_Bfree>
4336
   4368c:       d9c00617        ldw     r7,24(sp)
4337
   43690:       d8c02217        ldw     r3,136(sp)
4338
   43694:       d9002417        ldw     r4,144(sp)
4339
   43698:       b0000005        stb     zero,0(r22)
4340
   4369c:       38800044        addi    r2,r7,1
4341
   436a0:       18800015        stw     r2,0(r3)
4342
   436a4:       203e8426        beq     r4,zero,430b8 <__alt_data_end+0xfffdbfb8>
4343
   436a8:       25800015        stw     r22,0(r4)
4344
   436ac:       003e8206        br      430b8 <__alt_data_end+0xfffdbfb8>
4345
   436b0:       00800434        movhi   r2,16
4346
   436b4:       10bfffc4        addi    r2,r2,-1
4347
   436b8:       90a4703a        and     r18,r18,r2
4348
   436bc:       903e901e        bne     r18,zero,43100 <__alt_data_end+0xfffdc000>
4349
   436c0:       05c00174        movhi   r23,5
4350
   436c4:       bdf0dc04        addi    r23,r23,-15504
4351
   436c8:       003e8f06        br      43108 <__alt_data_end+0xfffdc008>
4352
   436cc:       b8800204        addi    r2,r23,8
4353
   436d0:       003e9206        br      4311c <__alt_data_end+0xfffdc01c>
4354
   436d4:       01400434        movhi   r5,16
4355
   436d8:       297fffc4        addi    r5,r5,-1
4356
   436dc:       894a703a        and     r5,r17,r5
4357
   436e0:       d9000317        ldw     r4,12(sp)
4358
   436e4:       294ffc34        orhi    r5,r5,16368
4359
   436e8:       a53f0044        addi    r20,r20,-1023
4360
   436ec:       dd400217        ldw     r21,8(sp)
4361
   436f0:       d8000f15        stw     zero,60(sp)
4362
   436f4:       003eb106        br      431bc <__alt_data_end+0xfffdc0bc>
4363
   436f8:       05c00174        movhi   r23,5
4364
   436fc:       bdf0d304        addi    r23,r23,-15540
4365
   43700:       003e6d06        br      430b8 <__alt_data_end+0xfffdbfb8>
4366
   43704:       d8000415        stw     zero,16(sp)
4367
   43708:       80001115        stw     zero,68(r16)
4368
   4370c:       8009883a        mov     r4,r16
4369
   43710:       000b883a        mov     r5,zero
4370
   43714:       00463540        call    46354 <_Balloc>
4371
   43718:       01ffffc4        movi    r7,-1
4372
   4371c:       102f883a        mov     r23,r2
4373
   43720:       80801015        stw     r2,64(r16)
4374
   43724:       00800044        movi    r2,1
4375
   43728:       d9c00915        stw     r7,36(sp)
4376
   4372c:       d8002115        stw     zero,132(sp)
4377
   43730:       d9c00e15        stw     r7,56(sp)
4378
   43734:       d8800c15        stw     r2,48(sp)
4379
   43738:       d8800117        ldw     r2,4(sp)
4380
   4373c:       10008b16        blt     r2,zero,4396c <_dtoa_r+0x970>
4381
   43740:       d9000617        ldw     r4,24(sp)
4382
   43744:       00c00384        movi    r3,14
4383
   43748:       19008816        blt     r3,r4,4396c <_dtoa_r+0x970>
4384
   4374c:       200490fa        slli    r2,r4,3
4385
   43750:       d9c02117        ldw     r7,132(sp)
4386
   43754:       00c00174        movhi   r3,5
4387
   43758:       18f10504        addi    r3,r3,-15340
4388
   4375c:       1885883a        add     r2,r3,r2
4389
   43760:       14800017        ldw     r18,0(r2)
4390
   43764:       14c00117        ldw     r19,4(r2)
4391
   43768:       3801c916        blt     r7,zero,43e90 <_dtoa_r+0xe94>
4392
   4376c:       d9000317        ldw     r4,12(sp)
4393
   43770:       900d883a        mov     r6,r18
4394
   43774:       980f883a        mov     r7,r19
4395
   43778:       880b883a        mov     r5,r17
4396
   4377c:       00404680        call    40468 <__divdf3>
4397
   43780:       180b883a        mov     r5,r3
4398
   43784:       1009883a        mov     r4,r2
4399
   43788:       00495140        call    49514 <__fixdfsi>
4400
   4378c:       1009883a        mov     r4,r2
4401
   43790:       102b883a        mov     r21,r2
4402
   43794:       00494400        call    49440 <__floatsidf>
4403
   43798:       1009883a        mov     r4,r2
4404
   4379c:       180b883a        mov     r5,r3
4405
   437a0:       900d883a        mov     r6,r18
4406
   437a4:       980f883a        mov     r7,r19
4407
   437a8:       0048f800        call    48f80 <__muldf3>
4408
   437ac:       d9000317        ldw     r4,12(sp)
4409
   437b0:       880b883a        mov     r5,r17
4410
   437b4:       100d883a        mov     r6,r2
4411
   437b8:       180f883a        mov     r7,r3
4412
   437bc:       0048f200        call    48f20 <__subdf3>
4413
   437c0:       d9c00917        ldw     r7,36(sp)
4414
   437c4:       1009883a        mov     r4,r2
4415
   437c8:       a8800c04        addi    r2,r21,48
4416
   437cc:       b8800005        stb     r2,0(r23)
4417
   437d0:       01800044        movi    r6,1
4418
   437d4:       180b883a        mov     r5,r3
4419
   437d8:       2005883a        mov     r2,r4
4420
   437dc:       bd800044        addi    r22,r23,1
4421
   437e0:       39803726        beq     r7,r6,438c0 <_dtoa_r+0x8c4>
4422
   437e4:       000d883a        mov     r6,zero
4423
   437e8:       01d00934        movhi   r7,16420
4424
   437ec:       0048f800        call    48f80 <__muldf3>
4425
   437f0:       1009883a        mov     r4,r2
4426
   437f4:       180b883a        mov     r5,r3
4427
   437f8:       000d883a        mov     r6,zero
4428
   437fc:       000f883a        mov     r7,zero
4429
   43800:       1029883a        mov     r20,r2
4430
   43804:       1823883a        mov     r17,r3
4431
   43808:       00492640        call    49264 <__eqdf2>
4432
   4380c:       103f9c26        beq     r2,zero,43680 <__alt_data_end+0xfffdc580>
4433
   43810:       dd400917        ldw     r21,36(sp)
4434
   43814:       dc000415        stw     r16,16(sp)
4435
   43818:       00000906        br      43840 <_dtoa_r+0x844>
4436
   4381c:       0048f800        call    48f80 <__muldf3>
4437
   43820:       1009883a        mov     r4,r2
4438
   43824:       180b883a        mov     r5,r3
4439
   43828:       000d883a        mov     r6,zero
4440
   4382c:       000f883a        mov     r7,zero
4441
   43830:       1029883a        mov     r20,r2
4442
   43834:       1823883a        mov     r17,r3
4443
   43838:       00492640        call    49264 <__eqdf2>
4444
   4383c:       10022926        beq     r2,zero,440e4 <_dtoa_r+0x10e8>
4445
   43840:       900d883a        mov     r6,r18
4446
   43844:       980f883a        mov     r7,r19
4447
   43848:       a009883a        mov     r4,r20
4448
   4384c:       880b883a        mov     r5,r17
4449
   43850:       00404680        call    40468 <__divdf3>
4450
   43854:       180b883a        mov     r5,r3
4451
   43858:       1009883a        mov     r4,r2
4452
   4385c:       00495140        call    49514 <__fixdfsi>
4453
   43860:       1009883a        mov     r4,r2
4454
   43864:       1021883a        mov     r16,r2
4455
   43868:       00494400        call    49440 <__floatsidf>
4456
   4386c:       1009883a        mov     r4,r2
4457
   43870:       180b883a        mov     r5,r3
4458
   43874:       900d883a        mov     r6,r18
4459
   43878:       980f883a        mov     r7,r19
4460
   4387c:       0048f800        call    48f80 <__muldf3>
4461
   43880:       a009883a        mov     r4,r20
4462
   43884:       880b883a        mov     r5,r17
4463
   43888:       100d883a        mov     r6,r2
4464
   4388c:       180f883a        mov     r7,r3
4465
   43890:       0048f200        call    48f20 <__subdf3>
4466
   43894:       82400c04        addi    r9,r16,48
4467
   43898:       b2400005        stb     r9,0(r22)
4468
   4389c:       b5800044        addi    r22,r22,1
4469
   438a0:       b5d3c83a        sub     r9,r22,r23
4470
   438a4:       000d883a        mov     r6,zero
4471
   438a8:       01d00934        movhi   r7,16420
4472
   438ac:       1009883a        mov     r4,r2
4473
   438b0:       180b883a        mov     r5,r3
4474
   438b4:       aa7fd91e        bne     r21,r9,4381c <__alt_data_end+0xfffdc71c>
4475
   438b8:       802b883a        mov     r21,r16
4476
   438bc:       dc000417        ldw     r16,16(sp)
4477
   438c0:       1009883a        mov     r4,r2
4478
   438c4:       180b883a        mov     r5,r3
4479
   438c8:       100d883a        mov     r6,r2
4480
   438cc:       180f883a        mov     r7,r3
4481
   438d0:       0048ecc0        call    48ecc <__adddf3>
4482
   438d4:       9009883a        mov     r4,r18
4483
   438d8:       980b883a        mov     r5,r19
4484
   438dc:       100d883a        mov     r6,r2
4485
   438e0:       180f883a        mov     r7,r3
4486
   438e4:       1023883a        mov     r17,r2
4487
   438e8:       1829883a        mov     r20,r3
4488
   438ec:       00493e40        call    493e4 <__ltdf2>
4489
   438f0:       10000816        blt     r2,zero,43914 <_dtoa_r+0x918>
4490
   438f4:       9009883a        mov     r4,r18
4491
   438f8:       980b883a        mov     r5,r19
4492
   438fc:       880d883a        mov     r6,r17
4493
   43900:       a00f883a        mov     r7,r20
4494
   43904:       00492c00        call    492c0 <__nedf2>
4495
   43908:       103f5d1e        bne     r2,zero,43680 <__alt_data_end+0xfffdc580>
4496
   4390c:       ad40004c        andi    r21,r21,1
4497
   43910:       a83f5b26        beq     r21,zero,43680 <__alt_data_end+0xfffdc580>
4498
   43914:       b53fffc3        ldbu    r20,-1(r22)
4499
   43918:       b0ffff84        addi    r3,r22,-2
4500
   4391c:       01400e44        movi    r5,57
4501
   43920:       00000306        br      43930 <_dtoa_r+0x934>
4502
   43924:       1d000003        ldbu    r20,0(r3)
4503
   43928:       102d883a        mov     r22,r2
4504
   4392c:       18ffffc4        addi    r3,r3,-1
4505
   43930:       a1003fcc        andi    r4,r20,255
4506
   43934:       2100201c        xori    r4,r4,128
4507
   43938:       213fe004        addi    r4,r4,-128
4508
   4393c:       b0bfffc4        addi    r2,r22,-1
4509
   43940:       2142ca1e        bne     r4,r5,4446c <_dtoa_r+0x1470>
4510
   43944:       b8bff71e        bne     r23,r2,43924 <__alt_data_end+0xfffdc824>
4511
   43948:       d8800617        ldw     r2,24(sp)
4512
   4394c:       05000c44        movi    r20,49
4513
   43950:       10800044        addi    r2,r2,1
4514
   43954:       d8800615        stw     r2,24(sp)
4515
   43958:       00800c04        movi    r2,48
4516
   4395c:       b8800005        stb     r2,0(r23)
4517
   43960:       b805883a        mov     r2,r23
4518
   43964:       15000005        stb     r20,0(r2)
4519
   43968:       003f4506        br      43680 <__alt_data_end+0xfffdc580>
4520
   4396c:       d9c00c17        ldw     r7,48(sp)
4521
   43970:       3800c926        beq     r7,zero,43c98 <_dtoa_r+0xc9c>
4522
   43974:       d9c00417        ldw     r7,16(sp)
4523
   43978:       00c00044        movi    r3,1
4524
   4397c:       19c16c0e        bge     r3,r7,43f30 <_dtoa_r+0xf34>
4525
   43980:       d9000917        ldw     r4,36(sp)
4526
   43984:       d9c00a17        ldw     r7,40(sp)
4527
   43988:       24ffffc4        addi    r19,r4,-1
4528
   4398c:       3cc20716        blt     r7,r19,441ac <_dtoa_r+0x11b0>
4529
   43990:       3ce7c83a        sub     r19,r7,r19
4530
   43994:       d9c00917        ldw     r7,36(sp)
4531
   43998:       3802ae16        blt     r7,zero,44454 <_dtoa_r+0x1458>
4532
   4399c:       dc800817        ldw     r18,32(sp)
4533
   439a0:       d8800917        ldw     r2,36(sp)
4534
   439a4:       d8c00817        ldw     r3,32(sp)
4535
   439a8:       d9c00717        ldw     r7,28(sp)
4536
   439ac:       8009883a        mov     r4,r16
4537
   439b0:       1887883a        add     r3,r3,r2
4538
   439b4:       388f883a        add     r7,r7,r2
4539
   439b8:       01400044        movi    r5,1
4540
   439bc:       d8c00815        stw     r3,32(sp)
4541
   439c0:       d9c00715        stw     r7,28(sp)
4542
   439c4:       00467540        call    46754 <__i2b>
4543
   439c8:       102b883a        mov     r21,r2
4544
   439cc:       90000a26        beq     r18,zero,439f8 <_dtoa_r+0x9fc>
4545
   439d0:       d8800717        ldw     r2,28(sp)
4546
   439d4:       0080080e        bge     zero,r2,439f8 <_dtoa_r+0x9fc>
4547
   439d8:       90812b16        blt     r18,r2,43e88 <_dtoa_r+0xe8c>
4548
   439dc:       d8c00817        ldw     r3,32(sp)
4549
   439e0:       d9000717        ldw     r4,28(sp)
4550
   439e4:       90a5c83a        sub     r18,r18,r2
4551
   439e8:       1887c83a        sub     r3,r3,r2
4552
   439ec:       2089c83a        sub     r4,r4,r2
4553
   439f0:       d8c00815        stw     r3,32(sp)
4554
   439f4:       d9000715        stw     r4,28(sp)
4555
   439f8:       d9c00a17        ldw     r7,40(sp)
4556
   439fc:       01c0140e        bge     zero,r7,43a50 <_dtoa_r+0xa54>
4557
   43a00:       d8800c17        ldw     r2,48(sp)
4558
   43a04:       1001de26        beq     r2,zero,44180 <_dtoa_r+0x1184>
4559
   43a08:       04c00e0e        bge     zero,r19,43a44 <_dtoa_r+0xa48>
4560
   43a0c:       a80b883a        mov     r5,r21
4561
   43a10:       8009883a        mov     r4,r16
4562
   43a14:       980d883a        mov     r6,r19
4563
   43a18:       00469700        call    46970 <__pow5mult>
4564
   43a1c:       e00d883a        mov     r6,fp
4565
   43a20:       8009883a        mov     r4,r16
4566
   43a24:       100b883a        mov     r5,r2
4567
   43a28:       102b883a        mov     r21,r2
4568
   43a2c:       00467900        call    46790 <__multiply>
4569
   43a30:       1029883a        mov     r20,r2
4570
   43a34:       e00b883a        mov     r5,fp
4571
   43a38:       8009883a        mov     r4,r16
4572
   43a3c:       00463fc0        call    463fc <_Bfree>
4573
   43a40:       a039883a        mov     fp,r20
4574
   43a44:       d8c00a17        ldw     r3,40(sp)
4575
   43a48:       1ccdc83a        sub     r6,r3,r19
4576
   43a4c:       3001291e        bne     r6,zero,43ef4 <_dtoa_r+0xef8>
4577
   43a50:       8009883a        mov     r4,r16
4578
   43a54:       01400044        movi    r5,1
4579
   43a58:       00467540        call    46754 <__i2b>
4580
   43a5c:       d9000b17        ldw     r4,44(sp)
4581
   43a60:       1029883a        mov     r20,r2
4582
   43a64:       0100050e        bge     zero,r4,43a7c <_dtoa_r+0xa80>
4583
   43a68:       d9800b17        ldw     r6,44(sp)
4584
   43a6c:       8009883a        mov     r4,r16
4585
   43a70:       100b883a        mov     r5,r2
4586
   43a74:       00469700        call    46970 <__pow5mult>
4587
   43a78:       1029883a        mov     r20,r2
4588
   43a7c:       d9c00417        ldw     r7,16(sp)
4589
   43a80:       00800044        movi    r2,1
4590
   43a84:       11c0f00e        bge     r2,r7,43e48 <_dtoa_r+0xe4c>
4591
   43a88:       0023883a        mov     r17,zero
4592
   43a8c:       d8800b17        ldw     r2,44(sp)
4593
   43a90:       1001741e        bne     r2,zero,44064 <_dtoa_r+0x1068>
4594
   43a94:       00800044        movi    r2,1
4595
   43a98:       d8c00717        ldw     r3,28(sp)
4596
   43a9c:       10c5883a        add     r2,r2,r3
4597
   43aa0:       108007cc        andi    r2,r2,31
4598
   43aa4:       10008026        beq     r2,zero,43ca8 <_dtoa_r+0xcac>
4599
   43aa8:       01000804        movi    r4,32
4600
   43aac:       2089c83a        sub     r4,r4,r2
4601
   43ab0:       00c00104        movi    r3,4
4602
   43ab4:       1902d00e        bge     r3,r4,445f8 <_dtoa_r+0x15fc>
4603
   43ab8:       d9000817        ldw     r4,32(sp)
4604
   43abc:       d9c00717        ldw     r7,28(sp)
4605
   43ac0:       00c00704        movi    r3,28
4606
   43ac4:       1885c83a        sub     r2,r3,r2
4607
   43ac8:       2089883a        add     r4,r4,r2
4608
   43acc:       388f883a        add     r7,r7,r2
4609
   43ad0:       d9000815        stw     r4,32(sp)
4610
   43ad4:       90a5883a        add     r18,r18,r2
4611
   43ad8:       d9c00715        stw     r7,28(sp)
4612
   43adc:       d9c00817        ldw     r7,32(sp)
4613
   43ae0:       01c0050e        bge     zero,r7,43af8 <_dtoa_r+0xafc>
4614
   43ae4:       e00b883a        mov     r5,fp
4615
   43ae8:       8009883a        mov     r4,r16
4616
   43aec:       380d883a        mov     r6,r7
4617
   43af0:       0046a9c0        call    46a9c <__lshift>
4618
   43af4:       1039883a        mov     fp,r2
4619
   43af8:       d8800717        ldw     r2,28(sp)
4620
   43afc:       0080050e        bge     zero,r2,43b14 <_dtoa_r+0xb18>
4621
   43b00:       a00b883a        mov     r5,r20
4622
   43b04:       8009883a        mov     r4,r16
4623
   43b08:       100d883a        mov     r6,r2
4624
   43b0c:       0046a9c0        call    46a9c <__lshift>
4625
   43b10:       1029883a        mov     r20,r2
4626
   43b14:       d8c00d17        ldw     r3,52(sp)
4627
   43b18:       1801401e        bne     r3,zero,4401c <_dtoa_r+0x1020>
4628
   43b1c:       d8800917        ldw     r2,36(sp)
4629
   43b20:       00815a0e        bge     zero,r2,4408c <_dtoa_r+0x1090>
4630
   43b24:       d8c00c17        ldw     r3,48(sp)
4631
   43b28:       18006f1e        bne     r3,zero,43ce8 <_dtoa_r+0xcec>
4632
   43b2c:       b823883a        mov     r17,r23
4633
   43b30:       dc800917        ldw     r18,36(sp)
4634
   43b34:       00000206        br      43b40 <_dtoa_r+0xb44>
4635
   43b38:       00464240        call    46424 <__multadd>
4636
   43b3c:       1039883a        mov     fp,r2
4637
   43b40:       e009883a        mov     r4,fp
4638
   43b44:       a00b883a        mov     r5,r20
4639
   43b48:       0042df40        call    42df4 
4640
   43b4c:       10800c04        addi    r2,r2,48
4641
   43b50:       88800005        stb     r2,0(r17)
4642
   43b54:       8c400044        addi    r17,r17,1
4643
   43b58:       8dc7c83a        sub     r3,r17,r23
4644
   43b5c:       8009883a        mov     r4,r16
4645
   43b60:       e00b883a        mov     r5,fp
4646
   43b64:       01800284        movi    r6,10
4647
   43b68:       000f883a        mov     r7,zero
4648
   43b6c:       1cbff216        blt     r3,r18,43b38 <__alt_data_end+0xfffdca38>
4649
   43b70:       dd800917        ldw     r22,36(sp)
4650
   43b74:       1007883a        mov     r3,r2
4651
   43b78:       05823a0e        bge     zero,r22,44464 <_dtoa_r+0x1468>
4652
   43b7c:       bdad883a        add     r22,r23,r22
4653
   43b80:       0023883a        mov     r17,zero
4654
   43b84:       e00b883a        mov     r5,fp
4655
   43b88:       01800044        movi    r6,1
4656
   43b8c:       8009883a        mov     r4,r16
4657
   43b90:       d8c01515        stw     r3,84(sp)
4658
   43b94:       0046a9c0        call    46a9c <__lshift>
4659
   43b98:       1009883a        mov     r4,r2
4660
   43b9c:       a00b883a        mov     r5,r20
4661
   43ba0:       1039883a        mov     fp,r2
4662
   43ba4:       0046bf80        call    46bf8 <__mcmp>
4663
   43ba8:       d8c01517        ldw     r3,84(sp)
4664
   43bac:       0080d60e        bge     zero,r2,43f08 <_dtoa_r+0xf0c>
4665
   43bb0:       b13fffc3        ldbu    r4,-1(r22)
4666
   43bb4:       b0ffff84        addi    r3,r22,-2
4667
   43bb8:       01800e44        movi    r6,57
4668
   43bbc:       00000306        br      43bcc <_dtoa_r+0xbd0>
4669
   43bc0:       19000003        ldbu    r4,0(r3)
4670
   43bc4:       102d883a        mov     r22,r2
4671
   43bc8:       18ffffc4        addi    r3,r3,-1
4672
   43bcc:       21403fcc        andi    r5,r4,255
4673
   43bd0:       2940201c        xori    r5,r5,128
4674
   43bd4:       297fe004        addi    r5,r5,-128
4675
   43bd8:       b0bfffc4        addi    r2,r22,-1
4676
   43bdc:       2981a71e        bne     r5,r6,4427c <_dtoa_r+0x1280>
4677
   43be0:       b8bff71e        bne     r23,r2,43bc0 <__alt_data_end+0xfffdcac0>
4678
   43be4:       d8800617        ldw     r2,24(sp)
4679
   43be8:       10800044        addi    r2,r2,1
4680
   43bec:       d8800615        stw     r2,24(sp)
4681
   43bf0:       00800c44        movi    r2,49
4682
   43bf4:       b8800005        stb     r2,0(r23)
4683
   43bf8:       8009883a        mov     r4,r16
4684
   43bfc:       a00b883a        mov     r5,r20
4685
   43c00:       00463fc0        call    463fc <_Bfree>
4686
   43c04:       a83e9e26        beq     r21,zero,43680 <__alt_data_end+0xfffdc580>
4687
   43c08:       88000426        beq     r17,zero,43c1c <_dtoa_r+0xc20>
4688
   43c0c:       8d400326        beq     r17,r21,43c1c <_dtoa_r+0xc20>
4689
   43c10:       8009883a        mov     r4,r16
4690
   43c14:       880b883a        mov     r5,r17
4691
   43c18:       00463fc0        call    463fc <_Bfree>
4692
   43c1c:       8009883a        mov     r4,r16
4693
   43c20:       a80b883a        mov     r5,r21
4694
   43c24:       00463fc0        call    463fc <_Bfree>
4695
   43c28:       003e9506        br      43680 <__alt_data_end+0xfffdc580>
4696
   43c2c:       00c00044        movi    r3,1
4697
   43c30:       d8c00d15        stw     r3,52(sp)
4698
   43c34:       003d9f06        br      432b4 <__alt_data_end+0xfffdc1b4>
4699
   43c38:       d9000817        ldw     r4,32(sp)
4700
   43c3c:       d8800617        ldw     r2,24(sp)
4701
   43c40:       d8000b15        stw     zero,44(sp)
4702
   43c44:       2089c83a        sub     r4,r4,r2
4703
   43c48:       0087c83a        sub     r3,zero,r2
4704
   43c4c:       d9000815        stw     r4,32(sp)
4705
   43c50:       d8c00a15        stw     r3,40(sp)
4706
   43c54:       003da306        br      432e4 <__alt_data_end+0xfffdc1e4>
4707
   43c58:       0529c83a        sub     r20,zero,r20
4708
   43c5c:       dd000815        stw     r20,32(sp)
4709
   43c60:       d8000715        stw     zero,28(sp)
4710
   43c64:       003d9806        br      432c8 <__alt_data_end+0xfffdc1c8>
4711
   43c68:       d9000617        ldw     r4,24(sp)
4712
   43c6c:       00494400        call    49440 <__floatsidf>
4713
   43c70:       1009883a        mov     r4,r2
4714
   43c74:       180b883a        mov     r5,r3
4715
   43c78:       980d883a        mov     r6,r19
4716
   43c7c:       900f883a        mov     r7,r18
4717
   43c80:       00492640        call    49264 <__eqdf2>
4718
   43c84:       103d7a26        beq     r2,zero,43270 <__alt_data_end+0xfffdc170>
4719
   43c88:       d8800617        ldw     r2,24(sp)
4720
   43c8c:       10bfffc4        addi    r2,r2,-1
4721
   43c90:       d8800615        stw     r2,24(sp)
4722
   43c94:       003d7606        br      43270 <__alt_data_end+0xfffdc170>
4723
   43c98:       dcc00a17        ldw     r19,40(sp)
4724
   43c9c:       dc800817        ldw     r18,32(sp)
4725
   43ca0:       002b883a        mov     r21,zero
4726
   43ca4:       003f4906        br      439cc <__alt_data_end+0xfffdc8cc>
4727
   43ca8:       00800704        movi    r2,28
4728
   43cac:       d8c00817        ldw     r3,32(sp)
4729
   43cb0:       d9000717        ldw     r4,28(sp)
4730
   43cb4:       90a5883a        add     r18,r18,r2
4731
   43cb8:       1887883a        add     r3,r3,r2
4732
   43cbc:       2089883a        add     r4,r4,r2
4733
   43cc0:       d8c00815        stw     r3,32(sp)
4734
   43cc4:       d9000715        stw     r4,28(sp)
4735
   43cc8:       003f8406        br      43adc <__alt_data_end+0xfffdc9dc>
4736
   43ccc:       d9c00317        ldw     r7,12(sp)
4737
   43cd0:       013efb84        movi    r4,-1042
4738
   43cd4:       2509c83a        sub     r4,r4,r20
4739
   43cd8:       3908983a        sll     r4,r7,r4
4740
   43cdc:       003d3006        br      431a0 <__alt_data_end+0xfffdc0a0>
4741
   43ce0:       d8000d15        stw     zero,52(sp)
4742
   43ce4:       003d7306        br      432b4 <__alt_data_end+0xfffdc1b4>
4743
   43ce8:       0480050e        bge     zero,r18,43d00 <_dtoa_r+0xd04>
4744
   43cec:       a80b883a        mov     r5,r21
4745
   43cf0:       8009883a        mov     r4,r16
4746
   43cf4:       900d883a        mov     r6,r18
4747
   43cf8:       0046a9c0        call    46a9c <__lshift>
4748
   43cfc:       102b883a        mov     r21,r2
4749
   43d00:       8801611e        bne     r17,zero,44288 <_dtoa_r+0x128c>
4750
   43d04:       a827883a        mov     r19,r21
4751
   43d08:       d8c00317        ldw     r3,12(sp)
4752
   43d0c:       d9000917        ldw     r4,36(sp)
4753
   43d10:       b8bfffc4        addi    r2,r23,-1
4754
   43d14:       18c0004c        andi    r3,r3,1
4755
   43d18:       1105883a        add     r2,r2,r4
4756
   43d1c:       b825883a        mov     r18,r23
4757
   43d20:       d8800515        stw     r2,20(sp)
4758
   43d24:       a823883a        mov     r17,r21
4759
   43d28:       d8c00315        stw     r3,12(sp)
4760
   43d2c:       ddc00715        stw     r23,28(sp)
4761
   43d30:       e009883a        mov     r4,fp
4762
   43d34:       a00b883a        mov     r5,r20
4763
   43d38:       0042df40        call    42df4 
4764
   43d3c:       e009883a        mov     r4,fp
4765
   43d40:       880b883a        mov     r5,r17
4766
   43d44:       102d883a        mov     r22,r2
4767
   43d48:       0046bf80        call    46bf8 <__mcmp>
4768
   43d4c:       980d883a        mov     r6,r19
4769
   43d50:       8009883a        mov     r4,r16
4770
   43d54:       a00b883a        mov     r5,r20
4771
   43d58:       102b883a        mov     r21,r2
4772
   43d5c:       0046c500        call    46c50 <__mdiff>
4773
   43d60:       100d883a        mov     r6,r2
4774
   43d64:       10800317        ldw     r2,12(r2)
4775
   43d68:       b5c00c04        addi    r23,r22,48
4776
   43d6c:       10008c26        beq     r2,zero,43fa0 <_dtoa_r+0xfa4>
4777
   43d70:       8009883a        mov     r4,r16
4778
   43d74:       300b883a        mov     r5,r6
4779
   43d78:       00463fc0        call    463fc <_Bfree>
4780
   43d7c:       00800044        movi    r2,1
4781
   43d80:       a8007116        blt     r21,zero,43f48 <_dtoa_r+0xf4c>
4782
   43d84:       a800041e        bne     r21,zero,43d98 <_dtoa_r+0xd9c>
4783
   43d88:       d9c00417        ldw     r7,16(sp)
4784
   43d8c:       3800021e        bne     r7,zero,43d98 <_dtoa_r+0xd9c>
4785
   43d90:       d8c00317        ldw     r3,12(sp)
4786
   43d94:       18006c26        beq     r3,zero,43f48 <_dtoa_r+0xf4c>
4787
   43d98:       00814c16        blt     zero,r2,442cc <_dtoa_r+0x12d0>
4788
   43d9c:       d8c00517        ldw     r3,20(sp)
4789
   43da0:       95400044        addi    r21,r18,1
4790
   43da4:       95c00005        stb     r23,0(r18)
4791
   43da8:       a82d883a        mov     r22,r21
4792
   43dac:       90c14d26        beq     r18,r3,442e4 <_dtoa_r+0x12e8>
4793
   43db0:       e00b883a        mov     r5,fp
4794
   43db4:       8009883a        mov     r4,r16
4795
   43db8:       01800284        movi    r6,10
4796
   43dbc:       000f883a        mov     r7,zero
4797
   43dc0:       00464240        call    46424 <__multadd>
4798
   43dc4:       1039883a        mov     fp,r2
4799
   43dc8:       8cc08b26        beq     r17,r19,43ff8 <_dtoa_r+0xffc>
4800
   43dcc:       880b883a        mov     r5,r17
4801
   43dd0:       01800284        movi    r6,10
4802
   43dd4:       000f883a        mov     r7,zero
4803
   43dd8:       8009883a        mov     r4,r16
4804
   43ddc:       00464240        call    46424 <__multadd>
4805
   43de0:       980b883a        mov     r5,r19
4806
   43de4:       8009883a        mov     r4,r16
4807
   43de8:       01800284        movi    r6,10
4808
   43dec:       000f883a        mov     r7,zero
4809
   43df0:       1023883a        mov     r17,r2
4810
   43df4:       00464240        call    46424 <__multadd>
4811
   43df8:       1027883a        mov     r19,r2
4812
   43dfc:       a825883a        mov     r18,r21
4813
   43e00:       003fcb06        br      43d30 <__alt_data_end+0xfffdcc30>
4814
   43e04:       d9c00417        ldw     r7,16(sp)
4815
   43e08:       00800104        movi    r2,4
4816
   43e0c:       3880e426        beq     r7,r2,441a0 <_dtoa_r+0x11a4>
4817
   43e10:       00800144        movi    r2,5
4818
   43e14:       38be3c1e        bne     r7,r2,43708 <__alt_data_end+0xfffdc608>
4819
   43e18:       00c00044        movi    r3,1
4820
   43e1c:       d8c00c15        stw     r3,48(sp)
4821
   43e20:       d9c02117        ldw     r7,132(sp)
4822
   43e24:       d8800617        ldw     r2,24(sp)
4823
   43e28:       388f883a        add     r7,r7,r2
4824
   43e2c:       3c800044        addi    r18,r7,1
4825
   43e30:       d9c00e15        stw     r7,56(sp)
4826
   43e34:       dc800915        stw     r18,36(sp)
4827
   43e38:       04bd3e16        blt     zero,r18,43334 <__alt_data_end+0xfffdc234>
4828
   43e3c:       80001115        stw     zero,68(r16)
4829
   43e40:       000b883a        mov     r5,zero
4830
   43e44:       003d4606        br      43360 <__alt_data_end+0xfffdc260>
4831
   43e48:       d8c00317        ldw     r3,12(sp)
4832
   43e4c:       183f0e1e        bne     r3,zero,43a88 <__alt_data_end+0xfffdc988>
4833
   43e50:       00c00434        movhi   r3,16
4834
   43e54:       18ffffc4        addi    r3,r3,-1
4835
   43e58:       88c6703a        and     r3,r17,r3
4836
   43e5c:       183f0a1e        bne     r3,zero,43a88 <__alt_data_end+0xfffdc988>
4837
   43e60:       8c5ffc2c        andhi   r17,r17,32752
4838
   43e64:       883f0826        beq     r17,zero,43a88 <__alt_data_end+0xfffdc988>
4839
   43e68:       d9000817        ldw     r4,32(sp)
4840
   43e6c:       d9c00717        ldw     r7,28(sp)
4841
   43e70:       1023883a        mov     r17,r2
4842
   43e74:       2089883a        add     r4,r4,r2
4843
   43e78:       388f883a        add     r7,r7,r2
4844
   43e7c:       d9000815        stw     r4,32(sp)
4845
   43e80:       d9c00715        stw     r7,28(sp)
4846
   43e84:       003f0106        br      43a8c <__alt_data_end+0xfffdc98c>
4847
   43e88:       9005883a        mov     r2,r18
4848
   43e8c:       003ed306        br      439dc <__alt_data_end+0xfffdc8dc>
4849
   43e90:       d8800917        ldw     r2,36(sp)
4850
   43e94:       00be3516        blt     zero,r2,4376c <__alt_data_end+0xfffdc66c>
4851
   43e98:       1000b61e        bne     r2,zero,44174 <_dtoa_r+0x1178>
4852
   43e9c:       9009883a        mov     r4,r18
4853
   43ea0:       980b883a        mov     r5,r19
4854
   43ea4:       000d883a        mov     r6,zero
4855
   43ea8:       01d00534        movhi   r7,16404
4856
   43eac:       0048f800        call    48f80 <__muldf3>
4857
   43eb0:       d9800317        ldw     r6,12(sp)
4858
   43eb4:       1009883a        mov     r4,r2
4859
   43eb8:       180b883a        mov     r5,r3
4860
   43ebc:       880f883a        mov     r7,r17
4861
   43ec0:       00493800        call    49380 <__gedf2>
4862
   43ec4:       0029883a        mov     r20,zero
4863
   43ec8:       002b883a        mov     r21,zero
4864
   43ecc:       10007e16        blt     r2,zero,440c8 <_dtoa_r+0x10cc>
4865
   43ed0:       d8802117        ldw     r2,132(sp)
4866
   43ed4:       b82d883a        mov     r22,r23
4867
   43ed8:       0084303a        nor     r2,zero,r2
4868
   43edc:       d8800615        stw     r2,24(sp)
4869
   43ee0:       8009883a        mov     r4,r16
4870
   43ee4:       a00b883a        mov     r5,r20
4871
   43ee8:       00463fc0        call    463fc <_Bfree>
4872
   43eec:       a83f4b1e        bne     r21,zero,43c1c <__alt_data_end+0xfffdcb1c>
4873
   43ef0:       003de306        br      43680 <__alt_data_end+0xfffdc580>
4874
   43ef4:       e00b883a        mov     r5,fp
4875
   43ef8:       8009883a        mov     r4,r16
4876
   43efc:       00469700        call    46970 <__pow5mult>
4877
   43f00:       1039883a        mov     fp,r2
4878
   43f04:       003ed206        br      43a50 <__alt_data_end+0xfffdc950>
4879
   43f08:       1000021e        bne     r2,zero,43f14 <_dtoa_r+0xf18>
4880
   43f0c:       18c0004c        andi    r3,r3,1
4881
   43f10:       183f271e        bne     r3,zero,43bb0 <__alt_data_end+0xfffdcab0>
4882
   43f14:       01000c04        movi    r4,48
4883
   43f18:       00000106        br      43f20 <_dtoa_r+0xf24>
4884
   43f1c:       102d883a        mov     r22,r2
4885
   43f20:       b0bfffc4        addi    r2,r22,-1
4886
   43f24:       10c00007        ldb     r3,0(r2)
4887
   43f28:       193ffc26        beq     r3,r4,43f1c <__alt_data_end+0xfffdce1c>
4888
   43f2c:       003f3206        br      43bf8 <__alt_data_end+0xfffdcaf8>
4889
   43f30:       d8c00f17        ldw     r3,60(sp)
4890
   43f34:       18015026        beq     r3,zero,44478 <_dtoa_r+0x147c>
4891
   43f38:       10810cc4        addi    r2,r2,1075
4892
   43f3c:       dcc00a17        ldw     r19,40(sp)
4893
   43f40:       dc800817        ldw     r18,32(sp)
4894
   43f44:       003e9706        br      439a4 <__alt_data_end+0xfffdc8a4>
4895
   43f48:       b807883a        mov     r3,r23
4896
   43f4c:       182b883a        mov     r21,r3
4897
   43f50:       ddc00717        ldw     r23,28(sp)
4898
   43f54:       00800e0e        bge     zero,r2,43f90 <_dtoa_r+0xf94>
4899
   43f58:       e00b883a        mov     r5,fp
4900
   43f5c:       01800044        movi    r6,1
4901
   43f60:       8009883a        mov     r4,r16
4902
   43f64:       d8c01515        stw     r3,84(sp)
4903
   43f68:       0046a9c0        call    46a9c <__lshift>
4904
   43f6c:       1009883a        mov     r4,r2
4905
   43f70:       a00b883a        mov     r5,r20
4906
   43f74:       1039883a        mov     fp,r2
4907
   43f78:       0046bf80        call    46bf8 <__mcmp>
4908
   43f7c:       d8c01517        ldw     r3,84(sp)
4909
   43f80:       0081880e        bge     zero,r2,445a4 <_dtoa_r+0x15a8>
4910
   43f84:       00800e44        movi    r2,57
4911
   43f88:       b0c00c44        addi    r3,r22,49
4912
   43f8c:       a8816326        beq     r21,r2,4451c <_dtoa_r+0x1520>
4913
   43f90:       90c00005        stb     r3,0(r18)
4914
   43f94:       95800044        addi    r22,r18,1
4915
   43f98:       982b883a        mov     r21,r19
4916
   43f9c:       003f1606        br      43bf8 <__alt_data_end+0xfffdcaf8>
4917
   43fa0:       300b883a        mov     r5,r6
4918
   43fa4:       e009883a        mov     r4,fp
4919
   43fa8:       d9801515        stw     r6,84(sp)
4920
   43fac:       0046bf80        call    46bf8 <__mcmp>
4921
   43fb0:       d9801517        ldw     r6,84(sp)
4922
   43fb4:       8009883a        mov     r4,r16
4923
   43fb8:       d8801515        stw     r2,84(sp)
4924
   43fbc:       300b883a        mov     r5,r6
4925
   43fc0:       00463fc0        call    463fc <_Bfree>
4926
   43fc4:       d8801517        ldw     r2,84(sp)
4927
   43fc8:       103f6d1e        bne     r2,zero,43d80 <__alt_data_end+0xfffdcc80>
4928
   43fcc:       d9c00417        ldw     r7,16(sp)
4929
   43fd0:       383f6b1e        bne     r7,zero,43d80 <__alt_data_end+0xfffdcc80>
4930
   43fd4:       d8c00317        ldw     r3,12(sp)
4931
   43fd8:       183f691e        bne     r3,zero,43d80 <__alt_data_end+0xfffdcc80>
4932
   43fdc:       b807883a        mov     r3,r23
4933
   43fe0:       00800e44        movi    r2,57
4934
   43fe4:       ddc00717        ldw     r23,28(sp)
4935
   43fe8:       18814c26        beq     r3,r2,4451c <_dtoa_r+0x1520>
4936
   43fec:       057fe80e        bge     zero,r21,43f90 <__alt_data_end+0xfffdce90>
4937
   43ff0:       b0c00c44        addi    r3,r22,49
4938
   43ff4:       003fe606        br      43f90 <__alt_data_end+0xfffdce90>
4939
   43ff8:       880b883a        mov     r5,r17
4940
   43ffc:       8009883a        mov     r4,r16
4941
   44000:       01800284        movi    r6,10
4942
   44004:       000f883a        mov     r7,zero
4943
   44008:       00464240        call    46424 <__multadd>
4944
   4400c:       1023883a        mov     r17,r2
4945
   44010:       1027883a        mov     r19,r2
4946
   44014:       a825883a        mov     r18,r21
4947
   44018:       003f4506        br      43d30 <__alt_data_end+0xfffdcc30>
4948
   4401c:       e009883a        mov     r4,fp
4949
   44020:       a00b883a        mov     r5,r20
4950
   44024:       0046bf80        call    46bf8 <__mcmp>
4951
   44028:       103ebc0e        bge     r2,zero,43b1c <__alt_data_end+0xfffdca1c>
4952
   4402c:       e00b883a        mov     r5,fp
4953
   44030:       8009883a        mov     r4,r16
4954
   44034:       01800284        movi    r6,10
4955
   44038:       000f883a        mov     r7,zero
4956
   4403c:       00464240        call    46424 <__multadd>
4957
   44040:       1039883a        mov     fp,r2
4958
   44044:       d8800617        ldw     r2,24(sp)
4959
   44048:       d8c00c17        ldw     r3,48(sp)
4960
   4404c:       10bfffc4        addi    r2,r2,-1
4961
   44050:       d8800615        stw     r2,24(sp)
4962
   44054:       1801571e        bne     r3,zero,445b4 <_dtoa_r+0x15b8>
4963
   44058:       d9c00e17        ldw     r7,56(sp)
4964
   4405c:       d9c00915        stw     r7,36(sp)
4965
   44060:       003eae06        br      43b1c <__alt_data_end+0xfffdca1c>
4966
   44064:       a0800417        ldw     r2,16(r20)
4967
   44068:       10800104        addi    r2,r2,4
4968
   4406c:       1085883a        add     r2,r2,r2
4969
   44070:       1085883a        add     r2,r2,r2
4970
   44074:       a085883a        add     r2,r20,r2
4971
   44078:       11000017        ldw     r4,0(r2)
4972
   4407c:       004663c0        call    4663c <__hi0bits>
4973
   44080:       00c00804        movi    r3,32
4974
   44084:       1885c83a        sub     r2,r3,r2
4975
   44088:       003e8306        br      43a98 <__alt_data_end+0xfffdc998>
4976
   4408c:       d9c00417        ldw     r7,16(sp)
4977
   44090:       00800084        movi    r2,2
4978
   44094:       11fea30e        bge     r2,r7,43b24 <__alt_data_end+0xfffdca24>
4979
   44098:       d8800917        ldw     r2,36(sp)
4980
   4409c:       103f8c1e        bne     r2,zero,43ed0 <__alt_data_end+0xfffdcdd0>
4981
   440a0:       a00b883a        mov     r5,r20
4982
   440a4:       8009883a        mov     r4,r16
4983
   440a8:       01800144        movi    r6,5
4984
   440ac:       000f883a        mov     r7,zero
4985
   440b0:       00464240        call    46424 <__multadd>
4986
   440b4:       e009883a        mov     r4,fp
4987
   440b8:       100b883a        mov     r5,r2
4988
   440bc:       1029883a        mov     r20,r2
4989
   440c0:       0046bf80        call    46bf8 <__mcmp>
4990
   440c4:       00bf820e        bge     zero,r2,43ed0 <__alt_data_end+0xfffdcdd0>
4991
   440c8:       00800c44        movi    r2,49
4992
   440cc:       b8800005        stb     r2,0(r23)
4993
   440d0:       d8800617        ldw     r2,24(sp)
4994
   440d4:       bd800044        addi    r22,r23,1
4995
   440d8:       10800044        addi    r2,r2,1
4996
   440dc:       d8800615        stw     r2,24(sp)
4997
   440e0:       003f7f06        br      43ee0 <__alt_data_end+0xfffdcde0>
4998
   440e4:       dc000417        ldw     r16,16(sp)
4999
   440e8:       003d6506        br      43680 <__alt_data_end+0xfffdc580>
5000
   440ec:       9009883a        mov     r4,r18
5001
   440f0:       00494400        call    49440 <__floatsidf>
5002
   440f4:       1009883a        mov     r4,r2
5003
   440f8:       180b883a        mov     r5,r3
5004
   440fc:       980d883a        mov     r6,r19
5005
   44100:       a00f883a        mov     r7,r20
5006
   44104:       0048f800        call    48f80 <__muldf3>
5007
   44108:       1009883a        mov     r4,r2
5008
   4410c:       180b883a        mov     r5,r3
5009
   44110:       000d883a        mov     r6,zero
5010
   44114:       01d00734        movhi   r7,16412
5011
   44118:       0048ecc0        call    48ecc <__adddf3>
5012
   4411c:       057f3034        movhi   r21,64704
5013
   44120:       1025883a        mov     r18,r2
5014
   44124:       1d6b883a        add     r21,r3,r21
5015
   44128:       9809883a        mov     r4,r19
5016
   4412c:       a00b883a        mov     r5,r20
5017
   44130:       000d883a        mov     r6,zero
5018
   44134:       01d00534        movhi   r7,16404
5019
   44138:       0048f200        call    48f20 <__subdf3>
5020
   4413c:       1009883a        mov     r4,r2
5021
   44140:       180b883a        mov     r5,r3
5022
   44144:       900d883a        mov     r6,r18
5023
   44148:       a80f883a        mov     r7,r21
5024
   4414c:       1027883a        mov     r19,r2
5025
   44150:       1829883a        mov     r20,r3
5026
   44154:       004931c0        call    4931c <__gtdf2>
5027
   44158:       00806616        blt     zero,r2,442f4 <_dtoa_r+0x12f8>
5028
   4415c:       a9e0003c        xorhi   r7,r21,32768
5029
   44160:       9809883a        mov     r4,r19
5030
   44164:       a00b883a        mov     r5,r20
5031
   44168:       900d883a        mov     r6,r18
5032
   4416c:       00493e40        call    493e4 <__ltdf2>
5033
   44170:       103d710e        bge     r2,zero,43738 <__alt_data_end+0xfffdc638>
5034
   44174:       0029883a        mov     r20,zero
5035
   44178:       002b883a        mov     r21,zero
5036
   4417c:       003f5406        br      43ed0 <__alt_data_end+0xfffdcdd0>
5037
   44180:       d9800a17        ldw     r6,40(sp)
5038
   44184:       e00b883a        mov     r5,fp
5039
   44188:       8009883a        mov     r4,r16
5040
   4418c:       00469700        call    46970 <__pow5mult>
5041
   44190:       1039883a        mov     fp,r2
5042
   44194:       003e2e06        br      43a50 <__alt_data_end+0xfffdc950>
5043
   44198:       d8000c15        stw     zero,48(sp)
5044
   4419c:       003f2006        br      43e20 <__alt_data_end+0xfffdcd20>
5045
   441a0:       00800044        movi    r2,1
5046
   441a4:       d8800c15        stw     r2,48(sp)
5047
   441a8:       003c5d06        br      43320 <__alt_data_end+0xfffdc220>
5048
   441ac:       d8c00a17        ldw     r3,40(sp)
5049
   441b0:       d9000b17        ldw     r4,44(sp)
5050
   441b4:       dcc00a15        stw     r19,40(sp)
5051
   441b8:       98c5c83a        sub     r2,r19,r3
5052
   441bc:       2089883a        add     r4,r4,r2
5053
   441c0:       d9000b15        stw     r4,44(sp)
5054
   441c4:       0027883a        mov     r19,zero
5055
   441c8:       003df206        br      43994 <__alt_data_end+0xfffdc894>
5056
   441cc:       d9000317        ldw     r4,12(sp)
5057
   441d0:       8829883a        mov     r20,r17
5058
   441d4:       04800084        movi    r18,2
5059
   441d8:       d9001015        stw     r4,64(sp)
5060
   441dc:       003c8106        br      433e4 <__alt_data_end+0xfffdc2e4>
5061
   441e0:       04800044        movi    r18,1
5062
   441e4:       dc800e15        stw     r18,56(sp)
5063
   441e8:       dc800915        stw     r18,36(sp)
5064
   441ec:       dc802115        stw     r18,132(sp)
5065
   441f0:       003f1206        br      43e3c <__alt_data_end+0xfffdcd3c>
5066
   441f4:       d8800617        ldw     r2,24(sp)
5067
   441f8:       00abc83a        sub     r21,zero,r2
5068
   441fc:       a800a426        beq     r21,zero,44490 <_dtoa_r+0x1494>
5069
   44200:       a88003cc        andi    r2,r21,15
5070
   44204:       100490fa        slli    r2,r2,3
5071
   44208:       00c00174        movhi   r3,5
5072
   4420c:       18f10504        addi    r3,r3,-15340
5073
   44210:       d9000317        ldw     r4,12(sp)
5074
   44214:       1885883a        add     r2,r3,r2
5075
   44218:       11800017        ldw     r6,0(r2)
5076
   4421c:       11c00117        ldw     r7,4(r2)
5077
   44220:       a82bd13a        srai    r21,r21,4
5078
   44224:       880b883a        mov     r5,r17
5079
   44228:       0048f800        call    48f80 <__muldf3>
5080
   4422c:       1027883a        mov     r19,r2
5081
   44230:       1829883a        mov     r20,r3
5082
   44234:       a800e826        beq     r21,zero,445d8 <_dtoa_r+0x15dc>
5083
   44238:       05800174        movhi   r22,5
5084
   4423c:       b5b0fb04        addi    r22,r22,-15380
5085
   44240:       04800084        movi    r18,2
5086
   44244:       a980004c        andi    r6,r21,1
5087
   44248:       1009883a        mov     r4,r2
5088
   4424c:       a82bd07a        srai    r21,r21,1
5089
   44250:       180b883a        mov     r5,r3
5090
   44254:       30000426        beq     r6,zero,44268 <_dtoa_r+0x126c>
5091
   44258:       b1800017        ldw     r6,0(r22)
5092
   4425c:       b1c00117        ldw     r7,4(r22)
5093
   44260:       94800044        addi    r18,r18,1
5094
   44264:       0048f800        call    48f80 <__muldf3>
5095
   44268:       b5800204        addi    r22,r22,8
5096
   4426c:       a83ff51e        bne     r21,zero,44244 <__alt_data_end+0xfffdd144>
5097
   44270:       1027883a        mov     r19,r2
5098
   44274:       1829883a        mov     r20,r3
5099
   44278:       003c7306        br      43448 <__alt_data_end+0xfffdc348>
5100
   4427c:       21000044        addi    r4,r4,1
5101
   44280:       11000005        stb     r4,0(r2)
5102
   44284:       003e5c06        br      43bf8 <__alt_data_end+0xfffdcaf8>
5103
   44288:       a9400117        ldw     r5,4(r21)
5104
   4428c:       8009883a        mov     r4,r16
5105
   44290:       00463540        call    46354 <_Balloc>
5106
   44294:       a9800417        ldw     r6,16(r21)
5107
   44298:       11000304        addi    r4,r2,12
5108
   4429c:       a9400304        addi    r5,r21,12
5109
   442a0:       31800084        addi    r6,r6,2
5110
   442a4:       318d883a        add     r6,r6,r6
5111
   442a8:       318d883a        add     r6,r6,r6
5112
   442ac:       1023883a        mov     r17,r2
5113
   442b0:       00460580        call    46058 
5114
   442b4:       8009883a        mov     r4,r16
5115
   442b8:       880b883a        mov     r5,r17
5116
   442bc:       01800044        movi    r6,1
5117
   442c0:       0046a9c0        call    46a9c <__lshift>
5118
   442c4:       1027883a        mov     r19,r2
5119
   442c8:       003e8f06        br      43d08 <__alt_data_end+0xfffdcc08>
5120
   442cc:       b807883a        mov     r3,r23
5121
   442d0:       00800e44        movi    r2,57
5122
   442d4:       ddc00717        ldw     r23,28(sp)
5123
   442d8:       18809026        beq     r3,r2,4451c <_dtoa_r+0x1520>
5124
   442dc:       18c00044        addi    r3,r3,1
5125
   442e0:       003f2b06        br      43f90 <__alt_data_end+0xfffdce90>
5126
   442e4:       b807883a        mov     r3,r23
5127
   442e8:       982b883a        mov     r21,r19
5128
   442ec:       ddc00717        ldw     r23,28(sp)
5129
   442f0:       003e2406        br      43b84 <__alt_data_end+0xfffdca84>
5130
   442f4:       0029883a        mov     r20,zero
5131
   442f8:       002b883a        mov     r21,zero
5132
   442fc:       003f7206        br      440c8 <__alt_data_end+0xfffdcfc8>
5133
   44300:       593fffc4        addi    r4,r11,-1
5134
   44304:       200490fa        slli    r2,r4,3
5135
   44308:       00c00174        movhi   r3,5
5136
   4430c:       18f10504        addi    r3,r3,-15340
5137
   44310:       d9001015        stw     r4,64(sp)
5138
   44314:       1885883a        add     r2,r3,r2
5139
   44318:       11000017        ldw     r4,0(r2)
5140
   4431c:       11400117        ldw     r5,4(r2)
5141
   44320:       900d883a        mov     r6,r18
5142
   44324:       a80f883a        mov     r7,r21
5143
   44328:       dac01615        stw     r11,88(sp)
5144
   4432c:       0048f800        call    48f80 <__muldf3>
5145
   44330:       a00b883a        mov     r5,r20
5146
   44334:       9809883a        mov     r4,r19
5147
   44338:       d8c01215        stw     r3,72(sp)
5148
   4433c:       d8801115        stw     r2,68(sp)
5149
   44340:       00495140        call    49514 <__fixdfsi>
5150
   44344:       1009883a        mov     r4,r2
5151
   44348:       1025883a        mov     r18,r2
5152
   4434c:       00494400        call    49440 <__floatsidf>
5153
   44350:       9809883a        mov     r4,r19
5154
   44354:       a00b883a        mov     r5,r20
5155
   44358:       100d883a        mov     r6,r2
5156
   4435c:       180f883a        mov     r7,r3
5157
   44360:       94800c04        addi    r18,r18,48
5158
   44364:       0048f200        call    48f20 <__subdf3>
5159
   44368:       bc800005        stb     r18,0(r23)
5160
   4436c:       dac01617        ldw     r11,88(sp)
5161
   44370:       102b883a        mov     r21,r2
5162
   44374:       00800044        movi    r2,1
5163
   44378:       bd800044        addi    r22,r23,1
5164
   4437c:       1815883a        mov     r10,r3
5165
   44380:       58802226        beq     r11,r2,4440c <_dtoa_r+0x1410>
5166
   44384:       bad7883a        add     r11,r23,r11
5167
   44388:       dc001415        stw     r16,80(sp)
5168
   4438c:       a805883a        mov     r2,r21
5169
   44390:       b027883a        mov     r19,r22
5170
   44394:       5821883a        mov     r16,r11
5171
   44398:       882b883a        mov     r21,r17
5172
   4439c:       000d883a        mov     r6,zero
5173
   443a0:       01d00934        movhi   r7,16420
5174
   443a4:       1009883a        mov     r4,r2
5175
   443a8:       180b883a        mov     r5,r3
5176
   443ac:       0048f800        call    48f80 <__muldf3>
5177
   443b0:       180b883a        mov     r5,r3
5178
   443b4:       1009883a        mov     r4,r2
5179
   443b8:       1829883a        mov     r20,r3
5180
   443bc:       1023883a        mov     r17,r2
5181
   443c0:       00495140        call    49514 <__fixdfsi>
5182
   443c4:       1009883a        mov     r4,r2
5183
   443c8:       1025883a        mov     r18,r2
5184
   443cc:       00494400        call    49440 <__floatsidf>
5185
   443d0:       8809883a        mov     r4,r17
5186
   443d4:       a00b883a        mov     r5,r20
5187
   443d8:       100d883a        mov     r6,r2
5188
   443dc:       180f883a        mov     r7,r3
5189
   443e0:       94800c04        addi    r18,r18,48
5190
   443e4:       0048f200        call    48f20 <__subdf3>
5191
   443e8:       9cc00044        addi    r19,r19,1
5192
   443ec:       9cbfffc5        stb     r18,-1(r19)
5193
   443f0:       9c3fea1e        bne     r19,r16,4439c <__alt_data_end+0xfffdd29c>
5194
   443f4:       1815883a        mov     r10,r3
5195
   443f8:       d8c01017        ldw     r3,64(sp)
5196
   443fc:       dc001417        ldw     r16,80(sp)
5197
   44400:       a823883a        mov     r17,r21
5198
   44404:       b0ed883a        add     r22,r22,r3
5199
   44408:       102b883a        mov     r21,r2
5200
   4440c:       d9001117        ldw     r4,68(sp)
5201
   44410:       d9401217        ldw     r5,72(sp)
5202
   44414:       000d883a        mov     r6,zero
5203
   44418:       01cff834        movhi   r7,16352
5204
   4441c:       da801515        stw     r10,84(sp)
5205
   44420:       0048ecc0        call    48ecc <__adddf3>
5206
   44424:       da801517        ldw     r10,84(sp)
5207
   44428:       1009883a        mov     r4,r2
5208
   4442c:       180b883a        mov     r5,r3
5209
   44430:       500f883a        mov     r7,r10
5210
   44434:       a80d883a        mov     r6,r21
5211
   44438:       00493e40        call    493e4 <__ltdf2>
5212
   4443c:       da801517        ldw     r10,84(sp)
5213
   44440:       10003b0e        bge     r2,zero,44530 <_dtoa_r+0x1534>
5214
   44444:       d9c01317        ldw     r7,76(sp)
5215
   44448:       b53fffc3        ldbu    r20,-1(r22)
5216
   4444c:       d9c00615        stw     r7,24(sp)
5217
   44450:       003d3106        br      43918 <__alt_data_end+0xfffdc818>
5218
   44454:       d8800817        ldw     r2,32(sp)
5219
   44458:       11e5c83a        sub     r18,r2,r7
5220
   4445c:       0005883a        mov     r2,zero
5221
   44460:       003d5006        br      439a4 <__alt_data_end+0xfffdc8a4>
5222
   44464:       05800044        movi    r22,1
5223
   44468:       003dc406        br      43b7c <__alt_data_end+0xfffdca7c>
5224
   4446c:       a5000044        addi    r20,r20,1
5225
   44470:       15000005        stb     r20,0(r2)
5226
   44474:       003c8206        br      43680 <__alt_data_end+0xfffdc580>
5227
   44478:       d8800217        ldw     r2,8(sp)
5228
   4447c:       00c00d84        movi    r3,54
5229
   44480:       dcc00a17        ldw     r19,40(sp)
5230
   44484:       1885c83a        sub     r2,r3,r2
5231
   44488:       dc800817        ldw     r18,32(sp)
5232
   4448c:       003d4506        br      439a4 <__alt_data_end+0xfffdc8a4>
5233
   44490:       dcc00317        ldw     r19,12(sp)
5234
   44494:       8829883a        mov     r20,r17
5235
   44498:       04800084        movi    r18,2
5236
   4449c:       003bea06        br      43448 <__alt_data_end+0xfffdc348>
5237
   444a0:       d9000917        ldw     r4,36(sp)
5238
   444a4:       203f1126        beq     r4,zero,440ec <__alt_data_end+0xfffdcfec>
5239
   444a8:       d9c00e17        ldw     r7,56(sp)
5240
   444ac:       01fca20e        bge     zero,r7,43738 <__alt_data_end+0xfffdc638>
5241
   444b0:       a00b883a        mov     r5,r20
5242
   444b4:       9809883a        mov     r4,r19
5243
   444b8:       000d883a        mov     r6,zero
5244
   444bc:       01d00934        movhi   r7,16420
5245
   444c0:       0048f800        call    48f80 <__muldf3>
5246
   444c4:       91000044        addi    r4,r18,1
5247
   444c8:       1027883a        mov     r19,r2
5248
   444cc:       1829883a        mov     r20,r3
5249
   444d0:       00494400        call    49440 <__floatsidf>
5250
   444d4:       9809883a        mov     r4,r19
5251
   444d8:       a00b883a        mov     r5,r20
5252
   444dc:       100d883a        mov     r6,r2
5253
   444e0:       180f883a        mov     r7,r3
5254
   444e4:       0048f800        call    48f80 <__muldf3>
5255
   444e8:       1009883a        mov     r4,r2
5256
   444ec:       180b883a        mov     r5,r3
5257
   444f0:       000d883a        mov     r6,zero
5258
   444f4:       01d00734        movhi   r7,16412
5259
   444f8:       0048ecc0        call    48ecc <__adddf3>
5260
   444fc:       1025883a        mov     r18,r2
5261
   44500:       d8800617        ldw     r2,24(sp)
5262
   44504:       057f3034        movhi   r21,64704
5263
   44508:       1d6b883a        add     r21,r3,r21
5264
   4450c:       10bfffc4        addi    r2,r2,-1
5265
   44510:       d8801315        stw     r2,76(sp)
5266
   44514:       dac00e17        ldw     r11,56(sp)
5267
   44518:       003be706        br      434b8 <__alt_data_end+0xfffdc3b8>
5268
   4451c:       01000e44        movi    r4,57
5269
   44520:       91000005        stb     r4,0(r18)
5270
   44524:       95800044        addi    r22,r18,1
5271
   44528:       982b883a        mov     r21,r19
5272
   4452c:       003da106        br      43bb4 <__alt_data_end+0xfffdcab4>
5273
   44530:       d9801117        ldw     r6,68(sp)
5274
   44534:       d9c01217        ldw     r7,72(sp)
5275
   44538:       0009883a        mov     r4,zero
5276
   4453c:       014ff834        movhi   r5,16352
5277
   44540:       da801515        stw     r10,84(sp)
5278
   44544:       0048f200        call    48f20 <__subdf3>
5279
   44548:       da801517        ldw     r10,84(sp)
5280
   4454c:       1009883a        mov     r4,r2
5281
   44550:       180b883a        mov     r5,r3
5282
   44554:       a80d883a        mov     r6,r21
5283
   44558:       500f883a        mov     r7,r10
5284
   4455c:       004931c0        call    4931c <__gtdf2>
5285
   44560:       00bc750e        bge     zero,r2,43738 <__alt_data_end+0xfffdc638>
5286
   44564:       01000c04        movi    r4,48
5287
   44568:       00000106        br      44570 <_dtoa_r+0x1574>
5288
   4456c:       102d883a        mov     r22,r2
5289
   44570:       b0bfffc4        addi    r2,r22,-1
5290
   44574:       10c00007        ldb     r3,0(r2)
5291
   44578:       193ffc26        beq     r3,r4,4456c <__alt_data_end+0xfffdd46c>
5292
   4457c:       d8801317        ldw     r2,76(sp)
5293
   44580:       d8800615        stw     r2,24(sp)
5294
   44584:       003c3e06        br      43680 <__alt_data_end+0xfffdc580>
5295
   44588:       d9001317        ldw     r4,76(sp)
5296
   4458c:       df001117        ldw     fp,68(sp)
5297
   44590:       d9000615        stw     r4,24(sp)
5298
   44594:       003ce006        br      43918 <__alt_data_end+0xfffdc818>
5299
   44598:       df001117        ldw     fp,68(sp)
5300
   4459c:       dc401217        ldw     r17,72(sp)
5301
   445a0:       003c6506        br      43738 <__alt_data_end+0xfffdc638>
5302
   445a4:       103e7a1e        bne     r2,zero,43f90 <__alt_data_end+0xfffdce90>
5303
   445a8:       1880004c        andi    r2,r3,1
5304
   445ac:       103e7826        beq     r2,zero,43f90 <__alt_data_end+0xfffdce90>
5305
   445b0:       003e7406        br      43f84 <__alt_data_end+0xfffdce84>
5306
   445b4:       8009883a        mov     r4,r16
5307
   445b8:       a80b883a        mov     r5,r21
5308
   445bc:       01800284        movi    r6,10
5309
   445c0:       000f883a        mov     r7,zero
5310
   445c4:       00464240        call    46424 <__multadd>
5311
   445c8:       d9000e17        ldw     r4,56(sp)
5312
   445cc:       102b883a        mov     r21,r2
5313
   445d0:       d9000915        stw     r4,36(sp)
5314
   445d4:       003d5106        br      43b1c <__alt_data_end+0xfffdca1c>
5315
   445d8:       04800084        movi    r18,2
5316
   445dc:       003b9a06        br      43448 <__alt_data_end+0xfffdc348>
5317
   445e0:       d8c01317        ldw     r3,76(sp)
5318
   445e4:       d8c00615        stw     r3,24(sp)
5319
   445e8:       003ccb06        br      43918 <__alt_data_end+0xfffdc818>
5320
   445ec:       d8c01317        ldw     r3,76(sp)
5321
   445f0:       d8c00615        stw     r3,24(sp)
5322
   445f4:       003c2206        br      43680 <__alt_data_end+0xfffdc580>
5323
   445f8:       20fd3826        beq     r4,r3,43adc <__alt_data_end+0xfffdc9dc>
5324
   445fc:       00c00f04        movi    r3,60
5325
   44600:       1885c83a        sub     r2,r3,r2
5326
   44604:       003da906        br      43cac <__alt_data_end+0xfffdcbac>
5327
   44608:       000b883a        mov     r5,zero
5328
   4460c:       003b5406        br      43360 <__alt_data_end+0xfffdc260>
5329
   44610:       04c00044        movi    r19,1
5330
   44614:       003b3b06        br      43304 <__alt_data_end+0xfffdc204>
5331
 
5332
00044618 <_fflush_r>:
5333
   44618:       defffb04        addi    sp,sp,-20
5334
   4461c:       dcc00315        stw     r19,12(sp)
5335
   44620:       dc400115        stw     r17,4(sp)
5336
   44624:       dfc00415        stw     ra,16(sp)
5337
   44628:       dc800215        stw     r18,8(sp)
5338
   4462c:       dc000015        stw     r16,0(sp)
5339
   44630:       2027883a        mov     r19,r4
5340
   44634:       2823883a        mov     r17,r5
5341
   44638:       20000226        beq     r4,zero,44644 <_fflush_r+0x2c>
5342
   4463c:       20800e17        ldw     r2,56(r4)
5343
   44640:       10005726        beq     r2,zero,447a0 <_fflush_r+0x188>
5344
   44644:       8880030b        ldhu    r2,12(r17)
5345
   44648:       10c0020c        andi    r3,r2,8
5346
   4464c:       18ffffcc        andi    r3,r3,65535
5347
   44650:       18e0001c        xori    r3,r3,32768
5348
   44654:       18e00004        addi    r3,r3,-32768
5349
   44658:       1800311e        bne     r3,zero,44720 <_fflush_r+0x108>
5350
   4465c:       89000117        ldw     r4,4(r17)
5351
   44660:       10c20014        ori     r3,r2,2048
5352
   44664:       88c0030d        sth     r3,12(r17)
5353
   44668:       180b883a        mov     r5,r3
5354
   4466c:       0100520e        bge     zero,r4,447b8 <_fflush_r+0x1a0>
5355
   44670:       88c00a17        ldw     r3,40(r17)
5356
   44674:       18002226        beq     r3,zero,44700 <_fflush_r+0xe8>
5357
   44678:       1084000c        andi    r2,r2,4096
5358
   4467c:       10bfffcc        andi    r2,r2,65535
5359
   44680:       10a0001c        xori    r2,r2,32768
5360
   44684:       10a00004        addi    r2,r2,-32768
5361
   44688:       10004e26        beq     r2,zero,447c4 <_fflush_r+0x1ac>
5362
   4468c:       8c001417        ldw     r16,80(r17)
5363
   44690:       2940010c        andi    r5,r5,4
5364
   44694:       297fffcc        andi    r5,r5,65535
5365
   44698:       2960001c        xori    r5,r5,32768
5366
   4469c:       29600004        addi    r5,r5,-32768
5367
   446a0:       28000626        beq     r5,zero,446bc <_fflush_r+0xa4>
5368
   446a4:       89000117        ldw     r4,4(r17)
5369
   446a8:       88800c17        ldw     r2,48(r17)
5370
   446ac:       8121c83a        sub     r16,r16,r4
5371
   446b0:       10000226        beq     r2,zero,446bc <_fflush_r+0xa4>
5372
   446b4:       88800f17        ldw     r2,60(r17)
5373
   446b8:       80a1c83a        sub     r16,r16,r2
5374
   446bc:       89400717        ldw     r5,28(r17)
5375
   446c0:       9809883a        mov     r4,r19
5376
   446c4:       800d883a        mov     r6,r16
5377
   446c8:       000f883a        mov     r7,zero
5378
   446cc:       183ee83a        callr   r3
5379
   446d0:       8080281e        bne     r16,r2,44774 <_fflush_r+0x15c>
5380
   446d4:       8880030b        ldhu    r2,12(r17)
5381
   446d8:       88c00417        ldw     r3,16(r17)
5382
   446dc:       88000115        stw     zero,4(r17)
5383
   446e0:       113dffcc        andi    r4,r2,63487
5384
   446e4:       1084000c        andi    r2,r2,4096
5385
   446e8:       10bfffcc        andi    r2,r2,65535
5386
   446ec:       10a0001c        xori    r2,r2,32768
5387
   446f0:       8900030d        sth     r4,12(r17)
5388
   446f4:       88c00015        stw     r3,0(r17)
5389
   446f8:       10a00004        addi    r2,r2,-32768
5390
   446fc:       10002c1e        bne     r2,zero,447b0 <_fflush_r+0x198>
5391
   44700:       0005883a        mov     r2,zero
5392
   44704:       dfc00417        ldw     ra,16(sp)
5393
   44708:       dcc00317        ldw     r19,12(sp)
5394
   4470c:       dc800217        ldw     r18,8(sp)
5395
   44710:       dc400117        ldw     r17,4(sp)
5396
   44714:       dc000017        ldw     r16,0(sp)
5397
   44718:       dec00504        addi    sp,sp,20
5398
   4471c:       f800283a        ret
5399
   44720:       8c800417        ldw     r18,16(r17)
5400
   44724:       903ff626        beq     r18,zero,44700 <__alt_data_end+0xfffdd600>
5401
   44728:       8c000017        ldw     r16,0(r17)
5402
   4472c:       108000cc        andi    r2,r2,3
5403
   44730:       8c800015        stw     r18,0(r17)
5404
   44734:       84a1c83a        sub     r16,r16,r18
5405
   44738:       10001b1e        bne     r2,zero,447a8 <_fflush_r+0x190>
5406
   4473c:       88800517        ldw     r2,20(r17)
5407
   44740:       88800215        stw     r2,8(r17)
5408
   44744:       04000316        blt     zero,r16,44754 <_fflush_r+0x13c>
5409
   44748:       003fed06        br      44700 <__alt_data_end+0xfffdd600>
5410
   4474c:       90a5883a        add     r18,r18,r2
5411
   44750:       043feb0e        bge     zero,r16,44700 <__alt_data_end+0xfffdd600>
5412
   44754:       88800917        ldw     r2,36(r17)
5413
   44758:       89400717        ldw     r5,28(r17)
5414
   4475c:       800f883a        mov     r7,r16
5415
   44760:       900d883a        mov     r6,r18
5416
   44764:       9809883a        mov     r4,r19
5417
   44768:       103ee83a        callr   r2
5418
   4476c:       80a1c83a        sub     r16,r16,r2
5419
   44770:       00bff616        blt     zero,r2,4474c <__alt_data_end+0xfffdd64c>
5420
   44774:       88c0030b        ldhu    r3,12(r17)
5421
   44778:       00bfffc4        movi    r2,-1
5422
   4477c:       18c01014        ori     r3,r3,64
5423
   44780:       88c0030d        sth     r3,12(r17)
5424
   44784:       dfc00417        ldw     ra,16(sp)
5425
   44788:       dcc00317        ldw     r19,12(sp)
5426
   4478c:       dc800217        ldw     r18,8(sp)
5427
   44790:       dc400117        ldw     r17,4(sp)
5428
   44794:       dc000017        ldw     r16,0(sp)
5429
   44798:       dec00504        addi    sp,sp,20
5430
   4479c:       f800283a        ret
5431
   447a0:       00448c00        call    448c0 <__sinit>
5432
   447a4:       003fa706        br      44644 <__alt_data_end+0xfffdd544>
5433
   447a8:       0005883a        mov     r2,zero
5434
   447ac:       003fe406        br      44740 <__alt_data_end+0xfffdd640>
5435
   447b0:       8c001415        stw     r16,80(r17)
5436
   447b4:       003fd206        br      44700 <__alt_data_end+0xfffdd600>
5437
   447b8:       88c00f17        ldw     r3,60(r17)
5438
   447bc:       00ffac16        blt     zero,r3,44670 <__alt_data_end+0xfffdd570>
5439
   447c0:       003fcf06        br      44700 <__alt_data_end+0xfffdd600>
5440
   447c4:       89400717        ldw     r5,28(r17)
5441
   447c8:       9809883a        mov     r4,r19
5442
   447cc:       000d883a        mov     r6,zero
5443
   447d0:       01c00044        movi    r7,1
5444
   447d4:       183ee83a        callr   r3
5445
   447d8:       1021883a        mov     r16,r2
5446
   447dc:       00bfffc4        movi    r2,-1
5447
   447e0:       80800326        beq     r16,r2,447f0 <_fflush_r+0x1d8>
5448
   447e4:       8940030b        ldhu    r5,12(r17)
5449
   447e8:       88c00a17        ldw     r3,40(r17)
5450
   447ec:       003fa806        br      44690 <__alt_data_end+0xfffdd590>
5451
   447f0:       98c00017        ldw     r3,0(r19)
5452
   447f4:       00800744        movi    r2,29
5453
   447f8:       18bfde1e        bne     r3,r2,44774 <__alt_data_end+0xfffdd674>
5454
   447fc:       003fc006        br      44700 <__alt_data_end+0xfffdd600>
5455
 
5456
00044800 :
5457
   44800:       200b883a        mov     r5,r4
5458
   44804:       20000426        beq     r4,zero,44818 
5459
   44808:       00800174        movhi   r2,5
5460
   4480c:       10b7cd04        addi    r2,r2,-8396
5461
   44810:       11000017        ldw     r4,0(r2)
5462
   44814:       00446181        jmpi    44618 <_fflush_r>
5463
   44818:       00800174        movhi   r2,5
5464
   4481c:       10b7cc04        addi    r2,r2,-8400
5465
   44820:       11000017        ldw     r4,0(r2)
5466
   44824:       01400134        movhi   r5,4
5467
   44828:       29518604        addi    r5,r5,17944
5468
   4482c:       00454a01        jmpi    454a0 <_fwalk_reent>
5469
 
5470
00044830 <__fp_lock>:
5471
   44830:       0005883a        mov     r2,zero
5472
   44834:       f800283a        ret
5473
 
5474
00044838 <__fp_unlock>:
5475
   44838:       0005883a        mov     r2,zero
5476
   4483c:       f800283a        ret
5477
 
5478
00044840 <_cleanup_r>:
5479
   44840:       01400134        movhi   r5,4
5480
   44844:       295f9b04        addi    r5,r5,32364
5481
   44848:       00453f81        jmpi    453f8 <_fwalk>
5482
 
5483
0004484c <__sfmoreglue>:
5484
   4484c:       defffc04        addi    sp,sp,-16
5485
   44850:       dc400115        stw     r17,4(sp)
5486
   44854:       2c401724        muli    r17,r5,92
5487
   44858:       dc800215        stw     r18,8(sp)
5488
   4485c:       2825883a        mov     r18,r5
5489
   44860:       89400304        addi    r5,r17,12
5490
   44864:       dc000015        stw     r16,0(sp)
5491
   44868:       dfc00315        stw     ra,12(sp)
5492
   4486c:       00457dc0        call    457dc <_malloc_r>
5493
   44870:       1021883a        mov     r16,r2
5494
   44874:       10000726        beq     r2,zero,44894 <__sfmoreglue+0x48>
5495
   44878:       11000304        addi    r4,r2,12
5496
   4487c:       10000015        stw     zero,0(r2)
5497
   44880:       14800115        stw     r18,4(r2)
5498
   44884:       11000215        stw     r4,8(r2)
5499
   44888:       000b883a        mov     r5,zero
5500
   4488c:       880d883a        mov     r6,r17
5501
   44890:       00462780        call    46278 
5502
   44894:       8005883a        mov     r2,r16
5503
   44898:       dfc00317        ldw     ra,12(sp)
5504
   4489c:       dc800217        ldw     r18,8(sp)
5505
   448a0:       dc400117        ldw     r17,4(sp)
5506
   448a4:       dc000017        ldw     r16,0(sp)
5507
   448a8:       dec00404        addi    sp,sp,16
5508
   448ac:       f800283a        ret
5509
 
5510
000448b0 <_cleanup>:
5511
   448b0:       00800174        movhi   r2,5
5512
   448b4:       10b7cc04        addi    r2,r2,-8400
5513
   448b8:       11000017        ldw     r4,0(r2)
5514
   448bc:       00448401        jmpi    44840 <_cleanup_r>
5515
 
5516
000448c0 <__sinit>:
5517
   448c0:       20800e17        ldw     r2,56(r4)
5518
   448c4:       1000401e        bne     r2,zero,449c8 <__sinit+0x108>
5519
   448c8:       21400117        ldw     r5,4(r4)
5520
   448cc:       01800134        movhi   r6,4
5521
   448d0:       31921004        addi    r6,r6,18496
5522
   448d4:       20c00217        ldw     r3,8(r4)
5523
   448d8:       21800f15        stw     r6,60(r4)
5524
   448dc:       2080bb04        addi    r2,r4,748
5525
   448e0:       02400044        movi    r9,1
5526
   448e4:       018000c4        movi    r6,3
5527
   448e8:       2180b915        stw     r6,740(r4)
5528
   448ec:       2080ba15        stw     r2,744(r4)
5529
   448f0:       22400e15        stw     r9,56(r4)
5530
   448f4:       20800317        ldw     r2,12(r4)
5531
   448f8:       2000b815        stw     zero,736(r4)
5532
   448fc:       02000134        movhi   r8,4
5533
   44900:       421e7004        addi    r8,r8,31168
5534
   44904:       01c00134        movhi   r7,4
5535
   44908:       39de8504        addi    r7,r7,31252
5536
   4490c:       01800134        movhi   r6,4
5537
   44910:       319ea704        addi    r6,r6,31388
5538
   44914:       01000134        movhi   r4,4
5539
   44918:       211ebe04        addi    r4,r4,31480
5540
   4491c:       02800104        movi    r10,4
5541
   44920:       28000015        stw     zero,0(r5)
5542
   44924:       28000115        stw     zero,4(r5)
5543
   44928:       28000215        stw     zero,8(r5)
5544
   4492c:       2a80030d        sth     r10,12(r5)
5545
   44930:       2800038d        sth     zero,14(r5)
5546
   44934:       28000415        stw     zero,16(r5)
5547
   44938:       28000515        stw     zero,20(r5)
5548
   4493c:       28000615        stw     zero,24(r5)
5549
   44940:       29400715        stw     r5,28(r5)
5550
   44944:       2a000815        stw     r8,32(r5)
5551
   44948:       29c00915        stw     r7,36(r5)
5552
   4494c:       29800a15        stw     r6,40(r5)
5553
   44950:       29000b15        stw     r4,44(r5)
5554
   44954:       01400284        movi    r5,10
5555
   44958:       18000015        stw     zero,0(r3)
5556
   4495c:       18000115        stw     zero,4(r3)
5557
   44960:       18000215        stw     zero,8(r3)
5558
   44964:       1940030d        sth     r5,12(r3)
5559
   44968:       1a40038d        sth     r9,14(r3)
5560
   4496c:       18000415        stw     zero,16(r3)
5561
   44970:       18000515        stw     zero,20(r3)
5562
   44974:       18000615        stw     zero,24(r3)
5563
   44978:       18c00715        stw     r3,28(r3)
5564
   4497c:       1a000815        stw     r8,32(r3)
5565
   44980:       19c00915        stw     r7,36(r3)
5566
   44984:       19800a15        stw     r6,40(r3)
5567
   44988:       19000b15        stw     r4,44(r3)
5568
   4498c:       00c00484        movi    r3,18
5569
   44990:       10c0030d        sth     r3,12(r2)
5570
   44994:       00c00084        movi    r3,2
5571
   44998:       10000015        stw     zero,0(r2)
5572
   4499c:       10000115        stw     zero,4(r2)
5573
   449a0:       10000215        stw     zero,8(r2)
5574
   449a4:       10c0038d        sth     r3,14(r2)
5575
   449a8:       10000415        stw     zero,16(r2)
5576
   449ac:       10000515        stw     zero,20(r2)
5577
   449b0:       10000615        stw     zero,24(r2)
5578
   449b4:       10800715        stw     r2,28(r2)
5579
   449b8:       12000815        stw     r8,32(r2)
5580
   449bc:       11c00915        stw     r7,36(r2)
5581
   449c0:       11800a15        stw     r6,40(r2)
5582
   449c4:       11000b15        stw     r4,44(r2)
5583
   449c8:       f800283a        ret
5584
 
5585
000449cc <__sfp>:
5586
   449cc:       defffc04        addi    sp,sp,-16
5587
   449d0:       00800174        movhi   r2,5
5588
   449d4:       10b7cc04        addi    r2,r2,-8400
5589
   449d8:       dc400115        stw     r17,4(sp)
5590
   449dc:       14400017        ldw     r17,0(r2)
5591
   449e0:       dc800215        stw     r18,8(sp)
5592
   449e4:       dfc00315        stw     ra,12(sp)
5593
   449e8:       88800e17        ldw     r2,56(r17)
5594
   449ec:       dc000015        stw     r16,0(sp)
5595
   449f0:       2025883a        mov     r18,r4
5596
   449f4:       10002826        beq     r2,zero,44a98 <__sfp+0xcc>
5597
   449f8:       8c40b804        addi    r17,r17,736
5598
   449fc:       043fffc4        movi    r16,-1
5599
   44a00:       89400117        ldw     r5,4(r17)
5600
   44a04:       88800217        ldw     r2,8(r17)
5601
   44a08:       297fffc4        addi    r5,r5,-1
5602
   44a0c:       28000a16        blt     r5,zero,44a38 <__sfp+0x6c>
5603
   44a10:       10c0030f        ldh     r3,12(r2)
5604
   44a14:       18000c26        beq     r3,zero,44a48 <__sfp+0x7c>
5605
   44a18:       10c01a04        addi    r3,r2,104
5606
   44a1c:       00000206        br      44a28 <__sfp+0x5c>
5607
   44a20:       19bfe90f        ldh     r6,-92(r3)
5608
   44a24:       30000826        beq     r6,zero,44a48 <__sfp+0x7c>
5609
   44a28:       297fffc4        addi    r5,r5,-1
5610
   44a2c:       18bffd04        addi    r2,r3,-12
5611
   44a30:       18c01704        addi    r3,r3,92
5612
   44a34:       2c3ffa1e        bne     r5,r16,44a20 <__alt_data_end+0xfffdd920>
5613
   44a38:       88800017        ldw     r2,0(r17)
5614
   44a3c:       10001926        beq     r2,zero,44aa4 <__sfp+0xd8>
5615
   44a40:       1023883a        mov     r17,r2
5616
   44a44:       003fee06        br      44a00 <__alt_data_end+0xfffdd900>
5617
   44a48:       00ffffc4        movi    r3,-1
5618
   44a4c:       10c0038d        sth     r3,14(r2)
5619
   44a50:       00c00044        movi    r3,1
5620
   44a54:       10c0030d        sth     r3,12(r2)
5621
   44a58:       10000015        stw     zero,0(r2)
5622
   44a5c:       10000215        stw     zero,8(r2)
5623
   44a60:       10000115        stw     zero,4(r2)
5624
   44a64:       10000415        stw     zero,16(r2)
5625
   44a68:       10000515        stw     zero,20(r2)
5626
   44a6c:       10000615        stw     zero,24(r2)
5627
   44a70:       10000c15        stw     zero,48(r2)
5628
   44a74:       10000d15        stw     zero,52(r2)
5629
   44a78:       10001115        stw     zero,68(r2)
5630
   44a7c:       10001215        stw     zero,72(r2)
5631
   44a80:       dfc00317        ldw     ra,12(sp)
5632
   44a84:       dc800217        ldw     r18,8(sp)
5633
   44a88:       dc400117        ldw     r17,4(sp)
5634
   44a8c:       dc000017        ldw     r16,0(sp)
5635
   44a90:       dec00404        addi    sp,sp,16
5636
   44a94:       f800283a        ret
5637
   44a98:       8809883a        mov     r4,r17
5638
   44a9c:       00448c00        call    448c0 <__sinit>
5639
   44aa0:       003fd506        br      449f8 <__alt_data_end+0xfffdd8f8>
5640
   44aa4:       9009883a        mov     r4,r18
5641
   44aa8:       01400104        movi    r5,4
5642
   44aac:       004484c0        call    4484c <__sfmoreglue>
5643
   44ab0:       88800015        stw     r2,0(r17)
5644
   44ab4:       103fe21e        bne     r2,zero,44a40 <__alt_data_end+0xfffdd940>
5645
   44ab8:       00800304        movi    r2,12
5646
   44abc:       90800015        stw     r2,0(r18)
5647
   44ac0:       0005883a        mov     r2,zero
5648
   44ac4:       003fee06        br      44a80 <__alt_data_end+0xfffdd980>
5649
 
5650
00044ac8 <__sfp_lock_acquire>:
5651
   44ac8:       f800283a        ret
5652
 
5653
00044acc <__sfp_lock_release>:
5654
   44acc:       f800283a        ret
5655
 
5656
00044ad0 <__sinit_lock_acquire>:
5657
   44ad0:       f800283a        ret
5658
 
5659
00044ad4 <__sinit_lock_release>:
5660
   44ad4:       f800283a        ret
5661
 
5662
00044ad8 <__fp_lock_all>:
5663
   44ad8:       00800174        movhi   r2,5
5664
   44adc:       10b7cd04        addi    r2,r2,-8396
5665
   44ae0:       11000017        ldw     r4,0(r2)
5666
   44ae4:       01400134        movhi   r5,4
5667
   44ae8:       29520c04        addi    r5,r5,18480
5668
   44aec:       00453f81        jmpi    453f8 <_fwalk>
5669
 
5670
00044af0 <__fp_unlock_all>:
5671
   44af0:       00800174        movhi   r2,5
5672
   44af4:       10b7cd04        addi    r2,r2,-8396
5673
   44af8:       11000017        ldw     r4,0(r2)
5674
   44afc:       01400134        movhi   r5,4
5675
   44b00:       29520e04        addi    r5,r5,18488
5676
   44b04:       00453f81        jmpi    453f8 <_fwalk>
5677
 
5678
00044b08 <_malloc_trim_r>:
5679
   44b08:       defffb04        addi    sp,sp,-20
5680
   44b0c:       dcc00315        stw     r19,12(sp)
5681
   44b10:       dc800215        stw     r18,8(sp)
5682
   44b14:       dc400115        stw     r17,4(sp)
5683
   44b18:       dc000015        stw     r16,0(sp)
5684
   44b1c:       2827883a        mov     r19,r5
5685
   44b20:       dfc00415        stw     ra,16(sp)
5686
   44b24:       04400174        movhi   r17,5
5687
   44b28:       8c724804        addi    r17,r17,-14048
5688
   44b2c:       2021883a        mov     r16,r4
5689
   44b30:       0049f080        call    49f08 <__malloc_lock>
5690
   44b34:       88800217        ldw     r2,8(r17)
5691
   44b38:       14800117        ldw     r18,4(r2)
5692
   44b3c:       00bfff04        movi    r2,-4
5693
   44b40:       90a4703a        and     r18,r18,r2
5694
   44b44:       9083fbc4        addi    r2,r18,4079
5695
   44b48:       14e7c83a        sub     r19,r2,r19
5696
   44b4c:       9826d33a        srli    r19,r19,12
5697
   44b50:       0083ffc4        movi    r2,4095
5698
   44b54:       9cffffc4        addi    r19,r19,-1
5699
   44b58:       9826933a        slli    r19,r19,12
5700
   44b5c:       14c0060e        bge     r2,r19,44b78 <_malloc_trim_r+0x70>
5701
   44b60:       8009883a        mov     r4,r16
5702
   44b64:       000b883a        mov     r5,zero
5703
   44b68:       004795c0        call    4795c <_sbrk_r>
5704
   44b6c:       88c00217        ldw     r3,8(r17)
5705
   44b70:       1c87883a        add     r3,r3,r18
5706
   44b74:       10c00a26        beq     r2,r3,44ba0 <_malloc_trim_r+0x98>
5707
   44b78:       8009883a        mov     r4,r16
5708
   44b7c:       0049f280        call    49f28 <__malloc_unlock>
5709
   44b80:       0005883a        mov     r2,zero
5710
   44b84:       dfc00417        ldw     ra,16(sp)
5711
   44b88:       dcc00317        ldw     r19,12(sp)
5712
   44b8c:       dc800217        ldw     r18,8(sp)
5713
   44b90:       dc400117        ldw     r17,4(sp)
5714
   44b94:       dc000017        ldw     r16,0(sp)
5715
   44b98:       dec00504        addi    sp,sp,20
5716
   44b9c:       f800283a        ret
5717
   44ba0:       8009883a        mov     r4,r16
5718
   44ba4:       04cbc83a        sub     r5,zero,r19
5719
   44ba8:       004795c0        call    4795c <_sbrk_r>
5720
   44bac:       00ffffc4        movi    r3,-1
5721
   44bb0:       10c01326        beq     r2,r3,44c00 <_malloc_trim_r+0xf8>
5722
   44bb4:       00800174        movhi   r2,5
5723
   44bb8:       10be7e04        addi    r2,r2,-1544
5724
   44bbc:       11000017        ldw     r4,0(r2)
5725
   44bc0:       88c00217        ldw     r3,8(r17)
5726
   44bc4:       94e5c83a        sub     r18,r18,r19
5727
   44bc8:       94800054        ori     r18,r18,1
5728
   44bcc:       24e7c83a        sub     r19,r4,r19
5729
   44bd0:       1c800115        stw     r18,4(r3)
5730
   44bd4:       8009883a        mov     r4,r16
5731
   44bd8:       14c00015        stw     r19,0(r2)
5732
   44bdc:       0049f280        call    49f28 <__malloc_unlock>
5733
   44be0:       00800044        movi    r2,1
5734
   44be4:       dfc00417        ldw     ra,16(sp)
5735
   44be8:       dcc00317        ldw     r19,12(sp)
5736
   44bec:       dc800217        ldw     r18,8(sp)
5737
   44bf0:       dc400117        ldw     r17,4(sp)
5738
   44bf4:       dc000017        ldw     r16,0(sp)
5739
   44bf8:       dec00504        addi    sp,sp,20
5740
   44bfc:       f800283a        ret
5741
   44c00:       8009883a        mov     r4,r16
5742
   44c04:       000b883a        mov     r5,zero
5743
   44c08:       004795c0        call    4795c <_sbrk_r>
5744
   44c0c:       88c00217        ldw     r3,8(r17)
5745
   44c10:       014003c4        movi    r5,15
5746
   44c14:       10c9c83a        sub     r4,r2,r3
5747
   44c18:       293fd70e        bge     r5,r4,44b78 <__alt_data_end+0xfffdda78>
5748
   44c1c:       01400174        movhi   r5,5
5749
   44c20:       2977cf04        addi    r5,r5,-8388
5750
   44c24:       29400017        ldw     r5,0(r5)
5751
   44c28:       21000054        ori     r4,r4,1
5752
   44c2c:       19000115        stw     r4,4(r3)
5753
   44c30:       1145c83a        sub     r2,r2,r5
5754
   44c34:       01400174        movhi   r5,5
5755
   44c38:       297e7e04        addi    r5,r5,-1544
5756
   44c3c:       28800015        stw     r2,0(r5)
5757
   44c40:       003fcd06        br      44b78 <__alt_data_end+0xfffdda78>
5758
 
5759
00044c44 <_free_r>:
5760
   44c44:       defffd04        addi    sp,sp,-12
5761
   44c48:       dc400115        stw     r17,4(sp)
5762
   44c4c:       dc000015        stw     r16,0(sp)
5763
   44c50:       dfc00215        stw     ra,8(sp)
5764
   44c54:       2821883a        mov     r16,r5
5765
   44c58:       2023883a        mov     r17,r4
5766
   44c5c:       28004b26        beq     r5,zero,44d8c <_free_r+0x148>
5767
   44c60:       0049f080        call    49f08 <__malloc_lock>
5768
   44c64:       823fff17        ldw     r8,-4(r16)
5769
   44c68:       00bfff84        movi    r2,-2
5770
   44c6c:       81bffe04        addi    r6,r16,-8
5771
   44c70:       4084703a        and     r2,r8,r2
5772
   44c74:       3087883a        add     r3,r6,r2
5773
   44c78:       01400174        movhi   r5,5
5774
   44c7c:       29724804        addi    r5,r5,-14048
5775
   44c80:       1a400117        ldw     r9,4(r3)
5776
   44c84:       29000217        ldw     r4,8(r5)
5777
   44c88:       01ffff04        movi    r7,-4
5778
   44c8c:       49ce703a        and     r7,r9,r7
5779
   44c90:       20c06526        beq     r4,r3,44e28 <_free_r+0x1e4>
5780
   44c94:       19c00115        stw     r7,4(r3)
5781
   44c98:       4200004c        andi    r8,r8,1
5782
   44c9c:       40003026        beq     r8,zero,44d60 <_free_r+0x11c>
5783
   44ca0:       0009883a        mov     r4,zero
5784
   44ca4:       19d1883a        add     r8,r3,r7
5785
   44ca8:       42000117        ldw     r8,4(r8)
5786
   44cac:       4200004c        andi    r8,r8,1
5787
   44cb0:       4000061e        bne     r8,zero,44ccc <_free_r+0x88>
5788
   44cb4:       11c5883a        add     r2,r2,r7
5789
   44cb8:       19c00217        ldw     r7,8(r3)
5790
   44cbc:       20004e26        beq     r4,zero,44df8 <_free_r+0x1b4>
5791
   44cc0:       18c00317        ldw     r3,12(r3)
5792
   44cc4:       38c00315        stw     r3,12(r7)
5793
   44cc8:       19c00215        stw     r7,8(r3)
5794
   44ccc:       11c00054        ori     r7,r2,1
5795
   44cd0:       3087883a        add     r3,r6,r2
5796
   44cd4:       31c00115        stw     r7,4(r6)
5797
   44cd8:       18800015        stw     r2,0(r3)
5798
   44cdc:       20001a1e        bne     r4,zero,44d48 <_free_r+0x104>
5799
   44ce0:       00c07fc4        movi    r3,511
5800
   44ce4:       18802e2e        bgeu    r3,r2,44da0 <_free_r+0x15c>
5801
   44ce8:       1006d27a        srli    r3,r2,9
5802
   44cec:       01000104        movi    r4,4
5803
   44cf0:       20c06636        bltu    r4,r3,44e8c <_free_r+0x248>
5804
   44cf4:       1008d1ba        srli    r4,r2,6
5805
   44cf8:       21000e04        addi    r4,r4,56
5806
   44cfc:       210f883a        add     r7,r4,r4
5807
   44d00:       39cf883a        add     r7,r7,r7
5808
   44d04:       39cf883a        add     r7,r7,r7
5809
   44d08:       29cf883a        add     r7,r5,r7
5810
   44d0c:       38c00217        ldw     r3,8(r7)
5811
   44d10:       01400174        movhi   r5,5
5812
   44d14:       29724804        addi    r5,r5,-14048
5813
   44d18:       19c06126        beq     r3,r7,44ea0 <_free_r+0x25c>
5814
   44d1c:       013fff04        movi    r4,-4
5815
   44d20:       19400117        ldw     r5,4(r3)
5816
   44d24:       290a703a        and     r5,r5,r4
5817
   44d28:       1140022e        bgeu    r2,r5,44d34 <_free_r+0xf0>
5818
   44d2c:       18c00217        ldw     r3,8(r3)
5819
   44d30:       38fffb1e        bne     r7,r3,44d20 <__alt_data_end+0xfffddc20>
5820
   44d34:       18800317        ldw     r2,12(r3)
5821
   44d38:       30800315        stw     r2,12(r6)
5822
   44d3c:       30c00215        stw     r3,8(r6)
5823
   44d40:       11800215        stw     r6,8(r2)
5824
   44d44:       19800315        stw     r6,12(r3)
5825
   44d48:       8809883a        mov     r4,r17
5826
   44d4c:       dfc00217        ldw     ra,8(sp)
5827
   44d50:       dc400117        ldw     r17,4(sp)
5828
   44d54:       dc000017        ldw     r16,0(sp)
5829
   44d58:       dec00304        addi    sp,sp,12
5830
   44d5c:       0049f281        jmpi    49f28 <__malloc_unlock>
5831
   44d60:       813ffe17        ldw     r4,-8(r16)
5832
   44d64:       2a400204        addi    r9,r5,8
5833
   44d68:       310dc83a        sub     r6,r6,r4
5834
   44d6c:       32000217        ldw     r8,8(r6)
5835
   44d70:       1105883a        add     r2,r2,r4
5836
   44d74:       42404326        beq     r8,r9,44e84 <_free_r+0x240>
5837
   44d78:       32400317        ldw     r9,12(r6)
5838
   44d7c:       0009883a        mov     r4,zero
5839
   44d80:       42400315        stw     r9,12(r8)
5840
   44d84:       4a000215        stw     r8,8(r9)
5841
   44d88:       003fc606        br      44ca4 <__alt_data_end+0xfffddba4>
5842
   44d8c:       dfc00217        ldw     ra,8(sp)
5843
   44d90:       dc400117        ldw     r17,4(sp)
5844
   44d94:       dc000017        ldw     r16,0(sp)
5845
   44d98:       dec00304        addi    sp,sp,12
5846
   44d9c:       f800283a        ret
5847
   44da0:       1004d0fa        srli    r2,r2,3
5848
   44da4:       02000044        movi    r8,1
5849
   44da8:       29c00117        ldw     r7,4(r5)
5850
   44dac:       1087883a        add     r3,r2,r2
5851
   44db0:       18c7883a        add     r3,r3,r3
5852
   44db4:       1005d0ba        srai    r2,r2,2
5853
   44db8:       18c7883a        add     r3,r3,r3
5854
   44dbc:       28c7883a        add     r3,r5,r3
5855
   44dc0:       19000217        ldw     r4,8(r3)
5856
   44dc4:       4084983a        sll     r2,r8,r2
5857
   44dc8:       30c00315        stw     r3,12(r6)
5858
   44dcc:       31000215        stw     r4,8(r6)
5859
   44dd0:       11c4b03a        or      r2,r2,r7
5860
   44dd4:       21800315        stw     r6,12(r4)
5861
   44dd8:       8809883a        mov     r4,r17
5862
   44ddc:       28800115        stw     r2,4(r5)
5863
   44de0:       19800215        stw     r6,8(r3)
5864
   44de4:       dfc00217        ldw     ra,8(sp)
5865
   44de8:       dc400117        ldw     r17,4(sp)
5866
   44dec:       dc000017        ldw     r16,0(sp)
5867
   44df0:       dec00304        addi    sp,sp,12
5868
   44df4:       0049f281        jmpi    49f28 <__malloc_unlock>
5869
   44df8:       02000174        movhi   r8,5
5870
   44dfc:       42324a04        addi    r8,r8,-14040
5871
   44e00:       3a3faf1e        bne     r7,r8,44cc0 <__alt_data_end+0xfffddbc0>
5872
   44e04:       29800515        stw     r6,20(r5)
5873
   44e08:       29800415        stw     r6,16(r5)
5874
   44e0c:       11000054        ori     r4,r2,1
5875
   44e10:       3087883a        add     r3,r6,r2
5876
   44e14:       31c00315        stw     r7,12(r6)
5877
   44e18:       31c00215        stw     r7,8(r6)
5878
   44e1c:       31000115        stw     r4,4(r6)
5879
   44e20:       18800015        stw     r2,0(r3)
5880
   44e24:       003fc806        br      44d48 <__alt_data_end+0xfffddc48>
5881
   44e28:       4200004c        andi    r8,r8,1
5882
   44e2c:       3885883a        add     r2,r7,r2
5883
   44e30:       4000071e        bne     r8,zero,44e50 <_free_r+0x20c>
5884
   44e34:       81fffe17        ldw     r7,-8(r16)
5885
   44e38:       31cdc83a        sub     r6,r6,r7
5886
   44e3c:       30c00317        ldw     r3,12(r6)
5887
   44e40:       31000217        ldw     r4,8(r6)
5888
   44e44:       11c5883a        add     r2,r2,r7
5889
   44e48:       20c00315        stw     r3,12(r4)
5890
   44e4c:       19000215        stw     r4,8(r3)
5891
   44e50:       00c00174        movhi   r3,5
5892
   44e54:       18f7d004        addi    r3,r3,-8384
5893
   44e58:       18c00017        ldw     r3,0(r3)
5894
   44e5c:       11000054        ori     r4,r2,1
5895
   44e60:       31000115        stw     r4,4(r6)
5896
   44e64:       29800215        stw     r6,8(r5)
5897
   44e68:       10ffb736        bltu    r2,r3,44d48 <__alt_data_end+0xfffddc48>
5898
   44e6c:       00800174        movhi   r2,5
5899
   44e70:       10be7604        addi    r2,r2,-1576
5900
   44e74:       11400017        ldw     r5,0(r2)
5901
   44e78:       8809883a        mov     r4,r17
5902
   44e7c:       0044b080        call    44b08 <_malloc_trim_r>
5903
   44e80:       003fb106        br      44d48 <__alt_data_end+0xfffddc48>
5904
   44e84:       01000044        movi    r4,1
5905
   44e88:       003f8606        br      44ca4 <__alt_data_end+0xfffddba4>
5906
   44e8c:       01000504        movi    r4,20
5907
   44e90:       20c00b36        bltu    r4,r3,44ec0 <_free_r+0x27c>
5908
   44e94:       190016c4        addi    r4,r3,91
5909
   44e98:       210f883a        add     r7,r4,r4
5910
   44e9c:       003f9806        br      44d00 <__alt_data_end+0xfffddc00>
5911
   44ea0:       2009d0ba        srai    r4,r4,2
5912
   44ea4:       00800044        movi    r2,1
5913
   44ea8:       29c00117        ldw     r7,4(r5)
5914
   44eac:       1108983a        sll     r4,r2,r4
5915
   44eb0:       1805883a        mov     r2,r3
5916
   44eb4:       21c8b03a        or      r4,r4,r7
5917
   44eb8:       29000115        stw     r4,4(r5)
5918
   44ebc:       003f9e06        br      44d38 <__alt_data_end+0xfffddc38>
5919
   44ec0:       01001504        movi    r4,84
5920
   44ec4:       20c00436        bltu    r4,r3,44ed8 <_free_r+0x294>
5921
   44ec8:       1008d33a        srli    r4,r2,12
5922
   44ecc:       21001b84        addi    r4,r4,110
5923
   44ed0:       210f883a        add     r7,r4,r4
5924
   44ed4:       003f8a06        br      44d00 <__alt_data_end+0xfffddc00>
5925
   44ed8:       01005504        movi    r4,340
5926
   44edc:       20c00436        bltu    r4,r3,44ef0 <_free_r+0x2ac>
5927
   44ee0:       1008d3fa        srli    r4,r2,15
5928
   44ee4:       21001dc4        addi    r4,r4,119
5929
   44ee8:       210f883a        add     r7,r4,r4
5930
   44eec:       003f8406        br      44d00 <__alt_data_end+0xfffddc00>
5931
   44ef0:       01015504        movi    r4,1364
5932
   44ef4:       20c00436        bltu    r4,r3,44f08 <_free_r+0x2c4>
5933
   44ef8:       1008d4ba        srli    r4,r2,18
5934
   44efc:       21001f04        addi    r4,r4,124
5935
   44f00:       210f883a        add     r7,r4,r4
5936
   44f04:       003f7e06        br      44d00 <__alt_data_end+0xfffddc00>
5937
   44f08:       01c03f04        movi    r7,252
5938
   44f0c:       01001f84        movi    r4,126
5939
   44f10:       003f7b06        br      44d00 <__alt_data_end+0xfffddc00>
5940
 
5941
00044f14 <__sfvwrite_r>:
5942
   44f14:       30800217        ldw     r2,8(r6)
5943
   44f18:       defff504        addi    sp,sp,-44
5944
   44f1c:       dd400615        stw     r21,24(sp)
5945
   44f20:       dd000515        stw     r20,20(sp)
5946
   44f24:       dc000115        stw     r16,4(sp)
5947
   44f28:       dfc00a15        stw     ra,40(sp)
5948
   44f2c:       df000915        stw     fp,36(sp)
5949
   44f30:       ddc00815        stw     r23,32(sp)
5950
   44f34:       dd800715        stw     r22,28(sp)
5951
   44f38:       dcc00415        stw     r19,16(sp)
5952
   44f3c:       dc800315        stw     r18,12(sp)
5953
   44f40:       dc400215        stw     r17,8(sp)
5954
   44f44:       3029883a        mov     r20,r6
5955
   44f48:       202b883a        mov     r21,r4
5956
   44f4c:       2821883a        mov     r16,r5
5957
   44f50:       10002126        beq     r2,zero,44fd8 <__sfvwrite_r+0xc4>
5958
   44f54:       2880030b        ldhu    r2,12(r5)
5959
   44f58:       10c0020c        andi    r3,r2,8
5960
   44f5c:       18ffffcc        andi    r3,r3,65535
5961
   44f60:       18e0001c        xori    r3,r3,32768
5962
   44f64:       18e00004        addi    r3,r3,-32768
5963
   44f68:       18002826        beq     r3,zero,4500c <__sfvwrite_r+0xf8>
5964
   44f6c:       28c00417        ldw     r3,16(r5)
5965
   44f70:       18002626        beq     r3,zero,4500c <__sfvwrite_r+0xf8>
5966
   44f74:       10c0008c        andi    r3,r2,2
5967
   44f78:       18ffffcc        andi    r3,r3,65535
5968
   44f7c:       18e0001c        xori    r3,r3,32768
5969
   44f80:       18e00004        addi    r3,r3,-32768
5970
   44f84:       a4400017        ldw     r17,0(r20)
5971
   44f88:       18002b26        beq     r3,zero,45038 <__sfvwrite_r+0x124>
5972
   44f8c:       0027883a        mov     r19,zero
5973
   44f90:       0025883a        mov     r18,zero
5974
   44f94:       05810004        movi    r22,1024
5975
   44f98:       980d883a        mov     r6,r19
5976
   44f9c:       a809883a        mov     r4,r21
5977
   44fa0:       90004f26        beq     r18,zero,450e0 <__sfvwrite_r+0x1cc>
5978
   44fa4:       900f883a        mov     r7,r18
5979
   44fa8:       81400717        ldw     r5,28(r16)
5980
   44fac:       b480012e        bgeu    r22,r18,44fb4 <__sfvwrite_r+0xa0>
5981
   44fb0:       01c10004        movi    r7,1024
5982
   44fb4:       80800917        ldw     r2,36(r16)
5983
   44fb8:       103ee83a        callr   r2
5984
   44fbc:       0080540e        bge     zero,r2,45110 <__sfvwrite_r+0x1fc>
5985
   44fc0:       a0c00217        ldw     r3,8(r20)
5986
   44fc4:       98a7883a        add     r19,r19,r2
5987
   44fc8:       90a5c83a        sub     r18,r18,r2
5988
   44fcc:       1885c83a        sub     r2,r3,r2
5989
   44fd0:       a0800215        stw     r2,8(r20)
5990
   44fd4:       103ff01e        bne     r2,zero,44f98 <__alt_data_end+0xfffdde98>
5991
   44fd8:       0005883a        mov     r2,zero
5992
   44fdc:       dfc00a17        ldw     ra,40(sp)
5993
   44fe0:       df000917        ldw     fp,36(sp)
5994
   44fe4:       ddc00817        ldw     r23,32(sp)
5995
   44fe8:       dd800717        ldw     r22,28(sp)
5996
   44fec:       dd400617        ldw     r21,24(sp)
5997
   44ff0:       dd000517        ldw     r20,20(sp)
5998
   44ff4:       dcc00417        ldw     r19,16(sp)
5999
   44ff8:       dc800317        ldw     r18,12(sp)
6000
   44ffc:       dc400217        ldw     r17,8(sp)
6001
   45000:       dc000117        ldw     r16,4(sp)
6002
   45004:       dec00b04        addi    sp,sp,44
6003
   45008:       f800283a        ret
6004
   4500c:       a809883a        mov     r4,r21
6005
   45010:       800b883a        mov     r5,r16
6006
   45014:       0042c800        call    42c80 <__swsetup_r>
6007
   45018:       1000f01e        bne     r2,zero,453dc <__sfvwrite_r+0x4c8>
6008
   4501c:       8080030b        ldhu    r2,12(r16)
6009
   45020:       a4400017        ldw     r17,0(r20)
6010
   45024:       10c0008c        andi    r3,r2,2
6011
   45028:       18ffffcc        andi    r3,r3,65535
6012
   4502c:       18e0001c        xori    r3,r3,32768
6013
   45030:       18e00004        addi    r3,r3,-32768
6014
   45034:       183fd51e        bne     r3,zero,44f8c <__alt_data_end+0xfffdde8c>
6015
   45038:       10c0004c        andi    r3,r2,1
6016
   4503c:       002d883a        mov     r22,zero
6017
   45040:       1800381e        bne     r3,zero,45124 <__sfvwrite_r+0x210>
6018
   45044:       0025883a        mov     r18,zero
6019
   45048:       90002126        beq     r18,zero,450d0 <__sfvwrite_r+0x1bc>
6020
   4504c:       10c0800c        andi    r3,r2,512
6021
   45050:       18ffffcc        andi    r3,r3,65535
6022
   45054:       18e0001c        xori    r3,r3,32768
6023
   45058:       18e00004        addi    r3,r3,-32768
6024
   4505c:       84c00217        ldw     r19,8(r16)
6025
   45060:       18006b26        beq     r3,zero,45210 <__sfvwrite_r+0x2fc>
6026
   45064:       980f883a        mov     r7,r19
6027
   45068:       94c08636        bltu    r18,r19,45284 <__sfvwrite_r+0x370>
6028
   4506c:       10c1200c        andi    r3,r2,1152
6029
   45070:       18009f1e        bne     r3,zero,452f0 <__sfvwrite_r+0x3dc>
6030
   45074:       81000017        ldw     r4,0(r16)
6031
   45078:       982f883a        mov     r23,r19
6032
   4507c:       9039883a        mov     fp,r18
6033
   45080:       9027883a        mov     r19,r18
6034
   45084:       380d883a        mov     r6,r7
6035
   45088:       b00b883a        mov     r5,r22
6036
   4508c:       d9c00015        stw     r7,0(sp)
6037
   45090:       00461500        call    46150 
6038
   45094:       d9c00017        ldw     r7,0(sp)
6039
   45098:       81000217        ldw     r4,8(r16)
6040
   4509c:       80800017        ldw     r2,0(r16)
6041
   450a0:       25efc83a        sub     r23,r4,r23
6042
   450a4:       11cf883a        add     r7,r2,r7
6043
   450a8:       85c00215        stw     r23,8(r16)
6044
   450ac:       81c00015        stw     r7,0(r16)
6045
   450b0:       a0800217        ldw     r2,8(r20)
6046
   450b4:       b72d883a        add     r22,r22,fp
6047
   450b8:       9725c83a        sub     r18,r18,fp
6048
   450bc:       14e7c83a        sub     r19,r2,r19
6049
   450c0:       a4c00215        stw     r19,8(r20)
6050
   450c4:       983fc426        beq     r19,zero,44fd8 <__alt_data_end+0xfffdded8>
6051
   450c8:       8080030b        ldhu    r2,12(r16)
6052
   450cc:       903fdf1e        bne     r18,zero,4504c <__alt_data_end+0xfffddf4c>
6053
   450d0:       8d800017        ldw     r22,0(r17)
6054
   450d4:       8c800117        ldw     r18,4(r17)
6055
   450d8:       8c400204        addi    r17,r17,8
6056
   450dc:       003fda06        br      45048 <__alt_data_end+0xfffddf48>
6057
   450e0:       8cc00017        ldw     r19,0(r17)
6058
   450e4:       8c800117        ldw     r18,4(r17)
6059
   450e8:       8c400204        addi    r17,r17,8
6060
   450ec:       003faa06        br      44f98 <__alt_data_end+0xfffdde98>
6061
   450f0:       00472fc0        call    472fc <_realloc_r>
6062
   450f4:       102f883a        mov     r23,r2
6063
   450f8:       10009f1e        bne     r2,zero,45378 <__sfvwrite_r+0x464>
6064
   450fc:       81400417        ldw     r5,16(r16)
6065
   45100:       a809883a        mov     r4,r21
6066
   45104:       0044c440        call    44c44 <_free_r>
6067
   45108:       00800304        movi    r2,12
6068
   4510c:       a8800015        stw     r2,0(r21)
6069
   45110:       80c0030b        ldhu    r3,12(r16)
6070
   45114:       00bfffc4        movi    r2,-1
6071
   45118:       18c01014        ori     r3,r3,64
6072
   4511c:       80c0030d        sth     r3,12(r16)
6073
   45120:       003fae06        br      44fdc <__alt_data_end+0xfffddedc>
6074
   45124:       0007883a        mov     r3,zero
6075
   45128:       0039883a        mov     fp,zero
6076
   4512c:       0025883a        mov     r18,zero
6077
   45130:       90001e26        beq     r18,zero,451ac <__sfvwrite_r+0x298>
6078
   45134:       18006526        beq     r3,zero,452cc <__sfvwrite_r+0x3b8>
6079
   45138:       b02f883a        mov     r23,r22
6080
   4513c:       9580012e        bgeu    r18,r22,45144 <__sfvwrite_r+0x230>
6081
   45140:       902f883a        mov     r23,r18
6082
   45144:       81000017        ldw     r4,0(r16)
6083
   45148:       80800417        ldw     r2,16(r16)
6084
   4514c:       84c00217        ldw     r19,8(r16)
6085
   45150:       81c00517        ldw     r7,20(r16)
6086
   45154:       1100022e        bgeu    r2,r4,45160 <__sfvwrite_r+0x24c>
6087
   45158:       99e7883a        add     r19,r19,r7
6088
   4515c:       9dc01816        blt     r19,r23,451c0 <__sfvwrite_r+0x2ac>
6089
   45160:       b9c03b16        blt     r23,r7,45250 <__sfvwrite_r+0x33c>
6090
   45164:       80800917        ldw     r2,36(r16)
6091
   45168:       81400717        ldw     r5,28(r16)
6092
   4516c:       a809883a        mov     r4,r21
6093
   45170:       d8c00015        stw     r3,0(sp)
6094
   45174:       e00d883a        mov     r6,fp
6095
   45178:       103ee83a        callr   r2
6096
   4517c:       1027883a        mov     r19,r2
6097
   45180:       d8c00017        ldw     r3,0(sp)
6098
   45184:       00bfe20e        bge     zero,r2,45110 <__alt_data_end+0xfffde010>
6099
   45188:       b4edc83a        sub     r22,r22,r19
6100
   4518c:       b0001a26        beq     r22,zero,451f8 <__sfvwrite_r+0x2e4>
6101
   45190:       a0800217        ldw     r2,8(r20)
6102
   45194:       e4f9883a        add     fp,fp,r19
6103
   45198:       94e5c83a        sub     r18,r18,r19
6104
   4519c:       14e7c83a        sub     r19,r2,r19
6105
   451a0:       a4c00215        stw     r19,8(r20)
6106
   451a4:       983f8c26        beq     r19,zero,44fd8 <__alt_data_end+0xfffdded8>
6107
   451a8:       903fe21e        bne     r18,zero,45134 <__alt_data_end+0xfffde034>
6108
   451ac:       8f000017        ldw     fp,0(r17)
6109
   451b0:       8c800117        ldw     r18,4(r17)
6110
   451b4:       0007883a        mov     r3,zero
6111
   451b8:       8c400204        addi    r17,r17,8
6112
   451bc:       003fdc06        br      45130 <__alt_data_end+0xfffde030>
6113
   451c0:       e00b883a        mov     r5,fp
6114
   451c4:       980d883a        mov     r6,r19
6115
   451c8:       d8c00015        stw     r3,0(sp)
6116
   451cc:       00461500        call    46150 
6117
   451d0:       80800017        ldw     r2,0(r16)
6118
   451d4:       a809883a        mov     r4,r21
6119
   451d8:       800b883a        mov     r5,r16
6120
   451dc:       14c5883a        add     r2,r2,r19
6121
   451e0:       80800015        stw     r2,0(r16)
6122
   451e4:       00446180        call    44618 <_fflush_r>
6123
   451e8:       d8c00017        ldw     r3,0(sp)
6124
   451ec:       103fc81e        bne     r2,zero,45110 <__alt_data_end+0xfffde010>
6125
   451f0:       b4edc83a        sub     r22,r22,r19
6126
   451f4:       b03fe61e        bne     r22,zero,45190 <__alt_data_end+0xfffde090>
6127
   451f8:       a809883a        mov     r4,r21
6128
   451fc:       800b883a        mov     r5,r16
6129
   45200:       00446180        call    44618 <_fflush_r>
6130
   45204:       103fc21e        bne     r2,zero,45110 <__alt_data_end+0xfffde010>
6131
   45208:       0007883a        mov     r3,zero
6132
   4520c:       003fe006        br      45190 <__alt_data_end+0xfffde090>
6133
   45210:       81000017        ldw     r4,0(r16)
6134
   45214:       80800417        ldw     r2,16(r16)
6135
   45218:       1100022e        bgeu    r2,r4,45224 <__sfvwrite_r+0x310>
6136
   4521c:       9839883a        mov     fp,r19
6137
   45220:       9c806036        bltu    r19,r18,453a4 <__sfvwrite_r+0x490>
6138
   45224:       81c00517        ldw     r7,20(r16)
6139
   45228:       91c01c36        bltu    r18,r7,4529c <__sfvwrite_r+0x388>
6140
   4522c:       80800917        ldw     r2,36(r16)
6141
   45230:       81400717        ldw     r5,28(r16)
6142
   45234:       a809883a        mov     r4,r21
6143
   45238:       b00d883a        mov     r6,r22
6144
   4523c:       103ee83a        callr   r2
6145
   45240:       1027883a        mov     r19,r2
6146
   45244:       00bfb20e        bge     zero,r2,45110 <__alt_data_end+0xfffde010>
6147
   45248:       1039883a        mov     fp,r2
6148
   4524c:       003f9806        br      450b0 <__alt_data_end+0xfffddfb0>
6149
   45250:       b80d883a        mov     r6,r23
6150
   45254:       e00b883a        mov     r5,fp
6151
   45258:       d8c00015        stw     r3,0(sp)
6152
   4525c:       00461500        call    46150 
6153
   45260:       80800217        ldw     r2,8(r16)
6154
   45264:       81000017        ldw     r4,0(r16)
6155
   45268:       b827883a        mov     r19,r23
6156
   4526c:       15c5c83a        sub     r2,r2,r23
6157
   45270:       25ef883a        add     r23,r4,r23
6158
   45274:       80800215        stw     r2,8(r16)
6159
   45278:       85c00015        stw     r23,0(r16)
6160
   4527c:       d8c00017        ldw     r3,0(sp)
6161
   45280:       003fc106        br      45188 <__alt_data_end+0xfffde088>
6162
   45284:       81000017        ldw     r4,0(r16)
6163
   45288:       902f883a        mov     r23,r18
6164
   4528c:       9039883a        mov     fp,r18
6165
   45290:       9027883a        mov     r19,r18
6166
   45294:       900f883a        mov     r7,r18
6167
   45298:       003f7a06        br      45084 <__alt_data_end+0xfffddf84>
6168
   4529c:       b00b883a        mov     r5,r22
6169
   452a0:       900d883a        mov     r6,r18
6170
   452a4:       00461500        call    46150 
6171
   452a8:       80c00217        ldw     r3,8(r16)
6172
   452ac:       80800017        ldw     r2,0(r16)
6173
   452b0:       9027883a        mov     r19,r18
6174
   452b4:       1c87c83a        sub     r3,r3,r18
6175
   452b8:       1485883a        add     r2,r2,r18
6176
   452bc:       80c00215        stw     r3,8(r16)
6177
   452c0:       80800015        stw     r2,0(r16)
6178
   452c4:       9039883a        mov     fp,r18
6179
   452c8:       003f7906        br      450b0 <__alt_data_end+0xfffddfb0>
6180
   452cc:       e009883a        mov     r4,fp
6181
   452d0:       01400284        movi    r5,10
6182
   452d4:       900d883a        mov     r6,r18
6183
   452d8:       0045f600        call    45f60 
6184
   452dc:       10003c26        beq     r2,zero,453d0 <__sfvwrite_r+0x4bc>
6185
   452e0:       15800044        addi    r22,r2,1
6186
   452e4:       b72dc83a        sub     r22,r22,fp
6187
   452e8:       00c00044        movi    r3,1
6188
   452ec:       003f9206        br      45138 <__alt_data_end+0xfffde038>
6189
   452f0:       81000517        ldw     r4,20(r16)
6190
   452f4:       81400417        ldw     r5,16(r16)
6191
   452f8:       80c00017        ldw     r3,0(r16)
6192
   452fc:       210d883a        add     r6,r4,r4
6193
   45300:       3109883a        add     r4,r6,r4
6194
   45304:       2026d7fa        srli    r19,r4,31
6195
   45308:       1979c83a        sub     fp,r3,r5
6196
   4530c:       e1800044        addi    r6,fp,1
6197
   45310:       9909883a        add     r4,r19,r4
6198
   45314:       2027d07a        srai    r19,r4,1
6199
   45318:       3489883a        add     r4,r6,r18
6200
   4531c:       980d883a        mov     r6,r19
6201
   45320:       9900022e        bgeu    r19,r4,4532c <__sfvwrite_r+0x418>
6202
   45324:       2027883a        mov     r19,r4
6203
   45328:       200d883a        mov     r6,r4
6204
   4532c:       1081000c        andi    r2,r2,1024
6205
   45330:       10bfffcc        andi    r2,r2,65535
6206
   45334:       10a0001c        xori    r2,r2,32768
6207
   45338:       10a00004        addi    r2,r2,-32768
6208
   4533c:       a809883a        mov     r4,r21
6209
   45340:       103f6b26        beq     r2,zero,450f0 <__alt_data_end+0xfffddff0>
6210
   45344:       300b883a        mov     r5,r6
6211
   45348:       00457dc0        call    457dc <_malloc_r>
6212
   4534c:       102f883a        mov     r23,r2
6213
   45350:       103f6d26        beq     r2,zero,45108 <__alt_data_end+0xfffde008>
6214
   45354:       81400417        ldw     r5,16(r16)
6215
   45358:       1009883a        mov     r4,r2
6216
   4535c:       e00d883a        mov     r6,fp
6217
   45360:       00460580        call    46058 
6218
   45364:       8080030b        ldhu    r2,12(r16)
6219
   45368:       00fedfc4        movi    r3,-1153
6220
   4536c:       10c4703a        and     r2,r2,r3
6221
   45370:       10802014        ori     r2,r2,128
6222
   45374:       8080030d        sth     r2,12(r16)
6223
   45378:       bf09883a        add     r4,r23,fp
6224
   4537c:       9f07c83a        sub     r3,r19,fp
6225
   45380:       85c00415        stw     r23,16(r16)
6226
   45384:       84c00515        stw     r19,20(r16)
6227
   45388:       81000015        stw     r4,0(r16)
6228
   4538c:       902f883a        mov     r23,r18
6229
   45390:       80c00215        stw     r3,8(r16)
6230
   45394:       9039883a        mov     fp,r18
6231
   45398:       9027883a        mov     r19,r18
6232
   4539c:       900f883a        mov     r7,r18
6233
   453a0:       003f3806        br      45084 <__alt_data_end+0xfffddf84>
6234
   453a4:       b00b883a        mov     r5,r22
6235
   453a8:       980d883a        mov     r6,r19
6236
   453ac:       00461500        call    46150 
6237
   453b0:       80800017        ldw     r2,0(r16)
6238
   453b4:       a809883a        mov     r4,r21
6239
   453b8:       800b883a        mov     r5,r16
6240
   453bc:       14c5883a        add     r2,r2,r19
6241
   453c0:       80800015        stw     r2,0(r16)
6242
   453c4:       00446180        call    44618 <_fflush_r>
6243
   453c8:       103f3926        beq     r2,zero,450b0 <__alt_data_end+0xfffddfb0>
6244
   453cc:       003f5006        br      45110 <__alt_data_end+0xfffde010>
6245
   453d0:       95800044        addi    r22,r18,1
6246
   453d4:       00c00044        movi    r3,1
6247
   453d8:       003f5706        br      45138 <__alt_data_end+0xfffde038>
6248
   453dc:       80c0030b        ldhu    r3,12(r16)
6249
   453e0:       00bfffc4        movi    r2,-1
6250
   453e4:       18c01014        ori     r3,r3,64
6251
   453e8:       80c0030d        sth     r3,12(r16)
6252
   453ec:       00c00244        movi    r3,9
6253
   453f0:       a8c00015        stw     r3,0(r21)
6254
   453f4:       003ef906        br      44fdc <__alt_data_end+0xfffddedc>
6255
 
6256
000453f8 <_fwalk>:
6257
   453f8:       defff904        addi    sp,sp,-28
6258
   453fc:       dcc00315        stw     r19,12(sp)
6259
   45400:       24c0b804        addi    r19,r4,736
6260
   45404:       dd400515        stw     r21,20(sp)
6261
   45408:       dd000415        stw     r20,16(sp)
6262
   4540c:       dfc00615        stw     ra,24(sp)
6263
   45410:       dc800215        stw     r18,8(sp)
6264
   45414:       dc400115        stw     r17,4(sp)
6265
   45418:       dc000015        stw     r16,0(sp)
6266
   4541c:       282b883a        mov     r21,r5
6267
   45420:       0029883a        mov     r20,zero
6268
   45424:       0044ac80        call    44ac8 <__sfp_lock_acquire>
6269
   45428:       98001226        beq     r19,zero,45474 <_fwalk+0x7c>
6270
   4542c:       04bfffc4        movi    r18,-1
6271
   45430:       9c400117        ldw     r17,4(r19)
6272
   45434:       9c000217        ldw     r16,8(r19)
6273
   45438:       8c7fffc4        addi    r17,r17,-1
6274
   4543c:       88000b16        blt     r17,zero,4546c <_fwalk+0x74>
6275
   45440:       84000304        addi    r16,r16,12
6276
   45444:       80c0000f        ldh     r3,0(r16)
6277
   45448:       8c7fffc4        addi    r17,r17,-1
6278
   4544c:       813ffd04        addi    r4,r16,-12
6279
   45450:       18000426        beq     r3,zero,45464 <_fwalk+0x6c>
6280
   45454:       80c0008f        ldh     r3,2(r16)
6281
   45458:       1c800226        beq     r3,r18,45464 <_fwalk+0x6c>
6282
   4545c:       a83ee83a        callr   r21
6283
   45460:       a0a8b03a        or      r20,r20,r2
6284
   45464:       84001704        addi    r16,r16,92
6285
   45468:       8cbff61e        bne     r17,r18,45444 <__alt_data_end+0xfffde344>
6286
   4546c:       9cc00017        ldw     r19,0(r19)
6287
   45470:       983fef1e        bne     r19,zero,45430 <__alt_data_end+0xfffde330>
6288
   45474:       0044acc0        call    44acc <__sfp_lock_release>
6289
   45478:       a005883a        mov     r2,r20
6290
   4547c:       dfc00617        ldw     ra,24(sp)
6291
   45480:       dd400517        ldw     r21,20(sp)
6292
   45484:       dd000417        ldw     r20,16(sp)
6293
   45488:       dcc00317        ldw     r19,12(sp)
6294
   4548c:       dc800217        ldw     r18,8(sp)
6295
   45490:       dc400117        ldw     r17,4(sp)
6296
   45494:       dc000017        ldw     r16,0(sp)
6297
   45498:       dec00704        addi    sp,sp,28
6298
   4549c:       f800283a        ret
6299
 
6300
000454a0 <_fwalk_reent>:
6301
   454a0:       defff804        addi    sp,sp,-32
6302
   454a4:       dcc00315        stw     r19,12(sp)
6303
   454a8:       24c0b804        addi    r19,r4,736
6304
   454ac:       dd800615        stw     r22,24(sp)
6305
   454b0:       dd400515        stw     r21,20(sp)
6306
   454b4:       dd000415        stw     r20,16(sp)
6307
   454b8:       dfc00715        stw     ra,28(sp)
6308
   454bc:       dc800215        stw     r18,8(sp)
6309
   454c0:       dc400115        stw     r17,4(sp)
6310
   454c4:       dc000015        stw     r16,0(sp)
6311
   454c8:       2029883a        mov     r20,r4
6312
   454cc:       282b883a        mov     r21,r5
6313
   454d0:       002d883a        mov     r22,zero
6314
   454d4:       0044ac80        call    44ac8 <__sfp_lock_acquire>
6315
   454d8:       98001326        beq     r19,zero,45528 <_fwalk_reent+0x88>
6316
   454dc:       04bfffc4        movi    r18,-1
6317
   454e0:       9c400117        ldw     r17,4(r19)
6318
   454e4:       9c000217        ldw     r16,8(r19)
6319
   454e8:       8c7fffc4        addi    r17,r17,-1
6320
   454ec:       88000c16        blt     r17,zero,45520 <_fwalk_reent+0x80>
6321
   454f0:       84000304        addi    r16,r16,12
6322
   454f4:       80c0000f        ldh     r3,0(r16)
6323
   454f8:       8c7fffc4        addi    r17,r17,-1
6324
   454fc:       817ffd04        addi    r5,r16,-12
6325
   45500:       18000526        beq     r3,zero,45518 <_fwalk_reent+0x78>
6326
   45504:       80c0008f        ldh     r3,2(r16)
6327
   45508:       a009883a        mov     r4,r20
6328
   4550c:       1c800226        beq     r3,r18,45518 <_fwalk_reent+0x78>
6329
   45510:       a83ee83a        callr   r21
6330
   45514:       b0acb03a        or      r22,r22,r2
6331
   45518:       84001704        addi    r16,r16,92
6332
   4551c:       8cbff51e        bne     r17,r18,454f4 <__alt_data_end+0xfffde3f4>
6333
   45520:       9cc00017        ldw     r19,0(r19)
6334
   45524:       983fee1e        bne     r19,zero,454e0 <__alt_data_end+0xfffde3e0>
6335
   45528:       0044acc0        call    44acc <__sfp_lock_release>
6336
   4552c:       b005883a        mov     r2,r22
6337
   45530:       dfc00717        ldw     ra,28(sp)
6338
   45534:       dd800617        ldw     r22,24(sp)
6339
   45538:       dd400517        ldw     r21,20(sp)
6340
   4553c:       dd000417        ldw     r20,16(sp)
6341
   45540:       dcc00317        ldw     r19,12(sp)
6342
   45544:       dc800217        ldw     r18,8(sp)
6343
   45548:       dc400117        ldw     r17,4(sp)
6344
   4554c:       dc000017        ldw     r16,0(sp)
6345
   45550:       dec00804        addi    sp,sp,32
6346
   45554:       f800283a        ret
6347
 
6348
00045558 <_setlocale_r>:
6349
   45558:       defffc04        addi    sp,sp,-16
6350
   4555c:       dc800215        stw     r18,8(sp)
6351
   45560:       dc400115        stw     r17,4(sp)
6352
   45564:       dc000015        stw     r16,0(sp)
6353
   45568:       dfc00315        stw     ra,12(sp)
6354
   4556c:       3021883a        mov     r16,r6
6355
   45570:       2023883a        mov     r17,r4
6356
   45574:       2825883a        mov     r18,r5
6357
   45578:       30001626        beq     r6,zero,455d4 <_setlocale_r+0x7c>
6358
   4557c:       3009883a        mov     r4,r6
6359
   45580:       01400174        movhi   r5,5
6360
   45584:       2970e004        addi    r5,r5,-15488
6361
   45588:       0047b000        call    47b00 
6362
   4558c:       10000a1e        bne     r2,zero,455b8 <_setlocale_r+0x60>
6363
   45590:       8c800c15        stw     r18,48(r17)
6364
   45594:       8c000d15        stw     r16,52(r17)
6365
   45598:       00800174        movhi   r2,5
6366
   4559c:       10b0e004        addi    r2,r2,-15488
6367
   455a0:       dfc00317        ldw     ra,12(sp)
6368
   455a4:       dc800217        ldw     r18,8(sp)
6369
   455a8:       dc400117        ldw     r17,4(sp)
6370
   455ac:       dc000017        ldw     r16,0(sp)
6371
   455b0:       dec00404        addi    sp,sp,16
6372
   455b4:       f800283a        ret
6373
   455b8:       8009883a        mov     r4,r16
6374
   455bc:       01400174        movhi   r5,5
6375
   455c0:       2970cb04        addi    r5,r5,-15572
6376
   455c4:       0047b000        call    47b00 
6377
   455c8:       103ff126        beq     r2,zero,45590 <__alt_data_end+0xfffde490>
6378
   455cc:       0005883a        mov     r2,zero
6379
   455d0:       003ff306        br      455a0 <__alt_data_end+0xfffde4a0>
6380
   455d4:       00800174        movhi   r2,5
6381
   455d8:       10b0e004        addi    r2,r2,-15488
6382
   455dc:       dfc00317        ldw     ra,12(sp)
6383
   455e0:       dc800217        ldw     r18,8(sp)
6384
   455e4:       dc400117        ldw     r17,4(sp)
6385
   455e8:       dc000017        ldw     r16,0(sp)
6386
   455ec:       dec00404        addi    sp,sp,16
6387
   455f0:       f800283a        ret
6388
 
6389
000455f4 <__locale_charset>:
6390
   455f4:       00800174        movhi   r2,5
6391
   455f8:       10b0e104        addi    r2,r2,-15484
6392
   455fc:       f800283a        ret
6393
 
6394
00045600 <_localeconv_r>:
6395
   45600:       00800174        movhi   r2,5
6396
   45604:       10b0e504        addi    r2,r2,-15468
6397
   45608:       f800283a        ret
6398
 
6399
0004560c :
6400
   4560c:       00c00174        movhi   r3,5
6401
   45610:       18f7cd04        addi    r3,r3,-8396
6402
   45614:       2005883a        mov     r2,r4
6403
   45618:       19000017        ldw     r4,0(r3)
6404
   4561c:       280d883a        mov     r6,r5
6405
   45620:       100b883a        mov     r5,r2
6406
   45624:       00455581        jmpi    45558 <_setlocale_r>
6407
 
6408
00045628 :
6409
   45628:       00800174        movhi   r2,5
6410
   4562c:       10b0e504        addi    r2,r2,-15468
6411
   45630:       f800283a        ret
6412
 
6413
00045634 <__smakebuf_r>:
6414
   45634:       2880030b        ldhu    r2,12(r5)
6415
   45638:       deffed04        addi    sp,sp,-76
6416
   4563c:       dc401015        stw     r17,64(sp)
6417
   45640:       10c0008c        andi    r3,r2,2
6418
   45644:       18ffffcc        andi    r3,r3,65535
6419
   45648:       18e0001c        xori    r3,r3,32768
6420
   4564c:       dc000f15        stw     r16,60(sp)
6421
   45650:       dfc01215        stw     ra,72(sp)
6422
   45654:       dc801115        stw     r18,68(sp)
6423
   45658:       18e00004        addi    r3,r3,-32768
6424
   4565c:       2821883a        mov     r16,r5
6425
   45660:       2023883a        mov     r17,r4
6426
   45664:       1800381e        bne     r3,zero,45748 <__smakebuf_r+0x114>
6427
   45668:       2940038f        ldh     r5,14(r5)
6428
   4566c:       28002d16        blt     r5,zero,45724 <__smakebuf_r+0xf0>
6429
   45670:       d80d883a        mov     r6,sp
6430
   45674:       0047e800        call    47e80 <_fstat_r>
6431
   45678:       10002916        blt     r2,zero,45720 <__smakebuf_r+0xec>
6432
   4567c:       d8800117        ldw     r2,4(sp)
6433
   45680:       00e00014        movui   r3,32768
6434
   45684:       10bc000c        andi    r2,r2,61440
6435
   45688:       10c03c26        beq     r2,r3,4577c <__smakebuf_r+0x148>
6436
   4568c:       80c0030b        ldhu    r3,12(r16)
6437
   45690:       18c20014        ori     r3,r3,2048
6438
   45694:       80c0030d        sth     r3,12(r16)
6439
   45698:       00c80004        movi    r3,8192
6440
   4569c:       10c00c1e        bne     r2,r3,456d0 <__smakebuf_r+0x9c>
6441
   456a0:       8140038f        ldh     r5,14(r16)
6442
   456a4:       8809883a        mov     r4,r17
6443
   456a8:       0047ee80        call    47ee8 <_isatty_r>
6444
   456ac:       10000826        beq     r2,zero,456d0 <__smakebuf_r+0x9c>
6445
   456b0:       80c0030b        ldhu    r3,12(r16)
6446
   456b4:       808010c4        addi    r2,r16,67
6447
   456b8:       80800015        stw     r2,0(r16)
6448
   456bc:       18c00054        ori     r3,r3,1
6449
   456c0:       80800415        stw     r2,16(r16)
6450
   456c4:       00800044        movi    r2,1
6451
   456c8:       80c0030d        sth     r3,12(r16)
6452
   456cc:       80800515        stw     r2,20(r16)
6453
   456d0:       04810004        movi    r18,1024
6454
   456d4:       8809883a        mov     r4,r17
6455
   456d8:       900b883a        mov     r5,r18
6456
   456dc:       00457dc0        call    457dc <_malloc_r>
6457
   456e0:       10003026        beq     r2,zero,457a4 <__smakebuf_r+0x170>
6458
   456e4:       80c0030b        ldhu    r3,12(r16)
6459
   456e8:       01000134        movhi   r4,4
6460
   456ec:       21121004        addi    r4,r4,18496
6461
   456f0:       89000f15        stw     r4,60(r17)
6462
   456f4:       18c02014        ori     r3,r3,128
6463
   456f8:       80c0030d        sth     r3,12(r16)
6464
   456fc:       80800015        stw     r2,0(r16)
6465
   45700:       80800415        stw     r2,16(r16)
6466
   45704:       84800515        stw     r18,20(r16)
6467
   45708:       dfc01217        ldw     ra,72(sp)
6468
   4570c:       dc801117        ldw     r18,68(sp)
6469
   45710:       dc401017        ldw     r17,64(sp)
6470
   45714:       dc000f17        ldw     r16,60(sp)
6471
   45718:       dec01304        addi    sp,sp,76
6472
   4571c:       f800283a        ret
6473
   45720:       8080030b        ldhu    r2,12(r16)
6474
   45724:       10c0200c        andi    r3,r2,128
6475
   45728:       18ffffcc        andi    r3,r3,65535
6476
   4572c:       18e0001c        xori    r3,r3,32768
6477
   45730:       18e00004        addi    r3,r3,-32768
6478
   45734:       18000f1e        bne     r3,zero,45774 <__smakebuf_r+0x140>
6479
   45738:       04810004        movi    r18,1024
6480
   4573c:       10820014        ori     r2,r2,2048
6481
   45740:       8080030d        sth     r2,12(r16)
6482
   45744:       003fe306        br      456d4 <__alt_data_end+0xfffde5d4>
6483
   45748:       288010c4        addi    r2,r5,67
6484
   4574c:       28800015        stw     r2,0(r5)
6485
   45750:       28800415        stw     r2,16(r5)
6486
   45754:       00800044        movi    r2,1
6487
   45758:       28800515        stw     r2,20(r5)
6488
   4575c:       dfc01217        ldw     ra,72(sp)
6489
   45760:       dc801117        ldw     r18,68(sp)
6490
   45764:       dc401017        ldw     r17,64(sp)
6491
   45768:       dc000f17        ldw     r16,60(sp)
6492
   4576c:       dec01304        addi    sp,sp,76
6493
   45770:       f800283a        ret
6494
   45774:       04801004        movi    r18,64
6495
   45778:       003ff006        br      4573c <__alt_data_end+0xfffde63c>
6496
   4577c:       81000a17        ldw     r4,40(r16)
6497
   45780:       00c00134        movhi   r3,4
6498
   45784:       18dea704        addi    r3,r3,31388
6499
   45788:       20ffc01e        bne     r4,r3,4568c <__alt_data_end+0xfffde58c>
6500
   4578c:       8080030b        ldhu    r2,12(r16)
6501
   45790:       00c10004        movi    r3,1024
6502
   45794:       80c01315        stw     r3,76(r16)
6503
   45798:       10c4b03a        or      r2,r2,r3
6504
   4579c:       8080030d        sth     r2,12(r16)
6505
   457a0:       003fcb06        br      456d0 <__alt_data_end+0xfffde5d0>
6506
   457a4:       8080030b        ldhu    r2,12(r16)
6507
   457a8:       10c0800c        andi    r3,r2,512
6508
   457ac:       18ffffcc        andi    r3,r3,65535
6509
   457b0:       18e0001c        xori    r3,r3,32768
6510
   457b4:       18e00004        addi    r3,r3,-32768
6511
   457b8:       183fd31e        bne     r3,zero,45708 <__alt_data_end+0xfffde608>
6512
   457bc:       10800094        ori     r2,r2,2
6513
   457c0:       80c010c4        addi    r3,r16,67
6514
   457c4:       8080030d        sth     r2,12(r16)
6515
   457c8:       00800044        movi    r2,1
6516
   457cc:       80c00015        stw     r3,0(r16)
6517
   457d0:       80c00415        stw     r3,16(r16)
6518
   457d4:       80800515        stw     r2,20(r16)
6519
   457d8:       003fcb06        br      45708 <__alt_data_end+0xfffde608>
6520
 
6521
000457dc <_malloc_r>:
6522
   457dc:       defff604        addi    sp,sp,-40
6523
   457e0:       dc800215        stw     r18,8(sp)
6524
   457e4:       dfc00915        stw     ra,36(sp)
6525
   457e8:       df000815        stw     fp,32(sp)
6526
   457ec:       ddc00715        stw     r23,28(sp)
6527
   457f0:       dd800615        stw     r22,24(sp)
6528
   457f4:       dd400515        stw     r21,20(sp)
6529
   457f8:       dd000415        stw     r20,16(sp)
6530
   457fc:       dcc00315        stw     r19,12(sp)
6531
   45800:       dc400115        stw     r17,4(sp)
6532
   45804:       dc000015        stw     r16,0(sp)
6533
   45808:       288002c4        addi    r2,r5,11
6534
   4580c:       00c00584        movi    r3,22
6535
   45810:       2025883a        mov     r18,r4
6536
   45814:       18802b2e        bgeu    r3,r2,458c4 <_malloc_r+0xe8>
6537
   45818:       047ffe04        movi    r17,-8
6538
   4581c:       1462703a        and     r17,r2,r17
6539
   45820:       88002a16        blt     r17,zero,458cc <_malloc_r+0xf0>
6540
   45824:       89402936        bltu    r17,r5,458cc <_malloc_r+0xf0>
6541
   45828:       9009883a        mov     r4,r18
6542
   4582c:       0049f080        call    49f08 <__malloc_lock>
6543
   45830:       00807dc4        movi    r2,503
6544
   45834:       14402936        bltu    r2,r17,458dc <_malloc_r+0x100>
6545
   45838:       8808d0fa        srli    r4,r17,3
6546
   4583c:       04c00174        movhi   r19,5
6547
   45840:       9cf24804        addi    r19,r19,-14048
6548
   45844:       2105883a        add     r2,r4,r4
6549
   45848:       1085883a        add     r2,r2,r2
6550
   4584c:       1085883a        add     r2,r2,r2
6551
   45850:       9885883a        add     r2,r19,r2
6552
   45854:       14000317        ldw     r16,12(r2)
6553
   45858:       80815526        beq     r16,r2,45db0 <_malloc_r+0x5d4>
6554
   4585c:       81000117        ldw     r4,4(r16)
6555
   45860:       00bfff04        movi    r2,-4
6556
   45864:       80c00317        ldw     r3,12(r16)
6557
   45868:       2084703a        and     r2,r4,r2
6558
   4586c:       8085883a        add     r2,r16,r2
6559
   45870:       11800117        ldw     r6,4(r2)
6560
   45874:       81400217        ldw     r5,8(r16)
6561
   45878:       9009883a        mov     r4,r18
6562
   4587c:       31800054        ori     r6,r6,1
6563
   45880:       11800115        stw     r6,4(r2)
6564
   45884:       28c00315        stw     r3,12(r5)
6565
   45888:       19400215        stw     r5,8(r3)
6566
   4588c:       0049f280        call    49f28 <__malloc_unlock>
6567
   45890:       80800204        addi    r2,r16,8
6568
   45894:       dfc00917        ldw     ra,36(sp)
6569
   45898:       df000817        ldw     fp,32(sp)
6570
   4589c:       ddc00717        ldw     r23,28(sp)
6571
   458a0:       dd800617        ldw     r22,24(sp)
6572
   458a4:       dd400517        ldw     r21,20(sp)
6573
   458a8:       dd000417        ldw     r20,16(sp)
6574
   458ac:       dcc00317        ldw     r19,12(sp)
6575
   458b0:       dc800217        ldw     r18,8(sp)
6576
   458b4:       dc400117        ldw     r17,4(sp)
6577
   458b8:       dc000017        ldw     r16,0(sp)
6578
   458bc:       dec00a04        addi    sp,sp,40
6579
   458c0:       f800283a        ret
6580
   458c4:       04400404        movi    r17,16
6581
   458c8:       897fd72e        bgeu    r17,r5,45828 <__alt_data_end+0xfffde728>
6582
   458cc:       00800304        movi    r2,12
6583
   458d0:       90800015        stw     r2,0(r18)
6584
   458d4:       0005883a        mov     r2,zero
6585
   458d8:       003fee06        br      45894 <__alt_data_end+0xfffde794>
6586
   458dc:       8808d27a        srli    r4,r17,9
6587
   458e0:       20007126        beq     r4,zero,45aa8 <_malloc_r+0x2cc>
6588
   458e4:       00800104        movi    r2,4
6589
   458e8:       1100eb36        bltu    r2,r4,45c98 <_malloc_r+0x4bc>
6590
   458ec:       8808d1ba        srli    r4,r17,6
6591
   458f0:       21000e04        addi    r4,r4,56
6592
   458f4:       210b883a        add     r5,r4,r4
6593
   458f8:       294b883a        add     r5,r5,r5
6594
   458fc:       294b883a        add     r5,r5,r5
6595
   45900:       04c00174        movhi   r19,5
6596
   45904:       9cf24804        addi    r19,r19,-14048
6597
   45908:       994b883a        add     r5,r19,r5
6598
   4590c:       2c000317        ldw     r16,12(r5)
6599
   45910:       2c000e26        beq     r5,r16,4594c <_malloc_r+0x170>
6600
   45914:       80c00117        ldw     r3,4(r16)
6601
   45918:       01ffff04        movi    r7,-4
6602
   4591c:       018003c4        movi    r6,15
6603
   45920:       19c6703a        and     r3,r3,r7
6604
   45924:       1c45c83a        sub     r2,r3,r17
6605
   45928:       30800716        blt     r6,r2,45948 <_malloc_r+0x16c>
6606
   4592c:       1000610e        bge     r2,zero,45ab4 <_malloc_r+0x2d8>
6607
   45930:       84000317        ldw     r16,12(r16)
6608
   45934:       2c000526        beq     r5,r16,4594c <_malloc_r+0x170>
6609
   45938:       80c00117        ldw     r3,4(r16)
6610
   4593c:       19c6703a        and     r3,r3,r7
6611
   45940:       1c45c83a        sub     r2,r3,r17
6612
   45944:       30bff90e        bge     r6,r2,4592c <__alt_data_end+0xfffde82c>
6613
   45948:       213fffc4        addi    r4,r4,-1
6614
   4594c:       21000044        addi    r4,r4,1
6615
   45950:       9c000417        ldw     r16,16(r19)
6616
   45954:       00c00174        movhi   r3,5
6617
   45958:       18f24804        addi    r3,r3,-14048
6618
   4595c:       1a400204        addi    r9,r3,8
6619
   45960:       8240ff26        beq     r16,r9,45d60 <_malloc_r+0x584>
6620
   45964:       81400117        ldw     r5,4(r16)
6621
   45968:       00bfff04        movi    r2,-4
6622
   4596c:       018003c4        movi    r6,15
6623
   45970:       2884703a        and     r2,r5,r2
6624
   45974:       144bc83a        sub     r5,r2,r17
6625
   45978:       3140ea16        blt     r6,r5,45d24 <_malloc_r+0x548>
6626
   4597c:       1a400515        stw     r9,20(r3)
6627
   45980:       1a400415        stw     r9,16(r3)
6628
   45984:       2800570e        bge     r5,zero,45ae4 <_malloc_r+0x308>
6629
   45988:       01407fc4        movi    r5,511
6630
   4598c:       2880ca36        bltu    r5,r2,45cb8 <_malloc_r+0x4dc>
6631
   45990:       1004d0fa        srli    r2,r2,3
6632
   45994:       02000044        movi    r8,1
6633
   45998:       19c00117        ldw     r7,4(r3)
6634
   4599c:       108b883a        add     r5,r2,r2
6635
   459a0:       294b883a        add     r5,r5,r5
6636
   459a4:       1005d0ba        srai    r2,r2,2
6637
   459a8:       294b883a        add     r5,r5,r5
6638
   459ac:       28cb883a        add     r5,r5,r3
6639
   459b0:       29800217        ldw     r6,8(r5)
6640
   459b4:       4084983a        sll     r2,r8,r2
6641
   459b8:       81400315        stw     r5,12(r16)
6642
   459bc:       81800215        stw     r6,8(r16)
6643
   459c0:       11c4b03a        or      r2,r2,r7
6644
   459c4:       18800115        stw     r2,4(r3)
6645
   459c8:       2c000215        stw     r16,8(r5)
6646
   459cc:       34000315        stw     r16,12(r6)
6647
   459d0:       200bd0ba        srai    r5,r4,2
6648
   459d4:       00c00044        movi    r3,1
6649
   459d8:       194a983a        sll     r5,r3,r5
6650
   459dc:       11404936        bltu    r2,r5,45b04 <_malloc_r+0x328>
6651
   459e0:       1146703a        and     r3,r2,r5
6652
   459e4:       18000a1e        bne     r3,zero,45a10 <_malloc_r+0x234>
6653
   459e8:       00ffff04        movi    r3,-4
6654
   459ec:       294b883a        add     r5,r5,r5
6655
   459f0:       20c8703a        and     r4,r4,r3
6656
   459f4:       1146703a        and     r3,r2,r5
6657
   459f8:       21000104        addi    r4,r4,4
6658
   459fc:       1800041e        bne     r3,zero,45a10 <_malloc_r+0x234>
6659
   45a00:       294b883a        add     r5,r5,r5
6660
   45a04:       1146703a        and     r3,r2,r5
6661
   45a08:       21000104        addi    r4,r4,4
6662
   45a0c:       183ffc26        beq     r3,zero,45a00 <__alt_data_end+0xfffde900>
6663
   45a10:       023fff04        movi    r8,-4
6664
   45a14:       01c003c4        movi    r7,15
6665
   45a18:       2105883a        add     r2,r4,r4
6666
   45a1c:       1085883a        add     r2,r2,r2
6667
   45a20:       1085883a        add     r2,r2,r2
6668
   45a24:       9899883a        add     r12,r19,r2
6669
   45a28:       62800304        addi    r10,r12,12
6670
   45a2c:       2017883a        mov     r11,r4
6671
   45a30:       54000017        ldw     r16,0(r10)
6672
   45a34:       51bffd04        addi    r6,r10,-12
6673
   45a38:       8180041e        bne     r16,r6,45a4c <_malloc_r+0x270>
6674
   45a3c:       0000ca06        br      45d68 <_malloc_r+0x58c>
6675
   45a40:       10001c0e        bge     r2,zero,45ab4 <_malloc_r+0x2d8>
6676
   45a44:       84000317        ldw     r16,12(r16)
6677
   45a48:       8180c726        beq     r16,r6,45d68 <_malloc_r+0x58c>
6678
   45a4c:       80c00117        ldw     r3,4(r16)
6679
   45a50:       1a06703a        and     r3,r3,r8
6680
   45a54:       1c45c83a        sub     r2,r3,r17
6681
   45a58:       38bff90e        bge     r7,r2,45a40 <__alt_data_end+0xfffde940>
6682
   45a5c:       81000317        ldw     r4,12(r16)
6683
   45a60:       81400217        ldw     r5,8(r16)
6684
   45a64:       8447883a        add     r3,r16,r17
6685
   45a68:       8c400054        ori     r17,r17,1
6686
   45a6c:       29000315        stw     r4,12(r5)
6687
   45a70:       21400215        stw     r5,8(r4)
6688
   45a74:       84400115        stw     r17,4(r16)
6689
   45a78:       1889883a        add     r4,r3,r2
6690
   45a7c:       11400054        ori     r5,r2,1
6691
   45a80:       98c00515        stw     r3,20(r19)
6692
   45a84:       98c00415        stw     r3,16(r19)
6693
   45a88:       20800015        stw     r2,0(r4)
6694
   45a8c:       1a400315        stw     r9,12(r3)
6695
   45a90:       1a400215        stw     r9,8(r3)
6696
   45a94:       19400115        stw     r5,4(r3)
6697
   45a98:       9009883a        mov     r4,r18
6698
   45a9c:       0049f280        call    49f28 <__malloc_unlock>
6699
   45aa0:       80800204        addi    r2,r16,8
6700
   45aa4:       003f7b06        br      45894 <__alt_data_end+0xfffde794>
6701
   45aa8:       8808d0fa        srli    r4,r17,3
6702
   45aac:       210b883a        add     r5,r4,r4
6703
   45ab0:       003f9106        br      458f8 <__alt_data_end+0xfffde7f8>
6704
   45ab4:       80c7883a        add     r3,r16,r3
6705
   45ab8:       19400117        ldw     r5,4(r3)
6706
   45abc:       80800317        ldw     r2,12(r16)
6707
   45ac0:       81000217        ldw     r4,8(r16)
6708
   45ac4:       29400054        ori     r5,r5,1
6709
   45ac8:       19400115        stw     r5,4(r3)
6710
   45acc:       20800315        stw     r2,12(r4)
6711
   45ad0:       11000215        stw     r4,8(r2)
6712
   45ad4:       9009883a        mov     r4,r18
6713
   45ad8:       0049f280        call    49f28 <__malloc_unlock>
6714
   45adc:       80800204        addi    r2,r16,8
6715
   45ae0:       003f6c06        br      45894 <__alt_data_end+0xfffde794>
6716
   45ae4:       8085883a        add     r2,r16,r2
6717
   45ae8:       10c00117        ldw     r3,4(r2)
6718
   45aec:       9009883a        mov     r4,r18
6719
   45af0:       18c00054        ori     r3,r3,1
6720
   45af4:       10c00115        stw     r3,4(r2)
6721
   45af8:       0049f280        call    49f28 <__malloc_unlock>
6722
   45afc:       80800204        addi    r2,r16,8
6723
   45b00:       003f6406        br      45894 <__alt_data_end+0xfffde794>
6724
   45b04:       9c000217        ldw     r16,8(r19)
6725
   45b08:       00bfff04        movi    r2,-4
6726
   45b0c:       85400117        ldw     r21,4(r16)
6727
   45b10:       a8aa703a        and     r21,r21,r2
6728
   45b14:       ac400336        bltu    r21,r17,45b24 <_malloc_r+0x348>
6729
   45b18:       ac45c83a        sub     r2,r21,r17
6730
   45b1c:       00c003c4        movi    r3,15
6731
   45b20:       18805316        blt     r3,r2,45c70 <_malloc_r+0x494>
6732
   45b24:       d5e6aa17        ldw     r23,-25944(gp)
6733
   45b28:       d0e00317        ldw     r3,-32756(gp)
6734
   45b2c:       00bfffc4        movi    r2,-1
6735
   45b30:       8579883a        add     fp,r16,r21
6736
   45b34:       8def883a        add     r23,r17,r23
6737
   45b38:       1880d226        beq     r3,r2,45e84 <_malloc_r+0x6a8>
6738
   45b3c:       bdc403c4        addi    r23,r23,4111
6739
   45b40:       00bc0004        movi    r2,-4096
6740
   45b44:       b8ae703a        and     r23,r23,r2
6741
   45b48:       9009883a        mov     r4,r18
6742
   45b4c:       b80b883a        mov     r5,r23
6743
   45b50:       004795c0        call    4795c <_sbrk_r>
6744
   45b54:       1029883a        mov     r20,r2
6745
   45b58:       00bfffc4        movi    r2,-1
6746
   45b5c:       a080d126        beq     r20,r2,45ea4 <_malloc_r+0x6c8>
6747
   45b60:       a7009f36        bltu    r20,fp,45de0 <_malloc_r+0x604>
6748
   45b64:       05800174        movhi   r22,5
6749
   45b68:       b5be7e04        addi    r22,r22,-1544
6750
   45b6c:       b0800017        ldw     r2,0(r22)
6751
   45b70:       b885883a        add     r2,r23,r2
6752
   45b74:       b0800015        stw     r2,0(r22)
6753
   45b78:       e500cf26        beq     fp,r20,45eb8 <_malloc_r+0x6dc>
6754
   45b7c:       d1200317        ldw     r4,-32756(gp)
6755
   45b80:       00ffffc4        movi    r3,-1
6756
   45b84:       20c0e026        beq     r4,r3,45f08 <_malloc_r+0x72c>
6757
   45b88:       a739c83a        sub     fp,r20,fp
6758
   45b8c:       1705883a        add     r2,r2,fp
6759
   45b90:       b0800015        stw     r2,0(r22)
6760
   45b94:       a08001cc        andi    r2,r20,7
6761
   45b98:       1000a526        beq     r2,zero,45e30 <_malloc_r+0x654>
6762
   45b9c:       a0a9c83a        sub     r20,r20,r2
6763
   45ba0:       00c40204        movi    r3,4104
6764
   45ba4:       a5000204        addi    r20,r20,8
6765
   45ba8:       1885c83a        sub     r2,r3,r2
6766
   45bac:       a5c7883a        add     r3,r20,r23
6767
   45bb0:       18c3ffcc        andi    r3,r3,4095
6768
   45bb4:       10efc83a        sub     r23,r2,r3
6769
   45bb8:       9009883a        mov     r4,r18
6770
   45bbc:       b80b883a        mov     r5,r23
6771
   45bc0:       004795c0        call    4795c <_sbrk_r>
6772
   45bc4:       00ffffc4        movi    r3,-1
6773
   45bc8:       10c0cc26        beq     r2,r3,45efc <_malloc_r+0x720>
6774
   45bcc:       1505c83a        sub     r2,r2,r20
6775
   45bd0:       b887883a        add     r3,r23,r2
6776
   45bd4:       18c00054        ori     r3,r3,1
6777
   45bd8:       b0800017        ldw     r2,0(r22)
6778
   45bdc:       9d000215        stw     r20,8(r19)
6779
   45be0:       a0c00115        stw     r3,4(r20)
6780
   45be4:       b885883a        add     r2,r23,r2
6781
   45be8:       b0800015        stw     r2,0(r22)
6782
   45bec:       84c00e26        beq     r16,r19,45c28 <_malloc_r+0x44c>
6783
   45bf0:       00c003c4        movi    r3,15
6784
   45bf4:       1d40902e        bgeu    r3,r21,45e38 <_malloc_r+0x65c>
6785
   45bf8:       ad7ffd04        addi    r21,r21,-12
6786
   45bfc:       013ffe04        movi    r4,-8
6787
   45c00:       a908703a        and     r4,r21,r4
6788
   45c04:       810b883a        add     r5,r16,r4
6789
   45c08:       01800144        movi    r6,5
6790
   45c0c:       29800115        stw     r6,4(r5)
6791
   45c10:       29800215        stw     r6,8(r5)
6792
   45c14:       81400117        ldw     r5,4(r16)
6793
   45c18:       2940004c        andi    r5,r5,1
6794
   45c1c:       214ab03a        or      r5,r4,r5
6795
   45c20:       81400115        stw     r5,4(r16)
6796
   45c24:       1900ae36        bltu    r3,r4,45ee0 <_malloc_r+0x704>
6797
   45c28:       d0e6a917        ldw     r3,-25948(gp)
6798
   45c2c:       1880012e        bgeu    r3,r2,45c34 <_malloc_r+0x458>
6799
   45c30:       d0a6a915        stw     r2,-25948(gp)
6800
   45c34:       d0e6a817        ldw     r3,-25952(gp)
6801
   45c38:       9c000217        ldw     r16,8(r19)
6802
   45c3c:       1880012e        bgeu    r3,r2,45c44 <_malloc_r+0x468>
6803
   45c40:       d0a6a815        stw     r2,-25952(gp)
6804
   45c44:       80c00117        ldw     r3,4(r16)
6805
   45c48:       00bfff04        movi    r2,-4
6806
   45c4c:       1886703a        and     r3,r3,r2
6807
   45c50:       1c45c83a        sub     r2,r3,r17
6808
   45c54:       1c400236        bltu    r3,r17,45c60 <_malloc_r+0x484>
6809
   45c58:       00c003c4        movi    r3,15
6810
   45c5c:       18800416        blt     r3,r2,45c70 <_malloc_r+0x494>
6811
   45c60:       9009883a        mov     r4,r18
6812
   45c64:       0049f280        call    49f28 <__malloc_unlock>
6813
   45c68:       0005883a        mov     r2,zero
6814
   45c6c:       003f0906        br      45894 <__alt_data_end+0xfffde794>
6815
   45c70:       88c00054        ori     r3,r17,1
6816
   45c74:       10800054        ori     r2,r2,1
6817
   45c78:       80c00115        stw     r3,4(r16)
6818
   45c7c:       8463883a        add     r17,r16,r17
6819
   45c80:       88800115        stw     r2,4(r17)
6820
   45c84:       9009883a        mov     r4,r18
6821
   45c88:       9c400215        stw     r17,8(r19)
6822
   45c8c:       0049f280        call    49f28 <__malloc_unlock>
6823
   45c90:       80800204        addi    r2,r16,8
6824
   45c94:       003eff06        br      45894 <__alt_data_end+0xfffde794>
6825
   45c98:       00800504        movi    r2,20
6826
   45c9c:       1100492e        bgeu    r2,r4,45dc4 <_malloc_r+0x5e8>
6827
   45ca0:       00801504        movi    r2,84
6828
   45ca4:       11005c36        bltu    r2,r4,45e18 <_malloc_r+0x63c>
6829
   45ca8:       8808d33a        srli    r4,r17,12
6830
   45cac:       21001b84        addi    r4,r4,110
6831
   45cb0:       210b883a        add     r5,r4,r4
6832
   45cb4:       003f1006        br      458f8 <__alt_data_end+0xfffde7f8>
6833
   45cb8:       1006d27a        srli    r3,r2,9
6834
   45cbc:       01400104        movi    r5,4
6835
   45cc0:       28c0432e        bgeu    r5,r3,45dd0 <_malloc_r+0x5f4>
6836
   45cc4:       01400504        movi    r5,20
6837
   45cc8:       28c07036        bltu    r5,r3,45e8c <_malloc_r+0x6b0>
6838
   45ccc:       194016c4        addi    r5,r3,91
6839
   45cd0:       294d883a        add     r6,r5,r5
6840
   45cd4:       318d883a        add     r6,r6,r6
6841
   45cd8:       318d883a        add     r6,r6,r6
6842
   45cdc:       998d883a        add     r6,r19,r6
6843
   45ce0:       30c00217        ldw     r3,8(r6)
6844
   45ce4:       01c00174        movhi   r7,5
6845
   45ce8:       39f24804        addi    r7,r7,-14048
6846
   45cec:       19805726        beq     r3,r6,45e4c <_malloc_r+0x670>
6847
   45cf0:       01ffff04        movi    r7,-4
6848
   45cf4:       19400117        ldw     r5,4(r3)
6849
   45cf8:       29ca703a        and     r5,r5,r7
6850
   45cfc:       1140022e        bgeu    r2,r5,45d08 <_malloc_r+0x52c>
6851
   45d00:       18c00217        ldw     r3,8(r3)
6852
   45d04:       30fffb1e        bne     r6,r3,45cf4 <__alt_data_end+0xfffdebf4>
6853
   45d08:       19400317        ldw     r5,12(r3)
6854
   45d0c:       98800117        ldw     r2,4(r19)
6855
   45d10:       81400315        stw     r5,12(r16)
6856
   45d14:       80c00215        stw     r3,8(r16)
6857
   45d18:       2c000215        stw     r16,8(r5)
6858
   45d1c:       1c000315        stw     r16,12(r3)
6859
   45d20:       003f2b06        br      459d0 <__alt_data_end+0xfffde8d0>
6860
   45d24:       8445883a        add     r2,r16,r17
6861
   45d28:       8c400054        ori     r17,r17,1
6862
   45d2c:       18800515        stw     r2,20(r3)
6863
   45d30:       18800415        stw     r2,16(r3)
6864
   45d34:       29000054        ori     r4,r5,1
6865
   45d38:       1147883a        add     r3,r2,r5
6866
   45d3c:       84400115        stw     r17,4(r16)
6867
   45d40:       11000115        stw     r4,4(r2)
6868
   45d44:       12400315        stw     r9,12(r2)
6869
   45d48:       12400215        stw     r9,8(r2)
6870
   45d4c:       19400015        stw     r5,0(r3)
6871
   45d50:       9009883a        mov     r4,r18
6872
   45d54:       0049f280        call    49f28 <__malloc_unlock>
6873
   45d58:       80800204        addi    r2,r16,8
6874
   45d5c:       003ecd06        br      45894 <__alt_data_end+0xfffde794>
6875
   45d60:       18800117        ldw     r2,4(r3)
6876
   45d64:       003f1a06        br      459d0 <__alt_data_end+0xfffde8d0>
6877
   45d68:       5ac00044        addi    r11,r11,1
6878
   45d6c:       588000cc        andi    r2,r11,3
6879
   45d70:       52800204        addi    r10,r10,8
6880
   45d74:       103f2e1e        bne     r2,zero,45a30 <__alt_data_end+0xfffde930>
6881
   45d78:       20c000cc        andi    r3,r4,3
6882
   45d7c:       60bffe04        addi    r2,r12,-8
6883
   45d80:       18006f26        beq     r3,zero,45f40 <_malloc_r+0x764>
6884
   45d84:       63000017        ldw     r12,0(r12)
6885
   45d88:       213fffc4        addi    r4,r4,-1
6886
   45d8c:       60bffa26        beq     r12,r2,45d78 <__alt_data_end+0xfffdec78>
6887
   45d90:       98800117        ldw     r2,4(r19)
6888
   45d94:       294b883a        add     r5,r5,r5
6889
   45d98:       117f5a36        bltu    r2,r5,45b04 <__alt_data_end+0xfffdea04>
6890
   45d9c:       283f5926        beq     r5,zero,45b04 <__alt_data_end+0xfffdea04>
6891
   45da0:       1146703a        and     r3,r2,r5
6892
   45da4:       18001626        beq     r3,zero,45e00 <_malloc_r+0x624>
6893
   45da8:       5809883a        mov     r4,r11
6894
   45dac:       003f1a06        br      45a18 <__alt_data_end+0xfffde918>
6895
   45db0:       80800204        addi    r2,r16,8
6896
   45db4:       84000517        ldw     r16,20(r16)
6897
   45db8:       143ea81e        bne     r2,r16,4585c <__alt_data_end+0xfffde75c>
6898
   45dbc:       21000084        addi    r4,r4,2
6899
   45dc0:       003ee306        br      45950 <__alt_data_end+0xfffde850>
6900
   45dc4:       210016c4        addi    r4,r4,91
6901
   45dc8:       210b883a        add     r5,r4,r4
6902
   45dcc:       003eca06        br      458f8 <__alt_data_end+0xfffde7f8>
6903
   45dd0:       100ad1ba        srli    r5,r2,6
6904
   45dd4:       29400e04        addi    r5,r5,56
6905
   45dd8:       294d883a        add     r6,r5,r5
6906
   45ddc:       003fbd06        br      45cd4 <__alt_data_end+0xfffdebd4>
6907
   45de0:       84ff6026        beq     r16,r19,45b64 <__alt_data_end+0xfffdea64>
6908
   45de4:       00800174        movhi   r2,5
6909
   45de8:       10b24804        addi    r2,r2,-14048
6910
   45dec:       14000217        ldw     r16,8(r2)
6911
   45df0:       00bfff04        movi    r2,-4
6912
   45df4:       80c00117        ldw     r3,4(r16)
6913
   45df8:       1886703a        and     r3,r3,r2
6914
   45dfc:       003f9406        br      45c50 <__alt_data_end+0xfffdeb50>
6915
   45e00:       294b883a        add     r5,r5,r5
6916
   45e04:       1146703a        and     r3,r2,r5
6917
   45e08:       5ac00104        addi    r11,r11,4
6918
   45e0c:       183ffc26        beq     r3,zero,45e00 <__alt_data_end+0xfffded00>
6919
   45e10:       5809883a        mov     r4,r11
6920
   45e14:       003f0006        br      45a18 <__alt_data_end+0xfffde918>
6921
   45e18:       00805504        movi    r2,340
6922
   45e1c:       11001336        bltu    r2,r4,45e6c <_malloc_r+0x690>
6923
   45e20:       8808d3fa        srli    r4,r17,15
6924
   45e24:       21001dc4        addi    r4,r4,119
6925
   45e28:       210b883a        add     r5,r4,r4
6926
   45e2c:       003eb206        br      458f8 <__alt_data_end+0xfffde7f8>
6927
   45e30:       00840004        movi    r2,4096
6928
   45e34:       003f5d06        br      45bac <__alt_data_end+0xfffdeaac>
6929
   45e38:       00800044        movi    r2,1
6930
   45e3c:       a0800115        stw     r2,4(r20)
6931
   45e40:       a021883a        mov     r16,r20
6932
   45e44:       0007883a        mov     r3,zero
6933
   45e48:       003f8106        br      45c50 <__alt_data_end+0xfffdeb50>
6934
   45e4c:       280bd0ba        srai    r5,r5,2
6935
   45e50:       01800044        movi    r6,1
6936
   45e54:       38800117        ldw     r2,4(r7)
6937
   45e58:       314c983a        sll     r6,r6,r5
6938
   45e5c:       180b883a        mov     r5,r3
6939
   45e60:       3084b03a        or      r2,r6,r2
6940
   45e64:       38800115        stw     r2,4(r7)
6941
   45e68:       003fa906        br      45d10 <__alt_data_end+0xfffdec10>
6942
   45e6c:       00815504        movi    r2,1364
6943
   45e70:       11001836        bltu    r2,r4,45ed4 <_malloc_r+0x6f8>
6944
   45e74:       8808d4ba        srli    r4,r17,18
6945
   45e78:       21001f04        addi    r4,r4,124
6946
   45e7c:       210b883a        add     r5,r4,r4
6947
   45e80:       003e9d06        br      458f8 <__alt_data_end+0xfffde7f8>
6948
   45e84:       bdc00404        addi    r23,r23,16
6949
   45e88:       003f2f06        br      45b48 <__alt_data_end+0xfffdea48>
6950
   45e8c:       01401504        movi    r5,84
6951
   45e90:       28c01f36        bltu    r5,r3,45f10 <_malloc_r+0x734>
6952
   45e94:       100ad33a        srli    r5,r2,12
6953
   45e98:       29401b84        addi    r5,r5,110
6954
   45e9c:       294d883a        add     r6,r5,r5
6955
   45ea0:       003f8c06        br      45cd4 <__alt_data_end+0xfffdebd4>
6956
   45ea4:       9c000217        ldw     r16,8(r19)
6957
   45ea8:       00bfff04        movi    r2,-4
6958
   45eac:       80c00117        ldw     r3,4(r16)
6959
   45eb0:       1886703a        and     r3,r3,r2
6960
   45eb4:       003f6606        br      45c50 <__alt_data_end+0xfffdeb50>
6961
   45eb8:       e0c3ffcc        andi    r3,fp,4095
6962
   45ebc:       183f2f1e        bne     r3,zero,45b7c <__alt_data_end+0xfffdea7c>
6963
   45ec0:       98c00217        ldw     r3,8(r19)
6964
   45ec4:       bd49883a        add     r4,r23,r21
6965
   45ec8:       21000054        ori     r4,r4,1
6966
   45ecc:       19000115        stw     r4,4(r3)
6967
   45ed0:       003f5506        br      45c28 <__alt_data_end+0xfffdeb28>
6968
   45ed4:       01403f04        movi    r5,252
6969
   45ed8:       01001f84        movi    r4,126
6970
   45edc:       003e8606        br      458f8 <__alt_data_end+0xfffde7f8>
6971
   45ee0:       9009883a        mov     r4,r18
6972
   45ee4:       81400204        addi    r5,r16,8
6973
   45ee8:       0044c440        call    44c44 <_free_r>
6974
   45eec:       00800174        movhi   r2,5
6975
   45ef0:       10be7e04        addi    r2,r2,-1544
6976
   45ef4:       10800017        ldw     r2,0(r2)
6977
   45ef8:       003f4b06        br      45c28 <__alt_data_end+0xfffdeb28>
6978
   45efc:       00c00044        movi    r3,1
6979
   45f00:       002f883a        mov     r23,zero
6980
   45f04:       003f3406        br      45bd8 <__alt_data_end+0xfffdead8>
6981
   45f08:       d5200315        stw     r20,-32756(gp)
6982
   45f0c:       003f2106        br      45b94 <__alt_data_end+0xfffdea94>
6983
   45f10:       01405504        movi    r5,340
6984
   45f14:       28c00436        bltu    r5,r3,45f28 <_malloc_r+0x74c>
6985
   45f18:       100ad3fa        srli    r5,r2,15
6986
   45f1c:       29401dc4        addi    r5,r5,119
6987
   45f20:       294d883a        add     r6,r5,r5
6988
   45f24:       003f6b06        br      45cd4 <__alt_data_end+0xfffdebd4>
6989
   45f28:       01415504        movi    r5,1364
6990
   45f2c:       28c00936        bltu    r5,r3,45f54 <_malloc_r+0x778>
6991
   45f30:       100ad4ba        srli    r5,r2,18
6992
   45f34:       29401f04        addi    r5,r5,124
6993
   45f38:       294d883a        add     r6,r5,r5
6994
   45f3c:       003f6506        br      45cd4 <__alt_data_end+0xfffdebd4>
6995
   45f40:       98800117        ldw     r2,4(r19)
6996
   45f44:       0146303a        nor     r3,zero,r5
6997
   45f48:       1884703a        and     r2,r3,r2
6998
   45f4c:       98800115        stw     r2,4(r19)
6999
   45f50:       003f9006        br      45d94 <__alt_data_end+0xfffdec94>
7000
   45f54:       01803f04        movi    r6,252
7001
   45f58:       01401f84        movi    r5,126
7002
   45f5c:       003f5d06        br      45cd4 <__alt_data_end+0xfffdebd4>
7003
 
7004
00045f60 :
7005
   45f60:       008000c4        movi    r2,3
7006
   45f64:       29403fcc        andi    r5,r5,255
7007
   45f68:       1180282e        bgeu    r2,r6,4600c 
7008
   45f6c:       2086703a        and     r3,r4,r2
7009
   45f70:       1800351e        bne     r3,zero,46048 
7010
   45f74:       2816923a        slli    r11,r5,8
7011
   45f78:       2093883a        add     r9,r4,r2
7012
   45f7c:       22000084        addi    r8,r4,2
7013
   45f80:       5957883a        add     r11,r11,r5
7014
   45f84:       5816923a        slli    r11,r11,8
7015
   45f88:       20c00044        addi    r3,r4,1
7016
   45f8c:       037fbff4        movhi   r13,65279
7017
   45f90:       6b7fbfc4        addi    r13,r13,-257
7018
   45f94:       5957883a        add     r11,r11,r5
7019
   45f98:       5816923a        slli    r11,r11,8
7020
   45f9c:       03202074        movhi   r12,32897
7021
   45fa0:       63202004        addi    r12,r12,-32640
7022
   45fa4:       101d883a        mov     r14,r2
7023
   45fa8:       5957883a        add     r11,r11,r5
7024
   45fac:       21c00017        ldw     r7,0(r4)
7025
   45fb0:       31bfff04        addi    r6,r6,-4
7026
   45fb4:       1805883a        mov     r2,r3
7027
   45fb8:       3acef03a        xor     r7,r7,r11
7028
   45fbc:       3b55883a        add     r10,r7,r13
7029
   45fc0:       01ce303a        nor     r7,zero,r7
7030
   45fc4:       51ce703a        and     r7,r10,r7
7031
   45fc8:       3b0e703a        and     r7,r7,r12
7032
   45fcc:       38000a26        beq     r7,zero,45ff8 
7033
   45fd0:       21c00003        ldbu    r7,0(r4)
7034
   45fd4:       39401e26        beq     r7,r5,46050 
7035
   45fd8:       19c00003        ldbu    r7,0(r3)
7036
   45fdc:       39401926        beq     r7,r5,46044 
7037
   45fe0:       41c00003        ldbu    r7,0(r8)
7038
   45fe4:       4005883a        mov     r2,r8
7039
   45fe8:       39401626        beq     r7,r5,46044 
7040
   45fec:       49c00003        ldbu    r7,0(r9)
7041
   45ff0:       4805883a        mov     r2,r9
7042
   45ff4:       39401326        beq     r7,r5,46044 
7043
   45ff8:       21000104        addi    r4,r4,4
7044
   45ffc:       4a400104        addi    r9,r9,4
7045
   46000:       42000104        addi    r8,r8,4
7046
   46004:       18c00104        addi    r3,r3,4
7047
   46008:       71bfe836        bltu    r14,r6,45fac <__alt_data_end+0xfffdeeac>
7048
   4600c:       2005883a        mov     r2,r4
7049
   46010:       30000a26        beq     r6,zero,4603c 
7050
   46014:       10c00003        ldbu    r3,0(r2)
7051
   46018:       19400a26        beq     r3,r5,46044 
7052
   4601c:       10c00044        addi    r3,r2,1
7053
   46020:       118d883a        add     r6,r2,r6
7054
   46024:       00000306        br      46034 
7055
   46028:       11000003        ldbu    r4,0(r2)
7056
   4602c:       18c00044        addi    r3,r3,1
7057
   46030:       21400426        beq     r4,r5,46044 
7058
   46034:       1805883a        mov     r2,r3
7059
   46038:       19bffb1e        bne     r3,r6,46028 <__alt_data_end+0xfffdef28>
7060
   4603c:       0005883a        mov     r2,zero
7061
   46040:       f800283a        ret
7062
   46044:       f800283a        ret
7063
   46048:       2005883a        mov     r2,r4
7064
   4604c:       003ff106        br      46014 <__alt_data_end+0xfffdef14>
7065
   46050:       2005883a        mov     r2,r4
7066
   46054:       f800283a        ret
7067
 
7068
00046058 :
7069
   46058:       00c003c4        movi    r3,15
7070
   4605c:       2005883a        mov     r2,r4
7071
   46060:       3009883a        mov     r4,r6
7072
   46064:       1980032e        bgeu    r3,r6,46074 
7073
   46068:       2886b03a        or      r3,r5,r2
7074
   4606c:       18c000cc        andi    r3,r3,3
7075
   46070:       18000926        beq     r3,zero,46098 
7076
   46074:       1007883a        mov     r3,r2
7077
   46078:       290f883a        add     r7,r5,r4
7078
   4607c:       20000526        beq     r4,zero,46094 
7079
   46080:       29800003        ldbu    r6,0(r5)
7080
   46084:       18c00044        addi    r3,r3,1
7081
   46088:       29400044        addi    r5,r5,1
7082
   4608c:       19bfffc5        stb     r6,-1(r3)
7083
   46090:       29fffb1e        bne     r5,r7,46080 <__alt_data_end+0xfffdef80>
7084
   46094:       f800283a        ret
7085
   46098:       327ffc04        addi    r9,r6,-16
7086
   4609c:       4812d13a        srli    r9,r9,4
7087
   460a0:       11000404        addi    r4,r2,16
7088
   460a4:       1007883a        mov     r3,r2
7089
   460a8:       4810913a        slli    r8,r9,4
7090
   460ac:       280f883a        mov     r7,r5
7091
   460b0:       2209883a        add     r4,r4,r8
7092
   460b4:       3a000017        ldw     r8,0(r7)
7093
   460b8:       18c00404        addi    r3,r3,16
7094
   460bc:       39c00404        addi    r7,r7,16
7095
   460c0:       1a3ffc15        stw     r8,-16(r3)
7096
   460c4:       3a3ffd17        ldw     r8,-12(r7)
7097
   460c8:       1a3ffd15        stw     r8,-12(r3)
7098
   460cc:       3a3ffe17        ldw     r8,-8(r7)
7099
   460d0:       1a3ffe15        stw     r8,-8(r3)
7100
   460d4:       3a3fff17        ldw     r8,-4(r7)
7101
   460d8:       1a3fff15        stw     r8,-4(r3)
7102
   460dc:       193ff51e        bne     r3,r4,460b4 <__alt_data_end+0xfffdefb4>
7103
   460e0:       49c00044        addi    r7,r9,1
7104
   460e4:       380e913a        slli    r7,r7,4
7105
   460e8:       310003cc        andi    r4,r6,15
7106
   460ec:       018000c4        movi    r6,3
7107
   460f0:       11c7883a        add     r3,r2,r7
7108
   460f4:       29cb883a        add     r5,r5,r7
7109
   460f8:       313fdf2e        bgeu    r6,r4,46078 <__alt_data_end+0xfffdef78>
7110
   460fc:       213fff04        addi    r4,r4,-4
7111
   46100:       2014d0ba        srli    r10,r4,2
7112
   46104:       1a400104        addi    r9,r3,4
7113
   46108:       180d883a        mov     r6,r3
7114
   4610c:       528f883a        add     r7,r10,r10
7115
   46110:       39cf883a        add     r7,r7,r7
7116
   46114:       49d3883a        add     r9,r9,r7
7117
   46118:       280f883a        mov     r7,r5
7118
   4611c:       3a000017        ldw     r8,0(r7)
7119
   46120:       31800104        addi    r6,r6,4
7120
   46124:       39c00104        addi    r7,r7,4
7121
   46128:       323fff15        stw     r8,-4(r6)
7122
   4612c:       327ffb1e        bne     r6,r9,4611c <__alt_data_end+0xfffdf01c>
7123
   46130:       51800044        addi    r6,r10,1
7124
   46134:       52bfff24        muli    r10,r10,-4
7125
   46138:       318d883a        add     r6,r6,r6
7126
   4613c:       318d883a        add     r6,r6,r6
7127
   46140:       5109883a        add     r4,r10,r4
7128
   46144:       298b883a        add     r5,r5,r6
7129
   46148:       1987883a        add     r3,r3,r6
7130
   4614c:       003fca06        br      46078 <__alt_data_end+0xfffdef78>
7131
 
7132
00046150 :
7133
   46150:       2005883a        mov     r2,r4
7134
   46154:       300f883a        mov     r7,r6
7135
   46158:       29000b2e        bgeu    r5,r4,46188 
7136
   4615c:       2987883a        add     r3,r5,r6
7137
   46160:       20c0092e        bgeu    r4,r3,46188 
7138
   46164:       218b883a        add     r5,r4,r6
7139
   46168:       198fc83a        sub     r7,r3,r6
7140
   4616c:       30003f26        beq     r6,zero,4626c 
7141
   46170:       18ffffc4        addi    r3,r3,-1
7142
   46174:       19000003        ldbu    r4,0(r3)
7143
   46178:       297fffc4        addi    r5,r5,-1
7144
   4617c:       29000005        stb     r4,0(r5)
7145
   46180:       19fffb1e        bne     r3,r7,46170 <__alt_data_end+0xfffdf070>
7146
   46184:       f800283a        ret
7147
   46188:       00c003c4        movi    r3,15
7148
   4618c:       1980382e        bgeu    r3,r6,46270 
7149
   46190:       2886b03a        or      r3,r5,r2
7150
   46194:       18c000cc        andi    r3,r3,3
7151
   46198:       1800351e        bne     r3,zero,46270 
7152
   4619c:       327ffc04        addi    r9,r6,-16
7153
   461a0:       4812d13a        srli    r9,r9,4
7154
   461a4:       12000404        addi    r8,r2,16
7155
   461a8:       1007883a        mov     r3,r2
7156
   461ac:       4808913a        slli    r4,r9,4
7157
   461b0:       280f883a        mov     r7,r5
7158
   461b4:       4111883a        add     r8,r8,r4
7159
   461b8:       39000017        ldw     r4,0(r7)
7160
   461bc:       18c00404        addi    r3,r3,16
7161
   461c0:       39c00404        addi    r7,r7,16
7162
   461c4:       193ffc15        stw     r4,-16(r3)
7163
   461c8:       393ffd17        ldw     r4,-12(r7)
7164
   461cc:       193ffd15        stw     r4,-12(r3)
7165
   461d0:       393ffe17        ldw     r4,-8(r7)
7166
   461d4:       193ffe15        stw     r4,-8(r3)
7167
   461d8:       393fff17        ldw     r4,-4(r7)
7168
   461dc:       193fff15        stw     r4,-4(r3)
7169
   461e0:       1a3ff51e        bne     r3,r8,461b8 <__alt_data_end+0xfffdf0b8>
7170
   461e4:       49000044        addi    r4,r9,1
7171
   461e8:       2008913a        slli    r4,r4,4
7172
   461ec:       31c003cc        andi    r7,r6,15
7173
   461f0:       1107883a        add     r3,r2,r4
7174
   461f4:       290b883a        add     r5,r5,r4
7175
   461f8:       010000c4        movi    r4,3
7176
   461fc:       21c0142e        bgeu    r4,r7,46250 
7177
   46200:       39ffff04        addi    r7,r7,-4
7178
   46204:       3814d0ba        srli    r10,r7,2
7179
   46208:       1a400104        addi    r9,r3,4
7180
   4620c:       180d883a        mov     r6,r3
7181
   46210:       5289883a        add     r4,r10,r10
7182
   46214:       2109883a        add     r4,r4,r4
7183
   46218:       4913883a        add     r9,r9,r4
7184
   4621c:       2809883a        mov     r4,r5
7185
   46220:       22000017        ldw     r8,0(r4)
7186
   46224:       31800104        addi    r6,r6,4
7187
   46228:       21000104        addi    r4,r4,4
7188
   4622c:       323fff15        stw     r8,-4(r6)
7189
   46230:       327ffb1e        bne     r6,r9,46220 <__alt_data_end+0xfffdf120>
7190
   46234:       51000044        addi    r4,r10,1
7191
   46238:       52bfff24        muli    r10,r10,-4
7192
   4623c:       2109883a        add     r4,r4,r4
7193
   46240:       2109883a        add     r4,r4,r4
7194
   46244:       51cf883a        add     r7,r10,r7
7195
   46248:       290b883a        add     r5,r5,r4
7196
   4624c:       1907883a        add     r3,r3,r4
7197
   46250:       38000626        beq     r7,zero,4626c 
7198
   46254:       19cf883a        add     r7,r3,r7
7199
   46258:       29800003        ldbu    r6,0(r5)
7200
   4625c:       18c00044        addi    r3,r3,1
7201
   46260:       29400044        addi    r5,r5,1
7202
   46264:       19bfffc5        stb     r6,-1(r3)
7203
   46268:       19fffb1e        bne     r3,r7,46258 <__alt_data_end+0xfffdf158>
7204
   4626c:       f800283a        ret
7205
   46270:       1007883a        mov     r3,r2
7206
   46274:       003ff606        br      46250 <__alt_data_end+0xfffdf150>
7207
 
7208
00046278 :
7209
   46278:       00c000c4        movi    r3,3
7210
   4627c:       2005883a        mov     r2,r4
7211
   46280:       29403fcc        andi    r5,r5,255
7212
   46284:       19802d2e        bgeu    r3,r6,4633c 
7213
   46288:       20c6703a        and     r3,r4,r3
7214
   4628c:       18002e1e        bne     r3,zero,46348 
7215
   46290:       2806923a        slli    r3,r5,8
7216
   46294:       010003c4        movi    r4,15
7217
   46298:       3011883a        mov     r8,r6
7218
   4629c:       1946b03a        or      r3,r3,r5
7219
   462a0:       180e943a        slli    r7,r3,16
7220
   462a4:       38ceb03a        or      r7,r7,r3
7221
   462a8:       1007883a        mov     r3,r2
7222
   462ac:       21800f2e        bgeu    r4,r6,462ec 
7223
   462b0:       19c00015        stw     r7,0(r3)
7224
   462b4:       19c00115        stw     r7,4(r3)
7225
   462b8:       19c00215        stw     r7,8(r3)
7226
   462bc:       19c00315        stw     r7,12(r3)
7227
   462c0:       423ffc04        addi    r8,r8,-16
7228
   462c4:       18c00404        addi    r3,r3,16
7229
   462c8:       223ff936        bltu    r4,r8,462b0 <__alt_data_end+0xfffdf1b0>
7230
   462cc:       30fffc04        addi    r3,r6,-16
7231
   462d0:       1806d13a        srli    r3,r3,4
7232
   462d4:       318003cc        andi    r6,r6,15
7233
   462d8:       010000c4        movi    r4,3
7234
   462dc:       18c00044        addi    r3,r3,1
7235
   462e0:       1806913a        slli    r3,r3,4
7236
   462e4:       10c7883a        add     r3,r2,r3
7237
   462e8:       21800e2e        bgeu    r4,r6,46324 
7238
   462ec:       1813883a        mov     r9,r3
7239
   462f0:       3011883a        mov     r8,r6
7240
   462f4:       010000c4        movi    r4,3
7241
   462f8:       49c00015        stw     r7,0(r9)
7242
   462fc:       423fff04        addi    r8,r8,-4
7243
   46300:       4a400104        addi    r9,r9,4
7244
   46304:       223ffc36        bltu    r4,r8,462f8 <__alt_data_end+0xfffdf1f8>
7245
   46308:       313fff04        addi    r4,r6,-4
7246
   4630c:       2008d0ba        srli    r4,r4,2
7247
   46310:       318000cc        andi    r6,r6,3
7248
   46314:       21000044        addi    r4,r4,1
7249
   46318:       2109883a        add     r4,r4,r4
7250
   4631c:       2109883a        add     r4,r4,r4
7251
   46320:       1907883a        add     r3,r3,r4
7252
   46324:       30000a26        beq     r6,zero,46350 
7253
   46328:       198d883a        add     r6,r3,r6
7254
   4632c:       19400005        stb     r5,0(r3)
7255
   46330:       18c00044        addi    r3,r3,1
7256
   46334:       19bffd1e        bne     r3,r6,4632c <__alt_data_end+0xfffdf22c>
7257
   46338:       f800283a        ret
7258
   4633c:       2007883a        mov     r3,r4
7259
   46340:       303ff91e        bne     r6,zero,46328 <__alt_data_end+0xfffdf228>
7260
   46344:       00000206        br      46350 
7261
   46348:       2007883a        mov     r3,r4
7262
   4634c:       003ff606        br      46328 <__alt_data_end+0xfffdf228>
7263
   46350:       f800283a        ret
7264
 
7265
00046354 <_Balloc>:
7266
   46354:       20801317        ldw     r2,76(r4)
7267
   46358:       defffc04        addi    sp,sp,-16
7268
   4635c:       dc400115        stw     r17,4(sp)
7269
   46360:       dc000015        stw     r16,0(sp)
7270
   46364:       dfc00315        stw     ra,12(sp)
7271
   46368:       dc800215        stw     r18,8(sp)
7272
   4636c:       2023883a        mov     r17,r4
7273
   46370:       2821883a        mov     r16,r5
7274
   46374:       10000f26        beq     r2,zero,463b4 <_Balloc+0x60>
7275
   46378:       8407883a        add     r3,r16,r16
7276
   4637c:       18c7883a        add     r3,r3,r3
7277
   46380:       10c7883a        add     r3,r2,r3
7278
   46384:       18800017        ldw     r2,0(r3)
7279
   46388:       10001126        beq     r2,zero,463d0 <_Balloc+0x7c>
7280
   4638c:       11000017        ldw     r4,0(r2)
7281
   46390:       19000015        stw     r4,0(r3)
7282
   46394:       10000415        stw     zero,16(r2)
7283
   46398:       10000315        stw     zero,12(r2)
7284
   4639c:       dfc00317        ldw     ra,12(sp)
7285
   463a0:       dc800217        ldw     r18,8(sp)
7286
   463a4:       dc400117        ldw     r17,4(sp)
7287
   463a8:       dc000017        ldw     r16,0(sp)
7288
   463ac:       dec00404        addi    sp,sp,16
7289
   463b0:       f800283a        ret
7290
   463b4:       01400104        movi    r5,4
7291
   463b8:       01800404        movi    r6,16
7292
   463bc:       0047c100        call    47c10 <_calloc_r>
7293
   463c0:       88801315        stw     r2,76(r17)
7294
   463c4:       103fec1e        bne     r2,zero,46378 <__alt_data_end+0xfffdf278>
7295
   463c8:       0005883a        mov     r2,zero
7296
   463cc:       003ff306        br      4639c <__alt_data_end+0xfffdf29c>
7297
   463d0:       01400044        movi    r5,1
7298
   463d4:       2c24983a        sll     r18,r5,r16
7299
   463d8:       8809883a        mov     r4,r17
7300
   463dc:       91800144        addi    r6,r18,5
7301
   463e0:       318d883a        add     r6,r6,r6
7302
   463e4:       318d883a        add     r6,r6,r6
7303
   463e8:       0047c100        call    47c10 <_calloc_r>
7304
   463ec:       103ff626        beq     r2,zero,463c8 <__alt_data_end+0xfffdf2c8>
7305
   463f0:       14000115        stw     r16,4(r2)
7306
   463f4:       14800215        stw     r18,8(r2)
7307
   463f8:       003fe606        br      46394 <__alt_data_end+0xfffdf294>
7308
 
7309
000463fc <_Bfree>:
7310
   463fc:       28000826        beq     r5,zero,46420 <_Bfree+0x24>
7311
   46400:       28c00117        ldw     r3,4(r5)
7312
   46404:       20801317        ldw     r2,76(r4)
7313
   46408:       18c7883a        add     r3,r3,r3
7314
   4640c:       18c7883a        add     r3,r3,r3
7315
   46410:       10c5883a        add     r2,r2,r3
7316
   46414:       10c00017        ldw     r3,0(r2)
7317
   46418:       28c00015        stw     r3,0(r5)
7318
   4641c:       11400015        stw     r5,0(r2)
7319
   46420:       f800283a        ret
7320
 
7321
00046424 <__multadd>:
7322
   46424:       defffa04        addi    sp,sp,-24
7323
   46428:       dc000115        stw     r16,4(sp)
7324
   4642c:       2c000417        ldw     r16,16(r5)
7325
   46430:       dc800315        stw     r18,12(sp)
7326
   46434:       dc400215        stw     r17,8(sp)
7327
   46438:       dfc00515        stw     ra,20(sp)
7328
   4643c:       dcc00415        stw     r19,16(sp)
7329
   46440:       2823883a        mov     r17,r5
7330
   46444:       2025883a        mov     r18,r4
7331
   46448:       28c00504        addi    r3,r5,20
7332
   4644c:       0011883a        mov     r8,zero
7333
   46450:       1a800017        ldw     r10,0(r3)
7334
   46454:       18c00104        addi    r3,r3,4
7335
   46458:       42000044        addi    r8,r8,1
7336
   4645c:       527fffcc        andi    r9,r10,65535
7337
   46460:       4993383a        mul     r9,r9,r6
7338
   46464:       5014d43a        srli    r10,r10,16
7339
   46468:       49d3883a        add     r9,r9,r7
7340
   4646c:       480ed43a        srli    r7,r9,16
7341
   46470:       5195383a        mul     r10,r10,r6
7342
   46474:       4a7fffcc        andi    r9,r9,65535
7343
   46478:       3a8f883a        add     r7,r7,r10
7344
   4647c:       3814943a        slli    r10,r7,16
7345
   46480:       380ed43a        srli    r7,r7,16
7346
   46484:       5253883a        add     r9,r10,r9
7347
   46488:       1a7fff15        stw     r9,-4(r3)
7348
   4648c:       443ff016        blt     r8,r16,46450 <__alt_data_end+0xfffdf350>
7349
   46490:       38000926        beq     r7,zero,464b8 <__multadd+0x94>
7350
   46494:       88800217        ldw     r2,8(r17)
7351
   46498:       80800f0e        bge     r16,r2,464d8 <__multadd+0xb4>
7352
   4649c:       80800144        addi    r2,r16,5
7353
   464a0:       1085883a        add     r2,r2,r2
7354
   464a4:       1085883a        add     r2,r2,r2
7355
   464a8:       8885883a        add     r2,r17,r2
7356
   464ac:       84000044        addi    r16,r16,1
7357
   464b0:       11c00015        stw     r7,0(r2)
7358
   464b4:       8c000415        stw     r16,16(r17)
7359
   464b8:       8805883a        mov     r2,r17
7360
   464bc:       dfc00517        ldw     ra,20(sp)
7361
   464c0:       dcc00417        ldw     r19,16(sp)
7362
   464c4:       dc800317        ldw     r18,12(sp)
7363
   464c8:       dc400217        ldw     r17,8(sp)
7364
   464cc:       dc000117        ldw     r16,4(sp)
7365
   464d0:       dec00604        addi    sp,sp,24
7366
   464d4:       f800283a        ret
7367
   464d8:       89400117        ldw     r5,4(r17)
7368
   464dc:       9009883a        mov     r4,r18
7369
   464e0:       d9c00015        stw     r7,0(sp)
7370
   464e4:       29400044        addi    r5,r5,1
7371
   464e8:       00463540        call    46354 <_Balloc>
7372
   464ec:       89800417        ldw     r6,16(r17)
7373
   464f0:       89400304        addi    r5,r17,12
7374
   464f4:       11000304        addi    r4,r2,12
7375
   464f8:       31800084        addi    r6,r6,2
7376
   464fc:       318d883a        add     r6,r6,r6
7377
   46500:       318d883a        add     r6,r6,r6
7378
   46504:       1027883a        mov     r19,r2
7379
   46508:       00460580        call    46058 
7380
   4650c:       88c00117        ldw     r3,4(r17)
7381
   46510:       90801317        ldw     r2,76(r18)
7382
   46514:       d9c00017        ldw     r7,0(sp)
7383
   46518:       18c7883a        add     r3,r3,r3
7384
   4651c:       18c7883a        add     r3,r3,r3
7385
   46520:       10c5883a        add     r2,r2,r3
7386
   46524:       10c00017        ldw     r3,0(r2)
7387
   46528:       88c00015        stw     r3,0(r17)
7388
   4652c:       14400015        stw     r17,0(r2)
7389
   46530:       9823883a        mov     r17,r19
7390
   46534:       003fd906        br      4649c <__alt_data_end+0xfffdf39c>
7391
 
7392
00046538 <__s2b>:
7393
   46538:       defff904        addi    sp,sp,-28
7394
   4653c:       dd000415        stw     r20,16(sp)
7395
   46540:       dc400115        stw     r17,4(sp)
7396
   46544:       2829883a        mov     r20,r5
7397
   46548:       2023883a        mov     r17,r4
7398
   4654c:       01400244        movi    r5,9
7399
   46550:       39000204        addi    r4,r7,8
7400
   46554:       dcc00315        stw     r19,12(sp)
7401
   46558:       dc800215        stw     r18,8(sp)
7402
   4655c:       dfc00615        stw     ra,24(sp)
7403
   46560:       dd400515        stw     r21,20(sp)
7404
   46564:       dc000015        stw     r16,0(sp)
7405
   46568:       3825883a        mov     r18,r7
7406
   4656c:       3027883a        mov     r19,r6
7407
   46570:       00497680        call    49768 <__divsi3>
7408
   46574:       00c00044        movi    r3,1
7409
   46578:       000b883a        mov     r5,zero
7410
   4657c:       1880030e        bge     r3,r2,4658c <__s2b+0x54>
7411
   46580:       18c7883a        add     r3,r3,r3
7412
   46584:       29400044        addi    r5,r5,1
7413
   46588:       18bffd16        blt     r3,r2,46580 <__alt_data_end+0xfffdf480>
7414
   4658c:       8809883a        mov     r4,r17
7415
   46590:       00463540        call    46354 <_Balloc>
7416
   46594:       d8c00717        ldw     r3,28(sp)
7417
   46598:       10c00515        stw     r3,20(r2)
7418
   4659c:       00c00044        movi    r3,1
7419
   465a0:       10c00415        stw     r3,16(r2)
7420
   465a4:       00c00244        movi    r3,9
7421
   465a8:       1cc0210e        bge     r3,r19,46630 <__s2b+0xf8>
7422
   465ac:       a0eb883a        add     r21,r20,r3
7423
   465b0:       a821883a        mov     r16,r21
7424
   465b4:       a4e9883a        add     r20,r20,r19
7425
   465b8:       81c00007        ldb     r7,0(r16)
7426
   465bc:       8809883a        mov     r4,r17
7427
   465c0:       84000044        addi    r16,r16,1
7428
   465c4:       100b883a        mov     r5,r2
7429
   465c8:       01800284        movi    r6,10
7430
   465cc:       39fff404        addi    r7,r7,-48
7431
   465d0:       00464240        call    46424 <__multadd>
7432
   465d4:       853ff81e        bne     r16,r20,465b8 <__alt_data_end+0xfffdf4b8>
7433
   465d8:       ace1883a        add     r16,r21,r19
7434
   465dc:       843ffe04        addi    r16,r16,-8
7435
   465e0:       9c800a0e        bge     r19,r18,4660c <__s2b+0xd4>
7436
   465e4:       94e5c83a        sub     r18,r18,r19
7437
   465e8:       84a5883a        add     r18,r16,r18
7438
   465ec:       81c00007        ldb     r7,0(r16)
7439
   465f0:       8809883a        mov     r4,r17
7440
   465f4:       84000044        addi    r16,r16,1
7441
   465f8:       100b883a        mov     r5,r2
7442
   465fc:       01800284        movi    r6,10
7443
   46600:       39fff404        addi    r7,r7,-48
7444
   46604:       00464240        call    46424 <__multadd>
7445
   46608:       84bff81e        bne     r16,r18,465ec <__alt_data_end+0xfffdf4ec>
7446
   4660c:       dfc00617        ldw     ra,24(sp)
7447
   46610:       dd400517        ldw     r21,20(sp)
7448
   46614:       dd000417        ldw     r20,16(sp)
7449
   46618:       dcc00317        ldw     r19,12(sp)
7450
   4661c:       dc800217        ldw     r18,8(sp)
7451
   46620:       dc400117        ldw     r17,4(sp)
7452
   46624:       dc000017        ldw     r16,0(sp)
7453
   46628:       dec00704        addi    sp,sp,28
7454
   4662c:       f800283a        ret
7455
   46630:       a4000284        addi    r16,r20,10
7456
   46634:       1827883a        mov     r19,r3
7457
   46638:       003fe906        br      465e0 <__alt_data_end+0xfffdf4e0>
7458
 
7459
0004663c <__hi0bits>:
7460
   4663c:       20bfffec        andhi   r2,r4,65535
7461
   46640:       1000141e        bne     r2,zero,46694 <__hi0bits+0x58>
7462
   46644:       2008943a        slli    r4,r4,16
7463
   46648:       00800404        movi    r2,16
7464
   4664c:       20ffc02c        andhi   r3,r4,65280
7465
   46650:       1800021e        bne     r3,zero,4665c <__hi0bits+0x20>
7466
   46654:       2008923a        slli    r4,r4,8
7467
   46658:       10800204        addi    r2,r2,8
7468
   4665c:       20fc002c        andhi   r3,r4,61440
7469
   46660:       1800021e        bne     r3,zero,4666c <__hi0bits+0x30>
7470
   46664:       2008913a        slli    r4,r4,4
7471
   46668:       10800104        addi    r2,r2,4
7472
   4666c:       20f0002c        andhi   r3,r4,49152
7473
   46670:       1800031e        bne     r3,zero,46680 <__hi0bits+0x44>
7474
   46674:       2109883a        add     r4,r4,r4
7475
   46678:       10800084        addi    r2,r2,2
7476
   4667c:       2109883a        add     r4,r4,r4
7477
   46680:       20000316        blt     r4,zero,46690 <__hi0bits+0x54>
7478
   46684:       2110002c        andhi   r4,r4,16384
7479
   46688:       2000041e        bne     r4,zero,4669c <__hi0bits+0x60>
7480
   4668c:       00800804        movi    r2,32
7481
   46690:       f800283a        ret
7482
   46694:       0005883a        mov     r2,zero
7483
   46698:       003fec06        br      4664c <__alt_data_end+0xfffdf54c>
7484
   4669c:       10800044        addi    r2,r2,1
7485
   466a0:       f800283a        ret
7486
 
7487
000466a4 <__lo0bits>:
7488
   466a4:       20c00017        ldw     r3,0(r4)
7489
   466a8:       188001cc        andi    r2,r3,7
7490
   466ac:       10000826        beq     r2,zero,466d0 <__lo0bits+0x2c>
7491
   466b0:       1880004c        andi    r2,r3,1
7492
   466b4:       1000211e        bne     r2,zero,4673c <__lo0bits+0x98>
7493
   466b8:       1880008c        andi    r2,r3,2
7494
   466bc:       1000211e        bne     r2,zero,46744 <__lo0bits+0xa0>
7495
   466c0:       1806d0ba        srli    r3,r3,2
7496
   466c4:       00800084        movi    r2,2
7497
   466c8:       20c00015        stw     r3,0(r4)
7498
   466cc:       f800283a        ret
7499
   466d0:       18bfffcc        andi    r2,r3,65535
7500
   466d4:       10001326        beq     r2,zero,46724 <__lo0bits+0x80>
7501
   466d8:       0005883a        mov     r2,zero
7502
   466dc:       19403fcc        andi    r5,r3,255
7503
   466e0:       2800021e        bne     r5,zero,466ec <__lo0bits+0x48>
7504
   466e4:       1806d23a        srli    r3,r3,8
7505
   466e8:       10800204        addi    r2,r2,8
7506
   466ec:       194003cc        andi    r5,r3,15
7507
   466f0:       2800021e        bne     r5,zero,466fc <__lo0bits+0x58>
7508
   466f4:       1806d13a        srli    r3,r3,4
7509
   466f8:       10800104        addi    r2,r2,4
7510
   466fc:       194000cc        andi    r5,r3,3
7511
   46700:       2800021e        bne     r5,zero,4670c <__lo0bits+0x68>
7512
   46704:       1806d0ba        srli    r3,r3,2
7513
   46708:       10800084        addi    r2,r2,2
7514
   4670c:       1940004c        andi    r5,r3,1
7515
   46710:       2800081e        bne     r5,zero,46734 <__lo0bits+0x90>
7516
   46714:       1806d07a        srli    r3,r3,1
7517
   46718:       1800051e        bne     r3,zero,46730 <__lo0bits+0x8c>
7518
   4671c:       00800804        movi    r2,32
7519
   46720:       f800283a        ret
7520
   46724:       1806d43a        srli    r3,r3,16
7521
   46728:       00800404        movi    r2,16
7522
   4672c:       003feb06        br      466dc <__alt_data_end+0xfffdf5dc>
7523
   46730:       10800044        addi    r2,r2,1
7524
   46734:       20c00015        stw     r3,0(r4)
7525
   46738:       f800283a        ret
7526
   4673c:       0005883a        mov     r2,zero
7527
   46740:       f800283a        ret
7528
   46744:       1806d07a        srli    r3,r3,1
7529
   46748:       00800044        movi    r2,1
7530
   4674c:       20c00015        stw     r3,0(r4)
7531
   46750:       f800283a        ret
7532
 
7533
00046754 <__i2b>:
7534
   46754:       defffd04        addi    sp,sp,-12
7535
   46758:       dc000015        stw     r16,0(sp)
7536
   4675c:       04000044        movi    r16,1
7537
   46760:       dc400115        stw     r17,4(sp)
7538
   46764:       2823883a        mov     r17,r5
7539
   46768:       800b883a        mov     r5,r16
7540
   4676c:       dfc00215        stw     ra,8(sp)
7541
   46770:       00463540        call    46354 <_Balloc>
7542
   46774:       14400515        stw     r17,20(r2)
7543
   46778:       14000415        stw     r16,16(r2)
7544
   4677c:       dfc00217        ldw     ra,8(sp)
7545
   46780:       dc400117        ldw     r17,4(sp)
7546
   46784:       dc000017        ldw     r16,0(sp)
7547
   46788:       dec00304        addi    sp,sp,12
7548
   4678c:       f800283a        ret
7549
 
7550
00046790 <__multiply>:
7551
   46790:       defffa04        addi    sp,sp,-24
7552
   46794:       dcc00315        stw     r19,12(sp)
7553
   46798:       dc400115        stw     r17,4(sp)
7554
   4679c:       34c00417        ldw     r19,16(r6)
7555
   467a0:       2c400417        ldw     r17,16(r5)
7556
   467a4:       dd000415        stw     r20,16(sp)
7557
   467a8:       dc800215        stw     r18,8(sp)
7558
   467ac:       dfc00515        stw     ra,20(sp)
7559
   467b0:       dc000015        stw     r16,0(sp)
7560
   467b4:       2825883a        mov     r18,r5
7561
   467b8:       3029883a        mov     r20,r6
7562
   467bc:       8cc0050e        bge     r17,r19,467d4 <__multiply+0x44>
7563
   467c0:       8807883a        mov     r3,r17
7564
   467c4:       3025883a        mov     r18,r6
7565
   467c8:       9823883a        mov     r17,r19
7566
   467cc:       2829883a        mov     r20,r5
7567
   467d0:       1827883a        mov     r19,r3
7568
   467d4:       90800217        ldw     r2,8(r18)
7569
   467d8:       8ce1883a        add     r16,r17,r19
7570
   467dc:       91400117        ldw     r5,4(r18)
7571
   467e0:       1400010e        bge     r2,r16,467e8 <__multiply+0x58>
7572
   467e4:       29400044        addi    r5,r5,1
7573
   467e8:       00463540        call    46354 <_Balloc>
7574
   467ec:       83c00144        addi    r15,r16,5
7575
   467f0:       7bdf883a        add     r15,r15,r15
7576
   467f4:       7bdf883a        add     r15,r15,r15
7577
   467f8:       13800504        addi    r14,r2,20
7578
   467fc:       13df883a        add     r15,r2,r15
7579
   46800:       7007883a        mov     r3,r14
7580
   46804:       73c0032e        bgeu    r14,r15,46814 <__multiply+0x84>
7581
   46808:       18000015        stw     zero,0(r3)
7582
   4680c:       18c00104        addi    r3,r3,4
7583
   46810:       1bfffd36        bltu    r3,r15,46808 <__alt_data_end+0xfffdf708>
7584
   46814:       99800144        addi    r6,r19,5
7585
   46818:       8b000144        addi    r12,r17,5
7586
   4681c:       318d883a        add     r6,r6,r6
7587
   46820:       6319883a        add     r12,r12,r12
7588
   46824:       318d883a        add     r6,r6,r6
7589
   46828:       6319883a        add     r12,r12,r12
7590
   4682c:       a3400504        addi    r13,r20,20
7591
   46830:       a18d883a        add     r6,r20,r6
7592
   46834:       94400504        addi    r17,r18,20
7593
   46838:       9319883a        add     r12,r18,r12
7594
   4683c:       6980392e        bgeu    r13,r6,46924 <__multiply+0x194>
7595
   46840:       6a800017        ldw     r10,0(r13)
7596
   46844:       52ffffcc        andi    r11,r10,65535
7597
   46848:       58001826        beq     r11,zero,468ac <__multiply+0x11c>
7598
   4684c:       7007883a        mov     r3,r14
7599
   46850:       8809883a        mov     r4,r17
7600
   46854:       000b883a        mov     r5,zero
7601
   46858:       22400017        ldw     r9,0(r4)
7602
   4685c:       1a000017        ldw     r8,0(r3)
7603
   46860:       21000104        addi    r4,r4,4
7604
   46864:       49ffffcc        andi    r7,r9,65535
7605
   46868:       3acf383a        mul     r7,r7,r11
7606
   4686c:       4812d43a        srli    r9,r9,16
7607
   46870:       42bfffcc        andi    r10,r8,65535
7608
   46874:       3a8f883a        add     r7,r7,r10
7609
   46878:       394f883a        add     r7,r7,r5
7610
   4687c:       4010d43a        srli    r8,r8,16
7611
   46880:       4acb383a        mul     r5,r9,r11
7612
   46884:       3814d43a        srli    r10,r7,16
7613
   46888:       19c0000d        sth     r7,0(r3)
7614
   4688c:       2a0b883a        add     r5,r5,r8
7615
   46890:       2a8b883a        add     r5,r5,r10
7616
   46894:       1940008d        sth     r5,2(r3)
7617
   46898:       280ad43a        srli    r5,r5,16
7618
   4689c:       18c00104        addi    r3,r3,4
7619
   468a0:       233fed36        bltu    r4,r12,46858 <__alt_data_end+0xfffdf758>
7620
   468a4:       19400015        stw     r5,0(r3)
7621
   468a8:       6a800017        ldw     r10,0(r13)
7622
   468ac:       5014d43a        srli    r10,r10,16
7623
   468b0:       50001926        beq     r10,zero,46918 <__multiply+0x188>
7624
   468b4:       71400017        ldw     r5,0(r14)
7625
   468b8:       7007883a        mov     r3,r14
7626
   468bc:       8809883a        mov     r4,r17
7627
   468c0:       280f883a        mov     r7,r5
7628
   468c4:       0017883a        mov     r11,zero
7629
   468c8:       22400017        ldw     r9,0(r4)
7630
   468cc:       380ed43a        srli    r7,r7,16
7631
   468d0:       1940000d        sth     r5,0(r3)
7632
   468d4:       4a3fffcc        andi    r8,r9,65535
7633
   468d8:       4291383a        mul     r8,r8,r10
7634
   468dc:       4812d43a        srli    r9,r9,16
7635
   468e0:       18c00104        addi    r3,r3,4
7636
   468e4:       41d1883a        add     r8,r8,r7
7637
   468e8:       19c00017        ldw     r7,0(r3)
7638
   468ec:       42d1883a        add     r8,r8,r11
7639
   468f0:       4a93383a        mul     r9,r9,r10
7640
   468f4:       1a3fff8d        sth     r8,-2(r3)
7641
   468f8:       4010d43a        srli    r8,r8,16
7642
   468fc:       397fffcc        andi    r5,r7,65535
7643
   46900:       2a4b883a        add     r5,r5,r9
7644
   46904:       2a0b883a        add     r5,r5,r8
7645
   46908:       21000104        addi    r4,r4,4
7646
   4690c:       2816d43a        srli    r11,r5,16
7647
   46910:       233fed36        bltu    r4,r12,468c8 <__alt_data_end+0xfffdf7c8>
7648
   46914:       19400015        stw     r5,0(r3)
7649
   46918:       6b400104        addi    r13,r13,4
7650
   4691c:       73800104        addi    r14,r14,4
7651
   46920:       69bfc736        bltu    r13,r6,46840 <__alt_data_end+0xfffdf740>
7652
   46924:       0400090e        bge     zero,r16,4694c <__multiply+0x1bc>
7653
   46928:       78ffff17        ldw     r3,-4(r15)
7654
   4692c:       7bffff04        addi    r15,r15,-4
7655
   46930:       18000326        beq     r3,zero,46940 <__multiply+0x1b0>
7656
   46934:       00000506        br      4694c <__multiply+0x1bc>
7657
   46938:       78c00017        ldw     r3,0(r15)
7658
   4693c:       1800031e        bne     r3,zero,4694c <__multiply+0x1bc>
7659
   46940:       843fffc4        addi    r16,r16,-1
7660
   46944:       7bffff04        addi    r15,r15,-4
7661
   46948:       803ffb1e        bne     r16,zero,46938 <__alt_data_end+0xfffdf838>
7662
   4694c:       14000415        stw     r16,16(r2)
7663
   46950:       dfc00517        ldw     ra,20(sp)
7664
   46954:       dd000417        ldw     r20,16(sp)
7665
   46958:       dcc00317        ldw     r19,12(sp)
7666
   4695c:       dc800217        ldw     r18,8(sp)
7667
   46960:       dc400117        ldw     r17,4(sp)
7668
   46964:       dc000017        ldw     r16,0(sp)
7669
   46968:       dec00604        addi    sp,sp,24
7670
   4696c:       f800283a        ret
7671
 
7672
00046970 <__pow5mult>:
7673
   46970:       defffb04        addi    sp,sp,-20
7674
   46974:       dcc00315        stw     r19,12(sp)
7675
   46978:       dc800215        stw     r18,8(sp)
7676
   4697c:       dc000015        stw     r16,0(sp)
7677
   46980:       dfc00415        stw     ra,16(sp)
7678
   46984:       dc400115        stw     r17,4(sp)
7679
   46988:       308000cc        andi    r2,r6,3
7680
   4698c:       3021883a        mov     r16,r6
7681
   46990:       2027883a        mov     r19,r4
7682
   46994:       2825883a        mov     r18,r5
7683
   46998:       10002e1e        bne     r2,zero,46a54 <__pow5mult+0xe4>
7684
   4699c:       8021d0ba        srai    r16,r16,2
7685
   469a0:       80001a26        beq     r16,zero,46a0c <__pow5mult+0x9c>
7686
   469a4:       9c401217        ldw     r17,72(r19)
7687
   469a8:       8800061e        bne     r17,zero,469c4 <__pow5mult+0x54>
7688
   469ac:       00003406        br      46a80 <__pow5mult+0x110>
7689
   469b0:       8021d07a        srai    r16,r16,1
7690
   469b4:       80001526        beq     r16,zero,46a0c <__pow5mult+0x9c>
7691
   469b8:       88c00017        ldw     r3,0(r17)
7692
   469bc:       18001b26        beq     r3,zero,46a2c <__pow5mult+0xbc>
7693
   469c0:       1823883a        mov     r17,r3
7694
   469c4:       80c0004c        andi    r3,r16,1
7695
   469c8:       183ff926        beq     r3,zero,469b0 <__alt_data_end+0xfffdf8b0>
7696
   469cc:       900b883a        mov     r5,r18
7697
   469d0:       880d883a        mov     r6,r17
7698
   469d4:       9809883a        mov     r4,r19
7699
   469d8:       00467900        call    46790 <__multiply>
7700
   469dc:       90001b26        beq     r18,zero,46a4c <__pow5mult+0xdc>
7701
   469e0:       91000117        ldw     r4,4(r18)
7702
   469e4:       98c01317        ldw     r3,76(r19)
7703
   469e8:       8021d07a        srai    r16,r16,1
7704
   469ec:       2109883a        add     r4,r4,r4
7705
   469f0:       2109883a        add     r4,r4,r4
7706
   469f4:       1907883a        add     r3,r3,r4
7707
   469f8:       19000017        ldw     r4,0(r3)
7708
   469fc:       91000015        stw     r4,0(r18)
7709
   46a00:       1c800015        stw     r18,0(r3)
7710
   46a04:       1025883a        mov     r18,r2
7711
   46a08:       803feb1e        bne     r16,zero,469b8 <__alt_data_end+0xfffdf8b8>
7712
   46a0c:       9005883a        mov     r2,r18
7713
   46a10:       dfc00417        ldw     ra,16(sp)
7714
   46a14:       dcc00317        ldw     r19,12(sp)
7715
   46a18:       dc800217        ldw     r18,8(sp)
7716
   46a1c:       dc400117        ldw     r17,4(sp)
7717
   46a20:       dc000017        ldw     r16,0(sp)
7718
   46a24:       dec00504        addi    sp,sp,20
7719
   46a28:       f800283a        ret
7720
   46a2c:       880b883a        mov     r5,r17
7721
   46a30:       880d883a        mov     r6,r17
7722
   46a34:       9809883a        mov     r4,r19
7723
   46a38:       00467900        call    46790 <__multiply>
7724
   46a3c:       88800015        stw     r2,0(r17)
7725
   46a40:       10000015        stw     zero,0(r2)
7726
   46a44:       1023883a        mov     r17,r2
7727
   46a48:       003fde06        br      469c4 <__alt_data_end+0xfffdf8c4>
7728
   46a4c:       1025883a        mov     r18,r2
7729
   46a50:       003fd706        br      469b0 <__alt_data_end+0xfffdf8b0>
7730
   46a54:       10bfffc4        addi    r2,r2,-1
7731
   46a58:       1085883a        add     r2,r2,r2
7732
   46a5c:       00c00174        movhi   r3,5
7733
   46a60:       18f13704        addi    r3,r3,-15140
7734
   46a64:       1085883a        add     r2,r2,r2
7735
   46a68:       1885883a        add     r2,r3,r2
7736
   46a6c:       11800017        ldw     r6,0(r2)
7737
   46a70:       000f883a        mov     r7,zero
7738
   46a74:       00464240        call    46424 <__multadd>
7739
   46a78:       1025883a        mov     r18,r2
7740
   46a7c:       003fc706        br      4699c <__alt_data_end+0xfffdf89c>
7741
   46a80:       9809883a        mov     r4,r19
7742
   46a84:       01409c44        movi    r5,625
7743
   46a88:       00467540        call    46754 <__i2b>
7744
   46a8c:       98801215        stw     r2,72(r19)
7745
   46a90:       1023883a        mov     r17,r2
7746
   46a94:       10000015        stw     zero,0(r2)
7747
   46a98:       003fca06        br      469c4 <__alt_data_end+0xfffdf8c4>
7748
 
7749
00046a9c <__lshift>:
7750
   46a9c:       defff904        addi    sp,sp,-28
7751
   46aa0:       dd400515        stw     r21,20(sp)
7752
   46aa4:       dc400115        stw     r17,4(sp)
7753
   46aa8:       2d400417        ldw     r21,16(r5)
7754
   46aac:       3023d17a        srai    r17,r6,5
7755
   46ab0:       28800217        ldw     r2,8(r5)
7756
   46ab4:       dd000415        stw     r20,16(sp)
7757
   46ab8:       8d6b883a        add     r21,r17,r21
7758
   46abc:       dcc00315        stw     r19,12(sp)
7759
   46ac0:       dc800215        stw     r18,8(sp)
7760
   46ac4:       dc000015        stw     r16,0(sp)
7761
   46ac8:       dfc00615        stw     ra,24(sp)
7762
   46acc:       ac000044        addi    r16,r21,1
7763
   46ad0:       2825883a        mov     r18,r5
7764
   46ad4:       3029883a        mov     r20,r6
7765
   46ad8:       2027883a        mov     r19,r4
7766
   46adc:       29400117        ldw     r5,4(r5)
7767
   46ae0:       1400030e        bge     r2,r16,46af0 <__lshift+0x54>
7768
   46ae4:       1085883a        add     r2,r2,r2
7769
   46ae8:       29400044        addi    r5,r5,1
7770
   46aec:       143ffd16        blt     r2,r16,46ae4 <__alt_data_end+0xfffdf9e4>
7771
   46af0:       9809883a        mov     r4,r19
7772
   46af4:       00463540        call    46354 <_Balloc>
7773
   46af8:       10c00504        addi    r3,r2,20
7774
   46afc:       0440090e        bge     zero,r17,46b24 <__lshift+0x88>
7775
   46b00:       000f883a        mov     r7,zero
7776
   46b04:       18000015        stw     zero,0(r3)
7777
   46b08:       39c00044        addi    r7,r7,1
7778
   46b0c:       18c00104        addi    r3,r3,4
7779
   46b10:       3c7ffc1e        bne     r7,r17,46b04 <__alt_data_end+0xfffdfa04>
7780
   46b14:       38c00144        addi    r3,r7,5
7781
   46b18:       18c7883a        add     r3,r3,r3
7782
   46b1c:       18c7883a        add     r3,r3,r3
7783
   46b20:       10c7883a        add     r3,r2,r3
7784
   46b24:       92000417        ldw     r8,16(r18)
7785
   46b28:       a18007cc        andi    r6,r20,31
7786
   46b2c:       91c00504        addi    r7,r18,20
7787
   46b30:       42000144        addi    r8,r8,5
7788
   46b34:       4211883a        add     r8,r8,r8
7789
   46b38:       4211883a        add     r8,r8,r8
7790
   46b3c:       9211883a        add     r8,r18,r8
7791
   46b40:       30002226        beq     r6,zero,46bcc <__lshift+0x130>
7792
   46b44:       02800804        movi    r10,32
7793
   46b48:       5195c83a        sub     r10,r10,r6
7794
   46b4c:       000b883a        mov     r5,zero
7795
   46b50:       3a400017        ldw     r9,0(r7)
7796
   46b54:       18c00104        addi    r3,r3,4
7797
   46b58:       39c00104        addi    r7,r7,4
7798
   46b5c:       4992983a        sll     r9,r9,r6
7799
   46b60:       2a4ab03a        or      r5,r5,r9
7800
   46b64:       197fff15        stw     r5,-4(r3)
7801
   46b68:       397fff17        ldw     r5,-4(r7)
7802
   46b6c:       2a8ad83a        srl     r5,r5,r10
7803
   46b70:       3a3ff736        bltu    r7,r8,46b50 <__alt_data_end+0xfffdfa50>
7804
   46b74:       19400015        stw     r5,0(r3)
7805
   46b78:       28000126        beq     r5,zero,46b80 <__lshift+0xe4>
7806
   46b7c:       ac000084        addi    r16,r21,2
7807
   46b80:       91000117        ldw     r4,4(r18)
7808
   46b84:       98c01317        ldw     r3,76(r19)
7809
   46b88:       843fffc4        addi    r16,r16,-1
7810
   46b8c:       2109883a        add     r4,r4,r4
7811
   46b90:       2109883a        add     r4,r4,r4
7812
   46b94:       1907883a        add     r3,r3,r4
7813
   46b98:       19000017        ldw     r4,0(r3)
7814
   46b9c:       14000415        stw     r16,16(r2)
7815
   46ba0:       91000015        stw     r4,0(r18)
7816
   46ba4:       1c800015        stw     r18,0(r3)
7817
   46ba8:       dfc00617        ldw     ra,24(sp)
7818
   46bac:       dd400517        ldw     r21,20(sp)
7819
   46bb0:       dd000417        ldw     r20,16(sp)
7820
   46bb4:       dcc00317        ldw     r19,12(sp)
7821
   46bb8:       dc800217        ldw     r18,8(sp)
7822
   46bbc:       dc400117        ldw     r17,4(sp)
7823
   46bc0:       dc000017        ldw     r16,0(sp)
7824
   46bc4:       dec00704        addi    sp,sp,28
7825
   46bc8:       f800283a        ret
7826
   46bcc:       39400017        ldw     r5,0(r7)
7827
   46bd0:       18c00104        addi    r3,r3,4
7828
   46bd4:       39c00104        addi    r7,r7,4
7829
   46bd8:       197fff15        stw     r5,-4(r3)
7830
   46bdc:       3a3fe82e        bgeu    r7,r8,46b80 <__alt_data_end+0xfffdfa80>
7831
   46be0:       39400017        ldw     r5,0(r7)
7832
   46be4:       18c00104        addi    r3,r3,4
7833
   46be8:       39c00104        addi    r7,r7,4
7834
   46bec:       197fff15        stw     r5,-4(r3)
7835
   46bf0:       3a3ff636        bltu    r7,r8,46bcc <__alt_data_end+0xfffdfacc>
7836
   46bf4:       003fe206        br      46b80 <__alt_data_end+0xfffdfa80>
7837
 
7838
00046bf8 <__mcmp>:
7839
   46bf8:       20800417        ldw     r2,16(r4)
7840
   46bfc:       28c00417        ldw     r3,16(r5)
7841
   46c00:       10c5c83a        sub     r2,r2,r3
7842
   46c04:       10000f1e        bne     r2,zero,46c44 <__mcmp+0x4c>
7843
   46c08:       18c00144        addi    r3,r3,5
7844
   46c0c:       18c7883a        add     r3,r3,r3
7845
   46c10:       18c7883a        add     r3,r3,r3
7846
   46c14:       21c00504        addi    r7,r4,20
7847
   46c18:       28cb883a        add     r5,r5,r3
7848
   46c1c:       20c9883a        add     r4,r4,r3
7849
   46c20:       213fff04        addi    r4,r4,-4
7850
   46c24:       297fff04        addi    r5,r5,-4
7851
   46c28:       21800017        ldw     r6,0(r4)
7852
   46c2c:       28c00017        ldw     r3,0(r5)
7853
   46c30:       30c0021e        bne     r6,r3,46c3c <__mcmp+0x44>
7854
   46c34:       393ffa36        bltu    r7,r4,46c20 <__alt_data_end+0xfffdfb20>
7855
   46c38:       f800283a        ret
7856
   46c3c:       30c00236        bltu    r6,r3,46c48 <__mcmp+0x50>
7857
   46c40:       00800044        movi    r2,1
7858
   46c44:       f800283a        ret
7859
   46c48:       00bfffc4        movi    r2,-1
7860
   46c4c:       f800283a        ret
7861
 
7862
00046c50 <__mdiff>:
7863
   46c50:       defffb04        addi    sp,sp,-20
7864
   46c54:       dc000015        stw     r16,0(sp)
7865
   46c58:       2821883a        mov     r16,r5
7866
   46c5c:       dc800215        stw     r18,8(sp)
7867
   46c60:       300b883a        mov     r5,r6
7868
   46c64:       2025883a        mov     r18,r4
7869
   46c68:       8009883a        mov     r4,r16
7870
   46c6c:       dc400115        stw     r17,4(sp)
7871
   46c70:       dfc00415        stw     ra,16(sp)
7872
   46c74:       dcc00315        stw     r19,12(sp)
7873
   46c78:       3023883a        mov     r17,r6
7874
   46c7c:       0046bf80        call    46bf8 <__mcmp>
7875
   46c80:       10005026        beq     r2,zero,46dc4 <__mdiff+0x174>
7876
   46c84:       10004a16        blt     r2,zero,46db0 <__mdiff+0x160>
7877
   46c88:       0027883a        mov     r19,zero
7878
   46c8c:       81400117        ldw     r5,4(r16)
7879
   46c90:       9009883a        mov     r4,r18
7880
   46c94:       00463540        call    46354 <_Balloc>
7881
   46c98:       82400417        ldw     r9,16(r16)
7882
   46c9c:       89800417        ldw     r6,16(r17)
7883
   46ca0:       14c00315        stw     r19,12(r2)
7884
   46ca4:       4b800144        addi    r14,r9,5
7885
   46ca8:       31800144        addi    r6,r6,5
7886
   46cac:       739d883a        add     r14,r14,r14
7887
   46cb0:       318d883a        add     r6,r6,r6
7888
   46cb4:       739d883a        add     r14,r14,r14
7889
   46cb8:       318d883a        add     r6,r6,r6
7890
   46cbc:       81c00504        addi    r7,r16,20
7891
   46cc0:       839d883a        add     r14,r16,r14
7892
   46cc4:       8a000504        addi    r8,r17,20
7893
   46cc8:       898d883a        add     r6,r17,r6
7894
   46ccc:       10c00504        addi    r3,r2,20
7895
   46cd0:       0009883a        mov     r4,zero
7896
   46cd4:       3b000017        ldw     r12,0(r7)
7897
   46cd8:       42c00017        ldw     r11,0(r8)
7898
   46cdc:       42000104        addi    r8,r8,4
7899
   46ce0:       62bfffcc        andi    r10,r12,65535
7900
   46ce4:       5b7fffcc        andi    r13,r11,65535
7901
   46ce8:       5109883a        add     r4,r10,r4
7902
   46cec:       2355c83a        sub     r10,r4,r13
7903
   46cf0:       5816d43a        srli    r11,r11,16
7904
   46cf4:       6008d43a        srli    r4,r12,16
7905
   46cf8:       501bd43a        srai    r13,r10,16
7906
   46cfc:       1a80000d        sth     r10,0(r3)
7907
   46d00:       22c9c83a        sub     r4,r4,r11
7908
   46d04:       2349883a        add     r4,r4,r13
7909
   46d08:       1900008d        sth     r4,2(r3)
7910
   46d0c:       39c00104        addi    r7,r7,4
7911
   46d10:       2009d43a        srai    r4,r4,16
7912
   46d14:       18c00104        addi    r3,r3,4
7913
   46d18:       41bfee36        bltu    r8,r6,46cd4 <__alt_data_end+0xfffdfbd4>
7914
   46d1c:       180b883a        mov     r5,r3
7915
   46d20:       3815883a        mov     r10,r7
7916
   46d24:       3b80132e        bgeu    r7,r14,46d74 <__mdiff+0x124>
7917
   46d28:       3a000017        ldw     r8,0(r7)
7918
   46d2c:       18c00104        addi    r3,r3,4
7919
   46d30:       39c00104        addi    r7,r7,4
7920
   46d34:       41bfffcc        andi    r6,r8,65535
7921
   46d38:       310d883a        add     r6,r6,r4
7922
   46d3c:       3009d43a        srai    r4,r6,16
7923
   46d40:       4010d43a        srli    r8,r8,16
7924
   46d44:       19bfff0d        sth     r6,-4(r3)
7925
   46d48:       2209883a        add     r4,r4,r8
7926
   46d4c:       193fff8d        sth     r4,-2(r3)
7927
   46d50:       2009d43a        srai    r4,r4,16
7928
   46d54:       3bbff436        bltu    r7,r14,46d28 <__alt_data_end+0xfffdfc28>
7929
   46d58:       0286303a        nor     r3,zero,r10
7930
   46d5c:       1b87883a        add     r3,r3,r14
7931
   46d60:       1806d0ba        srli    r3,r3,2
7932
   46d64:       18c00044        addi    r3,r3,1
7933
   46d68:       18c7883a        add     r3,r3,r3
7934
   46d6c:       18c7883a        add     r3,r3,r3
7935
   46d70:       28c7883a        add     r3,r5,r3
7936
   46d74:       193fff17        ldw     r4,-4(r3)
7937
   46d78:       18ffff04        addi    r3,r3,-4
7938
   46d7c:       2000041e        bne     r4,zero,46d90 <__mdiff+0x140>
7939
   46d80:       18ffff04        addi    r3,r3,-4
7940
   46d84:       19000017        ldw     r4,0(r3)
7941
   46d88:       4a7fffc4        addi    r9,r9,-1
7942
   46d8c:       203ffc26        beq     r4,zero,46d80 <__alt_data_end+0xfffdfc80>
7943
   46d90:       12400415        stw     r9,16(r2)
7944
   46d94:       dfc00417        ldw     ra,16(sp)
7945
   46d98:       dcc00317        ldw     r19,12(sp)
7946
   46d9c:       dc800217        ldw     r18,8(sp)
7947
   46da0:       dc400117        ldw     r17,4(sp)
7948
   46da4:       dc000017        ldw     r16,0(sp)
7949
   46da8:       dec00504        addi    sp,sp,20
7950
   46dac:       f800283a        ret
7951
   46db0:       8005883a        mov     r2,r16
7952
   46db4:       04c00044        movi    r19,1
7953
   46db8:       8821883a        mov     r16,r17
7954
   46dbc:       1023883a        mov     r17,r2
7955
   46dc0:       003fb206        br      46c8c <__alt_data_end+0xfffdfb8c>
7956
   46dc4:       9009883a        mov     r4,r18
7957
   46dc8:       000b883a        mov     r5,zero
7958
   46dcc:       00463540        call    46354 <_Balloc>
7959
   46dd0:       00c00044        movi    r3,1
7960
   46dd4:       10c00415        stw     r3,16(r2)
7961
   46dd8:       10000515        stw     zero,20(r2)
7962
   46ddc:       dfc00417        ldw     ra,16(sp)
7963
   46de0:       dcc00317        ldw     r19,12(sp)
7964
   46de4:       dc800217        ldw     r18,8(sp)
7965
   46de8:       dc400117        ldw     r17,4(sp)
7966
   46dec:       dc000017        ldw     r16,0(sp)
7967
   46df0:       dec00504        addi    sp,sp,20
7968
   46df4:       f800283a        ret
7969
 
7970
00046df8 <__ulp>:
7971
   46df8:       295ffc2c        andhi   r5,r5,32752
7972
   46dfc:       00bf3034        movhi   r2,64704
7973
   46e00:       2887883a        add     r3,r5,r2
7974
   46e04:       00c0020e        bge     zero,r3,46e10 <__ulp+0x18>
7975
   46e08:       0005883a        mov     r2,zero
7976
   46e0c:       f800283a        ret
7977
   46e10:       00c7c83a        sub     r3,zero,r3
7978
   46e14:       1805d53a        srai    r2,r3,20
7979
   46e18:       00c004c4        movi    r3,19
7980
   46e1c:       18800a0e        bge     r3,r2,46e48 <__ulp+0x50>
7981
   46e20:       01000c84        movi    r4,50
7982
   46e24:       0007883a        mov     r3,zero
7983
   46e28:       20800516        blt     r4,r2,46e40 <__ulp+0x48>
7984
   46e2c:       01000cc4        movi    r4,51
7985
   46e30:       2085c83a        sub     r2,r4,r2
7986
   46e34:       01000044        movi    r4,1
7987
   46e38:       2084983a        sll     r2,r4,r2
7988
   46e3c:       f800283a        ret
7989
   46e40:       00800044        movi    r2,1
7990
   46e44:       f800283a        ret
7991
   46e48:       00c00234        movhi   r3,8
7992
   46e4c:       1887d83a        sra     r3,r3,r2
7993
   46e50:       0005883a        mov     r2,zero
7994
   46e54:       f800283a        ret
7995
 
7996
00046e58 <__b2d>:
7997
   46e58:       defffa04        addi    sp,sp,-24
7998
   46e5c:       dc000015        stw     r16,0(sp)
7999
   46e60:       24000417        ldw     r16,16(r4)
8000
   46e64:       dc400115        stw     r17,4(sp)
8001
   46e68:       dcc00315        stw     r19,12(sp)
8002
   46e6c:       84000144        addi    r16,r16,5
8003
   46e70:       8421883a        add     r16,r16,r16
8004
   46e74:       8421883a        add     r16,r16,r16
8005
   46e78:       2421883a        add     r16,r4,r16
8006
   46e7c:       847fff17        ldw     r17,-4(r16)
8007
   46e80:       24c00504        addi    r19,r4,20
8008
   46e84:       dd000415        stw     r20,16(sp)
8009
   46e88:       8809883a        mov     r4,r17
8010
   46e8c:       dc800215        stw     r18,8(sp)
8011
   46e90:       2829883a        mov     r20,r5
8012
   46e94:       dfc00515        stw     ra,20(sp)
8013
   46e98:       004663c0        call    4663c <__hi0bits>
8014
   46e9c:       00c00804        movi    r3,32
8015
   46ea0:       1887c83a        sub     r3,r3,r2
8016
   46ea4:       a0c00015        stw     r3,0(r20)
8017
   46ea8:       00c00284        movi    r3,10
8018
   46eac:       84bfff04        addi    r18,r16,-4
8019
   46eb0:       18801216        blt     r3,r2,46efc <__b2d+0xa4>
8020
   46eb4:       010002c4        movi    r4,11
8021
   46eb8:       2089c83a        sub     r4,r4,r2
8022
   46ebc:       8906d83a        srl     r3,r17,r4
8023
   46ec0:       18cffc34        orhi    r3,r3,16368
8024
   46ec4:       9c80322e        bgeu    r19,r18,46f90 <__b2d+0x138>
8025
   46ec8:       817ffe17        ldw     r5,-8(r16)
8026
   46ecc:       2908d83a        srl     r4,r5,r4
8027
   46ed0:       10800544        addi    r2,r2,21
8028
   46ed4:       88a2983a        sll     r17,r17,r2
8029
   46ed8:       2444b03a        or      r2,r4,r17
8030
   46edc:       dfc00517        ldw     ra,20(sp)
8031
   46ee0:       dd000417        ldw     r20,16(sp)
8032
   46ee4:       dcc00317        ldw     r19,12(sp)
8033
   46ee8:       dc800217        ldw     r18,8(sp)
8034
   46eec:       dc400117        ldw     r17,4(sp)
8035
   46ef0:       dc000017        ldw     r16,0(sp)
8036
   46ef4:       dec00604        addi    sp,sp,24
8037
   46ef8:       f800283a        ret
8038
   46efc:       9c801636        bltu    r19,r18,46f58 <__b2d+0x100>
8039
   46f00:       113ffd44        addi    r4,r2,-11
8040
   46f04:       000b883a        mov     r5,zero
8041
   46f08:       20001726        beq     r4,zero,46f68 <__b2d+0x110>
8042
   46f0c:       00c00ac4        movi    r3,43
8043
   46f10:       1885c83a        sub     r2,r3,r2
8044
   46f14:       8906983a        sll     r3,r17,r4
8045
   46f18:       288cd83a        srl     r6,r5,r2
8046
   46f1c:       18cffc34        orhi    r3,r3,16368
8047
   46f20:       1986b03a        or      r3,r3,r6
8048
   46f24:       9c801c2e        bgeu    r19,r18,46f98 <__b2d+0x140>
8049
   46f28:       91bfff17        ldw     r6,-4(r18)
8050
   46f2c:       3084d83a        srl     r2,r6,r2
8051
   46f30:       2908983a        sll     r4,r5,r4
8052
   46f34:       1104b03a        or      r2,r2,r4
8053
   46f38:       dfc00517        ldw     ra,20(sp)
8054
   46f3c:       dd000417        ldw     r20,16(sp)
8055
   46f40:       dcc00317        ldw     r19,12(sp)
8056
   46f44:       dc800217        ldw     r18,8(sp)
8057
   46f48:       dc400117        ldw     r17,4(sp)
8058
   46f4c:       dc000017        ldw     r16,0(sp)
8059
   46f50:       dec00604        addi    sp,sp,24
8060
   46f54:       f800283a        ret
8061
   46f58:       113ffd44        addi    r4,r2,-11
8062
   46f5c:       84bffe04        addi    r18,r16,-8
8063
   46f60:       817ffe17        ldw     r5,-8(r16)
8064
   46f64:       203fe91e        bne     r4,zero,46f0c <__alt_data_end+0xfffdfe0c>
8065
   46f68:       88cffc34        orhi    r3,r17,16368
8066
   46f6c:       2805883a        mov     r2,r5
8067
   46f70:       dfc00517        ldw     ra,20(sp)
8068
   46f74:       dd000417        ldw     r20,16(sp)
8069
   46f78:       dcc00317        ldw     r19,12(sp)
8070
   46f7c:       dc800217        ldw     r18,8(sp)
8071
   46f80:       dc400117        ldw     r17,4(sp)
8072
   46f84:       dc000017        ldw     r16,0(sp)
8073
   46f88:       dec00604        addi    sp,sp,24
8074
   46f8c:       f800283a        ret
8075
   46f90:       0009883a        mov     r4,zero
8076
   46f94:       003fce06        br      46ed0 <__alt_data_end+0xfffdfdd0>
8077
   46f98:       0005883a        mov     r2,zero
8078
   46f9c:       003fe406        br      46f30 <__alt_data_end+0xfffdfe30>
8079
 
8080
00046fa0 <__d2b>:
8081
   46fa0:       defff804        addi    sp,sp,-32
8082
   46fa4:       dc400315        stw     r17,12(sp)
8083
   46fa8:       3023883a        mov     r17,r6
8084
   46fac:       dc800415        stw     r18,16(sp)
8085
   46fb0:       8824907a        slli    r18,r17,1
8086
   46fb4:       dcc00515        stw     r19,20(sp)
8087
   46fb8:       2827883a        mov     r19,r5
8088
   46fbc:       9024d57a        srli    r18,r18,21
8089
   46fc0:       01400044        movi    r5,1
8090
   46fc4:       dd000615        stw     r20,24(sp)
8091
   46fc8:       dc000215        stw     r16,8(sp)
8092
   46fcc:       dfc00715        stw     ra,28(sp)
8093
   46fd0:       3829883a        mov     r20,r7
8094
   46fd4:       00463540        call    46354 <_Balloc>
8095
   46fd8:       1021883a        mov     r16,r2
8096
   46fdc:       00800434        movhi   r2,16
8097
   46fe0:       10bfffc4        addi    r2,r2,-1
8098
   46fe4:       88a2703a        and     r17,r17,r2
8099
   46fe8:       90000126        beq     r18,zero,46ff0 <__d2b+0x50>
8100
   46fec:       8c400434        orhi    r17,r17,16
8101
   46ff0:       dc400015        stw     r17,0(sp)
8102
   46ff4:       98002226        beq     r19,zero,47080 <__d2b+0xe0>
8103
   46ff8:       d9000104        addi    r4,sp,4
8104
   46ffc:       dcc00115        stw     r19,4(sp)
8105
   47000:       00466a40        call    466a4 <__lo0bits>
8106
   47004:       d8c00017        ldw     r3,0(sp)
8107
   47008:       10002d1e        bne     r2,zero,470c0 <__d2b+0x120>
8108
   4700c:       d9000117        ldw     r4,4(sp)
8109
   47010:       81000515        stw     r4,20(r16)
8110
   47014:       1823003a        cmpeq   r17,r3,zero
8111
   47018:       01000084        movi    r4,2
8112
   4701c:       2463c83a        sub     r17,r4,r17
8113
   47020:       80c00615        stw     r3,24(r16)
8114
   47024:       84400415        stw     r17,16(r16)
8115
   47028:       90001d1e        bne     r18,zero,470a0 <__d2b+0x100>
8116
   4702c:       88c00104        addi    r3,r17,4
8117
   47030:       18c7883a        add     r3,r3,r3
8118
   47034:       18c7883a        add     r3,r3,r3
8119
   47038:       80c7883a        add     r3,r16,r3
8120
   4703c:       19000017        ldw     r4,0(r3)
8121
   47040:       10bef384        addi    r2,r2,-1074
8122
   47044:       a0800015        stw     r2,0(r20)
8123
   47048:       004663c0        call    4663c <__hi0bits>
8124
   4704c:       8822917a        slli    r17,r17,5
8125
   47050:       d8c00817        ldw     r3,32(sp)
8126
   47054:       8885c83a        sub     r2,r17,r2
8127
   47058:       18800015        stw     r2,0(r3)
8128
   4705c:       8005883a        mov     r2,r16
8129
   47060:       dfc00717        ldw     ra,28(sp)
8130
   47064:       dd000617        ldw     r20,24(sp)
8131
   47068:       dcc00517        ldw     r19,20(sp)
8132
   4706c:       dc800417        ldw     r18,16(sp)
8133
   47070:       dc400317        ldw     r17,12(sp)
8134
   47074:       dc000217        ldw     r16,8(sp)
8135
   47078:       dec00804        addi    sp,sp,32
8136
   4707c:       f800283a        ret
8137
   47080:       d809883a        mov     r4,sp
8138
   47084:       00466a40        call    466a4 <__lo0bits>
8139
   47088:       d8c00017        ldw     r3,0(sp)
8140
   4708c:       04400044        movi    r17,1
8141
   47090:       84400415        stw     r17,16(r16)
8142
   47094:       80c00515        stw     r3,20(r16)
8143
   47098:       10800804        addi    r2,r2,32
8144
   4709c:       903fe326        beq     r18,zero,4702c <__alt_data_end+0xfffdff2c>
8145
   470a0:       00c00d44        movi    r3,53
8146
   470a4:       94bef344        addi    r18,r18,-1075
8147
   470a8:       90a5883a        add     r18,r18,r2
8148
   470ac:       1885c83a        sub     r2,r3,r2
8149
   470b0:       d8c00817        ldw     r3,32(sp)
8150
   470b4:       a4800015        stw     r18,0(r20)
8151
   470b8:       18800015        stw     r2,0(r3)
8152
   470bc:       003fe706        br      4705c <__alt_data_end+0xfffdff5c>
8153
   470c0:       01000804        movi    r4,32
8154
   470c4:       2089c83a        sub     r4,r4,r2
8155
   470c8:       1908983a        sll     r4,r3,r4
8156
   470cc:       d9400117        ldw     r5,4(sp)
8157
   470d0:       1886d83a        srl     r3,r3,r2
8158
   470d4:       2148b03a        or      r4,r4,r5
8159
   470d8:       81000515        stw     r4,20(r16)
8160
   470dc:       d8c00015        stw     r3,0(sp)
8161
   470e0:       003fcc06        br      47014 <__alt_data_end+0xfffdff14>
8162
 
8163
000470e4 <__ratio>:
8164
   470e4:       defff904        addi    sp,sp,-28
8165
   470e8:       dc400315        stw     r17,12(sp)
8166
   470ec:       2823883a        mov     r17,r5
8167
   470f0:       d9400104        addi    r5,sp,4
8168
   470f4:       dfc00615        stw     ra,24(sp)
8169
   470f8:       dcc00515        stw     r19,20(sp)
8170
   470fc:       dc800415        stw     r18,16(sp)
8171
   47100:       2027883a        mov     r19,r4
8172
   47104:       dc000215        stw     r16,8(sp)
8173
   47108:       0046e580        call    46e58 <__b2d>
8174
   4710c:       8809883a        mov     r4,r17
8175
   47110:       d80b883a        mov     r5,sp
8176
   47114:       1025883a        mov     r18,r2
8177
   47118:       1821883a        mov     r16,r3
8178
   4711c:       0046e580        call    46e58 <__b2d>
8179
   47120:       99400417        ldw     r5,16(r19)
8180
   47124:       89000417        ldw     r4,16(r17)
8181
   47128:       d9800117        ldw     r6,4(sp)
8182
   4712c:       2909c83a        sub     r4,r5,r4
8183
   47130:       d9400017        ldw     r5,0(sp)
8184
   47134:       2008917a        slli    r4,r4,5
8185
   47138:       314bc83a        sub     r5,r6,r5
8186
   4713c:       290b883a        add     r5,r5,r4
8187
   47140:       01400e0e        bge     zero,r5,4717c <__ratio+0x98>
8188
   47144:       280a953a        slli    r5,r5,20
8189
   47148:       2c21883a        add     r16,r5,r16
8190
   4714c:       9009883a        mov     r4,r18
8191
   47150:       800b883a        mov     r5,r16
8192
   47154:       100d883a        mov     r6,r2
8193
   47158:       180f883a        mov     r7,r3
8194
   4715c:       00404680        call    40468 <__divdf3>
8195
   47160:       dfc00617        ldw     ra,24(sp)
8196
   47164:       dcc00517        ldw     r19,20(sp)
8197
   47168:       dc800417        ldw     r18,16(sp)
8198
   4716c:       dc400317        ldw     r17,12(sp)
8199
   47170:       dc000217        ldw     r16,8(sp)
8200
   47174:       dec00704        addi    sp,sp,28
8201
   47178:       f800283a        ret
8202
   4717c:       280a953a        slli    r5,r5,20
8203
   47180:       1947c83a        sub     r3,r3,r5
8204
   47184:       003ff106        br      4714c <__alt_data_end+0xfffe004c>
8205
 
8206
00047188 <_mprec_log10>:
8207
   47188:       defffe04        addi    sp,sp,-8
8208
   4718c:       dc000015        stw     r16,0(sp)
8209
   47190:       dfc00115        stw     ra,4(sp)
8210
   47194:       008005c4        movi    r2,23
8211
   47198:       2021883a        mov     r16,r4
8212
   4719c:       11000d0e        bge     r2,r4,471d4 <_mprec_log10+0x4c>
8213
   471a0:       0005883a        mov     r2,zero
8214
   471a4:       00cffc34        movhi   r3,16368
8215
   471a8:       843fffc4        addi    r16,r16,-1
8216
   471ac:       1009883a        mov     r4,r2
8217
   471b0:       180b883a        mov     r5,r3
8218
   471b4:       000d883a        mov     r6,zero
8219
   471b8:       01d00934        movhi   r7,16420
8220
   471bc:       0048f800        call    48f80 <__muldf3>
8221
   471c0:       803ff91e        bne     r16,zero,471a8 <__alt_data_end+0xfffe00a8>
8222
   471c4:       dfc00117        ldw     ra,4(sp)
8223
   471c8:       dc000017        ldw     r16,0(sp)
8224
   471cc:       dec00204        addi    sp,sp,8
8225
   471d0:       f800283a        ret
8226
   471d4:       202090fa        slli    r16,r4,3
8227
   471d8:       00800174        movhi   r2,5
8228
   471dc:       10b10504        addi    r2,r2,-15340
8229
   471e0:       1421883a        add     r16,r2,r16
8230
   471e4:       80800017        ldw     r2,0(r16)
8231
   471e8:       80c00117        ldw     r3,4(r16)
8232
   471ec:       dfc00117        ldw     ra,4(sp)
8233
   471f0:       dc000017        ldw     r16,0(sp)
8234
   471f4:       dec00204        addi    sp,sp,8
8235
   471f8:       f800283a        ret
8236
 
8237
000471fc <__copybits>:
8238
   471fc:       297fffc4        addi    r5,r5,-1
8239
   47200:       31c00417        ldw     r7,16(r6)
8240
   47204:       2811d17a        srai    r8,r5,5
8241
   47208:       30800504        addi    r2,r6,20
8242
   4720c:       39c00144        addi    r7,r7,5
8243
   47210:       42000044        addi    r8,r8,1
8244
   47214:       39cf883a        add     r7,r7,r7
8245
   47218:       4211883a        add     r8,r8,r8
8246
   4721c:       39cf883a        add     r7,r7,r7
8247
   47220:       4211883a        add     r8,r8,r8
8248
   47224:       31cf883a        add     r7,r6,r7
8249
   47228:       2211883a        add     r8,r4,r8
8250
   4722c:       11c00d2e        bgeu    r2,r7,47264 <__copybits+0x68>
8251
   47230:       2007883a        mov     r3,r4
8252
   47234:       11400017        ldw     r5,0(r2)
8253
   47238:       18c00104        addi    r3,r3,4
8254
   4723c:       10800104        addi    r2,r2,4
8255
   47240:       197fff15        stw     r5,-4(r3)
8256
   47244:       11fffb36        bltu    r2,r7,47234 <__alt_data_end+0xfffe0134>
8257
   47248:       3985c83a        sub     r2,r7,r6
8258
   4724c:       10bffac4        addi    r2,r2,-21
8259
   47250:       1004d0ba        srli    r2,r2,2
8260
   47254:       10800044        addi    r2,r2,1
8261
   47258:       1085883a        add     r2,r2,r2
8262
   4725c:       1085883a        add     r2,r2,r2
8263
   47260:       2089883a        add     r4,r4,r2
8264
   47264:       2200032e        bgeu    r4,r8,47274 <__copybits+0x78>
8265
   47268:       20000015        stw     zero,0(r4)
8266
   4726c:       21000104        addi    r4,r4,4
8267
   47270:       223ffd36        bltu    r4,r8,47268 <__alt_data_end+0xfffe0168>
8268
   47274:       f800283a        ret
8269
 
8270
00047278 <__any_on>:
8271
   47278:       21800417        ldw     r6,16(r4)
8272
   4727c:       2805d17a        srai    r2,r5,5
8273
   47280:       20c00504        addi    r3,r4,20
8274
   47284:       30800f0e        bge     r6,r2,472c4 <__any_on+0x4c>
8275
   47288:       3005883a        mov     r2,r6
8276
   4728c:       10800144        addi    r2,r2,5
8277
   47290:       1085883a        add     r2,r2,r2
8278
   47294:       1085883a        add     r2,r2,r2
8279
   47298:       2089883a        add     r4,r4,r2
8280
   4729c:       1900152e        bgeu    r3,r4,472f4 <__any_on+0x7c>
8281
   472a0:       20bfff17        ldw     r2,-4(r4)
8282
   472a4:       213fff04        addi    r4,r4,-4
8283
   472a8:       1000041e        bne     r2,zero,472bc <__any_on+0x44>
8284
   472ac:       1900112e        bgeu    r3,r4,472f4 <__any_on+0x7c>
8285
   472b0:       213fff04        addi    r4,r4,-4
8286
   472b4:       20800017        ldw     r2,0(r4)
8287
   472b8:       103ffc26        beq     r2,zero,472ac <__alt_data_end+0xfffe01ac>
8288
   472bc:       00800044        movi    r2,1
8289
   472c0:       f800283a        ret
8290
   472c4:       11bff10e        bge     r2,r6,4728c <__alt_data_end+0xfffe018c>
8291
   472c8:       294007cc        andi    r5,r5,31
8292
   472cc:       283fef26        beq     r5,zero,4728c <__alt_data_end+0xfffe018c>
8293
   472d0:       11800144        addi    r6,r2,5
8294
   472d4:       318d883a        add     r6,r6,r6
8295
   472d8:       318d883a        add     r6,r6,r6
8296
   472dc:       218d883a        add     r6,r4,r6
8297
   472e0:       31800017        ldw     r6,0(r6)
8298
   472e4:       314ed83a        srl     r7,r6,r5
8299
   472e8:       394a983a        sll     r5,r7,r5
8300
   472ec:       29bff31e        bne     r5,r6,472bc <__alt_data_end+0xfffe01bc>
8301
   472f0:       003fe606        br      4728c <__alt_data_end+0xfffe018c>
8302
   472f4:       0005883a        mov     r2,zero
8303
   472f8:       f800283a        ret
8304
 
8305
000472fc <_realloc_r>:
8306
   472fc:       defff504        addi    sp,sp,-44
8307
   47300:       dd400615        stw     r21,24(sp)
8308
   47304:       dc800315        stw     r18,12(sp)
8309
   47308:       dc000115        stw     r16,4(sp)
8310
   4730c:       dfc00a15        stw     ra,40(sp)
8311
   47310:       df000915        stw     fp,36(sp)
8312
   47314:       ddc00815        stw     r23,32(sp)
8313
   47318:       dd800715        stw     r22,28(sp)
8314
   4731c:       dd000515        stw     r20,20(sp)
8315
   47320:       dcc00415        stw     r19,16(sp)
8316
   47324:       dc400215        stw     r17,8(sp)
8317
   47328:       2821883a        mov     r16,r5
8318
   4732c:       202b883a        mov     r21,r4
8319
   47330:       3025883a        mov     r18,r6
8320
   47334:       28009626        beq     r5,zero,47590 <_realloc_r+0x294>
8321
   47338:       0049f080        call    49f08 <__malloc_lock>
8322
   4733c:       80bfff17        ldw     r2,-4(r16)
8323
   47340:       04ffff04        movi    r19,-4
8324
   47344:       90c002c4        addi    r3,r18,11
8325
   47348:       01000584        movi    r4,22
8326
   4734c:       85bffe04        addi    r22,r16,-8
8327
   47350:       14e6703a        and     r19,r2,r19
8328
   47354:       20c0372e        bgeu    r4,r3,47434 <_realloc_r+0x138>
8329
   47358:       047ffe04        movi    r17,-8
8330
   4735c:       1c62703a        and     r17,r3,r17
8331
   47360:       8807883a        mov     r3,r17
8332
   47364:       88005a16        blt     r17,zero,474d0 <_realloc_r+0x1d4>
8333
   47368:       8c805936        bltu    r17,r18,474d0 <_realloc_r+0x1d4>
8334
   4736c:       98c0340e        bge     r19,r3,47440 <_realloc_r+0x144>
8335
   47370:       07000174        movhi   fp,5
8336
   47374:       e7324804        addi    fp,fp,-14048
8337
   47378:       e1400217        ldw     r5,8(fp)
8338
   4737c:       b4c9883a        add     r4,r22,r19
8339
   47380:       29009026        beq     r5,r4,475c4 <_realloc_r+0x2c8>
8340
   47384:       21800117        ldw     r6,4(r4)
8341
   47388:       01ffff84        movi    r7,-2
8342
   4738c:       31ce703a        and     r7,r6,r7
8343
   47390:       21cf883a        add     r7,r4,r7
8344
   47394:       39c00117        ldw     r7,4(r7)
8345
   47398:       39c0004c        andi    r7,r7,1
8346
   4739c:       38004326        beq     r7,zero,474ac <_realloc_r+0x1b0>
8347
   473a0:       000d883a        mov     r6,zero
8348
   473a4:       0009883a        mov     r4,zero
8349
   473a8:       1080004c        andi    r2,r2,1
8350
   473ac:       10005a1e        bne     r2,zero,47518 <_realloc_r+0x21c>
8351
   473b0:       85fffe17        ldw     r23,-8(r16)
8352
   473b4:       00bfff04        movi    r2,-4
8353
   473b8:       b5efc83a        sub     r23,r22,r23
8354
   473bc:       b9c00117        ldw     r7,4(r23)
8355
   473c0:       388e703a        and     r7,r7,r2
8356
   473c4:       3ccf883a        add     r7,r7,r19
8357
   473c8:       20005226        beq     r4,zero,47514 <_realloc_r+0x218>
8358
   473cc:       31e9883a        add     r20,r6,r7
8359
   473d0:       2140c726        beq     r4,r5,476f0 <_realloc_r+0x3f4>
8360
   473d4:       a0c04f16        blt     r20,r3,47514 <_realloc_r+0x218>
8361
   473d8:       20800317        ldw     r2,12(r4)
8362
   473dc:       20c00217        ldw     r3,8(r4)
8363
   473e0:       99bfff04        addi    r6,r19,-4
8364
   473e4:       01000904        movi    r4,36
8365
   473e8:       18800315        stw     r2,12(r3)
8366
   473ec:       10c00215        stw     r3,8(r2)
8367
   473f0:       b8c00217        ldw     r3,8(r23)
8368
   473f4:       b8800317        ldw     r2,12(r23)
8369
   473f8:       bc800204        addi    r18,r23,8
8370
   473fc:       18800315        stw     r2,12(r3)
8371
   47400:       10c00215        stw     r3,8(r2)
8372
   47404:       2180ed36        bltu    r4,r6,477bc <_realloc_r+0x4c0>
8373
   47408:       008004c4        movi    r2,19
8374
   4740c:       11809b2e        bgeu    r2,r6,4767c <_realloc_r+0x380>
8375
   47410:       80800017        ldw     r2,0(r16)
8376
   47414:       b8800215        stw     r2,8(r23)
8377
   47418:       80800117        ldw     r2,4(r16)
8378
   4741c:       b8800315        stw     r2,12(r23)
8379
   47420:       008006c4        movi    r2,27
8380
   47424:       1180f936        bltu    r2,r6,4780c <_realloc_r+0x510>
8381
   47428:       b8800404        addi    r2,r23,16
8382
   4742c:       80c00204        addi    r3,r16,8
8383
   47430:       00009406        br      47684 <_realloc_r+0x388>
8384
   47434:       00c00404        movi    r3,16
8385
   47438:       1823883a        mov     r17,r3
8386
   4743c:       003fca06        br      47368 <__alt_data_end+0xfffe0268>
8387
   47440:       9829883a        mov     r20,r19
8388
   47444:       a447c83a        sub     r3,r20,r17
8389
   47448:       010003c4        movi    r4,15
8390
   4744c:       1080004c        andi    r2,r2,1
8391
   47450:       20c02336        bltu    r4,r3,474e0 <_realloc_r+0x1e4>
8392
   47454:       1504b03a        or      r2,r2,r20
8393
   47458:       b0800115        stw     r2,4(r22)
8394
   4745c:       b52d883a        add     r22,r22,r20
8395
   47460:       b0800117        ldw     r2,4(r22)
8396
   47464:       10800054        ori     r2,r2,1
8397
   47468:       b0800115        stw     r2,4(r22)
8398
   4746c:       a809883a        mov     r4,r21
8399
   47470:       0049f280        call    49f28 <__malloc_unlock>
8400
   47474:       8025883a        mov     r18,r16
8401
   47478:       9005883a        mov     r2,r18
8402
   4747c:       dfc00a17        ldw     ra,40(sp)
8403
   47480:       df000917        ldw     fp,36(sp)
8404
   47484:       ddc00817        ldw     r23,32(sp)
8405
   47488:       dd800717        ldw     r22,28(sp)
8406
   4748c:       dd400617        ldw     r21,24(sp)
8407
   47490:       dd000517        ldw     r20,20(sp)
8408
   47494:       dcc00417        ldw     r19,16(sp)
8409
   47498:       dc800317        ldw     r18,12(sp)
8410
   4749c:       dc400217        ldw     r17,8(sp)
8411
   474a0:       dc000117        ldw     r16,4(sp)
8412
   474a4:       dec00b04        addi    sp,sp,44
8413
   474a8:       f800283a        ret
8414
   474ac:       01ffff04        movi    r7,-4
8415
   474b0:       31cc703a        and     r6,r6,r7
8416
   474b4:       34e9883a        add     r20,r6,r19
8417
   474b8:       a0ffbb16        blt     r20,r3,473a8 <__alt_data_end+0xfffe02a8>
8418
   474bc:       20c00317        ldw     r3,12(r4)
8419
   474c0:       21000217        ldw     r4,8(r4)
8420
   474c4:       20c00315        stw     r3,12(r4)
8421
   474c8:       19000215        stw     r4,8(r3)
8422
   474cc:       003fdd06        br      47444 <__alt_data_end+0xfffe0344>
8423
   474d0:       00800304        movi    r2,12
8424
   474d4:       a8800015        stw     r2,0(r21)
8425
   474d8:       0025883a        mov     r18,zero
8426
   474dc:       003fe606        br      47478 <__alt_data_end+0xfffe0378>
8427
   474e0:       1444b03a        or      r2,r2,r17
8428
   474e4:       b0800115        stw     r2,4(r22)
8429
   474e8:       b44b883a        add     r5,r22,r17
8430
   474ec:       18800054        ori     r2,r3,1
8431
   474f0:       28800115        stw     r2,4(r5)
8432
   474f4:       28c7883a        add     r3,r5,r3
8433
   474f8:       18800117        ldw     r2,4(r3)
8434
   474fc:       a809883a        mov     r4,r21
8435
   47500:       29400204        addi    r5,r5,8
8436
   47504:       10800054        ori     r2,r2,1
8437
   47508:       18800115        stw     r2,4(r3)
8438
   4750c:       0044c440        call    44c44 <_free_r>
8439
   47510:       003fd606        br      4746c <__alt_data_end+0xfffe036c>
8440
   47514:       38c0330e        bge     r7,r3,475e4 <_realloc_r+0x2e8>
8441
   47518:       900b883a        mov     r5,r18
8442
   4751c:       a809883a        mov     r4,r21
8443
   47520:       00457dc0        call    457dc <_malloc_r>
8444
   47524:       1025883a        mov     r18,r2
8445
   47528:       10001626        beq     r2,zero,47584 <_realloc_r+0x288>
8446
   4752c:       80bfff17        ldw     r2,-4(r16)
8447
   47530:       00ffff84        movi    r3,-2
8448
   47534:       913ffe04        addi    r4,r18,-8
8449
   47538:       10c6703a        and     r3,r2,r3
8450
   4753c:       b0c7883a        add     r3,r22,r3
8451
   47540:       20c09926        beq     r4,r3,477a8 <_realloc_r+0x4ac>
8452
   47544:       99bfff04        addi    r6,r19,-4
8453
   47548:       00800904        movi    r2,36
8454
   4754c:       11806436        bltu    r2,r6,476e0 <_realloc_r+0x3e4>
8455
   47550:       00c004c4        movi    r3,19
8456
   47554:       19804036        bltu    r3,r6,47658 <_realloc_r+0x35c>
8457
   47558:       9005883a        mov     r2,r18
8458
   4755c:       8007883a        mov     r3,r16
8459
   47560:       19000017        ldw     r4,0(r3)
8460
   47564:       11000015        stw     r4,0(r2)
8461
   47568:       19000117        ldw     r4,4(r3)
8462
   4756c:       11000115        stw     r4,4(r2)
8463
   47570:       18c00217        ldw     r3,8(r3)
8464
   47574:       10c00215        stw     r3,8(r2)
8465
   47578:       a809883a        mov     r4,r21
8466
   4757c:       800b883a        mov     r5,r16
8467
   47580:       0044c440        call    44c44 <_free_r>
8468
   47584:       a809883a        mov     r4,r21
8469
   47588:       0049f280        call    49f28 <__malloc_unlock>
8470
   4758c:       003fba06        br      47478 <__alt_data_end+0xfffe0378>
8471
   47590:       300b883a        mov     r5,r6
8472
   47594:       dfc00a17        ldw     ra,40(sp)
8473
   47598:       df000917        ldw     fp,36(sp)
8474
   4759c:       ddc00817        ldw     r23,32(sp)
8475
   475a0:       dd800717        ldw     r22,28(sp)
8476
   475a4:       dd400617        ldw     r21,24(sp)
8477
   475a8:       dd000517        ldw     r20,20(sp)
8478
   475ac:       dcc00417        ldw     r19,16(sp)
8479
   475b0:       dc800317        ldw     r18,12(sp)
8480
   475b4:       dc400217        ldw     r17,8(sp)
8481
   475b8:       dc000117        ldw     r16,4(sp)
8482
   475bc:       dec00b04        addi    sp,sp,44
8483
   475c0:       00457dc1        jmpi    457dc <_malloc_r>
8484
   475c4:       29800117        ldw     r6,4(r5)
8485
   475c8:       013fff04        movi    r4,-4
8486
   475cc:       89c00404        addi    r7,r17,16
8487
   475d0:       310c703a        and     r6,r6,r4
8488
   475d4:       34c9883a        add     r4,r6,r19
8489
   475d8:       21c0340e        bge     r4,r7,476ac <_realloc_r+0x3b0>
8490
   475dc:       2809883a        mov     r4,r5
8491
   475e0:       003f7106        br      473a8 <__alt_data_end+0xfffe02a8>
8492
   475e4:       b8800317        ldw     r2,12(r23)
8493
   475e8:       b8c00217        ldw     r3,8(r23)
8494
   475ec:       99bfff04        addi    r6,r19,-4
8495
   475f0:       01000904        movi    r4,36
8496
   475f4:       18800315        stw     r2,12(r3)
8497
   475f8:       10c00215        stw     r3,8(r2)
8498
   475fc:       bc800204        addi    r18,r23,8
8499
   47600:       21807836        bltu    r4,r6,477e4 <_realloc_r+0x4e8>
8500
   47604:       008004c4        movi    r2,19
8501
   47608:       1180732e        bgeu    r2,r6,477d8 <_realloc_r+0x4dc>
8502
   4760c:       80800017        ldw     r2,0(r16)
8503
   47610:       b8800215        stw     r2,8(r23)
8504
   47614:       80800117        ldw     r2,4(r16)
8505
   47618:       b8800315        stw     r2,12(r23)
8506
   4761c:       008006c4        movi    r2,27
8507
   47620:       11808936        bltu    r2,r6,47848 <_realloc_r+0x54c>
8508
   47624:       b8800404        addi    r2,r23,16
8509
   47628:       80c00204        addi    r3,r16,8
8510
   4762c:       19000017        ldw     r4,0(r3)
8511
   47630:       9021883a        mov     r16,r18
8512
   47634:       3829883a        mov     r20,r7
8513
   47638:       11000015        stw     r4,0(r2)
8514
   4763c:       19000117        ldw     r4,4(r3)
8515
   47640:       b82d883a        mov     r22,r23
8516
   47644:       11000115        stw     r4,4(r2)
8517
   47648:       18c00217        ldw     r3,8(r3)
8518
   4764c:       10c00215        stw     r3,8(r2)
8519
   47650:       b8800117        ldw     r2,4(r23)
8520
   47654:       003f7b06        br      47444 <__alt_data_end+0xfffe0344>
8521
   47658:       80c00017        ldw     r3,0(r16)
8522
   4765c:       90c00015        stw     r3,0(r18)
8523
   47660:       80c00117        ldw     r3,4(r16)
8524
   47664:       90c00115        stw     r3,4(r18)
8525
   47668:       00c006c4        movi    r3,27
8526
   4766c:       19804636        bltu    r3,r6,47788 <_realloc_r+0x48c>
8527
   47670:       90800204        addi    r2,r18,8
8528
   47674:       80c00204        addi    r3,r16,8
8529
   47678:       003fb906        br      47560 <__alt_data_end+0xfffe0460>
8530
   4767c:       9005883a        mov     r2,r18
8531
   47680:       8007883a        mov     r3,r16
8532
   47684:       19000017        ldw     r4,0(r3)
8533
   47688:       9021883a        mov     r16,r18
8534
   4768c:       b82d883a        mov     r22,r23
8535
   47690:       11000015        stw     r4,0(r2)
8536
   47694:       19000117        ldw     r4,4(r3)
8537
   47698:       11000115        stw     r4,4(r2)
8538
   4769c:       18c00217        ldw     r3,8(r3)
8539
   476a0:       10c00215        stw     r3,8(r2)
8540
   476a4:       b8800117        ldw     r2,4(r23)
8541
   476a8:       003f6606        br      47444 <__alt_data_end+0xfffe0344>
8542
   476ac:       2445c83a        sub     r2,r4,r17
8543
   476b0:       b46d883a        add     r22,r22,r17
8544
   476b4:       10800054        ori     r2,r2,1
8545
   476b8:       b0800115        stw     r2,4(r22)
8546
   476bc:       80bfff17        ldw     r2,-4(r16)
8547
   476c0:       a809883a        mov     r4,r21
8548
   476c4:       e5800215        stw     r22,8(fp)
8549
   476c8:       1080004c        andi    r2,r2,1
8550
   476cc:       88a2b03a        or      r17,r17,r2
8551
   476d0:       847fff15        stw     r17,-4(r16)
8552
   476d4:       0049f280        call    49f28 <__malloc_unlock>
8553
   476d8:       8025883a        mov     r18,r16
8554
   476dc:       003f6606        br      47478 <__alt_data_end+0xfffe0378>
8555
   476e0:       9009883a        mov     r4,r18
8556
   476e4:       800b883a        mov     r5,r16
8557
   476e8:       00461500        call    46150 
8558
   476ec:       003fa206        br      47578 <__alt_data_end+0xfffe0478>
8559
   476f0:       88800404        addi    r2,r17,16
8560
   476f4:       a0bf8716        blt     r20,r2,47514 <__alt_data_end+0xfffe0414>
8561
   476f8:       b8800317        ldw     r2,12(r23)
8562
   476fc:       b8c00217        ldw     r3,8(r23)
8563
   47700:       99bfff04        addi    r6,r19,-4
8564
   47704:       01000904        movi    r4,36
8565
   47708:       18800315        stw     r2,12(r3)
8566
   4770c:       10c00215        stw     r3,8(r2)
8567
   47710:       bc800204        addi    r18,r23,8
8568
   47714:       21806536        bltu    r4,r6,478ac <_realloc_r+0x5b0>
8569
   47718:       008004c4        movi    r2,19
8570
   4771c:       1180592e        bgeu    r2,r6,47884 <_realloc_r+0x588>
8571
   47720:       80800017        ldw     r2,0(r16)
8572
   47724:       b8800215        stw     r2,8(r23)
8573
   47728:       80800117        ldw     r2,4(r16)
8574
   4772c:       b8800315        stw     r2,12(r23)
8575
   47730:       008006c4        movi    r2,27
8576
   47734:       11806136        bltu    r2,r6,478bc <_realloc_r+0x5c0>
8577
   47738:       b8800404        addi    r2,r23,16
8578
   4773c:       80c00204        addi    r3,r16,8
8579
   47740:       19000017        ldw     r4,0(r3)
8580
   47744:       11000015        stw     r4,0(r2)
8581
   47748:       19000117        ldw     r4,4(r3)
8582
   4774c:       11000115        stw     r4,4(r2)
8583
   47750:       18c00217        ldw     r3,8(r3)
8584
   47754:       10c00215        stw     r3,8(r2)
8585
   47758:       a447c83a        sub     r3,r20,r17
8586
   4775c:       bc45883a        add     r2,r23,r17
8587
   47760:       18c00054        ori     r3,r3,1
8588
   47764:       10c00115        stw     r3,4(r2)
8589
   47768:       b8c00117        ldw     r3,4(r23)
8590
   4776c:       e0800215        stw     r2,8(fp)
8591
   47770:       a809883a        mov     r4,r21
8592
   47774:       1880004c        andi    r2,r3,1
8593
   47778:       88a2b03a        or      r17,r17,r2
8594
   4777c:       bc400115        stw     r17,4(r23)
8595
   47780:       0049f280        call    49f28 <__malloc_unlock>
8596
   47784:       003f3c06        br      47478 <__alt_data_end+0xfffe0378>
8597
   47788:       80c00217        ldw     r3,8(r16)
8598
   4778c:       90c00215        stw     r3,8(r18)
8599
   47790:       80c00317        ldw     r3,12(r16)
8600
   47794:       90c00315        stw     r3,12(r18)
8601
   47798:       30802426        beq     r6,r2,4782c <_realloc_r+0x530>
8602
   4779c:       90800404        addi    r2,r18,16
8603
   477a0:       80c00404        addi    r3,r16,16
8604
   477a4:       003f6e06        br      47560 <__alt_data_end+0xfffe0460>
8605
   477a8:       953fff17        ldw     r20,-4(r18)
8606
   477ac:       00ffff04        movi    r3,-4
8607
   477b0:       a0e8703a        and     r20,r20,r3
8608
   477b4:       a4e9883a        add     r20,r20,r19
8609
   477b8:       003f2206        br      47444 <__alt_data_end+0xfffe0344>
8610
   477bc:       800b883a        mov     r5,r16
8611
   477c0:       9009883a        mov     r4,r18
8612
   477c4:       00461500        call    46150 
8613
   477c8:       9021883a        mov     r16,r18
8614
   477cc:       b8800117        ldw     r2,4(r23)
8615
   477d0:       b82d883a        mov     r22,r23
8616
   477d4:       003f1b06        br      47444 <__alt_data_end+0xfffe0344>
8617
   477d8:       9005883a        mov     r2,r18
8618
   477dc:       8007883a        mov     r3,r16
8619
   477e0:       003f9206        br      4762c <__alt_data_end+0xfffe052c>
8620
   477e4:       800b883a        mov     r5,r16
8621
   477e8:       9009883a        mov     r4,r18
8622
   477ec:       d9c00015        stw     r7,0(sp)
8623
   477f0:       00461500        call    46150 
8624
   477f4:       d9c00017        ldw     r7,0(sp)
8625
   477f8:       9021883a        mov     r16,r18
8626
   477fc:       b8800117        ldw     r2,4(r23)
8627
   47800:       3829883a        mov     r20,r7
8628
   47804:       b82d883a        mov     r22,r23
8629
   47808:       003f0e06        br      47444 <__alt_data_end+0xfffe0344>
8630
   4780c:       80800217        ldw     r2,8(r16)
8631
   47810:       b8800415        stw     r2,16(r23)
8632
   47814:       80800317        ldw     r2,12(r16)
8633
   47818:       b8800515        stw     r2,20(r23)
8634
   4781c:       31001226        beq     r6,r4,47868 <_realloc_r+0x56c>
8635
   47820:       b8800604        addi    r2,r23,24
8636
   47824:       80c00404        addi    r3,r16,16
8637
   47828:       003f9606        br      47684 <__alt_data_end+0xfffe0584>
8638
   4782c:       81000417        ldw     r4,16(r16)
8639
   47830:       90800604        addi    r2,r18,24
8640
   47834:       80c00604        addi    r3,r16,24
8641
   47838:       91000415        stw     r4,16(r18)
8642
   4783c:       81000517        ldw     r4,20(r16)
8643
   47840:       91000515        stw     r4,20(r18)
8644
   47844:       003f4606        br      47560 <__alt_data_end+0xfffe0460>
8645
   47848:       80800217        ldw     r2,8(r16)
8646
   4784c:       b8800415        stw     r2,16(r23)
8647
   47850:       80800317        ldw     r2,12(r16)
8648
   47854:       b8800515        stw     r2,20(r23)
8649
   47858:       31000d26        beq     r6,r4,47890 <_realloc_r+0x594>
8650
   4785c:       b8800604        addi    r2,r23,24
8651
   47860:       80c00404        addi    r3,r16,16
8652
   47864:       003f7106        br      4762c <__alt_data_end+0xfffe052c>
8653
   47868:       81000417        ldw     r4,16(r16)
8654
   4786c:       b8800804        addi    r2,r23,32
8655
   47870:       80c00604        addi    r3,r16,24
8656
   47874:       b9000615        stw     r4,24(r23)
8657
   47878:       81000517        ldw     r4,20(r16)
8658
   4787c:       b9000715        stw     r4,28(r23)
8659
   47880:       003f8006        br      47684 <__alt_data_end+0xfffe0584>
8660
   47884:       9005883a        mov     r2,r18
8661
   47888:       8007883a        mov     r3,r16
8662
   4788c:       003fac06        br      47740 <__alt_data_end+0xfffe0640>
8663
   47890:       81000417        ldw     r4,16(r16)
8664
   47894:       b8800804        addi    r2,r23,32
8665
   47898:       80c00604        addi    r3,r16,24
8666
   4789c:       b9000615        stw     r4,24(r23)
8667
   478a0:       81000517        ldw     r4,20(r16)
8668
   478a4:       b9000715        stw     r4,28(r23)
8669
   478a8:       003f6006        br      4762c <__alt_data_end+0xfffe052c>
8670
   478ac:       9009883a        mov     r4,r18
8671
   478b0:       800b883a        mov     r5,r16
8672
   478b4:       00461500        call    46150 
8673
   478b8:       003fa706        br      47758 <__alt_data_end+0xfffe0658>
8674
   478bc:       80800217        ldw     r2,8(r16)
8675
   478c0:       b8800415        stw     r2,16(r23)
8676
   478c4:       80800317        ldw     r2,12(r16)
8677
   478c8:       b8800515        stw     r2,20(r23)
8678
   478cc:       31000326        beq     r6,r4,478dc <_realloc_r+0x5e0>
8679
   478d0:       b8800604        addi    r2,r23,24
8680
   478d4:       80c00404        addi    r3,r16,16
8681
   478d8:       003f9906        br      47740 <__alt_data_end+0xfffe0640>
8682
   478dc:       81000417        ldw     r4,16(r16)
8683
   478e0:       b8800804        addi    r2,r23,32
8684
   478e4:       80c00604        addi    r3,r16,24
8685
   478e8:       b9000615        stw     r4,24(r23)
8686
   478ec:       81000517        ldw     r4,20(r16)
8687
   478f0:       b9000715        stw     r4,28(r23)
8688
   478f4:       003f9206        br      47740 <__alt_data_end+0xfffe0640>
8689
 
8690
000478f8 <__isinfd>:
8691
   478f8:       0105c83a        sub     r2,zero,r4
8692
   478fc:       1108b03a        or      r4,r2,r4
8693
   47900:       2004d7fa        srli    r2,r4,31
8694
   47904:       00e00034        movhi   r3,32768
8695
   47908:       18ffffc4        addi    r3,r3,-1
8696
   4790c:       28ca703a        and     r5,r5,r3
8697
   47910:       1144b03a        or      r2,r2,r5
8698
   47914:       00dffc34        movhi   r3,32752
8699
   47918:       1885c83a        sub     r2,r3,r2
8700
   4791c:       0087c83a        sub     r3,zero,r2
8701
   47920:       1884b03a        or      r2,r3,r2
8702
   47924:       1005d7fa        srai    r2,r2,31
8703
   47928:       10800044        addi    r2,r2,1
8704
   4792c:       f800283a        ret
8705
 
8706
00047930 <__isnand>:
8707
   47930:       0105c83a        sub     r2,zero,r4
8708
   47934:       1108b03a        or      r4,r2,r4
8709
   47938:       2004d7fa        srli    r2,r4,31
8710
   4793c:       00e00034        movhi   r3,32768
8711
   47940:       18ffffc4        addi    r3,r3,-1
8712
   47944:       28ca703a        and     r5,r5,r3
8713
   47948:       1144b03a        or      r2,r2,r5
8714
   4794c:       00dffc34        movhi   r3,32752
8715
   47950:       1885c83a        sub     r2,r3,r2
8716
   47954:       1004d7fa        srli    r2,r2,31
8717
   47958:       f800283a        ret
8718
 
8719
0004795c <_sbrk_r>:
8720
   4795c:       defffd04        addi    sp,sp,-12
8721
   47960:       dc400115        stw     r17,4(sp)
8722
   47964:       dc000015        stw     r16,0(sp)
8723
   47968:       2023883a        mov     r17,r4
8724
   4796c:       04000174        movhi   r16,5
8725
   47970:       843e7704        addi    r16,r16,-1572
8726
   47974:       2809883a        mov     r4,r5
8727
   47978:       dfc00215        stw     ra,8(sp)
8728
   4797c:       80000015        stw     zero,0(r16)
8729
   47980:       004a0e80        call    4a0e8 
8730
   47984:       00ffffc4        movi    r3,-1
8731
   47988:       10c00526        beq     r2,r3,479a0 <_sbrk_r+0x44>
8732
   4798c:       dfc00217        ldw     ra,8(sp)
8733
   47990:       dc400117        ldw     r17,4(sp)
8734
   47994:       dc000017        ldw     r16,0(sp)
8735
   47998:       dec00304        addi    sp,sp,12
8736
   4799c:       f800283a        ret
8737
   479a0:       80c00017        ldw     r3,0(r16)
8738
   479a4:       183ff926        beq     r3,zero,4798c <__alt_data_end+0xfffe088c>
8739
   479a8:       88c00015        stw     r3,0(r17)
8740
   479ac:       dfc00217        ldw     ra,8(sp)
8741
   479b0:       dc400117        ldw     r17,4(sp)
8742
   479b4:       dc000017        ldw     r16,0(sp)
8743
   479b8:       dec00304        addi    sp,sp,12
8744
   479bc:       f800283a        ret
8745
 
8746
000479c0 <__sread>:
8747
   479c0:       defffe04        addi    sp,sp,-8
8748
   479c4:       dc000015        stw     r16,0(sp)
8749
   479c8:       2821883a        mov     r16,r5
8750
   479cc:       2940038f        ldh     r5,14(r5)
8751
   479d0:       dfc00115        stw     ra,4(sp)
8752
   479d4:       0047fb80        call    47fb8 <_read_r>
8753
   479d8:       10000716        blt     r2,zero,479f8 <__sread+0x38>
8754
   479dc:       80c01417        ldw     r3,80(r16)
8755
   479e0:       1887883a        add     r3,r3,r2
8756
   479e4:       80c01415        stw     r3,80(r16)
8757
   479e8:       dfc00117        ldw     ra,4(sp)
8758
   479ec:       dc000017        ldw     r16,0(sp)
8759
   479f0:       dec00204        addi    sp,sp,8
8760
   479f4:       f800283a        ret
8761
   479f8:       80c0030b        ldhu    r3,12(r16)
8762
   479fc:       18fbffcc        andi    r3,r3,61439
8763
   47a00:       80c0030d        sth     r3,12(r16)
8764
   47a04:       dfc00117        ldw     ra,4(sp)
8765
   47a08:       dc000017        ldw     r16,0(sp)
8766
   47a0c:       dec00204        addi    sp,sp,8
8767
   47a10:       f800283a        ret
8768
 
8769
00047a14 <__swrite>:
8770
   47a14:       2880030b        ldhu    r2,12(r5)
8771
   47a18:       defffb04        addi    sp,sp,-20
8772
   47a1c:       dcc00315        stw     r19,12(sp)
8773
   47a20:       10c0400c        andi    r3,r2,256
8774
   47a24:       18ffffcc        andi    r3,r3,65535
8775
   47a28:       18e0001c        xori    r3,r3,32768
8776
   47a2c:       dc800215        stw     r18,8(sp)
8777
   47a30:       dc400115        stw     r17,4(sp)
8778
   47a34:       dc000015        stw     r16,0(sp)
8779
   47a38:       dfc00415        stw     ra,16(sp)
8780
   47a3c:       18e00004        addi    r3,r3,-32768
8781
   47a40:       2821883a        mov     r16,r5
8782
   47a44:       2027883a        mov     r19,r4
8783
   47a48:       3025883a        mov     r18,r6
8784
   47a4c:       3823883a        mov     r17,r7
8785
   47a50:       18000526        beq     r3,zero,47a68 <__swrite+0x54>
8786
   47a54:       2940038f        ldh     r5,14(r5)
8787
   47a58:       000d883a        mov     r6,zero
8788
   47a5c:       01c00084        movi    r7,2
8789
   47a60:       0047f4c0        call    47f4c <_lseek_r>
8790
   47a64:       8080030b        ldhu    r2,12(r16)
8791
   47a68:       8140038f        ldh     r5,14(r16)
8792
   47a6c:       10bbffcc        andi    r2,r2,61439
8793
   47a70:       9809883a        mov     r4,r19
8794
   47a74:       900d883a        mov     r6,r18
8795
   47a78:       880f883a        mov     r7,r17
8796
   47a7c:       8080030d        sth     r2,12(r16)
8797
   47a80:       dfc00417        ldw     ra,16(sp)
8798
   47a84:       dcc00317        ldw     r19,12(sp)
8799
   47a88:       dc800217        ldw     r18,8(sp)
8800
   47a8c:       dc400117        ldw     r17,4(sp)
8801
   47a90:       dc000017        ldw     r16,0(sp)
8802
   47a94:       dec00504        addi    sp,sp,20
8803
   47a98:       0047ba41        jmpi    47ba4 <_write_r>
8804
 
8805
00047a9c <__sseek>:
8806
   47a9c:       defffe04        addi    sp,sp,-8
8807
   47aa0:       dc000015        stw     r16,0(sp)
8808
   47aa4:       2821883a        mov     r16,r5
8809
   47aa8:       2940038f        ldh     r5,14(r5)
8810
   47aac:       dfc00115        stw     ra,4(sp)
8811
   47ab0:       0047f4c0        call    47f4c <_lseek_r>
8812
   47ab4:       00ffffc4        movi    r3,-1
8813
   47ab8:       10c00826        beq     r2,r3,47adc <__sseek+0x40>
8814
   47abc:       80c0030b        ldhu    r3,12(r16)
8815
   47ac0:       80801415        stw     r2,80(r16)
8816
   47ac4:       18c40014        ori     r3,r3,4096
8817
   47ac8:       80c0030d        sth     r3,12(r16)
8818
   47acc:       dfc00117        ldw     ra,4(sp)
8819
   47ad0:       dc000017        ldw     r16,0(sp)
8820
   47ad4:       dec00204        addi    sp,sp,8
8821
   47ad8:       f800283a        ret
8822
   47adc:       80c0030b        ldhu    r3,12(r16)
8823
   47ae0:       18fbffcc        andi    r3,r3,61439
8824
   47ae4:       80c0030d        sth     r3,12(r16)
8825
   47ae8:       dfc00117        ldw     ra,4(sp)
8826
   47aec:       dc000017        ldw     r16,0(sp)
8827
   47af0:       dec00204        addi    sp,sp,8
8828
   47af4:       f800283a        ret
8829
 
8830
00047af8 <__sclose>:
8831
   47af8:       2940038f        ldh     r5,14(r5)
8832
   47afc:       0047ccc1        jmpi    47ccc <_close_r>
8833
 
8834
00047b00 :
8835
   47b00:       2904b03a        or      r2,r5,r4
8836
   47b04:       108000cc        andi    r2,r2,3
8837
   47b08:       1000171e        bne     r2,zero,47b68 
8838
   47b0c:       20800017        ldw     r2,0(r4)
8839
   47b10:       28c00017        ldw     r3,0(r5)
8840
   47b14:       10c0141e        bne     r2,r3,47b68 
8841
   47b18:       027fbff4        movhi   r9,65279
8842
   47b1c:       4a7fbfc4        addi    r9,r9,-257
8843
   47b20:       1247883a        add     r3,r2,r9
8844
   47b24:       0084303a        nor     r2,zero,r2
8845
   47b28:       1884703a        and     r2,r3,r2
8846
   47b2c:       02202074        movhi   r8,32897
8847
   47b30:       42202004        addi    r8,r8,-32640
8848
   47b34:       1204703a        and     r2,r2,r8
8849
   47b38:       10000226        beq     r2,zero,47b44 
8850
   47b3c:       00001706        br      47b9c 
8851
   47b40:       3000161e        bne     r6,zero,47b9c 
8852
   47b44:       21000104        addi    r4,r4,4
8853
   47b48:       20800017        ldw     r2,0(r4)
8854
   47b4c:       29400104        addi    r5,r5,4
8855
   47b50:       28c00017        ldw     r3,0(r5)
8856
   47b54:       124f883a        add     r7,r2,r9
8857
   47b58:       008c303a        nor     r6,zero,r2
8858
   47b5c:       398c703a        and     r6,r7,r6
8859
   47b60:       320c703a        and     r6,r6,r8
8860
   47b64:       10fff626        beq     r2,r3,47b40 <__alt_data_end+0xfffe0a40>
8861
   47b68:       20800007        ldb     r2,0(r4)
8862
   47b6c:       1000051e        bne     r2,zero,47b84 
8863
   47b70:       00000606        br      47b8c 
8864
   47b74:       21000044        addi    r4,r4,1
8865
   47b78:       20800007        ldb     r2,0(r4)
8866
   47b7c:       29400044        addi    r5,r5,1
8867
   47b80:       10000226        beq     r2,zero,47b8c 
8868
   47b84:       28c00007        ldb     r3,0(r5)
8869
   47b88:       10fffa26        beq     r2,r3,47b74 <__alt_data_end+0xfffe0a74>
8870
   47b8c:       20c00003        ldbu    r3,0(r4)
8871
   47b90:       28800003        ldbu    r2,0(r5)
8872
   47b94:       1885c83a        sub     r2,r3,r2
8873
   47b98:       f800283a        ret
8874
   47b9c:       0005883a        mov     r2,zero
8875
   47ba0:       f800283a        ret
8876
 
8877
00047ba4 <_write_r>:
8878
   47ba4:       defffd04        addi    sp,sp,-12
8879
   47ba8:       dc400115        stw     r17,4(sp)
8880
   47bac:       dc000015        stw     r16,0(sp)
8881
   47bb0:       2023883a        mov     r17,r4
8882
   47bb4:       04000174        movhi   r16,5
8883
   47bb8:       843e7704        addi    r16,r16,-1572
8884
   47bbc:       2809883a        mov     r4,r5
8885
   47bc0:       300b883a        mov     r5,r6
8886
   47bc4:       380d883a        mov     r6,r7
8887
   47bc8:       dfc00215        stw     ra,8(sp)
8888
   47bcc:       80000015        stw     zero,0(r16)
8889
   47bd0:       004a2180        call    4a218 
8890
   47bd4:       00ffffc4        movi    r3,-1
8891
   47bd8:       10c00526        beq     r2,r3,47bf0 <_write_r+0x4c>
8892
   47bdc:       dfc00217        ldw     ra,8(sp)
8893
   47be0:       dc400117        ldw     r17,4(sp)
8894
   47be4:       dc000017        ldw     r16,0(sp)
8895
   47be8:       dec00304        addi    sp,sp,12
8896
   47bec:       f800283a        ret
8897
   47bf0:       80c00017        ldw     r3,0(r16)
8898
   47bf4:       183ff926        beq     r3,zero,47bdc <__alt_data_end+0xfffe0adc>
8899
   47bf8:       88c00015        stw     r3,0(r17)
8900
   47bfc:       dfc00217        ldw     ra,8(sp)
8901
   47c00:       dc400117        ldw     r17,4(sp)
8902
   47c04:       dc000017        ldw     r16,0(sp)
8903
   47c08:       dec00304        addi    sp,sp,12
8904
   47c0c:       f800283a        ret
8905
 
8906
00047c10 <_calloc_r>:
8907
   47c10:       314b383a        mul     r5,r6,r5
8908
   47c14:       defffe04        addi    sp,sp,-8
8909
   47c18:       dc000015        stw     r16,0(sp)
8910
   47c1c:       dfc00115        stw     ra,4(sp)
8911
   47c20:       00457dc0        call    457dc <_malloc_r>
8912
   47c24:       1021883a        mov     r16,r2
8913
   47c28:       10000c26        beq     r2,zero,47c5c <_calloc_r+0x4c>
8914
   47c2c:       11bfff17        ldw     r6,-4(r2)
8915
   47c30:       00ffff04        movi    r3,-4
8916
   47c34:       00800904        movi    r2,36
8917
   47c38:       30cc703a        and     r6,r6,r3
8918
   47c3c:       30cd883a        add     r6,r6,r3
8919
   47c40:       11801436        bltu    r2,r6,47c94 <_calloc_r+0x84>
8920
   47c44:       00c004c4        movi    r3,19
8921
   47c48:       19800936        bltu    r3,r6,47c70 <_calloc_r+0x60>
8922
   47c4c:       8005883a        mov     r2,r16
8923
   47c50:       10000015        stw     zero,0(r2)
8924
   47c54:       10000115        stw     zero,4(r2)
8925
   47c58:       10000215        stw     zero,8(r2)
8926
   47c5c:       8005883a        mov     r2,r16
8927
   47c60:       dfc00117        ldw     ra,4(sp)
8928
   47c64:       dc000017        ldw     r16,0(sp)
8929
   47c68:       dec00204        addi    sp,sp,8
8930
   47c6c:       f800283a        ret
8931
   47c70:       80000015        stw     zero,0(r16)
8932
   47c74:       80000115        stw     zero,4(r16)
8933
   47c78:       00c006c4        movi    r3,27
8934
   47c7c:       19800d2e        bgeu    r3,r6,47cb4 <_calloc_r+0xa4>
8935
   47c80:       80000215        stw     zero,8(r16)
8936
   47c84:       80000315        stw     zero,12(r16)
8937
   47c88:       30800c26        beq     r6,r2,47cbc <_calloc_r+0xac>
8938
   47c8c:       80800404        addi    r2,r16,16
8939
   47c90:       003fef06        br      47c50 <__alt_data_end+0xfffe0b50>
8940
   47c94:       8009883a        mov     r4,r16
8941
   47c98:       000b883a        mov     r5,zero
8942
   47c9c:       00462780        call    46278 
8943
   47ca0:       8005883a        mov     r2,r16
8944
   47ca4:       dfc00117        ldw     ra,4(sp)
8945
   47ca8:       dc000017        ldw     r16,0(sp)
8946
   47cac:       dec00204        addi    sp,sp,8
8947
   47cb0:       f800283a        ret
8948
   47cb4:       80800204        addi    r2,r16,8
8949
   47cb8:       003fe506        br      47c50 <__alt_data_end+0xfffe0b50>
8950
   47cbc:       80000415        stw     zero,16(r16)
8951
   47cc0:       80000515        stw     zero,20(r16)
8952
   47cc4:       80800604        addi    r2,r16,24
8953
   47cc8:       003fe106        br      47c50 <__alt_data_end+0xfffe0b50>
8954
 
8955
00047ccc <_close_r>:
8956
   47ccc:       defffd04        addi    sp,sp,-12
8957
   47cd0:       dc400115        stw     r17,4(sp)
8958
   47cd4:       dc000015        stw     r16,0(sp)
8959
   47cd8:       2023883a        mov     r17,r4
8960
   47cdc:       04000174        movhi   r16,5
8961
   47ce0:       843e7704        addi    r16,r16,-1572
8962
   47ce4:       2809883a        mov     r4,r5
8963
   47ce8:       dfc00215        stw     ra,8(sp)
8964
   47cec:       80000015        stw     zero,0(r16)
8965
   47cf0:       00499a40        call    499a4 
8966
   47cf4:       00ffffc4        movi    r3,-1
8967
   47cf8:       10c00526        beq     r2,r3,47d10 <_close_r+0x44>
8968
   47cfc:       dfc00217        ldw     ra,8(sp)
8969
   47d00:       dc400117        ldw     r17,4(sp)
8970
   47d04:       dc000017        ldw     r16,0(sp)
8971
   47d08:       dec00304        addi    sp,sp,12
8972
   47d0c:       f800283a        ret
8973
   47d10:       80c00017        ldw     r3,0(r16)
8974
   47d14:       183ff926        beq     r3,zero,47cfc <__alt_data_end+0xfffe0bfc>
8975
   47d18:       88c00015        stw     r3,0(r17)
8976
   47d1c:       dfc00217        ldw     ra,8(sp)
8977
   47d20:       dc400117        ldw     r17,4(sp)
8978
   47d24:       dc000017        ldw     r16,0(sp)
8979
   47d28:       dec00304        addi    sp,sp,12
8980
   47d2c:       f800283a        ret
8981
 
8982
00047d30 <_fclose_r>:
8983
   47d30:       defffc04        addi    sp,sp,-16
8984
   47d34:       dc400115        stw     r17,4(sp)
8985
   47d38:       dc000015        stw     r16,0(sp)
8986
   47d3c:       dfc00315        stw     ra,12(sp)
8987
   47d40:       dc800215        stw     r18,8(sp)
8988
   47d44:       2821883a        mov     r16,r5
8989
   47d48:       2023883a        mov     r17,r4
8990
   47d4c:       28003426        beq     r5,zero,47e20 <_fclose_r+0xf0>
8991
   47d50:       0044ac80        call    44ac8 <__sfp_lock_acquire>
8992
   47d54:       88000226        beq     r17,zero,47d60 <_fclose_r+0x30>
8993
   47d58:       88800e17        ldw     r2,56(r17)
8994
   47d5c:       10003826        beq     r2,zero,47e40 <_fclose_r+0x110>
8995
   47d60:       8080030f        ldh     r2,12(r16)
8996
   47d64:       10002526        beq     r2,zero,47dfc <_fclose_r+0xcc>
8997
   47d68:       8809883a        mov     r4,r17
8998
   47d6c:       800b883a        mov     r5,r16
8999
   47d70:       00446180        call    44618 <_fflush_r>
9000
   47d74:       1025883a        mov     r18,r2
9001
   47d78:       80800b17        ldw     r2,44(r16)
9002
   47d7c:       10000426        beq     r2,zero,47d90 <_fclose_r+0x60>
9003
   47d80:       81400717        ldw     r5,28(r16)
9004
   47d84:       8809883a        mov     r4,r17
9005
   47d88:       103ee83a        callr   r2
9006
   47d8c:       10003516        blt     r2,zero,47e64 <_fclose_r+0x134>
9007
   47d90:       8080030b        ldhu    r2,12(r16)
9008
   47d94:       1080200c        andi    r2,r2,128
9009
   47d98:       10bfffcc        andi    r2,r2,65535
9010
   47d9c:       10a0001c        xori    r2,r2,32768
9011
   47da0:       10a00004        addi    r2,r2,-32768
9012
   47da4:       10002b1e        bne     r2,zero,47e54 <_fclose_r+0x124>
9013
   47da8:       81400c17        ldw     r5,48(r16)
9014
   47dac:       28000526        beq     r5,zero,47dc4 <_fclose_r+0x94>
9015
   47db0:       80801004        addi    r2,r16,64
9016
   47db4:       28800226        beq     r5,r2,47dc0 <_fclose_r+0x90>
9017
   47db8:       8809883a        mov     r4,r17
9018
   47dbc:       0044c440        call    44c44 <_free_r>
9019
   47dc0:       80000c15        stw     zero,48(r16)
9020
   47dc4:       81401117        ldw     r5,68(r16)
9021
   47dc8:       28000326        beq     r5,zero,47dd8 <_fclose_r+0xa8>
9022
   47dcc:       8809883a        mov     r4,r17
9023
   47dd0:       0044c440        call    44c44 <_free_r>
9024
   47dd4:       80001115        stw     zero,68(r16)
9025
   47dd8:       8000030d        sth     zero,12(r16)
9026
   47ddc:       0044acc0        call    44acc <__sfp_lock_release>
9027
   47de0:       9005883a        mov     r2,r18
9028
   47de4:       dfc00317        ldw     ra,12(sp)
9029
   47de8:       dc800217        ldw     r18,8(sp)
9030
   47dec:       dc400117        ldw     r17,4(sp)
9031
   47df0:       dc000017        ldw     r16,0(sp)
9032
   47df4:       dec00404        addi    sp,sp,16
9033
   47df8:       f800283a        ret
9034
   47dfc:       0044acc0        call    44acc <__sfp_lock_release>
9035
   47e00:       0025883a        mov     r18,zero
9036
   47e04:       9005883a        mov     r2,r18
9037
   47e08:       dfc00317        ldw     ra,12(sp)
9038
   47e0c:       dc800217        ldw     r18,8(sp)
9039
   47e10:       dc400117        ldw     r17,4(sp)
9040
   47e14:       dc000017        ldw     r16,0(sp)
9041
   47e18:       dec00404        addi    sp,sp,16
9042
   47e1c:       f800283a        ret
9043
   47e20:       0025883a        mov     r18,zero
9044
   47e24:       9005883a        mov     r2,r18
9045
   47e28:       dfc00317        ldw     ra,12(sp)
9046
   47e2c:       dc800217        ldw     r18,8(sp)
9047
   47e30:       dc400117        ldw     r17,4(sp)
9048
   47e34:       dc000017        ldw     r16,0(sp)
9049
   47e38:       dec00404        addi    sp,sp,16
9050
   47e3c:       f800283a        ret
9051
   47e40:       8809883a        mov     r4,r17
9052
   47e44:       00448c00        call    448c0 <__sinit>
9053
   47e48:       8080030f        ldh     r2,12(r16)
9054
   47e4c:       103fc61e        bne     r2,zero,47d68 <__alt_data_end+0xfffe0c68>
9055
   47e50:       003fea06        br      47dfc <__alt_data_end+0xfffe0cfc>
9056
   47e54:       81400417        ldw     r5,16(r16)
9057
   47e58:       8809883a        mov     r4,r17
9058
   47e5c:       0044c440        call    44c44 <_free_r>
9059
   47e60:       003fd106        br      47da8 <__alt_data_end+0xfffe0ca8>
9060
   47e64:       04bfffc4        movi    r18,-1
9061
   47e68:       003fc906        br      47d90 <__alt_data_end+0xfffe0c90>
9062
 
9063
00047e6c :
9064
   47e6c:       00800174        movhi   r2,5
9065
   47e70:       10b7cd04        addi    r2,r2,-8396
9066
   47e74:       200b883a        mov     r5,r4
9067
   47e78:       11000017        ldw     r4,0(r2)
9068
   47e7c:       0047d301        jmpi    47d30 <_fclose_r>
9069
 
9070
00047e80 <_fstat_r>:
9071
   47e80:       defffd04        addi    sp,sp,-12
9072
   47e84:       dc400115        stw     r17,4(sp)
9073
   47e88:       dc000015        stw     r16,0(sp)
9074
   47e8c:       2023883a        mov     r17,r4
9075
   47e90:       04000174        movhi   r16,5
9076
   47e94:       843e7704        addi    r16,r16,-1572
9077
   47e98:       2809883a        mov     r4,r5
9078
   47e9c:       300b883a        mov     r5,r6
9079
   47ea0:       dfc00215        stw     ra,8(sp)
9080
   47ea4:       80000015        stw     zero,0(r16)
9081
   47ea8:       0049ae80        call    49ae8 
9082
   47eac:       00ffffc4        movi    r3,-1
9083
   47eb0:       10c00526        beq     r2,r3,47ec8 <_fstat_r+0x48>
9084
   47eb4:       dfc00217        ldw     ra,8(sp)
9085
   47eb8:       dc400117        ldw     r17,4(sp)
9086
   47ebc:       dc000017        ldw     r16,0(sp)
9087
   47ec0:       dec00304        addi    sp,sp,12
9088
   47ec4:       f800283a        ret
9089
   47ec8:       80c00017        ldw     r3,0(r16)
9090
   47ecc:       183ff926        beq     r3,zero,47eb4 <__alt_data_end+0xfffe0db4>
9091
   47ed0:       88c00015        stw     r3,0(r17)
9092
   47ed4:       dfc00217        ldw     ra,8(sp)
9093
   47ed8:       dc400117        ldw     r17,4(sp)
9094
   47edc:       dc000017        ldw     r16,0(sp)
9095
   47ee0:       dec00304        addi    sp,sp,12
9096
   47ee4:       f800283a        ret
9097
 
9098
00047ee8 <_isatty_r>:
9099
   47ee8:       defffd04        addi    sp,sp,-12
9100
   47eec:       dc400115        stw     r17,4(sp)
9101
   47ef0:       dc000015        stw     r16,0(sp)
9102
   47ef4:       2023883a        mov     r17,r4
9103
   47ef8:       04000174        movhi   r16,5
9104
   47efc:       843e7704        addi    r16,r16,-1572
9105
   47f00:       2809883a        mov     r4,r5
9106
   47f04:       dfc00215        stw     ra,8(sp)
9107
   47f08:       80000015        stw     zero,0(r16)
9108
   47f0c:       0049be40        call    49be4 
9109
   47f10:       00ffffc4        movi    r3,-1
9110
   47f14:       10c00526        beq     r2,r3,47f2c <_isatty_r+0x44>
9111
   47f18:       dfc00217        ldw     ra,8(sp)
9112
   47f1c:       dc400117        ldw     r17,4(sp)
9113
   47f20:       dc000017        ldw     r16,0(sp)
9114
   47f24:       dec00304        addi    sp,sp,12
9115
   47f28:       f800283a        ret
9116
   47f2c:       80c00017        ldw     r3,0(r16)
9117
   47f30:       183ff926        beq     r3,zero,47f18 <__alt_data_end+0xfffe0e18>
9118
   47f34:       88c00015        stw     r3,0(r17)
9119
   47f38:       dfc00217        ldw     ra,8(sp)
9120
   47f3c:       dc400117        ldw     r17,4(sp)
9121
   47f40:       dc000017        ldw     r16,0(sp)
9122
   47f44:       dec00304        addi    sp,sp,12
9123
   47f48:       f800283a        ret
9124
 
9125
00047f4c <_lseek_r>:
9126
   47f4c:       defffd04        addi    sp,sp,-12
9127
   47f50:       dc400115        stw     r17,4(sp)
9128
   47f54:       dc000015        stw     r16,0(sp)
9129
   47f58:       2023883a        mov     r17,r4
9130
   47f5c:       04000174        movhi   r16,5
9131
   47f60:       843e7704        addi    r16,r16,-1572
9132
   47f64:       2809883a        mov     r4,r5
9133
   47f68:       300b883a        mov     r5,r6
9134
   47f6c:       380d883a        mov     r6,r7
9135
   47f70:       dfc00215        stw     ra,8(sp)
9136
   47f74:       80000015        stw     zero,0(r16)
9137
   47f78:       0049dc00        call    49dc0 
9138
   47f7c:       00ffffc4        movi    r3,-1
9139
   47f80:       10c00526        beq     r2,r3,47f98 <_lseek_r+0x4c>
9140
   47f84:       dfc00217        ldw     ra,8(sp)
9141
   47f88:       dc400117        ldw     r17,4(sp)
9142
   47f8c:       dc000017        ldw     r16,0(sp)
9143
   47f90:       dec00304        addi    sp,sp,12
9144
   47f94:       f800283a        ret
9145
   47f98:       80c00017        ldw     r3,0(r16)
9146
   47f9c:       183ff926        beq     r3,zero,47f84 <__alt_data_end+0xfffe0e84>
9147
   47fa0:       88c00015        stw     r3,0(r17)
9148
   47fa4:       dfc00217        ldw     ra,8(sp)
9149
   47fa8:       dc400117        ldw     r17,4(sp)
9150
   47fac:       dc000017        ldw     r16,0(sp)
9151
   47fb0:       dec00304        addi    sp,sp,12
9152
   47fb4:       f800283a        ret
9153
 
9154
00047fb8 <_read_r>:
9155
   47fb8:       defffd04        addi    sp,sp,-12
9156
   47fbc:       dc400115        stw     r17,4(sp)
9157
   47fc0:       dc000015        stw     r16,0(sp)
9158
   47fc4:       2023883a        mov     r17,r4
9159
   47fc8:       04000174        movhi   r16,5
9160
   47fcc:       843e7704        addi    r16,r16,-1572
9161
   47fd0:       2809883a        mov     r4,r5
9162
   47fd4:       300b883a        mov     r5,r6
9163
   47fd8:       380d883a        mov     r6,r7
9164
   47fdc:       dfc00215        stw     ra,8(sp)
9165
   47fe0:       80000015        stw     zero,0(r16)
9166
   47fe4:       0049f980        call    49f98 
9167
   47fe8:       00ffffc4        movi    r3,-1
9168
   47fec:       10c00526        beq     r2,r3,48004 <_read_r+0x4c>
9169
   47ff0:       dfc00217        ldw     ra,8(sp)
9170
   47ff4:       dc400117        ldw     r17,4(sp)
9171
   47ff8:       dc000017        ldw     r16,0(sp)
9172
   47ffc:       dec00304        addi    sp,sp,12
9173
   48000:       f800283a        ret
9174
   48004:       80c00017        ldw     r3,0(r16)
9175
   48008:       183ff926        beq     r3,zero,47ff0 <__alt_data_end+0xfffe0ef0>
9176
   4800c:       88c00015        stw     r3,0(r17)
9177
   48010:       dfc00217        ldw     ra,8(sp)
9178
   48014:       dc400117        ldw     r17,4(sp)
9179
   48018:       dc000017        ldw     r16,0(sp)
9180
   4801c:       dec00304        addi    sp,sp,12
9181
   48020:       f800283a        ret
9182
 
9183
00048024 <__udivdi3>:
9184
   48024:       defff504        addi    sp,sp,-44
9185
   48028:       dd000515        stw     r20,20(sp)
9186
   4802c:       dcc00415        stw     r19,16(sp)
9187
   48030:       dc800315        stw     r18,12(sp)
9188
   48034:       dc400215        stw     r17,8(sp)
9189
   48038:       dc000115        stw     r16,4(sp)
9190
   4803c:       dfc00a15        stw     ra,40(sp)
9191
   48040:       df000915        stw     fp,36(sp)
9192
   48044:       ddc00815        stw     r23,32(sp)
9193
   48048:       dd800715        stw     r22,28(sp)
9194
   4804c:       dd400615        stw     r21,24(sp)
9195
   48050:       2025883a        mov     r18,r4
9196
   48054:       2823883a        mov     r17,r5
9197
   48058:       3021883a        mov     r16,r6
9198
   4805c:       2027883a        mov     r19,r4
9199
   48060:       2829883a        mov     r20,r5
9200
   48064:       3800401e        bne     r7,zero,48168 <__udivdi3+0x144>
9201
   48068:       2980602e        bgeu    r5,r6,481ec <__udivdi3+0x1c8>
9202
   4806c:       00bfffd4        movui   r2,65535
9203
   48070:       1180aa36        bltu    r2,r6,4831c <__udivdi3+0x2f8>
9204
   48074:       00803fc4        movi    r2,255
9205
   48078:       11814436        bltu    r2,r6,4858c <__udivdi3+0x568>
9206
   4807c:       0005883a        mov     r2,zero
9207
   48080:       0007883a        mov     r3,zero
9208
   48084:       3084d83a        srl     r2,r6,r2
9209
   48088:       01000174        movhi   r4,5
9210
   4808c:       21308204        addi    r4,r4,-15864
9211
   48090:       2085883a        add     r2,r4,r2
9212
   48094:       10800003        ldbu    r2,0(r2)
9213
   48098:       10c7883a        add     r3,r2,r3
9214
   4809c:       00800804        movi    r2,32
9215
   480a0:       10c5c83a        sub     r2,r2,r3
9216
   480a4:       10000526        beq     r2,zero,480bc <__udivdi3+0x98>
9217
   480a8:       88a2983a        sll     r17,r17,r2
9218
   480ac:       90c6d83a        srl     r3,r18,r3
9219
   480b0:       30a0983a        sll     r16,r6,r2
9220
   480b4:       90a6983a        sll     r19,r18,r2
9221
   480b8:       88e8b03a        or      r20,r17,r3
9222
   480bc:       8022d43a        srli    r17,r16,16
9223
   480c0:       a009883a        mov     r4,r20
9224
   480c4:       857fffcc        andi    r21,r16,65535
9225
   480c8:       880b883a        mov     r5,r17
9226
   480cc:       004981c0        call    4981c <__umodsi3>
9227
   480d0:       a009883a        mov     r4,r20
9228
   480d4:       880b883a        mov     r5,r17
9229
   480d8:       102d883a        mov     r22,r2
9230
   480dc:       00498140        call    49814 <__udivsi3>
9231
   480e0:       b02c943a        slli    r22,r22,16
9232
   480e4:       9806d43a        srli    r3,r19,16
9233
   480e8:       1549383a        mul     r4,r2,r21
9234
   480ec:       1025883a        mov     r18,r2
9235
   480f0:       b0c6b03a        or      r3,r22,r3
9236
   480f4:       1900052e        bgeu    r3,r4,4810c <__udivdi3+0xe8>
9237
   480f8:       1c07883a        add     r3,r3,r16
9238
   480fc:       10bfffc4        addi    r2,r2,-1
9239
   48100:       1c000136        bltu    r3,r16,48108 <__udivdi3+0xe4>
9240
   48104:       19013636        bltu    r3,r4,485e0 <__udivdi3+0x5bc>
9241
   48108:       1025883a        mov     r18,r2
9242
   4810c:       1929c83a        sub     r20,r3,r4
9243
   48110:       a009883a        mov     r4,r20
9244
   48114:       880b883a        mov     r5,r17
9245
   48118:       004981c0        call    4981c <__umodsi3>
9246
   4811c:       102d883a        mov     r22,r2
9247
   48120:       a009883a        mov     r4,r20
9248
   48124:       880b883a        mov     r5,r17
9249
   48128:       00498140        call    49814 <__udivsi3>
9250
   4812c:       b02c943a        slli    r22,r22,16
9251
   48130:       156b383a        mul     r21,r2,r21
9252
   48134:       9cffffcc        andi    r19,r19,65535
9253
   48138:       b4e6b03a        or      r19,r22,r19
9254
   4813c:       1009883a        mov     r4,r2
9255
   48140:       9d40052e        bgeu    r19,r21,48158 <__udivdi3+0x134>
9256
   48144:       9c27883a        add     r19,r19,r16
9257
   48148:       10bfffc4        addi    r2,r2,-1
9258
   4814c:       9c00f736        bltu    r19,r16,4852c <__udivdi3+0x508>
9259
   48150:       9d40f62e        bgeu    r19,r21,4852c <__udivdi3+0x508>
9260
   48154:       213fff84        addi    r4,r4,-2
9261
   48158:       9004943a        slli    r2,r18,16
9262
   4815c:       0007883a        mov     r3,zero
9263
   48160:       2084b03a        or      r2,r4,r2
9264
   48164:       00001506        br      481bc <__udivdi3+0x198>
9265
   48168:       29c06536        bltu    r5,r7,48300 <__udivdi3+0x2dc>
9266
   4816c:       00bfffd4        movui   r2,65535
9267
   48170:       11c0652e        bgeu    r2,r7,48308 <__udivdi3+0x2e4>
9268
   48174:       00804034        movhi   r2,256
9269
   48178:       10bfffc4        addi    r2,r2,-1
9270
   4817c:       11c0f736        bltu    r2,r7,4855c <__udivdi3+0x538>
9271
   48180:       00c00404        movi    r3,16
9272
   48184:       180b883a        mov     r5,r3
9273
   48188:       38c6d83a        srl     r3,r7,r3
9274
   4818c:       01000174        movhi   r4,5
9275
   48190:       21308204        addi    r4,r4,-15864
9276
   48194:       04000804        movi    r16,32
9277
   48198:       20c7883a        add     r3,r4,r3
9278
   4819c:       18800003        ldbu    r2,0(r3)
9279
   481a0:       1145883a        add     r2,r2,r5
9280
   481a4:       80a1c83a        sub     r16,r16,r2
9281
   481a8:       8000691e        bne     r16,zero,48350 <__udivdi3+0x32c>
9282
   481ac:       0007883a        mov     r3,zero
9283
   481b0:       3c406536        bltu    r7,r17,48348 <__udivdi3+0x324>
9284
   481b4:       9180642e        bgeu    r18,r6,48348 <__udivdi3+0x324>
9285
   481b8:       0005883a        mov     r2,zero
9286
   481bc:       dfc00a17        ldw     ra,40(sp)
9287
   481c0:       df000917        ldw     fp,36(sp)
9288
   481c4:       ddc00817        ldw     r23,32(sp)
9289
   481c8:       dd800717        ldw     r22,28(sp)
9290
   481cc:       dd400617        ldw     r21,24(sp)
9291
   481d0:       dd000517        ldw     r20,20(sp)
9292
   481d4:       dcc00417        ldw     r19,16(sp)
9293
   481d8:       dc800317        ldw     r18,12(sp)
9294
   481dc:       dc400217        ldw     r17,8(sp)
9295
   481e0:       dc000117        ldw     r16,4(sp)
9296
   481e4:       dec00b04        addi    sp,sp,44
9297
   481e8:       f800283a        ret
9298
   481ec:       3000041e        bne     r6,zero,48200 <__udivdi3+0x1dc>
9299
   481f0:       01000044        movi    r4,1
9300
   481f4:       000b883a        mov     r5,zero
9301
   481f8:       00498140        call    49814 <__udivsi3>
9302
   481fc:       1021883a        mov     r16,r2
9303
   48200:       00bfffd4        movui   r2,65535
9304
   48204:       14004b2e        bgeu    r2,r16,48334 <__udivdi3+0x310>
9305
   48208:       00804034        movhi   r2,256
9306
   4820c:       10bfffc4        addi    r2,r2,-1
9307
   48210:       1400d836        bltu    r2,r16,48574 <__udivdi3+0x550>
9308
   48214:       00800404        movi    r2,16
9309
   48218:       1007883a        mov     r3,r2
9310
   4821c:       8084d83a        srl     r2,r16,r2
9311
   48220:       01000174        movhi   r4,5
9312
   48224:       21308204        addi    r4,r4,-15864
9313
   48228:       2085883a        add     r2,r4,r2
9314
   4822c:       10800003        ldbu    r2,0(r2)
9315
   48230:       10c7883a        add     r3,r2,r3
9316
   48234:       00800804        movi    r2,32
9317
   48238:       10c5c83a        sub     r2,r2,r3
9318
   4823c:       1000891e        bne     r2,zero,48464 <__udivdi3+0x440>
9319
   48240:       8028d43a        srli    r20,r16,16
9320
   48244:       8c23c83a        sub     r17,r17,r16
9321
   48248:       84bfffcc        andi    r18,r16,65535
9322
   4824c:       00c00044        movi    r3,1
9323
   48250:       8809883a        mov     r4,r17
9324
   48254:       a00b883a        mov     r5,r20
9325
   48258:       d8c00015        stw     r3,0(sp)
9326
   4825c:       004981c0        call    4981c <__umodsi3>
9327
   48260:       8809883a        mov     r4,r17
9328
   48264:       a00b883a        mov     r5,r20
9329
   48268:       102b883a        mov     r21,r2
9330
   4826c:       00498140        call    49814 <__udivsi3>
9331
   48270:       a82a943a        slli    r21,r21,16
9332
   48274:       9808d43a        srli    r4,r19,16
9333
   48278:       148b383a        mul     r5,r2,r18
9334
   4827c:       1023883a        mov     r17,r2
9335
   48280:       a908b03a        or      r4,r21,r4
9336
   48284:       d8c00017        ldw     r3,0(sp)
9337
   48288:       2140052e        bgeu    r4,r5,482a0 <__udivdi3+0x27c>
9338
   4828c:       2409883a        add     r4,r4,r16
9339
   48290:       10bfffc4        addi    r2,r2,-1
9340
   48294:       24000136        bltu    r4,r16,4829c <__udivdi3+0x278>
9341
   48298:       2140ce36        bltu    r4,r5,485d4 <__udivdi3+0x5b0>
9342
   4829c:       1023883a        mov     r17,r2
9343
   482a0:       216bc83a        sub     r21,r4,r5
9344
   482a4:       a809883a        mov     r4,r21
9345
   482a8:       a00b883a        mov     r5,r20
9346
   482ac:       d8c00015        stw     r3,0(sp)
9347
   482b0:       004981c0        call    4981c <__umodsi3>
9348
   482b4:       102d883a        mov     r22,r2
9349
   482b8:       a809883a        mov     r4,r21
9350
   482bc:       a00b883a        mov     r5,r20
9351
   482c0:       00498140        call    49814 <__udivsi3>
9352
   482c4:       b02c943a        slli    r22,r22,16
9353
   482c8:       14a5383a        mul     r18,r2,r18
9354
   482cc:       9cffffcc        andi    r19,r19,65535
9355
   482d0:       b4e6b03a        or      r19,r22,r19
9356
   482d4:       1009883a        mov     r4,r2
9357
   482d8:       d8c00017        ldw     r3,0(sp)
9358
   482dc:       9c80052e        bgeu    r19,r18,482f4 <__udivdi3+0x2d0>
9359
   482e0:       9c27883a        add     r19,r19,r16
9360
   482e4:       10bfffc4        addi    r2,r2,-1
9361
   482e8:       9c009236        bltu    r19,r16,48534 <__udivdi3+0x510>
9362
   482ec:       9c80912e        bgeu    r19,r18,48534 <__udivdi3+0x510>
9363
   482f0:       213fff84        addi    r4,r4,-2
9364
   482f4:       8804943a        slli    r2,r17,16
9365
   482f8:       2084b03a        or      r2,r4,r2
9366
   482fc:       003faf06        br      481bc <__alt_data_end+0xfffe10bc>
9367
   48300:       0007883a        mov     r3,zero
9368
   48304:       003fac06        br      481b8 <__alt_data_end+0xfffe10b8>
9369
   48308:       00803fc4        movi    r2,255
9370
   4830c:       11c09636        bltu    r2,r7,48568 <__udivdi3+0x544>
9371
   48310:       0007883a        mov     r3,zero
9372
   48314:       000b883a        mov     r5,zero
9373
   48318:       003f9b06        br      48188 <__alt_data_end+0xfffe1088>
9374
   4831c:       00804034        movhi   r2,256
9375
   48320:       10bfffc4        addi    r2,r2,-1
9376
   48324:       11809636        bltu    r2,r6,48580 <__udivdi3+0x55c>
9377
   48328:       00800404        movi    r2,16
9378
   4832c:       1007883a        mov     r3,r2
9379
   48330:       003f5406        br      48084 <__alt_data_end+0xfffe0f84>
9380
   48334:       00803fc4        movi    r2,255
9381
   48338:       14009736        bltu    r2,r16,48598 <__udivdi3+0x574>
9382
   4833c:       0005883a        mov     r2,zero
9383
   48340:       0007883a        mov     r3,zero
9384
   48344:       003fb506        br      4821c <__alt_data_end+0xfffe111c>
9385
   48348:       00800044        movi    r2,1
9386
   4834c:       003f9b06        br      481bc <__alt_data_end+0xfffe10bc>
9387
   48350:       3086d83a        srl     r3,r6,r2
9388
   48354:       3c0e983a        sll     r7,r7,r16
9389
   48358:       88aad83a        srl     r21,r17,r2
9390
   4835c:       9084d83a        srl     r2,r18,r2
9391
   48360:       38e6b03a        or      r19,r7,r3
9392
   48364:       9828d43a        srli    r20,r19,16
9393
   48368:       8c22983a        sll     r17,r17,r16
9394
   4836c:       a809883a        mov     r4,r21
9395
   48370:       a00b883a        mov     r5,r20
9396
   48374:       342c983a        sll     r22,r6,r16
9397
   48378:       88a2b03a        or      r17,r17,r2
9398
   4837c:       004981c0        call    4981c <__umodsi3>
9399
   48380:       a809883a        mov     r4,r21
9400
   48384:       a00b883a        mov     r5,r20
9401
   48388:       1039883a        mov     fp,r2
9402
   4838c:       00498140        call    49814 <__udivsi3>
9403
   48390:       102b883a        mov     r21,r2
9404
   48394:       9dffffcc        andi    r23,r19,65535
9405
   48398:       e008943a        slli    r4,fp,16
9406
   4839c:       8804d43a        srli    r2,r17,16
9407
   483a0:       adcd383a        mul     r6,r21,r23
9408
   483a4:       2088b03a        or      r4,r4,r2
9409
   483a8:       2180042e        bgeu    r4,r6,483bc <__udivdi3+0x398>
9410
   483ac:       24c9883a        add     r4,r4,r19
9411
   483b0:       a8bfffc4        addi    r2,r21,-1
9412
   483b4:       24c07f2e        bgeu    r4,r19,485b4 <__udivdi3+0x590>
9413
   483b8:       102b883a        mov     r21,r2
9414
   483bc:       21b9c83a        sub     fp,r4,r6
9415
   483c0:       e009883a        mov     r4,fp
9416
   483c4:       a00b883a        mov     r5,r20
9417
   483c8:       004981c0        call    4981c <__umodsi3>
9418
   483cc:       e009883a        mov     r4,fp
9419
   483d0:       a00b883a        mov     r5,r20
9420
   483d4:       d8800015        stw     r2,0(sp)
9421
   483d8:       00498140        call    49814 <__udivsi3>
9422
   483dc:       d8c00017        ldw     r3,0(sp)
9423
   483e0:       15cb383a        mul     r5,r2,r23
9424
   483e4:       8c7fffcc        andi    r17,r17,65535
9425
   483e8:       1806943a        slli    r3,r3,16
9426
   483ec:       1009883a        mov     r4,r2
9427
   483f0:       1c46b03a        or      r3,r3,r17
9428
   483f4:       1940042e        bgeu    r3,r5,48408 <__udivdi3+0x3e4>
9429
   483f8:       1cc7883a        add     r3,r3,r19
9430
   483fc:       10bfffc4        addi    r2,r2,-1
9431
   48400:       1cc0682e        bgeu    r3,r19,485a4 <__udivdi3+0x580>
9432
   48404:       1009883a        mov     r4,r2
9433
   48408:       a804943a        slli    r2,r21,16
9434
   4840c:       b1ffffcc        andi    r7,r22,65535
9435
   48410:       b02cd43a        srli    r22,r22,16
9436
   48414:       2084b03a        or      r2,r4,r2
9437
   48418:       113fffcc        andi    r4,r2,65535
9438
   4841c:       100cd43a        srli    r6,r2,16
9439
   48420:       21d1383a        mul     r8,r4,r7
9440
   48424:       2589383a        mul     r4,r4,r22
9441
   48428:       31cf383a        mul     r7,r6,r7
9442
   4842c:       4012d43a        srli    r9,r8,16
9443
   48430:       1947c83a        sub     r3,r3,r5
9444
   48434:       3909883a        add     r4,r7,r4
9445
   48438:       2249883a        add     r4,r4,r9
9446
   4843c:       35ad383a        mul     r22,r6,r22
9447
   48440:       21c0022e        bgeu    r4,r7,4844c <__udivdi3+0x428>
9448
   48444:       01400074        movhi   r5,1
9449
   48448:       b16d883a        add     r22,r22,r5
9450
   4844c:       200ad43a        srli    r5,r4,16
9451
   48450:       b16d883a        add     r22,r22,r5
9452
   48454:       1d803e36        bltu    r3,r22,48550 <__udivdi3+0x52c>
9453
   48458:       1d803826        beq     r3,r22,4853c <__udivdi3+0x518>
9454
   4845c:       0007883a        mov     r3,zero
9455
   48460:       003f5606        br      481bc <__alt_data_end+0xfffe10bc>
9456
   48464:       80a0983a        sll     r16,r16,r2
9457
   48468:       88ead83a        srl     r21,r17,r3
9458
   4846c:       90c6d83a        srl     r3,r18,r3
9459
   48470:       8028d43a        srli    r20,r16,16
9460
   48474:       88a2983a        sll     r17,r17,r2
9461
   48478:       a809883a        mov     r4,r21
9462
   4847c:       a00b883a        mov     r5,r20
9463
   48480:       88ecb03a        or      r22,r17,r3
9464
   48484:       90a6983a        sll     r19,r18,r2
9465
   48488:       004981c0        call    4981c <__umodsi3>
9466
   4848c:       a809883a        mov     r4,r21
9467
   48490:       a00b883a        mov     r5,r20
9468
   48494:       1023883a        mov     r17,r2
9469
   48498:       00498140        call    49814 <__udivsi3>
9470
   4849c:       102b883a        mov     r21,r2
9471
   484a0:       84bfffcc        andi    r18,r16,65535
9472
   484a4:       8808943a        slli    r4,r17,16
9473
   484a8:       b004d43a        srli    r2,r22,16
9474
   484ac:       ac87383a        mul     r3,r21,r18
9475
   484b0:       2088b03a        or      r4,r4,r2
9476
   484b4:       20c0062e        bgeu    r4,r3,484d0 <__udivdi3+0x4ac>
9477
   484b8:       2409883a        add     r4,r4,r16
9478
   484bc:       a8bfffc4        addi    r2,r21,-1
9479
   484c0:       24004236        bltu    r4,r16,485cc <__udivdi3+0x5a8>
9480
   484c4:       20c0412e        bgeu    r4,r3,485cc <__udivdi3+0x5a8>
9481
   484c8:       ad7fff84        addi    r21,r21,-2
9482
   484cc:       2409883a        add     r4,r4,r16
9483
   484d0:       20efc83a        sub     r23,r4,r3
9484
   484d4:       b809883a        mov     r4,r23
9485
   484d8:       a00b883a        mov     r5,r20
9486
   484dc:       004981c0        call    4981c <__umodsi3>
9487
   484e0:       1023883a        mov     r17,r2
9488
   484e4:       a00b883a        mov     r5,r20
9489
   484e8:       b809883a        mov     r4,r23
9490
   484ec:       00498140        call    49814 <__udivsi3>
9491
   484f0:       8822943a        slli    r17,r17,16
9492
   484f4:       148b383a        mul     r5,r2,r18
9493
   484f8:       b5bfffcc        andi    r22,r22,65535
9494
   484fc:       8da2b03a        or      r17,r17,r22
9495
   48500:       8940062e        bgeu    r17,r5,4851c <__udivdi3+0x4f8>
9496
   48504:       8c23883a        add     r17,r17,r16
9497
   48508:       10ffffc4        addi    r3,r2,-1
9498
   4850c:       8c002d36        bltu    r17,r16,485c4 <__udivdi3+0x5a0>
9499
   48510:       89402c2e        bgeu    r17,r5,485c4 <__udivdi3+0x5a0>
9500
   48514:       10bfff84        addi    r2,r2,-2
9501
   48518:       8c23883a        add     r17,r17,r16
9502
   4851c:       a806943a        slli    r3,r21,16
9503
   48520:       8963c83a        sub     r17,r17,r5
9504
   48524:       10c6b03a        or      r3,r2,r3
9505
   48528:       003f4906        br      48250 <__alt_data_end+0xfffe1150>
9506
   4852c:       1009883a        mov     r4,r2
9507
   48530:       003f0906        br      48158 <__alt_data_end+0xfffe1058>
9508
   48534:       1009883a        mov     r4,r2
9509
   48538:       003f6e06        br      482f4 <__alt_data_end+0xfffe11f4>
9510
   4853c:       2008943a        slli    r4,r4,16
9511
   48540:       9420983a        sll     r16,r18,r16
9512
   48544:       423fffcc        andi    r8,r8,65535
9513
   48548:       2209883a        add     r4,r4,r8
9514
   4854c:       813fc32e        bgeu    r16,r4,4845c <__alt_data_end+0xfffe135c>
9515
   48550:       10bfffc4        addi    r2,r2,-1
9516
   48554:       0007883a        mov     r3,zero
9517
   48558:       003f1806        br      481bc <__alt_data_end+0xfffe10bc>
9518
   4855c:       00c00604        movi    r3,24
9519
   48560:       180b883a        mov     r5,r3
9520
   48564:       003f0806        br      48188 <__alt_data_end+0xfffe1088>
9521
   48568:       00c00204        movi    r3,8
9522
   4856c:       180b883a        mov     r5,r3
9523
   48570:       003f0506        br      48188 <__alt_data_end+0xfffe1088>
9524
   48574:       00800604        movi    r2,24
9525
   48578:       1007883a        mov     r3,r2
9526
   4857c:       003f2706        br      4821c <__alt_data_end+0xfffe111c>
9527
   48580:       00800604        movi    r2,24
9528
   48584:       1007883a        mov     r3,r2
9529
   48588:       003ebe06        br      48084 <__alt_data_end+0xfffe0f84>
9530
   4858c:       00800204        movi    r2,8
9531
   48590:       1007883a        mov     r3,r2
9532
   48594:       003ebb06        br      48084 <__alt_data_end+0xfffe0f84>
9533
   48598:       00800204        movi    r2,8
9534
   4859c:       1007883a        mov     r3,r2
9535
   485a0:       003f1e06        br      4821c <__alt_data_end+0xfffe111c>
9536
   485a4:       197f972e        bgeu    r3,r5,48404 <__alt_data_end+0xfffe1304>
9537
   485a8:       213fff84        addi    r4,r4,-2
9538
   485ac:       1cc7883a        add     r3,r3,r19
9539
   485b0:       003f9506        br      48408 <__alt_data_end+0xfffe1308>
9540
   485b4:       21bf802e        bgeu    r4,r6,483b8 <__alt_data_end+0xfffe12b8>
9541
   485b8:       ad7fff84        addi    r21,r21,-2
9542
   485bc:       24c9883a        add     r4,r4,r19
9543
   485c0:       003f7e06        br      483bc <__alt_data_end+0xfffe12bc>
9544
   485c4:       1805883a        mov     r2,r3
9545
   485c8:       003fd406        br      4851c <__alt_data_end+0xfffe141c>
9546
   485cc:       102b883a        mov     r21,r2
9547
   485d0:       003fbf06        br      484d0 <__alt_data_end+0xfffe13d0>
9548
   485d4:       8c7fff84        addi    r17,r17,-2
9549
   485d8:       2409883a        add     r4,r4,r16
9550
   485dc:       003f3006        br      482a0 <__alt_data_end+0xfffe11a0>
9551
   485e0:       94bfff84        addi    r18,r18,-2
9552
   485e4:       1c07883a        add     r3,r3,r16
9553
   485e8:       003ec806        br      4810c <__alt_data_end+0xfffe100c>
9554
 
9555
000485ec <__umoddi3>:
9556
   485ec:       defff504        addi    sp,sp,-44
9557
   485f0:       dd000515        stw     r20,20(sp)
9558
   485f4:       dcc00415        stw     r19,16(sp)
9559
   485f8:       dc800315        stw     r18,12(sp)
9560
   485fc:       dc400215        stw     r17,8(sp)
9561
   48600:       dc000115        stw     r16,4(sp)
9562
   48604:       dfc00a15        stw     ra,40(sp)
9563
   48608:       df000915        stw     fp,36(sp)
9564
   4860c:       ddc00815        stw     r23,32(sp)
9565
   48610:       dd800715        stw     r22,28(sp)
9566
   48614:       dd400615        stw     r21,24(sp)
9567
   48618:       2025883a        mov     r18,r4
9568
   4861c:       2823883a        mov     r17,r5
9569
   48620:       3021883a        mov     r16,r6
9570
   48624:       2027883a        mov     r19,r4
9571
   48628:       2829883a        mov     r20,r5
9572
   4862c:       3800351e        bne     r7,zero,48704 <__umoddi3+0x118>
9573
   48630:       29804d2e        bgeu    r5,r6,48768 <__umoddi3+0x17c>
9574
   48634:       00bfffd4        movui   r2,65535
9575
   48638:       11809a36        bltu    r2,r6,488a4 <__umoddi3+0x2b8>
9576
   4863c:       00803fc4        movi    r2,255
9577
   48640:       11813936        bltu    r2,r6,48b28 <__umoddi3+0x53c>
9578
   48644:       0005883a        mov     r2,zero
9579
   48648:       0009883a        mov     r4,zero
9580
   4864c:       3084d83a        srl     r2,r6,r2
9581
   48650:       00c00174        movhi   r3,5
9582
   48654:       18f08204        addi    r3,r3,-15864
9583
   48658:       05400804        movi    r21,32
9584
   4865c:       1885883a        add     r2,r3,r2
9585
   48660:       10800003        ldbu    r2,0(r2)
9586
   48664:       1109883a        add     r4,r2,r4
9587
   48668:       a92bc83a        sub     r21,r21,r4
9588
   4866c:       a800ec26        beq     r21,zero,48a20 <__umoddi3+0x434>
9589
   48670:       8d62983a        sll     r17,r17,r21
9590
   48674:       9108d83a        srl     r4,r18,r4
9591
   48678:       3560983a        sll     r16,r6,r21
9592
   4867c:       9566983a        sll     r19,r18,r21
9593
   48680:       8928b03a        or      r20,r17,r4
9594
   48684:       8022d43a        srli    r17,r16,16
9595
   48688:       a009883a        mov     r4,r20
9596
   4868c:       84bfffcc        andi    r18,r16,65535
9597
   48690:       880b883a        mov     r5,r17
9598
   48694:       004981c0        call    4981c <__umodsi3>
9599
   48698:       a009883a        mov     r4,r20
9600
   4869c:       880b883a        mov     r5,r17
9601
   486a0:       102d883a        mov     r22,r2
9602
   486a4:       00498140        call    49814 <__udivsi3>
9603
   486a8:       b02c943a        slli    r22,r22,16
9604
   486ac:       9806d43a        srli    r3,r19,16
9605
   486b0:       1485383a        mul     r2,r2,r18
9606
   486b4:       b0c6b03a        or      r3,r22,r3
9607
   486b8:       1880042e        bgeu    r3,r2,486cc <__umoddi3+0xe0>
9608
   486bc:       1c07883a        add     r3,r3,r16
9609
   486c0:       1c000236        bltu    r3,r16,486cc <__umoddi3+0xe0>
9610
   486c4:       1880012e        bgeu    r3,r2,486cc <__umoddi3+0xe0>
9611
   486c8:       1c07883a        add     r3,r3,r16
9612
   486cc:       18a9c83a        sub     r20,r3,r2
9613
   486d0:       a009883a        mov     r4,r20
9614
   486d4:       880b883a        mov     r5,r17
9615
   486d8:       004981c0        call    4981c <__umodsi3>
9616
   486dc:       102d883a        mov     r22,r2
9617
   486e0:       a009883a        mov     r4,r20
9618
   486e4:       880b883a        mov     r5,r17
9619
   486e8:       00498140        call    49814 <__udivsi3>
9620
   486ec:       b02c943a        slli    r22,r22,16
9621
   486f0:       1485383a        mul     r2,r2,r18
9622
   486f4:       9cffffcc        andi    r19,r19,65535
9623
   486f8:       b4e6b03a        or      r19,r22,r19
9624
   486fc:       9880522e        bgeu    r19,r2,48848 <__umoddi3+0x25c>
9625
   48700:       00004d06        br      48838 <__umoddi3+0x24c>
9626
   48704:       29c05436        bltu    r5,r7,48858 <__umoddi3+0x26c>
9627
   48708:       00bfffd4        movui   r2,65535
9628
   4870c:       11c0602e        bgeu    r2,r7,48890 <__umoddi3+0x2a4>
9629
   48710:       00804034        movhi   r2,256
9630
   48714:       10bfffc4        addi    r2,r2,-1
9631
   48718:       11c0f736        bltu    r2,r7,48af8 <__umoddi3+0x50c>
9632
   4871c:       00c00404        movi    r3,16
9633
   48720:       1827883a        mov     r19,r3
9634
   48724:       38c6d83a        srl     r3,r7,r3
9635
   48728:       01000174        movhi   r4,5
9636
   4872c:       21308204        addi    r4,r4,-15864
9637
   48730:       04000804        movi    r16,32
9638
   48734:       20c7883a        add     r3,r4,r3
9639
   48738:       18800003        ldbu    r2,0(r3)
9640
   4873c:       14e7883a        add     r19,r2,r19
9641
   48740:       84e1c83a        sub     r16,r16,r19
9642
   48744:       8000621e        bne     r16,zero,488d0 <__umoddi3+0x2e4>
9643
   48748:       3c400136        bltu    r7,r17,48750 <__umoddi3+0x164>
9644
   4874c:       91810336        bltu    r18,r6,48b5c <__umoddi3+0x570>
9645
   48750:       9185c83a        sub     r2,r18,r6
9646
   48754:       89e3c83a        sub     r17,r17,r7
9647
   48758:       90a5803a        cmpltu  r18,r18,r2
9648
   4875c:       8ca9c83a        sub     r20,r17,r18
9649
   48760:       a007883a        mov     r3,r20
9650
   48764:       00003e06        br      48860 <__umoddi3+0x274>
9651
   48768:       3000041e        bne     r6,zero,4877c <__umoddi3+0x190>
9652
   4876c:       01000044        movi    r4,1
9653
   48770:       000b883a        mov     r5,zero
9654
   48774:       00498140        call    49814 <__udivsi3>
9655
   48778:       1021883a        mov     r16,r2
9656
   4877c:       00bfffd4        movui   r2,65535
9657
   48780:       14004e2e        bgeu    r2,r16,488bc <__umoddi3+0x2d0>
9658
   48784:       00804034        movhi   r2,256
9659
   48788:       10bfffc4        addi    r2,r2,-1
9660
   4878c:       1400e336        bltu    r2,r16,48b1c <__umoddi3+0x530>
9661
   48790:       00800404        movi    r2,16
9662
   48794:       1007883a        mov     r3,r2
9663
   48798:       8084d83a        srl     r2,r16,r2
9664
   4879c:       01000174        movhi   r4,5
9665
   487a0:       21308204        addi    r4,r4,-15864
9666
   487a4:       05400804        movi    r21,32
9667
   487a8:       2085883a        add     r2,r4,r2
9668
   487ac:       10800003        ldbu    r2,0(r2)
9669
   487b0:       10c7883a        add     r3,r2,r3
9670
   487b4:       a8ebc83a        sub     r21,r21,r3
9671
   487b8:       a8009b1e        bne     r21,zero,48a28 <__umoddi3+0x43c>
9672
   487bc:       8028d43a        srli    r20,r16,16
9673
   487c0:       8c23c83a        sub     r17,r17,r16
9674
   487c4:       85bfffcc        andi    r22,r16,65535
9675
   487c8:       8809883a        mov     r4,r17
9676
   487cc:       a00b883a        mov     r5,r20
9677
   487d0:       004981c0        call    4981c <__umodsi3>
9678
   487d4:       8809883a        mov     r4,r17
9679
   487d8:       a00b883a        mov     r5,r20
9680
   487dc:       1025883a        mov     r18,r2
9681
   487e0:       00498140        call    49814 <__udivsi3>
9682
   487e4:       9024943a        slli    r18,r18,16
9683
   487e8:       9806d43a        srli    r3,r19,16
9684
   487ec:       1585383a        mul     r2,r2,r22
9685
   487f0:       90c6b03a        or      r3,r18,r3
9686
   487f4:       1880032e        bgeu    r3,r2,48804 <__umoddi3+0x218>
9687
   487f8:       1c07883a        add     r3,r3,r16
9688
   487fc:       1c000136        bltu    r3,r16,48804 <__umoddi3+0x218>
9689
   48800:       1880d436        bltu    r3,r2,48b54 <__umoddi3+0x568>
9690
   48804:       18a3c83a        sub     r17,r3,r2
9691
   48808:       8809883a        mov     r4,r17
9692
   4880c:       a00b883a        mov     r5,r20
9693
   48810:       004981c0        call    4981c <__umodsi3>
9694
   48814:       1025883a        mov     r18,r2
9695
   48818:       8809883a        mov     r4,r17
9696
   4881c:       a00b883a        mov     r5,r20
9697
   48820:       00498140        call    49814 <__udivsi3>
9698
   48824:       9024943a        slli    r18,r18,16
9699
   48828:       1585383a        mul     r2,r2,r22
9700
   4882c:       9cffffcc        andi    r19,r19,65535
9701
   48830:       94e6b03a        or      r19,r18,r19
9702
   48834:       9880042e        bgeu    r19,r2,48848 <__umoddi3+0x25c>
9703
   48838:       9c27883a        add     r19,r19,r16
9704
   4883c:       9c000236        bltu    r19,r16,48848 <__umoddi3+0x25c>
9705
   48840:       9880012e        bgeu    r19,r2,48848 <__umoddi3+0x25c>
9706
   48844:       9c27883a        add     r19,r19,r16
9707
   48848:       98a7c83a        sub     r19,r19,r2
9708
   4884c:       9d44d83a        srl     r2,r19,r21
9709
   48850:       0007883a        mov     r3,zero
9710
   48854:       00000206        br      48860 <__umoddi3+0x274>
9711
   48858:       2005883a        mov     r2,r4
9712
   4885c:       2807883a        mov     r3,r5
9713
   48860:       dfc00a17        ldw     ra,40(sp)
9714
   48864:       df000917        ldw     fp,36(sp)
9715
   48868:       ddc00817        ldw     r23,32(sp)
9716
   4886c:       dd800717        ldw     r22,28(sp)
9717
   48870:       dd400617        ldw     r21,24(sp)
9718
   48874:       dd000517        ldw     r20,20(sp)
9719
   48878:       dcc00417        ldw     r19,16(sp)
9720
   4887c:       dc800317        ldw     r18,12(sp)
9721
   48880:       dc400217        ldw     r17,8(sp)
9722
   48884:       dc000117        ldw     r16,4(sp)
9723
   48888:       dec00b04        addi    sp,sp,44
9724
   4888c:       f800283a        ret
9725
   48890:       00803fc4        movi    r2,255
9726
   48894:       11c09536        bltu    r2,r7,48aec <__umoddi3+0x500>
9727
   48898:       0007883a        mov     r3,zero
9728
   4889c:       0027883a        mov     r19,zero
9729
   488a0:       003fa006        br      48724 <__alt_data_end+0xfffe1624>
9730
   488a4:       00804034        movhi   r2,256
9731
   488a8:       10bfffc4        addi    r2,r2,-1
9732
   488ac:       11809536        bltu    r2,r6,48b04 <__umoddi3+0x518>
9733
   488b0:       00800404        movi    r2,16
9734
   488b4:       1009883a        mov     r4,r2
9735
   488b8:       003f6406        br      4864c <__alt_data_end+0xfffe154c>
9736
   488bc:       00803fc4        movi    r2,255
9737
   488c0:       14009336        bltu    r2,r16,48b10 <__umoddi3+0x524>
9738
   488c4:       0005883a        mov     r2,zero
9739
   488c8:       0007883a        mov     r3,zero
9740
   488cc:       003fb206        br      48798 <__alt_data_end+0xfffe1698>
9741
   488d0:       34c4d83a        srl     r2,r6,r19
9742
   488d4:       3c0e983a        sll     r7,r7,r16
9743
   488d8:       8ceed83a        srl     r23,r17,r19
9744
   488dc:       8c22983a        sll     r17,r17,r16
9745
   488e0:       38a8b03a        or      r20,r7,r2
9746
   488e4:       a02ad43a        srli    r21,r20,16
9747
   488e8:       94c4d83a        srl     r2,r18,r19
9748
   488ec:       b809883a        mov     r4,r23
9749
   488f0:       a80b883a        mov     r5,r21
9750
   488f4:       88a2b03a        or      r17,r17,r2
9751
   488f8:       342c983a        sll     r22,r6,r16
9752
   488fc:       004981c0        call    4981c <__umodsi3>
9753
   48900:       b809883a        mov     r4,r23
9754
   48904:       a80b883a        mov     r5,r21
9755
   48908:       d8800015        stw     r2,0(sp)
9756
   4890c:       00498140        call    49814 <__udivsi3>
9757
   48910:       d8c00017        ldw     r3,0(sp)
9758
   48914:       102f883a        mov     r23,r2
9759
   48918:       a73fffcc        andi    fp,r20,65535
9760
   4891c:       180a943a        slli    r5,r3,16
9761
   48920:       8804d43a        srli    r2,r17,16
9762
   48924:       bf09383a        mul     r4,r23,fp
9763
   48928:       9424983a        sll     r18,r18,r16
9764
   4892c:       288ab03a        or      r5,r5,r2
9765
   48930:       2900042e        bgeu    r5,r4,48944 <__umoddi3+0x358>
9766
   48934:       2d0b883a        add     r5,r5,r20
9767
   48938:       b8bfffc4        addi    r2,r23,-1
9768
   4893c:       2d00812e        bgeu    r5,r20,48b44 <__umoddi3+0x558>
9769
   48940:       102f883a        mov     r23,r2
9770
   48944:       2907c83a        sub     r3,r5,r4
9771
   48948:       1809883a        mov     r4,r3
9772
   4894c:       a80b883a        mov     r5,r21
9773
   48950:       d8c00015        stw     r3,0(sp)
9774
   48954:       004981c0        call    4981c <__umodsi3>
9775
   48958:       d8c00017        ldw     r3,0(sp)
9776
   4895c:       a80b883a        mov     r5,r21
9777
   48960:       d8800015        stw     r2,0(sp)
9778
   48964:       1809883a        mov     r4,r3
9779
   48968:       00498140        call    49814 <__udivsi3>
9780
   4896c:       d9800017        ldw     r6,0(sp)
9781
   48970:       8c7fffcc        andi    r17,r17,65535
9782
   48974:       3008943a        slli    r4,r6,16
9783
   48978:       170d383a        mul     r6,r2,fp
9784
   4897c:       2448b03a        or      r4,r4,r17
9785
   48980:       2180042e        bgeu    r4,r6,48994 <__umoddi3+0x3a8>
9786
   48984:       2509883a        add     r4,r4,r20
9787
   48988:       10ffffc4        addi    r3,r2,-1
9788
   4898c:       2500692e        bgeu    r4,r20,48b34 <__umoddi3+0x548>
9789
   48990:       1805883a        mov     r2,r3
9790
   48994:       b82e943a        slli    r23,r23,16
9791
   48998:       b010d43a        srli    r8,r22,16
9792
   4899c:       b1ffffcc        andi    r7,r22,65535
9793
   489a0:       15eeb03a        or      r23,r2,r23
9794
   489a4:       b8bfffcc        andi    r2,r23,65535
9795
   489a8:       b82ed43a        srli    r23,r23,16
9796
   489ac:       11c7383a        mul     r3,r2,r7
9797
   489b0:       1205383a        mul     r2,r2,r8
9798
   489b4:       b9cf383a        mul     r7,r23,r7
9799
   489b8:       400b883a        mov     r5,r8
9800
   489bc:       1810d43a        srli    r8,r3,16
9801
   489c0:       3885883a        add     r2,r7,r2
9802
   489c4:       2189c83a        sub     r4,r4,r6
9803
   489c8:       1205883a        add     r2,r2,r8
9804
   489cc:       b94b383a        mul     r5,r23,r5
9805
   489d0:       11c0022e        bgeu    r2,r7,489dc <__umoddi3+0x3f0>
9806
   489d4:       01800074        movhi   r6,1
9807
   489d8:       298b883a        add     r5,r5,r6
9808
   489dc:       100cd43a        srli    r6,r2,16
9809
   489e0:       1004943a        slli    r2,r2,16
9810
   489e4:       18ffffcc        andi    r3,r3,65535
9811
   489e8:       298b883a        add     r5,r5,r6
9812
   489ec:       10c5883a        add     r2,r2,r3
9813
   489f0:       21403836        bltu    r4,r5,48ad4 <__umoddi3+0x4e8>
9814
   489f4:       21405c26        beq     r4,r5,48b68 <__umoddi3+0x57c>
9815
   489f8:       2147c83a        sub     r3,r4,r5
9816
   489fc:       102d883a        mov     r22,r2
9817
   48a00:       95adc83a        sub     r22,r18,r22
9818
   48a04:       95a5803a        cmpltu  r18,r18,r22
9819
   48a08:       1c87c83a        sub     r3,r3,r18
9820
   48a0c:       1cc4983a        sll     r2,r3,r19
9821
   48a10:       b42cd83a        srl     r22,r22,r16
9822
   48a14:       1c06d83a        srl     r3,r3,r16
9823
   48a18:       1584b03a        or      r2,r2,r22
9824
   48a1c:       003f9006        br      48860 <__alt_data_end+0xfffe1760>
9825
   48a20:       002b883a        mov     r21,zero
9826
   48a24:       003f1706        br      48684 <__alt_data_end+0xfffe1584>
9827
   48a28:       8560983a        sll     r16,r16,r21
9828
   48a2c:       88e6d83a        srl     r19,r17,r3
9829
   48a30:       90c6d83a        srl     r3,r18,r3
9830
   48a34:       8028d43a        srli    r20,r16,16
9831
   48a38:       8d62983a        sll     r17,r17,r21
9832
   48a3c:       9809883a        mov     r4,r19
9833
   48a40:       a00b883a        mov     r5,r20
9834
   48a44:       88eeb03a        or      r23,r17,r3
9835
   48a48:       004981c0        call    4981c <__umodsi3>
9836
   48a4c:       9809883a        mov     r4,r19
9837
   48a50:       a00b883a        mov     r5,r20
9838
   48a54:       1023883a        mov     r17,r2
9839
   48a58:       00498140        call    49814 <__udivsi3>
9840
   48a5c:       85bfffcc        andi    r22,r16,65535
9841
   48a60:       880a943a        slli    r5,r17,16
9842
   48a64:       b806d43a        srli    r3,r23,16
9843
   48a68:       1585383a        mul     r2,r2,r22
9844
   48a6c:       9566983a        sll     r19,r18,r21
9845
   48a70:       28cab03a        or      r5,r5,r3
9846
   48a74:       2880042e        bgeu    r5,r2,48a88 <__umoddi3+0x49c>
9847
   48a78:       2c0b883a        add     r5,r5,r16
9848
   48a7c:       2c000236        bltu    r5,r16,48a88 <__umoddi3+0x49c>
9849
   48a80:       2880012e        bgeu    r5,r2,48a88 <__umoddi3+0x49c>
9850
   48a84:       2c0b883a        add     r5,r5,r16
9851
   48a88:       28a5c83a        sub     r18,r5,r2
9852
   48a8c:       9009883a        mov     r4,r18
9853
   48a90:       a00b883a        mov     r5,r20
9854
   48a94:       004981c0        call    4981c <__umodsi3>
9855
   48a98:       1023883a        mov     r17,r2
9856
   48a9c:       9009883a        mov     r4,r18
9857
   48aa0:       a00b883a        mov     r5,r20
9858
   48aa4:       00498140        call    49814 <__udivsi3>
9859
   48aa8:       8822943a        slli    r17,r17,16
9860
   48aac:       1585383a        mul     r2,r2,r22
9861
   48ab0:       bdffffcc        andi    r23,r23,65535
9862
   48ab4:       8de2b03a        or      r17,r17,r23
9863
   48ab8:       8880042e        bgeu    r17,r2,48acc <__umoddi3+0x4e0>
9864
   48abc:       8c23883a        add     r17,r17,r16
9865
   48ac0:       8c000236        bltu    r17,r16,48acc <__umoddi3+0x4e0>
9866
   48ac4:       8880012e        bgeu    r17,r2,48acc <__umoddi3+0x4e0>
9867
   48ac8:       8c23883a        add     r17,r17,r16
9868
   48acc:       88a3c83a        sub     r17,r17,r2
9869
   48ad0:       003f3d06        br      487c8 <__alt_data_end+0xfffe16c8>
9870
   48ad4:       15adc83a        sub     r22,r2,r22
9871
   48ad8:       2d07c83a        sub     r3,r5,r20
9872
   48adc:       1585803a        cmpltu  r2,r2,r22
9873
   48ae0:       1887c83a        sub     r3,r3,r2
9874
   48ae4:       20c7c83a        sub     r3,r4,r3
9875
   48ae8:       003fc506        br      48a00 <__alt_data_end+0xfffe1900>
9876
   48aec:       00c00204        movi    r3,8
9877
   48af0:       1827883a        mov     r19,r3
9878
   48af4:       003f0b06        br      48724 <__alt_data_end+0xfffe1624>
9879
   48af8:       00c00604        movi    r3,24
9880
   48afc:       1827883a        mov     r19,r3
9881
   48b00:       003f0806        br      48724 <__alt_data_end+0xfffe1624>
9882
   48b04:       00800604        movi    r2,24
9883
   48b08:       1009883a        mov     r4,r2
9884
   48b0c:       003ecf06        br      4864c <__alt_data_end+0xfffe154c>
9885
   48b10:       00800204        movi    r2,8
9886
   48b14:       1007883a        mov     r3,r2
9887
   48b18:       003f1f06        br      48798 <__alt_data_end+0xfffe1698>
9888
   48b1c:       00800604        movi    r2,24
9889
   48b20:       1007883a        mov     r3,r2
9890
   48b24:       003f1c06        br      48798 <__alt_data_end+0xfffe1698>
9891
   48b28:       00800204        movi    r2,8
9892
   48b2c:       1009883a        mov     r4,r2
9893
   48b30:       003ec606        br      4864c <__alt_data_end+0xfffe154c>
9894
   48b34:       21bf962e        bgeu    r4,r6,48990 <__alt_data_end+0xfffe1890>
9895
   48b38:       10bfff84        addi    r2,r2,-2
9896
   48b3c:       2509883a        add     r4,r4,r20
9897
   48b40:       003f9406        br      48994 <__alt_data_end+0xfffe1894>
9898
   48b44:       293f7e2e        bgeu    r5,r4,48940 <__alt_data_end+0xfffe1840>
9899
   48b48:       bdffff84        addi    r23,r23,-2
9900
   48b4c:       2d0b883a        add     r5,r5,r20
9901
   48b50:       003f7c06        br      48944 <__alt_data_end+0xfffe1844>
9902
   48b54:       1c07883a        add     r3,r3,r16
9903
   48b58:       003f2a06        br      48804 <__alt_data_end+0xfffe1704>
9904
   48b5c:       9005883a        mov     r2,r18
9905
   48b60:       a007883a        mov     r3,r20
9906
   48b64:       003f3e06        br      48860 <__alt_data_end+0xfffe1760>
9907
   48b68:       90bfda36        bltu    r18,r2,48ad4 <__alt_data_end+0xfffe19d4>
9908
   48b6c:       102d883a        mov     r22,r2
9909
   48b70:       0007883a        mov     r3,zero
9910
   48b74:       003fa206        br      48a00 <__alt_data_end+0xfffe1900>
9911
 
9912
00048b78 <_fpadd_parts>:
9913
   48b78:       2005883a        mov     r2,r4
9914
   48b7c:       21000017        ldw     r4,0(r4)
9915
   48b80:       01c00044        movi    r7,1
9916
   48b84:       3900622e        bgeu    r7,r4,48d10 <_fpadd_parts+0x198>
9917
   48b88:       28c00017        ldw     r3,0(r5)
9918
   48b8c:       38c05f2e        bgeu    r7,r3,48d0c <_fpadd_parts+0x194>
9919
   48b90:       01c00104        movi    r7,4
9920
   48b94:       21c0c626        beq     r4,r7,48eb0 <_fpadd_parts+0x338>
9921
   48b98:       19c05c26        beq     r3,r7,48d0c <_fpadd_parts+0x194>
9922
   48b9c:       01c00084        movi    r7,2
9923
   48ba0:       19c06b26        beq     r3,r7,48d50 <_fpadd_parts+0x1d8>
9924
   48ba4:       21c05926        beq     r4,r7,48d0c <_fpadd_parts+0x194>
9925
   48ba8:       11c00217        ldw     r7,8(r2)
9926
   48bac:       2ac00217        ldw     r11,8(r5)
9927
   48bb0:       13000317        ldw     r12,12(r2)
9928
   48bb4:       13400417        ldw     r13,16(r2)
9929
   48bb8:       3ac9c83a        sub     r4,r7,r11
9930
   48bbc:       2a000317        ldw     r8,12(r5)
9931
   48bc0:       2a400417        ldw     r9,16(r5)
9932
   48bc4:       2015883a        mov     r10,r4
9933
   48bc8:       20007516        blt     r4,zero,48da0 <_fpadd_parts+0x228>
9934
   48bcc:       00c00fc4        movi    r3,63
9935
   48bd0:       1a805016        blt     r3,r10,48d14 <_fpadd_parts+0x19c>
9936
   48bd4:       0100870e        bge     zero,r4,48df4 <_fpadd_parts+0x27c>
9937
   48bd8:       50fff804        addi    r3,r10,-32
9938
   48bdc:       18009916        blt     r3,zero,48e44 <_fpadd_parts+0x2cc>
9939
   48be0:       48d6d83a        srl     r11,r9,r3
9940
   48be4:       001d883a        mov     r14,zero
9941
   48be8:       18009e16        blt     r3,zero,48e64 <_fpadd_parts+0x2ec>
9942
   48bec:       01000044        movi    r4,1
9943
   48bf0:       20c6983a        sll     r3,r4,r3
9944
   48bf4:       0015883a        mov     r10,zero
9945
   48bf8:       513fffc4        addi    r4,r10,-1
9946
   48bfc:       2295403a        cmpgeu  r10,r4,r10
9947
   48c00:       1a87c83a        sub     r3,r3,r10
9948
   48c04:       1a52703a        and     r9,r3,r9
9949
   48c08:       2210703a        and     r8,r4,r8
9950
   48c0c:       4250b03a        or      r8,r8,r9
9951
   48c10:       4010c03a        cmpne   r8,r8,zero
9952
   48c14:       42d0b03a        or      r8,r8,r11
9953
   48c18:       7013883a        mov     r9,r14
9954
   48c1c:       11000117        ldw     r4,4(r2)
9955
   48c20:       28800117        ldw     r2,4(r5)
9956
   48c24:       20804126        beq     r4,r2,48d2c <_fpadd_parts+0x1b4>
9957
   48c28:       20006326        beq     r4,zero,48db8 <_fpadd_parts+0x240>
9958
   48c2c:       4305c83a        sub     r2,r8,r12
9959
   48c30:       4091803a        cmpltu  r8,r8,r2
9960
   48c34:       4b47c83a        sub     r3,r9,r13
9961
   48c38:       1a07c83a        sub     r3,r3,r8
9962
   48c3c:       18006316        blt     r3,zero,48dcc <_fpadd_parts+0x254>
9963
   48c40:       30000115        stw     zero,4(r6)
9964
   48c44:       31c00215        stw     r7,8(r6)
9965
   48c48:       30800315        stw     r2,12(r6)
9966
   48c4c:       30c00415        stw     r3,16(r6)
9967
   48c50:       11ffffc4        addi    r7,r2,-1
9968
   48c54:       388b403a        cmpgeu  r5,r7,r2
9969
   48c58:       194bc83a        sub     r5,r3,r5
9970
   48c5c:       01040034        movhi   r4,4096
9971
   48c60:       213fffc4        addi    r4,r4,-1
9972
   48c64:       21401736        bltu    r4,r5,48cc4 <_fpadd_parts+0x14c>
9973
   48c68:       29008226        beq     r5,r4,48e74 <_fpadd_parts+0x2fc>
9974
   48c6c:       31400217        ldw     r5,8(r6)
9975
   48c70:       02840034        movhi   r10,4096
9976
   48c74:       52bfffc4        addi    r10,r10,-1
9977
   48c78:       033fff84        movi    r12,-2
9978
   48c7c:       297fffc4        addi    r5,r5,-1
9979
   48c80:       00000106        br      48c88 <_fpadd_parts+0x110>
9980
   48c84:       3a804a26        beq     r7,r10,48db0 <_fpadd_parts+0x238>
9981
   48c88:       1089883a        add     r4,r2,r2
9982
   48c8c:       2091803a        cmpltu  r8,r4,r2
9983
   48c90:       18c7883a        add     r3,r3,r3
9984
   48c94:       227fffc4        addi    r9,r4,-1
9985
   48c98:       40d1883a        add     r8,r8,r3
9986
   48c9c:       490f403a        cmpgeu  r7,r9,r4
9987
   48ca0:       41cfc83a        sub     r7,r8,r7
9988
   48ca4:       2817883a        mov     r11,r5
9989
   48ca8:       2005883a        mov     r2,r4
9990
   48cac:       4007883a        mov     r3,r8
9991
   48cb0:       297fffc4        addi    r5,r5,-1
9992
   48cb4:       51fff32e        bgeu    r10,r7,48c84 <__alt_data_end+0xfffe1b84>
9993
   48cb8:       31000315        stw     r4,12(r6)
9994
   48cbc:       32000415        stw     r8,16(r6)
9995
   48cc0:       32c00215        stw     r11,8(r6)
9996
   48cc4:       010000c4        movi    r4,3
9997
   48cc8:       31000015        stw     r4,0(r6)
9998
   48ccc:       01080034        movhi   r4,8192
9999
   48cd0:       213fffc4        addi    r4,r4,-1
10000
   48cd4:       20c00b2e        bgeu    r4,r3,48d04 <_fpadd_parts+0x18c>
10001
   48cd8:       180e97fa        slli    r7,r3,31
10002
   48cdc:       1008d07a        srli    r4,r2,1
10003
   48ce0:       31400217        ldw     r5,8(r6)
10004
   48ce4:       1806d07a        srli    r3,r3,1
10005
   48ce8:       1080004c        andi    r2,r2,1
10006
   48cec:       3908b03a        or      r4,r7,r4
10007
   48cf0:       1108b03a        or      r4,r2,r4
10008
   48cf4:       29400044        addi    r5,r5,1
10009
   48cf8:       31000315        stw     r4,12(r6)
10010
   48cfc:       30c00415        stw     r3,16(r6)
10011
   48d00:       31400215        stw     r5,8(r6)
10012
   48d04:       3005883a        mov     r2,r6
10013
   48d08:       f800283a        ret
10014
   48d0c:       2805883a        mov     r2,r5
10015
   48d10:       f800283a        ret
10016
   48d14:       59c01e0e        bge     r11,r7,48d90 <_fpadd_parts+0x218>
10017
   48d18:       11000117        ldw     r4,4(r2)
10018
   48d1c:       28800117        ldw     r2,4(r5)
10019
   48d20:       0011883a        mov     r8,zero
10020
   48d24:       0013883a        mov     r9,zero
10021
   48d28:       20bfbf1e        bne     r4,r2,48c28 <__alt_data_end+0xfffe1b28>
10022
   48d2c:       4305883a        add     r2,r8,r12
10023
   48d30:       1207803a        cmpltu  r3,r2,r8
10024
   48d34:       4b53883a        add     r9,r9,r13
10025
   48d38:       1a47883a        add     r3,r3,r9
10026
   48d3c:       31000115        stw     r4,4(r6)
10027
   48d40:       31c00215        stw     r7,8(r6)
10028
   48d44:       30800315        stw     r2,12(r6)
10029
   48d48:       30c00415        stw     r3,16(r6)
10030
   48d4c:       003fdd06        br      48cc4 <__alt_data_end+0xfffe1bc4>
10031
   48d50:       20ffef1e        bne     r4,r3,48d10 <__alt_data_end+0xfffe1c10>
10032
   48d54:       31000015        stw     r4,0(r6)
10033
   48d58:       10c00117        ldw     r3,4(r2)
10034
   48d5c:       30c00115        stw     r3,4(r6)
10035
   48d60:       10c00217        ldw     r3,8(r2)
10036
   48d64:       11000117        ldw     r4,4(r2)
10037
   48d68:       29400117        ldw     r5,4(r5)
10038
   48d6c:       30c00215        stw     r3,8(r6)
10039
   48d70:       10c00317        ldw     r3,12(r2)
10040
   48d74:       2908703a        and     r4,r5,r4
10041
   48d78:       30c00315        stw     r3,12(r6)
10042
   48d7c:       10c00417        ldw     r3,16(r2)
10043
   48d80:       31000115        stw     r4,4(r6)
10044
   48d84:       3005883a        mov     r2,r6
10045
   48d88:       30c00415        stw     r3,16(r6)
10046
   48d8c:       f800283a        ret
10047
   48d90:       580f883a        mov     r7,r11
10048
   48d94:       0019883a        mov     r12,zero
10049
   48d98:       001b883a        mov     r13,zero
10050
   48d9c:       003f9f06        br      48c1c <__alt_data_end+0xfffe1b1c>
10051
   48da0:       0115c83a        sub     r10,zero,r4
10052
   48da4:       00c00fc4        movi    r3,63
10053
   48da8:       1abfda16        blt     r3,r10,48d14 <__alt_data_end+0xfffe1c14>
10054
   48dac:       003f8906        br      48bd4 <__alt_data_end+0xfffe1ad4>
10055
   48db0:       627fb52e        bgeu    r12,r9,48c88 <__alt_data_end+0xfffe1b88>
10056
   48db4:       003fc006        br      48cb8 <__alt_data_end+0xfffe1bb8>
10057
   48db8:       6205c83a        sub     r2,r12,r8
10058
   48dbc:       6099803a        cmpltu  r12,r12,r2
10059
   48dc0:       6a47c83a        sub     r3,r13,r9
10060
   48dc4:       1b07c83a        sub     r3,r3,r12
10061
   48dc8:       183f9d0e        bge     r3,zero,48c40 <__alt_data_end+0xfffe1b40>
10062
   48dcc:       0085c83a        sub     r2,zero,r2
10063
   48dd0:       1008c03a        cmpne   r4,r2,zero
10064
   48dd4:       00c7c83a        sub     r3,zero,r3
10065
   48dd8:       1907c83a        sub     r3,r3,r4
10066
   48ddc:       01000044        movi    r4,1
10067
   48de0:       31000115        stw     r4,4(r6)
10068
   48de4:       31c00215        stw     r7,8(r6)
10069
   48de8:       30800315        stw     r2,12(r6)
10070
   48dec:       30c00415        stw     r3,16(r6)
10071
   48df0:       003f9706        br      48c50 <__alt_data_end+0xfffe1b50>
10072
   48df4:       203f8926        beq     r4,zero,48c1c <__alt_data_end+0xfffe1b1c>
10073
   48df8:       50fff804        addi    r3,r10,-32
10074
   48dfc:       3a8f883a        add     r7,r7,r10
10075
   48e00:       18002316        blt     r3,zero,48e90 <_fpadd_parts+0x318>
10076
   48e04:       68d6d83a        srl     r11,r13,r3
10077
   48e08:       001d883a        mov     r14,zero
10078
   48e0c:       18001c16        blt     r3,zero,48e80 <_fpadd_parts+0x308>
10079
   48e10:       01000044        movi    r4,1
10080
   48e14:       20c6983a        sll     r3,r4,r3
10081
   48e18:       0015883a        mov     r10,zero
10082
   48e1c:       513fffc4        addi    r4,r10,-1
10083
   48e20:       2295403a        cmpgeu  r10,r4,r10
10084
   48e24:       1a87c83a        sub     r3,r3,r10
10085
   48e28:       1b5a703a        and     r13,r3,r13
10086
   48e2c:       2318703a        and     r12,r4,r12
10087
   48e30:       6358b03a        or      r12,r12,r13
10088
   48e34:       6018c03a        cmpne   r12,r12,zero
10089
   48e38:       62d8b03a        or      r12,r12,r11
10090
   48e3c:       701b883a        mov     r13,r14
10091
   48e40:       003f7606        br      48c1c <__alt_data_end+0xfffe1b1c>
10092
   48e44:       4808907a        slli    r4,r9,1
10093
   48e48:       02c007c4        movi    r11,31
10094
   48e4c:       5a97c83a        sub     r11,r11,r10
10095
   48e50:       22c8983a        sll     r4,r4,r11
10096
   48e54:       4296d83a        srl     r11,r8,r10
10097
   48e58:       4a9cd83a        srl     r14,r9,r10
10098
   48e5c:       22d6b03a        or      r11,r4,r11
10099
   48e60:       003f6106        br      48be8 <__alt_data_end+0xfffe1ae8>
10100
   48e64:       00c00044        movi    r3,1
10101
   48e68:       1a94983a        sll     r10,r3,r10
10102
   48e6c:       0007883a        mov     r3,zero
10103
   48e70:       003f6106        br      48bf8 <__alt_data_end+0xfffe1af8>
10104
   48e74:       013fff84        movi    r4,-2
10105
   48e78:       21ff7c2e        bgeu    r4,r7,48c6c <__alt_data_end+0xfffe1b6c>
10106
   48e7c:       003f9106        br      48cc4 <__alt_data_end+0xfffe1bc4>
10107
   48e80:       00c00044        movi    r3,1
10108
   48e84:       1a94983a        sll     r10,r3,r10
10109
   48e88:       0007883a        mov     r3,zero
10110
   48e8c:       003fe306        br      48e1c <__alt_data_end+0xfffe1d1c>
10111
   48e90:       6816907a        slli    r11,r13,1
10112
   48e94:       010007c4        movi    r4,31
10113
   48e98:       2289c83a        sub     r4,r4,r10
10114
   48e9c:       5908983a        sll     r4,r11,r4
10115
   48ea0:       6296d83a        srl     r11,r12,r10
10116
   48ea4:       6a9cd83a        srl     r14,r13,r10
10117
   48ea8:       22d6b03a        or      r11,r4,r11
10118
   48eac:       003fd706        br      48e0c <__alt_data_end+0xfffe1d0c>
10119
   48eb0:       193f971e        bne     r3,r4,48d10 <__alt_data_end+0xfffe1c10>
10120
   48eb4:       11000117        ldw     r4,4(r2)
10121
   48eb8:       28c00117        ldw     r3,4(r5)
10122
   48ebc:       20ff9426        beq     r4,r3,48d10 <__alt_data_end+0xfffe1c10>
10123
   48ec0:       00800174        movhi   r2,5
10124
   48ec4:       10b07d04        addi    r2,r2,-15884
10125
   48ec8:       f800283a        ret
10126
 
10127
00048ecc <__adddf3>:
10128
   48ecc:       deffec04        addi    sp,sp,-80
10129
   48ed0:       d9001115        stw     r4,68(sp)
10130
   48ed4:       d9401215        stw     r5,72(sp)
10131
   48ed8:       d9001104        addi    r4,sp,68
10132
   48edc:       d9400a04        addi    r5,sp,40
10133
   48ee0:       dfc01315        stw     ra,76(sp)
10134
   48ee4:       d9c01015        stw     r7,64(sp)
10135
   48ee8:       d9800f15        stw     r6,60(sp)
10136
   48eec:       0040b180        call    40b18 <__unpack_d>
10137
   48ef0:       d9000f04        addi    r4,sp,60
10138
   48ef4:       d9400504        addi    r5,sp,20
10139
   48ef8:       0040b180        call    40b18 <__unpack_d>
10140
   48efc:       d9000a04        addi    r4,sp,40
10141
   48f00:       d9400504        addi    r5,sp,20
10142
   48f04:       d80d883a        mov     r6,sp
10143
   48f08:       0048b780        call    48b78 <_fpadd_parts>
10144
   48f0c:       1009883a        mov     r4,r2
10145
   48f10:       00408f40        call    408f4 <__pack_d>
10146
   48f14:       dfc01317        ldw     ra,76(sp)
10147
   48f18:       dec01404        addi    sp,sp,80
10148
   48f1c:       f800283a        ret
10149
 
10150
00048f20 <__subdf3>:
10151
   48f20:       deffec04        addi    sp,sp,-80
10152
   48f24:       d9001115        stw     r4,68(sp)
10153
   48f28:       d9401215        stw     r5,72(sp)
10154
   48f2c:       d9001104        addi    r4,sp,68
10155
   48f30:       d9400a04        addi    r5,sp,40
10156
   48f34:       dfc01315        stw     ra,76(sp)
10157
   48f38:       d9c01015        stw     r7,64(sp)
10158
   48f3c:       d9800f15        stw     r6,60(sp)
10159
   48f40:       0040b180        call    40b18 <__unpack_d>
10160
   48f44:       d9000f04        addi    r4,sp,60
10161
   48f48:       d9400504        addi    r5,sp,20
10162
   48f4c:       0040b180        call    40b18 <__unpack_d>
10163
   48f50:       d8800617        ldw     r2,24(sp)
10164
   48f54:       d9000a04        addi    r4,sp,40
10165
   48f58:       d9400504        addi    r5,sp,20
10166
   48f5c:       d80d883a        mov     r6,sp
10167
   48f60:       1080005c        xori    r2,r2,1
10168
   48f64:       d8800615        stw     r2,24(sp)
10169
   48f68:       0048b780        call    48b78 <_fpadd_parts>
10170
   48f6c:       1009883a        mov     r4,r2
10171
   48f70:       00408f40        call    408f4 <__pack_d>
10172
   48f74:       dfc01317        ldw     ra,76(sp)
10173
   48f78:       dec01404        addi    sp,sp,80
10174
   48f7c:       f800283a        ret
10175
 
10176
00048f80 <__muldf3>:
10177
   48f80:       deffe404        addi    sp,sp,-112
10178
   48f84:       d9001115        stw     r4,68(sp)
10179
   48f88:       d9401215        stw     r5,72(sp)
10180
   48f8c:       d9001104        addi    r4,sp,68
10181
   48f90:       d9400a04        addi    r5,sp,40
10182
   48f94:       dfc01b15        stw     ra,108(sp)
10183
   48f98:       d9800f15        stw     r6,60(sp)
10184
   48f9c:       d9c01015        stw     r7,64(sp)
10185
   48fa0:       ddc01a15        stw     r23,104(sp)
10186
   48fa4:       dd801915        stw     r22,100(sp)
10187
   48fa8:       dd401815        stw     r21,96(sp)
10188
   48fac:       dd001715        stw     r20,92(sp)
10189
   48fb0:       dcc01615        stw     r19,88(sp)
10190
   48fb4:       dc801515        stw     r18,84(sp)
10191
   48fb8:       dc401415        stw     r17,80(sp)
10192
   48fbc:       dc001315        stw     r16,76(sp)
10193
   48fc0:       0040b180        call    40b18 <__unpack_d>
10194
   48fc4:       d9000f04        addi    r4,sp,60
10195
   48fc8:       d9400504        addi    r5,sp,20
10196
   48fcc:       0040b180        call    40b18 <__unpack_d>
10197
   48fd0:       d8c00a17        ldw     r3,40(sp)
10198
   48fd4:       00800044        movi    r2,1
10199
   48fd8:       10c01136        bltu    r2,r3,49020 <__muldf3+0xa0>
10200
   48fdc:       d8c00b17        ldw     r3,44(sp)
10201
   48fe0:       d8800617        ldw     r2,24(sp)
10202
   48fe4:       d9000a04        addi    r4,sp,40
10203
   48fe8:       1884c03a        cmpne   r2,r3,r2
10204
   48fec:       d8800b15        stw     r2,44(sp)
10205
   48ff0:       00408f40        call    408f4 <__pack_d>
10206
   48ff4:       dfc01b17        ldw     ra,108(sp)
10207
   48ff8:       ddc01a17        ldw     r23,104(sp)
10208
   48ffc:       dd801917        ldw     r22,100(sp)
10209
   49000:       dd401817        ldw     r21,96(sp)
10210
   49004:       dd001717        ldw     r20,92(sp)
10211
   49008:       dcc01617        ldw     r19,88(sp)
10212
   4900c:       dc801517        ldw     r18,84(sp)
10213
   49010:       dc401417        ldw     r17,80(sp)
10214
   49014:       dc001317        ldw     r16,76(sp)
10215
   49018:       dec01c04        addi    sp,sp,112
10216
   4901c:       f800283a        ret
10217
   49020:       d9000517        ldw     r4,20(sp)
10218
   49024:       11000636        bltu    r2,r4,49040 <__muldf3+0xc0>
10219
   49028:       d8800617        ldw     r2,24(sp)
10220
   4902c:       d8c00b17        ldw     r3,44(sp)
10221
   49030:       d9000504        addi    r4,sp,20
10222
   49034:       1884c03a        cmpne   r2,r3,r2
10223
   49038:       d8800615        stw     r2,24(sp)
10224
   4903c:       003fec06        br      48ff0 <__alt_data_end+0xfffe1ef0>
10225
   49040:       00800104        movi    r2,4
10226
   49044:       1880051e        bne     r3,r2,4905c <__muldf3+0xdc>
10227
   49048:       00800084        movi    r2,2
10228
   4904c:       20bfe31e        bne     r4,r2,48fdc <__alt_data_end+0xfffe1edc>
10229
   49050:       01000174        movhi   r4,5
10230
   49054:       21307d04        addi    r4,r4,-15884
10231
   49058:       003fe506        br      48ff0 <__alt_data_end+0xfffe1ef0>
10232
   4905c:       2080031e        bne     r4,r2,4906c <__muldf3+0xec>
10233
   49060:       00800084        movi    r2,2
10234
   49064:       18bffa26        beq     r3,r2,49050 <__alt_data_end+0xfffe1f50>
10235
   49068:       003fef06        br      49028 <__alt_data_end+0xfffe1f28>
10236
   4906c:       00800084        movi    r2,2
10237
   49070:       18bfda26        beq     r3,r2,48fdc <__alt_data_end+0xfffe1edc>
10238
   49074:       20bfec26        beq     r4,r2,49028 <__alt_data_end+0xfffe1f28>
10239
   49078:       dc000d17        ldw     r16,52(sp)
10240
   4907c:       dd000817        ldw     r20,32(sp)
10241
   49080:       dc800917        ldw     r18,36(sp)
10242
   49084:       8009883a        mov     r4,r16
10243
   49088:       000b883a        mov     r5,zero
10244
   4908c:       a00d883a        mov     r6,r20
10245
   49090:       000f883a        mov     r7,zero
10246
   49094:       00498240        call    49824 <__muldi3>
10247
   49098:       dc400e17        ldw     r17,56(sp)
10248
   4909c:       9009883a        mov     r4,r18
10249
   490a0:       800d883a        mov     r6,r16
10250
   490a4:       000b883a        mov     r5,zero
10251
   490a8:       000f883a        mov     r7,zero
10252
   490ac:       102f883a        mov     r23,r2
10253
   490b0:       1827883a        mov     r19,r3
10254
   490b4:       00498240        call    49824 <__muldi3>
10255
   490b8:       900d883a        mov     r6,r18
10256
   490bc:       8809883a        mov     r4,r17
10257
   490c0:       000b883a        mov     r5,zero
10258
   490c4:       000f883a        mov     r7,zero
10259
   490c8:       102b883a        mov     r21,r2
10260
   490cc:       1821883a        mov     r16,r3
10261
   490d0:       00498240        call    49824 <__muldi3>
10262
   490d4:       8809883a        mov     r4,r17
10263
   490d8:       000b883a        mov     r5,zero
10264
   490dc:       a00d883a        mov     r6,r20
10265
   490e0:       000f883a        mov     r7,zero
10266
   490e4:       102d883a        mov     r22,r2
10267
   490e8:       1825883a        mov     r18,r3
10268
   490ec:       00498240        call    49824 <__muldi3>
10269
   490f0:       154b883a        add     r5,r2,r21
10270
   490f4:       2889803a        cmpltu  r4,r5,r2
10271
   490f8:       1c07883a        add     r3,r3,r16
10272
   490fc:       20c9883a        add     r4,r4,r3
10273
   49100:       24004b36        bltu    r4,r16,49230 <__muldf3+0x2b0>
10274
   49104:       8100011e        bne     r16,r4,4910c <__muldf3+0x18c>
10275
   49108:       2d404936        bltu    r5,r21,49230 <__muldf3+0x2b0>
10276
   4910c:       0011883a        mov     r8,zero
10277
   49110:       0007883a        mov     r3,zero
10278
   49114:       2ccb883a        add     r5,r5,r19
10279
   49118:       b80d883a        mov     r6,r23
10280
   4911c:       2cc0012e        bgeu    r5,r19,49124 <__muldf3+0x1a4>
10281
   49120:       02000044        movi    r8,1
10282
   49124:       258f883a        add     r7,r4,r22
10283
   49128:       3909803a        cmpltu  r4,r7,r4
10284
   4912c:       da400c17        ldw     r9,48(sp)
10285
   49130:       2489883a        add     r4,r4,r18
10286
   49134:       d8800717        ldw     r2,28(sp)
10287
   49138:       20c9883a        add     r4,r4,r3
10288
   4913c:       da800b17        ldw     r10,44(sp)
10289
   49140:       d8c00617        ldw     r3,24(sp)
10290
   49144:       3a11883a        add     r8,r7,r8
10291
   49148:       4885883a        add     r2,r9,r2
10292
   4914c:       50c6c03a        cmpne   r3,r10,r3
10293
   49150:       41cf803a        cmpltu  r7,r8,r7
10294
   49154:       12400104        addi    r9,r2,4
10295
   49158:       d8c00115        stw     r3,4(sp)
10296
   4915c:       3909883a        add     r4,r7,r4
10297
   49160:       da400215        stw     r9,8(sp)
10298
   49164:       03480034        movhi   r13,8192
10299
   49168:       6b7fffc4        addi    r13,r13,-1
10300
   4916c:       4007883a        mov     r3,r8
10301
   49170:       6900102e        bgeu    r13,r4,491b4 <__muldf3+0x234>
10302
   49174:       10800144        addi    r2,r2,5
10303
   49178:       180ed07a        srli    r7,r3,1
10304
   4917c:       18c0004c        andi    r3,r3,1
10305
   49180:       201097fa        slli    r8,r4,31
10306
   49184:       281697fa        slli    r11,r5,31
10307
   49188:       2008d07a        srli    r4,r4,1
10308
   4918c:       3014d07a        srli    r10,r6,1
10309
   49190:       2812d07a        srli    r9,r5,1
10310
   49194:       1019883a        mov     r12,r2
10311
   49198:       18000226        beq     r3,zero,491a4 <__muldf3+0x224>
10312
   4919c:       5a8cb03a        or      r6,r11,r10
10313
   491a0:       49600034        orhi    r5,r9,32768
10314
   491a4:       41c6b03a        or      r3,r8,r7
10315
   491a8:       10800044        addi    r2,r2,1
10316
   491ac:       693ff236        bltu    r13,r4,49178 <__alt_data_end+0xfffe2078>
10317
   491b0:       db000215        stw     r12,8(sp)
10318
   491b4:       03440034        movhi   r13,4096
10319
   491b8:       6b7fffc4        addi    r13,r13,-1
10320
   491bc:       69001336        bltu    r13,r4,4920c <__muldf3+0x28c>
10321
   491c0:       d8800217        ldw     r2,8(sp)
10322
   491c4:       10bfffc4        addi    r2,r2,-1
10323
   491c8:       18d3883a        add     r9,r3,r3
10324
   491cc:       48c7803a        cmpltu  r3,r9,r3
10325
   491d0:       2109883a        add     r4,r4,r4
10326
   491d4:       190f883a        add     r7,r3,r4
10327
   491d8:       3191883a        add     r8,r6,r6
10328
   491dc:       4197803a        cmpltu  r11,r8,r6
10329
   491e0:       2955883a        add     r10,r5,r5
10330
   491e4:       1019883a        mov     r12,r2
10331
   491e8:       4807883a        mov     r3,r9
10332
   491ec:       3809883a        mov     r4,r7
10333
   491f0:       2800010e        bge     r5,zero,491f8 <__muldf3+0x278>
10334
   491f4:       48c00054        ori     r3,r9,1
10335
   491f8:       400d883a        mov     r6,r8
10336
   491fc:       5a8b883a        add     r5,r11,r10
10337
   49200:       10bfffc4        addi    r2,r2,-1
10338
   49204:       69fff02e        bgeu    r13,r7,491c8 <__alt_data_end+0xfffe20c8>
10339
   49208:       db000215        stw     r12,8(sp)
10340
   4920c:       18803fcc        andi    r2,r3,255
10341
   49210:       01c02004        movi    r7,128
10342
   49214:       11c00926        beq     r2,r7,4923c <__muldf3+0x2bc>
10343
   49218:       008000c4        movi    r2,3
10344
   4921c:       d9000415        stw     r4,16(sp)
10345
   49220:       d8c00315        stw     r3,12(sp)
10346
   49224:       d8800015        stw     r2,0(sp)
10347
   49228:       d809883a        mov     r4,sp
10348
   4922c:       003f7006        br      48ff0 <__alt_data_end+0xfffe1ef0>
10349
   49230:       0011883a        mov     r8,zero
10350
   49234:       00c00044        movi    r3,1
10351
   49238:       003fb606        br      49114 <__alt_data_end+0xfffe2014>
10352
   4923c:       19c0400c        andi    r7,r3,256
10353
   49240:       383ff51e        bne     r7,zero,49218 <__alt_data_end+0xfffe2118>
10354
   49244:       314ab03a        or      r5,r6,r5
10355
   49248:       283ff326        beq     r5,zero,49218 <__alt_data_end+0xfffe2118>
10356
   4924c:       1885883a        add     r2,r3,r2
10357
   49250:       10cb803a        cmpltu  r5,r2,r3
10358
   49254:       00ffc004        movi    r3,-256
10359
   49258:       10c6703a        and     r3,r2,r3
10360
   4925c:       2909883a        add     r4,r5,r4
10361
   49260:       003fed06        br      49218 <__alt_data_end+0xfffe2118>
10362
 
10363
00049264 <__eqdf2>:
10364
   49264:       defff104        addi    sp,sp,-60
10365
   49268:       d9000c15        stw     r4,48(sp)
10366
   4926c:       d9400d15        stw     r5,52(sp)
10367
   49270:       d9000c04        addi    r4,sp,48
10368
   49274:       d9400504        addi    r5,sp,20
10369
   49278:       dfc00e15        stw     ra,56(sp)
10370
   4927c:       d9800a15        stw     r6,40(sp)
10371
   49280:       d9c00b15        stw     r7,44(sp)
10372
   49284:       0040b180        call    40b18 <__unpack_d>
10373
   49288:       d9000a04        addi    r4,sp,40
10374
   4928c:       d80b883a        mov     r5,sp
10375
   49290:       0040b180        call    40b18 <__unpack_d>
10376
   49294:       d8c00517        ldw     r3,20(sp)
10377
   49298:       00800044        movi    r2,1
10378
   4929c:       10c0052e        bgeu    r2,r3,492b4 <__eqdf2+0x50>
10379
   492a0:       d8c00017        ldw     r3,0(sp)
10380
   492a4:       10c0032e        bgeu    r2,r3,492b4 <__eqdf2+0x50>
10381
   492a8:       d9000504        addi    r4,sp,20
10382
   492ac:       d80b883a        mov     r5,sp
10383
   492b0:       00498840        call    49884 <__fpcmp_parts_d>
10384
   492b4:       dfc00e17        ldw     ra,56(sp)
10385
   492b8:       dec00f04        addi    sp,sp,60
10386
   492bc:       f800283a        ret
10387
 
10388
000492c0 <__nedf2>:
10389
   492c0:       defff104        addi    sp,sp,-60
10390
   492c4:       d9000c15        stw     r4,48(sp)
10391
   492c8:       d9400d15        stw     r5,52(sp)
10392
   492cc:       d9000c04        addi    r4,sp,48
10393
   492d0:       d9400504        addi    r5,sp,20
10394
   492d4:       dfc00e15        stw     ra,56(sp)
10395
   492d8:       d9800a15        stw     r6,40(sp)
10396
   492dc:       d9c00b15        stw     r7,44(sp)
10397
   492e0:       0040b180        call    40b18 <__unpack_d>
10398
   492e4:       d9000a04        addi    r4,sp,40
10399
   492e8:       d80b883a        mov     r5,sp
10400
   492ec:       0040b180        call    40b18 <__unpack_d>
10401
   492f0:       d8c00517        ldw     r3,20(sp)
10402
   492f4:       00800044        movi    r2,1
10403
   492f8:       10c0052e        bgeu    r2,r3,49310 <__nedf2+0x50>
10404
   492fc:       d8c00017        ldw     r3,0(sp)
10405
   49300:       10c0032e        bgeu    r2,r3,49310 <__nedf2+0x50>
10406
   49304:       d9000504        addi    r4,sp,20
10407
   49308:       d80b883a        mov     r5,sp
10408
   4930c:       00498840        call    49884 <__fpcmp_parts_d>
10409
   49310:       dfc00e17        ldw     ra,56(sp)
10410
   49314:       dec00f04        addi    sp,sp,60
10411
   49318:       f800283a        ret
10412
 
10413
0004931c <__gtdf2>:
10414
   4931c:       defff104        addi    sp,sp,-60
10415
   49320:       d9000c15        stw     r4,48(sp)
10416
   49324:       d9400d15        stw     r5,52(sp)
10417
   49328:       d9000c04        addi    r4,sp,48
10418
   4932c:       d9400504        addi    r5,sp,20
10419
   49330:       dfc00e15        stw     ra,56(sp)
10420
   49334:       d9800a15        stw     r6,40(sp)
10421
   49338:       d9c00b15        stw     r7,44(sp)
10422
   4933c:       0040b180        call    40b18 <__unpack_d>
10423
   49340:       d9000a04        addi    r4,sp,40
10424
   49344:       d80b883a        mov     r5,sp
10425
   49348:       0040b180        call    40b18 <__unpack_d>
10426
   4934c:       d8c00517        ldw     r3,20(sp)
10427
   49350:       00800044        movi    r2,1
10428
   49354:       10c0082e        bgeu    r2,r3,49378 <__gtdf2+0x5c>
10429
   49358:       d8c00017        ldw     r3,0(sp)
10430
   4935c:       10c0062e        bgeu    r2,r3,49378 <__gtdf2+0x5c>
10431
   49360:       d9000504        addi    r4,sp,20
10432
   49364:       d80b883a        mov     r5,sp
10433
   49368:       00498840        call    49884 <__fpcmp_parts_d>
10434
   4936c:       dfc00e17        ldw     ra,56(sp)
10435
   49370:       dec00f04        addi    sp,sp,60
10436
   49374:       f800283a        ret
10437
   49378:       00bfffc4        movi    r2,-1
10438
   4937c:       003ffb06        br      4936c <__alt_data_end+0xfffe226c>
10439
 
10440
00049380 <__gedf2>:
10441
   49380:       defff104        addi    sp,sp,-60
10442
   49384:       d9000c15        stw     r4,48(sp)
10443
   49388:       d9400d15        stw     r5,52(sp)
10444
   4938c:       d9000c04        addi    r4,sp,48
10445
   49390:       d9400504        addi    r5,sp,20
10446
   49394:       dfc00e15        stw     ra,56(sp)
10447
   49398:       d9800a15        stw     r6,40(sp)
10448
   4939c:       d9c00b15        stw     r7,44(sp)
10449
   493a0:       0040b180        call    40b18 <__unpack_d>
10450
   493a4:       d9000a04        addi    r4,sp,40
10451
   493a8:       d80b883a        mov     r5,sp
10452
   493ac:       0040b180        call    40b18 <__unpack_d>
10453
   493b0:       d8c00517        ldw     r3,20(sp)
10454
   493b4:       00800044        movi    r2,1
10455
   493b8:       10c0082e        bgeu    r2,r3,493dc <__gedf2+0x5c>
10456
   493bc:       d8c00017        ldw     r3,0(sp)
10457
   493c0:       10c0062e        bgeu    r2,r3,493dc <__gedf2+0x5c>
10458
   493c4:       d9000504        addi    r4,sp,20
10459
   493c8:       d80b883a        mov     r5,sp
10460
   493cc:       00498840        call    49884 <__fpcmp_parts_d>
10461
   493d0:       dfc00e17        ldw     ra,56(sp)
10462
   493d4:       dec00f04        addi    sp,sp,60
10463
   493d8:       f800283a        ret
10464
   493dc:       00bfffc4        movi    r2,-1
10465
   493e0:       003ffb06        br      493d0 <__alt_data_end+0xfffe22d0>
10466
 
10467
000493e4 <__ltdf2>:
10468
   493e4:       defff104        addi    sp,sp,-60
10469
   493e8:       d9000c15        stw     r4,48(sp)
10470
   493ec:       d9400d15        stw     r5,52(sp)
10471
   493f0:       d9000c04        addi    r4,sp,48
10472
   493f4:       d9400504        addi    r5,sp,20
10473
   493f8:       dfc00e15        stw     ra,56(sp)
10474
   493fc:       d9800a15        stw     r6,40(sp)
10475
   49400:       d9c00b15        stw     r7,44(sp)
10476
   49404:       0040b180        call    40b18 <__unpack_d>
10477
   49408:       d9000a04        addi    r4,sp,40
10478
   4940c:       d80b883a        mov     r5,sp
10479
   49410:       0040b180        call    40b18 <__unpack_d>
10480
   49414:       d8c00517        ldw     r3,20(sp)
10481
   49418:       00800044        movi    r2,1
10482
   4941c:       10c0052e        bgeu    r2,r3,49434 <__ltdf2+0x50>
10483
   49420:       d8c00017        ldw     r3,0(sp)
10484
   49424:       10c0032e        bgeu    r2,r3,49434 <__ltdf2+0x50>
10485
   49428:       d9000504        addi    r4,sp,20
10486
   4942c:       d80b883a        mov     r5,sp
10487
   49430:       00498840        call    49884 <__fpcmp_parts_d>
10488
   49434:       dfc00e17        ldw     ra,56(sp)
10489
   49438:       dec00f04        addi    sp,sp,60
10490
   4943c:       f800283a        ret
10491
 
10492
00049440 <__floatsidf>:
10493
   49440:       2004d7fa        srli    r2,r4,31
10494
   49444:       defff904        addi    sp,sp,-28
10495
   49448:       00c000c4        movi    r3,3
10496
   4944c:       dfc00615        stw     ra,24(sp)
10497
   49450:       dc000515        stw     r16,20(sp)
10498
   49454:       d8c00015        stw     r3,0(sp)
10499
   49458:       d8800115        stw     r2,4(sp)
10500
   4945c:       2000081e        bne     r4,zero,49480 <__floatsidf+0x40>
10501
   49460:       00800084        movi    r2,2
10502
   49464:       d8800015        stw     r2,0(sp)
10503
   49468:       d809883a        mov     r4,sp
10504
   4946c:       00408f40        call    408f4 <__pack_d>
10505
   49470:       dfc00617        ldw     ra,24(sp)
10506
   49474:       dc000517        ldw     r16,20(sp)
10507
   49478:       dec00704        addi    sp,sp,28
10508
   4947c:       f800283a        ret
10509
   49480:       00c00f04        movi    r3,60
10510
   49484:       d8c00215        stw     r3,8(sp)
10511
   49488:       10000f1e        bne     r2,zero,494c8 <__floatsidf+0x88>
10512
   4948c:       2021883a        mov     r16,r4
10513
   49490:       8009883a        mov     r4,r16
10514
   49494:       00406540        call    40654 <__clzsi2>
10515
   49498:       11000744        addi    r4,r2,29
10516
   4949c:       0100110e        bge     zero,r4,494e4 <__floatsidf+0xa4>
10517
   494a0:       10ffff44        addi    r3,r2,-3
10518
   494a4:       18001216        blt     r3,zero,494f0 <__floatsidf+0xb0>
10519
   494a8:       80c6983a        sll     r3,r16,r3
10520
   494ac:       0009883a        mov     r4,zero
10521
   494b0:       014007c4        movi    r5,31
10522
   494b4:       2885c83a        sub     r2,r5,r2
10523
   494b8:       d9000315        stw     r4,12(sp)
10524
   494bc:       d8c00415        stw     r3,16(sp)
10525
   494c0:       d8800215        stw     r2,8(sp)
10526
   494c4:       003fe806        br      49468 <__alt_data_end+0xfffe2368>
10527
   494c8:       00a00034        movhi   r2,32768
10528
   494cc:       20800e26        beq     r4,r2,49508 <__floatsidf+0xc8>
10529
   494d0:       0121c83a        sub     r16,zero,r4
10530
   494d4:       8009883a        mov     r4,r16
10531
   494d8:       00406540        call    40654 <__clzsi2>
10532
   494dc:       11000744        addi    r4,r2,29
10533
   494e0:       013fef16        blt     zero,r4,494a0 <__alt_data_end+0xfffe23a0>
10534
   494e4:       dc000315        stw     r16,12(sp)
10535
   494e8:       d8000415        stw     zero,16(sp)
10536
   494ec:       003fde06        br      49468 <__alt_data_end+0xfffe2368>
10537
   494f0:       800ad07a        srli    r5,r16,1
10538
   494f4:       00c007c4        movi    r3,31
10539
   494f8:       1907c83a        sub     r3,r3,r4
10540
   494fc:       28c6d83a        srl     r3,r5,r3
10541
   49500:       8108983a        sll     r4,r16,r4
10542
   49504:       003fea06        br      494b0 <__alt_data_end+0xfffe23b0>
10543
   49508:       0005883a        mov     r2,zero
10544
   4950c:       00f07834        movhi   r3,49632
10545
   49510:       003fd706        br      49470 <__alt_data_end+0xfffe2370>
10546
 
10547
00049514 <__fixdfsi>:
10548
   49514:       defff804        addi    sp,sp,-32
10549
   49518:       d9000515        stw     r4,20(sp)
10550
   4951c:       d9400615        stw     r5,24(sp)
10551
   49520:       d9000504        addi    r4,sp,20
10552
   49524:       d80b883a        mov     r5,sp
10553
   49528:       dfc00715        stw     ra,28(sp)
10554
   4952c:       0040b180        call    40b18 <__unpack_d>
10555
   49530:       d8800017        ldw     r2,0(sp)
10556
   49534:       00c00084        movi    r3,2
10557
   49538:       10c01c26        beq     r2,r3,495ac <__fixdfsi+0x98>
10558
   4953c:       00c00044        movi    r3,1
10559
   49540:       18801a2e        bgeu    r3,r2,495ac <__fixdfsi+0x98>
10560
   49544:       00c00104        movi    r3,4
10561
   49548:       10c01126        beq     r2,r3,49590 <__fixdfsi+0x7c>
10562
   4954c:       d8800217        ldw     r2,8(sp)
10563
   49550:       10001616        blt     r2,zero,495ac <__fixdfsi+0x98>
10564
   49554:       00c00784        movi    r3,30
10565
   49558:       18800d16        blt     r3,r2,49590 <__fixdfsi+0x7c>
10566
   4955c:       00c00f04        movi    r3,60
10567
   49560:       1885c83a        sub     r2,r3,r2
10568
   49564:       10fff804        addi    r3,r2,-32
10569
   49568:       d9400317        ldw     r5,12(sp)
10570
   4956c:       d9000417        ldw     r4,16(sp)
10571
   49570:       18001216        blt     r3,zero,495bc <__fixdfsi+0xa8>
10572
   49574:       20c4d83a        srl     r2,r4,r3
10573
   49578:       d8c00117        ldw     r3,4(sp)
10574
   4957c:       18000826        beq     r3,zero,495a0 <__fixdfsi+0x8c>
10575
   49580:       0085c83a        sub     r2,zero,r2
10576
   49584:       dfc00717        ldw     ra,28(sp)
10577
   49588:       dec00804        addi    sp,sp,32
10578
   4958c:       f800283a        ret
10579
   49590:       d8800117        ldw     r2,4(sp)
10580
   49594:       00e00034        movhi   r3,32768
10581
   49598:       1005003a        cmpeq   r2,r2,zero
10582
   4959c:       1885c83a        sub     r2,r3,r2
10583
   495a0:       dfc00717        ldw     ra,28(sp)
10584
   495a4:       dec00804        addi    sp,sp,32
10585
   495a8:       f800283a        ret
10586
   495ac:       0005883a        mov     r2,zero
10587
   495b0:       dfc00717        ldw     ra,28(sp)
10588
   495b4:       dec00804        addi    sp,sp,32
10589
   495b8:       f800283a        ret
10590
   495bc:       2008907a        slli    r4,r4,1
10591
   495c0:       018007c4        movi    r6,31
10592
   495c4:       308dc83a        sub     r6,r6,r2
10593
   495c8:       2188983a        sll     r4,r4,r6
10594
   495cc:       2884d83a        srl     r2,r5,r2
10595
   495d0:       2084b03a        or      r2,r4,r2
10596
   495d4:       003fe806        br      49578 <__alt_data_end+0xfffe2478>
10597
 
10598
000495d8 <__floatunsidf>:
10599
   495d8:       defff904        addi    sp,sp,-28
10600
   495dc:       dc000515        stw     r16,20(sp)
10601
   495e0:       dfc00615        stw     ra,24(sp)
10602
   495e4:       d8000115        stw     zero,4(sp)
10603
   495e8:       2021883a        mov     r16,r4
10604
   495ec:       20001726        beq     r4,zero,4964c <__floatunsidf+0x74>
10605
   495f0:       008000c4        movi    r2,3
10606
   495f4:       d8800015        stw     r2,0(sp)
10607
   495f8:       00800f04        movi    r2,60
10608
   495fc:       d8800215        stw     r2,8(sp)
10609
   49600:       00406540        call    40654 <__clzsi2>
10610
   49604:       10c00744        addi    r3,r2,29
10611
   49608:       18001816        blt     r3,zero,4966c <__floatunsidf+0x94>
10612
   4960c:       18002d26        beq     r3,zero,496c4 <__floatunsidf+0xec>
10613
   49610:       113fff44        addi    r4,r2,-3
10614
   49614:       20002e16        blt     r4,zero,496d0 <__floatunsidf+0xf8>
10615
   49618:       8108983a        sll     r4,r16,r4
10616
   4961c:       0021883a        mov     r16,zero
10617
   49620:       014007c4        movi    r5,31
10618
   49624:       2885c83a        sub     r2,r5,r2
10619
   49628:       dc000315        stw     r16,12(sp)
10620
   4962c:       d9000415        stw     r4,16(sp)
10621
   49630:       d8800215        stw     r2,8(sp)
10622
   49634:       d809883a        mov     r4,sp
10623
   49638:       00408f40        call    408f4 <__pack_d>
10624
   4963c:       dfc00617        ldw     ra,24(sp)
10625
   49640:       dc000517        ldw     r16,20(sp)
10626
   49644:       dec00704        addi    sp,sp,28
10627
   49648:       f800283a        ret
10628
   4964c:       00800084        movi    r2,2
10629
   49650:       d809883a        mov     r4,sp
10630
   49654:       d8800015        stw     r2,0(sp)
10631
   49658:       00408f40        call    408f4 <__pack_d>
10632
   4965c:       dfc00617        ldw     ra,24(sp)
10633
   49660:       dc000517        ldw     r16,20(sp)
10634
   49664:       dec00704        addi    sp,sp,28
10635
   49668:       f800283a        ret
10636
   4966c:       00c7c83a        sub     r3,zero,r3
10637
   49670:       193ff804        addi    r4,r3,-32
10638
   49674:       20001c16        blt     r4,zero,496e8 <__floatunsidf+0x110>
10639
   49678:       000b883a        mov     r5,zero
10640
   4967c:       2009d7fa        srai    r4,r4,31
10641
   49680:       80c6d83a        srl     r3,r16,r3
10642
   49684:       297fffc4        addi    r5,r5,-1
10643
   49688:       2c20703a        and     r16,r5,r16
10644
   4968c:       8020c03a        cmpne   r16,r16,zero
10645
   49690:       1906703a        and     r3,r3,r4
10646
   49694:       010007c4        movi    r4,31
10647
   49698:       80c6b03a        or      r3,r16,r3
10648
   4969c:       2085c83a        sub     r2,r4,r2
10649
   496a0:       d809883a        mov     r4,sp
10650
   496a4:       d8c00315        stw     r3,12(sp)
10651
   496a8:       d8000415        stw     zero,16(sp)
10652
   496ac:       d8800215        stw     r2,8(sp)
10653
   496b0:       00408f40        call    408f4 <__pack_d>
10654
   496b4:       dfc00617        ldw     ra,24(sp)
10655
   496b8:       dc000517        ldw     r16,20(sp)
10656
   496bc:       dec00704        addi    sp,sp,28
10657
   496c0:       f800283a        ret
10658
   496c4:       dc000315        stw     r16,12(sp)
10659
   496c8:       d8000415        stw     zero,16(sp)
10660
   496cc:       003fd906        br      49634 <__alt_data_end+0xfffe2534>
10661
   496d0:       800ad07a        srli    r5,r16,1
10662
   496d4:       010007c4        movi    r4,31
10663
   496d8:       20c9c83a        sub     r4,r4,r3
10664
   496dc:       2908d83a        srl     r4,r5,r4
10665
   496e0:       80e0983a        sll     r16,r16,r3
10666
   496e4:       003fce06        br      49620 <__alt_data_end+0xfffe2520>
10667
   496e8:       01400044        movi    r5,1
10668
   496ec:       28ca983a        sll     r5,r5,r3
10669
   496f0:       003fe206        br      4967c <__alt_data_end+0xfffe257c>
10670
 
10671
000496f4 :
10672
   496f4:       2005883a        mov     r2,r4
10673
   496f8:       2900182e        bgeu    r5,r4,4975c 
10674
   496fc:       28001716        blt     r5,zero,4975c 
10675
   49700:       01000804        movi    r4,32
10676
   49704:       00c00044        movi    r3,1
10677
   49708:       00000206        br      49714 
10678
   4970c:       20001126        beq     r4,zero,49754 
10679
   49710:       28000516        blt     r5,zero,49728 
10680
   49714:       294b883a        add     r5,r5,r5
10681
   49718:       213fffc4        addi    r4,r4,-1
10682
   4971c:       18c7883a        add     r3,r3,r3
10683
   49720:       28bffa36        bltu    r5,r2,4970c <__alt_data_end+0xfffe260c>
10684
   49724:       18000b26        beq     r3,zero,49754 
10685
   49728:       0009883a        mov     r4,zero
10686
   4972c:       11400236        bltu    r2,r5,49738 
10687
   49730:       1145c83a        sub     r2,r2,r5
10688
   49734:       20c8b03a        or      r4,r4,r3
10689
   49738:       1806d07a        srli    r3,r3,1
10690
   4973c:       280ad07a        srli    r5,r5,1
10691
   49740:       183ffa1e        bne     r3,zero,4972c <__alt_data_end+0xfffe262c>
10692
   49744:       3000021e        bne     r6,zero,49750 
10693
   49748:       2005883a        mov     r2,r4
10694
   4974c:       f800283a        ret
10695
   49750:       f800283a        ret
10696
   49754:       0009883a        mov     r4,zero
10697
   49758:       003ffa06        br      49744 <__alt_data_end+0xfffe2644>
10698
   4975c:       00c00044        movi    r3,1
10699
   49760:       0009883a        mov     r4,zero
10700
   49764:       003ff106        br      4972c <__alt_data_end+0xfffe262c>
10701
 
10702
00049768 <__divsi3>:
10703
   49768:       defffe04        addi    sp,sp,-8
10704
   4976c:       dfc00115        stw     ra,4(sp)
10705
   49770:       dc000015        stw     r16,0(sp)
10706
   49774:       20000a16        blt     r4,zero,497a0 <__divsi3+0x38>
10707
   49778:       0021883a        mov     r16,zero
10708
   4977c:       28000b16        blt     r5,zero,497ac <__divsi3+0x44>
10709
   49780:       000d883a        mov     r6,zero
10710
   49784:       00496f40        call    496f4 
10711
   49788:       80000126        beq     r16,zero,49790 <__divsi3+0x28>
10712
   4978c:       0085c83a        sub     r2,zero,r2
10713
   49790:       dfc00117        ldw     ra,4(sp)
10714
   49794:       dc000017        ldw     r16,0(sp)
10715
   49798:       dec00204        addi    sp,sp,8
10716
   4979c:       f800283a        ret
10717
   497a0:       0109c83a        sub     r4,zero,r4
10718
   497a4:       04000044        movi    r16,1
10719
   497a8:       283ff50e        bge     r5,zero,49780 <__alt_data_end+0xfffe2680>
10720
   497ac:       014bc83a        sub     r5,zero,r5
10721
   497b0:       8400005c        xori    r16,r16,1
10722
   497b4:       003ff206        br      49780 <__alt_data_end+0xfffe2680>
10723
 
10724
000497b8 <__modsi3>:
10725
   497b8:       deffff04        addi    sp,sp,-4
10726
   497bc:       dfc00015        stw     ra,0(sp)
10727
   497c0:       20000516        blt     r4,zero,497d8 <__modsi3+0x20>
10728
   497c4:       28000c16        blt     r5,zero,497f8 <__modsi3+0x40>
10729
   497c8:       01800044        movi    r6,1
10730
   497cc:       dfc00017        ldw     ra,0(sp)
10731
   497d0:       dec00104        addi    sp,sp,4
10732
   497d4:       00496f41        jmpi    496f4 
10733
   497d8:       0109c83a        sub     r4,zero,r4
10734
   497dc:       28000b16        blt     r5,zero,4980c <__modsi3+0x54>
10735
   497e0:       01800044        movi    r6,1
10736
   497e4:       00496f40        call    496f4 
10737
   497e8:       0085c83a        sub     r2,zero,r2
10738
   497ec:       dfc00017        ldw     ra,0(sp)
10739
   497f0:       dec00104        addi    sp,sp,4
10740
   497f4:       f800283a        ret
10741
   497f8:       014bc83a        sub     r5,zero,r5
10742
   497fc:       01800044        movi    r6,1
10743
   49800:       dfc00017        ldw     ra,0(sp)
10744
   49804:       dec00104        addi    sp,sp,4
10745
   49808:       00496f41        jmpi    496f4 
10746
   4980c:       014bc83a        sub     r5,zero,r5
10747
   49810:       003ff306        br      497e0 <__alt_data_end+0xfffe26e0>
10748
 
10749
00049814 <__udivsi3>:
10750
   49814:       000d883a        mov     r6,zero
10751
   49818:       00496f41        jmpi    496f4 
10752
 
10753
0004981c <__umodsi3>:
10754
   4981c:       01800044        movi    r6,1
10755
   49820:       00496f41        jmpi    496f4 
10756
 
10757
00049824 <__muldi3>:
10758
   49824:       20bfffcc        andi    r2,r4,65535
10759
   49828:       2010d43a        srli    r8,r4,16
10760
   4982c:       30ffffcc        andi    r3,r6,65535
10761
   49830:       3014d43a        srli    r10,r6,16
10762
   49834:       1893383a        mul     r9,r3,r2
10763
   49838:       1a07383a        mul     r3,r3,r8
10764
   4983c:       5085383a        mul     r2,r10,r2
10765
   49840:       4816d43a        srli    r11,r9,16
10766
   49844:       5211383a        mul     r8,r10,r8
10767
   49848:       1885883a        add     r2,r3,r2
10768
   4984c:       12c5883a        add     r2,r2,r11
10769
   49850:       10c0022e        bgeu    r2,r3,4985c <__muldi3+0x38>
10770
   49854:       00c00074        movhi   r3,1
10771
   49858:       40d1883a        add     r8,r8,r3
10772
   4985c:       1014d43a        srli    r10,r2,16
10773
   49860:       21c9383a        mul     r4,r4,r7
10774
   49864:       314d383a        mul     r6,r6,r5
10775
   49868:       1004943a        slli    r2,r2,16
10776
   4986c:       4291883a        add     r8,r8,r10
10777
   49870:       4a7fffcc        andi    r9,r9,65535
10778
   49874:       2187883a        add     r3,r4,r6
10779
   49878:       1245883a        add     r2,r2,r9
10780
   4987c:       1a07883a        add     r3,r3,r8
10781
   49880:       f800283a        ret
10782
 
10783
00049884 <__fpcmp_parts_d>:
10784
   49884:       20c00017        ldw     r3,0(r4)
10785
   49888:       00800044        movi    r2,1
10786
   4988c:       10c0142e        bgeu    r2,r3,498e0 <__fpcmp_parts_d+0x5c>
10787
   49890:       29800017        ldw     r6,0(r5)
10788
   49894:       1180122e        bgeu    r2,r6,498e0 <__fpcmp_parts_d+0x5c>
10789
   49898:       01c00104        movi    r7,4
10790
   4989c:       19c02826        beq     r3,r7,49940 <__fpcmp_parts_d+0xbc>
10791
   498a0:       31c00926        beq     r6,r7,498c8 <__fpcmp_parts_d+0x44>
10792
   498a4:       01c00084        movi    r7,2
10793
   498a8:       19c00626        beq     r3,r7,498c4 <__fpcmp_parts_d+0x40>
10794
   498ac:       31c00a26        beq     r6,r7,498d8 <__fpcmp_parts_d+0x54>
10795
   498b0:       20c00117        ldw     r3,4(r4)
10796
   498b4:       29800117        ldw     r6,4(r5)
10797
   498b8:       19800b26        beq     r3,r6,498e8 <__fpcmp_parts_d+0x64>
10798
   498bc:       1800041e        bne     r3,zero,498d0 <__fpcmp_parts_d+0x4c>
10799
   498c0:       f800283a        ret
10800
   498c4:       30c01a26        beq     r6,r3,49930 <__fpcmp_parts_d+0xac>
10801
   498c8:       28800117        ldw     r2,4(r5)
10802
   498cc:       1000041e        bne     r2,zero,498e0 <__fpcmp_parts_d+0x5c>
10803
   498d0:       00bfffc4        movi    r2,-1
10804
   498d4:       f800283a        ret
10805
   498d8:       20800117        ldw     r2,4(r4)
10806
   498dc:       103ffc1e        bne     r2,zero,498d0 <__alt_data_end+0xfffe27d0>
10807
   498e0:       00800044        movi    r2,1
10808
   498e4:       f800283a        ret
10809
   498e8:       21c00217        ldw     r7,8(r4)
10810
   498ec:       29800217        ldw     r6,8(r5)
10811
   498f0:       31c0020e        bge     r6,r7,498fc <__fpcmp_parts_d+0x78>
10812
   498f4:       183ff61e        bne     r3,zero,498d0 <__alt_data_end+0xfffe27d0>
10813
   498f8:       f800283a        ret
10814
   498fc:       39800a16        blt     r7,r6,49928 <__fpcmp_parts_d+0xa4>
10815
   49900:       20800417        ldw     r2,16(r4)
10816
   49904:       29800417        ldw     r6,16(r5)
10817
   49908:       21c00317        ldw     r7,12(r4)
10818
   4990c:       29000317        ldw     r4,12(r5)
10819
   49910:       30800936        bltu    r6,r2,49938 <__fpcmp_parts_d+0xb4>
10820
   49914:       1180011e        bne     r2,r6,4991c <__fpcmp_parts_d+0x98>
10821
   49918:       21c00736        bltu    r4,r7,49938 <__fpcmp_parts_d+0xb4>
10822
   4991c:       11800236        bltu    r2,r6,49928 <__fpcmp_parts_d+0xa4>
10823
   49920:       3080031e        bne     r6,r2,49930 <__fpcmp_parts_d+0xac>
10824
   49924:       3900022e        bgeu    r7,r4,49930 <__fpcmp_parts_d+0xac>
10825
   49928:       183fe926        beq     r3,zero,498d0 <__alt_data_end+0xfffe27d0>
10826
   4992c:       003fec06        br      498e0 <__alt_data_end+0xfffe27e0>
10827
   49930:       0005883a        mov     r2,zero
10828
   49934:       f800283a        ret
10829
   49938:       183fe926        beq     r3,zero,498e0 <__alt_data_end+0xfffe27e0>
10830
   4993c:       003fe406        br      498d0 <__alt_data_end+0xfffe27d0>
10831
   49940:       30ffe51e        bne     r6,r3,498d8 <__alt_data_end+0xfffe27d8>
10832
   49944:       28c00117        ldw     r3,4(r5)
10833
   49948:       20800117        ldw     r2,4(r4)
10834
   4994c:       1885c83a        sub     r2,r3,r2
10835
   49950:       f800283a        ret
10836
 
10837
00049954 :
10838
#undef errno
10839
 
10840
extern int errno;
10841
 
10842
static ALT_INLINE int* alt_get_errno(void)
10843
{
10844
   49954:       defffe04        addi    sp,sp,-8
10845
   49958:       dfc00115        stw     ra,4(sp)
10846
   4995c:       df000015        stw     fp,0(sp)
10847
   49960:       d839883a        mov     fp,sp
10848
  return ((alt_errno) ? alt_errno() : &errno);
10849
   49964:       00800174        movhi   r2,5
10850
   49968:       10b7d604        addi    r2,r2,-8360
10851
   4996c:       10800017        ldw     r2,0(r2)
10852
   49970:       10000526        beq     r2,zero,49988 
10853
   49974:       00800174        movhi   r2,5
10854
   49978:       10b7d604        addi    r2,r2,-8360
10855
   4997c:       10800017        ldw     r2,0(r2)
10856
   49980:       103ee83a        callr   r2
10857
   49984:       00000206        br      49990 
10858
   49988:       00800174        movhi   r2,5
10859
   4998c:       10be7704        addi    r2,r2,-1572
10860
}
10861
   49990:       e037883a        mov     sp,fp
10862
   49994:       dfc00117        ldw     ra,4(sp)
10863
   49998:       df000017        ldw     fp,0(sp)
10864
   4999c:       dec00204        addi    sp,sp,8
10865
   499a0:       f800283a        ret
10866
 
10867
000499a4 :
10868
 *
10869
 * ALT_CLOSE is mapped onto the close() system call in alt_syscall.h
10870
 */
10871
 
10872
int ALT_CLOSE (int fildes)
10873
{
10874
   499a4:       defffb04        addi    sp,sp,-20
10875
   499a8:       dfc00415        stw     ra,16(sp)
10876
   499ac:       df000315        stw     fp,12(sp)
10877
   499b0:       df000304        addi    fp,sp,12
10878
   499b4:       e13fff15        stw     r4,-4(fp)
10879
   * A common error case is that when the file descriptor was created, the call
10880
   * to open() failed resulting in a negative file descriptor. This is trapped
10881
   * below so that we don't try and process an invalid file descriptor.
10882
   */
10883
 
10884
  fd = (fildes < 0) ? NULL : &alt_fd_list[fildes];
10885
   499b8:       e0bfff17        ldw     r2,-4(fp)
10886
   499bc:       10000616        blt     r2,zero,499d8 
10887
   499c0:       e0bfff17        ldw     r2,-4(fp)
10888
   499c4:       10c00324        muli    r3,r2,12
10889
   499c8:       00800174        movhi   r2,5
10890
   499cc:       10b35404        addi    r2,r2,-12976
10891
   499d0:       1885883a        add     r2,r3,r2
10892
   499d4:       00000106        br      499dc 
10893
   499d8:       0005883a        mov     r2,zero
10894
   499dc:       e0bffd15        stw     r2,-12(fp)
10895
 
10896
  if (fd)
10897
   499e0:       e0bffd17        ldw     r2,-12(fp)
10898
   499e4:       10001826        beq     r2,zero,49a48 
10899
    /*
10900
     * If the associated file system/device has a close function, call it so
10901
     * that any necessary cleanup code can run.
10902
     */
10903
 
10904
    rval = (fd->dev->close) ? fd->dev->close(fd) : 0;
10905
   499e8:       e0bffd17        ldw     r2,-12(fp)
10906
   499ec:       10800017        ldw     r2,0(r2)
10907
   499f0:       10800417        ldw     r2,16(r2)
10908
   499f4:       10000626        beq     r2,zero,49a10 
10909
   499f8:       e0bffd17        ldw     r2,-12(fp)
10910
   499fc:       10800017        ldw     r2,0(r2)
10911
   49a00:       10800417        ldw     r2,16(r2)
10912
   49a04:       e13ffd17        ldw     r4,-12(fp)
10913
   49a08:       103ee83a        callr   r2
10914
   49a0c:       00000106        br      49a14 
10915
   49a10:       0005883a        mov     r2,zero
10916
   49a14:       e0bffe15        stw     r2,-8(fp)
10917
 
10918
    /* Free the file descriptor structure and return. */
10919
 
10920
    alt_release_fd (fildes);
10921
   49a18:       e13fff17        ldw     r4,-4(fp)
10922
   49a1c:       004a0880        call    4a088 
10923
    if (rval < 0)
10924
   49a20:       e0bffe17        ldw     r2,-8(fp)
10925
   49a24:       1000060e        bge     r2,zero,49a40 
10926
    {
10927
      ALT_ERRNO = -rval;
10928
   49a28:       00499540        call    49954 
10929
   49a2c:       e0fffe17        ldw     r3,-8(fp)
10930
   49a30:       00c7c83a        sub     r3,zero,r3
10931
   49a34:       10c00015        stw     r3,0(r2)
10932
      return -1;
10933
   49a38:       00bfffc4        movi    r2,-1
10934
   49a3c:       00000606        br      49a58 
10935
    }
10936
    return 0;
10937
   49a40:       0005883a        mov     r2,zero
10938
   49a44:       00000406        br      49a58 
10939
  }
10940
  else
10941
  {
10942
    ALT_ERRNO = EBADFD;
10943
   49a48:       00499540        call    49954 
10944
   49a4c:       00c01444        movi    r3,81
10945
   49a50:       10c00015        stw     r3,0(r2)
10946
    return -1;
10947
   49a54:       00bfffc4        movi    r2,-1
10948
  }
10949
}
10950
   49a58:       e037883a        mov     sp,fp
10951
   49a5c:       dfc00117        ldw     ra,4(sp)
10952
   49a60:       df000017        ldw     fp,0(sp)
10953
   49a64:       dec00204        addi    sp,sp,8
10954
   49a68:       f800283a        ret
10955
 
10956
00049a6c :
10957
 * by the alt_dev_null device. It simple discards all data passed to it, and
10958
 * indicates that the data has been successfully transmitted.
10959
 */
10960
 
10961
static int alt_dev_null_write (alt_fd* fd, const char* ptr, int len)
10962
{
10963
   49a6c:       defffc04        addi    sp,sp,-16
10964
   49a70:       df000315        stw     fp,12(sp)
10965
   49a74:       df000304        addi    fp,sp,12
10966
   49a78:       e13ffd15        stw     r4,-12(fp)
10967
   49a7c:       e17ffe15        stw     r5,-8(fp)
10968
   49a80:       e1bfff15        stw     r6,-4(fp)
10969
  return len;
10970
   49a84:       e0bfff17        ldw     r2,-4(fp)
10971
}
10972
   49a88:       e037883a        mov     sp,fp
10973
   49a8c:       df000017        ldw     fp,0(sp)
10974
   49a90:       dec00104        addi    sp,sp,4
10975
   49a94:       f800283a        ret
10976
 
10977
00049a98 :
10978
#undef errno
10979
 
10980
extern int errno;
10981
 
10982
static ALT_INLINE int* alt_get_errno(void)
10983
{
10984
   49a98:       defffe04        addi    sp,sp,-8
10985
   49a9c:       dfc00115        stw     ra,4(sp)
10986
   49aa0:       df000015        stw     fp,0(sp)
10987
   49aa4:       d839883a        mov     fp,sp
10988
  return ((alt_errno) ? alt_errno() : &errno);
10989
   49aa8:       00800174        movhi   r2,5
10990
   49aac:       10b7d604        addi    r2,r2,-8360
10991
   49ab0:       10800017        ldw     r2,0(r2)
10992
   49ab4:       10000526        beq     r2,zero,49acc 
10993
   49ab8:       00800174        movhi   r2,5
10994
   49abc:       10b7d604        addi    r2,r2,-8360
10995
   49ac0:       10800017        ldw     r2,0(r2)
10996
   49ac4:       103ee83a        callr   r2
10997
   49ac8:       00000206        br      49ad4 
10998
   49acc:       00800174        movhi   r2,5
10999
   49ad0:       10be7704        addi    r2,r2,-1572
11000
}
11001
   49ad4:       e037883a        mov     sp,fp
11002
   49ad8:       dfc00117        ldw     ra,4(sp)
11003
   49adc:       df000017        ldw     fp,0(sp)
11004
   49ae0:       dec00204        addi    sp,sp,8
11005
   49ae4:       f800283a        ret
11006
 
11007
00049ae8 :
11008
}
11009
 
11010
#else /* !ALT_USE_DIRECT_DRIVERS */
11011
 
11012
int ALT_FSTAT (int file, struct stat *st)
11013
{
11014
   49ae8:       defffb04        addi    sp,sp,-20
11015
   49aec:       dfc00415        stw     ra,16(sp)
11016
   49af0:       df000315        stw     fp,12(sp)
11017
   49af4:       df000304        addi    fp,sp,12
11018
   49af8:       e13ffe15        stw     r4,-8(fp)
11019
   49afc:       e17fff15        stw     r5,-4(fp)
11020
   * A common error case is that when the file descriptor was created, the call
11021
   * to open() failed resulting in a negative file descriptor. This is trapped
11022
   * below so that we don't try and process an invalid file descriptor.
11023
   */
11024
 
11025
  fd = (file < 0) ? NULL : &alt_fd_list[file];
11026
   49b00:       e0bffe17        ldw     r2,-8(fp)
11027
   49b04:       10000616        blt     r2,zero,49b20 
11028
   49b08:       e0bffe17        ldw     r2,-8(fp)
11029
   49b0c:       10c00324        muli    r3,r2,12
11030
   49b10:       00800174        movhi   r2,5
11031
   49b14:       10b35404        addi    r2,r2,-12976
11032
   49b18:       1885883a        add     r2,r3,r2
11033
   49b1c:       00000106        br      49b24 
11034
   49b20:       0005883a        mov     r2,zero
11035
   49b24:       e0bffd15        stw     r2,-12(fp)
11036
 
11037
  if (fd)
11038
   49b28:       e0bffd17        ldw     r2,-12(fp)
11039
   49b2c:       10001026        beq     r2,zero,49b70 
11040
  {
11041
    /* Call the drivers fstat() function to fill out the "st" structure. */
11042
 
11043
    if (fd->dev->fstat)
11044
   49b30:       e0bffd17        ldw     r2,-12(fp)
11045
   49b34:       10800017        ldw     r2,0(r2)
11046
   49b38:       10800817        ldw     r2,32(r2)
11047
   49b3c:       10000726        beq     r2,zero,49b5c 
11048
    {
11049
      return fd->dev->fstat(fd, st);
11050
   49b40:       e0bffd17        ldw     r2,-12(fp)
11051
   49b44:       10800017        ldw     r2,0(r2)
11052
   49b48:       10800817        ldw     r2,32(r2)
11053
   49b4c:       e13ffd17        ldw     r4,-12(fp)
11054
   49b50:       e17fff17        ldw     r5,-4(fp)
11055
   49b54:       103ee83a        callr   r2
11056
   49b58:       00000906        br      49b80 
11057
     * device.
11058
     */
11059
 
11060
    else
11061
    {
11062
      st->st_mode = _IFCHR;
11063
   49b5c:       e0bfff17        ldw     r2,-4(fp)
11064
   49b60:       00c80004        movi    r3,8192
11065
   49b64:       10c00115        stw     r3,4(r2)
11066
      return 0;
11067
   49b68:       0005883a        mov     r2,zero
11068
   49b6c:       00000406        br      49b80 
11069
    }
11070
  }
11071
  else
11072
  {
11073
    ALT_ERRNO = EBADFD;
11074
   49b70:       0049a980        call    49a98 
11075
   49b74:       00c01444        movi    r3,81
11076
   49b78:       10c00015        stw     r3,0(r2)
11077
    return -1;
11078
   49b7c:       00bfffc4        movi    r2,-1
11079
  }
11080
}
11081
   49b80:       e037883a        mov     sp,fp
11082
   49b84:       dfc00117        ldw     ra,4(sp)
11083
   49b88:       df000017        ldw     fp,0(sp)
11084
   49b8c:       dec00204        addi    sp,sp,8
11085
   49b90:       f800283a        ret
11086
 
11087
00049b94 :
11088
#undef errno
11089
 
11090
extern int errno;
11091
 
11092
static ALT_INLINE int* alt_get_errno(void)
11093
{
11094
   49b94:       defffe04        addi    sp,sp,-8
11095
   49b98:       dfc00115        stw     ra,4(sp)
11096
   49b9c:       df000015        stw     fp,0(sp)
11097
   49ba0:       d839883a        mov     fp,sp
11098
  return ((alt_errno) ? alt_errno() : &errno);
11099
   49ba4:       00800174        movhi   r2,5
11100
   49ba8:       10b7d604        addi    r2,r2,-8360
11101
   49bac:       10800017        ldw     r2,0(r2)
11102
   49bb0:       10000526        beq     r2,zero,49bc8 
11103
   49bb4:       00800174        movhi   r2,5
11104
   49bb8:       10b7d604        addi    r2,r2,-8360
11105
   49bbc:       10800017        ldw     r2,0(r2)
11106
   49bc0:       103ee83a        callr   r2
11107
   49bc4:       00000206        br      49bd0 
11108
   49bc8:       00800174        movhi   r2,5
11109
   49bcc:       10be7704        addi    r2,r2,-1572
11110
}
11111
   49bd0:       e037883a        mov     sp,fp
11112
   49bd4:       dfc00117        ldw     ra,4(sp)
11113
   49bd8:       df000017        ldw     fp,0(sp)
11114
   49bdc:       dec00204        addi    sp,sp,8
11115
   49be0:       f800283a        ret
11116
 
11117
00049be4 :
11118
 *
11119
 * ALT_ISATTY is mapped onto the isatty() system call in alt_syscall.h
11120
 */
11121
 
11122
int ALT_ISATTY (int file)
11123
{
11124
   49be4:       deffed04        addi    sp,sp,-76
11125
   49be8:       dfc01215        stw     ra,72(sp)
11126
   49bec:       df001115        stw     fp,68(sp)
11127
   49bf0:       df001104        addi    fp,sp,68
11128
   49bf4:       e13fff15        stw     r4,-4(fp)
11129
   * A common error case is that when the file descriptor was created, the call
11130
   * to open() failed resulting in a negative file descriptor. This is trapped
11131
   * below so that we don't try and process an invalid file descriptor.
11132
   */
11133
 
11134
  fd = (file < 0) ? NULL : &alt_fd_list[file];
11135
   49bf8:       e0bfff17        ldw     r2,-4(fp)
11136
   49bfc:       10000616        blt     r2,zero,49c18 
11137
   49c00:       e0bfff17        ldw     r2,-4(fp)
11138
   49c04:       10c00324        muli    r3,r2,12
11139
   49c08:       00800174        movhi   r2,5
11140
   49c0c:       10b35404        addi    r2,r2,-12976
11141
   49c10:       1885883a        add     r2,r3,r2
11142
   49c14:       00000106        br      49c1c 
11143
   49c18:       0005883a        mov     r2,zero
11144
   49c1c:       e0bfef15        stw     r2,-68(fp)
11145
 
11146
  if (fd)
11147
   49c20:       e0bfef17        ldw     r2,-68(fp)
11148
   49c24:       10000e26        beq     r2,zero,49c60 
11149
    /*
11150
     * If a device driver does not provide an fstat() function, then it is
11151
     * treated as a terminal device by default.
11152
     */
11153
 
11154
    if (!fd->dev->fstat)
11155
   49c28:       e0bfef17        ldw     r2,-68(fp)
11156
   49c2c:       10800017        ldw     r2,0(r2)
11157
   49c30:       10800817        ldw     r2,32(r2)
11158
   49c34:       1000021e        bne     r2,zero,49c40 
11159
    {
11160
      return 1;
11161
   49c38:       00800044        movi    r2,1
11162
   49c3c:       00000c06        br      49c70 
11163
     * this is called so that the device can identify itself.
11164
     */
11165
 
11166
    else
11167
    {
11168
      fstat (file, &stat);
11169
   49c40:       e0bff004        addi    r2,fp,-64
11170
   49c44:       e13fff17        ldw     r4,-4(fp)
11171
   49c48:       100b883a        mov     r5,r2
11172
   49c4c:       0049ae80        call    49ae8 
11173
      return (stat.st_mode == _IFCHR) ? 1 : 0;
11174
   49c50:       e0bff117        ldw     r2,-60(fp)
11175
   49c54:       10880020        cmpeqi  r2,r2,8192
11176
   49c58:       10803fcc        andi    r2,r2,255
11177
   49c5c:       00000406        br      49c70 
11178
    }
11179
  }
11180
  else
11181
  {
11182
    ALT_ERRNO = EBADFD;
11183
   49c60:       0049b940        call    49b94 
11184
   49c64:       00c01444        movi    r3,81
11185
   49c68:       10c00015        stw     r3,0(r2)
11186
    return 0;
11187
   49c6c:       0005883a        mov     r2,zero
11188
  }
11189
}
11190
   49c70:       e037883a        mov     sp,fp
11191
   49c74:       dfc00117        ldw     ra,4(sp)
11192
   49c78:       df000017        ldw     fp,0(sp)
11193
   49c7c:       dec00204        addi    sp,sp,8
11194
   49c80:       f800283a        ret
11195
 
11196
00049c84 :
11197
 */
11198
 
11199
static void ALT_INLINE alt_load_section (alt_u32* from,
11200
                                         alt_u32* to,
11201
                                         alt_u32* end)
11202
{
11203
   49c84:       defffc04        addi    sp,sp,-16
11204
   49c88:       df000315        stw     fp,12(sp)
11205
   49c8c:       df000304        addi    fp,sp,12
11206
   49c90:       e13ffd15        stw     r4,-12(fp)
11207
   49c94:       e17ffe15        stw     r5,-8(fp)
11208
   49c98:       e1bfff15        stw     r6,-4(fp)
11209
  if (to != from)
11210
   49c9c:       e0fffe17        ldw     r3,-8(fp)
11211
   49ca0:       e0bffd17        ldw     r2,-12(fp)
11212
   49ca4:       18800e26        beq     r3,r2,49ce0 
11213
  {
11214
    while( to != end )
11215
   49ca8:       00000a06        br      49cd4 
11216
    {
11217
      *to++ = *from++;
11218
   49cac:       e0bffd17        ldw     r2,-12(fp)
11219
   49cb0:       10c00017        ldw     r3,0(r2)
11220
   49cb4:       e0bffe17        ldw     r2,-8(fp)
11221
   49cb8:       10c00015        stw     r3,0(r2)
11222
   49cbc:       e0bffe17        ldw     r2,-8(fp)
11223
   49cc0:       10800104        addi    r2,r2,4
11224
   49cc4:       e0bffe15        stw     r2,-8(fp)
11225
   49cc8:       e0bffd17        ldw     r2,-12(fp)
11226
   49ccc:       10800104        addi    r2,r2,4
11227
   49cd0:       e0bffd15        stw     r2,-12(fp)
11228
                                         alt_u32* to,
11229
                                         alt_u32* end)
11230
{
11231
  if (to != from)
11232
  {
11233
    while( to != end )
11234
   49cd4:       e0fffe17        ldw     r3,-8(fp)
11235
   49cd8:       e0bfff17        ldw     r2,-4(fp)
11236
   49cdc:       18bff31e        bne     r3,r2,49cac <__alt_data_end+0xfffe2bac>
11237
    {
11238
      *to++ = *from++;
11239
    }
11240
  }
11241
}
11242
   49ce0:       e037883a        mov     sp,fp
11243
   49ce4:       df000017        ldw     fp,0(sp)
11244
   49ce8:       dec00104        addi    sp,sp,4
11245
   49cec:       f800283a        ret
11246
 
11247
00049cf0 :
11248
 * there is no bootloader, so this application is responsible for loading to
11249
 * RAM any sections that are required.
11250
 */
11251
 
11252
void alt_load (void)
11253
{
11254
   49cf0:       defffe04        addi    sp,sp,-8
11255
   49cf4:       dfc00115        stw     ra,4(sp)
11256
   49cf8:       df000015        stw     fp,0(sp)
11257
   49cfc:       d839883a        mov     fp,sp
11258
  /*
11259
   * Copy the .rwdata section.
11260
   */
11261
 
11262
  alt_load_section (&__flash_rwdata_start,
11263
   49d00:       01000174        movhi   r4,5
11264
   49d04:       2137db04        addi    r4,r4,-8340
11265
   49d08:       01400174        movhi   r5,5
11266
   49d0c:       29714504        addi    r5,r5,-15084
11267
   49d10:       01800174        movhi   r6,5
11268
   49d14:       31b7db04        addi    r6,r6,-8340
11269
   49d18:       0049c840        call    49c84 
11270
 
11271
  /*
11272
   * Copy the exception handler.
11273
   */
11274
 
11275
  alt_load_section (&__flash_exceptions_start,
11276
   49d1c:       01000134        movhi   r4,4
11277
   49d20:       21000804        addi    r4,r4,32
11278
   49d24:       01400134        movhi   r5,4
11279
   49d28:       29400804        addi    r5,r5,32
11280
   49d2c:       01800134        movhi   r6,4
11281
   49d30:       31806e04        addi    r6,r6,440
11282
   49d34:       0049c840        call    49c84 
11283
 
11284
  /*
11285
   * Copy the .rodata section.
11286
   */
11287
 
11288
  alt_load_section (&__flash_rodata_start,
11289
   49d38:       01000174        movhi   r4,5
11290
   49d3c:       21306b04        addi    r4,r4,-15956
11291
   49d40:       01400174        movhi   r5,5
11292
   49d44:       29706b04        addi    r5,r5,-15956
11293
   49d48:       01800174        movhi   r6,5
11294
   49d4c:       31b14504        addi    r6,r6,-15084
11295
   49d50:       0049c840        call    49c84 
11296
 
11297
  /*
11298
   * Now ensure that the caches are in synch.
11299
   */
11300
 
11301
  alt_dcache_flush_all();
11302
   49d54:       004b0ac0        call    4b0ac 
11303
  alt_icache_flush_all();
11304
   49d58:       004b2980        call    4b298 
11305
}
11306
   49d5c:       e037883a        mov     sp,fp
11307
   49d60:       dfc00117        ldw     ra,4(sp)
11308
   49d64:       df000017        ldw     fp,0(sp)
11309
   49d68:       dec00204        addi    sp,sp,8
11310
   49d6c:       f800283a        ret
11311
 
11312
00049d70 :
11313
#undef errno
11314
 
11315
extern int errno;
11316
 
11317
static ALT_INLINE int* alt_get_errno(void)
11318
{
11319
   49d70:       defffe04        addi    sp,sp,-8
11320
   49d74:       dfc00115        stw     ra,4(sp)
11321
   49d78:       df000015        stw     fp,0(sp)
11322
   49d7c:       d839883a        mov     fp,sp
11323
  return ((alt_errno) ? alt_errno() : &errno);
11324
   49d80:       00800174        movhi   r2,5
11325
   49d84:       10b7d604        addi    r2,r2,-8360
11326
   49d88:       10800017        ldw     r2,0(r2)
11327
   49d8c:       10000526        beq     r2,zero,49da4 
11328
   49d90:       00800174        movhi   r2,5
11329
   49d94:       10b7d604        addi    r2,r2,-8360
11330
   49d98:       10800017        ldw     r2,0(r2)
11331
   49d9c:       103ee83a        callr   r2
11332
   49da0:       00000206        br      49dac 
11333
   49da4:       00800174        movhi   r2,5
11334
   49da8:       10be7704        addi    r2,r2,-1572
11335
}
11336
   49dac:       e037883a        mov     sp,fp
11337
   49db0:       dfc00117        ldw     ra,4(sp)
11338
   49db4:       df000017        ldw     fp,0(sp)
11339
   49db8:       dec00204        addi    sp,sp,8
11340
   49dbc:       f800283a        ret
11341
 
11342
00049dc0 :
11343
 * ALT_LSEEK is mapped onto the lseek() system call in alt_syscall.h
11344
 *
11345
 */
11346
 
11347
off_t ALT_LSEEK (int file, off_t ptr, int dir)
11348
{
11349
   49dc0:       defff904        addi    sp,sp,-28
11350
   49dc4:       dfc00615        stw     ra,24(sp)
11351
   49dc8:       df000515        stw     fp,20(sp)
11352
   49dcc:       df000504        addi    fp,sp,20
11353
   49dd0:       e13ffd15        stw     r4,-12(fp)
11354
   49dd4:       e17ffe15        stw     r5,-8(fp)
11355
   49dd8:       e1bfff15        stw     r6,-4(fp)
11356
  alt_fd* fd;
11357
  off_t   rc = 0;
11358
   49ddc:       e03ffb15        stw     zero,-20(fp)
11359
   * A common error case is that when the file descriptor was created, the call
11360
   * to open() failed resulting in a negative file descriptor. This is trapped
11361
   * below so that we don't try and process an invalid file descriptor.
11362
   */
11363
 
11364
  fd = (file < 0) ? NULL : &alt_fd_list[file];
11365
   49de0:       e0bffd17        ldw     r2,-12(fp)
11366
   49de4:       10000616        blt     r2,zero,49e00 
11367
   49de8:       e0bffd17        ldw     r2,-12(fp)
11368
   49dec:       10c00324        muli    r3,r2,12
11369
   49df0:       00800174        movhi   r2,5
11370
   49df4:       10b35404        addi    r2,r2,-12976
11371
   49df8:       1885883a        add     r2,r3,r2
11372
   49dfc:       00000106        br      49e04 
11373
   49e00:       0005883a        mov     r2,zero
11374
   49e04:       e0bffc15        stw     r2,-16(fp)
11375
 
11376
  if (fd)
11377
   49e08:       e0bffc17        ldw     r2,-16(fp)
11378
   49e0c:       10001026        beq     r2,zero,49e50 
11379
    /*
11380
     * If the device driver provides an implementation of the lseek() function,
11381
     * then call that to process the request.
11382
     */
11383
 
11384
    if (fd->dev->lseek)
11385
   49e10:       e0bffc17        ldw     r2,-16(fp)
11386
   49e14:       10800017        ldw     r2,0(r2)
11387
   49e18:       10800717        ldw     r2,28(r2)
11388
   49e1c:       10000926        beq     r2,zero,49e44 
11389
    {
11390
      rc = fd->dev->lseek(fd, ptr, dir);
11391
   49e20:       e0bffc17        ldw     r2,-16(fp)
11392
   49e24:       10800017        ldw     r2,0(r2)
11393
   49e28:       10800717        ldw     r2,28(r2)
11394
   49e2c:       e13ffc17        ldw     r4,-16(fp)
11395
   49e30:       e17ffe17        ldw     r5,-8(fp)
11396
   49e34:       e1bfff17        ldw     r6,-4(fp)
11397
   49e38:       103ee83a        callr   r2
11398
   49e3c:       e0bffb15        stw     r2,-20(fp)
11399
   49e40:       00000506        br      49e58 
11400
     * Otherwise return an error.
11401
     */
11402
 
11403
    else
11404
    {
11405
      rc = -ENOTSUP;
11406
   49e44:       00bfde84        movi    r2,-134
11407
   49e48:       e0bffb15        stw     r2,-20(fp)
11408
   49e4c:       00000206        br      49e58 
11409
    }
11410
  }
11411
  else
11412
  {
11413
    rc = -EBADFD;
11414
   49e50:       00bfebc4        movi    r2,-81
11415
   49e54:       e0bffb15        stw     r2,-20(fp)
11416
  }
11417
 
11418
  if (rc < 0)
11419
   49e58:       e0bffb17        ldw     r2,-20(fp)
11420
   49e5c:       1000060e        bge     r2,zero,49e78 
11421
  {
11422
    ALT_ERRNO = -rc;
11423
   49e60:       0049d700        call    49d70 
11424
   49e64:       e0fffb17        ldw     r3,-20(fp)
11425
   49e68:       00c7c83a        sub     r3,zero,r3
11426
   49e6c:       10c00015        stw     r3,0(r2)
11427
    rc = -1;
11428
   49e70:       00bfffc4        movi    r2,-1
11429
   49e74:       e0bffb15        stw     r2,-20(fp)
11430
  }
11431
 
11432
  return rc;
11433
   49e78:       e0bffb17        ldw     r2,-20(fp)
11434
}
11435
   49e7c:       e037883a        mov     sp,fp
11436
   49e80:       dfc00117        ldw     ra,4(sp)
11437
   49e84:       df000017        ldw     fp,0(sp)
11438
   49e88:       dec00204        addi    sp,sp,8
11439
   49e8c:       f800283a        ret
11440
 
11441
00049e90 :
11442
 * devices/filesystems/components in the system; and call the entry point for
11443
 * the users application, i.e. main().
11444
 */
11445
 
11446
void alt_main (void)
11447
{
11448
   49e90:       defffd04        addi    sp,sp,-12
11449
   49e94:       dfc00215        stw     ra,8(sp)
11450
   49e98:       df000115        stw     fp,4(sp)
11451
   49e9c:       df000104        addi    fp,sp,4
11452
#endif
11453
 
11454
  /* ALT LOG - please see HAL/sys/alt_log_printf.h for details */
11455
  ALT_LOG_PRINT_BOOT("[alt_main.c] Entering alt_main, calling alt_irq_init.\r\n");
11456
  /* Initialize the interrupt controller. */
11457
  alt_irq_init (NULL);
11458
   49ea0:       0009883a        mov     r4,zero
11459
   49ea4:       004a33c0        call    4a33c 
11460
 
11461
  /* Initialize the operating system */
11462
  ALT_LOG_PRINT_BOOT("[alt_main.c] Done alt_irq_init, calling alt_os_init.\r\n");
11463
  ALT_OS_INIT();
11464
   49ea8:       0001883a        nop
11465
  ALT_LOG_PRINT_BOOT("[alt_main.c] Done OS Init, calling alt_sem_create.\r\n");
11466
  ALT_SEM_CREATE (&alt_fd_list_lock, 1);
11467
 
11468
  /* Initialize the device drivers/software components. */
11469
  ALT_LOG_PRINT_BOOT("[alt_main.c] Calling alt_sys_init.\r\n");
11470
  alt_sys_init();
11471
   49eac:       004a3700        call    4a370 
11472
   * devices be present (not equal to /dev/null) and if direct drivers
11473
   * aren't being used.
11474
   */
11475
 
11476
    ALT_LOG_PRINT_BOOT("[alt_main.c] Redirecting IO.\r\n");
11477
    alt_io_redirect(ALT_STDOUT, ALT_STDIN, ALT_STDERR);
11478
   49eb0:       01000174        movhi   r4,5
11479
   49eb4:       21313d04        addi    r4,r4,-15116
11480
   49eb8:       01400174        movhi   r5,5
11481
   49ebc:       29713d04        addi    r5,r5,-15116
11482
   49ec0:       01800174        movhi   r6,5
11483
   49ec4:       31b13d04        addi    r6,r6,-15116
11484
   49ec8:       004b6500        call    4b650 
11485
  /*
11486
   * Call the C++ constructors
11487
   */
11488
 
11489
  ALT_LOG_PRINT_BOOT("[alt_main.c] Calling C++ constructors.\r\n");
11490
  _do_ctors ();
11491
   49ecc:       004b1e00        call    4b1e0 <_do_ctors>
11492
   * redefined as _exit()). This is in the interest of reducing code footprint,
11493
   * in that the atexit() overhead is removed when it's not needed.
11494
   */
11495
 
11496
  ALT_LOG_PRINT_BOOT("[alt_main.c] Calling atexit.\r\n");
11497
  atexit (_do_dtors);
11498
   49ed0:       01000174        movhi   r4,5
11499
   49ed4:       212c8f04        addi    r4,r4,-19908
11500
   49ed8:       004bdd80        call    4bdd8 
11501
  ALT_LOG_PRINT_BOOT("[alt_main.c] Calling main.\r\n");
11502
 
11503
#ifdef ALT_NO_EXIT
11504
  main (alt_argc, alt_argv, alt_envp);
11505
#else
11506
  result = main (alt_argc, alt_argv, alt_envp);
11507
   49edc:       d126ac17        ldw     r4,-25936(gp)
11508
   49ee0:       d0e6ad17        ldw     r3,-25932(gp)
11509
   49ee4:       d0a6ae17        ldw     r2,-25928(gp)
11510
   49ee8:       180b883a        mov     r5,r3
11511
   49eec:       100d883a        mov     r6,r2
11512
   49ef0:       00402040        call    40204 
11513
   49ef4:       e0bfff15        stw     r2,-4(fp)
11514
  close(STDOUT_FILENO);
11515
   49ef8:       01000044        movi    r4,1
11516
   49efc:       00499a40        call    499a4 
11517
  exit (result);
11518
   49f00:       e13fff17        ldw     r4,-4(fp)
11519
   49f04:       004bdec0        call    4bdec 
11520
 
11521
00049f08 <__malloc_lock>:
11522
 * configuration is single threaded, so there is nothing to do here. Note that
11523
 * this requires that malloc is never called by an interrupt service routine.
11524
 */
11525
 
11526
void __malloc_lock ( struct _reent *_r )
11527
{
11528
   49f08:       defffe04        addi    sp,sp,-8
11529
   49f0c:       df000115        stw     fp,4(sp)
11530
   49f10:       df000104        addi    fp,sp,4
11531
   49f14:       e13fff15        stw     r4,-4(fp)
11532
}
11533
   49f18:       e037883a        mov     sp,fp
11534
   49f1c:       df000017        ldw     fp,0(sp)
11535
   49f20:       dec00104        addi    sp,sp,4
11536
   49f24:       f800283a        ret
11537
 
11538
00049f28 <__malloc_unlock>:
11539
/*
11540
 *
11541
 */
11542
 
11543
void __malloc_unlock ( struct _reent *_r )
11544
{
11545
   49f28:       defffe04        addi    sp,sp,-8
11546
   49f2c:       df000115        stw     fp,4(sp)
11547
   49f30:       df000104        addi    fp,sp,4
11548
   49f34:       e13fff15        stw     r4,-4(fp)
11549
}
11550
   49f38:       e037883a        mov     sp,fp
11551
   49f3c:       df000017        ldw     fp,0(sp)
11552
   49f40:       dec00104        addi    sp,sp,4
11553
   49f44:       f800283a        ret
11554
 
11555
00049f48 :
11556
#undef errno
11557
 
11558
extern int errno;
11559
 
11560
static ALT_INLINE int* alt_get_errno(void)
11561
{
11562
   49f48:       defffe04        addi    sp,sp,-8
11563
   49f4c:       dfc00115        stw     ra,4(sp)
11564
   49f50:       df000015        stw     fp,0(sp)
11565
   49f54:       d839883a        mov     fp,sp
11566
  return ((alt_errno) ? alt_errno() : &errno);
11567
   49f58:       00800174        movhi   r2,5
11568
   49f5c:       10b7d604        addi    r2,r2,-8360
11569
   49f60:       10800017        ldw     r2,0(r2)
11570
   49f64:       10000526        beq     r2,zero,49f7c 
11571
   49f68:       00800174        movhi   r2,5
11572
   49f6c:       10b7d604        addi    r2,r2,-8360
11573
   49f70:       10800017        ldw     r2,0(r2)
11574
   49f74:       103ee83a        callr   r2
11575
   49f78:       00000206        br      49f84 
11576
   49f7c:       00800174        movhi   r2,5
11577
   49f80:       10be7704        addi    r2,r2,-1572
11578
}
11579
   49f84:       e037883a        mov     sp,fp
11580
   49f88:       dfc00117        ldw     ra,4(sp)
11581
   49f8c:       df000017        ldw     fp,0(sp)
11582
   49f90:       dec00204        addi    sp,sp,8
11583
   49f94:       f800283a        ret
11584
 
11585
00049f98 :
11586
}
11587
 
11588
#else /* !ALT_USE_DIRECT_DRIVERS */
11589
 
11590
int ALT_READ (int file, void *ptr, size_t len)
11591
{
11592
   49f98:       defff904        addi    sp,sp,-28
11593
   49f9c:       dfc00615        stw     ra,24(sp)
11594
   49fa0:       df000515        stw     fp,20(sp)
11595
   49fa4:       df000504        addi    fp,sp,20
11596
   49fa8:       e13ffd15        stw     r4,-12(fp)
11597
   49fac:       e17ffe15        stw     r5,-8(fp)
11598
   49fb0:       e1bfff15        stw     r6,-4(fp)
11599
   * A common error case is that when the file descriptor was created, the call
11600
   * to open() failed resulting in a negative file descriptor. This is trapped
11601
   * below so that we don't try and process an invalid file descriptor.
11602
   */
11603
 
11604
  fd = (file < 0) ? NULL : &alt_fd_list[file];
11605
   49fb4:       e0bffd17        ldw     r2,-12(fp)
11606
   49fb8:       10000616        blt     r2,zero,49fd4 
11607
   49fbc:       e0bffd17        ldw     r2,-12(fp)
11608
   49fc0:       10c00324        muli    r3,r2,12
11609
   49fc4:       00800174        movhi   r2,5
11610
   49fc8:       10b35404        addi    r2,r2,-12976
11611
   49fcc:       1885883a        add     r2,r3,r2
11612
   49fd0:       00000106        br      49fd8 
11613
   49fd4:       0005883a        mov     r2,zero
11614
   49fd8:       e0bffb15        stw     r2,-20(fp)
11615
 
11616
  if (fd)
11617
   49fdc:       e0bffb17        ldw     r2,-20(fp)
11618
   49fe0:       10002026        beq     r2,zero,4a064 
11619
     * If the file has not been opened with read access, or if the driver does
11620
     * not provide an implementation of read(), generate an error. Otherwise
11621
     * call the drivers read() function to process the request.
11622
     */
11623
 
11624
    if (((fd->fd_flags & O_ACCMODE) != O_WRONLY) &&
11625
   49fe4:       e0bffb17        ldw     r2,-20(fp)
11626
   49fe8:       10800217        ldw     r2,8(r2)
11627
   49fec:       108000cc        andi    r2,r2,3
11628
   49ff0:       10800060        cmpeqi  r2,r2,1
11629
   49ff4:       1000171e        bne     r2,zero,4a054 
11630
        (fd->dev->read))
11631
   49ff8:       e0bffb17        ldw     r2,-20(fp)
11632
   49ffc:       10800017        ldw     r2,0(r2)
11633
   4a000:       10800517        ldw     r2,20(r2)
11634
     * If the file has not been opened with read access, or if the driver does
11635
     * not provide an implementation of read(), generate an error. Otherwise
11636
     * call the drivers read() function to process the request.
11637
     */
11638
 
11639
    if (((fd->fd_flags & O_ACCMODE) != O_WRONLY) &&
11640
   4a004:       10001326        beq     r2,zero,4a054 
11641
        (fd->dev->read))
11642
      {
11643
        if ((rval = fd->dev->read(fd, ptr, len)) < 0)
11644
   4a008:       e0bffb17        ldw     r2,-20(fp)
11645
   4a00c:       10800017        ldw     r2,0(r2)
11646
   4a010:       10c00517        ldw     r3,20(r2)
11647
   4a014:       e0bfff17        ldw     r2,-4(fp)
11648
   4a018:       e13ffb17        ldw     r4,-20(fp)
11649
   4a01c:       e17ffe17        ldw     r5,-8(fp)
11650
   4a020:       100d883a        mov     r6,r2
11651
   4a024:       183ee83a        callr   r3
11652
   4a028:       e0bffc15        stw     r2,-16(fp)
11653
   4a02c:       e0bffc17        ldw     r2,-16(fp)
11654
   4a030:       1000060e        bge     r2,zero,4a04c 
11655
        {
11656
          ALT_ERRNO = -rval;
11657
   4a034:       0049f480        call    49f48 
11658
   4a038:       e0fffc17        ldw     r3,-16(fp)
11659
   4a03c:       00c7c83a        sub     r3,zero,r3
11660
   4a040:       10c00015        stw     r3,0(r2)
11661
          return -1;
11662
   4a044:       00bfffc4        movi    r2,-1
11663
   4a048:       00000a06        br      4a074 
11664
        }
11665
        return rval;
11666
   4a04c:       e0bffc17        ldw     r2,-16(fp)
11667
   4a050:       00000806        br      4a074 
11668
      }
11669
      else
11670
      {
11671
        ALT_ERRNO = EACCES;
11672
   4a054:       0049f480        call    49f48 
11673
   4a058:       00c00344        movi    r3,13
11674
   4a05c:       10c00015        stw     r3,0(r2)
11675
   4a060:       00000306        br      4a070 
11676
      }
11677
    }
11678
  else
11679
  {
11680
    ALT_ERRNO = EBADFD;
11681
   4a064:       0049f480        call    49f48 
11682
   4a068:       00c01444        movi    r3,81
11683
   4a06c:       10c00015        stw     r3,0(r2)
11684
  }
11685
  return -1;
11686
   4a070:       00bfffc4        movi    r2,-1
11687
}
11688
   4a074:       e037883a        mov     sp,fp
11689
   4a078:       dfc00117        ldw     ra,4(sp)
11690
   4a07c:       df000017        ldw     fp,0(sp)
11691
   4a080:       dec00204        addi    sp,sp,8
11692
   4a084:       f800283a        ret
11693
 
11694
0004a088 :
11695
 * File descriptors correcponding to standard in, standard out and standard
11696
 * error cannont be released backed to the pool. They are always reserved.
11697
 */
11698
 
11699
void alt_release_fd (int fd)
11700
{
11701
   4a088:       defffe04        addi    sp,sp,-8
11702
   4a08c:       df000115        stw     fp,4(sp)
11703
   4a090:       df000104        addi    fp,sp,4
11704
   4a094:       e13fff15        stw     r4,-4(fp)
11705
  if (fd > 2)
11706
   4a098:       e0bfff17        ldw     r2,-4(fp)
11707
   4a09c:       108000d0        cmplti  r2,r2,3
11708
   4a0a0:       10000d1e        bne     r2,zero,4a0d8 
11709
  {
11710
    alt_fd_list[fd].fd_flags = 0;
11711
   4a0a4:       00c00174        movhi   r3,5
11712
   4a0a8:       18f35404        addi    r3,r3,-12976
11713
   4a0ac:       e0bfff17        ldw     r2,-4(fp)
11714
   4a0b0:       10800324        muli    r2,r2,12
11715
   4a0b4:       1885883a        add     r2,r3,r2
11716
   4a0b8:       10800204        addi    r2,r2,8
11717
   4a0bc:       10000015        stw     zero,0(r2)
11718
    alt_fd_list[fd].dev      = 0;
11719
   4a0c0:       00c00174        movhi   r3,5
11720
   4a0c4:       18f35404        addi    r3,r3,-12976
11721
   4a0c8:       e0bfff17        ldw     r2,-4(fp)
11722
   4a0cc:       10800324        muli    r2,r2,12
11723
   4a0d0:       1885883a        add     r2,r3,r2
11724
   4a0d4:       10000015        stw     zero,0(r2)
11725
  }
11726
}
11727
   4a0d8:       e037883a        mov     sp,fp
11728
   4a0dc:       df000017        ldw     fp,0(sp)
11729
   4a0e0:       dec00104        addi    sp,sp,4
11730
   4a0e4:       f800283a        ret
11731
 
11732
0004a0e8 :
11733
#endif
11734
 
11735
caddr_t ALT_SBRK (int incr) __attribute__ ((no_instrument_function ));
11736
 
11737
caddr_t ALT_SBRK (int incr)
11738
{
11739
   4a0e8:       defff904        addi    sp,sp,-28
11740
   4a0ec:       df000615        stw     fp,24(sp)
11741
   4a0f0:       df000604        addi    fp,sp,24
11742
   4a0f4:       e13fff15        stw     r4,-4(fp)
11743
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
11744
       alt_irq_disable_all (void)
11745
{
11746
  alt_irq_context context;
11747
 
11748
  NIOS2_READ_STATUS (context);
11749
   4a0f8:       0005303a        rdctl   r2,status
11750
   4a0fc:       e0bffc15        stw     r2,-16(fp)
11751
 
11752
  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
11753
   4a100:       e0fffc17        ldw     r3,-16(fp)
11754
   4a104:       00bfff84        movi    r2,-2
11755
   4a108:       1884703a        and     r2,r3,r2
11756
   4a10c:       1001703a        wrctl   status,r2
11757
 
11758
  return context;
11759
   4a110:       e0bffc17        ldw     r2,-16(fp)
11760
  alt_irq_context context;
11761
  char *prev_heap_end;
11762
 
11763
  context = alt_irq_disable_all();
11764
   4a114:       e0bffa15        stw     r2,-24(fp)
11765
 
11766
  /* Always return data aligned on a word boundary */
11767
  heap_end = (char *)(((unsigned int)heap_end + 3) & ~3);
11768
   4a118:       d0a00b17        ldw     r2,-32724(gp)
11769
   4a11c:       10c000c4        addi    r3,r2,3
11770
   4a120:       00bfff04        movi    r2,-4
11771
   4a124:       1884703a        and     r2,r3,r2
11772
   4a128:       d0a00b15        stw     r2,-32724(gp)
11773
  if (((heap_end + incr) - __alt_heap_start) > ALT_MAX_HEAP_BYTES) {
11774
    alt_irq_enable_all(context);
11775
    return (caddr_t)-1;
11776
  }
11777
#else
11778
  if ((heap_end + incr) > __alt_heap_limit) {
11779
   4a12c:       d0e00b17        ldw     r3,-32724(gp)
11780
   4a130:       e0bfff17        ldw     r2,-4(fp)
11781
   4a134:       1885883a        add     r2,r3,r2
11782
   4a138:       00c001b4        movhi   r3,6
11783
   4a13c:       18dc4004        addi    r3,r3,28928
11784
   4a140:       1880062e        bgeu    r3,r2,4a15c 
11785
   4a144:       e0bffa17        ldw     r2,-24(fp)
11786
   4a148:       e0bffd15        stw     r2,-12(fp)
11787
  status &= ~NIOS2_STATUS_PIE_MSK;
11788
  status |= (context & NIOS2_STATUS_PIE_MSK);
11789
 
11790
  NIOS2_WRITE_STATUS (status);
11791
#else
11792
  NIOS2_WRITE_STATUS (context);
11793
   4a14c:       e0bffd17        ldw     r2,-12(fp)
11794
   4a150:       1001703a        wrctl   status,r2
11795
    alt_irq_enable_all(context);
11796
    return (caddr_t)-1;
11797
   4a154:       00bfffc4        movi    r2,-1
11798
   4a158:       00000b06        br      4a188 
11799
  }
11800
#endif
11801
 
11802
  prev_heap_end = heap_end;
11803
   4a15c:       d0a00b17        ldw     r2,-32724(gp)
11804
   4a160:       e0bffb15        stw     r2,-20(fp)
11805
  heap_end += incr;
11806
   4a164:       d0e00b17        ldw     r3,-32724(gp)
11807
   4a168:       e0bfff17        ldw     r2,-4(fp)
11808
   4a16c:       1885883a        add     r2,r3,r2
11809
   4a170:       d0a00b15        stw     r2,-32724(gp)
11810
   4a174:       e0bffa17        ldw     r2,-24(fp)
11811
   4a178:       e0bffe15        stw     r2,-8(fp)
11812
   4a17c:       e0bffe17        ldw     r2,-8(fp)
11813
   4a180:       1001703a        wrctl   status,r2
11814
 
11815
#endif
11816
 
11817
  alt_irq_enable_all(context);
11818
 
11819
  return (caddr_t) prev_heap_end;
11820
   4a184:       e0bffb17        ldw     r2,-20(fp)
11821
}
11822
   4a188:       e037883a        mov     sp,fp
11823
   4a18c:       df000017        ldw     fp,0(sp)
11824
   4a190:       dec00104        addi    sp,sp,4
11825
   4a194:       f800283a        ret
11826
 
11827
0004a198 :
11828
#if defined (__GNUC__) && __GNUC__ >= 4
11829
int ALT_USLEEP (useconds_t us)
11830
#else
11831
unsigned int ALT_USLEEP (unsigned int us)
11832
#endif
11833
{
11834
   4a198:       defffd04        addi    sp,sp,-12
11835
   4a19c:       dfc00215        stw     ra,8(sp)
11836
   4a1a0:       df000115        stw     fp,4(sp)
11837
   4a1a4:       df000104        addi    fp,sp,4
11838
   4a1a8:       e13fff15        stw     r4,-4(fp)
11839
  return alt_busy_sleep(us);
11840
   4a1ac:       e13fff17        ldw     r4,-4(fp)
11841
   4a1b0:       004af580        call    4af58 
11842
}
11843
   4a1b4:       e037883a        mov     sp,fp
11844
   4a1b8:       dfc00117        ldw     ra,4(sp)
11845
   4a1bc:       df000017        ldw     fp,0(sp)
11846
   4a1c0:       dec00204        addi    sp,sp,8
11847
   4a1c4:       f800283a        ret
11848
 
11849
0004a1c8 :
11850
#undef errno
11851
 
11852
extern int errno;
11853
 
11854
static ALT_INLINE int* alt_get_errno(void)
11855
{
11856
   4a1c8:       defffe04        addi    sp,sp,-8
11857
   4a1cc:       dfc00115        stw     ra,4(sp)
11858
   4a1d0:       df000015        stw     fp,0(sp)
11859
   4a1d4:       d839883a        mov     fp,sp
11860
  return ((alt_errno) ? alt_errno() : &errno);
11861
   4a1d8:       00800174        movhi   r2,5
11862
   4a1dc:       10b7d604        addi    r2,r2,-8360
11863
   4a1e0:       10800017        ldw     r2,0(r2)
11864
   4a1e4:       10000526        beq     r2,zero,4a1fc 
11865
   4a1e8:       00800174        movhi   r2,5
11866
   4a1ec:       10b7d604        addi    r2,r2,-8360
11867
   4a1f0:       10800017        ldw     r2,0(r2)
11868
   4a1f4:       103ee83a        callr   r2
11869
   4a1f8:       00000206        br      4a204 
11870
   4a1fc:       00800174        movhi   r2,5
11871
   4a200:       10be7704        addi    r2,r2,-1572
11872
}
11873
   4a204:       e037883a        mov     sp,fp
11874
   4a208:       dfc00117        ldw     ra,4(sp)
11875
   4a20c:       df000017        ldw     fp,0(sp)
11876
   4a210:       dec00204        addi    sp,sp,8
11877
   4a214:       f800283a        ret
11878
 
11879
0004a218 :
11880
}
11881
 
11882
#else /* !ALT_USE_DIRECT_DRIVERS */
11883
 
11884
int ALT_WRITE (int file, const void *ptr, size_t len)
11885
{
11886
   4a218:       defff904        addi    sp,sp,-28
11887
   4a21c:       dfc00615        stw     ra,24(sp)
11888
   4a220:       df000515        stw     fp,20(sp)
11889
   4a224:       df000504        addi    fp,sp,20
11890
   4a228:       e13ffd15        stw     r4,-12(fp)
11891
   4a22c:       e17ffe15        stw     r5,-8(fp)
11892
   4a230:       e1bfff15        stw     r6,-4(fp)
11893
   * A common error case is that when the file descriptor was created, the call
11894
   * to open() failed resulting in a negative file descriptor. This is trapped
11895
   * below so that we don't try and process an invalid file descriptor.
11896
   */
11897
 
11898
  fd = (file < 0) ? NULL : &alt_fd_list[file];
11899
   4a234:       e0bffd17        ldw     r2,-12(fp)
11900
   4a238:       10000616        blt     r2,zero,4a254 
11901
   4a23c:       e0bffd17        ldw     r2,-12(fp)
11902
   4a240:       10c00324        muli    r3,r2,12
11903
   4a244:       00800174        movhi   r2,5
11904
   4a248:       10b35404        addi    r2,r2,-12976
11905
   4a24c:       1885883a        add     r2,r3,r2
11906
   4a250:       00000106        br      4a258 
11907
   4a254:       0005883a        mov     r2,zero
11908
   4a258:       e0bffb15        stw     r2,-20(fp)
11909
 
11910
  if (fd)
11911
   4a25c:       e0bffb17        ldw     r2,-20(fp)
11912
   4a260:       10001f26        beq     r2,zero,4a2e0 
11913
     * If the file has not been opened with write access, or if the driver does
11914
     * not provide an implementation of write(), generate an error. Otherwise
11915
     * call the drivers write() function to process the request.
11916
     */
11917
 
11918
    if (((fd->fd_flags & O_ACCMODE) != O_RDONLY) && fd->dev->write)
11919
   4a264:       e0bffb17        ldw     r2,-20(fp)
11920
   4a268:       10800217        ldw     r2,8(r2)
11921
   4a26c:       108000cc        andi    r2,r2,3
11922
   4a270:       10001726        beq     r2,zero,4a2d0 
11923
   4a274:       e0bffb17        ldw     r2,-20(fp)
11924
   4a278:       10800017        ldw     r2,0(r2)
11925
   4a27c:       10800617        ldw     r2,24(r2)
11926
   4a280:       10001326        beq     r2,zero,4a2d0 
11927
    {
11928
 
11929
      /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */
11930
      ALT_LOG_WRITE_FUNCTION(ptr,len);
11931
 
11932
      if ((rval = fd->dev->write(fd, ptr, len)) < 0)
11933
   4a284:       e0bffb17        ldw     r2,-20(fp)
11934
   4a288:       10800017        ldw     r2,0(r2)
11935
   4a28c:       10c00617        ldw     r3,24(r2)
11936
   4a290:       e0bfff17        ldw     r2,-4(fp)
11937
   4a294:       e13ffb17        ldw     r4,-20(fp)
11938
   4a298:       e17ffe17        ldw     r5,-8(fp)
11939
   4a29c:       100d883a        mov     r6,r2
11940
   4a2a0:       183ee83a        callr   r3
11941
   4a2a4:       e0bffc15        stw     r2,-16(fp)
11942
   4a2a8:       e0bffc17        ldw     r2,-16(fp)
11943
   4a2ac:       1000060e        bge     r2,zero,4a2c8 
11944
      {
11945
        ALT_ERRNO = -rval;
11946
   4a2b0:       004a1c80        call    4a1c8 
11947
   4a2b4:       e0fffc17        ldw     r3,-16(fp)
11948
   4a2b8:       00c7c83a        sub     r3,zero,r3
11949
   4a2bc:       10c00015        stw     r3,0(r2)
11950
        return -1;
11951
   4a2c0:       00bfffc4        movi    r2,-1
11952
   4a2c4:       00000a06        br      4a2f0 
11953
      }
11954
      return rval;
11955
   4a2c8:       e0bffc17        ldw     r2,-16(fp)
11956
   4a2cc:       00000806        br      4a2f0 
11957
    }
11958
    else
11959
    {
11960
      ALT_ERRNO = EACCES;
11961
   4a2d0:       004a1c80        call    4a1c8 
11962
   4a2d4:       00c00344        movi    r3,13
11963
   4a2d8:       10c00015        stw     r3,0(r2)
11964
   4a2dc:       00000306        br      4a2ec 
11965
    }
11966
  }
11967
  else
11968
  {
11969
    ALT_ERRNO = EBADFD;
11970
   4a2e0:       004a1c80        call    4a1c8 
11971
   4a2e4:       00c01444        movi    r3,81
11972
   4a2e8:       10c00015        stw     r3,0(r2)
11973
  }
11974
  return -1;
11975
   4a2ec:       00bfffc4        movi    r2,-1
11976
}
11977
   4a2f0:       e037883a        mov     sp,fp
11978
   4a2f4:       dfc00117        ldw     ra,4(sp)
11979
   4a2f8:       df000017        ldw     fp,0(sp)
11980
   4a2fc:       dec00204        addi    sp,sp,8
11981
   4a300:       f800283a        ret
11982
 
11983
0004a304 :
11984
 */
11985
 
11986
extern int alt_fs_reg  (alt_dev* dev);
11987
 
11988
static ALT_INLINE int alt_dev_reg (alt_dev* dev)
11989
{
11990
   4a304:       defffd04        addi    sp,sp,-12
11991
   4a308:       dfc00215        stw     ra,8(sp)
11992
   4a30c:       df000115        stw     fp,4(sp)
11993
   4a310:       df000104        addi    fp,sp,4
11994
   4a314:       e13fff15        stw     r4,-4(fp)
11995
  extern alt_llist alt_dev_list;
11996
 
11997
  return alt_dev_llist_insert ((alt_dev_llist*) dev, &alt_dev_list);
11998
   4a318:       e13fff17        ldw     r4,-4(fp)
11999
   4a31c:       01400174        movhi   r5,5
12000
   4a320:       2977d304        addi    r5,r5,-8372
12001
   4a324:       004b1400        call    4b140 
12002
}
12003
   4a328:       e037883a        mov     sp,fp
12004
   4a32c:       dfc00117        ldw     ra,4(sp)
12005
   4a330:       df000017        ldw     fp,0(sp)
12006
   4a334:       dec00204        addi    sp,sp,8
12007
   4a338:       f800283a        ret
12008
 
12009
0004a33c :
12010
 * The "base" parameter is ignored and only
12011
 * present for backwards-compatibility.
12012
 */
12013
 
12014
void alt_irq_init ( const void* base )
12015
{
12016
   4a33c:       defffd04        addi    sp,sp,-12
12017
   4a340:       dfc00215        stw     ra,8(sp)
12018
   4a344:       df000115        stw     fp,4(sp)
12019
   4a348:       df000104        addi    fp,sp,4
12020
   4a34c:       e13fff15        stw     r4,-4(fp)
12021
    ALTERA_NIOS2_QSYS_IRQ_INIT ( NIOS2_QSYS, nios2_qsys);
12022
   4a350:       004bad40        call    4bad4 
12023
 * alt_irq_cpu_enable_interrupts() enables the CPU to start taking interrupts.
12024
 */
12025
static ALT_INLINE void ALT_ALWAYS_INLINE
12026
       alt_irq_cpu_enable_interrupts ()
12027
{
12028
    NIOS2_WRITE_STATUS(NIOS2_STATUS_PIE_MSK
12029
   4a354:       00800044        movi    r2,1
12030
   4a358:       1001703a        wrctl   status,r2
12031
    alt_irq_cpu_enable_interrupts();
12032
}
12033
   4a35c:       e037883a        mov     sp,fp
12034
   4a360:       dfc00117        ldw     ra,4(sp)
12035
   4a364:       df000017        ldw     fp,0(sp)
12036
   4a368:       dec00204        addi    sp,sp,8
12037
   4a36c:       f800283a        ret
12038
 
12039
0004a370 :
12040
 * Initialize the non-interrupt controller devices.
12041
 * Called after alt_irq_init().
12042
 */
12043
 
12044
void alt_sys_init( void )
12045
{
12046
   4a370:       defffe04        addi    sp,sp,-8
12047
   4a374:       dfc00115        stw     ra,4(sp)
12048
   4a378:       df000015        stw     fp,0(sp)
12049
   4a37c:       d839883a        mov     fp,sp
12050
    ALTERA_AVALON_JTAG_UART_INIT ( JTAG_UART, jtag_uart);
12051
   4a380:       01000174        movhi   r4,5
12052
   4a384:       2133be04        addi    r4,r4,-12552
12053
   4a388:       000b883a        mov     r5,zero
12054
   4a38c:       000d883a        mov     r6,zero
12055
   4a390:       004a51c0        call    4a51c 
12056
   4a394:       01000174        movhi   r4,5
12057
   4a398:       2133b404        addi    r4,r4,-12592
12058
   4a39c:       004a3040        call    4a304 
12059
    ALTERA_AVALON_SYSID_QSYS_INIT ( SYSID_QSYS, sysid_qsys);
12060
   4a3a0:       0001883a        nop
12061
}
12062
   4a3a4:       e037883a        mov     sp,fp
12063
   4a3a8:       dfc00117        ldw     ra,4(sp)
12064
   4a3ac:       df000017        ldw     fp,0(sp)
12065
   4a3b0:       dec00204        addi    sp,sp,8
12066
   4a3b4:       f800283a        ret
12067
 
12068
0004a3b8 :
12069
 *
12070
 */
12071
 
12072
int
12073
altera_avalon_jtag_uart_read_fd(alt_fd* fd, char* buffer, int space)
12074
{
12075
   4a3b8:       defffa04        addi    sp,sp,-24
12076
   4a3bc:       dfc00515        stw     ra,20(sp)
12077
   4a3c0:       df000415        stw     fp,16(sp)
12078
   4a3c4:       df000404        addi    fp,sp,16
12079
   4a3c8:       e13ffd15        stw     r4,-12(fp)
12080
   4a3cc:       e17ffe15        stw     r5,-8(fp)
12081
   4a3d0:       e1bfff15        stw     r6,-4(fp)
12082
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
12083
   4a3d4:       e0bffd17        ldw     r2,-12(fp)
12084
   4a3d8:       10800017        ldw     r2,0(r2)
12085
   4a3dc:       e0bffc15        stw     r2,-16(fp)
12086
 
12087
    return altera_avalon_jtag_uart_read(&dev->state, buffer, space,
12088
   4a3e0:       e0bffc17        ldw     r2,-16(fp)
12089
   4a3e4:       10c00a04        addi    r3,r2,40
12090
      fd->fd_flags);
12091
   4a3e8:       e0bffd17        ldw     r2,-12(fp)
12092
int
12093
altera_avalon_jtag_uart_read_fd(alt_fd* fd, char* buffer, int space)
12094
{
12095
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
12096
 
12097
    return altera_avalon_jtag_uart_read(&dev->state, buffer, space,
12098
   4a3ec:       10800217        ldw     r2,8(r2)
12099
   4a3f0:       1809883a        mov     r4,r3
12100
   4a3f4:       e17ffe17        ldw     r5,-8(fp)
12101
   4a3f8:       e1bfff17        ldw     r6,-4(fp)
12102
   4a3fc:       100f883a        mov     r7,r2
12103
   4a400:       004a9e00        call    4a9e0 
12104
      fd->fd_flags);
12105
}
12106
   4a404:       e037883a        mov     sp,fp
12107
   4a408:       dfc00117        ldw     ra,4(sp)
12108
   4a40c:       df000017        ldw     fp,0(sp)
12109
   4a410:       dec00204        addi    sp,sp,8
12110
   4a414:       f800283a        ret
12111
 
12112
0004a418 :
12113
 
12114
int
12115
altera_avalon_jtag_uart_write_fd(alt_fd* fd, const char* buffer, int space)
12116
{
12117
   4a418:       defffa04        addi    sp,sp,-24
12118
   4a41c:       dfc00515        stw     ra,20(sp)
12119
   4a420:       df000415        stw     fp,16(sp)
12120
   4a424:       df000404        addi    fp,sp,16
12121
   4a428:       e13ffd15        stw     r4,-12(fp)
12122
   4a42c:       e17ffe15        stw     r5,-8(fp)
12123
   4a430:       e1bfff15        stw     r6,-4(fp)
12124
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
12125
   4a434:       e0bffd17        ldw     r2,-12(fp)
12126
   4a438:       10800017        ldw     r2,0(r2)
12127
   4a43c:       e0bffc15        stw     r2,-16(fp)
12128
 
12129
    return altera_avalon_jtag_uart_write(&dev->state, buffer, space,
12130
   4a440:       e0bffc17        ldw     r2,-16(fp)
12131
   4a444:       10c00a04        addi    r3,r2,40
12132
      fd->fd_flags);
12133
   4a448:       e0bffd17        ldw     r2,-12(fp)
12134
int
12135
altera_avalon_jtag_uart_write_fd(alt_fd* fd, const char* buffer, int space)
12136
{
12137
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
12138
 
12139
    return altera_avalon_jtag_uart_write(&dev->state, buffer, space,
12140
   4a44c:       10800217        ldw     r2,8(r2)
12141
   4a450:       1809883a        mov     r4,r3
12142
   4a454:       e17ffe17        ldw     r5,-8(fp)
12143
   4a458:       e1bfff17        ldw     r6,-4(fp)
12144
   4a45c:       100f883a        mov     r7,r2
12145
   4a460:       004abf80        call    4abf8 
12146
      fd->fd_flags);
12147
}
12148
   4a464:       e037883a        mov     sp,fp
12149
   4a468:       dfc00117        ldw     ra,4(sp)
12150
   4a46c:       df000017        ldw     fp,0(sp)
12151
   4a470:       dec00204        addi    sp,sp,8
12152
   4a474:       f800283a        ret
12153
 
12154
0004a478 :
12155
 
12156
#ifndef ALTERA_AVALON_JTAG_UART_SMALL
12157
 
12158
int
12159
altera_avalon_jtag_uart_close_fd(alt_fd* fd)
12160
{
12161
   4a478:       defffc04        addi    sp,sp,-16
12162
   4a47c:       dfc00315        stw     ra,12(sp)
12163
   4a480:       df000215        stw     fp,8(sp)
12164
   4a484:       df000204        addi    fp,sp,8
12165
   4a488:       e13fff15        stw     r4,-4(fp)
12166
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
12167
   4a48c:       e0bfff17        ldw     r2,-4(fp)
12168
   4a490:       10800017        ldw     r2,0(r2)
12169
   4a494:       e0bffe15        stw     r2,-8(fp)
12170
 
12171
    return altera_avalon_jtag_uart_close(&dev->state, fd->fd_flags);
12172
   4a498:       e0bffe17        ldw     r2,-8(fp)
12173
   4a49c:       10c00a04        addi    r3,r2,40
12174
   4a4a0:       e0bfff17        ldw     r2,-4(fp)
12175
   4a4a4:       10800217        ldw     r2,8(r2)
12176
   4a4a8:       1809883a        mov     r4,r3
12177
   4a4ac:       100b883a        mov     r5,r2
12178
   4a4b0:       004a8840        call    4a884 
12179
}
12180
   4a4b4:       e037883a        mov     sp,fp
12181
   4a4b8:       dfc00117        ldw     ra,4(sp)
12182
   4a4bc:       df000017        ldw     fp,0(sp)
12183
   4a4c0:       dec00204        addi    sp,sp,8
12184
   4a4c4:       f800283a        ret
12185
 
12186
0004a4c8 :
12187
 
12188
int
12189
altera_avalon_jtag_uart_ioctl_fd(alt_fd* fd, int req, void* arg)
12190
{
12191
   4a4c8:       defffa04        addi    sp,sp,-24
12192
   4a4cc:       dfc00515        stw     ra,20(sp)
12193
   4a4d0:       df000415        stw     fp,16(sp)
12194
   4a4d4:       df000404        addi    fp,sp,16
12195
   4a4d8:       e13ffd15        stw     r4,-12(fp)
12196
   4a4dc:       e17ffe15        stw     r5,-8(fp)
12197
   4a4e0:       e1bfff15        stw     r6,-4(fp)
12198
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
12199
   4a4e4:       e0bffd17        ldw     r2,-12(fp)
12200
   4a4e8:       10800017        ldw     r2,0(r2)
12201
   4a4ec:       e0bffc15        stw     r2,-16(fp)
12202
 
12203
    return altera_avalon_jtag_uart_ioctl(&dev->state, req, arg);
12204
   4a4f0:       e0bffc17        ldw     r2,-16(fp)
12205
   4a4f4:       10800a04        addi    r2,r2,40
12206
   4a4f8:       1009883a        mov     r4,r2
12207
   4a4fc:       e17ffe17        ldw     r5,-8(fp)
12208
   4a500:       e1bfff17        ldw     r6,-4(fp)
12209
   4a504:       004a8ec0        call    4a8ec 
12210
}
12211
   4a508:       e037883a        mov     sp,fp
12212
   4a50c:       dfc00117        ldw     ra,4(sp)
12213
   4a510:       df000017        ldw     fp,0(sp)
12214
   4a514:       dec00204        addi    sp,sp,8
12215
   4a518:       f800283a        ret
12216
 
12217
0004a51c :
12218
 * Return 1 on sucessful IRQ register and 0 on failure.
12219
 */
12220
 
12221
void altera_avalon_jtag_uart_init(altera_avalon_jtag_uart_state* sp,
12222
                                  int irq_controller_id, int irq)
12223
{
12224
   4a51c:       defffa04        addi    sp,sp,-24
12225
   4a520:       dfc00515        stw     ra,20(sp)
12226
   4a524:       df000415        stw     fp,16(sp)
12227
   4a528:       df000404        addi    fp,sp,16
12228
   4a52c:       e13ffd15        stw     r4,-12(fp)
12229
   4a530:       e17ffe15        stw     r5,-8(fp)
12230
   4a534:       e1bfff15        stw     r6,-4(fp)
12231
  ALT_FLAG_CREATE(&sp->events, 0);
12232
  ALT_SEM_CREATE(&sp->read_lock, 1);
12233
  ALT_SEM_CREATE(&sp->write_lock, 1);
12234
 
12235
  /* enable read interrupts at the device */
12236
  sp->irq_enable = ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
12237
   4a538:       e0bffd17        ldw     r2,-12(fp)
12238
   4a53c:       00c00044        movi    r3,1
12239
   4a540:       10c00815        stw     r3,32(r2)
12240
 
12241
  IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
12242
   4a544:       e0bffd17        ldw     r2,-12(fp)
12243
   4a548:       10800017        ldw     r2,0(r2)
12244
   4a54c:       10800104        addi    r2,r2,4
12245
   4a550:       e0fffd17        ldw     r3,-12(fp)
12246
   4a554:       18c00817        ldw     r3,32(r3)
12247
   4a558:       10c00035        stwio   r3,0(r2)
12248
 
12249
  /* register the interrupt handler */
12250
#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
12251
  alt_ic_isr_register(irq_controller_id, irq, altera_avalon_jtag_uart_irq,
12252
   4a55c:       e0fffe17        ldw     r3,-8(fp)
12253
   4a560:       e0bfff17        ldw     r2,-4(fp)
12254
   4a564:       d8000015        stw     zero,0(sp)
12255
   4a568:       1809883a        mov     r4,r3
12256
   4a56c:       100b883a        mov     r5,r2
12257
   4a570:       01800174        movhi   r6,5
12258
   4a574:       31a97704        addi    r6,r6,-23076
12259
   4a578:       e1fffd17        ldw     r7,-12(fp)
12260
   4a57c:       004b2c80        call    4b2c8 
12261
#else
12262
  alt_irq_register(irq, sp, altera_avalon_jtag_uart_irq);
12263
#endif
12264
 
12265
  /* Register an alarm to go off every second to check for presence of host */
12266
  sp->host_inactive = 0;
12267
   4a580:       e0bffd17        ldw     r2,-12(fp)
12268
   4a584:       10000915        stw     zero,36(r2)
12269
 
12270
  if (alt_alarm_start(&sp->alarm, alt_ticks_per_second(),
12271
   4a588:       e0bffd17        ldw     r2,-12(fp)
12272
   4a58c:       10c00204        addi    r3,r2,8
12273
 * Obtain the system clock rate in ticks/s.
12274
 */
12275
 
12276
static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_ticks_per_second (void)
12277
{
12278
  return _alt_tick_rate;
12279
   4a590:       00800174        movhi   r2,5
12280
   4a594:       10be7c04        addi    r2,r2,-1552
12281
   4a598:       10800017        ldw     r2,0(r2)
12282
   4a59c:       1809883a        mov     r4,r3
12283
   4a5a0:       100b883a        mov     r5,r2
12284
   4a5a4:       01800174        movhi   r6,5
12285
   4a5a8:       31a9f804        addi    r6,r6,-22560
12286
   4a5ac:       e1fffd17        ldw     r7,-12(fp)
12287
   4a5b0:       004ae180        call    4ae18 
12288
   4a5b4:       1000040e        bge     r2,zero,4a5c8 
12289
    &altera_avalon_jtag_uart_timeout, sp) < 0)
12290
  {
12291
    /* If we can't set the alarm then record "don't know if host present"
12292
     * and behave as though the host is present.
12293
     */
12294
    sp->timeout = INT_MAX;
12295
   4a5b8:       e0bffd17        ldw     r2,-12(fp)
12296
   4a5bc:       00e00034        movhi   r3,32768
12297
   4a5c0:       18ffffc4        addi    r3,r3,-1
12298
   4a5c4:       10c00115        stw     r3,4(r2)
12299
  }
12300
 
12301
  /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */
12302
  ALT_LOG_JTAG_UART_ALARM_REGISTER(sp, sp->base);
12303
}
12304
   4a5c8:       e037883a        mov     sp,fp
12305
   4a5cc:       dfc00117        ldw     ra,4(sp)
12306
   4a5d0:       df000017        ldw     fp,0(sp)
12307
   4a5d4:       dec00204        addi    sp,sp,8
12308
   4a5d8:       f800283a        ret
12309
 
12310
0004a5dc :
12311
#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
12312
static void altera_avalon_jtag_uart_irq(void* context)
12313
#else
12314
static void altera_avalon_jtag_uart_irq(void* context, alt_u32 id)
12315
#endif
12316
{
12317
   4a5dc:       defff804        addi    sp,sp,-32
12318
   4a5e0:       df000715        stw     fp,28(sp)
12319
   4a5e4:       df000704        addi    fp,sp,28
12320
   4a5e8:       e13fff15        stw     r4,-4(fp)
12321
  altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state*) context;
12322
   4a5ec:       e0bfff17        ldw     r2,-4(fp)
12323
   4a5f0:       e0bffb15        stw     r2,-20(fp)
12324
  unsigned int base = sp->base;
12325
   4a5f4:       e0bffb17        ldw     r2,-20(fp)
12326
   4a5f8:       10800017        ldw     r2,0(r2)
12327
   4a5fc:       e0bffc15        stw     r2,-16(fp)
12328
   4a600:       00000106        br      4a608 
12329
 
12330
        /* Dummy read to ensure IRQ is cleared prior to ISR completion */
12331
        IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
12332
      }
12333
    }
12334
  }
12335
   4a604:       0001883a        nop
12336
  /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */
12337
  ALT_LOG_JTAG_UART_ISR_FUNCTION(base, sp);
12338
 
12339
  for ( ; ; )
12340
  {
12341
    unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
12342
   4a608:       e0bffc17        ldw     r2,-16(fp)
12343
   4a60c:       10800104        addi    r2,r2,4
12344
   4a610:       10800037        ldwio   r2,0(r2)
12345
   4a614:       e0bffd15        stw     r2,-12(fp)
12346
 
12347
    /* Return once nothing more to do */
12348
    if ((control & (ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK | ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)) == 0)
12349
   4a618:       e0bffd17        ldw     r2,-12(fp)
12350
   4a61c:       1080c00c        andi    r2,r2,768
12351
   4a620:       10006a26        beq     r2,zero,4a7cc 
12352
      break;
12353
 
12354
    if (control & ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK)
12355
   4a624:       e0bffd17        ldw     r2,-12(fp)
12356
   4a628:       1080400c        andi    r2,r2,256
12357
   4a62c:       10003326        beq     r2,zero,4a6fc 
12358
    {
12359
      /* process a read irq.  Start by assuming that there is data in the
12360
       * receive FIFO (otherwise why would we have been interrupted?)
12361
       */
12362
      unsigned int data = 1 << ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_OFST;
12363
   4a630:       00800074        movhi   r2,1
12364
   4a634:       e0bff915        stw     r2,-28(fp)
12365
      for ( ; ; )
12366
      {
12367
        /* Check whether there is space in the buffer.  If not then we must not
12368
         * read any characters from the buffer as they will be lost.
12369
         */
12370
        unsigned int next = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
12371
   4a638:       e0bffb17        ldw     r2,-20(fp)
12372
   4a63c:       10800a17        ldw     r2,40(r2)
12373
   4a640:       10800044        addi    r2,r2,1
12374
   4a644:       1081ffcc        andi    r2,r2,2047
12375
   4a648:       e0bffe15        stw     r2,-8(fp)
12376
        if (next == sp->rx_out)
12377
   4a64c:       e0bffb17        ldw     r2,-20(fp)
12378
   4a650:       10c00b17        ldw     r3,44(r2)
12379
   4a654:       e0bffe17        ldw     r2,-8(fp)
12380
   4a658:       18801426        beq     r3,r2,4a6ac 
12381
          break;
12382
 
12383
        /* Try to remove a character from the FIFO and find out whether there
12384
         * are any more characters remaining.
12385
         */
12386
        data = IORD_ALTERA_AVALON_JTAG_UART_DATA(base);
12387
   4a65c:       e0bffc17        ldw     r2,-16(fp)
12388
   4a660:       10800037        ldwio   r2,0(r2)
12389
   4a664:       e0bff915        stw     r2,-28(fp)
12390
 
12391
        if ((data & ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0)
12392
   4a668:       e0bff917        ldw     r2,-28(fp)
12393
   4a66c:       10a0000c        andi    r2,r2,32768
12394
   4a670:       10001026        beq     r2,zero,4a6b4 
12395
          break;
12396
 
12397
        sp->rx_buf[sp->rx_in] = (data & ALTERA_AVALON_JTAG_UART_DATA_DATA_MSK) >> ALTERA_AVALON_JTAG_UART_DATA_DATA_OFST;
12398
   4a674:       e0bffb17        ldw     r2,-20(fp)
12399
   4a678:       10800a17        ldw     r2,40(r2)
12400
   4a67c:       e0fff917        ldw     r3,-28(fp)
12401
   4a680:       e13ffb17        ldw     r4,-20(fp)
12402
   4a684:       2085883a        add     r2,r4,r2
12403
   4a688:       10800e04        addi    r2,r2,56
12404
   4a68c:       10c00005        stb     r3,0(r2)
12405
        sp->rx_in = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
12406
   4a690:       e0bffb17        ldw     r2,-20(fp)
12407
   4a694:       10800a17        ldw     r2,40(r2)
12408
   4a698:       10800044        addi    r2,r2,1
12409
   4a69c:       10c1ffcc        andi    r3,r2,2047
12410
   4a6a0:       e0bffb17        ldw     r2,-20(fp)
12411
   4a6a4:       10c00a15        stw     r3,40(r2)
12412
 
12413
        /* Post an event to notify jtag_uart_read that a character has been read */
12414
        ALT_FLAG_POST (sp->events, ALT_JTAG_UART_READ_RDY, OS_FLAG_SET);
12415
      }
12416
   4a6a8:       003fe306        br      4a638 <__alt_data_end+0xfffe3538>
12417
        /* Check whether there is space in the buffer.  If not then we must not
12418
         * read any characters from the buffer as they will be lost.
12419
         */
12420
        unsigned int next = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
12421
        if (next == sp->rx_out)
12422
          break;
12423
   4a6ac:       0001883a        nop
12424
   4a6b0:       00000106        br      4a6b8 
12425
         * are any more characters remaining.
12426
         */
12427
        data = IORD_ALTERA_AVALON_JTAG_UART_DATA(base);
12428
 
12429
        if ((data & ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0)
12430
          break;
12431
   4a6b4:       0001883a        nop
12432
 
12433
        /* Post an event to notify jtag_uart_read that a character has been read */
12434
        ALT_FLAG_POST (sp->events, ALT_JTAG_UART_READ_RDY, OS_FLAG_SET);
12435
      }
12436
 
12437
      if (data & ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_MSK)
12438
   4a6b8:       e0bff917        ldw     r2,-28(fp)
12439
   4a6bc:       10bfffec        andhi   r2,r2,65535
12440
   4a6c0:       10000e26        beq     r2,zero,4a6fc 
12441
      {
12442
        /* If there is still data available here then the buffer is full
12443
         * so turn off receive interrupts until some space becomes available.
12444
         */
12445
        sp->irq_enable &= ~ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
12446
   4a6c4:       e0bffb17        ldw     r2,-20(fp)
12447
   4a6c8:       10c00817        ldw     r3,32(r2)
12448
   4a6cc:       00bfff84        movi    r2,-2
12449
   4a6d0:       1886703a        and     r3,r3,r2
12450
   4a6d4:       e0bffb17        ldw     r2,-20(fp)
12451
   4a6d8:       10c00815        stw     r3,32(r2)
12452
        IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(base, sp->irq_enable);
12453
   4a6dc:       e0bffc17        ldw     r2,-16(fp)
12454
   4a6e0:       10800104        addi    r2,r2,4
12455
   4a6e4:       e0fffb17        ldw     r3,-20(fp)
12456
   4a6e8:       18c00817        ldw     r3,32(r3)
12457
   4a6ec:       10c00035        stwio   r3,0(r2)
12458
 
12459
        /* Dummy read to ensure IRQ is cleared prior to ISR completion */
12460
        IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
12461
   4a6f0:       e0bffc17        ldw     r2,-16(fp)
12462
   4a6f4:       10800104        addi    r2,r2,4
12463
   4a6f8:       10800037        ldwio   r2,0(r2)
12464
      }
12465
    }
12466
 
12467
    if (control & ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)
12468
   4a6fc:       e0bffd17        ldw     r2,-12(fp)
12469
   4a700:       1080800c        andi    r2,r2,512
12470
   4a704:       103fbf26        beq     r2,zero,4a604 <__alt_data_end+0xfffe3504>
12471
    {
12472
      /* process a write irq */
12473
      unsigned int space = (control & ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) >> ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST;
12474
   4a708:       e0bffd17        ldw     r2,-12(fp)
12475
   4a70c:       1004d43a        srli    r2,r2,16
12476
   4a710:       e0bffa15        stw     r2,-24(fp)
12477
 
12478
      while (space > 0 && sp->tx_out != sp->tx_in)
12479
   4a714:       00001406        br      4a768 
12480
      {
12481
        IOWR_ALTERA_AVALON_JTAG_UART_DATA(base, sp->tx_buf[sp->tx_out]);
12482
   4a718:       e0bffc17        ldw     r2,-16(fp)
12483
   4a71c:       e0fffb17        ldw     r3,-20(fp)
12484
   4a720:       18c00d17        ldw     r3,52(r3)
12485
   4a724:       e13ffb17        ldw     r4,-20(fp)
12486
   4a728:       20c7883a        add     r3,r4,r3
12487
   4a72c:       18c20e04        addi    r3,r3,2104
12488
   4a730:       18c00003        ldbu    r3,0(r3)
12489
   4a734:       18c03fcc        andi    r3,r3,255
12490
   4a738:       18c0201c        xori    r3,r3,128
12491
   4a73c:       18ffe004        addi    r3,r3,-128
12492
   4a740:       10c00035        stwio   r3,0(r2)
12493
 
12494
        sp->tx_out = (sp->tx_out + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
12495
   4a744:       e0bffb17        ldw     r2,-20(fp)
12496
   4a748:       10800d17        ldw     r2,52(r2)
12497
   4a74c:       10800044        addi    r2,r2,1
12498
   4a750:       10c1ffcc        andi    r3,r2,2047
12499
   4a754:       e0bffb17        ldw     r2,-20(fp)
12500
   4a758:       10c00d15        stw     r3,52(r2)
12501
 
12502
        /* Post an event to notify jtag_uart_write that a character has been written */
12503
        ALT_FLAG_POST (sp->events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET);
12504
 
12505
        space--;
12506
   4a75c:       e0bffa17        ldw     r2,-24(fp)
12507
   4a760:       10bfffc4        addi    r2,r2,-1
12508
   4a764:       e0bffa15        stw     r2,-24(fp)
12509
    if (control & ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)
12510
    {
12511
      /* process a write irq */
12512
      unsigned int space = (control & ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) >> ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST;
12513
 
12514
      while (space > 0 && sp->tx_out != sp->tx_in)
12515
   4a768:       e0bffa17        ldw     r2,-24(fp)
12516
   4a76c:       10000526        beq     r2,zero,4a784 
12517
   4a770:       e0bffb17        ldw     r2,-20(fp)
12518
   4a774:       10c00d17        ldw     r3,52(r2)
12519
   4a778:       e0bffb17        ldw     r2,-20(fp)
12520
   4a77c:       10800c17        ldw     r2,48(r2)
12521
   4a780:       18bfe51e        bne     r3,r2,4a718 <__alt_data_end+0xfffe3618>
12522
        ALT_FLAG_POST (sp->events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET);
12523
 
12524
        space--;
12525
      }
12526
 
12527
      if (space > 0)
12528
   4a784:       e0bffa17        ldw     r2,-24(fp)
12529
   4a788:       103f9e26        beq     r2,zero,4a604 <__alt_data_end+0xfffe3504>
12530
      {
12531
        /* If we don't have any more data available then turn off the TX interrupt */
12532
        sp->irq_enable &= ~ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK;
12533
   4a78c:       e0bffb17        ldw     r2,-20(fp)
12534
   4a790:       10c00817        ldw     r3,32(r2)
12535
   4a794:       00bfff44        movi    r2,-3
12536
   4a798:       1886703a        and     r3,r3,r2
12537
   4a79c:       e0bffb17        ldw     r2,-20(fp)
12538
   4a7a0:       10c00815        stw     r3,32(r2)
12539
        IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
12540
   4a7a4:       e0bffb17        ldw     r2,-20(fp)
12541
   4a7a8:       10800017        ldw     r2,0(r2)
12542
   4a7ac:       10800104        addi    r2,r2,4
12543
   4a7b0:       e0fffb17        ldw     r3,-20(fp)
12544
   4a7b4:       18c00817        ldw     r3,32(r3)
12545
   4a7b8:       10c00035        stwio   r3,0(r2)
12546
 
12547
        /* Dummy read to ensure IRQ is cleared prior to ISR completion */
12548
        IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
12549
   4a7bc:       e0bffc17        ldw     r2,-16(fp)
12550
   4a7c0:       10800104        addi    r2,r2,4
12551
   4a7c4:       10800037        ldwio   r2,0(r2)
12552
      }
12553
    }
12554
  }
12555
   4a7c8:       003f8e06        br      4a604 <__alt_data_end+0xfffe3504>
12556
  {
12557
    unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
12558
 
12559
    /* Return once nothing more to do */
12560
    if ((control & (ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK | ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)) == 0)
12561
      break;
12562
   4a7cc:       0001883a        nop
12563
        /* Dummy read to ensure IRQ is cleared prior to ISR completion */
12564
        IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
12565
      }
12566
    }
12567
  }
12568
}
12569
   4a7d0:       e037883a        mov     sp,fp
12570
   4a7d4:       df000017        ldw     fp,0(sp)
12571
   4a7d8:       dec00104        addi    sp,sp,4
12572
   4a7dc:       f800283a        ret
12573
 
12574
0004a7e0 :
12575
 * Timeout routine is called every second
12576
 */
12577
 
12578
static alt_u32
12579
altera_avalon_jtag_uart_timeout(void* context)
12580
{
12581
   4a7e0:       defffc04        addi    sp,sp,-16
12582
   4a7e4:       df000315        stw     fp,12(sp)
12583
   4a7e8:       df000304        addi    fp,sp,12
12584
   4a7ec:       e13fff15        stw     r4,-4(fp)
12585
  altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state *) context;
12586
   4a7f0:       e0bfff17        ldw     r2,-4(fp)
12587
   4a7f4:       e0bffd15        stw     r2,-12(fp)
12588
 
12589
  unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base);
12590
   4a7f8:       e0bffd17        ldw     r2,-12(fp)
12591
   4a7fc:       10800017        ldw     r2,0(r2)
12592
   4a800:       10800104        addi    r2,r2,4
12593
   4a804:       10800037        ldwio   r2,0(r2)
12594
   4a808:       e0bffe15        stw     r2,-8(fp)
12595
 
12596
  if (control & ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK)
12597
   4a80c:       e0bffe17        ldw     r2,-8(fp)
12598
   4a810:       1081000c        andi    r2,r2,1024
12599
   4a814:       10000a26        beq     r2,zero,4a840 
12600
  {
12601
    IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable | ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK);
12602
   4a818:       e0bffd17        ldw     r2,-12(fp)
12603
   4a81c:       10800017        ldw     r2,0(r2)
12604
   4a820:       10800104        addi    r2,r2,4
12605
   4a824:       e0fffd17        ldw     r3,-12(fp)
12606
   4a828:       18c00817        ldw     r3,32(r3)
12607
   4a82c:       18c10014        ori     r3,r3,1024
12608
   4a830:       10c00035        stwio   r3,0(r2)
12609
    sp->host_inactive = 0;
12610
   4a834:       e0bffd17        ldw     r2,-12(fp)
12611
   4a838:       10000915        stw     zero,36(r2)
12612
   4a83c:       00000a06        br      4a868 
12613
  }
12614
  else if (sp->host_inactive < INT_MAX - 2) {
12615
   4a840:       e0bffd17        ldw     r2,-12(fp)
12616
   4a844:       10800917        ldw     r2,36(r2)
12617
   4a848:       00e00034        movhi   r3,32768
12618
   4a84c:       18ffff04        addi    r3,r3,-4
12619
   4a850:       18800536        bltu    r3,r2,4a868 
12620
    sp->host_inactive++;
12621
   4a854:       e0bffd17        ldw     r2,-12(fp)
12622
   4a858:       10800917        ldw     r2,36(r2)
12623
   4a85c:       10c00044        addi    r3,r2,1
12624
   4a860:       e0bffd17        ldw     r2,-12(fp)
12625
   4a864:       10c00915        stw     r3,36(r2)
12626
   4a868:       00800174        movhi   r2,5
12627
   4a86c:       10be7c04        addi    r2,r2,-1552
12628
   4a870:       10800017        ldw     r2,0(r2)
12629
      ALT_FLAG_POST (sp->events, ALT_JTAG_UART_TIMEOUT, OS_FLAG_SET);
12630
    }
12631
  }
12632
 
12633
  return alt_ticks_per_second();
12634
}
12635
   4a874:       e037883a        mov     sp,fp
12636
   4a878:       df000017        ldw     fp,0(sp)
12637
   4a87c:       dec00104        addi    sp,sp,4
12638
   4a880:       f800283a        ret
12639
 
12640
0004a884 :
12641
 * The close routine is not implemented for the small driver; instead it will
12642
 * map to null. This is because the small driver simply waits while characters
12643
 * are transmitted; there is no interrupt-serviced buffer to empty
12644
 */
12645
int altera_avalon_jtag_uart_close(altera_avalon_jtag_uart_state* sp, int flags)
12646
{
12647
   4a884:       defffd04        addi    sp,sp,-12
12648
   4a888:       df000215        stw     fp,8(sp)
12649
   4a88c:       df000204        addi    fp,sp,8
12650
   4a890:       e13ffe15        stw     r4,-8(fp)
12651
   4a894:       e17fff15        stw     r5,-4(fp)
12652
  /*
12653
   * Wait for all transmit data to be emptied by the JTAG UART ISR, or
12654
   * for a host-inactivity timeout, in which case transmit data will be lost
12655
   */
12656
  while ( (sp->tx_out != sp->tx_in) && (sp->host_inactive < sp->timeout) ) {
12657
   4a898:       00000506        br      4a8b0 
12658
    if (flags & O_NONBLOCK) {
12659
   4a89c:       e0bfff17        ldw     r2,-4(fp)
12660
   4a8a0:       1090000c        andi    r2,r2,16384
12661
   4a8a4:       10000226        beq     r2,zero,4a8b0 
12662
      return -EWOULDBLOCK;
12663
   4a8a8:       00bffd44        movi    r2,-11
12664
   4a8ac:       00000b06        br      4a8dc 
12665
{
12666
  /*
12667
   * Wait for all transmit data to be emptied by the JTAG UART ISR, or
12668
   * for a host-inactivity timeout, in which case transmit data will be lost
12669
   */
12670
  while ( (sp->tx_out != sp->tx_in) && (sp->host_inactive < sp->timeout) ) {
12671
   4a8b0:       e0bffe17        ldw     r2,-8(fp)
12672
   4a8b4:       10c00d17        ldw     r3,52(r2)
12673
   4a8b8:       e0bffe17        ldw     r2,-8(fp)
12674
   4a8bc:       10800c17        ldw     r2,48(r2)
12675
   4a8c0:       18800526        beq     r3,r2,4a8d8 
12676
   4a8c4:       e0bffe17        ldw     r2,-8(fp)
12677
   4a8c8:       10c00917        ldw     r3,36(r2)
12678
   4a8cc:       e0bffe17        ldw     r2,-8(fp)
12679
   4a8d0:       10800117        ldw     r2,4(r2)
12680
   4a8d4:       18bff136        bltu    r3,r2,4a89c <__alt_data_end+0xfffe379c>
12681
    if (flags & O_NONBLOCK) {
12682
      return -EWOULDBLOCK;
12683
    }
12684
  }
12685
 
12686
  return 0;
12687
   4a8d8:       0005883a        mov     r2,zero
12688
}
12689
   4a8dc:       e037883a        mov     sp,fp
12690
   4a8e0:       df000017        ldw     fp,0(sp)
12691
   4a8e4:       dec00104        addi    sp,sp,4
12692
   4a8e8:       f800283a        ret
12693
 
12694
0004a8ec :
12695
/* ----------------------------------------------------------- */
12696
 
12697
int
12698
altera_avalon_jtag_uart_ioctl(altera_avalon_jtag_uart_state* sp, int req,
12699
  void* arg)
12700
{
12701
   4a8ec:       defffa04        addi    sp,sp,-24
12702
   4a8f0:       df000515        stw     fp,20(sp)
12703
   4a8f4:       df000504        addi    fp,sp,20
12704
   4a8f8:       e13ffd15        stw     r4,-12(fp)
12705
   4a8fc:       e17ffe15        stw     r5,-8(fp)
12706
   4a900:       e1bfff15        stw     r6,-4(fp)
12707
  int rc = -ENOTTY;
12708
   4a904:       00bff9c4        movi    r2,-25
12709
   4a908:       e0bffb15        stw     r2,-20(fp)
12710
 
12711
  switch (req)
12712
   4a90c:       e0bffe17        ldw     r2,-8(fp)
12713
   4a910:       10da8060        cmpeqi  r3,r2,27137
12714
   4a914:       1800031e        bne     r3,zero,4a924 
12715
   4a918:       109a80a0        cmpeqi  r2,r2,27138
12716
   4a91c:       1000181e        bne     r2,zero,4a980 
12717
   4a920:       00002606        br      4a9bc 
12718
  {
12719
  case TIOCSTIMEOUT:
12720
    /* Set the time to wait until assuming host is not connected */
12721
    if (sp->timeout != INT_MAX)
12722
   4a924:       e0bffd17        ldw     r2,-12(fp)
12723
   4a928:       10c00117        ldw     r3,4(r2)
12724
   4a92c:       00a00034        movhi   r2,32768
12725
   4a930:       10bfffc4        addi    r2,r2,-1
12726
   4a934:       18802226        beq     r3,r2,4a9c0 
12727
    {
12728
      int timeout = *((int *)arg);
12729
   4a938:       e0bfff17        ldw     r2,-4(fp)
12730
   4a93c:       10800017        ldw     r2,0(r2)
12731
   4a940:       e0bffc15        stw     r2,-16(fp)
12732
      sp->timeout = (timeout >= 2 && timeout < INT_MAX) ? timeout : INT_MAX - 1;
12733
   4a944:       e0bffc17        ldw     r2,-16(fp)
12734
   4a948:       10800090        cmplti  r2,r2,2
12735
   4a94c:       1000061e        bne     r2,zero,4a968 
12736
   4a950:       e0fffc17        ldw     r3,-16(fp)
12737
   4a954:       00a00034        movhi   r2,32768
12738
   4a958:       10bfffc4        addi    r2,r2,-1
12739
   4a95c:       18800226        beq     r3,r2,4a968 
12740
   4a960:       e0bffc17        ldw     r2,-16(fp)
12741
   4a964:       00000206        br      4a970 
12742
   4a968:       00a00034        movhi   r2,32768
12743
   4a96c:       10bfff84        addi    r2,r2,-2
12744
   4a970:       e0fffd17        ldw     r3,-12(fp)
12745
   4a974:       18800115        stw     r2,4(r3)
12746
      rc = 0;
12747
   4a978:       e03ffb15        stw     zero,-20(fp)
12748
    }
12749
    break;
12750
   4a97c:       00001006        br      4a9c0 
12751
 
12752
  case TIOCGCONNECTED:
12753
    /* Find out whether host is connected */
12754
    if (sp->timeout != INT_MAX)
12755
   4a980:       e0bffd17        ldw     r2,-12(fp)
12756
   4a984:       10c00117        ldw     r3,4(r2)
12757
   4a988:       00a00034        movhi   r2,32768
12758
   4a98c:       10bfffc4        addi    r2,r2,-1
12759
   4a990:       18800d26        beq     r3,r2,4a9c8 
12760
    {
12761
      *((int *)arg) = (sp->host_inactive < sp->timeout) ? 1 : 0;
12762
   4a994:       e0bffd17        ldw     r2,-12(fp)
12763
   4a998:       10c00917        ldw     r3,36(r2)
12764
   4a99c:       e0bffd17        ldw     r2,-12(fp)
12765
   4a9a0:       10800117        ldw     r2,4(r2)
12766
   4a9a4:       1885803a        cmpltu  r2,r3,r2
12767
   4a9a8:       10c03fcc        andi    r3,r2,255
12768
   4a9ac:       e0bfff17        ldw     r2,-4(fp)
12769
   4a9b0:       10c00015        stw     r3,0(r2)
12770
      rc = 0;
12771
   4a9b4:       e03ffb15        stw     zero,-20(fp)
12772
    }
12773
    break;
12774
   4a9b8:       00000306        br      4a9c8 
12775
 
12776
  default:
12777
    break;
12778
   4a9bc:       00000306        br      4a9cc 
12779
    {
12780
      int timeout = *((int *)arg);
12781
      sp->timeout = (timeout >= 2 && timeout < INT_MAX) ? timeout : INT_MAX - 1;
12782
      rc = 0;
12783
    }
12784
    break;
12785
   4a9c0:       0001883a        nop
12786
   4a9c4:       00000106        br      4a9cc 
12787
    if (sp->timeout != INT_MAX)
12788
    {
12789
      *((int *)arg) = (sp->host_inactive < sp->timeout) ? 1 : 0;
12790
      rc = 0;
12791
    }
12792
    break;
12793
   4a9c8:       0001883a        nop
12794
 
12795
  default:
12796
    break;
12797
  }
12798
 
12799
  return rc;
12800
   4a9cc:       e0bffb17        ldw     r2,-20(fp)
12801
}
12802
   4a9d0:       e037883a        mov     sp,fp
12803
   4a9d4:       df000017        ldw     fp,0(sp)
12804
   4a9d8:       dec00104        addi    sp,sp,4
12805
   4a9dc:       f800283a        ret
12806
 
12807
0004a9e0 :
12808
/* ----------------------------------------------------------- */
12809
 
12810
int
12811
altera_avalon_jtag_uart_read(altera_avalon_jtag_uart_state* sp,
12812
  char * buffer, int space, int flags)
12813
{
12814
   4a9e0:       defff304        addi    sp,sp,-52
12815
   4a9e4:       dfc00c15        stw     ra,48(sp)
12816
   4a9e8:       df000b15        stw     fp,44(sp)
12817
   4a9ec:       df000b04        addi    fp,sp,44
12818
   4a9f0:       e13ffc15        stw     r4,-16(fp)
12819
   4a9f4:       e17ffd15        stw     r5,-12(fp)
12820
   4a9f8:       e1bffe15        stw     r6,-8(fp)
12821
   4a9fc:       e1ffff15        stw     r7,-4(fp)
12822
  char * ptr = buffer;
12823
   4aa00:       e0bffd17        ldw     r2,-12(fp)
12824
   4aa04:       e0bff515        stw     r2,-44(fp)
12825
   * When running in a multi threaded environment, obtain the "read_lock"
12826
   * semaphore. This ensures that reading from the device is thread-safe.
12827
   */
12828
  ALT_SEM_PEND (sp->read_lock, 0);
12829
 
12830
  while (space > 0)
12831
   4aa08:       00004706        br      4ab28 
12832
    unsigned int in, out;
12833
 
12834
    /* Read as much data as possible */
12835
    do
12836
    {
12837
      in  = sp->rx_in;
12838
   4aa0c:       e0bffc17        ldw     r2,-16(fp)
12839
   4aa10:       10800a17        ldw     r2,40(r2)
12840
   4aa14:       e0bff715        stw     r2,-36(fp)
12841
      out = sp->rx_out;
12842
   4aa18:       e0bffc17        ldw     r2,-16(fp)
12843
   4aa1c:       10800b17        ldw     r2,44(r2)
12844
   4aa20:       e0bff815        stw     r2,-32(fp)
12845
 
12846
      if (in >= out)
12847
   4aa24:       e0fff717        ldw     r3,-36(fp)
12848
   4aa28:       e0bff817        ldw     r2,-32(fp)
12849
   4aa2c:       18800536        bltu    r3,r2,4aa44 
12850
        n = in - out;
12851
   4aa30:       e0fff717        ldw     r3,-36(fp)
12852
   4aa34:       e0bff817        ldw     r2,-32(fp)
12853
   4aa38:       1885c83a        sub     r2,r3,r2
12854
   4aa3c:       e0bff615        stw     r2,-40(fp)
12855
   4aa40:       00000406        br      4aa54 
12856
      else
12857
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out;
12858
   4aa44:       00c20004        movi    r3,2048
12859
   4aa48:       e0bff817        ldw     r2,-32(fp)
12860
   4aa4c:       1885c83a        sub     r2,r3,r2
12861
   4aa50:       e0bff615        stw     r2,-40(fp)
12862
 
12863
      if (n == 0)
12864
   4aa54:       e0bff617        ldw     r2,-40(fp)
12865
   4aa58:       10001e26        beq     r2,zero,4aad4 
12866
        break; /* No more data available */
12867
 
12868
      if (n > space)
12869
   4aa5c:       e0fffe17        ldw     r3,-8(fp)
12870
   4aa60:       e0bff617        ldw     r2,-40(fp)
12871
   4aa64:       1880022e        bgeu    r3,r2,4aa70 
12872
        n = space;
12873
   4aa68:       e0bffe17        ldw     r2,-8(fp)
12874
   4aa6c:       e0bff615        stw     r2,-40(fp)
12875
 
12876
      memcpy(ptr, sp->rx_buf + out, n);
12877
   4aa70:       e0bff817        ldw     r2,-32(fp)
12878
   4aa74:       10800e04        addi    r2,r2,56
12879
   4aa78:       e0fffc17        ldw     r3,-16(fp)
12880
   4aa7c:       1885883a        add     r2,r3,r2
12881
   4aa80:       e13ff517        ldw     r4,-44(fp)
12882
   4aa84:       100b883a        mov     r5,r2
12883
   4aa88:       e1bff617        ldw     r6,-40(fp)
12884
   4aa8c:       00460580        call    46058 
12885
      ptr   += n;
12886
   4aa90:       e0fff517        ldw     r3,-44(fp)
12887
   4aa94:       e0bff617        ldw     r2,-40(fp)
12888
   4aa98:       1885883a        add     r2,r3,r2
12889
   4aa9c:       e0bff515        stw     r2,-44(fp)
12890
      space -= n;
12891
   4aaa0:       e0fffe17        ldw     r3,-8(fp)
12892
   4aaa4:       e0bff617        ldw     r2,-40(fp)
12893
   4aaa8:       1885c83a        sub     r2,r3,r2
12894
   4aaac:       e0bffe15        stw     r2,-8(fp)
12895
 
12896
      sp->rx_out = (out + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
12897
   4aab0:       e0fff817        ldw     r3,-32(fp)
12898
   4aab4:       e0bff617        ldw     r2,-40(fp)
12899
   4aab8:       1885883a        add     r2,r3,r2
12900
   4aabc:       10c1ffcc        andi    r3,r2,2047
12901
   4aac0:       e0bffc17        ldw     r2,-16(fp)
12902
   4aac4:       10c00b15        stw     r3,44(r2)
12903
    }
12904
    while (space > 0);
12905
   4aac8:       e0bffe17        ldw     r2,-8(fp)
12906
   4aacc:       00bfcf16        blt     zero,r2,4aa0c <__alt_data_end+0xfffe390c>
12907
   4aad0:       00000106        br      4aad8 
12908
        n = in - out;
12909
      else
12910
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out;
12911
 
12912
      if (n == 0)
12913
        break; /* No more data available */
12914
   4aad4:       0001883a        nop
12915
      sp->rx_out = (out + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
12916
    }
12917
    while (space > 0);
12918
 
12919
    /* If we read any data then return it */
12920
    if (ptr != buffer)
12921
   4aad8:       e0fff517        ldw     r3,-44(fp)
12922
   4aadc:       e0bffd17        ldw     r2,-12(fp)
12923
   4aae0:       1880141e        bne     r3,r2,4ab34 
12924
      break;
12925
 
12926
    /* If in non-blocking mode then return error */
12927
    if (flags & O_NONBLOCK)
12928
   4aae4:       e0bfff17        ldw     r2,-4(fp)
12929
   4aae8:       1090000c        andi    r2,r2,16384
12930
   4aaec:       1000131e        bne     r2,zero,4ab3c 
12931
      while (in == sp->rx_in && sp->host_inactive < sp->timeout)
12932
        ;
12933
    }
12934
#else
12935
    /* No OS: Always spin */
12936
    while (in == sp->rx_in && sp->host_inactive < sp->timeout)
12937
   4aaf0:       0001883a        nop
12938
   4aaf4:       e0bffc17        ldw     r2,-16(fp)
12939
   4aaf8:       10c00a17        ldw     r3,40(r2)
12940
   4aafc:       e0bff717        ldw     r2,-36(fp)
12941
   4ab00:       1880051e        bne     r3,r2,4ab18 
12942
   4ab04:       e0bffc17        ldw     r2,-16(fp)
12943
   4ab08:       10c00917        ldw     r3,36(r2)
12944
   4ab0c:       e0bffc17        ldw     r2,-16(fp)
12945
   4ab10:       10800117        ldw     r2,4(r2)
12946
   4ab14:       18bff736        bltu    r3,r2,4aaf4 <__alt_data_end+0xfffe39f4>
12947
      ;
12948
#endif /* __ucosii__ */
12949
 
12950
    if (in == sp->rx_in)
12951
   4ab18:       e0bffc17        ldw     r2,-16(fp)
12952
   4ab1c:       10c00a17        ldw     r3,40(r2)
12953
   4ab20:       e0bff717        ldw     r2,-36(fp)
12954
   4ab24:       18800726        beq     r3,r2,4ab44 
12955
   * When running in a multi threaded environment, obtain the "read_lock"
12956
   * semaphore. This ensures that reading from the device is thread-safe.
12957
   */
12958
  ALT_SEM_PEND (sp->read_lock, 0);
12959
 
12960
  while (space > 0)
12961
   4ab28:       e0bffe17        ldw     r2,-8(fp)
12962
   4ab2c:       00bfb716        blt     zero,r2,4aa0c <__alt_data_end+0xfffe390c>
12963
   4ab30:       00000506        br      4ab48 
12964
    }
12965
    while (space > 0);
12966
 
12967
    /* If we read any data then return it */
12968
    if (ptr != buffer)
12969
      break;
12970
   4ab34:       0001883a        nop
12971
   4ab38:       00000306        br      4ab48 
12972
 
12973
    /* If in non-blocking mode then return error */
12974
    if (flags & O_NONBLOCK)
12975
      break;
12976
   4ab3c:       0001883a        nop
12977
   4ab40:       00000106        br      4ab48 
12978
    while (in == sp->rx_in && sp->host_inactive < sp->timeout)
12979
      ;
12980
#endif /* __ucosii__ */
12981
 
12982
    if (in == sp->rx_in)
12983
      break;
12984
   4ab44:       0001883a        nop
12985
   * semaphore so that other threads can access the buffer.
12986
   */
12987
 
12988
  ALT_SEM_POST (sp->read_lock);
12989
 
12990
  if (ptr != buffer)
12991
   4ab48:       e0fff517        ldw     r3,-44(fp)
12992
   4ab4c:       e0bffd17        ldw     r2,-12(fp)
12993
   4ab50:       18801726        beq     r3,r2,4abb0 
12994
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
12995
       alt_irq_disable_all (void)
12996
{
12997
  alt_irq_context context;
12998
 
12999
  NIOS2_READ_STATUS (context);
13000
   4ab54:       0005303a        rdctl   r2,status
13001
   4ab58:       e0bffa15        stw     r2,-24(fp)
13002
 
13003
  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
13004
   4ab5c:       e0fffa17        ldw     r3,-24(fp)
13005
   4ab60:       00bfff84        movi    r2,-2
13006
   4ab64:       1884703a        and     r2,r3,r2
13007
   4ab68:       1001703a        wrctl   status,r2
13008
 
13009
  return context;
13010
   4ab6c:       e0bffa17        ldw     r2,-24(fp)
13011
  {
13012
    /* If we read any data then there is space in the buffer so enable interrupts */
13013
    context = alt_irq_disable_all();
13014
   4ab70:       e0bff915        stw     r2,-28(fp)
13015
    sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
13016
   4ab74:       e0bffc17        ldw     r2,-16(fp)
13017
   4ab78:       10800817        ldw     r2,32(r2)
13018
   4ab7c:       10c00054        ori     r3,r2,1
13019
   4ab80:       e0bffc17        ldw     r2,-16(fp)
13020
   4ab84:       10c00815        stw     r3,32(r2)
13021
    IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
13022
   4ab88:       e0bffc17        ldw     r2,-16(fp)
13023
   4ab8c:       10800017        ldw     r2,0(r2)
13024
   4ab90:       10800104        addi    r2,r2,4
13025
   4ab94:       e0fffc17        ldw     r3,-16(fp)
13026
   4ab98:       18c00817        ldw     r3,32(r3)
13027
   4ab9c:       10c00035        stwio   r3,0(r2)
13028
   4aba0:       e0bff917        ldw     r2,-28(fp)
13029
   4aba4:       e0bffb15        stw     r2,-20(fp)
13030
  status &= ~NIOS2_STATUS_PIE_MSK;
13031
  status |= (context & NIOS2_STATUS_PIE_MSK);
13032
 
13033
  NIOS2_WRITE_STATUS (status);
13034
#else
13035
  NIOS2_WRITE_STATUS (context);
13036
   4aba8:       e0bffb17        ldw     r2,-20(fp)
13037
   4abac:       1001703a        wrctl   status,r2
13038
    alt_irq_enable_all(context);
13039
  }
13040
 
13041
  if (ptr != buffer)
13042
   4abb0:       e0fff517        ldw     r3,-44(fp)
13043
   4abb4:       e0bffd17        ldw     r2,-12(fp)
13044
   4abb8:       18800426        beq     r3,r2,4abcc 
13045
    return ptr - buffer;
13046
   4abbc:       e0fff517        ldw     r3,-44(fp)
13047
   4abc0:       e0bffd17        ldw     r2,-12(fp)
13048
   4abc4:       1885c83a        sub     r2,r3,r2
13049
   4abc8:       00000606        br      4abe4 
13050
  else if (flags & O_NONBLOCK)
13051
   4abcc:       e0bfff17        ldw     r2,-4(fp)
13052
   4abd0:       1090000c        andi    r2,r2,16384
13053
   4abd4:       10000226        beq     r2,zero,4abe0 
13054
    return -EWOULDBLOCK;
13055
   4abd8:       00bffd44        movi    r2,-11
13056
   4abdc:       00000106        br      4abe4 
13057
  else
13058
    return -EIO;
13059
   4abe0:       00bffec4        movi    r2,-5
13060
}
13061
   4abe4:       e037883a        mov     sp,fp
13062
   4abe8:       dfc00117        ldw     ra,4(sp)
13063
   4abec:       df000017        ldw     fp,0(sp)
13064
   4abf0:       dec00204        addi    sp,sp,8
13065
   4abf4:       f800283a        ret
13066
 
13067
0004abf8 :
13068
/* ----------------------------------------------------------- */
13069
 
13070
int
13071
altera_avalon_jtag_uart_write(altera_avalon_jtag_uart_state* sp,
13072
  const char * ptr, int count, int flags)
13073
{
13074
   4abf8:       defff304        addi    sp,sp,-52
13075
   4abfc:       dfc00c15        stw     ra,48(sp)
13076
   4ac00:       df000b15        stw     fp,44(sp)
13077
   4ac04:       df000b04        addi    fp,sp,44
13078
   4ac08:       e13ffc15        stw     r4,-16(fp)
13079
   4ac0c:       e17ffd15        stw     r5,-12(fp)
13080
   4ac10:       e1bffe15        stw     r6,-8(fp)
13081
   4ac14:       e1ffff15        stw     r7,-4(fp)
13082
  /* Remove warning at optimisation level 03 by seting out to 0 */
13083
  unsigned int in, out=0;
13084
   4ac18:       e03ff515        stw     zero,-44(fp)
13085
  unsigned int n;
13086
  alt_irq_context context;
13087
 
13088
  const char * start = ptr;
13089
   4ac1c:       e0bffd17        ldw     r2,-12(fp)
13090
   4ac20:       e0bff715        stw     r2,-36(fp)
13091
  ALT_SEM_PEND (sp->write_lock, 0);
13092
 
13093
  do
13094
  {
13095
    /* Copy as much as we can into the transmit buffer */
13096
    while (count > 0)
13097
   4ac24:       00003706        br      4ad04 
13098
    {
13099
      /* We need a stable value of the out pointer to calculate the space available */
13100
      in  = sp->tx_in;
13101
   4ac28:       e0bffc17        ldw     r2,-16(fp)
13102
   4ac2c:       10800c17        ldw     r2,48(r2)
13103
   4ac30:       e0bff815        stw     r2,-32(fp)
13104
      out = sp->tx_out;
13105
   4ac34:       e0bffc17        ldw     r2,-16(fp)
13106
   4ac38:       10800d17        ldw     r2,52(r2)
13107
   4ac3c:       e0bff515        stw     r2,-44(fp)
13108
 
13109
      if (in < out)
13110
   4ac40:       e0fff817        ldw     r3,-32(fp)
13111
   4ac44:       e0bff517        ldw     r2,-44(fp)
13112
   4ac48:       1880062e        bgeu    r3,r2,4ac64 
13113
        n = out - 1 - in;
13114
   4ac4c:       e0fff517        ldw     r3,-44(fp)
13115
   4ac50:       e0bff817        ldw     r2,-32(fp)
13116
   4ac54:       1885c83a        sub     r2,r3,r2
13117
   4ac58:       10bfffc4        addi    r2,r2,-1
13118
   4ac5c:       e0bff615        stw     r2,-40(fp)
13119
   4ac60:       00000b06        br      4ac90 
13120
      else if (out > 0)
13121
   4ac64:       e0bff517        ldw     r2,-44(fp)
13122
   4ac68:       10000526        beq     r2,zero,4ac80 
13123
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in;
13124
   4ac6c:       00c20004        movi    r3,2048
13125
   4ac70:       e0bff817        ldw     r2,-32(fp)
13126
   4ac74:       1885c83a        sub     r2,r3,r2
13127
   4ac78:       e0bff615        stw     r2,-40(fp)
13128
   4ac7c:       00000406        br      4ac90 
13129
      else
13130
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in;
13131
   4ac80:       00c1ffc4        movi    r3,2047
13132
   4ac84:       e0bff817        ldw     r2,-32(fp)
13133
   4ac88:       1885c83a        sub     r2,r3,r2
13134
   4ac8c:       e0bff615        stw     r2,-40(fp)
13135
 
13136
      if (n == 0)
13137
   4ac90:       e0bff617        ldw     r2,-40(fp)
13138
   4ac94:       10001e26        beq     r2,zero,4ad10 
13139
        break;
13140
 
13141
      if (n > count)
13142
   4ac98:       e0fffe17        ldw     r3,-8(fp)
13143
   4ac9c:       e0bff617        ldw     r2,-40(fp)
13144
   4aca0:       1880022e        bgeu    r3,r2,4acac 
13145
        n = count;
13146
   4aca4:       e0bffe17        ldw     r2,-8(fp)
13147
   4aca8:       e0bff615        stw     r2,-40(fp)
13148
 
13149
      memcpy(sp->tx_buf + in, ptr, n);
13150
   4acac:       e0bff817        ldw     r2,-32(fp)
13151
   4acb0:       10820e04        addi    r2,r2,2104
13152
   4acb4:       e0fffc17        ldw     r3,-16(fp)
13153
   4acb8:       1885883a        add     r2,r3,r2
13154
   4acbc:       1009883a        mov     r4,r2
13155
   4acc0:       e17ffd17        ldw     r5,-12(fp)
13156
   4acc4:       e1bff617        ldw     r6,-40(fp)
13157
   4acc8:       00460580        call    46058 
13158
      ptr   += n;
13159
   4accc:       e0fffd17        ldw     r3,-12(fp)
13160
   4acd0:       e0bff617        ldw     r2,-40(fp)
13161
   4acd4:       1885883a        add     r2,r3,r2
13162
   4acd8:       e0bffd15        stw     r2,-12(fp)
13163
      count -= n;
13164
   4acdc:       e0fffe17        ldw     r3,-8(fp)
13165
   4ace0:       e0bff617        ldw     r2,-40(fp)
13166
   4ace4:       1885c83a        sub     r2,r3,r2
13167
   4ace8:       e0bffe15        stw     r2,-8(fp)
13168
 
13169
      sp->tx_in = (in + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
13170
   4acec:       e0fff817        ldw     r3,-32(fp)
13171
   4acf0:       e0bff617        ldw     r2,-40(fp)
13172
   4acf4:       1885883a        add     r2,r3,r2
13173
   4acf8:       10c1ffcc        andi    r3,r2,2047
13174
   4acfc:       e0bffc17        ldw     r2,-16(fp)
13175
   4ad00:       10c00c15        stw     r3,48(r2)
13176
  ALT_SEM_PEND (sp->write_lock, 0);
13177
 
13178
  do
13179
  {
13180
    /* Copy as much as we can into the transmit buffer */
13181
    while (count > 0)
13182
   4ad04:       e0bffe17        ldw     r2,-8(fp)
13183
   4ad08:       00bfc716        blt     zero,r2,4ac28 <__alt_data_end+0xfffe3b28>
13184
   4ad0c:       00000106        br      4ad14 
13185
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in;
13186
      else
13187
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in;
13188
 
13189
      if (n == 0)
13190
        break;
13191
   4ad10:       0001883a        nop
13192
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
13193
       alt_irq_disable_all (void)
13194
{
13195
  alt_irq_context context;
13196
 
13197
  NIOS2_READ_STATUS (context);
13198
   4ad14:       0005303a        rdctl   r2,status
13199
   4ad18:       e0bffa15        stw     r2,-24(fp)
13200
 
13201
  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
13202
   4ad1c:       e0fffa17        ldw     r3,-24(fp)
13203
   4ad20:       00bfff84        movi    r2,-2
13204
   4ad24:       1884703a        and     r2,r3,r2
13205
   4ad28:       1001703a        wrctl   status,r2
13206
 
13207
  return context;
13208
   4ad2c:       e0bffa17        ldw     r2,-24(fp)
13209
     * to enable interrupts if there is no space left in the FIFO
13210
     *
13211
     * For now kick the interrupt routine every time to make it transmit
13212
     * the data
13213
     */
13214
    context = alt_irq_disable_all();
13215
   4ad30:       e0bff915        stw     r2,-28(fp)
13216
    sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK;
13217
   4ad34:       e0bffc17        ldw     r2,-16(fp)
13218
   4ad38:       10800817        ldw     r2,32(r2)
13219
   4ad3c:       10c00094        ori     r3,r2,2
13220
   4ad40:       e0bffc17        ldw     r2,-16(fp)
13221
   4ad44:       10c00815        stw     r3,32(r2)
13222
    IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
13223
   4ad48:       e0bffc17        ldw     r2,-16(fp)
13224
   4ad4c:       10800017        ldw     r2,0(r2)
13225
   4ad50:       10800104        addi    r2,r2,4
13226
   4ad54:       e0fffc17        ldw     r3,-16(fp)
13227
   4ad58:       18c00817        ldw     r3,32(r3)
13228
   4ad5c:       10c00035        stwio   r3,0(r2)
13229
   4ad60:       e0bff917        ldw     r2,-28(fp)
13230
   4ad64:       e0bffb15        stw     r2,-20(fp)
13231
  status &= ~NIOS2_STATUS_PIE_MSK;
13232
  status |= (context & NIOS2_STATUS_PIE_MSK);
13233
 
13234
  NIOS2_WRITE_STATUS (status);
13235
#else
13236
  NIOS2_WRITE_STATUS (context);
13237
   4ad68:       e0bffb17        ldw     r2,-20(fp)
13238
   4ad6c:       1001703a        wrctl   status,r2
13239
    /*
13240
     * If there is any data left then either return now or block until
13241
     * some has been sent
13242
     */
13243
    /* consider: test whether there is anything there while doing this and delay for at most 2s. */
13244
    if (count > 0)
13245
   4ad70:       e0bffe17        ldw     r2,-8(fp)
13246
   4ad74:       0080100e        bge     zero,r2,4adb8 
13247
    {
13248
      if (flags & O_NONBLOCK)
13249
   4ad78:       e0bfff17        ldw     r2,-4(fp)
13250
   4ad7c:       1090000c        andi    r2,r2,16384
13251
   4ad80:       1000101e        bne     r2,zero,4adc4 
13252
      /*
13253
       * No OS present: Always wait for data to be removed from buffer.  Once
13254
       * the interrupt routine has removed some data then we will be able to
13255
       * insert some more.
13256
       */
13257
      while (out == sp->tx_out && sp->host_inactive < sp->timeout)
13258
   4ad84:       0001883a        nop
13259
   4ad88:       e0bffc17        ldw     r2,-16(fp)
13260
   4ad8c:       10c00d17        ldw     r3,52(r2)
13261
   4ad90:       e0bff517        ldw     r2,-44(fp)
13262
   4ad94:       1880051e        bne     r3,r2,4adac 
13263
   4ad98:       e0bffc17        ldw     r2,-16(fp)
13264
   4ad9c:       10c00917        ldw     r3,36(r2)
13265
   4ada0:       e0bffc17        ldw     r2,-16(fp)
13266
   4ada4:       10800117        ldw     r2,4(r2)
13267
   4ada8:       18bff736        bltu    r3,r2,4ad88 <__alt_data_end+0xfffe3c88>
13268
        ;
13269
#endif /* __ucosii__ */
13270
 
13271
      if  (sp->host_inactive)
13272
   4adac:       e0bffc17        ldw     r2,-16(fp)
13273
   4adb0:       10800917        ldw     r2,36(r2)
13274
   4adb4:       1000051e        bne     r2,zero,4adcc 
13275
         break;
13276
    }
13277
  }
13278
  while (count > 0);
13279
   4adb8:       e0bffe17        ldw     r2,-8(fp)
13280
   4adbc:       00bfd116        blt     zero,r2,4ad04 <__alt_data_end+0xfffe3c04>
13281
   4adc0:       00000306        br      4add0 
13282
     */
13283
    /* consider: test whether there is anything there while doing this and delay for at most 2s. */
13284
    if (count > 0)
13285
    {
13286
      if (flags & O_NONBLOCK)
13287
        break;
13288
   4adc4:       0001883a        nop
13289
   4adc8:       00000106        br      4add0 
13290
      while (out == sp->tx_out && sp->host_inactive < sp->timeout)
13291
        ;
13292
#endif /* __ucosii__ */
13293
 
13294
      if  (sp->host_inactive)
13295
         break;
13296
   4adcc:       0001883a        nop
13297
   * Now that access to the circular buffer is complete, release the write
13298
   * semaphore so that other threads can access the buffer.
13299
   */
13300
  ALT_SEM_POST (sp->write_lock);
13301
 
13302
  if (ptr != start)
13303
   4add0:       e0fffd17        ldw     r3,-12(fp)
13304
   4add4:       e0bff717        ldw     r2,-36(fp)
13305
   4add8:       18800426        beq     r3,r2,4adec 
13306
    return ptr - start;
13307
   4addc:       e0fffd17        ldw     r3,-12(fp)
13308
   4ade0:       e0bff717        ldw     r2,-36(fp)
13309
   4ade4:       1885c83a        sub     r2,r3,r2
13310
   4ade8:       00000606        br      4ae04 
13311
  else if (flags & O_NONBLOCK)
13312
   4adec:       e0bfff17        ldw     r2,-4(fp)
13313
   4adf0:       1090000c        andi    r2,r2,16384
13314
   4adf4:       10000226        beq     r2,zero,4ae00 
13315
    return -EWOULDBLOCK;
13316
   4adf8:       00bffd44        movi    r2,-11
13317
   4adfc:       00000106        br      4ae04 
13318
    sp->tx_out = sp->tx_in = 0;
13319
    return ptr - start + count;
13320
  }
13321
#endif
13322
  else
13323
    return -EIO; /* Host not connected */
13324
   4ae00:       00bffec4        movi    r2,-5
13325
}
13326
   4ae04:       e037883a        mov     sp,fp
13327
   4ae08:       dfc00117        ldw     ra,4(sp)
13328
   4ae0c:       df000017        ldw     fp,0(sp)
13329
   4ae10:       dec00204        addi    sp,sp,8
13330
   4ae14:       f800283a        ret
13331
 
13332
0004ae18 :
13333
 */
13334
 
13335
int alt_alarm_start (alt_alarm* alarm, alt_u32 nticks,
13336
                     alt_u32 (*callback) (void* context),
13337
                     void* context)
13338
{
13339
   4ae18:       defff504        addi    sp,sp,-44
13340
   4ae1c:       df000a15        stw     fp,40(sp)
13341
   4ae20:       df000a04        addi    fp,sp,40
13342
   4ae24:       e13ffc15        stw     r4,-16(fp)
13343
   4ae28:       e17ffd15        stw     r5,-12(fp)
13344
   4ae2c:       e1bffe15        stw     r6,-8(fp)
13345
   4ae30:       e1ffff15        stw     r7,-4(fp)
13346
  alt_irq_context irq_context;
13347
  alt_u32 current_nticks = 0;
13348
   4ae34:       e03ff615        stw     zero,-40(fp)
13349
   4ae38:       00800174        movhi   r2,5
13350
   4ae3c:       10be7c04        addi    r2,r2,-1552
13351
   4ae40:       10800017        ldw     r2,0(r2)
13352
 
13353
  if (alt_ticks_per_second ())
13354
   4ae44:       10003f26        beq     r2,zero,4af44 
13355
  {
13356
    if (alarm)
13357
   4ae48:       e0bffc17        ldw     r2,-16(fp)
13358
   4ae4c:       10003b26        beq     r2,zero,4af3c 
13359
    {
13360
      alarm->callback = callback;
13361
   4ae50:       e0bffc17        ldw     r2,-16(fp)
13362
   4ae54:       e0fffe17        ldw     r3,-8(fp)
13363
   4ae58:       10c00315        stw     r3,12(r2)
13364
      alarm->context  = context;
13365
   4ae5c:       e0bffc17        ldw     r2,-16(fp)
13366
   4ae60:       e0ffff17        ldw     r3,-4(fp)
13367
   4ae64:       10c00515        stw     r3,20(r2)
13368
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
13369
       alt_irq_disable_all (void)
13370
{
13371
  alt_irq_context context;
13372
 
13373
  NIOS2_READ_STATUS (context);
13374
   4ae68:       0005303a        rdctl   r2,status
13375
   4ae6c:       e0bff815        stw     r2,-32(fp)
13376
 
13377
  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
13378
   4ae70:       e0fff817        ldw     r3,-32(fp)
13379
   4ae74:       00bfff84        movi    r2,-2
13380
   4ae78:       1884703a        and     r2,r3,r2
13381
   4ae7c:       1001703a        wrctl   status,r2
13382
 
13383
  return context;
13384
   4ae80:       e0bff817        ldw     r2,-32(fp)
13385
 
13386
      irq_context = alt_irq_disable_all ();
13387
   4ae84:       e0bff715        stw     r2,-36(fp)
13388
 * alt_nticks() returns the elapsed number of system clock ticks since reset.
13389
 */
13390
 
13391
static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_nticks (void)
13392
{
13393
  return _alt_nticks;
13394
   4ae88:       00800174        movhi   r2,5
13395
   4ae8c:       10be7d04        addi    r2,r2,-1548
13396
   4ae90:       10800017        ldw     r2,0(r2)
13397
 
13398
      current_nticks = alt_nticks();
13399
   4ae94:       e0bff615        stw     r2,-40(fp)
13400
 
13401
      alarm->time = nticks + current_nticks + 1;
13402
   4ae98:       e0fffd17        ldw     r3,-12(fp)
13403
   4ae9c:       e0bff617        ldw     r2,-40(fp)
13404
   4aea0:       1885883a        add     r2,r3,r2
13405
   4aea4:       10c00044        addi    r3,r2,1
13406
   4aea8:       e0bffc17        ldw     r2,-16(fp)
13407
   4aeac:       10c00215        stw     r3,8(r2)
13408
      /*
13409
       * If the desired alarm time causes a roll-over, set the rollover
13410
       * flag. This will prevent the subsequent tick event from causing
13411
       * an alarm too early.
13412
       */
13413
      if(alarm->time < current_nticks)
13414
   4aeb0:       e0bffc17        ldw     r2,-16(fp)
13415
   4aeb4:       10c00217        ldw     r3,8(r2)
13416
   4aeb8:       e0bff617        ldw     r2,-40(fp)
13417
   4aebc:       1880042e        bgeu    r3,r2,4aed0 
13418
      {
13419
        alarm->rollover = 1;
13420
   4aec0:       e0bffc17        ldw     r2,-16(fp)
13421
   4aec4:       00c00044        movi    r3,1
13422
   4aec8:       10c00405        stb     r3,16(r2)
13423
   4aecc:       00000206        br      4aed8 
13424
      }
13425
      else
13426
      {
13427
        alarm->rollover = 0;
13428
   4aed0:       e0bffc17        ldw     r2,-16(fp)
13429
   4aed4:       10000405        stb     zero,16(r2)
13430
      }
13431
 
13432
      alt_llist_insert (&alt_alarm_list, &alarm->llist);
13433
   4aed8:       e0bffc17        ldw     r2,-16(fp)
13434
   4aedc:       00c00174        movhi   r3,5
13435
   4aee0:       18f7d904        addi    r3,r3,-8348
13436
   4aee4:       e0fff915        stw     r3,-28(fp)
13437
   4aee8:       e0bffa15        stw     r2,-24(fp)
13438
 */
13439
 
13440
static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list,
13441
                alt_llist* entry)
13442
{
13443
  entry->previous = list;
13444
   4aeec:       e0bffa17        ldw     r2,-24(fp)
13445
   4aef0:       e0fff917        ldw     r3,-28(fp)
13446
   4aef4:       10c00115        stw     r3,4(r2)
13447
  entry->next     = list->next;
13448
   4aef8:       e0bff917        ldw     r2,-28(fp)
13449
   4aefc:       10c00017        ldw     r3,0(r2)
13450
   4af00:       e0bffa17        ldw     r2,-24(fp)
13451
   4af04:       10c00015        stw     r3,0(r2)
13452
 
13453
  list->next->previous = entry;
13454
   4af08:       e0bff917        ldw     r2,-28(fp)
13455
   4af0c:       10800017        ldw     r2,0(r2)
13456
   4af10:       e0fffa17        ldw     r3,-24(fp)
13457
   4af14:       10c00115        stw     r3,4(r2)
13458
  list->next           = entry;
13459
   4af18:       e0bff917        ldw     r2,-28(fp)
13460
   4af1c:       e0fffa17        ldw     r3,-24(fp)
13461
   4af20:       10c00015        stw     r3,0(r2)
13462
   4af24:       e0bff717        ldw     r2,-36(fp)
13463
   4af28:       e0bffb15        stw     r2,-20(fp)
13464
  status &= ~NIOS2_STATUS_PIE_MSK;
13465
  status |= (context & NIOS2_STATUS_PIE_MSK);
13466
 
13467
  NIOS2_WRITE_STATUS (status);
13468
#else
13469
  NIOS2_WRITE_STATUS (context);
13470
   4af2c:       e0bffb17        ldw     r2,-20(fp)
13471
   4af30:       1001703a        wrctl   status,r2
13472
      alt_irq_enable_all (irq_context);
13473
 
13474
      return 0;
13475
   4af34:       0005883a        mov     r2,zero
13476
   4af38:       00000306        br      4af48 
13477
    }
13478
    else
13479
    {
13480
      return -EINVAL;
13481
   4af3c:       00bffa84        movi    r2,-22
13482
   4af40:       00000106        br      4af48 
13483
    }
13484
  }
13485
  else
13486
  {
13487
    return -ENOTSUP;
13488
   4af44:       00bfde84        movi    r2,-134
13489
  }
13490
}
13491
   4af48:       e037883a        mov     sp,fp
13492
   4af4c:       df000017        ldw     fp,0(sp)
13493
   4af50:       dec00104        addi    sp,sp,4
13494
   4af54:       f800283a        ret
13495
 
13496
0004af58 :
13497
#include "alt_types.h"
13498
 
13499
#include "priv/alt_busy_sleep.h"
13500
 
13501
unsigned int alt_busy_sleep (unsigned int us)
13502
{
13503
   4af58:       defffa04        addi    sp,sp,-24
13504
   4af5c:       dfc00515        stw     ra,20(sp)
13505
   4af60:       df000415        stw     fp,16(sp)
13506
   4af64:       df000404        addi    fp,sp,16
13507
   4af68:       e13fff15        stw     r4,-4(fp)
13508
  {
13509
    cycles_per_loop = 9;
13510
  }
13511
  else
13512
  {
13513
    cycles_per_loop = 3;
13514
   4af6c:       008000c4        movi    r2,3
13515
   4af70:       e0bffd15        stw     r2,-12(fp)
13516
  }
13517
 
13518
 
13519
  big_loops = us / (INT_MAX/
13520
  (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));
13521
   4af74:       e0fffd17        ldw     r3,-12(fp)
13522
   4af78:       008003f4        movhi   r2,15
13523
   4af7c:       10909004        addi    r2,r2,16960
13524
   4af80:       1885383a        mul     r2,r3,r2
13525
   4af84:       01017db4        movhi   r4,1526
13526
   4af88:       21384004        addi    r4,r4,-7936
13527
   4af8c:       100b883a        mov     r5,r2
13528
   4af90:       00498140        call    49814 <__udivsi3>
13529
  {
13530
    cycles_per_loop = 3;
13531
  }
13532
 
13533
 
13534
  big_loops = us / (INT_MAX/
13535
   4af94:       01200034        movhi   r4,32768
13536
   4af98:       213fffc4        addi    r4,r4,-1
13537
   4af9c:       100b883a        mov     r5,r2
13538
   4afa0:       00498140        call    49814 <__udivsi3>
13539
   4afa4:       e13fff17        ldw     r4,-4(fp)
13540
   4afa8:       100b883a        mov     r5,r2
13541
   4afac:       00498140        call    49814 <__udivsi3>
13542
   4afb0:       e0bffe15        stw     r2,-8(fp)
13543
  (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));
13544
 
13545
  if (big_loops)
13546
   4afb4:       e0bffe17        ldw     r2,-8(fp)
13547
   4afb8:       10002926        beq     r2,zero,4b060 
13548
  {
13549
    for(i=0;i
13550
   4afbc:       e03ffc15        stw     zero,-16(fp)
13551
   4afc0:       00001606        br      4b01c 
13552
      /*
13553
      * Do NOT Try to single step the asm statement below
13554
      * (single step will never return)
13555
      * Step out of this function or set a breakpoint after the asm statements
13556
      */
13557
      __asm__ volatile (
13558
   4afc4:       00a00034        movhi   r2,32768
13559
   4afc8:       10bfffc4        addi    r2,r2,-1
13560
   4afcc:       10bfffc4        addi    r2,r2,-1
13561
   4afd0:       103ffe1e        bne     r2,zero,4afcc <__alt_data_end+0xfffe3ecc>
13562
        "\n\t.pushsection .debug_alt_sim_info"
13563
        "\n\t.int 4, 0, 0b, 1b"
13564
        "\n\t.popsection"
13565
        :: "r" (INT_MAX));
13566
      us -= (INT_MAX/(ALT_CPU_FREQ/
13567
      (cycles_per_loop * 1000000)));
13568
   4afd4:       e0fffd17        ldw     r3,-12(fp)
13569
   4afd8:       008003f4        movhi   r2,15
13570
   4afdc:       10909004        addi    r2,r2,16960
13571
   4afe0:       1885383a        mul     r2,r3,r2
13572
        "\n1:"
13573
        "\n\t.pushsection .debug_alt_sim_info"
13574
        "\n\t.int 4, 0, 0b, 1b"
13575
        "\n\t.popsection"
13576
        :: "r" (INT_MAX));
13577
      us -= (INT_MAX/(ALT_CPU_FREQ/
13578
   4afe4:       01017db4        movhi   r4,1526
13579
   4afe8:       21384004        addi    r4,r4,-7936
13580
   4afec:       100b883a        mov     r5,r2
13581
   4aff0:       00498140        call    49814 <__udivsi3>
13582
   4aff4:       01200034        movhi   r4,32768
13583
   4aff8:       213fffc4        addi    r4,r4,-1
13584
   4affc:       100b883a        mov     r5,r2
13585
   4b000:       00498140        call    49814 <__udivsi3>
13586
   4b004:       e0ffff17        ldw     r3,-4(fp)
13587
   4b008:       1885c83a        sub     r2,r3,r2
13588
   4b00c:       e0bfff15        stw     r2,-4(fp)
13589
  big_loops = us / (INT_MAX/
13590
  (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));
13591
 
13592
  if (big_loops)
13593
  {
13594
    for(i=0;i
13595
   4b010:       e0bffc17        ldw     r2,-16(fp)
13596
   4b014:       10800044        addi    r2,r2,1
13597
   4b018:       e0bffc15        stw     r2,-16(fp)
13598
   4b01c:       e0fffc17        ldw     r3,-16(fp)
13599
   4b020:       e0bffe17        ldw     r2,-8(fp)
13600
   4b024:       18bfe716        blt     r3,r2,4afc4 <__alt_data_end+0xfffe3ec4>
13601
      "\n\tbne %0,zero,0b"
13602
      "\n1:"
13603
      "\n\t.pushsection .debug_alt_sim_info"
13604
      "\n\t.int 4, 0, 0b, 1b"
13605
      "\n\t.popsection"
13606
      :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000))));
13607
   4b028:       e0fffd17        ldw     r3,-12(fp)
13608
   4b02c:       008003f4        movhi   r2,15
13609
   4b030:       10909004        addi    r2,r2,16960
13610
   4b034:       1885383a        mul     r2,r3,r2
13611
   4b038:       01017db4        movhi   r4,1526
13612
   4b03c:       21384004        addi    r4,r4,-7936
13613
   4b040:       100b883a        mov     r5,r2
13614
   4b044:       00498140        call    49814 <__udivsi3>
13615
   4b048:       1007883a        mov     r3,r2
13616
   4b04c:       e0bfff17        ldw     r2,-4(fp)
13617
   4b050:       1885383a        mul     r2,r3,r2
13618
    /*
13619
    * Do NOT Try to single step the asm statement below
13620
    * (single step will never return)
13621
    * Step out of this function or set a breakpoint after the asm statements
13622
    */
13623
    __asm__ volatile (
13624
   4b054:       10bfffc4        addi    r2,r2,-1
13625
   4b058:       103ffe1e        bne     r2,zero,4b054 <__alt_data_end+0xfffe3f54>
13626
   4b05c:       00000d06        br      4b094 
13627
      "\n\tbgt %0,zero,0b"
13628
      "\n1:"
13629
      "\n\t.pushsection .debug_alt_sim_info"
13630
      "\n\t.int 4, 0, 0b, 1b"
13631
      "\n\t.popsection"
13632
      :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000))));
13633
   4b060:       e0fffd17        ldw     r3,-12(fp)
13634
   4b064:       008003f4        movhi   r2,15
13635
   4b068:       10909004        addi    r2,r2,16960
13636
   4b06c:       1885383a        mul     r2,r3,r2
13637
   4b070:       01017db4        movhi   r4,1526
13638
   4b074:       21384004        addi    r4,r4,-7936
13639
   4b078:       100b883a        mov     r5,r2
13640
   4b07c:       00498140        call    49814 <__udivsi3>
13641
   4b080:       1007883a        mov     r3,r2
13642
   4b084:       e0bfff17        ldw     r2,-4(fp)
13643
   4b088:       1885383a        mul     r2,r3,r2
13644
    /*
13645
    * Do NOT Try to single step the asm statement below
13646
    * (single step will never return)
13647
    * Step out of this function or set a breakpoint after the asm statements
13648
    */
13649
    __asm__ volatile (
13650
   4b08c:       10bfffc4        addi    r2,r2,-1
13651
   4b090:       00bffe16        blt     zero,r2,4b08c <__alt_data_end+0xfffe3f8c>
13652
      "\n\t.int 4, 0, 0b, 1b"
13653
      "\n\t.popsection"
13654
      :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000))));
13655
  }
13656
#endif /* #ifndef ALT_SIM_OPTIMIZE */
13657
  return 0;
13658
   4b094:       0005883a        mov     r2,zero
13659
}
13660
   4b098:       e037883a        mov     sp,fp
13661
   4b09c:       dfc00117        ldw     ra,4(sp)
13662
   4b0a0:       df000017        ldw     fp,0(sp)
13663
   4b0a4:       dec00204        addi    sp,sp,8
13664
   4b0a8:       f800283a        ret
13665
 
13666
0004b0ac :
13667
/*
13668
 * alt_dcache_flush_all() is called to flush the entire data cache.
13669
 */
13670
 
13671
void alt_dcache_flush_all (void)
13672
{
13673
   4b0ac:       defffe04        addi    sp,sp,-8
13674
   4b0b0:       df000115        stw     fp,4(sp)
13675
   4b0b4:       df000104        addi    fp,sp,4
13676
#if NIOS2_DCACHE_SIZE > 0
13677
  char* i;
13678
 
13679
  for (i = (char*) 0; i < (char*) NIOS2_DCACHE_SIZE; i+= NIOS2_DCACHE_LINE_SIZE)
13680
   4b0b8:       e03fff15        stw     zero,-4(fp)
13681
   4b0bc:       00000506        br      4b0d4 
13682
  {
13683
    __asm__ volatile ("flushd (%0)" :: "r" (i));
13684
   4b0c0:       e0bfff17        ldw     r2,-4(fp)
13685
   4b0c4:       1000003b        flushd  0(r2)
13686
void alt_dcache_flush_all (void)
13687
{
13688
#if NIOS2_DCACHE_SIZE > 0
13689
  char* i;
13690
 
13691
  for (i = (char*) 0; i < (char*) NIOS2_DCACHE_SIZE; i+= NIOS2_DCACHE_LINE_SIZE)
13692
   4b0c8:       e0bfff17        ldw     r2,-4(fp)
13693
   4b0cc:       10800804        addi    r2,r2,32
13694
   4b0d0:       e0bfff15        stw     r2,-4(fp)
13695
   4b0d4:       e0bfff17        ldw     r2,-4(fp)
13696
   4b0d8:       10820030        cmpltui r2,r2,2048
13697
   4b0dc:       103ff81e        bne     r2,zero,4b0c0 <__alt_data_end+0xfffe3fc0>
13698
  {
13699
    __asm__ volatile ("flushd (%0)" :: "r" (i));
13700
  }
13701
#endif /* NIOS2_DCACHE_SIZE > 0 */
13702
}
13703
   4b0e0:       e037883a        mov     sp,fp
13704
   4b0e4:       df000017        ldw     fp,0(sp)
13705
   4b0e8:       dec00104        addi    sp,sp,4
13706
   4b0ec:       f800283a        ret
13707
 
13708
0004b0f0 :
13709
#undef errno
13710
 
13711
extern int errno;
13712
 
13713
static ALT_INLINE int* alt_get_errno(void)
13714
{
13715
   4b0f0:       defffe04        addi    sp,sp,-8
13716
   4b0f4:       dfc00115        stw     ra,4(sp)
13717
   4b0f8:       df000015        stw     fp,0(sp)
13718
   4b0fc:       d839883a        mov     fp,sp
13719
  return ((alt_errno) ? alt_errno() : &errno);
13720
   4b100:       00800174        movhi   r2,5
13721
   4b104:       10b7d604        addi    r2,r2,-8360
13722
   4b108:       10800017        ldw     r2,0(r2)
13723
   4b10c:       10000526        beq     r2,zero,4b124 
13724
   4b110:       00800174        movhi   r2,5
13725
   4b114:       10b7d604        addi    r2,r2,-8360
13726
   4b118:       10800017        ldw     r2,0(r2)
13727
   4b11c:       103ee83a        callr   r2
13728
   4b120:       00000206        br      4b12c 
13729
   4b124:       00800174        movhi   r2,5
13730
   4b128:       10be7704        addi    r2,r2,-1572
13731
}
13732
   4b12c:       e037883a        mov     sp,fp
13733
   4b130:       dfc00117        ldw     ra,4(sp)
13734
   4b134:       df000017        ldw     fp,0(sp)
13735
   4b138:       dec00204        addi    sp,sp,8
13736
   4b13c:       f800283a        ret
13737
 
13738
0004b140 :
13739
/*
13740
 *
13741
 */
13742
 
13743
int alt_dev_llist_insert (alt_dev_llist* dev, alt_llist* list)
13744
{
13745
   4b140:       defffa04        addi    sp,sp,-24
13746
   4b144:       dfc00515        stw     ra,20(sp)
13747
   4b148:       df000415        stw     fp,16(sp)
13748
   4b14c:       df000404        addi    fp,sp,16
13749
   4b150:       e13ffe15        stw     r4,-8(fp)
13750
   4b154:       e17fff15        stw     r5,-4(fp)
13751
  /*
13752
   * check that the device exists, and that it has a valid name.
13753
   */
13754
 
13755
  if (!dev || !dev->name)
13756
   4b158:       e0bffe17        ldw     r2,-8(fp)
13757
   4b15c:       10000326        beq     r2,zero,4b16c 
13758
   4b160:       e0bffe17        ldw     r2,-8(fp)
13759
   4b164:       10800217        ldw     r2,8(r2)
13760
   4b168:       1000051e        bne     r2,zero,4b180 
13761
  {
13762
    ALT_ERRNO = EINVAL;
13763
   4b16c:       004b0f00        call    4b0f0 
13764
   4b170:       00c00584        movi    r3,22
13765
   4b174:       10c00015        stw     r3,0(r2)
13766
    return -EINVAL;
13767
   4b178:       00bffa84        movi    r2,-22
13768
   4b17c:       00001306        br      4b1cc 
13769
 
13770
  /*
13771
   * register the device.
13772
   */
13773
 
13774
  alt_llist_insert(list, &dev->llist);
13775
   4b180:       e0bffe17        ldw     r2,-8(fp)
13776
   4b184:       e0ffff17        ldw     r3,-4(fp)
13777
   4b188:       e0fffc15        stw     r3,-16(fp)
13778
   4b18c:       e0bffd15        stw     r2,-12(fp)
13779
 */
13780
 
13781
static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list,
13782
                alt_llist* entry)
13783
{
13784
  entry->previous = list;
13785
   4b190:       e0bffd17        ldw     r2,-12(fp)
13786
   4b194:       e0fffc17        ldw     r3,-16(fp)
13787
   4b198:       10c00115        stw     r3,4(r2)
13788
  entry->next     = list->next;
13789
   4b19c:       e0bffc17        ldw     r2,-16(fp)
13790
   4b1a0:       10c00017        ldw     r3,0(r2)
13791
   4b1a4:       e0bffd17        ldw     r2,-12(fp)
13792
   4b1a8:       10c00015        stw     r3,0(r2)
13793
 
13794
  list->next->previous = entry;
13795
   4b1ac:       e0bffc17        ldw     r2,-16(fp)
13796
   4b1b0:       10800017        ldw     r2,0(r2)
13797
   4b1b4:       e0fffd17        ldw     r3,-12(fp)
13798
   4b1b8:       10c00115        stw     r3,4(r2)
13799
  list->next           = entry;
13800
   4b1bc:       e0bffc17        ldw     r2,-16(fp)
13801
   4b1c0:       e0fffd17        ldw     r3,-12(fp)
13802
   4b1c4:       10c00015        stw     r3,0(r2)
13803
 
13804
  return 0;
13805
   4b1c8:       0005883a        mov     r2,zero
13806
}
13807
   4b1cc:       e037883a        mov     sp,fp
13808
   4b1d0:       dfc00117        ldw     ra,4(sp)
13809
   4b1d4:       df000017        ldw     fp,0(sp)
13810
   4b1d8:       dec00204        addi    sp,sp,8
13811
   4b1dc:       f800283a        ret
13812
 
13813
0004b1e0 <_do_ctors>:
13814
/*
13815
 * Run the C++ static constructors.
13816
 */
13817
 
13818
void _do_ctors(void)
13819
{
13820
   4b1e0:       defffd04        addi    sp,sp,-12
13821
   4b1e4:       dfc00215        stw     ra,8(sp)
13822
   4b1e8:       df000115        stw     fp,4(sp)
13823
   4b1ec:       df000104        addi    fp,sp,4
13824
  constructor* ctor;
13825
 
13826
  for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--)
13827
   4b1f0:       00800174        movhi   r2,5
13828
   4b1f4:       10b06a04        addi    r2,r2,-15960
13829
   4b1f8:       e0bfff15        stw     r2,-4(fp)
13830
   4b1fc:       00000606        br      4b218 <_do_ctors+0x38>
13831
        (*ctor) ();
13832
   4b200:       e0bfff17        ldw     r2,-4(fp)
13833
   4b204:       10800017        ldw     r2,0(r2)
13834
   4b208:       103ee83a        callr   r2
13835
 
13836
void _do_ctors(void)
13837
{
13838
  constructor* ctor;
13839
 
13840
  for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--)
13841
   4b20c:       e0bfff17        ldw     r2,-4(fp)
13842
   4b210:       10bfff04        addi    r2,r2,-4
13843
   4b214:       e0bfff15        stw     r2,-4(fp)
13844
   4b218:       e0ffff17        ldw     r3,-4(fp)
13845
   4b21c:       00800174        movhi   r2,5
13846
   4b220:       10b06b04        addi    r2,r2,-15956
13847
   4b224:       18bff62e        bgeu    r3,r2,4b200 <__alt_data_end+0xfffe4100>
13848
        (*ctor) ();
13849
}
13850
   4b228:       e037883a        mov     sp,fp
13851
   4b22c:       dfc00117        ldw     ra,4(sp)
13852
   4b230:       df000017        ldw     fp,0(sp)
13853
   4b234:       dec00204        addi    sp,sp,8
13854
   4b238:       f800283a        ret
13855
 
13856
0004b23c <_do_dtors>:
13857
/*
13858
 * Run the C++ static destructors.
13859
 */
13860
 
13861
void _do_dtors(void)
13862
{
13863
   4b23c:       defffd04        addi    sp,sp,-12
13864
   4b240:       dfc00215        stw     ra,8(sp)
13865
   4b244:       df000115        stw     fp,4(sp)
13866
   4b248:       df000104        addi    fp,sp,4
13867
  destructor* dtor;
13868
 
13869
  for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--)
13870
   4b24c:       00800174        movhi   r2,5
13871
   4b250:       10b06a04        addi    r2,r2,-15960
13872
   4b254:       e0bfff15        stw     r2,-4(fp)
13873
   4b258:       00000606        br      4b274 <_do_dtors+0x38>
13874
        (*dtor) ();
13875
   4b25c:       e0bfff17        ldw     r2,-4(fp)
13876
   4b260:       10800017        ldw     r2,0(r2)
13877
   4b264:       103ee83a        callr   r2
13878
 
13879
void _do_dtors(void)
13880
{
13881
  destructor* dtor;
13882
 
13883
  for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--)
13884
   4b268:       e0bfff17        ldw     r2,-4(fp)
13885
   4b26c:       10bfff04        addi    r2,r2,-4
13886
   4b270:       e0bfff15        stw     r2,-4(fp)
13887
   4b274:       e0ffff17        ldw     r3,-4(fp)
13888
   4b278:       00800174        movhi   r2,5
13889
   4b27c:       10b06b04        addi    r2,r2,-15956
13890
   4b280:       18bff62e        bgeu    r3,r2,4b25c <__alt_data_end+0xfffe415c>
13891
        (*dtor) ();
13892
}
13893
   4b284:       e037883a        mov     sp,fp
13894
   4b288:       dfc00117        ldw     ra,4(sp)
13895
   4b28c:       df000017        ldw     fp,0(sp)
13896
   4b290:       dec00204        addi    sp,sp,8
13897
   4b294:       f800283a        ret
13898
 
13899
0004b298 :
13900
/*
13901
 * alt_icache_flush_all() is called to flush the entire instruction cache.
13902
 */
13903
 
13904
void alt_icache_flush_all (void)
13905
{
13906
   4b298:       defffe04        addi    sp,sp,-8
13907
   4b29c:       dfc00115        stw     ra,4(sp)
13908
   4b2a0:       df000015        stw     fp,0(sp)
13909
   4b2a4:       d839883a        mov     fp,sp
13910
#if NIOS2_ICACHE_SIZE > 0
13911
  alt_icache_flush (0, NIOS2_ICACHE_SIZE);
13912
   4b2a8:       0009883a        mov     r4,zero
13913
   4b2ac:       01440004        movi    r5,4096
13914
   4b2b0:       004bd4c0        call    4bd4c 
13915
#endif
13916
}
13917
   4b2b4:       e037883a        mov     sp,fp
13918
   4b2b8:       dfc00117        ldw     ra,4(sp)
13919
   4b2bc:       df000017        ldw     fp,0(sp)
13920
   4b2c0:       dec00204        addi    sp,sp,8
13921
   4b2c4:       f800283a        ret
13922
 
13923
0004b2c8 :
13924
  * @param irq              IRQ number
13925
  * @return                 0 if successful, else error (-1)
13926
  */
13927
int alt_ic_isr_register(alt_u32 ic_id, alt_u32 irq, alt_isr_func isr,
13928
  void *isr_context, void *flags)
13929
{
13930
   4b2c8:       defff904        addi    sp,sp,-28
13931
   4b2cc:       dfc00615        stw     ra,24(sp)
13932
   4b2d0:       df000515        stw     fp,20(sp)
13933
   4b2d4:       df000504        addi    fp,sp,20
13934
   4b2d8:       e13ffc15        stw     r4,-16(fp)
13935
   4b2dc:       e17ffd15        stw     r5,-12(fp)
13936
   4b2e0:       e1bffe15        stw     r6,-8(fp)
13937
   4b2e4:       e1ffff15        stw     r7,-4(fp)
13938
    return alt_iic_isr_register(ic_id, irq, isr, isr_context, flags);
13939
   4b2e8:       e0800217        ldw     r2,8(fp)
13940
   4b2ec:       d8800015        stw     r2,0(sp)
13941
   4b2f0:       e13ffc17        ldw     r4,-16(fp)
13942
   4b2f4:       e17ffd17        ldw     r5,-12(fp)
13943
   4b2f8:       e1bffe17        ldw     r6,-8(fp)
13944
   4b2fc:       e1ffff17        ldw     r7,-4(fp)
13945
   4b300:       004b4a00        call    4b4a0 
13946
}
13947
   4b304:       e037883a        mov     sp,fp
13948
   4b308:       dfc00117        ldw     ra,4(sp)
13949
   4b30c:       df000017        ldw     fp,0(sp)
13950
   4b310:       dec00204        addi    sp,sp,8
13951
   4b314:       f800283a        ret
13952
 
13953
0004b318 :
13954
  * @param ic_id            Ignored.
13955
  * @param irq              IRQ number
13956
  * @return                 0 if successful, else error (-1)
13957
  */
13958
int alt_ic_irq_enable (alt_u32 ic_id, alt_u32 irq)
13959
{
13960
   4b318:       defff904        addi    sp,sp,-28
13961
   4b31c:       df000615        stw     fp,24(sp)
13962
   4b320:       df000604        addi    fp,sp,24
13963
   4b324:       e13ffe15        stw     r4,-8(fp)
13964
   4b328:       e17fff15        stw     r5,-4(fp)
13965
   4b32c:       e0bfff17        ldw     r2,-4(fp)
13966
   4b330:       e0bffa15        stw     r2,-24(fp)
13967
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
13968
       alt_irq_disable_all (void)
13969
{
13970
  alt_irq_context context;
13971
 
13972
  NIOS2_READ_STATUS (context);
13973
   4b334:       0005303a        rdctl   r2,status
13974
   4b338:       e0bffb15        stw     r2,-20(fp)
13975
 
13976
  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
13977
   4b33c:       e0fffb17        ldw     r3,-20(fp)
13978
   4b340:       00bfff84        movi    r2,-2
13979
   4b344:       1884703a        and     r2,r3,r2
13980
   4b348:       1001703a        wrctl   status,r2
13981
 
13982
  return context;
13983
   4b34c:       e0bffb17        ldw     r2,-20(fp)
13984
static ALT_INLINE int ALT_ALWAYS_INLINE alt_irq_enable (alt_u32 id)
13985
{
13986
  alt_irq_context  status;
13987
  extern volatile alt_u32 alt_irq_active;
13988
 
13989
  status = alt_irq_disable_all ();
13990
   4b350:       e0bffc15        stw     r2,-16(fp)
13991
 
13992
  alt_irq_active |= (1 << id);
13993
   4b354:       e0bffa17        ldw     r2,-24(fp)
13994
   4b358:       00c00044        movi    r3,1
13995
   4b35c:       1884983a        sll     r2,r3,r2
13996
   4b360:       1007883a        mov     r3,r2
13997
   4b364:       00800174        movhi   r2,5
13998
   4b368:       10be7b04        addi    r2,r2,-1556
13999
   4b36c:       10800017        ldw     r2,0(r2)
14000
   4b370:       1886b03a        or      r3,r3,r2
14001
   4b374:       00800174        movhi   r2,5
14002
   4b378:       10be7b04        addi    r2,r2,-1556
14003
   4b37c:       10c00015        stw     r3,0(r2)
14004
  NIOS2_WRITE_IENABLE (alt_irq_active);
14005
   4b380:       00800174        movhi   r2,5
14006
   4b384:       10be7b04        addi    r2,r2,-1556
14007
   4b388:       10800017        ldw     r2,0(r2)
14008
   4b38c:       100170fa        wrctl   ienable,r2
14009
   4b390:       e0bffc17        ldw     r2,-16(fp)
14010
   4b394:       e0bffd15        stw     r2,-12(fp)
14011
  status &= ~NIOS2_STATUS_PIE_MSK;
14012
  status |= (context & NIOS2_STATUS_PIE_MSK);
14013
 
14014
  NIOS2_WRITE_STATUS (status);
14015
#else
14016
  NIOS2_WRITE_STATUS (context);
14017
   4b398:       e0bffd17        ldw     r2,-12(fp)
14018
   4b39c:       1001703a        wrctl   status,r2
14019
 
14020
  alt_irq_enable_all(status);
14021
 
14022
  return 0;
14023
   4b3a0:       0005883a        mov     r2,zero
14024
    return alt_irq_enable(irq);
14025
}
14026
   4b3a4:       e037883a        mov     sp,fp
14027
   4b3a8:       df000017        ldw     fp,0(sp)
14028
   4b3ac:       dec00104        addi    sp,sp,4
14029
   4b3b0:       f800283a        ret
14030
 
14031
0004b3b4 :
14032
  * @param ic_id            Ignored.
14033
  * @param irq              IRQ number
14034
  * @return                 0 if successful, else error (-1)
14035
  */
14036
int alt_ic_irq_disable(alt_u32 ic_id, alt_u32 irq)
14037
{
14038
   4b3b4:       defff904        addi    sp,sp,-28
14039
   4b3b8:       df000615        stw     fp,24(sp)
14040
   4b3bc:       df000604        addi    fp,sp,24
14041
   4b3c0:       e13ffe15        stw     r4,-8(fp)
14042
   4b3c4:       e17fff15        stw     r5,-4(fp)
14043
   4b3c8:       e0bfff17        ldw     r2,-4(fp)
14044
   4b3cc:       e0bffa15        stw     r2,-24(fp)
14045
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
14046
       alt_irq_disable_all (void)
14047
{
14048
  alt_irq_context context;
14049
 
14050
  NIOS2_READ_STATUS (context);
14051
   4b3d0:       0005303a        rdctl   r2,status
14052
   4b3d4:       e0bffb15        stw     r2,-20(fp)
14053
 
14054
  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
14055
   4b3d8:       e0fffb17        ldw     r3,-20(fp)
14056
   4b3dc:       00bfff84        movi    r2,-2
14057
   4b3e0:       1884703a        and     r2,r3,r2
14058
   4b3e4:       1001703a        wrctl   status,r2
14059
 
14060
  return context;
14061
   4b3e8:       e0bffb17        ldw     r2,-20(fp)
14062
static ALT_INLINE int ALT_ALWAYS_INLINE alt_irq_disable (alt_u32 id)
14063
{
14064
  alt_irq_context  status;
14065
  extern volatile alt_u32 alt_irq_active;
14066
 
14067
  status = alt_irq_disable_all ();
14068
   4b3ec:       e0bffc15        stw     r2,-16(fp)
14069
 
14070
  alt_irq_active &= ~(1 << id);
14071
   4b3f0:       e0bffa17        ldw     r2,-24(fp)
14072
   4b3f4:       00c00044        movi    r3,1
14073
   4b3f8:       1884983a        sll     r2,r3,r2
14074
   4b3fc:       0084303a        nor     r2,zero,r2
14075
   4b400:       1007883a        mov     r3,r2
14076
   4b404:       00800174        movhi   r2,5
14077
   4b408:       10be7b04        addi    r2,r2,-1556
14078
   4b40c:       10800017        ldw     r2,0(r2)
14079
   4b410:       1886703a        and     r3,r3,r2
14080
   4b414:       00800174        movhi   r2,5
14081
   4b418:       10be7b04        addi    r2,r2,-1556
14082
   4b41c:       10c00015        stw     r3,0(r2)
14083
  NIOS2_WRITE_IENABLE (alt_irq_active);
14084
   4b420:       00800174        movhi   r2,5
14085
   4b424:       10be7b04        addi    r2,r2,-1556
14086
   4b428:       10800017        ldw     r2,0(r2)
14087
   4b42c:       100170fa        wrctl   ienable,r2
14088
   4b430:       e0bffc17        ldw     r2,-16(fp)
14089
   4b434:       e0bffd15        stw     r2,-12(fp)
14090
  status &= ~NIOS2_STATUS_PIE_MSK;
14091
  status |= (context & NIOS2_STATUS_PIE_MSK);
14092
 
14093
  NIOS2_WRITE_STATUS (status);
14094
#else
14095
  NIOS2_WRITE_STATUS (context);
14096
   4b438:       e0bffd17        ldw     r2,-12(fp)
14097
   4b43c:       1001703a        wrctl   status,r2
14098
 
14099
  alt_irq_enable_all(status);
14100
 
14101
  return 0;
14102
   4b440:       0005883a        mov     r2,zero
14103
    return alt_irq_disable(irq);
14104
}
14105
   4b444:       e037883a        mov     sp,fp
14106
   4b448:       df000017        ldw     fp,0(sp)
14107
   4b44c:       dec00104        addi    sp,sp,4
14108
   4b450:       f800283a        ret
14109
 
14110
0004b454 :
14111
  * @param irq              IRQ number
14112
  * @return                 Zero if corresponding interrupt is disabled and
14113
  *                         non-zero otherwise.
14114
  */
14115
alt_u32 alt_ic_irq_enabled(alt_u32 ic_id, alt_u32 irq)
14116
{
14117
   4b454:       defffc04        addi    sp,sp,-16
14118
   4b458:       df000315        stw     fp,12(sp)
14119
   4b45c:       df000304        addi    fp,sp,12
14120
   4b460:       e13ffe15        stw     r4,-8(fp)
14121
   4b464:       e17fff15        stw     r5,-4(fp)
14122
    alt_u32 irq_enabled;
14123
 
14124
    NIOS2_READ_IENABLE(irq_enabled);
14125
   4b468:       000530fa        rdctl   r2,ienable
14126
   4b46c:       e0bffd15        stw     r2,-12(fp)
14127
 
14128
    return (irq_enabled & (1 << irq)) ? 1: 0;
14129
   4b470:       e0bfff17        ldw     r2,-4(fp)
14130
   4b474:       00c00044        movi    r3,1
14131
   4b478:       1884983a        sll     r2,r3,r2
14132
   4b47c:       1007883a        mov     r3,r2
14133
   4b480:       e0bffd17        ldw     r2,-12(fp)
14134
   4b484:       1884703a        and     r2,r3,r2
14135
   4b488:       1004c03a        cmpne   r2,r2,zero
14136
   4b48c:       10803fcc        andi    r2,r2,255
14137
}
14138
   4b490:       e037883a        mov     sp,fp
14139
   4b494:       df000017        ldw     fp,0(sp)
14140
   4b498:       dec00104        addi    sp,sp,4
14141
   4b49c:       f800283a        ret
14142
 
14143
0004b4a0 :
14144
  * @param flags
14145
  * @return                 0 if successful, else error (-1)
14146
  */
14147
int alt_iic_isr_register(alt_u32 ic_id, alt_u32 irq, alt_isr_func isr,
14148
  void *isr_context, void *flags)
14149
{
14150
   4b4a0:       defff504        addi    sp,sp,-44
14151
   4b4a4:       dfc00a15        stw     ra,40(sp)
14152
   4b4a8:       df000915        stw     fp,36(sp)
14153
   4b4ac:       df000904        addi    fp,sp,36
14154
   4b4b0:       e13ffc15        stw     r4,-16(fp)
14155
   4b4b4:       e17ffd15        stw     r5,-12(fp)
14156
   4b4b8:       e1bffe15        stw     r6,-8(fp)
14157
   4b4bc:       e1ffff15        stw     r7,-4(fp)
14158
  int rc = -EINVAL;
14159
   4b4c0:       00bffa84        movi    r2,-22
14160
   4b4c4:       e0bff715        stw     r2,-36(fp)
14161
  int id = irq;             /* IRQ interpreted as the interrupt ID. */
14162
   4b4c8:       e0bffd17        ldw     r2,-12(fp)
14163
   4b4cc:       e0bff815        stw     r2,-32(fp)
14164
  alt_irq_context status;
14165
 
14166
  if (id < ALT_NIRQ)
14167
   4b4d0:       e0bff817        ldw     r2,-32(fp)
14168
   4b4d4:       10800808        cmpgei  r2,r2,32
14169
   4b4d8:       1000271e        bne     r2,zero,4b578 
14170
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
14171
       alt_irq_disable_all (void)
14172
{
14173
  alt_irq_context context;
14174
 
14175
  NIOS2_READ_STATUS (context);
14176
   4b4dc:       0005303a        rdctl   r2,status
14177
   4b4e0:       e0bffa15        stw     r2,-24(fp)
14178
 
14179
  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
14180
   4b4e4:       e0fffa17        ldw     r3,-24(fp)
14181
   4b4e8:       00bfff84        movi    r2,-2
14182
   4b4ec:       1884703a        and     r2,r3,r2
14183
   4b4f0:       1001703a        wrctl   status,r2
14184
 
14185
  return context;
14186
   4b4f4:       e0bffa17        ldw     r2,-24(fp)
14187
     * interrupts are disabled while the handler tables are updated to ensure
14188
     * that an interrupt doesn't occur while the tables are in an inconsistant
14189
     * state.
14190
     */
14191
 
14192
    status = alt_irq_disable_all();
14193
   4b4f8:       e0bff915        stw     r2,-28(fp)
14194
 
14195
    alt_irq[id].handler = isr;
14196
   4b4fc:       00c00174        movhi   r3,5
14197
   4b500:       18fe8804        addi    r3,r3,-1504
14198
   4b504:       e0bff817        ldw     r2,-32(fp)
14199
   4b508:       100490fa        slli    r2,r2,3
14200
   4b50c:       1885883a        add     r2,r3,r2
14201
   4b510:       e0fffe17        ldw     r3,-8(fp)
14202
   4b514:       10c00015        stw     r3,0(r2)
14203
    alt_irq[id].context = isr_context;
14204
   4b518:       00c00174        movhi   r3,5
14205
   4b51c:       18fe8804        addi    r3,r3,-1504
14206
   4b520:       e0bff817        ldw     r2,-32(fp)
14207
   4b524:       100490fa        slli    r2,r2,3
14208
   4b528:       1885883a        add     r2,r3,r2
14209
   4b52c:       10800104        addi    r2,r2,4
14210
   4b530:       e0ffff17        ldw     r3,-4(fp)
14211
   4b534:       10c00015        stw     r3,0(r2)
14212
 
14213
    rc = (isr) ? alt_ic_irq_enable(ic_id, id) : alt_ic_irq_disable(ic_id, id);
14214
   4b538:       e0bffe17        ldw     r2,-8(fp)
14215
   4b53c:       10000526        beq     r2,zero,4b554 
14216
   4b540:       e0bff817        ldw     r2,-32(fp)
14217
   4b544:       e13ffc17        ldw     r4,-16(fp)
14218
   4b548:       100b883a        mov     r5,r2
14219
   4b54c:       004b3180        call    4b318 
14220
   4b550:       00000406        br      4b564 
14221
   4b554:       e0bff817        ldw     r2,-32(fp)
14222
   4b558:       e13ffc17        ldw     r4,-16(fp)
14223
   4b55c:       100b883a        mov     r5,r2
14224
   4b560:       004b3b40        call    4b3b4 
14225
   4b564:       e0bff715        stw     r2,-36(fp)
14226
   4b568:       e0bff917        ldw     r2,-28(fp)
14227
   4b56c:       e0bffb15        stw     r2,-20(fp)
14228
  status &= ~NIOS2_STATUS_PIE_MSK;
14229
  status |= (context & NIOS2_STATUS_PIE_MSK);
14230
 
14231
  NIOS2_WRITE_STATUS (status);
14232
#else
14233
  NIOS2_WRITE_STATUS (context);
14234
   4b570:       e0bffb17        ldw     r2,-20(fp)
14235
   4b574:       1001703a        wrctl   status,r2
14236
 
14237
    alt_irq_enable_all(status);
14238
  }
14239
 
14240
  return rc;
14241
   4b578:       e0bff717        ldw     r2,-36(fp)
14242
}
14243
   4b57c:       e037883a        mov     sp,fp
14244
   4b580:       dfc00117        ldw     ra,4(sp)
14245
   4b584:       df000017        ldw     fp,0(sp)
14246
   4b588:       dec00204        addi    sp,sp,8
14247
   4b58c:       f800283a        ret
14248
 
14249
0004b590 :
14250
 * If the device can not be succesfully opened, then the input file descriptor
14251
 * remains unchanged.
14252
 */
14253
 
14254
static void alt_open_fd(alt_fd* fd, const char* name, int flags, int mode)
14255
{
14256
   4b590:       defff904        addi    sp,sp,-28
14257
   4b594:       dfc00615        stw     ra,24(sp)
14258
   4b598:       df000515        stw     fp,20(sp)
14259
   4b59c:       df000504        addi    fp,sp,20
14260
   4b5a0:       e13ffc15        stw     r4,-16(fp)
14261
   4b5a4:       e17ffd15        stw     r5,-12(fp)
14262
   4b5a8:       e1bffe15        stw     r6,-8(fp)
14263
   4b5ac:       e1ffff15        stw     r7,-4(fp)
14264
  int old;
14265
 
14266
  old = open (name, flags, mode);
14267
   4b5b0:       e13ffd17        ldw     r4,-12(fp)
14268
   4b5b4:       e17ffe17        ldw     r5,-8(fp)
14269
   4b5b8:       e1bfff17        ldw     r6,-4(fp)
14270
   4b5bc:       004b7e40        call    4b7e4 
14271
   4b5c0:       e0bffb15        stw     r2,-20(fp)
14272
 
14273
  if (old >= 0)
14274
   4b5c4:       e0bffb17        ldw     r2,-20(fp)
14275
   4b5c8:       10001c16        blt     r2,zero,4b63c 
14276
  {
14277
    fd->dev      = alt_fd_list[old].dev;
14278
   4b5cc:       00c00174        movhi   r3,5
14279
   4b5d0:       18f35404        addi    r3,r3,-12976
14280
   4b5d4:       e0bffb17        ldw     r2,-20(fp)
14281
   4b5d8:       10800324        muli    r2,r2,12
14282
   4b5dc:       1885883a        add     r2,r3,r2
14283
   4b5e0:       10c00017        ldw     r3,0(r2)
14284
   4b5e4:       e0bffc17        ldw     r2,-16(fp)
14285
   4b5e8:       10c00015        stw     r3,0(r2)
14286
    fd->priv     = alt_fd_list[old].priv;
14287
   4b5ec:       00c00174        movhi   r3,5
14288
   4b5f0:       18f35404        addi    r3,r3,-12976
14289
   4b5f4:       e0bffb17        ldw     r2,-20(fp)
14290
   4b5f8:       10800324        muli    r2,r2,12
14291
   4b5fc:       1885883a        add     r2,r3,r2
14292
   4b600:       10800104        addi    r2,r2,4
14293
   4b604:       10c00017        ldw     r3,0(r2)
14294
   4b608:       e0bffc17        ldw     r2,-16(fp)
14295
   4b60c:       10c00115        stw     r3,4(r2)
14296
    fd->fd_flags = alt_fd_list[old].fd_flags;
14297
   4b610:       00c00174        movhi   r3,5
14298
   4b614:       18f35404        addi    r3,r3,-12976
14299
   4b618:       e0bffb17        ldw     r2,-20(fp)
14300
   4b61c:       10800324        muli    r2,r2,12
14301
   4b620:       1885883a        add     r2,r3,r2
14302
   4b624:       10800204        addi    r2,r2,8
14303
   4b628:       10c00017        ldw     r3,0(r2)
14304
   4b62c:       e0bffc17        ldw     r2,-16(fp)
14305
   4b630:       10c00215        stw     r3,8(r2)
14306
 
14307
    alt_release_fd (old);
14308
   4b634:       e13ffb17        ldw     r4,-20(fp)
14309
   4b638:       004a0880        call    4a088 
14310
  }
14311
}
14312
   4b63c:       e037883a        mov     sp,fp
14313
   4b640:       dfc00117        ldw     ra,4(sp)
14314
   4b644:       df000017        ldw     fp,0(sp)
14315
   4b648:       dec00204        addi    sp,sp,8
14316
   4b64c:       f800283a        ret
14317
 
14318
0004b650 :
14319
 */
14320
 
14321
void alt_io_redirect(const char* stdout_dev,
14322
                     const char* stdin_dev,
14323
                     const char* stderr_dev)
14324
{
14325
   4b650:       defffb04        addi    sp,sp,-20
14326
   4b654:       dfc00415        stw     ra,16(sp)
14327
   4b658:       df000315        stw     fp,12(sp)
14328
   4b65c:       df000304        addi    fp,sp,12
14329
   4b660:       e13ffd15        stw     r4,-12(fp)
14330
   4b664:       e17ffe15        stw     r5,-8(fp)
14331
   4b668:       e1bfff15        stw     r6,-4(fp)
14332
  /* Redirect the channels */
14333
 
14334
  alt_open_fd (&alt_fd_list[STDOUT_FILENO], stdout_dev, O_WRONLY, 0777);
14335
   4b66c:       01000174        movhi   r4,5
14336
   4b670:       21335704        addi    r4,r4,-12964
14337
   4b674:       e17ffd17        ldw     r5,-12(fp)
14338
   4b678:       01800044        movi    r6,1
14339
   4b67c:       01c07fc4        movi    r7,511
14340
   4b680:       004b5900        call    4b590 
14341
  alt_open_fd (&alt_fd_list[STDIN_FILENO], stdin_dev, O_RDONLY, 0777);
14342
   4b684:       01000174        movhi   r4,5
14343
   4b688:       21335404        addi    r4,r4,-12976
14344
   4b68c:       e17ffe17        ldw     r5,-8(fp)
14345
   4b690:       000d883a        mov     r6,zero
14346
   4b694:       01c07fc4        movi    r7,511
14347
   4b698:       004b5900        call    4b590 
14348
  alt_open_fd (&alt_fd_list[STDERR_FILENO], stderr_dev, O_WRONLY, 0777);
14349
   4b69c:       01000174        movhi   r4,5
14350
   4b6a0:       21335a04        addi    r4,r4,-12952
14351
   4b6a4:       e17fff17        ldw     r5,-4(fp)
14352
   4b6a8:       01800044        movi    r6,1
14353
   4b6ac:       01c07fc4        movi    r7,511
14354
   4b6b0:       004b5900        call    4b590 
14355
}
14356
   4b6b4:       e037883a        mov     sp,fp
14357
   4b6b8:       dfc00117        ldw     ra,4(sp)
14358
   4b6bc:       df000017        ldw     fp,0(sp)
14359
   4b6c0:       dec00204        addi    sp,sp,8
14360
   4b6c4:       f800283a        ret
14361
 
14362
0004b6c8 :
14363
#undef errno
14364
 
14365
extern int errno;
14366
 
14367
static ALT_INLINE int* alt_get_errno(void)
14368
{
14369
   4b6c8:       defffe04        addi    sp,sp,-8
14370
   4b6cc:       dfc00115        stw     ra,4(sp)
14371
   4b6d0:       df000015        stw     fp,0(sp)
14372
   4b6d4:       d839883a        mov     fp,sp
14373
  return ((alt_errno) ? alt_errno() : &errno);
14374
   4b6d8:       00800174        movhi   r2,5
14375
   4b6dc:       10b7d604        addi    r2,r2,-8360
14376
   4b6e0:       10800017        ldw     r2,0(r2)
14377
   4b6e4:       10000526        beq     r2,zero,4b6fc 
14378
   4b6e8:       00800174        movhi   r2,5
14379
   4b6ec:       10b7d604        addi    r2,r2,-8360
14380
   4b6f0:       10800017        ldw     r2,0(r2)
14381
   4b6f4:       103ee83a        callr   r2
14382
   4b6f8:       00000206        br      4b704 
14383
   4b6fc:       00800174        movhi   r2,5
14384
   4b700:       10be7704        addi    r2,r2,-1572
14385
}
14386
   4b704:       e037883a        mov     sp,fp
14387
   4b708:       dfc00117        ldw     ra,4(sp)
14388
   4b70c:       df000017        ldw     fp,0(sp)
14389
   4b710:       dec00204        addi    sp,sp,8
14390
   4b714:       f800283a        ret
14391
 
14392
0004b718 :
14393
 * performed for devices. Filesystems are required to handle the ioctl() call
14394
 * themselves, and report the error from the filesystems open() function.
14395
 */
14396
 
14397
static int alt_file_locked (alt_fd* fd)
14398
{
14399
   4b718:       defffd04        addi    sp,sp,-12
14400
   4b71c:       df000215        stw     fp,8(sp)
14401
   4b720:       df000204        addi    fp,sp,8
14402
   4b724:       e13fff15        stw     r4,-4(fp)
14403
 
14404
  /*
14405
   * Mark the file descriptor as belonging to a device.
14406
   */
14407
 
14408
  fd->fd_flags |= ALT_FD_DEV;
14409
   4b728:       e0bfff17        ldw     r2,-4(fp)
14410
   4b72c:       10800217        ldw     r2,8(r2)
14411
   4b730:       10d00034        orhi    r3,r2,16384
14412
   4b734:       e0bfff17        ldw     r2,-4(fp)
14413
   4b738:       10c00215        stw     r3,8(r2)
14414
  /*
14415
   * Loop through all current file descriptors searching for one that's locked
14416
   * for exclusive access. If a match is found, generate an error.
14417
   */
14418
 
14419
  for (i = 0; i <= alt_max_fd; i++)
14420
   4b73c:       e03ffe15        stw     zero,-8(fp)
14421
   4b740:       00001d06        br      4b7b8 
14422
  {
14423
    if ((alt_fd_list[i].dev == fd->dev) &&
14424
   4b744:       00c00174        movhi   r3,5
14425
   4b748:       18f35404        addi    r3,r3,-12976
14426
   4b74c:       e0bffe17        ldw     r2,-8(fp)
14427
   4b750:       10800324        muli    r2,r2,12
14428
   4b754:       1885883a        add     r2,r3,r2
14429
   4b758:       10c00017        ldw     r3,0(r2)
14430
   4b75c:       e0bfff17        ldw     r2,-4(fp)
14431
   4b760:       10800017        ldw     r2,0(r2)
14432
   4b764:       1880111e        bne     r3,r2,4b7ac 
14433
        (alt_fd_list[i].fd_flags & ALT_FD_EXCL) &&
14434
   4b768:       00c00174        movhi   r3,5
14435
   4b76c:       18f35404        addi    r3,r3,-12976
14436
   4b770:       e0bffe17        ldw     r2,-8(fp)
14437
   4b774:       10800324        muli    r2,r2,12
14438
   4b778:       1885883a        add     r2,r3,r2
14439
   4b77c:       10800204        addi    r2,r2,8
14440
   4b780:       10800017        ldw     r2,0(r2)
14441
   * for exclusive access. If a match is found, generate an error.
14442
   */
14443
 
14444
  for (i = 0; i <= alt_max_fd; i++)
14445
  {
14446
    if ((alt_fd_list[i].dev == fd->dev) &&
14447
   4b784:       1000090e        bge     r2,zero,4b7ac 
14448
        (alt_fd_list[i].fd_flags & ALT_FD_EXCL) &&
14449
        (&alt_fd_list[i] != fd))
14450
   4b788:       e0bffe17        ldw     r2,-8(fp)
14451
   4b78c:       10c00324        muli    r3,r2,12
14452
   4b790:       00800174        movhi   r2,5
14453
   4b794:       10b35404        addi    r2,r2,-12976
14454
   4b798:       1887883a        add     r3,r3,r2
14455
   */
14456
 
14457
  for (i = 0; i <= alt_max_fd; i++)
14458
  {
14459
    if ((alt_fd_list[i].dev == fd->dev) &&
14460
        (alt_fd_list[i].fd_flags & ALT_FD_EXCL) &&
14461
   4b79c:       e0bfff17        ldw     r2,-4(fp)
14462
   4b7a0:       18800226        beq     r3,r2,4b7ac 
14463
        (&alt_fd_list[i] != fd))
14464
    {
14465
      return -EACCES;
14466
   4b7a4:       00bffcc4        movi    r2,-13
14467
   4b7a8:       00000a06        br      4b7d4 
14468
  /*
14469
   * Loop through all current file descriptors searching for one that's locked
14470
   * for exclusive access. If a match is found, generate an error.
14471
   */
14472
 
14473
  for (i = 0; i <= alt_max_fd; i++)
14474
   4b7ac:       e0bffe17        ldw     r2,-8(fp)
14475
   4b7b0:       10800044        addi    r2,r2,1
14476
   4b7b4:       e0bffe15        stw     r2,-8(fp)
14477
   4b7b8:       00800174        movhi   r2,5
14478
   4b7bc:       10b7d504        addi    r2,r2,-8364
14479
   4b7c0:       10800017        ldw     r2,0(r2)
14480
   4b7c4:       1007883a        mov     r3,r2
14481
   4b7c8:       e0bffe17        ldw     r2,-8(fp)
14482
   4b7cc:       18bfdd2e        bgeu    r3,r2,4b744 <__alt_data_end+0xfffe4644>
14483
    }
14484
  }
14485
 
14486
  /* The device is not locked */
14487
 
14488
  return 0;
14489
   4b7d0:       0005883a        mov     r2,zero
14490
}
14491
   4b7d4:       e037883a        mov     sp,fp
14492
   4b7d8:       df000017        ldw     fp,0(sp)
14493
   4b7dc:       dec00104        addi    sp,sp,4
14494
   4b7e0:       f800283a        ret
14495
 
14496
0004b7e4 :
14497
 *
14498
 * ALT_OPEN is mapped onto the open() system call in alt_syscall.h
14499
 */
14500
 
14501
int ALT_OPEN (const char* file, int flags, int mode)
14502
{
14503
   4b7e4:       defff604        addi    sp,sp,-40
14504
   4b7e8:       dfc00915        stw     ra,36(sp)
14505
   4b7ec:       df000815        stw     fp,32(sp)
14506
   4b7f0:       df000804        addi    fp,sp,32
14507
   4b7f4:       e13ffd15        stw     r4,-12(fp)
14508
   4b7f8:       e17ffe15        stw     r5,-8(fp)
14509
   4b7fc:       e1bfff15        stw     r6,-4(fp)
14510
  alt_dev* dev;
14511
  alt_fd*  fd;
14512
  int index  = -1;
14513
   4b800:       00bfffc4        movi    r2,-1
14514
   4b804:       e0bff915        stw     r2,-28(fp)
14515
  int status = -ENODEV;
14516
   4b808:       00bffb44        movi    r2,-19
14517
   4b80c:       e0bffa15        stw     r2,-24(fp)
14518
  int isafs = 0;
14519
   4b810:       e03ffb15        stw     zero,-20(fp)
14520
  /*
14521
   * Check the device list, to see if a device with a matching name is
14522
   * registered.
14523
   */
14524
 
14525
  if (!(dev = alt_find_dev (file, &alt_dev_list)))
14526
   4b814:       e13ffd17        ldw     r4,-12(fp)
14527
   4b818:       01400174        movhi   r5,5
14528
   4b81c:       2977d304        addi    r5,r5,-8372
14529
   4b820:       004baf40        call    4baf4 
14530
   4b824:       e0bff815        stw     r2,-32(fp)
14531
   4b828:       e0bff817        ldw     r2,-32(fp)
14532
   4b82c:       1000051e        bne     r2,zero,4b844 
14533
  {
14534
    /* No matching device, so try the filesystem list */
14535
 
14536
    dev   = alt_find_file (file);
14537
   4b830:       e13ffd17        ldw     r4,-12(fp)
14538
   4b834:       004bb840        call    4bb84 
14539
   4b838:       e0bff815        stw     r2,-32(fp)
14540
    isafs = 1;
14541
   4b83c:       00800044        movi    r2,1
14542
   4b840:       e0bffb15        stw     r2,-20(fp)
14543
 
14544
  /*
14545
   * If a matching device or filesystem is found, allocate a file descriptor.
14546
   */
14547
 
14548
  if (dev)
14549
   4b844:       e0bff817        ldw     r2,-32(fp)
14550
   4b848:       10002926        beq     r2,zero,4b8f0 
14551
  {
14552
    if ((index = alt_get_fd (dev)) < 0)
14553
   4b84c:       e13ff817        ldw     r4,-32(fp)
14554
   4b850:       004bc980        call    4bc98 
14555
   4b854:       e0bff915        stw     r2,-28(fp)
14556
   4b858:       e0bff917        ldw     r2,-28(fp)
14557
   4b85c:       1000030e        bge     r2,zero,4b86c 
14558
    {
14559
      status = index;
14560
   4b860:       e0bff917        ldw     r2,-28(fp)
14561
   4b864:       e0bffa15        stw     r2,-24(fp)
14562
   4b868:       00002306        br      4b8f8 
14563
    }
14564
    else
14565
    {
14566
      fd = &alt_fd_list[index];
14567
   4b86c:       e0bff917        ldw     r2,-28(fp)
14568
   4b870:       10c00324        muli    r3,r2,12
14569
   4b874:       00800174        movhi   r2,5
14570
   4b878:       10b35404        addi    r2,r2,-12976
14571
   4b87c:       1885883a        add     r2,r3,r2
14572
   4b880:       e0bffc15        stw     r2,-16(fp)
14573
      fd->fd_flags = (flags & ~ALT_FD_FLAGS_MASK);
14574
   4b884:       e0fffe17        ldw     r3,-8(fp)
14575
   4b888:       00900034        movhi   r2,16384
14576
   4b88c:       10bfffc4        addi    r2,r2,-1
14577
   4b890:       1886703a        and     r3,r3,r2
14578
   4b894:       e0bffc17        ldw     r2,-16(fp)
14579
   4b898:       10c00215        stw     r3,8(r2)
14580
 
14581
      /* If this is a device, ensure it isn't already locked */
14582
 
14583
      if (isafs || ((status = alt_file_locked (fd)) >= 0))
14584
   4b89c:       e0bffb17        ldw     r2,-20(fp)
14585
   4b8a0:       1000051e        bne     r2,zero,4b8b8 
14586
   4b8a4:       e13ffc17        ldw     r4,-16(fp)
14587
   4b8a8:       004b7180        call    4b718 
14588
   4b8ac:       e0bffa15        stw     r2,-24(fp)
14589
   4b8b0:       e0bffa17        ldw     r2,-24(fp)
14590
   4b8b4:       10001016        blt     r2,zero,4b8f8 
14591
        /*
14592
         * If the device or filesystem provides an open() callback function,
14593
         * call it now to perform any device/filesystem specific operations.
14594
         */
14595
 
14596
        status = (dev->open) ? dev->open(fd, file, flags, mode): 0;
14597
   4b8b8:       e0bff817        ldw     r2,-32(fp)
14598
   4b8bc:       10800317        ldw     r2,12(r2)
14599
   4b8c0:       10000826        beq     r2,zero,4b8e4 
14600
   4b8c4:       e0bff817        ldw     r2,-32(fp)
14601
   4b8c8:       10800317        ldw     r2,12(r2)
14602
   4b8cc:       e13ffc17        ldw     r4,-16(fp)
14603
   4b8d0:       e17ffd17        ldw     r5,-12(fp)
14604
   4b8d4:       e1bffe17        ldw     r6,-8(fp)
14605
   4b8d8:       e1ffff17        ldw     r7,-4(fp)
14606
   4b8dc:       103ee83a        callr   r2
14607
   4b8e0:       00000106        br      4b8e8 
14608
   4b8e4:       0005883a        mov     r2,zero
14609
   4b8e8:       e0bffa15        stw     r2,-24(fp)
14610
   4b8ec:       00000206        br      4b8f8 
14611
      }
14612
    }
14613
  }
14614
  else
14615
  {
14616
    status = -ENODEV;
14617
   4b8f0:       00bffb44        movi    r2,-19
14618
   4b8f4:       e0bffa15        stw     r2,-24(fp)
14619
  }
14620
 
14621
  /* Allocation failed, so clean up and return an error */
14622
 
14623
  if (status < 0)
14624
   4b8f8:       e0bffa17        ldw     r2,-24(fp)
14625
   4b8fc:       1000080e        bge     r2,zero,4b920 
14626
  {
14627
    alt_release_fd (index);
14628
   4b900:       e13ff917        ldw     r4,-28(fp)
14629
   4b904:       004a0880        call    4a088 
14630
    ALT_ERRNO = -status;
14631
   4b908:       004b6c80        call    4b6c8 
14632
   4b90c:       e0fffa17        ldw     r3,-24(fp)
14633
   4b910:       00c7c83a        sub     r3,zero,r3
14634
   4b914:       10c00015        stw     r3,0(r2)
14635
    return -1;
14636
   4b918:       00bfffc4        movi    r2,-1
14637
   4b91c:       00000106        br      4b924 
14638
  }
14639
 
14640
  /* return the reference upon success */
14641
 
14642
  return index;
14643
   4b920:       e0bff917        ldw     r2,-28(fp)
14644
}
14645
   4b924:       e037883a        mov     sp,fp
14646
   4b928:       dfc00117        ldw     ra,4(sp)
14647
   4b92c:       df000017        ldw     fp,0(sp)
14648
   4b930:       dec00204        addi    sp,sp,8
14649
   4b934:       f800283a        ret
14650
 
14651
0004b938 :
14652
 * alarms. Alternatively an alarm can unregister itself by returning zero when
14653
 * the alarm executes.
14654
 */
14655
 
14656
void alt_alarm_stop (alt_alarm* alarm)
14657
{
14658
   4b938:       defffa04        addi    sp,sp,-24
14659
   4b93c:       df000515        stw     fp,20(sp)
14660
   4b940:       df000504        addi    fp,sp,20
14661
   4b944:       e13fff15        stw     r4,-4(fp)
14662
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
14663
       alt_irq_disable_all (void)
14664
{
14665
  alt_irq_context context;
14666
 
14667
  NIOS2_READ_STATUS (context);
14668
   4b948:       0005303a        rdctl   r2,status
14669
   4b94c:       e0bffc15        stw     r2,-16(fp)
14670
 
14671
  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
14672
   4b950:       e0fffc17        ldw     r3,-16(fp)
14673
   4b954:       00bfff84        movi    r2,-2
14674
   4b958:       1884703a        and     r2,r3,r2
14675
   4b95c:       1001703a        wrctl   status,r2
14676
 
14677
  return context;
14678
   4b960:       e0bffc17        ldw     r2,-16(fp)
14679
  alt_irq_context irq_context;
14680
 
14681
  irq_context = alt_irq_disable_all();
14682
   4b964:       e0bffb15        stw     r2,-20(fp)
14683
  alt_llist_remove (&alarm->llist);
14684
   4b968:       e0bfff17        ldw     r2,-4(fp)
14685
   4b96c:       e0bffd15        stw     r2,-12(fp)
14686
 * input argument is the element to remove.
14687
 */
14688
 
14689
static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_remove(alt_llist* entry)
14690
{
14691
  entry->next->previous = entry->previous;
14692
   4b970:       e0bffd17        ldw     r2,-12(fp)
14693
   4b974:       10800017        ldw     r2,0(r2)
14694
   4b978:       e0fffd17        ldw     r3,-12(fp)
14695
   4b97c:       18c00117        ldw     r3,4(r3)
14696
   4b980:       10c00115        stw     r3,4(r2)
14697
  entry->previous->next = entry->next;
14698
   4b984:       e0bffd17        ldw     r2,-12(fp)
14699
   4b988:       10800117        ldw     r2,4(r2)
14700
   4b98c:       e0fffd17        ldw     r3,-12(fp)
14701
   4b990:       18c00017        ldw     r3,0(r3)
14702
   4b994:       10c00015        stw     r3,0(r2)
14703
  /*
14704
   * Set the entry to point to itself, so that any further calls to
14705
   * alt_llist_remove() are harmless.
14706
   */
14707
 
14708
  entry->previous = entry;
14709
   4b998:       e0bffd17        ldw     r2,-12(fp)
14710
   4b99c:       e0fffd17        ldw     r3,-12(fp)
14711
   4b9a0:       10c00115        stw     r3,4(r2)
14712
  entry->next     = entry;
14713
   4b9a4:       e0bffd17        ldw     r2,-12(fp)
14714
   4b9a8:       e0fffd17        ldw     r3,-12(fp)
14715
   4b9ac:       10c00015        stw     r3,0(r2)
14716
   4b9b0:       e0bffb17        ldw     r2,-20(fp)
14717
   4b9b4:       e0bffe15        stw     r2,-8(fp)
14718
  status &= ~NIOS2_STATUS_PIE_MSK;
14719
  status |= (context & NIOS2_STATUS_PIE_MSK);
14720
 
14721
  NIOS2_WRITE_STATUS (status);
14722
#else
14723
  NIOS2_WRITE_STATUS (context);
14724
   4b9b8:       e0bffe17        ldw     r2,-8(fp)
14725
   4b9bc:       1001703a        wrctl   status,r2
14726
  alt_irq_enable_all (irq_context);
14727
}
14728
   4b9c0:       e037883a        mov     sp,fp
14729
   4b9c4:       df000017        ldw     fp,0(sp)
14730
   4b9c8:       dec00104        addi    sp,sp,4
14731
   4b9cc:       f800283a        ret
14732
 
14733
0004b9d0 :
14734
 *
14735
 * alt_tick() is expected to run at interrupt level.
14736
 */
14737
 
14738
void alt_tick (void)
14739
{
14740
   4b9d0:       defffb04        addi    sp,sp,-20
14741
   4b9d4:       dfc00415        stw     ra,16(sp)
14742
   4b9d8:       df000315        stw     fp,12(sp)
14743
   4b9dc:       df000304        addi    fp,sp,12
14744
  alt_alarm* next;
14745
  alt_alarm* alarm = (alt_alarm*) alt_alarm_list.next;
14746
   4b9e0:       d0a00d17        ldw     r2,-32716(gp)
14747
   4b9e4:       e0bffd15        stw     r2,-12(fp)
14748
 
14749
  alt_u32    next_callback;
14750
 
14751
  /* update the tick counter */
14752
 
14753
  _alt_nticks++;
14754
   4b9e8:       d0a6b117        ldw     r2,-25916(gp)
14755
   4b9ec:       10800044        addi    r2,r2,1
14756
   4b9f0:       d0a6b115        stw     r2,-25916(gp)
14757
 
14758
  /* process the registered callbacks */
14759
 
14760
  while (alarm != (alt_alarm*) &alt_alarm_list)
14761
   4b9f4:       00002e06        br      4bab0 
14762
  {
14763
    next = (alt_alarm*) alarm->llist.next;
14764
   4b9f8:       e0bffd17        ldw     r2,-12(fp)
14765
   4b9fc:       10800017        ldw     r2,0(r2)
14766
   4ba00:       e0bffe15        stw     r2,-8(fp)
14767
    /*
14768
     * Upon the tick-counter rolling over it is safe to clear the
14769
     * roll-over flag; once the flag is cleared this (or subsequnt)
14770
     * tick events are enabled to generate an alarm event.
14771
     */
14772
    if ((alarm->rollover) && (_alt_nticks == 0))
14773
   4ba04:       e0bffd17        ldw     r2,-12(fp)
14774
   4ba08:       10800403        ldbu    r2,16(r2)
14775
   4ba0c:       10803fcc        andi    r2,r2,255
14776
   4ba10:       10000426        beq     r2,zero,4ba24 
14777
   4ba14:       d0a6b117        ldw     r2,-25916(gp)
14778
   4ba18:       1000021e        bne     r2,zero,4ba24 
14779
    {
14780
      alarm->rollover = 0;
14781
   4ba1c:       e0bffd17        ldw     r2,-12(fp)
14782
   4ba20:       10000405        stb     zero,16(r2)
14783
    }
14784
 
14785
    /* if the alarm period has expired, make the callback */
14786
    if ((alarm->time <= _alt_nticks) && (alarm->rollover == 0))
14787
   4ba24:       e0bffd17        ldw     r2,-12(fp)
14788
   4ba28:       10800217        ldw     r2,8(r2)
14789
   4ba2c:       d0e6b117        ldw     r3,-25916(gp)
14790
   4ba30:       18801d36        bltu    r3,r2,4baa8 
14791
   4ba34:       e0bffd17        ldw     r2,-12(fp)
14792
   4ba38:       10800403        ldbu    r2,16(r2)
14793
   4ba3c:       10803fcc        andi    r2,r2,255
14794
   4ba40:       1000191e        bne     r2,zero,4baa8 
14795
    {
14796
      next_callback = alarm->callback (alarm->context);
14797
   4ba44:       e0bffd17        ldw     r2,-12(fp)
14798
   4ba48:       10c00317        ldw     r3,12(r2)
14799
   4ba4c:       e0bffd17        ldw     r2,-12(fp)
14800
   4ba50:       10800517        ldw     r2,20(r2)
14801
   4ba54:       1009883a        mov     r4,r2
14802
   4ba58:       183ee83a        callr   r3
14803
   4ba5c:       e0bfff15        stw     r2,-4(fp)
14804
 
14805
      /* deactivate the alarm if the return value is zero */
14806
 
14807
      if (next_callback == 0)
14808
   4ba60:       e0bfff17        ldw     r2,-4(fp)
14809
   4ba64:       1000031e        bne     r2,zero,4ba74 
14810
      {
14811
        alt_alarm_stop (alarm);
14812
   4ba68:       e13ffd17        ldw     r4,-12(fp)
14813
   4ba6c:       004b9380        call    4b938 
14814
   4ba70:       00000d06        br      4baa8 
14815
      }
14816
      else
14817
      {
14818
        alarm->time += next_callback;
14819
   4ba74:       e0bffd17        ldw     r2,-12(fp)
14820
   4ba78:       10c00217        ldw     r3,8(r2)
14821
   4ba7c:       e0bfff17        ldw     r2,-4(fp)
14822
   4ba80:       1887883a        add     r3,r3,r2
14823
   4ba84:       e0bffd17        ldw     r2,-12(fp)
14824
   4ba88:       10c00215        stw     r3,8(r2)
14825
        /*
14826
         * If the desired alarm time causes a roll-over, set the rollover
14827
         * flag. This will prevent the subsequent tick event from causing
14828
         * an alarm too early.
14829
         */
14830
        if(alarm->time < _alt_nticks)
14831
   4ba8c:       e0bffd17        ldw     r2,-12(fp)
14832
   4ba90:       10c00217        ldw     r3,8(r2)
14833
   4ba94:       d0a6b117        ldw     r2,-25916(gp)
14834
   4ba98:       1880032e        bgeu    r3,r2,4baa8 
14835
        {
14836
          alarm->rollover = 1;
14837
   4ba9c:       e0bffd17        ldw     r2,-12(fp)
14838
   4baa0:       00c00044        movi    r3,1
14839
   4baa4:       10c00405        stb     r3,16(r2)
14840
        }
14841
      }
14842
    }
14843
    alarm = next;
14844
   4baa8:       e0bffe17        ldw     r2,-8(fp)
14845
   4baac:       e0bffd15        stw     r2,-12(fp)
14846
 
14847
  _alt_nticks++;
14848
 
14849
  /* process the registered callbacks */
14850
 
14851
  while (alarm != (alt_alarm*) &alt_alarm_list)
14852
   4bab0:       e0fffd17        ldw     r3,-12(fp)
14853
   4bab4:       d0a00d04        addi    r2,gp,-32716
14854
   4bab8:       18bfcf1e        bne     r3,r2,4b9f8 <__alt_data_end+0xfffe48f8>
14855
 
14856
  /*
14857
   * Update the operating system specific timer facilities.
14858
   */
14859
 
14860
  ALT_OS_TIME_TICK();
14861
   4babc:       0001883a        nop
14862
}
14863
   4bac0:       e037883a        mov     sp,fp
14864
   4bac4:       dfc00117        ldw     ra,4(sp)
14865
   4bac8:       df000017        ldw     fp,0(sp)
14866
   4bacc:       dec00204        addi    sp,sp,8
14867
   4bad0:       f800283a        ret
14868
 
14869
0004bad4 :
14870
/*
14871
 * To initialize the internal interrupt controller, just clear the IENABLE
14872
 * register so that all possible IRQs are disabled.
14873
 */
14874
void altera_nios2_qsys_irq_init(void)
14875
{
14876
   4bad4:       deffff04        addi    sp,sp,-4
14877
   4bad8:       df000015        stw     fp,0(sp)
14878
   4badc:       d839883a        mov     fp,sp
14879
    NIOS2_WRITE_IENABLE(0);
14880
   4bae0:       000170fa        wrctl   ienable,zero
14881
}
14882
   4bae4:       e037883a        mov     sp,fp
14883
   4bae8:       df000017        ldw     fp,0(sp)
14884
   4baec:       dec00104        addi    sp,sp,4
14885
   4baf0:       f800283a        ret
14886
 
14887
0004baf4 :
14888
 * "name" must be an exact match for the devices registered name for a match to
14889
 * be found.
14890
 */
14891
 
14892
alt_dev* alt_find_dev(const char* name, alt_llist* llist)
14893
{
14894
   4baf4:       defffa04        addi    sp,sp,-24
14895
   4baf8:       dfc00515        stw     ra,20(sp)
14896
   4bafc:       df000415        stw     fp,16(sp)
14897
   4bb00:       df000404        addi    fp,sp,16
14898
   4bb04:       e13ffe15        stw     r4,-8(fp)
14899
   4bb08:       e17fff15        stw     r5,-4(fp)
14900
  alt_dev* next = (alt_dev*) llist->next;
14901
   4bb0c:       e0bfff17        ldw     r2,-4(fp)
14902
   4bb10:       10800017        ldw     r2,0(r2)
14903
   4bb14:       e0bffc15        stw     r2,-16(fp)
14904
  alt_32 len;
14905
 
14906
  len  = strlen(name) + 1;
14907
   4bb18:       e13ffe17        ldw     r4,-8(fp)
14908
   4bb1c:       0040da40        call    40da4 
14909
   4bb20:       10800044        addi    r2,r2,1
14910
   4bb24:       e0bffd15        stw     r2,-12(fp)
14911
  /*
14912
   * Check each list entry in turn, until a match is found, or we reach the
14913
   * end of the list (i.e. next winds up pointing back to the list head).
14914
   */
14915
 
14916
  while (next != (alt_dev*) llist)
14917
   4bb28:       00000d06        br      4bb60 
14918
    /*
14919
     * memcmp() is used here rather than strcmp() in order to reduce the size
14920
     * of the executable.
14921
     */
14922
 
14923
    if (!memcmp (next->name, name, len))
14924
   4bb2c:       e0bffc17        ldw     r2,-16(fp)
14925
   4bb30:       10c00217        ldw     r3,8(r2)
14926
   4bb34:       e0bffd17        ldw     r2,-12(fp)
14927
   4bb38:       1809883a        mov     r4,r3
14928
   4bb3c:       e17ffe17        ldw     r5,-8(fp)
14929
   4bb40:       100d883a        mov     r6,r2
14930
   4bb44:       004be240        call    4be24 
14931
   4bb48:       1000021e        bne     r2,zero,4bb54 
14932
    {
14933
      /* match found */
14934
 
14935
      return next;
14936
   4bb4c:       e0bffc17        ldw     r2,-16(fp)
14937
   4bb50:       00000706        br      4bb70 
14938
    }
14939
    next = (alt_dev*) next->llist.next;
14940
   4bb54:       e0bffc17        ldw     r2,-16(fp)
14941
   4bb58:       10800017        ldw     r2,0(r2)
14942
   4bb5c:       e0bffc15        stw     r2,-16(fp)
14943
  /*
14944
   * Check each list entry in turn, until a match is found, or we reach the
14945
   * end of the list (i.e. next winds up pointing back to the list head).
14946
   */
14947
 
14948
  while (next != (alt_dev*) llist)
14949
   4bb60:       e0fffc17        ldw     r3,-16(fp)
14950
   4bb64:       e0bfff17        ldw     r2,-4(fp)
14951
   4bb68:       18bff01e        bne     r3,r2,4bb2c <__alt_data_end+0xfffe4a2c>
14952
    next = (alt_dev*) next->llist.next;
14953
  }
14954
 
14955
  /* No match found */
14956
 
14957
  return NULL;
14958
   4bb6c:       0005883a        mov     r2,zero
14959
}
14960
   4bb70:       e037883a        mov     sp,fp
14961
   4bb74:       dfc00117        ldw     ra,4(sp)
14962
   4bb78:       df000017        ldw     fp,0(sp)
14963
   4bb7c:       dec00204        addi    sp,sp,8
14964
   4bb80:       f800283a        ret
14965
 
14966
0004bb84 :
14967
 * either '/' or '\0' is the prefix of the filename. For example the filename:
14968
 * "/myfilesystem/junk.txt" would match: "/myfilesystem", but not: "/myfile".
14969
 */
14970
 
14971
alt_dev* alt_find_file (const char* name)
14972
{
14973
   4bb84:       defffb04        addi    sp,sp,-20
14974
   4bb88:       dfc00415        stw     ra,16(sp)
14975
   4bb8c:       df000315        stw     fp,12(sp)
14976
   4bb90:       df000304        addi    fp,sp,12
14977
   4bb94:       e13fff15        stw     r4,-4(fp)
14978
  alt_dev* next = (alt_dev*) alt_fs_list.next;
14979
   4bb98:       00800174        movhi   r2,5
14980
   4bb9c:       10b7d104        addi    r2,r2,-8380
14981
   4bba0:       10800017        ldw     r2,0(r2)
14982
   4bba4:       e0bffd15        stw     r2,-12(fp)
14983
  /*
14984
   * Check each list entry in turn, until a match is found, or we reach the
14985
   * end of the list (i.e. next winds up pointing back to the list head).
14986
   */
14987
 
14988
  while (next != (alt_dev*) &alt_fs_list)
14989
   4bba8:       00003106        br      4bc70 
14990
  {
14991
    len = strlen(next->name);
14992
   4bbac:       e0bffd17        ldw     r2,-12(fp)
14993
   4bbb0:       10800217        ldw     r2,8(r2)
14994
   4bbb4:       1009883a        mov     r4,r2
14995
   4bbb8:       0040da40        call    40da4 
14996
   4bbbc:       e0bffe15        stw     r2,-8(fp)
14997
 
14998
    if (next->name[len-1] == '/')
14999
   4bbc0:       e0bffd17        ldw     r2,-12(fp)
15000
   4bbc4:       10c00217        ldw     r3,8(r2)
15001
   4bbc8:       e0bffe17        ldw     r2,-8(fp)
15002
   4bbcc:       10bfffc4        addi    r2,r2,-1
15003
   4bbd0:       1885883a        add     r2,r3,r2
15004
   4bbd4:       10800003        ldbu    r2,0(r2)
15005
   4bbd8:       10803fcc        andi    r2,r2,255
15006
   4bbdc:       1080201c        xori    r2,r2,128
15007
   4bbe0:       10bfe004        addi    r2,r2,-128
15008
   4bbe4:       10800bd8        cmpnei  r2,r2,47
15009
   4bbe8:       1000031e        bne     r2,zero,4bbf8 
15010
    {
15011
      len -= 1;
15012
   4bbec:       e0bffe17        ldw     r2,-8(fp)
15013
   4bbf0:       10bfffc4        addi    r2,r2,-1
15014
   4bbf4:       e0bffe15        stw     r2,-8(fp)
15015
    }
15016
 
15017
    if (((name[len] == '/') || (name[len] == '\0')) &&
15018
   4bbf8:       e0bffe17        ldw     r2,-8(fp)
15019
   4bbfc:       e0ffff17        ldw     r3,-4(fp)
15020
   4bc00:       1885883a        add     r2,r3,r2
15021
   4bc04:       10800003        ldbu    r2,0(r2)
15022
   4bc08:       10803fcc        andi    r2,r2,255
15023
   4bc0c:       1080201c        xori    r2,r2,128
15024
   4bc10:       10bfe004        addi    r2,r2,-128
15025
   4bc14:       10800be0        cmpeqi  r2,r2,47
15026
   4bc18:       1000081e        bne     r2,zero,4bc3c 
15027
   4bc1c:       e0bffe17        ldw     r2,-8(fp)
15028
   4bc20:       e0ffff17        ldw     r3,-4(fp)
15029
   4bc24:       1885883a        add     r2,r3,r2
15030
   4bc28:       10800003        ldbu    r2,0(r2)
15031
   4bc2c:       10803fcc        andi    r2,r2,255
15032
   4bc30:       1080201c        xori    r2,r2,128
15033
   4bc34:       10bfe004        addi    r2,r2,-128
15034
   4bc38:       10000a1e        bne     r2,zero,4bc64 
15035
        !memcmp (next->name, name, len))
15036
   4bc3c:       e0bffd17        ldw     r2,-12(fp)
15037
   4bc40:       10c00217        ldw     r3,8(r2)
15038
   4bc44:       e0bffe17        ldw     r2,-8(fp)
15039
   4bc48:       1809883a        mov     r4,r3
15040
   4bc4c:       e17fff17        ldw     r5,-4(fp)
15041
   4bc50:       100d883a        mov     r6,r2
15042
   4bc54:       004be240        call    4be24 
15043
    if (next->name[len-1] == '/')
15044
    {
15045
      len -= 1;
15046
    }
15047
 
15048
    if (((name[len] == '/') || (name[len] == '\0')) &&
15049
   4bc58:       1000021e        bne     r2,zero,4bc64 
15050
        !memcmp (next->name, name, len))
15051
    {
15052
      /* match found */
15053
 
15054
      return next;
15055
   4bc5c:       e0bffd17        ldw     r2,-12(fp)
15056
   4bc60:       00000806        br      4bc84 
15057
    }
15058
    next = (alt_dev*) next->llist.next;
15059
   4bc64:       e0bffd17        ldw     r2,-12(fp)
15060
   4bc68:       10800017        ldw     r2,0(r2)
15061
   4bc6c:       e0bffd15        stw     r2,-12(fp)
15062
  /*
15063
   * Check each list entry in turn, until a match is found, or we reach the
15064
   * end of the list (i.e. next winds up pointing back to the list head).
15065
   */
15066
 
15067
  while (next != (alt_dev*) &alt_fs_list)
15068
   4bc70:       e0fffd17        ldw     r3,-12(fp)
15069
   4bc74:       00800174        movhi   r2,5
15070
   4bc78:       10b7d104        addi    r2,r2,-8380
15071
   4bc7c:       18bfcb1e        bne     r3,r2,4bbac <__alt_data_end+0xfffe4aac>
15072
    next = (alt_dev*) next->llist.next;
15073
  }
15074
 
15075
  /* No match found */
15076
 
15077
  return NULL;
15078
   4bc80:       0005883a        mov     r2,zero
15079
}
15080
   4bc84:       e037883a        mov     sp,fp
15081
   4bc88:       dfc00117        ldw     ra,4(sp)
15082
   4bc8c:       df000017        ldw     fp,0(sp)
15083
   4bc90:       dec00204        addi    sp,sp,8
15084
   4bc94:       f800283a        ret
15085
 
15086
0004bc98 :
15087
 * the offset of the file descriptor within the file descriptor array). A
15088
 * negative value indicates failure.
15089
 */
15090
 
15091
int alt_get_fd (alt_dev* dev)
15092
{
15093
   4bc98:       defffc04        addi    sp,sp,-16
15094
   4bc9c:       df000315        stw     fp,12(sp)
15095
   4bca0:       df000304        addi    fp,sp,12
15096
   4bca4:       e13fff15        stw     r4,-4(fp)
15097
  alt_32 i;
15098
  int rc = -EMFILE;
15099
   4bca8:       00bffa04        movi    r2,-24
15100
   4bcac:       e0bffe15        stw     r2,-8(fp)
15101
   * indicates the highest file descriptor ever allocated. This is used to
15102
   * improve efficency when searching the file descriptor list, and
15103
   * therefore reduce contention on the alt_fd_list_lock semaphore.
15104
   */
15105
 
15106
  for (i = 0; i < ALT_MAX_FD; i++)
15107
   4bcb0:       e03ffd15        stw     zero,-12(fp)
15108
   4bcb4:       00001d06        br      4bd2c 
15109
  {
15110
    if (!alt_fd_list[i].dev)
15111
   4bcb8:       00c00174        movhi   r3,5
15112
   4bcbc:       18f35404        addi    r3,r3,-12976
15113
   4bcc0:       e0bffd17        ldw     r2,-12(fp)
15114
   4bcc4:       10800324        muli    r2,r2,12
15115
   4bcc8:       1885883a        add     r2,r3,r2
15116
   4bccc:       10800017        ldw     r2,0(r2)
15117
   4bcd0:       1000131e        bne     r2,zero,4bd20 
15118
    {
15119
      alt_fd_list[i].dev = dev;
15120
   4bcd4:       00c00174        movhi   r3,5
15121
   4bcd8:       18f35404        addi    r3,r3,-12976
15122
   4bcdc:       e0bffd17        ldw     r2,-12(fp)
15123
   4bce0:       10800324        muli    r2,r2,12
15124
   4bce4:       1885883a        add     r2,r3,r2
15125
   4bce8:       e0ffff17        ldw     r3,-4(fp)
15126
   4bcec:       10c00015        stw     r3,0(r2)
15127
      if (i > alt_max_fd)
15128
   4bcf0:       00800174        movhi   r2,5
15129
   4bcf4:       10b7d504        addi    r2,r2,-8364
15130
   4bcf8:       10c00017        ldw     r3,0(r2)
15131
   4bcfc:       e0bffd17        ldw     r2,-12(fp)
15132
   4bd00:       1880040e        bge     r3,r2,4bd14 
15133
      {
15134
        alt_max_fd = i;
15135
   4bd04:       00800174        movhi   r2,5
15136
   4bd08:       10b7d504        addi    r2,r2,-8364
15137
   4bd0c:       e0fffd17        ldw     r3,-12(fp)
15138
   4bd10:       10c00015        stw     r3,0(r2)
15139
      }
15140
      rc = i;
15141
   4bd14:       e0bffd17        ldw     r2,-12(fp)
15142
   4bd18:       e0bffe15        stw     r2,-8(fp)
15143
      goto alt_get_fd_exit;
15144
   4bd1c:       00000606        br      4bd38 
15145
   * indicates the highest file descriptor ever allocated. This is used to
15146
   * improve efficency when searching the file descriptor list, and
15147
   * therefore reduce contention on the alt_fd_list_lock semaphore.
15148
   */
15149
 
15150
  for (i = 0; i < ALT_MAX_FD; i++)
15151
   4bd20:       e0bffd17        ldw     r2,-12(fp)
15152
   4bd24:       10800044        addi    r2,r2,1
15153
   4bd28:       e0bffd15        stw     r2,-12(fp)
15154
   4bd2c:       e0bffd17        ldw     r2,-12(fp)
15155
   4bd30:       10800810        cmplti  r2,r2,32
15156
   4bd34:       103fe01e        bne     r2,zero,4bcb8 <__alt_data_end+0xfffe4bb8>
15157
   * file descriptor pool.
15158
   */
15159
 
15160
  ALT_SEM_POST(alt_fd_list_lock);
15161
 
15162
  return rc;
15163
   4bd38:       e0bffe17        ldw     r2,-8(fp)
15164
}
15165
   4bd3c:       e037883a        mov     sp,fp
15166
   4bd40:       df000017        ldw     fp,0(sp)
15167
   4bd44:       dec00104        addi    sp,sp,4
15168
   4bd48:       f800283a        ret
15169
 
15170
0004bd4c :
15171
 * alt_icache_flush() is called to flush the instruction cache for a memory
15172
 * region of length "len" bytes, starting at address "start".
15173
 */
15174
 
15175
void alt_icache_flush (void* start, alt_u32 len)
15176
{
15177
   4bd4c:       defffb04        addi    sp,sp,-20
15178
   4bd50:       df000415        stw     fp,16(sp)
15179
   4bd54:       df000404        addi    fp,sp,16
15180
   4bd58:       e13ffe15        stw     r4,-8(fp)
15181
   4bd5c:       e17fff15        stw     r5,-4(fp)
15182
 
15183
  /*
15184
   * This is the most we would ever need to flush.
15185
   */
15186
 
15187
  if (len > NIOS2_ICACHE_SIZE)
15188
   4bd60:       e0bfff17        ldw     r2,-4(fp)
15189
   4bd64:       10840070        cmpltui r2,r2,4097
15190
   4bd68:       1000021e        bne     r2,zero,4bd74 
15191
  {
15192
    len = NIOS2_ICACHE_SIZE;
15193
   4bd6c:       00840004        movi    r2,4096
15194
   4bd70:       e0bfff15        stw     r2,-4(fp)
15195
  }
15196
 
15197
  end = ((char*) start) + len;
15198
   4bd74:       e0fffe17        ldw     r3,-8(fp)
15199
   4bd78:       e0bfff17        ldw     r2,-4(fp)
15200
   4bd7c:       1885883a        add     r2,r3,r2
15201
   4bd80:       e0bffd15        stw     r2,-12(fp)
15202
 
15203
  for (i = start; i < end; i+= NIOS2_ICACHE_LINE_SIZE)
15204
   4bd84:       e0bffe17        ldw     r2,-8(fp)
15205
   4bd88:       e0bffc15        stw     r2,-16(fp)
15206
   4bd8c:       00000506        br      4bda4 
15207
  {
15208
    __asm__ volatile ("flushi %0" :: "r" (i));
15209
   4bd90:       e0bffc17        ldw     r2,-16(fp)
15210
   4bd94:       1000603a        flushi  r2
15211
    len = NIOS2_ICACHE_SIZE;
15212
  }
15213
 
15214
  end = ((char*) start) + len;
15215
 
15216
  for (i = start; i < end; i+= NIOS2_ICACHE_LINE_SIZE)
15217
   4bd98:       e0bffc17        ldw     r2,-16(fp)
15218
   4bd9c:       10800804        addi    r2,r2,32
15219
   4bda0:       e0bffc15        stw     r2,-16(fp)
15220
   4bda4:       e0fffc17        ldw     r3,-16(fp)
15221
   4bda8:       e0bffd17        ldw     r2,-12(fp)
15222
   4bdac:       18bff836        bltu    r3,r2,4bd90 <__alt_data_end+0xfffe4c90>
15223
   * For an unaligned flush request, we've got one more line left.
15224
   * Note that this is dependent on NIOS2_ICACHE_LINE_SIZE to be a
15225
   * multiple of 2 (which it always is).
15226
   */
15227
 
15228
  if (((alt_u32) start) & (NIOS2_ICACHE_LINE_SIZE - 1))
15229
   4bdb0:       e0bffe17        ldw     r2,-8(fp)
15230
   4bdb4:       108007cc        andi    r2,r2,31
15231
   4bdb8:       10000226        beq     r2,zero,4bdc4 
15232
  {
15233
    __asm__ volatile ("flushi %0" :: "r" (i));
15234
   4bdbc:       e0bffc17        ldw     r2,-16(fp)
15235
   4bdc0:       1000603a        flushi  r2
15236
  /*
15237
   * Having flushed the cache, flush any stale instructions in the
15238
   * pipeline
15239
   */
15240
 
15241
  __asm__ volatile ("flushp");
15242
   4bdc4:       0000203a        flushp
15243
 
15244
#endif /* NIOS2_ICACHE_SIZE > 0 */
15245
}
15246
   4bdc8:       e037883a        mov     sp,fp
15247
   4bdcc:       df000017        ldw     fp,0(sp)
15248
   4bdd0:       dec00104        addi    sp,sp,4
15249
   4bdd4:       f800283a        ret
15250
 
15251
0004bdd8 :
15252
   4bdd8:       200b883a        mov     r5,r4
15253
   4bddc:       000d883a        mov     r6,zero
15254
   4bde0:       0009883a        mov     r4,zero
15255
   4bde4:       000f883a        mov     r7,zero
15256
   4bde8:       004bea01        jmpi    4bea0 <__register_exitproc>
15257
 
15258
0004bdec :
15259
   4bdec:       defffe04        addi    sp,sp,-8
15260
   4bdf0:       000b883a        mov     r5,zero
15261
   4bdf4:       dc000015        stw     r16,0(sp)
15262
   4bdf8:       dfc00115        stw     ra,4(sp)
15263
   4bdfc:       2021883a        mov     r16,r4
15264
   4be00:       004bfd00        call    4bfd0 <__call_exitprocs>
15265
   4be04:       00800174        movhi   r2,5
15266
   4be08:       10b7cc04        addi    r2,r2,-8400
15267
   4be0c:       11000017        ldw     r4,0(r2)
15268
   4be10:       20800f17        ldw     r2,60(r4)
15269
   4be14:       10000126        beq     r2,zero,4be1c 
15270
   4be18:       103ee83a        callr   r2
15271
   4be1c:       8009883a        mov     r4,r16
15272
   4be20:       004c1700        call    4c170 <_exit>
15273
 
15274
0004be24 :
15275
   4be24:       01c000c4        movi    r7,3
15276
   4be28:       3980192e        bgeu    r7,r6,4be90 
15277
   4be2c:       2904b03a        or      r2,r5,r4
15278
   4be30:       11c4703a        and     r2,r2,r7
15279
   4be34:       10000f26        beq     r2,zero,4be74 
15280
   4be38:       20c00003        ldbu    r3,0(r4)
15281
   4be3c:       28800003        ldbu    r2,0(r5)
15282
   4be40:       1880151e        bne     r3,r2,4be98 
15283
   4be44:       31bfff84        addi    r6,r6,-2
15284
   4be48:       01ffffc4        movi    r7,-1
15285
   4be4c:       00000406        br      4be60 
15286
   4be50:       20c00003        ldbu    r3,0(r4)
15287
   4be54:       28800003        ldbu    r2,0(r5)
15288
   4be58:       31bfffc4        addi    r6,r6,-1
15289
   4be5c:       18800e1e        bne     r3,r2,4be98 
15290
   4be60:       21000044        addi    r4,r4,1
15291
   4be64:       29400044        addi    r5,r5,1
15292
   4be68:       31fff91e        bne     r6,r7,4be50 <__alt_data_end+0xfffe4d50>
15293
   4be6c:       0005883a        mov     r2,zero
15294
   4be70:       f800283a        ret
15295
   4be74:       20c00017        ldw     r3,0(r4)
15296
   4be78:       28800017        ldw     r2,0(r5)
15297
   4be7c:       1880041e        bne     r3,r2,4be90 
15298
   4be80:       31bfff04        addi    r6,r6,-4
15299
   4be84:       21000104        addi    r4,r4,4
15300
   4be88:       29400104        addi    r5,r5,4
15301
   4be8c:       39bff936        bltu    r7,r6,4be74 <__alt_data_end+0xfffe4d74>
15302
   4be90:       303fe91e        bne     r6,zero,4be38 <__alt_data_end+0xfffe4d38>
15303
   4be94:       003ff506        br      4be6c <__alt_data_end+0xfffe4d6c>
15304
   4be98:       1885c83a        sub     r2,r3,r2
15305
   4be9c:       f800283a        ret
15306
 
15307
0004bea0 <__register_exitproc>:
15308
   4bea0:       defffa04        addi    sp,sp,-24
15309
   4bea4:       00800174        movhi   r2,5
15310
   4bea8:       10b7cc04        addi    r2,r2,-8400
15311
   4beac:       dc000315        stw     r16,12(sp)
15312
   4beb0:       14000017        ldw     r16,0(r2)
15313
   4beb4:       dc400415        stw     r17,16(sp)
15314
   4beb8:       dfc00515        stw     ra,20(sp)
15315
   4bebc:       80805217        ldw     r2,328(r16)
15316
   4bec0:       2023883a        mov     r17,r4
15317
   4bec4:       10003e26        beq     r2,zero,4bfc0 <__register_exitproc+0x120>
15318
   4bec8:       10c00117        ldw     r3,4(r2)
15319
   4becc:       020007c4        movi    r8,31
15320
   4bed0:       40c0180e        bge     r8,r3,4bf34 <__register_exitproc+0x94>
15321
   4bed4:       00800034        movhi   r2,0
15322
   4bed8:       10800004        addi    r2,r2,0
15323
   4bedc:       1000061e        bne     r2,zero,4bef8 <__register_exitproc+0x58>
15324
   4bee0:       00bfffc4        movi    r2,-1
15325
   4bee4:       dfc00517        ldw     ra,20(sp)
15326
   4bee8:       dc400417        ldw     r17,16(sp)
15327
   4beec:       dc000317        ldw     r16,12(sp)
15328
   4bef0:       dec00604        addi    sp,sp,24
15329
   4bef4:       f800283a        ret
15330
   4bef8:       01006404        movi    r4,400
15331
   4befc:       d9400015        stw     r5,0(sp)
15332
   4bf00:       d9800115        stw     r6,4(sp)
15333
   4bf04:       d9c00215        stw     r7,8(sp)
15334
   4bf08:       00000000        call    0 <__reset-0x40000>
15335
   4bf0c:       d9400017        ldw     r5,0(sp)
15336
   4bf10:       d9800117        ldw     r6,4(sp)
15337
   4bf14:       d9c00217        ldw     r7,8(sp)
15338
   4bf18:       103ff126        beq     r2,zero,4bee0 <__alt_data_end+0xfffe4de0>
15339
   4bf1c:       80c05217        ldw     r3,328(r16)
15340
   4bf20:       10000115        stw     zero,4(r2)
15341
   4bf24:       10c00015        stw     r3,0(r2)
15342
   4bf28:       80805215        stw     r2,328(r16)
15343
   4bf2c:       10006215        stw     zero,392(r2)
15344
   4bf30:       10006315        stw     zero,396(r2)
15345
   4bf34:       10c00117        ldw     r3,4(r2)
15346
   4bf38:       88000d1e        bne     r17,zero,4bf70 <__register_exitproc+0xd0>
15347
   4bf3c:       19000084        addi    r4,r3,2
15348
   4bf40:       2109883a        add     r4,r4,r4
15349
   4bf44:       18c00044        addi    r3,r3,1
15350
   4bf48:       2109883a        add     r4,r4,r4
15351
   4bf4c:       1109883a        add     r4,r2,r4
15352
   4bf50:       10c00115        stw     r3,4(r2)
15353
   4bf54:       0005883a        mov     r2,zero
15354
   4bf58:       21400015        stw     r5,0(r4)
15355
   4bf5c:       dfc00517        ldw     ra,20(sp)
15356
   4bf60:       dc400417        ldw     r17,16(sp)
15357
   4bf64:       dc000317        ldw     r16,12(sp)
15358
   4bf68:       dec00604        addi    sp,sp,24
15359
   4bf6c:       f800283a        ret
15360
   4bf70:       02400044        movi    r9,1
15361
   4bf74:       12806217        ldw     r10,392(r2)
15362
   4bf78:       48d2983a        sll     r9,r9,r3
15363
   4bf7c:       19000804        addi    r4,r3,32
15364
   4bf80:       18d1883a        add     r8,r3,r3
15365
   4bf84:       2109883a        add     r4,r4,r4
15366
   4bf88:       4211883a        add     r8,r8,r8
15367
   4bf8c:       2109883a        add     r4,r4,r4
15368
   4bf90:       1109883a        add     r4,r2,r4
15369
   4bf94:       1211883a        add     r8,r2,r8
15370
   4bf98:       5254b03a        or      r10,r10,r9
15371
   4bf9c:       21c02215        stw     r7,136(r4)
15372
   4bfa0:       41802215        stw     r6,136(r8)
15373
   4bfa4:       12806215        stw     r10,392(r2)
15374
   4bfa8:       01000084        movi    r4,2
15375
   4bfac:       893fe31e        bne     r17,r4,4bf3c <__alt_data_end+0xfffe4e3c>
15376
   4bfb0:       11006317        ldw     r4,396(r2)
15377
   4bfb4:       2252b03a        or      r9,r4,r9
15378
   4bfb8:       12406315        stw     r9,396(r2)
15379
   4bfbc:       003fdf06        br      4bf3c <__alt_data_end+0xfffe4e3c>
15380
   4bfc0:       00800174        movhi   r2,5
15381
   4bfc4:       10bec804        addi    r2,r2,-1248
15382
   4bfc8:       80805215        stw     r2,328(r16)
15383
   4bfcc:       003fbe06        br      4bec8 <__alt_data_end+0xfffe4dc8>
15384
 
15385
0004bfd0 <__call_exitprocs>:
15386
   4bfd0:       00800174        movhi   r2,5
15387
   4bfd4:       10b7cc04        addi    r2,r2,-8400
15388
   4bfd8:       10800017        ldw     r2,0(r2)
15389
   4bfdc:       defff304        addi    sp,sp,-52
15390
   4bfe0:       df000b15        stw     fp,44(sp)
15391
   4bfe4:       d8800015        stw     r2,0(sp)
15392
   4bfe8:       10805204        addi    r2,r2,328
15393
   4bfec:       dd400815        stw     r21,32(sp)
15394
   4bff0:       dfc00c15        stw     ra,48(sp)
15395
   4bff4:       ddc00a15        stw     r23,40(sp)
15396
   4bff8:       dd800915        stw     r22,36(sp)
15397
   4bffc:       dd000715        stw     r20,28(sp)
15398
   4c000:       dcc00615        stw     r19,24(sp)
15399
   4c004:       dc800515        stw     r18,20(sp)
15400
   4c008:       dc400415        stw     r17,16(sp)
15401
   4c00c:       dc000315        stw     r16,12(sp)
15402
   4c010:       d9000115        stw     r4,4(sp)
15403
   4c014:       2839883a        mov     fp,r5
15404
   4c018:       d8800215        stw     r2,8(sp)
15405
   4c01c:       057fffc4        movi    r21,-1
15406
   4c020:       d8800017        ldw     r2,0(sp)
15407
   4c024:       ddc00217        ldw     r23,8(sp)
15408
   4c028:       14805217        ldw     r18,328(r2)
15409
   4c02c:       90001726        beq     r18,zero,4c08c <__call_exitprocs+0xbc>
15410
   4c030:       94400117        ldw     r17,4(r18)
15411
   4c034:       8c3fffc4        addi    r16,r17,-1
15412
   4c038:       80001116        blt     r16,zero,4c080 <__call_exitprocs+0xb0>
15413
   4c03c:       8c400044        addi    r17,r17,1
15414
   4c040:       8427883a        add     r19,r16,r16
15415
   4c044:       8c63883a        add     r17,r17,r17
15416
   4c048:       95802204        addi    r22,r18,136
15417
   4c04c:       9ce7883a        add     r19,r19,r19
15418
   4c050:       8c63883a        add     r17,r17,r17
15419
   4c054:       b4e7883a        add     r19,r22,r19
15420
   4c058:       9463883a        add     r17,r18,r17
15421
   4c05c:       e0001726        beq     fp,zero,4c0bc <__call_exitprocs+0xec>
15422
   4c060:       8c87c83a        sub     r3,r17,r18
15423
   4c064:       b0c7883a        add     r3,r22,r3
15424
   4c068:       18c01e17        ldw     r3,120(r3)
15425
   4c06c:       1f001326        beq     r3,fp,4c0bc <__call_exitprocs+0xec>
15426
   4c070:       843fffc4        addi    r16,r16,-1
15427
   4c074:       9cffff04        addi    r19,r19,-4
15428
   4c078:       8c7fff04        addi    r17,r17,-4
15429
   4c07c:       857ff71e        bne     r16,r21,4c05c <__alt_data_end+0xfffe4f5c>
15430
   4c080:       00800034        movhi   r2,0
15431
   4c084:       10800004        addi    r2,r2,0
15432
   4c088:       10002a1e        bne     r2,zero,4c134 <__call_exitprocs+0x164>
15433
   4c08c:       dfc00c17        ldw     ra,48(sp)
15434
   4c090:       df000b17        ldw     fp,44(sp)
15435
   4c094:       ddc00a17        ldw     r23,40(sp)
15436
   4c098:       dd800917        ldw     r22,36(sp)
15437
   4c09c:       dd400817        ldw     r21,32(sp)
15438
   4c0a0:       dd000717        ldw     r20,28(sp)
15439
   4c0a4:       dcc00617        ldw     r19,24(sp)
15440
   4c0a8:       dc800517        ldw     r18,20(sp)
15441
   4c0ac:       dc400417        ldw     r17,16(sp)
15442
   4c0b0:       dc000317        ldw     r16,12(sp)
15443
   4c0b4:       dec00d04        addi    sp,sp,52
15444
   4c0b8:       f800283a        ret
15445
   4c0bc:       91000117        ldw     r4,4(r18)
15446
   4c0c0:       88c00017        ldw     r3,0(r17)
15447
   4c0c4:       213fffc4        addi    r4,r4,-1
15448
   4c0c8:       24001526        beq     r4,r16,4c120 <__call_exitprocs+0x150>
15449
   4c0cc:       88000015        stw     zero,0(r17)
15450
   4c0d0:       183fe726        beq     r3,zero,4c070 <__alt_data_end+0xfffe4f70>
15451
   4c0d4:       00800044        movi    r2,1
15452
   4c0d8:       1408983a        sll     r4,r2,r16
15453
   4c0dc:       91406217        ldw     r5,392(r18)
15454
   4c0e0:       95000117        ldw     r20,4(r18)
15455
   4c0e4:       214a703a        and     r5,r4,r5
15456
   4c0e8:       28000b26        beq     r5,zero,4c118 <__call_exitprocs+0x148>
15457
   4c0ec:       91406317        ldw     r5,396(r18)
15458
   4c0f0:       2148703a        and     r4,r4,r5
15459
   4c0f4:       20000c1e        bne     r4,zero,4c128 <__call_exitprocs+0x158>
15460
   4c0f8:       99400017        ldw     r5,0(r19)
15461
   4c0fc:       d9000117        ldw     r4,4(sp)
15462
   4c100:       183ee83a        callr   r3
15463
   4c104:       90c00117        ldw     r3,4(r18)
15464
   4c108:       1d3fc51e        bne     r3,r20,4c020 <__alt_data_end+0xfffe4f20>
15465
   4c10c:       b8c00017        ldw     r3,0(r23)
15466
   4c110:       1cbfd726        beq     r3,r18,4c070 <__alt_data_end+0xfffe4f70>
15467
   4c114:       003fc206        br      4c020 <__alt_data_end+0xfffe4f20>
15468
   4c118:       183ee83a        callr   r3
15469
   4c11c:       003ff906        br      4c104 <__alt_data_end+0xfffe5004>
15470
   4c120:       94000115        stw     r16,4(r18)
15471
   4c124:       003fea06        br      4c0d0 <__alt_data_end+0xfffe4fd0>
15472
   4c128:       99000017        ldw     r4,0(r19)
15473
   4c12c:       183ee83a        callr   r3
15474
   4c130:       003ff406        br      4c104 <__alt_data_end+0xfffe5004>
15475
   4c134:       90c00117        ldw     r3,4(r18)
15476
   4c138:       1800071e        bne     r3,zero,4c158 <__call_exitprocs+0x188>
15477
   4c13c:       90c00017        ldw     r3,0(r18)
15478
   4c140:       18000926        beq     r3,zero,4c168 <__call_exitprocs+0x198>
15479
   4c144:       9009883a        mov     r4,r18
15480
   4c148:       b8c00015        stw     r3,0(r23)
15481
   4c14c:       00000000        call    0 <__reset-0x40000>
15482
   4c150:       bc800017        ldw     r18,0(r23)
15483
   4c154:       003fb506        br      4c02c <__alt_data_end+0xfffe4f2c>
15484
   4c158:       90c00017        ldw     r3,0(r18)
15485
   4c15c:       902f883a        mov     r23,r18
15486
   4c160:       1825883a        mov     r18,r3
15487
   4c164:       003fb106        br      4c02c <__alt_data_end+0xfffe4f2c>
15488
   4c168:       0007883a        mov     r3,zero
15489
   4c16c:       003ffb06        br      4c15c <__alt_data_end+0xfffe505c>
15490
 
15491
0004c170 <_exit>:
15492
 *
15493
 * ALT_EXIT is mapped onto the _exit() system call in alt_syscall.h
15494
 */
15495
 
15496
void ALT_EXIT (int exit_code)
15497
{
15498
   4c170:       defffc04        addi    sp,sp,-16
15499
   4c174:       df000315        stw     fp,12(sp)
15500
   4c178:       df000304        addi    fp,sp,12
15501
   4c17c:       e13fff15        stw     r4,-4(fp)
15502
  ALT_LOG_PRINT_BOOT("[alt_exit.c] Entering _exit() function.\r\n");
15503
  ALT_LOG_PRINT_BOOT("[alt_exit.c] Exit code from main was %d.\r\n",exit_code);
15504
  /* Stop all other threads */
15505
 
15506
  ALT_LOG_PRINT_BOOT("[alt_exit.c] Calling ALT_OS_STOP().\r\n");
15507
  ALT_OS_STOP();
15508
   4c180:       0001883a        nop
15509
   4c184:       e0bfff17        ldw     r2,-4(fp)
15510
   4c188:       e0bffd15        stw     r2,-12(fp)
15511
/*
15512
 * Routine called on exit.
15513
 */
15514
static ALT_INLINE ALT_ALWAYS_INLINE void alt_sim_halt(int exit_code)
15515
{
15516
  int r2 = exit_code;
15517
   4c18c:       e0bffd17        ldw     r2,-12(fp)
15518
   4c190:       e0bffe15        stw     r2,-8(fp)
15519
  __asm__ volatile ("\n0:\n\taddi %0,%0, -1\n\tbgt %0,zero,0b" : : "r" (ALT_CPU_FREQ/100) ); /* Delay for >30ms */
15520
 
15521
  __asm__ volatile ("break 2" : : "D02"(r2), "D03"(r3) ALT_GMON_DATA );
15522
 
15523
#else /* !DEBUG_STUB */
15524
  if (r2) {
15525
   4c194:       e0bffe17        ldw     r2,-8(fp)
15526
   4c198:       10000226        beq     r2,zero,4c1a4 <_exit+0x34>
15527
    ALT_SIM_FAIL();
15528
   4c19c:       002af070        cmpltui zero,zero,43969
15529
   4c1a0:       00000106        br      4c1a8 <_exit+0x38>
15530
  } else {
15531
    ALT_SIM_PASS();
15532
   4c1a4:       002af0b0        cmpltui zero,zero,43970
15533
  ALT_SIM_HALT(exit_code);
15534
 
15535
  /* spin forever, since there's no where to go back to */
15536
 
15537
  ALT_LOG_PRINT_BOOT("[alt_exit.c] Spinning forever.\r\n");
15538
  while (1);
15539
   4c1a8:       003fff06        br      4c1a8 <__alt_data_end+0xfffe50a8>

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.