DE2_115_ASM.elf: file format elf32-littlenios2 DE2_115_ASM.elf architecture: nios2, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x000001b4 Program Header: LOAD off 0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**12 filesz 0x00000020 memsz 0x00000020 flags r-x LOAD off 0x00001020 vaddr 0x00000020 paddr 0x00000020 align 2**12 filesz 0x00010694 memsz 0x00010694 flags r-x LOAD off 0x000116b4 vaddr 0x000106b4 paddr 0x0001223c align 2**12 filesz 0x00001b88 memsz 0x00001b88 flags rw- LOAD off 0x00013dc4 vaddr 0x00013dc4 paddr 0x00013dc4 align 2**12 filesz 0x00000000 memsz 0x00000810 flags rw- Sections: Idx Name Size VMA LMA File off Algn 0 .entry 00000020 00000000 00000000 00001000 2**5 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .exceptions 00000194 00000020 00000020 00001020 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .text 0000fddc 000001b4 000001b4 000011b4 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 3 .rodata 00000724 0000ff90 0000ff90 00010f90 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .rwdata 00001b88 000106b4 0001223c 000116b4 2**2 CONTENTS, ALLOC, LOAD, DATA, SMALL_DATA 5 .bss 00000810 00013dc4 00013dc4 00013dc4 2**2 ALLOC, SMALL_DATA 6 .comment 00000026 00000000 00000000 0001323c 2**0 CONTENTS, READONLY 7 .debug_aranges 00000e18 00000000 00000000 00013268 2**3 CONTENTS, READONLY, DEBUGGING 8 .debug_pubnames 000017d8 00000000 00000000 00014080 2**0 CONTENTS, READONLY, DEBUGGING 9 .debug_info 000251cd 00000000 00000000 00015858 2**0 CONTENTS, READONLY, DEBUGGING 10 .debug_abbrev 00008258 00000000 00000000 0003aa25 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_line 00015d82 00000000 00000000 00042c7d 2**0 CONTENTS, READONLY, DEBUGGING 12 .debug_frame 0000202c 00000000 00000000 00058a00 2**2 CONTENTS, READONLY, DEBUGGING 13 .debug_str 000023b5 00000000 00000000 0005aa2c 2**0 CONTENTS, READONLY, DEBUGGING 14 .debug_loc 0000c7db 00000000 00000000 0005cde1 2**0 CONTENTS, READONLY, DEBUGGING 15 .debug_alt_sim_info 00000040 00000000 00000000 000695bc 2**2 CONTENTS, READONLY, DEBUGGING 16 .debug_ranges 000009e0 00000000 00000000 00069600 2**3 CONTENTS, READONLY, DEBUGGING 17 .thread_model 00000003 00000000 00000000 0006d7ff 2**0 CONTENTS, READONLY 18 .cpu 0000000f 00000000 00000000 0006d802 2**0 CONTENTS, READONLY 19 .qsys 00000001 00000000 00000000 0006d811 2**0 CONTENTS, READONLY 20 .simulation_enabled 00000001 00000000 00000000 0006d812 2**0 CONTENTS, READONLY 21 .stderr_dev 00000009 00000000 00000000 0006d813 2**0 CONTENTS, READONLY 22 .stdin_dev 00000009 00000000 00000000 0006d81c 2**0 CONTENTS, READONLY 23 .stdout_dev 00000009 00000000 00000000 0006d825 2**0 CONTENTS, READONLY 24 .sopc_system_name 0000000b 00000000 00000000 0006d82e 2**0 CONTENTS, READONLY 25 .quartus_project_dir 00000030 00000000 00000000 0006d839 2**0 CONTENTS, READONLY 26 .sopcinfo 0007d2ad 00000000 00000000 0006d869 2**0 CONTENTS, READONLY SYMBOL TABLE: 00000000 l d .entry 00000000 .entry 00000020 l d .exceptions 00000000 .exceptions 000001b4 l d .text 00000000 .text 0000ff90 l d .rodata 00000000 .rodata 000106b4 l d .rwdata 00000000 .rwdata 00013dc4 l d .bss 00000000 .bss 00000000 l d .comment 00000000 .comment 00000000 l d .debug_aranges 00000000 .debug_aranges 00000000 l d .debug_pubnames 00000000 .debug_pubnames 00000000 l d .debug_info 00000000 .debug_info 00000000 l d .debug_abbrev 00000000 .debug_abbrev 00000000 l d .debug_line 00000000 .debug_line 00000000 l d .debug_frame 00000000 .debug_frame 00000000 l d .debug_str 00000000 .debug_str 00000000 l d .debug_loc 00000000 .debug_loc 00000000 l d .debug_alt_sim_info 00000000 .debug_alt_sim_info 00000000 l d .debug_ranges 00000000 .debug_ranges 000001ec l .text 00000000 alt_after_alt_main 00000000 l df *ABS* 00000000 alt_irq_handler.c 00000000 l df *ABS* 00000000 LCD.c 00000000 l df *ABS* 00000000 hello_world_small.c 000003dc l F .text 000000c0 init 00000734 l F .text 00000044 reset_mem_cancel 00000778 l F .text 000000b4 reset_mem 0000082c l F .text 00000044 reset_pc_cancel 00000870 l F .text 00000090 reset_pc 00000000 l df *ABS* 00000000 hex_encoder.c 00000000 l df *ABS* 00000000 hex_out.c 00000000 l df *ABS* 00000000 input_int.c 000014f8 l F .text 000000e8 update_sw_reg 00013dcc l O .bss 00000004 event_code.1400 00013dd0 l O .bss 00000001 status.1399 00000000 l df *ABS* 00000000 inst_decoder.c 00000000 l df *ABS* 00000000 lcd_out.c 00000000 l df *ABS* 00000000 sys_debug.c 00000000 l df *ABS* 00000000 sys_except.c 00000000 l df *ABS* 00000000 sys_memory.c 00013e0c l O .bss 00000100 memory 00013f0c l O .bss 00000400 inst_memory 00000000 l df *ABS* 00000000 sys_prog.c 00000000 l df *ABS* 00000000 sys_register.c 00000000 l df *ABS* 00000000 lib2-divmod.c 00002ad8 l F .text 0000007c udivmodsi4 00000000 l df *ABS* 00000000 lib2-mul.c 00000000 l df *ABS* 00000000 ctype_.c 000101e5 l O .rodata 00000180 _ctype_b 00000000 l df *ABS* 00000000 sprintf.c 00000000 l df *ABS* 00000000 strlen.c 00000000 l df *ABS* 00000000 vfprintf.c 00002da4 l F .text 00000058 __sprint_r 000103d6 l O .rodata 00000010 blanks.3452 000103c6 l O .rodata 00000010 zeroes.3453 00000000 l df *ABS* 00000000 wsetup.c 00000000 l df *ABS* 00000000 dtoa.c 00004e20 l F .text 00000244 quorem 00000000 l df *ABS* 00000000 fflush.c 00000000 l df *ABS* 00000000 findfp.c 00006848 l F .text 00000058 std 00006954 l F .text 00000008 __fp_lock 0000695c l F .text 00000008 __fp_unlock 00000000 l df *ABS* 00000000 mallocr.c 00000000 l df *ABS* 00000000 fvwrite.c 00000000 l df *ABS* 00000000 fwalk.c 00000000 l df *ABS* 00000000 impure.c 000106b4 l O .rwdata 00000400 impure_data 00000000 l df *ABS* 00000000 locale.c 00012204 l O .rwdata 00000004 charset 0001040c l O .rodata 00000030 lconv 00000000 l df *ABS* 00000000 makebuf.c 00000000 l df *ABS* 00000000 mallocr.c 00000000 l df *ABS* 00000000 memchr.c 00000000 l df *ABS* 00000000 memcpy.c 00000000 l df *ABS* 00000000 memmove.c 00000000 l df *ABS* 00000000 memset.c 00000000 l df *ABS* 00000000 mprec.c 00010554 l O .rodata 0000000c p05.2458 00000000 l df *ABS* 00000000 mallocr.c 00000000 l df *ABS* 00000000 s_isinfd.c 00000000 l df *ABS* 00000000 s_isnand.c 00000000 l df *ABS* 00000000 sbrkr.c 00000000 l df *ABS* 00000000 stdio.c 00000000 l df *ABS* 00000000 strcmp.c 00000000 l df *ABS* 00000000 writer.c 00000000 l df *ABS* 00000000 mallocr.c 00000000 l df *ABS* 00000000 closer.c 00000000 l df *ABS* 00000000 fclose.c 00000000 l df *ABS* 00000000 fstatr.c 00000000 l df *ABS* 00000000 int_errno.c 00000000 l df *ABS* 00000000 isattyr.c 00000000 l df *ABS* 00000000 lseekr.c 00000000 l df *ABS* 00000000 readr.c 00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 dp-bit.c 0000ad08 l F .text 00000410 _fpadd_parts 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 dp-bit.c 00000000 l df *ABS* 00000000 alt_close.c 0000c5ec l F .text 00000060 alt_get_errno 00000000 l df *ABS* 00000000 alt_dev.c 0000c64c l F .text 0000002c alt_dev_null_write 00000000 l df *ABS* 00000000 alt_errno.c 00000000 l df *ABS* 00000000 alt_fstat.c 0000c750 l F .text 00000060 alt_get_errno 00000000 l df *ABS* 00000000 alt_isatty.c 0000c874 l F .text 00000060 alt_get_errno 00000000 l df *ABS* 00000000 alt_load.c 0000c954 l F .text 0000006c alt_load_section 00000000 l df *ABS* 00000000 alt_lseek.c 0000cab4 l F .text 00000060 alt_get_errno 00000000 l df *ABS* 00000000 alt_main.c 00000000 l df *ABS* 00000000 alt_malloc_lock.c 00000000 l df *ABS* 00000000 alt_read.c 0000cce4 l F .text 00000060 alt_get_errno 00000000 l df *ABS* 00000000 alt_release_fd.c 00000000 l df *ABS* 00000000 alt_sbrk.c 00012228 l O .rwdata 00000004 heap_end 00000000 l df *ABS* 00000000 alt_usleep.c 00000000 l df *ABS* 00000000 alt_write.c 0000cfcc l F .text 00000060 alt_get_errno 00000000 l df *ABS* 00000000 alt_sys_init.c 00011070 l O .rwdata 00001060 jtag_uart 000120d0 l O .rwdata 00000120 lcd_16207_0 0000d0bc l F .text 00000038 alt_dev_reg 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_fd.c 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_init.c 0000d2fc l F .text 00000228 altera_avalon_jtag_uart_irq 0000d524 l F .text 000000b0 altera_avalon_jtag_uart_timeout 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_ioctl.c 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_read.c 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_write.c 00000000 l df *ABS* 00000000 altera_avalon_lcd_16207.c 0001222c l O .rwdata 00000004 colstart 0000dba0 l F .text 000000b8 lcd_write_command 0000dc58 l F .text 000000d4 lcd_write_data 0000dd2c l F .text 000000d8 lcd_clear_screen 0000de04 l F .text 00000214 lcd_repaint_screen 0000e018 l F .text 000000e0 lcd_scroll_up 0000e0f8 l F .text 000002e4 lcd_handle_escape 0000e918 l F .text 000000cc alt_lcd_16207_timeout 00000000 l df *ABS* 00000000 altera_avalon_lcd_16207_fd.c 00000000 l df *ABS* 00000000 alt_alarm_start.c 00000000 l df *ABS* 00000000 alt_busy_sleep.c 00000000 l df *ABS* 00000000 alt_dcache_flush_all.c 00000000 l df *ABS* 00000000 alt_dev_llist_insert.c 0000eef8 l F .text 00000060 alt_get_errno 00000000 l df *ABS* 00000000 alt_do_ctors.c 00000000 l df *ABS* 00000000 alt_do_dtors.c 00000000 l df *ABS* 00000000 alt_icache_flush_all.c 00000000 l df *ABS* 00000000 alt_iic.c 00000000 l df *ABS* 00000000 alt_iic_isr_register.c 00000000 l df *ABS* 00000000 alt_io_redirect.c 0000f308 l F .text 000000d8 alt_open_fd 00000000 l df *ABS* 00000000 alt_irq_vars.c 00000000 l df *ABS* 00000000 alt_open.c 0000f458 l F .text 000000f8 alt_file_locked 0000f6dc l F .text 00000060 alt_get_errno 00000000 l df *ABS* 00000000 alt_tick.c 00000000 l df *ABS* 00000000 altera_nios2_qsys_irq.c 00000000 l df *ABS* 00000000 alt_find_dev.c 00000000 l df *ABS* 00000000 alt_find_file.c 00000000 l df *ABS* 00000000 alt_get_fd.c 00000000 l df *ABS* 00000000 atexit.c 00000000 l df *ABS* 00000000 exit.c 00000000 l df *ABS* 00000000 memcmp.c 00000000 l df *ABS* 00000000 __atexit.c 00000000 l df *ABS* 00000000 __call_atexit.c 0000fd78 l F .text 00000004 register_fini 00000000 l df *ABS* 00000000 alt_exit.c 0000ff2c l F .text 00000040 alt_sim_halt 00008638 g F .text 00000094 _mprec_log10 00008724 g F .text 00000088 __any_on 00009edc g F .text 00000070 _isatty_r 0001052c g O .rodata 00000028 __mprec_tinytens 00001b20 g F .text 00000038 inst_load 0000cb14 g F .text 0000006c alt_main 00014344 g O .bss 00000100 alt_irq 00009f4c g F .text 00000078 _lseek_r 0001223c g *ABS* 00000000 __flash_rwdata_start 0000b828 g F .text 00000088 __eqdf2 000145d4 g *ABS* 00000000 __alt_heap_start 000028c8 g F .text 00000070 get_pc 00009994 g F .text 00000068 __sseek 000068b0 g F .text 000000a4 __sinit 000027bc g F .text 00000084 inc_pc 00001348 g F .text 00000090 clear_block 000075bc g F .text 00000084 _setlocale_r 0000049c g F .text 000000e4 store_value 000069b0 g F .text 0000009c __sfmoreglue 0000cba0 g F .text 00000020 __malloc_unlock 00001bec g F .text 0000005c inst_add 00001e9c g F .text 00000050 inst_jine 000080b4 g F .text 000000e0 memmove 000069a0 g F .text 00000010 _cleanup 000087ac g F .text 000000bc _Balloc 00000350 g F .text 0000008c LCD_Test 0000b938 g F .text 00000088 __gtdf2 00000000 w *UND* 00000000 __errno 00000000 g F .entry 0000000c __reset 00000020 g *ABS* 00000000 __flash_exceptions_start 00009e68 g F .text 00000074 _fstat_r 00013df0 g O .bss 00000004 errno 00013df8 g O .bss 00000004 alt_argv 0001a1f0 g *ABS* 00000000 _gp 0000ce78 g F .text 00000030 usleep 00010ef0 g O .rwdata 00000180 alt_fd_list 00001a54 g F .text 0000005c inst_jump 00002500 g F .text 0000003c delay10ms 0000f900 g F .text 00000094 alt_find_dev 00008014 g F .text 000000a0 memcpy 00006994 g F .text 0000000c _cleanup_r 0000bad0 g F .text 000000f8 __floatsidf 0000f3e0 g F .text 00000078 alt_io_redirect 0000ba48 g F .text 00000088 __ltdf2 0000ff90 g *ABS* 00000000 __DTOR_END__ 00008588 g F .text 000000b0 __ratio 00002938 g F .text 00000150 run_proc 0000d73c g F .text 00000224 altera_avalon_jtag_uart_read 00000000 w *UND* 00000000 malloc 00002c14 g F .text 00000008 __udivsi3 0000c7b0 g F .text 000000c4 isatty 0001043c g O .rodata 000000c8 __mprec_tens 00007598 g F .text 00000008 __locale_charset 00013de4 g O .bss 00000004 __malloc_top_pad 00012200 g O .rwdata 00000004 __mb_cur_max 000075a0 g F .text 0000000c _localeconv_r 00008f10 g F .text 0000003c __i2b 00006f7c g F .text 0000049c __sfvwrite_r 0000991c g F .text 00000070 _sbrk_r 00001f34 g F .text 00000028 lcd_caret_reset 00001e4c g F .text 00000050 inst_jieq 00009fc4 g F .text 00000078 _read_r 00010ab4 g O .rwdata 0000000c __lc_ctype 00012220 g O .rwdata 00000004 alt_max_fd 0000c2ec g F .text 00000138 __unpack_d 00009d44 g F .text 00000110 _fclose_r 000020cc g F .text 00000170 convertRegName 00006814 g F .text 00000034 fflush 00013de8 g O .bss 00000004 __malloc_max_sbrked_mem 00001ab0 g F .text 00000070 inst_output 0000b198 g F .text 00000074 __adddf3 00008468 g F .text 00000120 __b2d 00002690 g F .text 0000009c memory_store 0000a6a8 g F .text 00000660 __umoddi3 0000c9c0 g F .text 000000f4 lseek 000121fc g O .rwdata 00000004 _global_impure_ptr 000092b8 g F .text 000005f4 _realloc_r 000145d4 g *ABS* 00000000 __bss_end 0000f210 g F .text 000000f8 alt_iic_isr_register 0000f7d4 g F .text 0000010c alt_tick 00013dc4 g O .bss 00000005 stack 0000a03c g F .text 0000066c __udivdi3 00010504 g O .rodata 00000028 __mprec_bigtens 00009198 g F .text 00000120 __s2b 0000bca0 g F .text 00000194 __floatunsidf 00008388 g F .text 00000060 __mcmp 000121f4 g O .rwdata 00000004 __ctype_ptr 0000697c g F .text 00000018 __fp_lock_all 0000f1c8 g F .text 00000048 alt_ic_irq_enabled 00001c48 g F .text 0000005c inst_sub 0000f73c g F .text 00000098 alt_alarm_stop 00013e00 g O .bss 00000004 alt_irq_active 00001790 g F .text 0000004c inst_fetch 000000ec g F .exceptions 000000c8 alt_irq_handler 00010ec8 g O .rwdata 00000028 alt_dev_null 0000ee28 g F .text 0000001c alt_dcache_flush_all 00008254 g F .text 00000070 __hi0bits 00014334 g O .bss 0000000f global_registers 0000bbc8 g F .text 000000d8 __fixdfsi 00001d74 g F .text 0000006c inst_jeq 0001223c g *ABS* 00000000 __ram_rwdata_end 00000000 g *ABS* 00000000 __alt_mem_onchip_memory 00012218 g O .rwdata 00000008 alt_dev_list 0000cea8 g F .text 00000124 write 000106b4 g *ABS* 00000000 __ram_rodata_end 0000c678 g F .text 000000d8 fstat 00009078 g F .text 00000120 __pow5mult 00013dd8 g O .bss 00000004 __nlocale_changed 00002c1c g F .text 00000008 __umodsi3 000145d4 g *ABS* 00000000 end 0000e3dc g F .text 0000053c altera_avalon_lcd_16207_write 00002840 g F .text 00000050 add_pc 0000d23c g F .text 000000c0 altera_avalon_jtag_uart_init 0000ff8c g *ABS* 00000000 __CTOR_LIST__ 00032000 g *ABS* 00000000 __alt_stack_pointer 0000bf58 g F .text 00000080 __clzsi2 0000d960 g F .text 00000240 altera_avalon_jtag_uart_write 000068a0 g F .text 00000004 __sfp_lock_acquire 00007f30 g F .text 000000e4 memchr 00002dfc g F .text 00001ec4 ___vfprintf_internal_r 00002cd0 g F .text 00000060 _sprintf_r 00006c68 g F .text 00000314 _free_r 0000fd7c g F .text 000001b0 __call_exitprocs 00013ddc g O .bss 00000004 __mlocale_changed 000013d8 g F .text 000000f8 print_number 0001220c g O .rwdata 00000004 __malloc_sbrk_base 000001b4 g F .text 0000003c _start 00013e04 g O .bss 00000004 _alt_tick_rate 000011b8 g F .text 00000190 print_block 00008b70 g F .text 0000014c __lshift 00013e08 g O .bss 00000004 _alt_nticks 0000cbc0 g F .text 00000124 read 0000d060 g F .text 0000005c alt_sys_init 0000fc44 g F .text 00000134 __register_exitproc 00008cbc g F .text 00000254 __multiply 00001f84 g F .text 00000030 lcd_print 0000d5d4 g F .text 00000074 altera_avalon_jtag_uart_close 00002c24 g F .text 00000038 __mulsi3 000106b4 g *ABS* 00000000 __ram_rwdata_start 0000ff90 g *ABS* 00000000 __ram_rodata_start 0001430c g O .bss 00000028 __malloc_current_mallinfo 00008868 g F .text 0000017c __d2b 0000d0f4 g F .text 00000058 altera_avalon_jtag_uart_read_fd 0000fab4 g F .text 000000d0 alt_get_fd 0000253c g F .text 00000040 panic 0000eccc g F .text 0000015c alt_busy_sleep 0000c424 g F .text 000000c8 __fpcmp_parts_d 00009cd4 g F .text 00000070 _close_r 0000fbd0 g F .text 00000074 memcmp 0000d1a4 g F .text 00000048 altera_avalon_jtag_uart_close_fd 000145d4 g *ABS* 00000000 __alt_stack_base 0000d1ec g F .text 00000050 altera_avalon_jtag_uart_ioctl_fd 00001b90 g F .text 0000005c inst_delay 00001b58 g F .text 00000038 inst_store 00001fb4 g F .text 000000ac display_inst 00004ce4 g F .text 0000013c __swsetup_r 0000b5d0 g F .text 00000258 __divdf3 00006a4c g F .text 000000f0 __sfp 000086cc g F .text 00000058 __copybits 00010ac0 g O .rwdata 00000408 __malloc_av_ 000068ac g F .text 00000004 __sinit_lock_release 0000b20c g F .text 000003c4 __muldf3 00009a78 g F .text 00000060 __sread 0000f994 g F .text 00000120 alt_find_file 0000ee44 g F .text 000000b4 alt_dev_llist_insert 0000cb80 g F .text 00000020 __malloc_lock 0000cdbc g F .text 000000bc sbrk 00006618 g F .text 000001fc _fflush_r 00009c0c g F .text 000000c8 _calloc_r 00013dc4 g *ABS* 00000000 __bss_start 000001f0 g F .text 0000009c LCD_Init 00008194 g F .text 00000098 memset 00001eec g F .text 00000048 lcd_init 00000900 g F .text 00000288 main 00013dfc g O .bss 00000004 alt_envp 00013dec g O .bss 00000004 __malloc_max_total_mem 0000d14c g F .text 00000058 altera_avalon_jtag_uart_write_fd 0000e9e4 g F .text 0000013c altera_avalon_lcd_16207_init 00000314 g F .text 0000003c LCD_Line2 00000b88 g F .text 000001dc encodeNumHex 0000998c g F .text 00000008 __sclose 00032000 g *ABS* 00000000 __alt_heap_limit 00009e54 g F .text 00000014 fclose 00014444 g O .bss 00000190 _atexit0 00005064 g F .text 000015b4 _dtoa_r 000077f0 g F .text 00000740 _malloc_r 00012224 g O .rwdata 00000004 alt_errno 000074e0 g F .text 000000b8 _fwalk 000014d0 g F .text 00000028 in_int 00002b54 g F .text 00000060 __divsi3 00010560 g O .rodata 00000014 __thenan_df 00006b3c g F .text 0000012c _malloc_trim_r 0000ff90 g *ABS* 00000000 __CTOR_END__ 00009ad8 g F .text 000000bc strcmp 0000ff90 g *ABS* 00000000 __flash_rodata_start 0000ff90 g *ABS* 00000000 __DTOR_LIST__ 0000b8b0 g F .text 00000088 __nedf2 0000d02c g F .text 00000034 alt_irq_init 0000028c g F .text 00000088 LCD_Show_Text 0000cd44 g F .text 00000078 alt_release_fd 00002c5c g F .text 00000074 sprintf 00010574 g O .rodata 00000100 __clz_tab 00013de0 g O .bss 00000004 _PathLocale 0000fb84 g F .text 00000014 atexit 00002890 g F .text 00000038 set_pc 00009b94 g F .text 00000078 _write_r 00007640 g F .text 0000001c setlocale 000006c4 g F .text 00000070 print_change_memory 0000168c g F .text 00000104 push_int 00002060 g F .text 0000006c display_mem 000121f8 g O .rwdata 00000004 _impure_ptr 00013df4 g O .bss 00000004 alt_argc 00013dd4 g O .bss 00000004 global_current_memory 0000efbc g F .text 00000064 _do_dtors 00000020 g .exceptions 00000000 alt_irq_entry 000083e8 g F .text 00000080 __ulp 000098ac g F .text 00000040 __isinfd 00006964 g F .text 00000018 __fp_unlock_all 0000eb20 g F .text 00000058 altera_avalon_lcd_16207_write_fd 00012210 g O .rwdata 00000008 alt_fs_list 00000020 g *ABS* 00000000 __ram_exceptions_start 000075ac g F .text 00000010 localeconv 00000d64 g F .text 00000454 encodeLatHex 0000223c g F .text 000002c4 convertInstName 0000f03c g F .text 00000050 alt_ic_isr_register 0001223c g *ABS* 00000000 _edata 000145d4 g *ABS* 00000000 _end 000001b4 g *ABS* 00000000 __ram_exceptions_end 0000d648 g F .text 000000f4 altera_avalon_jtag_uart_ioctl 00001f5c g F .text 00000028 lcd_caret_reset2 0000f128 g F .text 000000a0 alt_ic_irq_disable 0000257c g F .text 0000007c memory_init 000099fc g F .text 0000007c __swrite 00012208 g O .rwdata 00000004 __malloc_trim_threshold 0000f8e0 g F .text 00000020 altera_nios2_qsys_irq_init 0000fb98 g F .text 00000038 exit 0000272c g F .text 00000090 memory_load 00007418 g F .text 000000c8 _fwalk_reent 000089e4 g F .text 0000018c __mdiff 00002bb4 g F .text 00000060 __modsi3 00032000 g *ABS* 00000000 __alt_data_end 00000020 g F .exceptions 00000000 alt_exception 000068a4 g F .text 00000004 __sfp_lock_release 000017dc g F .text 00000278 inst_decode 000100e4 g O .rodata 00000101 _ctype_ 00001ca4 g F .text 000000d0 inst_comp 0000ff6c g F .text 00000020 _exit 000098ec g F .text 00000030 __isnand 00002a88 g F .text 00000050 registers_init 0000eb78 g F .text 00000154 alt_alarm_start 0000be34 g F .text 00000124 __muldi3 0000765c g F .text 00000194 __smakebuf_r 00001de0 g F .text 0000006c inst_jne 00002d30 g F .text 00000074 strlen 0000f550 g F .text 0000018c open 0000b9c0 g F .text 00000088 __gedf2 00000580 g F .text 00000144 store_inst 0000f020 g F .text 0000001c alt_icache_flush_all 00012230 g O .rwdata 00000004 alt_priority_mask 0000f08c g F .text 0000009c alt_ic_irq_enable 00004cc0 g F .text 00000024 __vfprintf_internal 0000b118 g F .text 00000080 __subdf3 000082c4 g F .text 000000c4 __lo0bits 00012234 g O .rwdata 00000008 alt_alarm_list 0000ef58 g F .text 00000064 _do_ctors 000025f8 g F .text 00000050 inst_memory_store 0000c4ec g F .text 00000100 close 000015e0 g F .text 000000ac push_decode 0000c8d4 g F .text 00000080 alt_load 0000bfd8 g F .text 00000314 __pack_d 000121f0 g O .rwdata 00000001 PUSH_EVENT 00002648 g F .text 00000048 inst_memory_load 00000000 w *UND* 00000000 free 000068a8 g F .text 00000004 __sinit_lock_acquire 00008f4c g F .text 0000012c __multadd 0000822c g F .text 00000028 _Bfree Disassembly of section .entry: 00000000 <__reset>: * Jump to the _start entry point in the .text section if reset code * is allowed or if optimizing for RTL simulation. */ #if defined(ALT_ALLOW_CODE_AT_RESET) || defined(ALT_SIM_OPTIMIZE) /* Jump to the _start entry point in the .text section. */ movhi r1, %hi(_start) 0: 00400034 movhi at,0 ori r1, r1, %lo(_start) 4: 08406d14 ori at,at,436 jmp r1 8: 0800683a jmp at ... Disassembly of section .exceptions: 00000020 <alt_exception>: * Process an exception. For all exceptions we must preserve all * caller saved registers on the stack (See the Nios2 ABI * documentation for details). */ addi sp, sp, -76 20: deffed04 addi sp,sp,-76 #endif #endif stw ra, 0(sp) 24: dfc00015 stw ra,0(sp) /* * Leave a gap in the stack frame at 4(sp) for the muldiv handler to * store zero into. */ stw r1, 8(sp) 28: d8400215 stw at,8(sp) stw r2, 12(sp) 2c: d8800315 stw r2,12(sp) stw r3, 16(sp) 30: d8c00415 stw r3,16(sp) stw r4, 20(sp) 34: d9000515 stw r4,20(sp) stw r5, 24(sp) 38: d9400615 stw r5,24(sp) stw r6, 28(sp) 3c: d9800715 stw r6,28(sp) stw r7, 32(sp) 40: d9c00815 stw r7,32(sp) rdctl r5, estatus 44: 000b307a rdctl r5,estatus stw r8, 36(sp) 48: da000915 stw r8,36(sp) stw r9, 40(sp) 4c: da400a15 stw r9,40(sp) stw r10, 44(sp) 50: da800b15 stw r10,44(sp) stw r11, 48(sp) 54: dac00c15 stw r11,48(sp) stw r12, 52(sp) 58: db000d15 stw r12,52(sp) stw r13, 56(sp) 5c: db400e15 stw r13,56(sp) stw r14, 60(sp) 60: db800f15 stw r14,60(sp) stw r15, 64(sp) 64: dbc01015 stw r15,64(sp) /* * ea-4 contains the address of the instruction being executed * when the exception occured. For interrupt exceptions, we will * will be re-issue the isntruction. Store it in 72(sp) */ stw r5, 68(sp) /* estatus */ 68: d9401115 stw r5,68(sp) addi r15, ea, -4 /* instruction that caused exception */ 6c: ebffff04 addi r15,ea,-4 stw r15, 72(sp) 70: dbc01215 stw r15,72(sp) #else /* * Test to see if the exception was a software exception or caused * by an external interrupt, and vector accordingly. */ rdctl r4, ipending 74: 0009313a rdctl r4,ipending andi r2, r5, 1 78: 2880004c andi r2,r5,1 beq r2, zero, .Lnot_irq 7c: 10000326 beq r2,zero,8c <alt_exception+0x6c> beq r4, zero, .Lnot_irq 80: 20000226 beq r4,zero,8c <alt_exception+0x6c> /* * Now that all necessary registers have been preserved, call * alt_irq_handler() to process the interrupts. */ call alt_irq_handler 84: 00000ec0 call ec <alt_irq_handler> .section .exceptions.irqreturn, "xa" br .Lexception_exit 88: 00000306 br 98 <alt_exception+0x78> * upon completion, so we write ea (address of instruction *after* * the one where the exception occured) into 72(sp). The actual * instruction that caused the exception is written in r2, which these * handlers will utilize. */ stw ea, 72(sp) /* Don't re-issue */ 8c: df401215 stw ea,72(sp) ldw r2, -4(ea) /* Instruction that caused exception */ 90: e8bfff17 ldw r2,-4(ea) #ifdef NIOS2_HAS_DEBUG_STUB /* * Either tell the user now (if there is a debugger attached) or go into * the debug monitor which will loop until a debugger is attached. */ break 94: 003da03a break 0 /* * Restore the saved registers, so that all general purpose registers * have been restored to their state at the time the interrupt occured. */ ldw r5, 68(sp) 98: d9401117 ldw r5,68(sp) ldw ea, 72(sp) /* This becomes the PC once eret is executed */ 9c: df401217 ldw ea,72(sp) ldw ra, 0(sp) a0: dfc00017 ldw ra,0(sp) wrctl estatus, r5 a4: 2801707a wrctl estatus,r5 ldw r1, 8(sp) a8: d8400217 ldw at,8(sp) ldw r2, 12(sp) ac: d8800317 ldw r2,12(sp) ldw r3, 16(sp) b0: d8c00417 ldw r3,16(sp) ldw r4, 20(sp) b4: d9000517 ldw r4,20(sp) ldw r5, 24(sp) b8: d9400617 ldw r5,24(sp) ldw r6, 28(sp) bc: d9800717 ldw r6,28(sp) ldw r7, 32(sp) c0: d9c00817 ldw r7,32(sp) #ifdef ALT_STACK_CHECK ldw et, %gprel(alt_exception_old_stack_limit)(gp) #endif #endif ldw r8, 36(sp) c4: da000917 ldw r8,36(sp) ldw r9, 40(sp) c8: da400a17 ldw r9,40(sp) ldw r10, 44(sp) cc: da800b17 ldw r10,44(sp) ldw r11, 48(sp) d0: dac00c17 ldw r11,48(sp) ldw r12, 52(sp) d4: db000d17 ldw r12,52(sp) ldw r13, 56(sp) d8: db400e17 ldw r13,56(sp) ldw r14, 60(sp) dc: db800f17 ldw r14,60(sp) ldw r15, 64(sp) e0: dbc01017 ldw r15,64(sp) #endif ldw sp, 76(sp) #else addi sp, sp, 76 e4: dec01304 addi sp,sp,76 /* * Return to the interrupted instruction. */ eret e8: ef80083a eret 000000ec <alt_irq_handler>: * instruction is present if the macro ALT_CI_INTERRUPT_VECTOR defined. */ void alt_irq_handler (void) __attribute__ ((section (".exceptions"))); void alt_irq_handler (void) { ec: defff904 addi sp,sp,-28 f0: dfc00615 stw ra,24(sp) f4: df000515 stw fp,20(sp) f8: df000504 addi fp,sp,20 #ifndef NIOS2_EIC_PRESENT static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void) { alt_u32 active; NIOS2_READ_IPENDING (active); fc: 0005313a rdctl r2,ipending 100: e0bffc15 stw r2,-16(fp) return active; 104: e0bffc17 ldw r2,-16(fp) * Consider the case where the high priority interupt is asserted during * the interrupt entry sequence for a lower priority interrupt to see why * this is the case. */ active = alt_irq_pending (); 108: e0bfff15 stw r2,-4(fp) do { i = 0; 10c: e03ffd15 stw zero,-12(fp) mask = 1; 110: 00800044 movi r2,1 114: e0bffe15 stw r2,-8(fp) * called to clear the interrupt condition. */ do { if (active & mask) 118: e0ffff17 ldw r3,-4(fp) 11c: e0bffe17 ldw r2,-8(fp) 120: 1884703a and r2,r3,r2 124: 1005003a cmpeq r2,r2,zero 128: 1000161e bne r2,zero,184 <alt_irq_handler+0x98> { #ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT alt_irq[i].handler(alt_irq[i].context); 12c: e0bffd17 ldw r2,-12(fp) 130: 00c00074 movhi r3,1 134: 18d0d104 addi r3,r3,17220 138: 100490fa slli r2,r2,3 13c: 10c5883a add r2,r2,r3 140: 11400017 ldw r5,0(r2) 144: e0bffd17 ldw r2,-12(fp) 148: 00c00074 movhi r3,1 14c: 18d0d104 addi r3,r3,17220 150: 100490fa slli r2,r2,3 154: 10c5883a add r2,r2,r3 158: 10800104 addi r2,r2,4 15c: 11000017 ldw r4,0(r2) 160: 283ee83a callr r5 #ifndef NIOS2_EIC_PRESENT static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void) { alt_u32 active; NIOS2_READ_IPENDING (active); 164: 0005313a rdctl r2,ipending 168: e0bffb15 stw r2,-20(fp) return active; 16c: e0bffb17 ldw r2,-20(fp) mask <<= 1; i++; } while (1); active = alt_irq_pending (); 170: e0bfff15 stw r2,-4(fp) } while (active); 174: e0bfff17 ldw r2,-4(fp) 178: 1004c03a cmpne r2,r2,zero 17c: 103fe31e bne r2,zero,10c <alt_irq_handler+0x20> 180: 00000706 br 1a0 <alt_irq_handler+0xb4> #else alt_irq[i].handler(alt_irq[i].context, i); #endif break; } mask <<= 1; 184: e0bffe17 ldw r2,-8(fp) 188: 1085883a add r2,r2,r2 18c: e0bffe15 stw r2,-8(fp) i++; 190: e0bffd17 ldw r2,-12(fp) 194: 10800044 addi r2,r2,1 198: e0bffd15 stw r2,-12(fp) } while (1); 19c: 003fde06 br 118 <alt_irq_handler+0x2c> /* * Notify the operating system that interrupt processing is complete. */ ALT_OS_INT_EXIT(); } 1a0: e037883a mov sp,fp 1a4: dfc00117 ldw ra,4(sp) 1a8: df000017 ldw fp,0(sp) 1ac: dec00204 addi sp,sp,8 1b0: f800283a ret Disassembly of section .text: 000001b4 <_start>: #if (NIOS2_NUM_OF_SHADOW_REG_SETS == 0) /* * Now that the caches are initialized, set up the stack pointer. * The value provided by the linker is assumed to be correctly aligned. */ movhi sp, %hi(__alt_stack_pointer) 1b4: 06c000f4 movhi sp,3 ori sp, sp, %lo(__alt_stack_pointer) 1b8: dec80014 ori sp,sp,8192 /* Set up the global pointer. */ movhi gp, %hi(_gp) 1bc: 06800074 movhi gp,1 ori gp, gp, %lo(_gp) 1c0: d6a87c14 ori gp,gp,41456 */ #ifndef ALT_SIM_OPTIMIZE /* Log that the BSS is about to be cleared. */ ALT_LOG_PUTS(alt_log_msg_bss) movhi r2, %hi(__bss_start) 1c4: 00800074 movhi r2,1 ori r2, r2, %lo(__bss_start) 1c8: 108f7114 ori r2,r2,15812 movhi r3, %hi(__bss_end) 1cc: 00c00074 movhi r3,1 ori r3, r3, %lo(__bss_end) 1d0: 18d17514 ori r3,r3,17876 beq r2, r3, 1f 1d4: 10c00326 beq r2,r3,1e4 <_start+0x30> 0: stw zero, (r2) 1d8: 10000015 stw zero,0(r2) addi r2, r2, 4 1dc: 10800104 addi r2,r2,4 bltu r2, r3, 0b 1e0: 10fffd36 bltu r2,r3,1d8 <_start+0x24> * section aren't defined until alt_load() has been called). */ mov et, zero #endif call alt_load 1e4: 000c8d40 call c8d4 <alt_load> /* Log that alt_main is about to be called. */ ALT_LOG_PUTS(alt_log_msg_alt_main) /* Call the C entry point. It should never return. */ call alt_main 1e8: 000cb140 call cb14 <alt_main> 000001ec <alt_after_alt_main>: /* Wait in infinite loop in case alt_main does return. */ alt_after_alt_main: br alt_after_alt_main 1ec: 003fff06 br 1ec <alt_after_alt_main> 000001f0 <LCD_Init>: #include <io.h> #include "system.h" #include "LCD.h" //------------------------------------------------------------------------- void LCD_Init() { 1f0: defffe04 addi sp,sp,-8 1f4: dfc00115 stw ra,4(sp) 1f8: df000015 stw fp,0(sp) 1fc: d839883a mov fp,sp lcd_write_cmd(LCD_16207_0_BASE,0x38); 200: 00c00134 movhi r3,4 204: 18c40c04 addi r3,r3,4144 208: 00800e04 movi r2,56 20c: 18800035 stwio r2,0(r3) usleep(2000); 210: 0101f404 movi r4,2000 214: 000ce780 call ce78 <usleep> lcd_write_cmd(LCD_16207_0_BASE,0x0C); 218: 00c00134 movhi r3,4 21c: 18c40c04 addi r3,r3,4144 220: 00800304 movi r2,12 224: 18800035 stwio r2,0(r3) usleep(2000); 228: 0101f404 movi r4,2000 22c: 000ce780 call ce78 <usleep> lcd_write_cmd(LCD_16207_0_BASE,0x01); 230: 00c00134 movhi r3,4 234: 18c40c04 addi r3,r3,4144 238: 00800044 movi r2,1 23c: 18800035 stwio r2,0(r3) usleep(2000); 240: 0101f404 movi r4,2000 244: 000ce780 call ce78 <usleep> lcd_write_cmd(LCD_16207_0_BASE,0x06); 248: 00c00134 movhi r3,4 24c: 18c40c04 addi r3,r3,4144 250: 00800184 movi r2,6 254: 18800035 stwio r2,0(r3) usleep(2000); 258: 0101f404 movi r4,2000 25c: 000ce780 call ce78 <usleep> lcd_write_cmd(LCD_16207_0_BASE,0x80); 260: 00c00134 movhi r3,4 264: 18c40c04 addi r3,r3,4144 268: 00802004 movi r2,128 26c: 18800035 stwio r2,0(r3) usleep(2000); 270: 0101f404 movi r4,2000 274: 000ce780 call ce78 <usleep> } 278: e037883a mov sp,fp 27c: dfc00117 ldw ra,4(sp) 280: df000017 ldw fp,0(sp) 284: dec00204 addi sp,sp,8 288: f800283a ret 0000028c <LCD_Show_Text>: //------------------------------------------------------------------------- void LCD_Show_Text(const char* Text) { 28c: defffb04 addi sp,sp,-20 290: dfc00415 stw ra,16(sp) 294: df000315 stw fp,12(sp) 298: dc000215 stw r16,8(sp) 29c: df000204 addi fp,sp,8 2a0: e13fff15 stw r4,-4(fp) int i; for(i=0;i<strlen(Text);i++) 2a4: e03ffe15 stw zero,-8(fp) 2a8: 00001006 br 2ec <LCD_Show_Text+0x60> { lcd_write_data(LCD_16207_0_BASE,Text[i]); 2ac: e0bffe17 ldw r2,-8(fp) 2b0: 1007883a mov r3,r2 2b4: e0bfff17 ldw r2,-4(fp) 2b8: 1885883a add r2,r3,r2 2bc: 10800003 ldbu r2,0(r2) 2c0: 10c03fcc andi r3,r2,255 2c4: 18c0201c xori r3,r3,128 2c8: 18ffe004 addi r3,r3,-128 2cc: 00800134 movhi r2,4 2d0: 10840e04 addi r2,r2,4152 2d4: 10c00035 stwio r3,0(r2) usleep(2000); 2d8: 0101f404 movi r4,2000 2dc: 000ce780 call ce78 <usleep> } //------------------------------------------------------------------------- void LCD_Show_Text(const char* Text) { int i; for(i=0;i<strlen(Text);i++) 2e0: e0bffe17 ldw r2,-8(fp) 2e4: 10800044 addi r2,r2,1 2e8: e0bffe15 stw r2,-8(fp) 2ec: e43ffe17 ldw r16,-8(fp) 2f0: e13fff17 ldw r4,-4(fp) 2f4: 0002d300 call 2d30 <strlen> 2f8: 80bfec36 bltu r16,r2,2ac <LCD_Show_Text+0x20> { lcd_write_data(LCD_16207_0_BASE,Text[i]); usleep(2000); } } 2fc: e037883a mov sp,fp 300: dfc00217 ldw ra,8(sp) 304: df000117 ldw fp,4(sp) 308: dc000017 ldw r16,0(sp) 30c: dec00304 addi sp,sp,12 310: f800283a ret 00000314 <LCD_Line2>: //------------------------------------------------------------------------- void LCD_Line2() { 314: defffe04 addi sp,sp,-8 318: dfc00115 stw ra,4(sp) 31c: df000015 stw fp,0(sp) 320: d839883a mov fp,sp lcd_write_cmd(LCD_16207_0_BASE,0xC0); 324: 00c00134 movhi r3,4 328: 18c40c04 addi r3,r3,4144 32c: 00803004 movi r2,192 330: 18800035 stwio r2,0(r3) usleep(2000); 334: 0101f404 movi r4,2000 338: 000ce780 call ce78 <usleep> } 33c: e037883a mov sp,fp 340: dfc00117 ldw ra,4(sp) 344: df000017 ldw fp,0(sp) 348: dec00204 addi sp,sp,8 34c: f800283a ret 00000350 <LCD_Test>: //------------------------------------------------------------------------- void LCD_Test() { 350: defff604 addi sp,sp,-40 354: dfc00915 stw ra,36(sp) 358: df000815 stw fp,32(sp) 35c: df000804 addi fp,sp,32 char Text1[16] = "<NIOS II on UP4>"; 360: 00c00074 movhi r3,1 364: 18ffe404 addi r3,r3,-112 368: 18800017 ldw r2,0(r3) 36c: e0bff815 stw r2,-32(fp) 370: 18800117 ldw r2,4(r3) 374: e0bff915 stw r2,-28(fp) 378: 18800217 ldw r2,8(r3) 37c: e0bffa15 stw r2,-24(fp) 380: 18800317 ldw r2,12(r3) 384: e0bffb15 stw r2,-20(fp) char Text2[16] = "Nice to See You!"; 388: 00c00074 movhi r3,1 38c: 18ffe904 addi r3,r3,-92 390: 18800017 ldw r2,0(r3) 394: e0bffc15 stw r2,-16(fp) 398: 18800117 ldw r2,4(r3) 39c: e0bffd15 stw r2,-12(fp) 3a0: 18800217 ldw r2,8(r3) 3a4: e0bffe15 stw r2,-8(fp) 3a8: 18800317 ldw r2,12(r3) 3ac: e0bfff15 stw r2,-4(fp) // Initial LCD LCD_Init(); 3b0: 00001f00 call 1f0 <LCD_Init> // Show Text to LCD LCD_Show_Text(Text1); 3b4: e13ff804 addi r4,fp,-32 3b8: 000028c0 call 28c <LCD_Show_Text> // Change Line2 LCD_Line2(); 3bc: 00003140 call 314 <LCD_Line2> // Show Text to LCD LCD_Show_Text(Text2); 3c0: e13ffc04 addi r4,fp,-16 3c4: 000028c0 call 28c <LCD_Show_Text> } 3c8: e037883a mov sp,fp 3cc: dfc00117 ldw ra,4(sp) 3d0: df000017 ldw fp,0(sp) 3d4: dec00204 addi sp,sp,8 3d8: f800283a ret 000003dc <init>: #include "sys_debug.h" #include "sys_prog.h" #define ledrs (volatile int *) LEDRS_BASE static void init() { 3dc: defffe04 addi sp,sp,-8 3e0: dfc00115 stw ra,4(sp) 3e4: df000015 stw fp,0(sp) 3e8: d839883a mov fp,sp // lcd lcd_init(); 3ec: 0001eec0 call 1eec <lcd_init> lcd_print("Starting now..."); 3f0: 01000074 movhi r4,1 3f4: 213fee04 addi r4,r4,-72 3f8: 0001f840 call 1f84 <lcd_print> registers_init(); 3fc: 0002a880 call 2a88 <registers_init> memory_init(); 400: 000257c0 call 257c <memory_init> // hex clear_block(HEX0_3); clear_block(HEX4_5); clear_block(HEX6_7); 404: 0009883a mov r4,zero 408: 00013480 call 1348 <clear_block> 40c: 01000044 movi r4,1 410: 00013480 call 1348 <clear_block> 414: 01000084 movi r4,2 418: 00013480 call 1348 <clear_block> print_block("he", 2, HEX6_7); 41c: 01000074 movhi r4,1 420: 213ff204 addi r4,r4,-56 424: 01400084 movi r5,2 428: 01800084 movi r6,2 42c: 00011b80 call 11b8 <print_block> print_block("lo", 2, HEX4_5); 430: 01000074 movhi r4,1 434: 213ff304 addi r4,r4,-52 438: 01400084 movi r5,2 43c: 01800044 movi r6,1 440: 00011b80 call 11b8 <print_block> print_block("you1", 4, HEX0_3); 444: 01000074 movhi r4,1 448: 213ff404 addi r4,r4,-48 44c: 01400104 movi r5,4 450: 000d883a mov r6,zero 454: 00011b80 call 11b8 <print_block> delay10ms(200); 458: 01003204 movi r4,200 45c: 00025000 call 2500 <delay10ms> clear_block(HEX0_3); clear_block(HEX4_5); clear_block(HEX6_7); 460: 0009883a mov r4,zero 464: 00013480 call 1348 <clear_block> 468: 01000044 movi r4,1 46c: 00013480 call 1348 <clear_block> 470: 01000084 movi r4,2 474: 00013480 call 1348 <clear_block> lcd_caret_reset2(); 478: 0001f5c0 call 1f5c <lcd_caret_reset2> lcd_print("Ok!"); 47c: 01000074 movhi r4,1 480: 213ff604 addi r4,r4,-40 484: 0001f840 call 1f84 <lcd_print> } 488: e037883a mov sp,fp 48c: dfc00117 ldw ra,4(sp) 490: df000017 ldw fp,0(sp) 494: dec00204 addi sp,sp,8 498: f800283a ret 0000049c <store_value>: char stack[5]; void store_value(){ 49c: defffb04 addi sp,sp,-20 4a0: dfc00415 stw ra,16(sp) 4a4: df000315 stw fp,12(sp) 4a8: df000304 addi fp,sp,12 unsigned int memi = global_registers[Ssw_memi]; 4ac: 00800074 movhi r2,1 4b0: 1090cd04 addi r2,r2,17204 4b4: 10800283 ldbu r2,10(r2) 4b8: 10803fcc andi r2,r2,255 4bc: 1080201c xori r2,r2,128 4c0: 10bfe004 addi r2,r2,-128 4c4: e0bffd15 stw r2,-12(fp) memory_store(memi, Ssw_data); 4c8: e13ffd17 ldw r4,-12(fp) 4cc: 014001c4 movi r5,7 4d0: 00026900 call 2690 <memory_store> { // デバック表示 char buf[5]; sprintf(buf, "%02x", (unsigned char)memi); 4d4: e0bffd17 ldw r2,-12(fp) 4d8: 11803fcc andi r6,r2,255 4dc: e13ffe04 addi r4,fp,-8 4e0: 01400074 movhi r5,1 4e4: 297ff704 addi r5,r5,-36 4e8: 0002c5c0 call 2c5c <sprintf> print_block(buf, 2, HEX6_7); 4ec: e13ffe04 addi r4,fp,-8 4f0: 01400084 movi r5,2 4f4: 01800084 movi r6,2 4f8: 00011b80 call 11b8 <print_block> print_block("--", 2, HEX4_5); 4fc: 01000074 movhi r4,1 500: 213ff904 addi r4,r4,-28 504: 01400084 movi r5,2 508: 01800044 movi r6,1 50c: 00011b80 call 11b8 <print_block> sprintf(buf, "%04d", global_registers[Ssw_data]); 510: 00800074 movhi r2,1 514: 1090cd04 addi r2,r2,17204 518: 108001c3 ldbu r2,7(r2) 51c: 11803fcc andi r6,r2,255 520: 3180201c xori r6,r6,128 524: 31bfe004 addi r6,r6,-128 528: e13ffe04 addi r4,fp,-8 52c: 01400074 movhi r5,1 530: 297ffa04 addi r5,r5,-24 534: 0002c5c0 call 2c5c <sprintf> print_block(buf, 4, HEX0_3); 538: e13ffe04 addi r4,fp,-8 53c: 01400104 movi r5,4 540: 000d883a mov r6,zero 544: 00011b80 call 11b8 <print_block> display_mem((unsigned char)memi, global_registers[Ssw_data]); 548: e0bffd17 ldw r2,-12(fp) 54c: 11003fcc andi r4,r2,255 550: 00800074 movhi r2,1 554: 1090cd04 addi r2,r2,17204 558: 108001c3 ldbu r2,7(r2) 55c: 11403fcc andi r5,r2,255 560: 2940201c xori r5,r5,128 564: 297fe004 addi r5,r5,-128 568: 00020600 call 2060 <display_mem> } } 56c: e037883a mov sp,fp 570: dfc00117 ldw ra,4(sp) 574: df000017 ldw fp,0(sp) 578: dec00204 addi sp,sp,8 57c: f800283a ret 00000580 <store_inst>: void store_inst(){ 580: defff904 addi sp,sp,-28 584: dfc00615 stw ra,24(sp) 588: df000515 stw fp,20(sp) 58c: df000504 addi fp,sp,20 char reg_index; unsigned int stored_pc; struct InstRec inst_rec; // 必要な情報の取得 inst = global_registers[Ssw_inst]; 590: 00800074 movhi r2,1 594: 1090cd04 addi r2,r2,17204 598: 10800203 ldbu r2,8(r2) 59c: e0bffc85 stb r2,-14(fp) mem_index = global_registers[Ssw_memi]; 5a0: 00800074 movhi r2,1 5a4: 1090cd04 addi r2,r2,17204 5a8: 10800283 ldbu r2,10(r2) 5ac: e0bffc45 stb r2,-15(fp) reg_index = global_registers[Ssw_regi]; 5b0: 00800074 movhi r2,1 5b4: 1090cd04 addi r2,r2,17204 5b8: 10800243 ldbu r2,9(r2) 5bc: e0bffc05 stb r2,-16(fp) inst_rec.inst = (unsigned int)inst; 5c0: e0bffc83 ldbu r2,-14(fp) 5c4: 108003cc andi r2,r2,15 5c8: 10803fcc andi r2,r2,255 5cc: 110003cc andi r4,r2,15 5d0: e0fffd17 ldw r3,-12(fp) 5d4: 00bffc04 movi r2,-16 5d8: 1884703a and r2,r3,r2 5dc: 1104b03a or r2,r2,r4 5e0: e0bffd15 stw r2,-12(fp) inst_rec.memi = (unsigned int)mem_index; 5e4: e0bffc43 ldbu r2,-15(fp) 5e8: 108003cc andi r2,r2,15 5ec: 10803fcc andi r2,r2,255 5f0: 108003cc andi r2,r2,15 5f4: 1008913a slli r4,r2,4 5f8: e0fffd17 ldw r3,-12(fp) 5fc: 00bfc3c4 movi r2,-241 600: 1884703a and r2,r3,r2 604: 1104b03a or r2,r2,r4 608: e0bffd15 stw r2,-12(fp) inst_rec.regi = (unsigned int)reg_index; 60c: e0bffc03 ldbu r2,-16(fp) 610: 108003cc andi r2,r2,15 614: 10803fcc andi r2,r2,255 618: 108003cc andi r2,r2,15 61c: 1008923a slli r4,r2,8 620: e0fffd17 ldw r3,-12(fp) 624: 00bc3fc4 movi r2,-3841 628: 1884703a and r2,r3,r2 62c: 1104b03a or r2,r2,r4 630: e0bffd15 stw r2,-12(fp) // ストア処理 stored_pc = get_pc(); 634: 00028c80 call 28c8 <get_pc> 638: e0bffb15 stw r2,-20(fp) inst_memory_store(get_pc(), inst_rec); 63c: 00028c80 call 28c8 <get_pc> 640: 1009883a mov r4,r2 644: e17ffd17 ldw r5,-12(fp) 648: 00025f80 call 25f8 <inst_memory_store> inc_pc(); 64c: 00027bc0 call 27bc <inc_pc> { // デバック表示 char buf[5]; sprintf(buf, "%04d", inst_rec.inst); 650: e0bffd17 ldw r2,-12(fp) 654: 108003cc andi r2,r2,15 658: 11803fcc andi r6,r2,255 65c: e13ffe04 addi r4,fp,-8 660: 01400074 movhi r5,1 664: 297ffa04 addi r5,r5,-24 668: 0002c5c0 call 2c5c <sprintf> print_block(buf, 4, HEX0_3); 66c: e13ffe04 addi r4,fp,-8 670: 01400104 movi r5,4 674: 000d883a mov r6,zero 678: 00011b80 call 11b8 <print_block> sprintf(buf, "%02x", get_pc()); 67c: 00028c80 call 28c8 <get_pc> 680: 100d883a mov r6,r2 684: e13ffe04 addi r4,fp,-8 688: 01400074 movhi r5,1 68c: 297ff704 addi r5,r5,-36 690: 0002c5c0 call 2c5c <sprintf> print_block(buf, 2, HEX4_5); 694: e13ffe04 addi r4,fp,-8 698: 01400084 movi r5,2 69c: 01800044 movi r6,1 6a0: 00011b80 call 11b8 <print_block> display_inst(inst_rec, stored_pc); 6a4: e13ffd17 ldw r4,-12(fp) 6a8: e17ffb17 ldw r5,-20(fp) 6ac: 0001fb40 call 1fb4 <display_inst> } } 6b0: e037883a mov sp,fp 6b4: dfc00117 ldw ra,4(sp) 6b8: df000017 ldw fp,0(sp) 6bc: dec00204 addi sp,sp,8 6c0: f800283a ret 000006c4 <print_change_memory>: void print_change_memory(unsigned int current_memory) { 6c4: defff804 addi sp,sp,-32 6c8: dfc00715 stw ra,28(sp) 6cc: df000615 stw fp,24(sp) 6d0: df000604 addi fp,sp,24 6d4: e13fff15 stw r4,-4(fp) char buf[17]; sprintf(buf, "Current page:%2d", current_memory); 6d8: e13ffa04 addi r4,fp,-24 6dc: 01400074 movhi r5,1 6e0: 297ffc04 addi r5,r5,-16 6e4: e1bfff17 ldw r6,-4(fp) 6e8: 0002c5c0 call 2c5c <sprintf> lcd_caret_reset(); 6ec: 0001f340 call 1f34 <lcd_caret_reset> lcd_print("Change program"); 6f0: 01000074 movhi r4,1 6f4: 21000104 addi r4,r4,4 6f8: 0001f840 call 1f84 <lcd_print> lcd_caret_reset2(); 6fc: 0001f5c0 call 1f5c <lcd_caret_reset2> lcd_print(buf); 700: e13ffa04 addi r4,fp,-24 704: 0001f840 call 1f84 <lcd_print> clear_block(HEX0_3); clear_block(HEX4_5); clear_block(HEX6_7); 708: 0009883a mov r4,zero 70c: 00013480 call 1348 <clear_block> 710: 01000044 movi r4,1 714: 00013480 call 1348 <clear_block> 718: 01000084 movi r4,2 71c: 00013480 call 1348 <clear_block> } 720: e037883a mov sp,fp 724: dfc00117 ldw ra,4(sp) 728: df000017 ldw fp,0(sp) 72c: dec00204 addi sp,sp,8 730: f800283a ret 00000734 <reset_mem_cancel>: static void reset_mem_cancel() { 734: defffe04 addi sp,sp,-8 738: dfc00115 stw ra,4(sp) 73c: df000015 stw fp,0(sp) 740: d839883a mov fp,sp lcd_caret_reset(); 744: 0001f340 call 1f34 <lcd_caret_reset> lcd_print("rewrite all 0?"); 748: 01000074 movhi r4,1 74c: 21000504 addi r4,r4,20 750: 0001f840 call 1f84 <lcd_print> lcd_caret_reset2(); 754: 0001f5c0 call 1f5c <lcd_caret_reset2> lcd_print("push again -> NG"); 758: 01000074 movhi r4,1 75c: 21000904 addi r4,r4,36 760: 0001f840 call 1f84 <lcd_print> } 764: e037883a mov sp,fp 768: dfc00117 ldw ra,4(sp) 76c: df000017 ldw fp,0(sp) 770: dec00204 addi sp,sp,8 774: f800283a ret 00000778 <reset_mem>: static char reset_mem(char confirmed) { 778: defffb04 addi sp,sp,-20 77c: dfc00415 stw ra,16(sp) 780: df000315 stw fp,12(sp) 784: df000304 addi fp,sp,12 788: e13ffe05 stb r4,-8(fp) if (confirmed == 0) { 78c: e0bffe07 ldb r2,-8(fp) 790: 1004c03a cmpne r2,r2,zero 794: 10000b1e bne r2,zero,7c4 <reset_mem+0x4c> lcd_caret_reset(); 798: 0001f340 call 1f34 <lcd_caret_reset> lcd_print("rewrite all 0?"); 79c: 01000074 movhi r4,1 7a0: 21000504 addi r4,r4,20 7a4: 0001f840 call 1f84 <lcd_print> lcd_caret_reset2(); 7a8: 0001f5c0 call 1f5c <lcd_caret_reset2> lcd_print("push again"); 7ac: 01000074 movhi r4,1 7b0: 21000e04 addi r4,r4,56 7b4: 0001f840 call 1f84 <lcd_print> // 確認要請 return 1; 7b8: 00800044 movi r2,1 7bc: e0bfff15 stw r2,-4(fp) 7c0: 00001406 br 814 <reset_mem+0x9c> } else { int i; for (i = 0; i < MEM_SIZE; i++){ 7c4: e03ffd15 stw zero,-12(fp) 7c8: 00000606 br 7e4 <reset_mem+0x6c> memory_store(i,Szero); 7cc: e13ffd17 ldw r4,-12(fp) 7d0: 000b883a mov r5,zero 7d4: 00026900 call 2690 <memory_store> lcd_print("push again"); // 確認要請 return 1; } else { int i; for (i = 0; i < MEM_SIZE; i++){ 7d8: e0bffd17 ldw r2,-12(fp) 7dc: 10800044 addi r2,r2,1 7e0: e0bffd15 stw r2,-12(fp) 7e4: e0bffd17 ldw r2,-12(fp) 7e8: 10800410 cmplti r2,r2,16 7ec: 103ff71e bne r2,zero,7cc <reset_mem+0x54> memory_store(i,Szero); } lcd_caret_reset(); 7f0: 0001f340 call 1f34 <lcd_caret_reset> lcd_print("rewrite all 0?"); 7f4: 01000074 movhi r4,1 7f8: 21000504 addi r4,r4,20 7fc: 0001f840 call 1f84 <lcd_print> lcd_caret_reset2(); 800: 0001f5c0 call 1f5c <lcd_caret_reset2> lcd_print("push again -> OK"); 804: 01000074 movhi r4,1 808: 21001104 addi r4,r4,68 80c: 0001f840 call 1f84 <lcd_print> // PCリセット完了 return 0; 810: e03fff15 stw zero,-4(fp) 814: e0bfff17 ldw r2,-4(fp) } } 818: e037883a mov sp,fp 81c: dfc00117 ldw ra,4(sp) 820: df000017 ldw fp,0(sp) 824: dec00204 addi sp,sp,8 828: f800283a ret 0000082c <reset_pc_cancel>: static void reset_pc_cancel() { 82c: defffe04 addi sp,sp,-8 830: dfc00115 stw ra,4(sp) 834: df000015 stw fp,0(sp) 838: d839883a mov fp,sp lcd_caret_reset(); 83c: 0001f340 call 1f34 <lcd_caret_reset> lcd_print("reset pc?"); 840: 01000074 movhi r4,1 844: 21001604 addi r4,r4,88 848: 0001f840 call 1f84 <lcd_print> lcd_caret_reset2(); 84c: 0001f5c0 call 1f5c <lcd_caret_reset2> lcd_print("push again -> NG"); 850: 01000074 movhi r4,1 854: 21000904 addi r4,r4,36 858: 0001f840 call 1f84 <lcd_print> } 85c: e037883a mov sp,fp 860: dfc00117 ldw ra,4(sp) 864: df000017 ldw fp,0(sp) 868: dec00204 addi sp,sp,8 86c: f800283a ret 00000870 <reset_pc>: static char reset_pc(char confirmed) { 870: defffc04 addi sp,sp,-16 874: dfc00315 stw ra,12(sp) 878: df000215 stw fp,8(sp) 87c: df000204 addi fp,sp,8 880: e13ffe05 stb r4,-8(fp) if (confirmed == 0) { 884: e0bffe07 ldb r2,-8(fp) 888: 1004c03a cmpne r2,r2,zero 88c: 10000b1e bne r2,zero,8bc <reset_pc+0x4c> lcd_caret_reset(); 890: 0001f340 call 1f34 <lcd_caret_reset> lcd_print("reset pc?"); 894: 01000074 movhi r4,1 898: 21001604 addi r4,r4,88 89c: 0001f840 call 1f84 <lcd_print> lcd_caret_reset2(); 8a0: 0001f5c0 call 1f5c <lcd_caret_reset2> lcd_print("push again"); 8a4: 01000074 movhi r4,1 8a8: 21000e04 addi r4,r4,56 8ac: 0001f840 call 1f84 <lcd_print> // 確認要請 return 1; 8b0: 00800044 movi r2,1 8b4: e0bfff15 stw r2,-4(fp) 8b8: 00000b06 br 8e8 <reset_pc+0x78> } else { set_pc(0); 8bc: 0009883a mov r4,zero 8c0: 00028900 call 2890 <set_pc> lcd_caret_reset(); 8c4: 0001f340 call 1f34 <lcd_caret_reset> lcd_print("reset pc?"); 8c8: 01000074 movhi r4,1 8cc: 21001604 addi r4,r4,88 8d0: 0001f840 call 1f84 <lcd_print> lcd_caret_reset2(); 8d4: 0001f5c0 call 1f5c <lcd_caret_reset2> lcd_print("push again -> OK"); 8d8: 01000074 movhi r4,1 8dc: 21001104 addi r4,r4,68 8e0: 0001f840 call 1f84 <lcd_print> // PCリセット完了 return 0; 8e4: e03fff15 stw zero,-4(fp) 8e8: e0bfff17 ldw r2,-4(fp) } } 8ec: e037883a mov sp,fp 8f0: dfc00117 ldw ra,4(sp) 8f4: df000017 ldw fp,0(sp) 8f8: dec00204 addi sp,sp,8 8fc: f800283a ret 00000900 <main>: int main() { 900: defffc04 addi sp,sp,-16 904: dfc00315 stw ra,12(sp) 908: df000215 stw fp,8(sp) 90c: df000204 addi fp,sp,8 init(); 910: 00003dc0 call 3dc <init> enum RunMode fRun = RUN_STOP; 914: e03fff15 stw zero,-4(fp) char reset_pc_confirmed = 0; 918: e03ffec5 stb zero,-5(fp) char reset_mem_confirmed = 0; 91c: e03ffe85 stb zero,-6(fp) 920: 00000006 br 924 <main+0x24> while(1) { // interrupt in_int(); 924: 00014d00 call 14d0 <in_int> // event // CANCEL if (global_registers[Ssw_rw] == 0 928: 00800074 movhi r2,1 92c: 1090cd04 addi r2,r2,17204 930: 10800303 ldbu r2,12(r2) 934: 10803fcc andi r2,r2,255 938: 1080201c xori r2,r2,128 93c: 10bfe004 addi r2,r2,-128 940: 1005003a cmpeq r2,r2,zero 944: 10000e1e bne r2,zero,980 <main+0x80> 948: 00800074 movhi r2,1 94c: 10887c04 addi r2,r2,8688 950: 10800003 ldbu r2,0(r2) 954: 10803fcc andi r2,r2,255 958: 1080008c andi r2,r2,2 95c: 1005003a cmpeq r2,r2,zero 960: 10000c1e bne r2,zero,994 <main+0x94> 964: 00800074 movhi r2,1 968: 10887c04 addi r2,r2,8688 96c: 10800003 ldbu r2,0(r2) 970: 10803fcc andi r2,r2,255 974: 1080010c andi r2,r2,4 978: 1004c03a cmpne r2,r2,zero 97c: 1000051e bne r2,zero,994 <main+0x94> || ((PUSH_EVENT & PUSH_ANY) && !(PUSH_EVENT & PUSH_VALSTR))) { if (reset_mem_confirmed == 1) { 980: e0bffe87 ldb r2,-6(fp) 984: 10800058 cmpnei r2,r2,1 988: 1000021e bne r2,zero,994 <main+0x94> reset_mem_confirmed = 0; //確認キャンセル 98c: e03ffe85 stb zero,-6(fp) reset_mem_cancel(); 990: 00007340 call 734 <reset_mem_cancel> } } if (global_registers[Ssw_rw] == 0 994: 00800074 movhi r2,1 998: 1090cd04 addi r2,r2,17204 99c: 10800303 ldbu r2,12(r2) 9a0: 10803fcc andi r2,r2,255 9a4: 1080201c xori r2,r2,128 9a8: 10bfe004 addi r2,r2,-128 9ac: 1005003a cmpeq r2,r2,zero 9b0: 10000e1e bne r2,zero,9ec <main+0xec> 9b4: 00800074 movhi r2,1 9b8: 10887c04 addi r2,r2,8688 9bc: 10800003 ldbu r2,0(r2) 9c0: 10803fcc andi r2,r2,255 9c4: 1080008c andi r2,r2,2 9c8: 1005003a cmpeq r2,r2,zero 9cc: 10000c1e bne r2,zero,a00 <main+0x100> 9d0: 00800074 movhi r2,1 9d4: 10887c04 addi r2,r2,8688 9d8: 10800003 ldbu r2,0(r2) 9dc: 10803fcc andi r2,r2,255 9e0: 1080020c andi r2,r2,8 9e4: 1004c03a cmpne r2,r2,zero 9e8: 1000051e bne r2,zero,a00 <main+0x100> || ((PUSH_EVENT & PUSH_ANY) && !(PUSH_EVENT & PUSH_INSSTR))) { if (reset_pc_confirmed == 1) { 9ec: e0bffec7 ldb r2,-5(fp) 9f0: 10800058 cmpnei r2,r2,1 9f4: 1000021e bne r2,zero,a00 <main+0x100> reset_pc_confirmed = 0; //確認キャンセル 9f8: e03ffec5 stb zero,-5(fp) reset_pc_cancel(); 9fc: 000082c0 call 82c <reset_pc_cancel> } } // CONFIRM if (PUSH_EVENT & PUSH_VALSTR) { a00: 00800074 movhi r2,1 a04: 10887c04 addi r2,r2,8688 a08: 10800003 ldbu r2,0(r2) a0c: 10803fcc andi r2,r2,255 a10: 1080010c andi r2,r2,4 a14: 1005003a cmpeq r2,r2,zero a18: 1000161e bne r2,zero,a74 <main+0x174> // 値のストア if (global_registers[Ssw_rw] == 1) { a1c: 00800074 movhi r2,1 a20: 1090cd04 addi r2,r2,17204 a24: 10800303 ldbu r2,12(r2) a28: 10803fcc andi r2,r2,255 a2c: 1080201c xori r2,r2,128 a30: 10bfe004 addi r2,r2,-128 a34: 10800058 cmpnei r2,r2,1 a38: 10000d1e bne r2,zero,a70 <main+0x170> //削除 char res = reset_mem(reset_mem_confirmed);//仮確認の承認 a3c: e13ffe87 ldb r4,-6(fp) a40: 00007780 call 778 <reset_mem> a44: e0bffe45 stb r2,-7(fp) if (1 == res) reset_mem_confirmed = 1; //仮確認 a48: e0bffe47 ldb r2,-7(fp) a4c: 10800058 cmpnei r2,r2,1 a50: 1000021e bne r2,zero,a5c <main+0x15c> a54: 00800044 movi r2,1 a58: e0bffe85 stb r2,-6(fp) if (0 == res) reset_mem_confirmed = 0; //リセットの確認 a5c: e0bffe47 ldb r2,-7(fp) a60: 1004c03a cmpne r2,r2,zero a64: 1000031e bne r2,zero,a74 <main+0x174> a68: e03ffe85 stb zero,-6(fp) a6c: 00000106 br a74 <main+0x174> } else { store_value(); a70: 000049c0 call 49c <store_value> } } if (PUSH_EVENT & PUSH_INSSTR) { a74: 00800074 movhi r2,1 a78: 10887c04 addi r2,r2,8688 a7c: 10800003 ldbu r2,0(r2) a80: 10803fcc andi r2,r2,255 a84: 1080020c andi r2,r2,8 a88: 1005003a cmpeq r2,r2,zero a8c: 1000161e bne r2,zero,ae8 <main+0x1e8> // 命令のストア if (global_registers[Ssw_rw] == 1) { a90: 00800074 movhi r2,1 a94: 1090cd04 addi r2,r2,17204 a98: 10800303 ldbu r2,12(r2) a9c: 10803fcc andi r2,r2,255 aa0: 1080201c xori r2,r2,128 aa4: 10bfe004 addi r2,r2,-128 aa8: 10800058 cmpnei r2,r2,1 aac: 10000d1e bne r2,zero,ae4 <main+0x1e4> //PCのリセット char res = reset_pc(reset_pc_confirmed);//仮確認の承認 ab0: e13ffec7 ldb r4,-5(fp) ab4: 00008700 call 870 <reset_pc> ab8: e0bffe05 stb r2,-8(fp) if (1 == res) reset_pc_confirmed = 1; //仮確認 abc: e0bffe07 ldb r2,-8(fp) ac0: 10800058 cmpnei r2,r2,1 ac4: 1000021e bne r2,zero,ad0 <main+0x1d0> ac8: 00800044 movi r2,1 acc: e0bffec5 stb r2,-5(fp) if (0 == res) reset_pc_confirmed = 0; //リセットの確認 ad0: e0bffe07 ldb r2,-8(fp) ad4: 1004c03a cmpne r2,r2,zero ad8: 1000031e bne r2,zero,ae8 <main+0x1e8> adc: e03ffec5 stb zero,-5(fp) ae0: 00000106 br ae8 <main+0x1e8> } else { store_inst(); ae4: 00005800 call 580 <store_inst> } } // RUN if (PUSH_EVENT & PUSH_RUN) { ae8: 00800074 movhi r2,1 aec: 10887c04 addi r2,r2,8688 af0: 10800003 ldbu r2,0(r2) af4: 10803fcc andi r2,r2,255 af8: 1080040c andi r2,r2,16 afc: 1005003a cmpeq r2,r2,zero b00: 10001a1e bne r2,zero,b6c <main+0x26c> if (global_current_memory != (unsigned int)global_registers[Ssw_psel]) { b04: 00800074 movhi r2,1 b08: 1090cd04 addi r2,r2,17204 b0c: 108002c3 ldbu r2,11(r2) b10: 10c03fcc andi r3,r2,255 b14: 18c0201c xori r3,r3,128 b18: 18ffe004 addi r3,r3,-128 b1c: 00800074 movhi r2,1 b20: 108f7504 addi r2,r2,15828 b24: 10800017 ldw r2,0(r2) b28: 18800e26 beq r3,r2,b64 <main+0x264> global_current_memory = (unsigned int)global_registers[Ssw_psel]; b2c: 00800074 movhi r2,1 b30: 1090cd04 addi r2,r2,17204 b34: 108002c3 ldbu r2,11(r2) b38: 10c03fcc andi r3,r2,255 b3c: 18c0201c xori r3,r3,128 b40: 18ffe004 addi r3,r3,-128 b44: 00800074 movhi r2,1 b48: 108f7504 addi r2,r2,15828 b4c: 10c00015 stw r3,0(r2) print_change_memory(global_current_memory); b50: 00800074 movhi r2,1 b54: 108f7504 addi r2,r2,15828 b58: 11000017 ldw r4,0(r2) b5c: 00006c40 call 6c4 <print_change_memory> b60: 00000206 br b6c <main+0x26c> } else { // プログラム初期化設定 fRun = RUN_INIT; b64: 00800044 movi r2,1 b68: e0bfff15 stw r2,-4(fp) } } if (fRun != RUN_STOP) { b6c: e0bfff17 ldw r2,-4(fp) b70: 1005003a cmpeq r2,r2,zero b74: 103f6b1e bne r2,zero,924 <main+0x24> // プログラム実行割り込み & 実行モード更新 fRun = run_proc(fRun); b78: e13fff17 ldw r4,-4(fp) b7c: 00029380 call 2938 <run_proc> b80: e0bfff15 stw r2,-4(fp) } } b84: 003f6706 br 924 <main+0x24> 00000b88 <encodeNumHex>: */ #include "hex_encoder.h" #include <ctype.h> void encodeNumHex(int hex_i, int num) { b88: defffc04 addi sp,sp,-16 b8c: df000315 stw fp,12(sp) b90: df000304 addi fp,sp,12 b94: e13ffe15 stw r4,-8(fp) b98: e17fff15 stw r5,-4(fp) char encoded = 0; b9c: e03ffd05 stb zero,-12(fp) switch (num) { ba0: e0bfff17 ldw r2,-4(fp) ba4: 108002a8 cmpgeui r2,r2,10 ba8: 10002f1e bne r2,zero,c68 <encodeNumHex+0xe0> bac: e0bfff17 ldw r2,-4(fp) bb0: 1085883a add r2,r2,r2 bb4: 1087883a add r3,r2,r2 bb8: 00800034 movhi r2,0 bbc: 1082f304 addi r2,r2,3020 bc0: 1885883a add r2,r3,r2 bc4: 10800017 ldw r2,0(r2) bc8: 1000683a jmp r2 bcc: 00000bf4 movhi zero,47 bd0: 00000c00 call c0 <__flash_exceptions_start+0xa0> bd4: 00000c0c andi zero,zero,48 bd8: 00000c18 cmpnei zero,zero,48 bdc: 00000c24 muli zero,zero,48 be0: 00000c30 cmpltui zero,zero,48 be4: 00000c3c xorhi zero,zero,48 be8: 00000c48 cmpgei zero,zero,49 bec: 00000c54 movui zero,49 bf0: 00000c5c xori zero,zero,49 case 0: encoded = (char)0x40; // 100 0000 bf4: 00801004 movi r2,64 bf8: e0bffd05 stb r2,-12(fp) break; bfc: 00001b06 br c6c <encodeNumHex+0xe4> case 1: encoded = (char)0xF9; // 111 1001 c00: 00bffe44 movi r2,-7 c04: e0bffd05 stb r2,-12(fp) break; c08: 00001806 br c6c <encodeNumHex+0xe4> case 2: encoded = (char)0x24; // 010 0100 c0c: 00800904 movi r2,36 c10: e0bffd05 stb r2,-12(fp) break; c14: 00001506 br c6c <encodeNumHex+0xe4> case 3: encoded = (char)0x30; // 011 0000 c18: 00800c04 movi r2,48 c1c: e0bffd05 stb r2,-12(fp) break; c20: 00001206 br c6c <encodeNumHex+0xe4> case 4: encoded = (char)0x19; // 001 1001 c24: 00800644 movi r2,25 c28: e0bffd05 stb r2,-12(fp) break; c2c: 00000f06 br c6c <encodeNumHex+0xe4> case 5: encoded = (char)0x12; // 001 0010 c30: 00800484 movi r2,18 c34: e0bffd05 stb r2,-12(fp) break; c38: 00000c06 br c6c <encodeNumHex+0xe4> case 6: encoded = (char)0x02; // 000 0010 c3c: 00800084 movi r2,2 c40: e0bffd05 stb r2,-12(fp) break; c44: 00000906 br c6c <encodeNumHex+0xe4> case 7: encoded = (char)0x58; // 101 1000 c48: 00801604 movi r2,88 c4c: e0bffd05 stb r2,-12(fp) break; c50: 00000606 br c6c <encodeNumHex+0xe4> case 8: encoded = (char)0x00; // 000 0000 c54: e03ffd05 stb zero,-12(fp) break; c58: 00000406 br c6c <encodeNumHex+0xe4> case 9: encoded = (char)0x10; // 001 0000 c5c: 00800404 movi r2,16 c60: e0bffd05 stb r2,-12(fp) break; c64: 00000106 br c6c <encodeNumHex+0xe4> default: encoded = 0; c68: e03ffd05 stb zero,-12(fp) break; } switch (hex_i) { c6c: e0bffe17 ldw r2,-8(fp) c70: 10800228 cmpgeui r2,r2,8 c74: 1000371e bne r2,zero,d54 <encodeNumHex+0x1cc> c78: e0bffe17 ldw r2,-8(fp) c7c: 1085883a add r2,r2,r2 c80: 1087883a add r3,r2,r2 c84: 00800034 movhi r2,0 c88: 10832604 addi r2,r2,3224 c8c: 1885883a add r2,r3,r2 c90: 10800017 ldw r2,0(r2) c94: 1000683a jmp r2 c98: 00000cb8 rdprs zero,zero,50 c9c: 00000ccc andi zero,zero,51 ca0: 00000ce0 cmpeqi zero,zero,51 ca4: 00000cf4 movhi zero,51 ca8: 00000d08 cmpgei zero,zero,52 cac: 00000d1c xori zero,zero,52 cb0: 00000d30 cmpltui zero,zero,52 cb4: 00000d44 movi zero,53 case 0: *hex0 = encoded; cb8: 00c00134 movhi r3,4 cbc: 18c42c04 addi r3,r3,4272 cc0: e0bffd03 ldbu r2,-12(fp) cc4: 18800005 stb r2,0(r3) break; cc8: 00002206 br d54 <encodeNumHex+0x1cc> case 1: *hex1 = encoded; ccc: 00c00134 movhi r3,4 cd0: 18c42804 addi r3,r3,4256 cd4: e0bffd03 ldbu r2,-12(fp) cd8: 18800005 stb r2,0(r3) break; cdc: 00001d06 br d54 <encodeNumHex+0x1cc> case 2: *hex2 = encoded; ce0: 00c00134 movhi r3,4 ce4: 18c42404 addi r3,r3,4240 ce8: e0bffd03 ldbu r2,-12(fp) cec: 18800005 stb r2,0(r3) break; cf0: 00001806 br d54 <encodeNumHex+0x1cc> case 3: *hex3 = encoded; cf4: 00c00134 movhi r3,4 cf8: 18c42004 addi r3,r3,4224 cfc: e0bffd03 ldbu r2,-12(fp) d00: 18800005 stb r2,0(r3) break; d04: 00001306 br d54 <encodeNumHex+0x1cc> case 4: *hex4 = encoded; d08: 00c00134 movhi r3,4 d0c: 18c41c04 addi r3,r3,4208 d10: e0bffd03 ldbu r2,-12(fp) d14: 18800005 stb r2,0(r3) break; d18: 00000e06 br d54 <encodeNumHex+0x1cc> case 5: *hex5 = encoded; d1c: 00c00134 movhi r3,4 d20: 18c41804 addi r3,r3,4192 d24: e0bffd03 ldbu r2,-12(fp) d28: 18800005 stb r2,0(r3) break; d2c: 00000906 br d54 <encodeNumHex+0x1cc> case 6: *hex6 = encoded; d30: 00c00134 movhi r3,4 d34: 18c41404 addi r3,r3,4176 d38: e0bffd03 ldbu r2,-12(fp) d3c: 18800005 stb r2,0(r3) break; d40: 00000406 br d54 <encodeNumHex+0x1cc> case 7: *hex7 = encoded; d44: 00c00134 movhi r3,4 d48: 18c41004 addi r3,r3,4160 d4c: e0bffd03 ldbu r2,-12(fp) d50: 18800005 stb r2,0(r3) break; default: break; } } d54: e037883a mov sp,fp d58: df000017 ldw fp,0(sp) d5c: dec00104 addi sp,sp,4 d60: f800283a ret 00000d64 <encodeLatHex>: void encodeLatHex(int hex_i, char c) { d64: defffa04 addi sp,sp,-24 d68: dfc00515 stw ra,20(sp) d6c: df000415 stw fp,16(sp) d70: df000404 addi fp,sp,16 d74: e13ffd15 stw r4,-12(fp) d78: e17ffe05 stb r5,-8(fp) char encoded = 0; d7c: e03ffc05 stb zero,-16(fp) if (isdigit(c)) { d80: e0bffe07 ldb r2,-8(fp) d84: 1007883a mov r3,r2 d88: 00800074 movhi r2,1 d8c: 10887d04 addi r2,r2,8692 d90: 10800017 ldw r2,0(r2) d94: 1885883a add r2,r3,r2 d98: 10800003 ldbu r2,0(r2) d9c: 10803fcc andi r2,r2,255 da0: 1080010c andi r2,r2,4 da4: 1005003a cmpeq r2,r2,zero da8: 1000051e bne r2,zero,dc0 <encodeLatHex+0x5c> encodeNumHex(hex_i, c-'0'); dac: e0bffe07 ldb r2,-8(fp) db0: 117ff404 addi r5,r2,-48 db4: e13ffd17 ldw r4,-12(fp) db8: 0000b880 call b88 <encodeNumHex> return; dbc: 0000f906 br 11a4 <encodeLatHex+0x440> } switch (c) { dc0: e0bffe07 ldb r2,-8(fp) dc4: 10bff804 addi r2,r2,-32 dc8: e0bfff15 stw r2,-4(fp) dcc: e0ffff17 ldw r3,-4(fp) dd0: 188016e8 cmpgeui r2,r3,91 dd4: 1000b81e bne r2,zero,10b8 <encodeLatHex+0x354> dd8: e13fff17 ldw r4,-4(fp) ddc: e13fff17 ldw r4,-4(fp) de0: 2105883a add r2,r4,r4 de4: 1087883a add r3,r2,r2 de8: 00800034 movhi r2,0 dec: 10837f04 addi r2,r2,3580 df0: 1885883a add r2,r3,r2 df4: 10800017 ldw r2,0(r2) df8: 1000683a jmp r2 dfc: 00000f68 cmpgeui zero,zero,61 e00: 000010b8 rdprs zero,zero,66 e04: 000010b8 rdprs zero,zero,66 e08: 000010b8 rdprs zero,zero,66 e0c: 000010b8 rdprs zero,zero,66 e10: 000010b8 rdprs zero,zero,66 e14: 000010b8 rdprs zero,zero,66 e18: 000010b8 rdprs zero,zero,66 e1c: 000010b8 rdprs zero,zero,66 e20: 000010b8 rdprs zero,zero,66 e24: 000010b8 rdprs zero,zero,66 e28: 000010b8 rdprs zero,zero,66 e2c: 000010b8 rdprs zero,zero,66 e30: 00000f74 movhi zero,61 e34: 000010b8 rdprs zero,zero,66 e38: 000010b8 rdprs zero,zero,66 e3c: 000010b8 rdprs zero,zero,66 e40: 000010b8 rdprs zero,zero,66 e44: 000010b8 rdprs zero,zero,66 e48: 000010b8 rdprs zero,zero,66 e4c: 000010b8 rdprs zero,zero,66 e50: 000010b8 rdprs zero,zero,66 e54: 000010b8 rdprs zero,zero,66 e58: 000010b8 rdprs zero,zero,66 e5c: 000010b8 rdprs zero,zero,66 e60: 000010b8 rdprs zero,zero,66 e64: 000010b8 rdprs zero,zero,66 e68: 000010b8 rdprs zero,zero,66 e6c: 000010b8 rdprs zero,zero,66 e70: 000010b8 rdprs zero,zero,66 e74: 000010b8 rdprs zero,zero,66 e78: 000010b8 rdprs zero,zero,66 e7c: 000010b8 rdprs zero,zero,66 e80: 000010b8 rdprs zero,zero,66 e84: 000010b8 rdprs zero,zero,66 e88: 000010b8 rdprs zero,zero,66 e8c: 000010b8 rdprs zero,zero,66 e90: 000010b8 rdprs zero,zero,66 e94: 000010b8 rdprs zero,zero,66 e98: 000010b8 rdprs zero,zero,66 e9c: 000010b8 rdprs zero,zero,66 ea0: 000010b8 rdprs zero,zero,66 ea4: 000010b8 rdprs zero,zero,66 ea8: 000010b8 rdprs zero,zero,66 eac: 000010b8 rdprs zero,zero,66 eb0: 000010b8 rdprs zero,zero,66 eb4: 000010b8 rdprs zero,zero,66 eb8: 000010b8 rdprs zero,zero,66 ebc: 000010b8 rdprs zero,zero,66 ec0: 000010b8 rdprs zero,zero,66 ec4: 000010b8 rdprs zero,zero,66 ec8: 000010b8 rdprs zero,zero,66 ecc: 000010b8 rdprs zero,zero,66 ed0: 000010b8 rdprs zero,zero,66 ed4: 000010b8 rdprs zero,zero,66 ed8: 000010b8 rdprs zero,zero,66 edc: 000010b8 rdprs zero,zero,66 ee0: 000010b8 rdprs zero,zero,66 ee4: 000010b8 rdprs zero,zero,66 ee8: 000010b8 rdprs zero,zero,66 eec: 000010b8 rdprs zero,zero,66 ef0: 000010b8 rdprs zero,zero,66 ef4: 000010b8 rdprs zero,zero,66 ef8: 000010b8 rdprs zero,zero,66 efc: 000010b8 rdprs zero,zero,66 f00: 00000f80 call f8 <alt_irq_handler+0xc> f04: 00000f8c andi zero,zero,62 f08: 00000f98 cmpnei zero,zero,62 f0c: 00000fa4 muli zero,zero,62 f10: 00000fb0 cmpltui zero,zero,62 f14: 00000fbc xorhi zero,zero,62 f18: 00000fc8 cmpgei zero,zero,63 f1c: 00000fd4 movui zero,63 f20: 00000fe0 cmpeqi zero,zero,63 f24: 00000fec andhi zero,zero,63 f28: 00000ff8 rdprs zero,zero,63 f2c: 00001004 movi zero,64 f30: 00001010 cmplti zero,zero,64 f34: 0000101c xori zero,zero,64 f38: 00001028 cmpgeui zero,zero,64 f3c: 00001034 movhi zero,64 f40: 00001040 call 104 <alt_irq_handler+0x18> f44: 0000104c andi zero,zero,65 f48: 00001058 cmpnei zero,zero,65 f4c: 00001064 muli zero,zero,65 f50: 00001070 cmpltui zero,zero,65 f54: 0000107c xorhi zero,zero,65 f58: 00001088 cmpgei zero,zero,66 f5c: 00001094 movui zero,66 f60: 000010a0 cmpeqi zero,zero,66 f64: 000010ac andhi zero,zero,66 case ' ': encoded = (char)0xFF; // 111 1111 f68: 00bfffc4 movi r2,-1 f6c: e0bffc05 stb r2,-16(fp) break; f70: 00005206 br 10bc <encodeLatHex+0x358> case '-': encoded = (char)0x3F; // 011 1111 f74: 00800fc4 movi r2,63 f78: e0bffc05 stb r2,-16(fp) break; f7c: 00004f06 br 10bc <encodeLatHex+0x358> case 'a': encoded = (char)0x08; // 000 1000 f80: 00800204 movi r2,8 f84: e0bffc05 stb r2,-16(fp) break; f88: 00004c06 br 10bc <encodeLatHex+0x358> case 'b': encoded = (char)0x03; // 000 0011 f8c: 008000c4 movi r2,3 f90: e0bffc05 stb r2,-16(fp) break; f94: 00004906 br 10bc <encodeLatHex+0x358> case 'c': encoded = (char)0x27; // 010 0111 f98: 008009c4 movi r2,39 f9c: e0bffc05 stb r2,-16(fp) break; fa0: 00004606 br 10bc <encodeLatHex+0x358> case 'd': encoded = (char)0x21; // 010 0001 fa4: 00800844 movi r2,33 fa8: e0bffc05 stb r2,-16(fp) break; fac: 00004306 br 10bc <encodeLatHex+0x358> case 'e': encoded = (char)0x06; // 000 0110 fb0: 00800184 movi r2,6 fb4: e0bffc05 stb r2,-16(fp) break; fb8: 00004006 br 10bc <encodeLatHex+0x358> case 'f': encoded = (char)0x0E; // 000 1110 fbc: 00800384 movi r2,14 fc0: e0bffc05 stb r2,-16(fp) break; fc4: 00003d06 br 10bc <encodeLatHex+0x358> case 'g': encoded = (char)0x42; // 100 0010 fc8: 00801084 movi r2,66 fcc: e0bffc05 stb r2,-16(fp) break; fd0: 00003a06 br 10bc <encodeLatHex+0x358> case 'h': encoded = (char)0x0B; // 000 1011 fd4: 008002c4 movi r2,11 fd8: e0bffc05 stb r2,-16(fp) break; fdc: 00003706 br 10bc <encodeLatHex+0x358> case 'i': encoded = (char)0xFB; // 111 1011 fe0: 00bffec4 movi r2,-5 fe4: e0bffc05 stb r2,-16(fp) break; fe8: 00003406 br 10bc <encodeLatHex+0x358> case 'j': encoded = (char)0x61; // 110 0001 fec: 00801844 movi r2,97 ff0: e0bffc05 stb r2,-16(fp) break; ff4: 00003106 br 10bc <encodeLatHex+0x358> case 'k': encoded = (char)0x0A; // 000 1010 ff8: 00800284 movi r2,10 ffc: e0bffc05 stb r2,-16(fp) break; 1000: 00002e06 br 10bc <encodeLatHex+0x358> case 'l': encoded = (char)0x47; // 100 0111 1004: 008011c4 movi r2,71 1008: e0bffc05 stb r2,-16(fp) break; 100c: 00002b06 br 10bc <encodeLatHex+0x358> case 'm': encoded = (char)0x48; // 100 1000 1010: 00801204 movi r2,72 1014: e0bffc05 stb r2,-16(fp) break; 1018: 00002806 br 10bc <encodeLatHex+0x358> case 'n': encoded = (char)0x2B; // 010 1011 101c: 00800ac4 movi r2,43 1020: e0bffc05 stb r2,-16(fp) break; 1024: 00002506 br 10bc <encodeLatHex+0x358> case 'o': encoded = (char)0x23; // 010 0011 1028: 008008c4 movi r2,35 102c: e0bffc05 stb r2,-16(fp) break; 1030: 00002206 br 10bc <encodeLatHex+0x358> case 'p': encoded = (char)0x0C; // 000 1100 1034: 00800304 movi r2,12 1038: e0bffc05 stb r2,-16(fp) break; 103c: 00001f06 br 10bc <encodeLatHex+0x358> case 'q': encoded = (char)0x04; // 000 0100 1040: 00800104 movi r2,4 1044: e0bffc05 stb r2,-16(fp) break; 1048: 00001c06 br 10bc <encodeLatHex+0x358> case 'r': encoded = (char)0x2F; // 010 1111 104c: 00800bc4 movi r2,47 1050: e0bffc05 stb r2,-16(fp) break; 1054: 00001906 br 10bc <encodeLatHex+0x358> case 's': encoded = (char)0x13; // 001 0011 1058: 008004c4 movi r2,19 105c: e0bffc05 stb r2,-16(fp) break; 1060: 00001606 br 10bc <encodeLatHex+0x358> case 't': encoded = (char)0x07; // 000 0111 1064: 008001c4 movi r2,7 1068: e0bffc05 stb r2,-16(fp) break; 106c: 00001306 br 10bc <encodeLatHex+0x358> case 'u': encoded = (char)0x63; // 110 0011 1070: 008018c4 movi r2,99 1074: e0bffc05 stb r2,-16(fp) break; 1078: 00001006 br 10bc <encodeLatHex+0x358> case 'v': encoded = (char)0x41; // 100 0001 107c: 00801044 movi r2,65 1080: e0bffc05 stb r2,-16(fp) break; 1084: 00000d06 br 10bc <encodeLatHex+0x358> case 'w': encoded = (char)0x01; // 000 0001 1088: 00800044 movi r2,1 108c: e0bffc05 stb r2,-16(fp) break; 1090: 00000a06 br 10bc <encodeLatHex+0x358> case 'x': encoded = (char)0x09; // 000 1001 1094: 00800244 movi r2,9 1098: e0bffc05 stb r2,-16(fp) break; 109c: 00000706 br 10bc <encodeLatHex+0x358> case 'y': encoded = (char)0x11; // 001 0001 10a0: 00800444 movi r2,17 10a4: e0bffc05 stb r2,-16(fp) break; 10a8: 00000406 br 10bc <encodeLatHex+0x358> case 'z': encoded = (char)0x64; // 110 0100 10ac: 00801904 movi r2,100 10b0: e0bffc05 stb r2,-16(fp) break; 10b4: 00000106 br 10bc <encodeLatHex+0x358> default: encoded = 0; 10b8: e03ffc05 stb zero,-16(fp) break; } switch (hex_i) { 10bc: e0bffd17 ldw r2,-12(fp) 10c0: 10800228 cmpgeui r2,r2,8 10c4: 1000371e bne r2,zero,11a4 <encodeLatHex+0x440> 10c8: e0bffd17 ldw r2,-12(fp) 10cc: 1085883a add r2,r2,r2 10d0: 1087883a add r3,r2,r2 10d4: 00800034 movhi r2,0 10d8: 10843a04 addi r2,r2,4328 10dc: 1885883a add r2,r3,r2 10e0: 10800017 ldw r2,0(r2) 10e4: 1000683a jmp r2 10e8: 00001108 cmpgei zero,zero,68 10ec: 0000111c xori zero,zero,68 10f0: 00001130 cmpltui zero,zero,68 10f4: 00001144 movi zero,69 10f8: 00001158 cmpnei zero,zero,69 10fc: 0000116c andhi zero,zero,69 1100: 00001180 call 118 <alt_irq_handler+0x2c> 1104: 00001194 movui zero,70 case 0: *hex0 = encoded; 1108: 00c00134 movhi r3,4 110c: 18c42c04 addi r3,r3,4272 1110: e0bffc03 ldbu r2,-16(fp) 1114: 18800005 stb r2,0(r3) break; 1118: 00002206 br 11a4 <encodeLatHex+0x440> case 1: *hex1 = encoded; 111c: 00c00134 movhi r3,4 1120: 18c42804 addi r3,r3,4256 1124: e0bffc03 ldbu r2,-16(fp) 1128: 18800005 stb r2,0(r3) break; 112c: 00001d06 br 11a4 <encodeLatHex+0x440> case 2: *hex2 = encoded; 1130: 00c00134 movhi r3,4 1134: 18c42404 addi r3,r3,4240 1138: e0bffc03 ldbu r2,-16(fp) 113c: 18800005 stb r2,0(r3) break; 1140: 00001806 br 11a4 <encodeLatHex+0x440> case 3: *hex3 = encoded; 1144: 00c00134 movhi r3,4 1148: 18c42004 addi r3,r3,4224 114c: e0bffc03 ldbu r2,-16(fp) 1150: 18800005 stb r2,0(r3) break; 1154: 00001306 br 11a4 <encodeLatHex+0x440> case 4: *hex4 = encoded; 1158: 00c00134 movhi r3,4 115c: 18c41c04 addi r3,r3,4208 1160: e0bffc03 ldbu r2,-16(fp) 1164: 18800005 stb r2,0(r3) break; 1168: 00000e06 br 11a4 <encodeLatHex+0x440> case 5: *hex5 = encoded; 116c: 00c00134 movhi r3,4 1170: 18c41804 addi r3,r3,4192 1174: e0bffc03 ldbu r2,-16(fp) 1178: 18800005 stb r2,0(r3) break; 117c: 00000906 br 11a4 <encodeLatHex+0x440> case 6: *hex6 = encoded; 1180: 00c00134 movhi r3,4 1184: 18c41404 addi r3,r3,4176 1188: e0bffc03 ldbu r2,-16(fp) 118c: 18800005 stb r2,0(r3) break; 1190: 00000406 br 11a4 <encodeLatHex+0x440> case 7: *hex7 = encoded; 1194: 00c00134 movhi r3,4 1198: 18c41004 addi r3,r3,4160 119c: e0bffc03 ldbu r2,-16(fp) 11a0: 18800005 stb r2,0(r3) break; default: break; } } 11a4: e037883a mov sp,fp 11a8: dfc00117 ldw ra,4(sp) 11ac: df000017 ldw fp,0(sp) 11b0: dec00204 addi sp,sp,8 11b4: f800283a ret 000011b8 <print_block>: */ #include "hex_out.h" #include "hex_encoder.h" #include "sys_except.h" void print_block(char * str, unsigned int size, enum BLOCK_N block_i) { 11b8: defffa04 addi sp,sp,-24 11bc: dfc00515 stw ra,20(sp) 11c0: df000415 stw fp,16(sp) 11c4: df000404 addi fp,sp,16 11c8: e13ffd15 stw r4,-12(fp) 11cc: e17ffe15 stw r5,-8(fp) 11d0: e1bfff15 stw r6,-4(fp) int i; if (block_i == HEX0_3) { 11d4: e0bfff17 ldw r2,-4(fp) 11d8: 1004c03a cmpne r2,r2,zero 11dc: 10001a1e bne r2,zero,1248 <print_block+0x90> if (size > 4) panic(); 11e0: e0bffe17 ldw r2,-8(fp) 11e4: 10800170 cmpltui r2,r2,5 11e8: 1000011e bne r2,zero,11f0 <print_block+0x38> 11ec: 000253c0 call 253c <panic> for (i = 0; i < size; i++) { 11f0: e03ffc15 stw zero,-16(fp) 11f4: 00001006 br 1238 <print_block+0x80> encodeLatHex(i,str[size-1-i]); 11f8: e0fffc17 ldw r3,-16(fp) 11fc: e0bffe17 ldw r2,-8(fp) 1200: 10c5c83a sub r2,r2,r3 1204: 1007883a mov r3,r2 1208: e0bffd17 ldw r2,-12(fp) 120c: 1885883a add r2,r3,r2 1210: 10bfffc4 addi r2,r2,-1 1214: 10800003 ldbu r2,0(r2) 1218: 11403fcc andi r5,r2,255 121c: 2940201c xori r5,r5,128 1220: 297fe004 addi r5,r5,-128 1224: e13ffc17 ldw r4,-16(fp) 1228: 0000d640 call d64 <encodeLatHex> void print_block(char * str, unsigned int size, enum BLOCK_N block_i) { int i; if (block_i == HEX0_3) { if (size > 4) panic(); for (i = 0; i < size; i++) { 122c: e0bffc17 ldw r2,-16(fp) 1230: 10800044 addi r2,r2,1 1234: e0bffc15 stw r2,-16(fp) 1238: e0fffc17 ldw r3,-16(fp) 123c: e0bffe17 ldw r2,-8(fp) 1240: 18bfed36 bltu r3,r2,11f8 <print_block+0x40> 1244: 00003b06 br 1334 <print_block+0x17c> encodeLatHex(i,str[size-1-i]); } } else if (block_i == HEX4_5) { 1248: e0bfff17 ldw r2,-4(fp) 124c: 10800058 cmpnei r2,r2,1 1250: 10001b1e bne r2,zero,12c0 <print_block+0x108> if (size > 2) panic(); 1254: e0bffe17 ldw r2,-8(fp) 1258: 108000f0 cmpltui r2,r2,3 125c: 1000011e bne r2,zero,1264 <print_block+0xac> 1260: 000253c0 call 253c <panic> for (i = 0; i < size; i++) { 1264: e03ffc15 stw zero,-16(fp) 1268: 00001106 br 12b0 <print_block+0xf8> encodeLatHex(i+4,str[size-1-i]); 126c: e0bffc17 ldw r2,-16(fp) 1270: 11000104 addi r4,r2,4 1274: e0fffc17 ldw r3,-16(fp) 1278: e0bffe17 ldw r2,-8(fp) 127c: 10c5c83a sub r2,r2,r3 1280: 1007883a mov r3,r2 1284: e0bffd17 ldw r2,-12(fp) 1288: 1885883a add r2,r3,r2 128c: 10bfffc4 addi r2,r2,-1 1290: 10800003 ldbu r2,0(r2) 1294: 11403fcc andi r5,r2,255 1298: 2940201c xori r5,r5,128 129c: 297fe004 addi r5,r5,-128 12a0: 0000d640 call d64 <encodeLatHex> encodeLatHex(i,str[size-1-i]); } } else if (block_i == HEX4_5) { if (size > 2) panic(); for (i = 0; i < size; i++) { 12a4: e0bffc17 ldw r2,-16(fp) 12a8: 10800044 addi r2,r2,1 12ac: e0bffc15 stw r2,-16(fp) 12b0: e0fffc17 ldw r3,-16(fp) 12b4: e0bffe17 ldw r2,-8(fp) 12b8: 18bfec36 bltu r3,r2,126c <print_block+0xb4> 12bc: 00001d06 br 1334 <print_block+0x17c> encodeLatHex(i+4,str[size-1-i]); } } else if (block_i == HEX6_7) { 12c0: e0bfff17 ldw r2,-4(fp) 12c4: 10800098 cmpnei r2,r2,2 12c8: 10001a1e bne r2,zero,1334 <print_block+0x17c> if (size > 2) panic(); 12cc: e0bffe17 ldw r2,-8(fp) 12d0: 108000f0 cmpltui r2,r2,3 12d4: 1000011e bne r2,zero,12dc <print_block+0x124> 12d8: 000253c0 call 253c <panic> for (i = 0; i < size; i++) { 12dc: e03ffc15 stw zero,-16(fp) 12e0: 00001106 br 1328 <print_block+0x170> encodeLatHex(i+6,str[size-1-i]); 12e4: e0bffc17 ldw r2,-16(fp) 12e8: 11000184 addi r4,r2,6 12ec: e0fffc17 ldw r3,-16(fp) 12f0: e0bffe17 ldw r2,-8(fp) 12f4: 10c5c83a sub r2,r2,r3 12f8: 1007883a mov r3,r2 12fc: e0bffd17 ldw r2,-12(fp) 1300: 1885883a add r2,r3,r2 1304: 10bfffc4 addi r2,r2,-1 1308: 10800003 ldbu r2,0(r2) 130c: 11403fcc andi r5,r2,255 1310: 2940201c xori r5,r5,128 1314: 297fe004 addi r5,r5,-128 1318: 0000d640 call d64 <encodeLatHex> encodeLatHex(i+4,str[size-1-i]); } } else if (block_i == HEX6_7) { if (size > 2) panic(); for (i = 0; i < size; i++) { 131c: e0bffc17 ldw r2,-16(fp) 1320: 10800044 addi r2,r2,1 1324: e0bffc15 stw r2,-16(fp) 1328: e0fffc17 ldw r3,-16(fp) 132c: e0bffe17 ldw r2,-8(fp) 1330: 18bfec36 bltu r3,r2,12e4 <print_block+0x12c> encodeLatHex(i+6,str[size-1-i]); } } } 1334: e037883a mov sp,fp 1338: dfc00117 ldw ra,4(sp) 133c: df000017 ldw fp,0(sp) 1340: dec00204 addi sp,sp,8 1344: f800283a ret 00001348 <clear_block>: void clear_block(enum BLOCK_N block_i) { 1348: defffd04 addi sp,sp,-12 134c: dfc00215 stw ra,8(sp) 1350: df000115 stw fp,4(sp) 1354: df000104 addi fp,sp,4 1358: e13fff15 stw r4,-4(fp) if (block_i == HEX0_3) { 135c: e0bfff17 ldw r2,-4(fp) 1360: 1004c03a cmpne r2,r2,zero 1364: 1000061e bne r2,zero,1380 <clear_block+0x38> print_block(" ", 4, HEX0_3); 1368: 01000074 movhi r4,1 136c: 21001904 addi r4,r4,100 1370: 01400104 movi r5,4 1374: 000d883a mov r6,zero 1378: 00011b80 call 11b8 <print_block> 137c: 00001106 br 13c4 <clear_block+0x7c> } else if (block_i == HEX4_5) { 1380: e0bfff17 ldw r2,-4(fp) 1384: 10800058 cmpnei r2,r2,1 1388: 1000061e bne r2,zero,13a4 <clear_block+0x5c> print_block(" ", 2, HEX4_5); 138c: 01000074 movhi r4,1 1390: 21001b04 addi r4,r4,108 1394: 01400084 movi r5,2 1398: 01800044 movi r6,1 139c: 00011b80 call 11b8 <print_block> 13a0: 00000806 br 13c4 <clear_block+0x7c> } else if (block_i == HEX6_7) { 13a4: e0bfff17 ldw r2,-4(fp) 13a8: 10800098 cmpnei r2,r2,2 13ac: 1000051e bne r2,zero,13c4 <clear_block+0x7c> print_block(" ", 2, HEX6_7); 13b0: 01000074 movhi r4,1 13b4: 21001b04 addi r4,r4,108 13b8: 01400084 movi r5,2 13bc: 01800084 movi r6,2 13c0: 00011b80 call 11b8 <print_block> } } 13c4: e037883a mov sp,fp 13c8: dfc00117 ldw ra,4(sp) 13cc: df000017 ldw fp,0(sp) 13d0: dec00204 addi sp,sp,8 13d4: f800283a ret 000013d8 <print_number>: void print_number(char num) { 13d8: defff904 addi sp,sp,-28 13dc: dfc00615 stw ra,24(sp) 13e0: df000515 stw fp,20(sp) 13e4: df000504 addi fp,sp,20 13e8: e13fff05 stb r4,-4(fp) int i; char buf[5]; char val; for (i = 0; i < 4; i++) { 13ec: e03ffc15 stw zero,-16(fp) 13f0: 00002906 br 1498 <print_number+0xc0> if (num < 0) { 13f4: e0bfff07 ldb r2,-4(fp) 13f8: 1004403a cmpge r2,r2,zero 13fc: 1000061e bne r2,zero,1418 <print_number+0x40> buf[0] = '-'; 1400: 00800b44 movi r2,45 1404: e0bffd05 stb r2,-12(fp) val = -num; 1408: e0bfff03 ldbu r2,-4(fp) 140c: 0085c83a sub r2,zero,r2 1410: e0bffb05 stb r2,-20(fp) 1414: 00000406 br 1428 <print_number+0x50> } else { buf[0] = ' '; 1418: 00800804 movi r2,32 141c: e0bffd05 stb r2,-12(fp) val = num; 1420: e0bfff03 ldbu r2,-4(fp) 1424: e0bffb05 stb r2,-20(fp) } buf[1] = val/100%10 + '0'; 1428: e13ffb07 ldb r4,-20(fp) 142c: 01401904 movi r5,100 1430: 0002b540 call 2b54 <__divsi3> 1434: 11003fcc andi r4,r2,255 1438: 2100201c xori r4,r4,128 143c: 213fe004 addi r4,r4,-128 1440: 01400284 movi r5,10 1444: 0002bb40 call 2bb4 <__modsi3> 1448: 10800c04 addi r2,r2,48 144c: e0bffd45 stb r2,-11(fp) buf[2] = val/10%10 + '0'; 1450: e13ffb07 ldb r4,-20(fp) 1454: 01400284 movi r5,10 1458: 0002b540 call 2b54 <__divsi3> 145c: 11003fcc andi r4,r2,255 1460: 2100201c xori r4,r4,128 1464: 213fe004 addi r4,r4,-128 1468: 01400284 movi r5,10 146c: 0002bb40 call 2bb4 <__modsi3> 1470: 10800c04 addi r2,r2,48 1474: e0bffd85 stb r2,-10(fp) buf[3] = val%10 + '0'; 1478: e13ffb07 ldb r4,-20(fp) 147c: 01400284 movi r5,10 1480: 0002bb40 call 2bb4 <__modsi3> 1484: 10800c04 addi r2,r2,48 1488: e0bffdc5 stb r2,-9(fp) void print_number(char num) { int i; char buf[5]; char val; for (i = 0; i < 4; i++) { 148c: e0bffc17 ldw r2,-16(fp) 1490: 10800044 addi r2,r2,1 1494: e0bffc15 stw r2,-16(fp) 1498: e0bffc17 ldw r2,-16(fp) 149c: 10800110 cmplti r2,r2,4 14a0: 103fd41e bne r2,zero,13f4 <print_number+0x1c> } buf[1] = val/100%10 + '0'; buf[2] = val/10%10 + '0'; buf[3] = val%10 + '0'; } clear_block(HEX0_3); 14a4: 0009883a mov r4,zero 14a8: 00013480 call 1348 <clear_block> print_block(buf, 4, HEX0_3); 14ac: e13ffd04 addi r4,fp,-12 14b0: 01400104 movi r5,4 14b4: 000d883a mov r6,zero 14b8: 00011b80 call 11b8 <print_block> } 14bc: e037883a mov sp,fp 14c0: dfc00117 ldw ra,4(sp) 14c4: df000017 ldw fp,0(sp) 14c8: dec00204 addi sp,sp,8 14cc: f800283a ret 000014d0 <in_int>: #include "input_int.h" #include "sys_register.h" unsigned char PUSH_EVENT = PUSH_NONE; void in_int() { 14d0: defffe04 addi sp,sp,-8 14d4: dfc00115 stw ra,4(sp) 14d8: df000015 stw fp,0(sp) 14dc: d839883a mov fp,sp push_int(); 14e0: 000168c0 call 168c <push_int> } 14e4: e037883a mov sp,fp 14e8: dfc00117 ldw ra,4(sp) 14ec: df000017 ldw fp,0(sp) 14f0: dec00204 addi sp,sp,8 14f4: f800283a ret 000014f8 <update_sw_reg>: static void update_sw_reg(sw_t s) { 14f8: defffe04 addi sp,sp,-8 14fc: df000115 stw fp,4(sp) 1500: df000104 addi fp,sp,4 1504: e13fff15 stw r4,-4(fp) global_registers[Ssw_data] = (char)s.data.value; 1508: e0bfff17 ldw r2,-4(fp) 150c: 1004d2ba srli r2,r2,10 1510: 1007883a mov r3,r2 1514: 00bfffc4 movi r2,-1 1518: 1884703a and r2,r3,r2 151c: 1007883a mov r3,r2 1520: 00800074 movhi r2,1 1524: 1090cd04 addi r2,r2,17204 1528: 10c001c5 stb r3,7(r2) global_registers[Ssw_inst] = (char)s.splited.instruction_code; 152c: e0bfff17 ldw r2,-4(fp) 1530: 1004d3ba srli r2,r2,14 1534: 108003cc andi r2,r2,15 1538: 1007883a mov r3,r2 153c: 00800074 movhi r2,1 1540: 1090cd04 addi r2,r2,17204 1544: 10c00205 stb r3,8(r2) global_registers[Ssw_memi] = (char)s.splited.memory_index; 1548: e0bfff17 ldw r2,-4(fp) 154c: 1004d1ba srli r2,r2,6 1550: 108003cc andi r2,r2,15 1554: 1007883a mov r3,r2 1558: 00800074 movhi r2,1 155c: 1090cd04 addi r2,r2,17204 1560: 10c00285 stb r3,10(r2) global_registers[Ssw_regi] = (char)s.splited.register_index; 1564: e0bfff17 ldw r2,-4(fp) 1568: 1004d2ba srli r2,r2,10 156c: 108003cc andi r2,r2,15 1570: 1007883a mov r3,r2 1574: 00800074 movhi r2,1 1578: 1090cd04 addi r2,r2,17204 157c: 10c00245 stb r3,9(r2) global_registers[Ssw_psel] = (char)s.splited.program_selecter; 1580: e0bfff17 ldw r2,-4(fp) 1584: 1004d0ba srli r2,r2,2 1588: 108003cc andi r2,r2,15 158c: 1007883a mov r3,r2 1590: 00800074 movhi r2,1 1594: 1090cd04 addi r2,r2,17204 1598: 10c002c5 stb r3,11(r2) global_registers[Ssw_rw] = (char)s.splited.rw_mode; 159c: e0bfff17 ldw r2,-4(fp) 15a0: 1004d07a srli r2,r2,1 15a4: 1080004c andi r2,r2,1 15a8: 1007883a mov r3,r2 15ac: 00800074 movhi r2,1 15b0: 1090cd04 addi r2,r2,17204 15b4: 10c00305 stb r3,12(r2) global_registers[Ssw_run] = (char)s.splited.run_mode; 15b8: e0bfff17 ldw r2,-4(fp) 15bc: 1080004c andi r2,r2,1 15c0: 1007883a mov r3,r2 15c4: 00800074 movhi r2,1 15c8: 1090cd04 addi r2,r2,17204 15cc: 10c00345 stb r3,13(r2) } 15d0: e037883a mov sp,fp 15d4: df000017 ldw fp,0(sp) 15d8: dec00104 addi sp,sp,4 15dc: f800283a ret 000015e0 <push_decode>: enum PushEvent push_decode(char psw) { 15e0: defffc04 addi sp,sp,-16 15e4: df000315 stw fp,12(sp) 15e8: df000304 addi fp,sp,12 15ec: e13ffe05 stb r4,-8(fp) int result = PUSH_NONE; 15f0: 00800044 movi r2,1 15f4: e0bffd15 stw r2,-12(fp) switch(psw) { 15f8: e0bffe07 ldb r2,-8(fp) 15fc: e0bfff15 stw r2,-4(fp) 1600: e0ffff17 ldw r3,-4(fp) 1604: 18800160 cmpeqi r2,r3,5 1608: 10000e1e bne r2,zero,1644 <push_decode+0x64> 160c: e0ffff17 ldw r3,-4(fp) 1610: 188001a0 cmpeqi r2,r3,6 1614: 1000121e bne r2,zero,1660 <push_decode+0x80> 1618: e0ffff17 ldw r3,-4(fp) 161c: 188000e0 cmpeqi r2,r3,3 1620: 1000011e bne r2,zero,1628 <push_decode+0x48> 1624: 00001406 br 1678 <push_decode+0x98> case 0x3: result += PUSH_ANY; 1628: e0bffd17 ldw r2,-12(fp) 162c: 10800084 addi r2,r2,2 1630: e0bffd15 stw r2,-12(fp) result += PUSH_VALSTR; 1634: e0bffd17 ldw r2,-12(fp) 1638: 10800104 addi r2,r2,4 163c: e0bffd15 stw r2,-12(fp) break; 1640: 00000d06 br 1678 <push_decode+0x98> case 0x5: result += PUSH_ANY; 1644: e0bffd17 ldw r2,-12(fp) 1648: 10800084 addi r2,r2,2 164c: e0bffd15 stw r2,-12(fp) result += PUSH_INSSTR; 1650: e0bffd17 ldw r2,-12(fp) 1654: 10800204 addi r2,r2,8 1658: e0bffd15 stw r2,-12(fp) break; 165c: 00000606 br 1678 <push_decode+0x98> case 0x6: result += PUSH_ANY; 1660: e0bffd17 ldw r2,-12(fp) 1664: 10800084 addi r2,r2,2 1668: e0bffd15 stw r2,-12(fp) result += PUSH_RUN; 166c: e0bffd17 ldw r2,-12(fp) 1670: 10800404 addi r2,r2,16 1674: e0bffd15 stw r2,-12(fp) break; } return result; 1678: e0bffd17 ldw r2,-12(fp) } 167c: e037883a mov sp,fp 1680: df000017 ldw fp,0(sp) 1684: dec00104 addi sp,sp,4 1688: f800283a ret 0000168c <push_int>: void push_int() { 168c: defffc04 addi sp,sp,-16 1690: dfc00315 stw ra,12(sp) 1694: df000215 stw fp,8(sp) 1698: df000204 addi fp,sp,8 static unsigned char status = 0; static enum PushEvent event_code; volatile sw_t s; s.sw = *switches; 169c: 00800134 movhi r2,4 16a0: 10843404 addi r2,r2,4304 16a4: 10800017 ldw r2,0(r2) 16a8: e0bffe15 stw r2,-8(fp) switch (status) { 16ac: d0a6f803 ldbu r2,-25632(gp) 16b0: 10803fcc andi r2,r2,255 16b4: e0bfff15 stw r2,-4(fp) 16b8: e0ffff17 ldw r3,-4(fp) 16bc: 18800060 cmpeqi r2,r3,1 16c0: 10001e1e bne r2,zero,173c <push_int+0xb0> 16c4: e0ffff17 ldw r3,-4(fp) 16c8: 188000a0 cmpeqi r2,r3,2 16cc: 1000261e bne r2,zero,1768 <push_int+0xdc> 16d0: e0ffff17 ldw r3,-4(fp) 16d4: 1805003a cmpeq r2,r3,zero 16d8: 1000011e bne r2,zero,16e0 <push_int+0x54> 16dc: 00002606 br 1778 <push_int+0xec> case 0: PUSH_EVENT = PUSH_NONE; 16e0: 00800044 movi r2,1 16e4: d0a00005 stb r2,-32768(gp) if (*push_switches != 7) { 16e8: 00800134 movhi r2,4 16ec: 10843004 addi r2,r2,4288 16f0: 10800003 ldbu r2,0(r2) 16f4: 10803fcc andi r2,r2,255 16f8: 1080201c xori r2,r2,128 16fc: 10bfe004 addi r2,r2,-128 1700: 108001e0 cmpeqi r2,r2,7 1704: 10000a1e bne r2,zero,1730 <push_int+0xa4> event_code = push_decode(*push_switches); 1708: 00800134 movhi r2,4 170c: 10843004 addi r2,r2,4288 1710: 10800003 ldbu r2,0(r2) 1714: 11003fcc andi r4,r2,255 1718: 2100201c xori r4,r4,128 171c: 213fe004 addi r4,r4,-128 1720: 00015e00 call 15e0 <push_decode> 1724: d0a6f715 stw r2,-25636(gp) status = 1; 1728: 00800044 movi r2,1 172c: d0a6f805 stb r2,-25632(gp) } update_sw_reg(s); // スイッチレジスタ更新 1730: e13ffe17 ldw r4,-8(fp) 1734: 00014f80 call 14f8 <update_sw_reg> break; 1738: 00001006 br 177c <push_int+0xf0> case 1: if (*push_switches == 7) status = 2; 173c: 00800134 movhi r2,4 1740: 10843004 addi r2,r2,4288 1744: 10800003 ldbu r2,0(r2) 1748: 10803fcc andi r2,r2,255 174c: 1080201c xori r2,r2,128 1750: 10bfe004 addi r2,r2,-128 1754: 108001d8 cmpnei r2,r2,7 1758: 1000081e bne r2,zero,177c <push_int+0xf0> 175c: 00800084 movi r2,2 1760: d0a6f805 stb r2,-25632(gp) break; 1764: 00000506 br 177c <push_int+0xf0> case 2: PUSH_EVENT = event_code; 1768: d0a6f717 ldw r2,-25636(gp) 176c: d0a00005 stb r2,-32768(gp) status = 0; 1770: d026f805 stb zero,-25632(gp) break; 1774: 00000106 br 177c <push_int+0xf0> default: status = 0; 1778: d026f805 stb zero,-25632(gp) break; } } 177c: e037883a mov sp,fp 1780: dfc00117 ldw ra,4(sp) 1784: df000017 ldw fp,0(sp) 1788: dec00204 addi sp,sp,8 178c: f800283a ret 00001790 <inst_fetch>: #include "hex_out.h" #include "sys_prog.h" #include <stdio.h> #include <unistd.h> struct InstRec inst_fetch(){ 1790: defffd04 addi sp,sp,-12 1794: dfc00215 stw ra,8(sp) 1798: df000115 stw fp,4(sp) 179c: df000104 addi fp,sp,4 struct InstRec rec = inst_memory_load((unsigned int)global_registers[Spc]); 17a0: 00800074 movhi r2,1 17a4: 1090cd04 addi r2,r2,17204 17a8: 10800043 ldbu r2,1(r2) 17ac: 11003fcc andi r4,r2,255 17b0: 2100201c xori r4,r4,128 17b4: 213fe004 addi r4,r4,-128 17b8: 00026480 call 2648 <inst_memory_load> 17bc: e0bfff15 stw r2,-4(fp) inc_pc(); 17c0: 00027bc0 call 27bc <inc_pc> return rec; 17c4: e0bfff17 ldw r2,-4(fp) } 17c8: e037883a mov sp,fp 17cc: dfc00117 ldw ra,4(sp) 17d0: df000017 ldw fp,0(sp) 17d4: dec00204 addi sp,sp,8 17d8: f800283a ret 000017dc <inst_decode>: void inst_decode(struct InstRec inst_rec){ 17dc: defffc04 addi sp,sp,-16 17e0: dfc00315 stw ra,12(sp) 17e4: df000215 stw fp,8(sp) 17e8: df000204 addi fp,sp,8 17ec: e13ffe15 stw r4,-8(fp) switch(inst_rec.inst) { 17f0: e0bffe17 ldw r2,-8(fp) 17f4: 108003cc andi r2,r2,15 17f8: 10803fcc andi r2,r2,255 17fc: e0bfff15 stw r2,-4(fp) 1800: e0ffff17 ldw r3,-4(fp) 1804: 18800368 cmpgeui r2,r3,13 1808: 10008d1e bne r2,zero,1a40 <inst_decode+0x264> 180c: e13fff17 ldw r4,-4(fp) 1810: e13fff17 ldw r4,-4(fp) 1814: 2105883a add r2,r4,r4 1818: 1087883a add r3,r2,r2 181c: 00800034 movhi r2,0 1820: 10860c04 addi r2,r2,6192 1824: 1885883a add r2,r3,r2 1828: 10800017 ldw r2,0(r2) 182c: 1000683a jmp r2 1830: 00001a40 call 1a4 <alt_irq_handler+0xb8> 1834: 00001864 muli zero,zero,97 1838: 0000188c andi zero,zero,98 183c: 000018b4 movhi zero,98 1840: 000018dc xori zero,zero,99 1844: 00001904 movi zero,100 1848: 0000192c andhi zero,zero,100 184c: 0000197c xorhi zero,zero,101 1850: 000019a4 muli zero,zero,102 1854: 000019cc andi zero,zero,103 1858: 000019f4 movhi zero,103 185c: 00001a1c xori zero,zero,104 1860: 00001954 movui zero,101 case INST_END: break; case INST_JUMP: inst_jump(inst_rec.regi, inst_rec.memi); 1864: e0bffe17 ldw r2,-8(fp) 1868: 1004d23a srli r2,r2,8 186c: 108003cc andi r2,r2,15 1870: 11003fcc andi r4,r2,255 1874: e0bffe17 ldw r2,-8(fp) 1878: 1004d13a srli r2,r2,4 187c: 108003cc andi r2,r2,15 1880: 11403fcc andi r5,r2,255 1884: 0001a540 call 1a54 <inst_jump> break; 1888: 00006d06 br 1a40 <inst_decode+0x264> case INST_OUTPUT: inst_output(inst_rec.regi, inst_rec.memi); 188c: e0bffe17 ldw r2,-8(fp) 1890: 1004d23a srli r2,r2,8 1894: 108003cc andi r2,r2,15 1898: 11003fcc andi r4,r2,255 189c: e0bffe17 ldw r2,-8(fp) 18a0: 1004d13a srli r2,r2,4 18a4: 108003cc andi r2,r2,15 18a8: 11403fcc andi r5,r2,255 18ac: 0001ab00 call 1ab0 <inst_output> break; 18b0: 00006306 br 1a40 <inst_decode+0x264> case INST_LOAD: inst_load(inst_rec.regi, inst_rec.memi); 18b4: e0bffe17 ldw r2,-8(fp) 18b8: 1004d23a srli r2,r2,8 18bc: 108003cc andi r2,r2,15 18c0: 11003fcc andi r4,r2,255 18c4: e0bffe17 ldw r2,-8(fp) 18c8: 1004d13a srli r2,r2,4 18cc: 108003cc andi r2,r2,15 18d0: 11403fcc andi r5,r2,255 18d4: 0001b200 call 1b20 <inst_load> break; 18d8: 00005906 br 1a40 <inst_decode+0x264> case INST_STORE: inst_store(inst_rec.regi, inst_rec.memi); 18dc: e0bffe17 ldw r2,-8(fp) 18e0: 1004d23a srli r2,r2,8 18e4: 108003cc andi r2,r2,15 18e8: 11003fcc andi r4,r2,255 18ec: e0bffe17 ldw r2,-8(fp) 18f0: 1004d13a srli r2,r2,4 18f4: 108003cc andi r2,r2,15 18f8: 11403fcc andi r5,r2,255 18fc: 0001b580 call 1b58 <inst_store> break; 1900: 00004f06 br 1a40 <inst_decode+0x264> case INST_DELAY: inst_delay(inst_rec.regi, inst_rec.memi); 1904: e0bffe17 ldw r2,-8(fp) 1908: 1004d23a srli r2,r2,8 190c: 108003cc andi r2,r2,15 1910: 11003fcc andi r4,r2,255 1914: e0bffe17 ldw r2,-8(fp) 1918: 1004d13a srli r2,r2,4 191c: 108003cc andi r2,r2,15 1920: 11403fcc andi r5,r2,255 1924: 0001b900 call 1b90 <inst_delay> break; 1928: 00004506 br 1a40 <inst_decode+0x264> case INST_ADD: inst_add(inst_rec.regi, inst_rec.memi); 192c: e0bffe17 ldw r2,-8(fp) 1930: 1004d23a srli r2,r2,8 1934: 108003cc andi r2,r2,15 1938: 11003fcc andi r4,r2,255 193c: e0bffe17 ldw r2,-8(fp) 1940: 1004d13a srli r2,r2,4 1944: 108003cc andi r2,r2,15 1948: 11403fcc andi r5,r2,255 194c: 0001bec0 call 1bec <inst_add> break; 1950: 00003b06 br 1a40 <inst_decode+0x264> case INST_SUB: inst_sub(inst_rec.regi, inst_rec.memi); 1954: e0bffe17 ldw r2,-8(fp) 1958: 1004d23a srli r2,r2,8 195c: 108003cc andi r2,r2,15 1960: 11003fcc andi r4,r2,255 1964: e0bffe17 ldw r2,-8(fp) 1968: 1004d13a srli r2,r2,4 196c: 108003cc andi r2,r2,15 1970: 11403fcc andi r5,r2,255 1974: 0001c480 call 1c48 <inst_sub> break; 1978: 00003106 br 1a40 <inst_decode+0x264> case INST_COMP: inst_comp(inst_rec.regi, inst_rec.memi); 197c: e0bffe17 ldw r2,-8(fp) 1980: 1004d23a srli r2,r2,8 1984: 108003cc andi r2,r2,15 1988: 11003fcc andi r4,r2,255 198c: e0bffe17 ldw r2,-8(fp) 1990: 1004d13a srli r2,r2,4 1994: 108003cc andi r2,r2,15 1998: 11403fcc andi r5,r2,255 199c: 0001ca40 call 1ca4 <inst_comp> break; 19a0: 00002706 br 1a40 <inst_decode+0x264> case INST_JEQ: inst_jeq(inst_rec.regi, inst_rec.memi); 19a4: e0bffe17 ldw r2,-8(fp) 19a8: 1004d23a srli r2,r2,8 19ac: 108003cc andi r2,r2,15 19b0: 11003fcc andi r4,r2,255 19b4: e0bffe17 ldw r2,-8(fp) 19b8: 1004d13a srli r2,r2,4 19bc: 108003cc andi r2,r2,15 19c0: 11403fcc andi r5,r2,255 19c4: 0001d740 call 1d74 <inst_jeq> break; 19c8: 00001d06 br 1a40 <inst_decode+0x264> case INST_JNE: inst_jne(inst_rec.regi, inst_rec.memi); 19cc: e0bffe17 ldw r2,-8(fp) 19d0: 1004d23a srli r2,r2,8 19d4: 108003cc andi r2,r2,15 19d8: 11003fcc andi r4,r2,255 19dc: e0bffe17 ldw r2,-8(fp) 19e0: 1004d13a srli r2,r2,4 19e4: 108003cc andi r2,r2,15 19e8: 11403fcc andi r5,r2,255 19ec: 0001de00 call 1de0 <inst_jne> break; 19f0: 00001306 br 1a40 <inst_decode+0x264> case INST_JIEQ: inst_jieq(inst_rec.regi, inst_rec.memi); 19f4: e0bffe17 ldw r2,-8(fp) 19f8: 1004d23a srli r2,r2,8 19fc: 108003cc andi r2,r2,15 1a00: 11003fcc andi r4,r2,255 1a04: e0bffe17 ldw r2,-8(fp) 1a08: 1004d13a srli r2,r2,4 1a0c: 108003cc andi r2,r2,15 1a10: 11403fcc andi r5,r2,255 1a14: 0001e4c0 call 1e4c <inst_jieq> break; 1a18: 00000906 br 1a40 <inst_decode+0x264> case INST_JINE: inst_jine(inst_rec.regi, inst_rec.memi); 1a1c: e0bffe17 ldw r2,-8(fp) 1a20: 1004d23a srli r2,r2,8 1a24: 108003cc andi r2,r2,15 1a28: 11003fcc andi r4,r2,255 1a2c: e0bffe17 ldw r2,-8(fp) 1a30: 1004d13a srli r2,r2,4 1a34: 108003cc andi r2,r2,15 1a38: 11403fcc andi r5,r2,255 1a3c: 0001e9c0 call 1e9c <inst_jine> break; } } 1a40: e037883a mov sp,fp 1a44: dfc00117 ldw ra,4(sp) 1a48: df000017 ldw fp,0(sp) 1a4c: dec00204 addi sp,sp,8 1a50: f800283a ret 00001a54 <inst_jump>: void inst_jump(enum Register reg, unsigned char memory_index){ 1a54: defffc04 addi sp,sp,-16 1a58: dfc00315 stw ra,12(sp) 1a5c: df000215 stw fp,8(sp) 1a60: df000204 addi fp,sp,8 1a64: e13ffe15 stw r4,-8(fp) 1a68: e17fff05 stb r5,-4(fp) set_pc(global_registers[reg]+memory_index); 1a6c: e0fffe17 ldw r3,-8(fp) 1a70: 00800074 movhi r2,1 1a74: 1090cd04 addi r2,r2,17204 1a78: 10c5883a add r2,r2,r3 1a7c: 10800003 ldbu r2,0(r2) 1a80: 10c03fcc andi r3,r2,255 1a84: 18c0201c xori r3,r3,128 1a88: 18ffe004 addi r3,r3,-128 1a8c: e0bfff03 ldbu r2,-4(fp) 1a90: 1885883a add r2,r3,r2 1a94: 1009883a mov r4,r2 1a98: 00028900 call 2890 <set_pc> } 1a9c: e037883a mov sp,fp 1aa0: dfc00117 ldw ra,4(sp) 1aa4: df000017 ldw fp,0(sp) 1aa8: dec00204 addi sp,sp,8 1aac: f800283a ret 00001ab0 <inst_output>: void inst_output(enum Register reg, unsigned char memory_index){ 1ab0: defffa04 addi sp,sp,-24 1ab4: dfc00515 stw ra,20(sp) 1ab8: df000415 stw fp,16(sp) 1abc: df000404 addi fp,sp,16 1ac0: e13ffe15 stw r4,-8(fp) 1ac4: e17fff05 stb r5,-4(fp) //メモリの値を7セグに表示 char buf[5]; memory_load(memory_index, Sseg); 1ac8: e13fff03 ldbu r4,-4(fp) 1acc: 01400384 movi r5,14 1ad0: 000272c0 call 272c <memory_load> sprintf(buf, "%04d", global_registers[Sseg]); 1ad4: 00800074 movhi r2,1 1ad8: 1090cd04 addi r2,r2,17204 1adc: 10800383 ldbu r2,14(r2) 1ae0: 11803fcc andi r6,r2,255 1ae4: 3180201c xori r6,r6,128 1ae8: 31bfe004 addi r6,r6,-128 1aec: e13ffc04 addi r4,fp,-16 1af0: 01400074 movhi r5,1 1af4: 29401c04 addi r5,r5,112 1af8: 0002c5c0 call 2c5c <sprintf> print_block(buf, 4, HEX0_3); 1afc: e13ffc04 addi r4,fp,-16 1b00: 01400104 movi r5,4 1b04: 000d883a mov r6,zero 1b08: 00011b80 call 11b8 <print_block> } 1b0c: e037883a mov sp,fp 1b10: dfc00117 ldw ra,4(sp) 1b14: df000017 ldw fp,0(sp) 1b18: dec00204 addi sp,sp,8 1b1c: f800283a ret 00001b20 <inst_load>: void inst_load(enum Register reg, unsigned char memory_index){ 1b20: defffc04 addi sp,sp,-16 1b24: dfc00315 stw ra,12(sp) 1b28: df000215 stw fp,8(sp) 1b2c: df000204 addi fp,sp,8 1b30: e13ffe15 stw r4,-8(fp) 1b34: e17fff05 stb r5,-4(fp) memory_load(memory_index, reg); 1b38: e13fff03 ldbu r4,-4(fp) 1b3c: e17ffe17 ldw r5,-8(fp) 1b40: 000272c0 call 272c <memory_load> } 1b44: e037883a mov sp,fp 1b48: dfc00117 ldw ra,4(sp) 1b4c: df000017 ldw fp,0(sp) 1b50: dec00204 addi sp,sp,8 1b54: f800283a ret 00001b58 <inst_store>: void inst_store(enum Register reg, unsigned char memory_index){ 1b58: defffc04 addi sp,sp,-16 1b5c: dfc00315 stw ra,12(sp) 1b60: df000215 stw fp,8(sp) 1b64: df000204 addi fp,sp,8 1b68: e13ffe15 stw r4,-8(fp) 1b6c: e17fff05 stb r5,-4(fp) memory_store(memory_index, reg); 1b70: e13fff03 ldbu r4,-4(fp) 1b74: e17ffe17 ldw r5,-8(fp) 1b78: 00026900 call 2690 <memory_store> } 1b7c: e037883a mov sp,fp 1b80: dfc00117 ldw ra,4(sp) 1b84: df000017 ldw fp,0(sp) 1b88: dec00204 addi sp,sp,8 1b8c: f800283a ret 00001b90 <inst_delay>: void inst_delay(enum Register reg, unsigned char memory_index){ 1b90: defffc04 addi sp,sp,-16 1b94: dfc00315 stw ra,12(sp) 1b98: df000215 stw fp,8(sp) 1b9c: df000204 addi fp,sp,8 1ba0: e13ffe15 stw r4,-8(fp) 1ba4: e17fff05 stb r5,-4(fp) //レジスタの値*10ms待つ usleep((int)global_registers[reg]*10000); 1ba8: e0fffe17 ldw r3,-8(fp) 1bac: 00800074 movhi r2,1 1bb0: 1090cd04 addi r2,r2,17204 1bb4: 10c5883a add r2,r2,r3 1bb8: 10800003 ldbu r2,0(r2) 1bbc: 11003fcc andi r4,r2,255 1bc0: 2100201c xori r4,r4,128 1bc4: 213fe004 addi r4,r4,-128 1bc8: 0149c404 movi r5,10000 1bcc: 0002c240 call 2c24 <__mulsi3> 1bd0: 1009883a mov r4,r2 1bd4: 000ce780 call ce78 <usleep> } 1bd8: e037883a mov sp,fp 1bdc: dfc00117 ldw ra,4(sp) 1be0: df000017 ldw fp,0(sp) 1be4: dec00204 addi sp,sp,8 1be8: f800283a ret 00001bec <inst_add>: void inst_add(enum Register reg, unsigned char memory_index){ 1bec: defffd04 addi sp,sp,-12 1bf0: df000215 stw fp,8(sp) 1bf4: df000204 addi fp,sp,8 1bf8: e13ffe15 stw r4,-8(fp) 1bfc: e17fff05 stb r5,-4(fp) global_registers[Sacc]+=global_registers[reg]; 1c00: 00800074 movhi r2,1 1c04: 1090cd04 addi r2,r2,17204 1c08: 10800143 ldbu r2,5(r2) 1c0c: 1009883a mov r4,r2 1c10: e0fffe17 ldw r3,-8(fp) 1c14: 00800074 movhi r2,1 1c18: 1090cd04 addi r2,r2,17204 1c1c: 10c5883a add r2,r2,r3 1c20: 10800003 ldbu r2,0(r2) 1c24: 2085883a add r2,r4,r2 1c28: 1007883a mov r3,r2 1c2c: 00800074 movhi r2,1 1c30: 1090cd04 addi r2,r2,17204 1c34: 10c00145 stb r3,5(r2) } 1c38: e037883a mov sp,fp 1c3c: df000017 ldw fp,0(sp) 1c40: dec00104 addi sp,sp,4 1c44: f800283a ret 00001c48 <inst_sub>: void inst_sub(enum Register reg, unsigned char memory_index){ 1c48: defffd04 addi sp,sp,-12 1c4c: df000215 stw fp,8(sp) 1c50: df000204 addi fp,sp,8 1c54: e13ffe15 stw r4,-8(fp) 1c58: e17fff05 stb r5,-4(fp) global_registers[Sacc]-=global_registers[reg]; 1c5c: 00800074 movhi r2,1 1c60: 1090cd04 addi r2,r2,17204 1c64: 10800143 ldbu r2,5(r2) 1c68: 1009883a mov r4,r2 1c6c: e0fffe17 ldw r3,-8(fp) 1c70: 00800074 movhi r2,1 1c74: 1090cd04 addi r2,r2,17204 1c78: 10c5883a add r2,r2,r3 1c7c: 10800003 ldbu r2,0(r2) 1c80: 2085c83a sub r2,r4,r2 1c84: 1007883a mov r3,r2 1c88: 00800074 movhi r2,1 1c8c: 1090cd04 addi r2,r2,17204 1c90: 10c00145 stb r3,5(r2) } 1c94: e037883a mov sp,fp 1c98: df000017 ldw fp,0(sp) 1c9c: dec00104 addi sp,sp,4 1ca0: f800283a ret 00001ca4 <inst_comp>: void inst_comp(enum Register reg, unsigned char memory_index){ 1ca4: defffd04 addi sp,sp,-12 1ca8: df000215 stw fp,8(sp) 1cac: df000204 addi fp,sp,8 1cb0: e13ffe15 stw r4,-8(fp) 1cb4: e17fff05 stb r5,-4(fp) if(global_registers[Sacc]==global_registers[reg]){ 1cb8: 00800074 movhi r2,1 1cbc: 1090cd04 addi r2,r2,17204 1cc0: 11000143 ldbu r4,5(r2) 1cc4: e0fffe17 ldw r3,-8(fp) 1cc8: 00800074 movhi r2,1 1ccc: 1090cd04 addi r2,r2,17204 1cd0: 10c5883a add r2,r2,r3 1cd4: 10800003 ldbu r2,0(r2) 1cd8: 20c03fcc andi r3,r4,255 1cdc: 18c0201c xori r3,r3,128 1ce0: 18ffe004 addi r3,r3,-128 1ce4: 10803fcc andi r2,r2,255 1ce8: 1080201c xori r2,r2,128 1cec: 10bfe004 addi r2,r2,-128 1cf0: 1880041e bne r3,r2,1d04 <inst_comp+0x60> global_registers[Sflg]=0; 1cf4: 00800074 movhi r2,1 1cf8: 1090cd04 addi r2,r2,17204 1cfc: 10000185 stb zero,6(r2) 1d00: 00001806 br 1d64 <inst_comp+0xc0> } else if(global_registers[Sacc] > global_registers[reg]){ 1d04: 00800074 movhi r2,1 1d08: 1090cd04 addi r2,r2,17204 1d0c: 11000143 ldbu r4,5(r2) 1d10: e0fffe17 ldw r3,-8(fp) 1d14: 00800074 movhi r2,1 1d18: 1090cd04 addi r2,r2,17204 1d1c: 10c5883a add r2,r2,r3 1d20: 10800003 ldbu r2,0(r2) 1d24: 20c03fcc andi r3,r4,255 1d28: 18c0201c xori r3,r3,128 1d2c: 18ffe004 addi r3,r3,-128 1d30: 10803fcc andi r2,r2,255 1d34: 1080201c xori r2,r2,128 1d38: 10bfe004 addi r2,r2,-128 1d3c: 10c0050e bge r2,r3,1d54 <inst_comp+0xb0> global_registers[Sflg]=-1; 1d40: 00c00074 movhi r3,1 1d44: 18d0cd04 addi r3,r3,17204 1d48: 00bfffc4 movi r2,-1 1d4c: 18800185 stb r2,6(r3) 1d50: 00000406 br 1d64 <inst_comp+0xc0> }else{ global_registers[Sflg]=1; 1d54: 00c00074 movhi r3,1 1d58: 18d0cd04 addi r3,r3,17204 1d5c: 00800044 movi r2,1 1d60: 18800185 stb r2,6(r3) } } 1d64: e037883a mov sp,fp 1d68: df000017 ldw fp,0(sp) 1d6c: dec00104 addi sp,sp,4 1d70: f800283a ret 00001d74 <inst_jeq>: void inst_jeq(enum Register reg, unsigned char memory_index){ 1d74: defffc04 addi sp,sp,-16 1d78: dfc00315 stw ra,12(sp) 1d7c: df000215 stw fp,8(sp) 1d80: df000204 addi fp,sp,8 1d84: e13ffe15 stw r4,-8(fp) 1d88: e17fff05 stb r5,-4(fp) if(global_registers[Sflg]==global_registers[reg]){ 1d8c: 00800074 movhi r2,1 1d90: 1090cd04 addi r2,r2,17204 1d94: 11000183 ldbu r4,6(r2) 1d98: e0fffe17 ldw r3,-8(fp) 1d9c: 00800074 movhi r2,1 1da0: 1090cd04 addi r2,r2,17204 1da4: 10c5883a add r2,r2,r3 1da8: 10800003 ldbu r2,0(r2) 1dac: 20c03fcc andi r3,r4,255 1db0: 18c0201c xori r3,r3,128 1db4: 18ffe004 addi r3,r3,-128 1db8: 10803fcc andi r2,r2,255 1dbc: 1080201c xori r2,r2,128 1dc0: 10bfe004 addi r2,r2,-128 1dc4: 1880011e bne r3,r2,1dcc <inst_jeq+0x58> inc_pc(); 1dc8: 00027bc0 call 27bc <inc_pc> } } 1dcc: e037883a mov sp,fp 1dd0: dfc00117 ldw ra,4(sp) 1dd4: df000017 ldw fp,0(sp) 1dd8: dec00204 addi sp,sp,8 1ddc: f800283a ret 00001de0 <inst_jne>: void inst_jne(enum Register reg, unsigned char memory_index){ 1de0: defffc04 addi sp,sp,-16 1de4: dfc00315 stw ra,12(sp) 1de8: df000215 stw fp,8(sp) 1dec: df000204 addi fp,sp,8 1df0: e13ffe15 stw r4,-8(fp) 1df4: e17fff05 stb r5,-4(fp) if(global_registers[Sflg]!=global_registers[reg]){ 1df8: 00800074 movhi r2,1 1dfc: 1090cd04 addi r2,r2,17204 1e00: 11000183 ldbu r4,6(r2) 1e04: e0fffe17 ldw r3,-8(fp) 1e08: 00800074 movhi r2,1 1e0c: 1090cd04 addi r2,r2,17204 1e10: 10c5883a add r2,r2,r3 1e14: 10800003 ldbu r2,0(r2) 1e18: 20c03fcc andi r3,r4,255 1e1c: 18c0201c xori r3,r3,128 1e20: 18ffe004 addi r3,r3,-128 1e24: 10803fcc andi r2,r2,255 1e28: 1080201c xori r2,r2,128 1e2c: 10bfe004 addi r2,r2,-128 1e30: 18800126 beq r3,r2,1e38 <inst_jne+0x58> inc_pc(); 1e34: 00027bc0 call 27bc <inc_pc> } } 1e38: e037883a mov sp,fp 1e3c: dfc00117 ldw ra,4(sp) 1e40: df000017 ldw fp,0(sp) 1e44: dec00204 addi sp,sp,8 1e48: f800283a ret 00001e4c <inst_jieq>: void inst_jieq(char im, unsigned char memory_index){ 1e4c: defffc04 addi sp,sp,-16 1e50: dfc00315 stw ra,12(sp) 1e54: df000215 stw fp,8(sp) 1e58: df000204 addi fp,sp,8 1e5c: e13ffe05 stb r4,-8(fp) 1e60: e17fff05 stb r5,-4(fp) if(global_registers[Sflg]==im){ 1e64: 00800074 movhi r2,1 1e68: 1090cd04 addi r2,r2,17204 1e6c: 10800183 ldbu r2,6(r2) 1e70: 10c03fcc andi r3,r2,255 1e74: 18c0201c xori r3,r3,128 1e78: 18ffe004 addi r3,r3,-128 1e7c: e0bffe07 ldb r2,-8(fp) 1e80: 1880011e bne r3,r2,1e88 <inst_jieq+0x3c> inc_pc(); 1e84: 00027bc0 call 27bc <inc_pc> } } 1e88: e037883a mov sp,fp 1e8c: dfc00117 ldw ra,4(sp) 1e90: df000017 ldw fp,0(sp) 1e94: dec00204 addi sp,sp,8 1e98: f800283a ret 00001e9c <inst_jine>: void inst_jine(char im, unsigned char memory_index){ 1e9c: defffc04 addi sp,sp,-16 1ea0: dfc00315 stw ra,12(sp) 1ea4: df000215 stw fp,8(sp) 1ea8: df000204 addi fp,sp,8 1eac: e13ffe05 stb r4,-8(fp) 1eb0: e17fff05 stb r5,-4(fp) if(global_registers[Sflg]!=im){ 1eb4: 00800074 movhi r2,1 1eb8: 1090cd04 addi r2,r2,17204 1ebc: 10800183 ldbu r2,6(r2) 1ec0: 10c03fcc andi r3,r2,255 1ec4: 18c0201c xori r3,r3,128 1ec8: 18ffe004 addi r3,r3,-128 1ecc: e0bffe07 ldb r2,-8(fp) 1ed0: 18800126 beq r3,r2,1ed8 <inst_jine+0x3c> inc_pc(); 1ed4: 00027bc0 call 27bc <inc_pc> } } 1ed8: e037883a mov sp,fp 1edc: dfc00117 ldw ra,4(sp) 1ee0: df000017 ldw fp,0(sp) 1ee4: dec00204 addi sp,sp,8 1ee8: f800283a ret 00001eec <lcd_init>: #include <unistd.h> #include "system.h" #include "LCD.h" // LCDの初期化 void lcd_init() { 1eec: defffe04 addi sp,sp,-8 1ef0: dfc00115 stw ra,4(sp) 1ef4: df000015 stw fp,0(sp) 1ef8: d839883a mov fp,sp *lcd_on = 1; 1efc: 00c00134 movhi r3,4 1f00: 18c40404 addi r3,r3,4112 1f04: 00800044 movi r2,1 1f08: 18800005 stb r2,0(r3) *lcd_blon = 1; 1f0c: 00c00134 movhi r3,4 1f10: 18c40804 addi r3,r3,4128 1f14: 00800044 movi r2,1 1f18: 18800005 stb r2,0(r3) LCD_Init(); 1f1c: 00001f00 call 1f0 <LCD_Init> } 1f20: e037883a mov sp,fp 1f24: dfc00117 ldw ra,4(sp) 1f28: df000017 ldw fp,0(sp) 1f2c: dec00204 addi sp,sp,8 1f30: f800283a ret 00001f34 <lcd_caret_reset>: // LCDのキャレットを1行目のはじめに移動する void lcd_caret_reset() { 1f34: defffe04 addi sp,sp,-8 1f38: dfc00115 stw ra,4(sp) 1f3c: df000015 stw fp,0(sp) 1f40: d839883a mov fp,sp LCD_Init(); 1f44: 00001f00 call 1f0 <LCD_Init> } 1f48: e037883a mov sp,fp 1f4c: dfc00117 ldw ra,4(sp) 1f50: df000017 ldw fp,0(sp) 1f54: dec00204 addi sp,sp,8 1f58: f800283a ret 00001f5c <lcd_caret_reset2>: // LCDのキャレットを2行目のはじめに移動する void lcd_caret_reset2() { 1f5c: defffe04 addi sp,sp,-8 1f60: dfc00115 stw ra,4(sp) 1f64: df000015 stw fp,0(sp) 1f68: d839883a mov fp,sp LCD_Line2(); 1f6c: 00003140 call 314 <LCD_Line2> } 1f70: e037883a mov sp,fp 1f74: dfc00117 ldw ra,4(sp) 1f78: df000017 ldw fp,0(sp) 1f7c: dec00204 addi sp,sp,8 1f80: f800283a ret 00001f84 <lcd_print>: // LCDに文字を表示する void lcd_print(const char *str) { 1f84: defffd04 addi sp,sp,-12 1f88: dfc00215 stw ra,8(sp) 1f8c: df000115 stw fp,4(sp) 1f90: df000104 addi fp,sp,4 1f94: e13fff15 stw r4,-4(fp) LCD_Show_Text(str); 1f98: e13fff17 ldw r4,-4(fp) 1f9c: 000028c0 call 28c <LCD_Show_Text> } 1fa0: e037883a mov sp,fp 1fa4: dfc00117 ldw ra,4(sp) 1fa8: df000017 ldw fp,0(sp) 1fac: dec00204 addi sp,sp,8 1fb0: f800283a ret 00001fb4 <display_inst>: #include "sys_debug.h" #include <stdio.h> #include "lcd_out.h" #include <unistd.h> void display_inst(struct InstRec inst, unsigned int pc) { 1fb4: defff504 addi sp,sp,-44 1fb8: dfc00a15 stw ra,40(sp) 1fbc: df000915 stw fp,36(sp) 1fc0: df000904 addi fp,sp,36 1fc4: e13ffe15 stw r4,-8(fp) 1fc8: e17fff15 stw r5,-4(fp) char inst_name[INST_NAME_ARRAY_LEN]; // 命令名 char reg_name[REG_NAME_ARRAY_LEN]; // レジスタ名 char buf[17]; // 命令の名前の取得 convertInstName(inst_name, inst.inst); 1fcc: e0bffe17 ldw r2,-8(fp) 1fd0: 108003cc andi r2,r2,15 1fd4: 11403fcc andi r5,r2,255 1fd8: e13ff704 addi r4,fp,-36 1fdc: 000223c0 call 223c <convertInstName> // レジスタの名前の取得 convertRegName(reg_name, inst.regi); 1fe0: e0bffe17 ldw r2,-8(fp) 1fe4: 1004d23a srli r2,r2,8 1fe8: 108003cc andi r2,r2,15 1fec: 11403fcc andi r5,r2,255 1ff0: e13ff844 addi r4,fp,-31 1ff4: 00020cc0 call 20cc <convertRegName> lcd_caret_reset(); 1ff8: 0001f340 call 1f34 <lcd_caret_reset> sprintf(buf, "PC:0x%02x -> %4s",pc,inst_name); 1ffc: e13ff944 addi r4,fp,-27 2000: 01400074 movhi r5,1 2004: 29401e04 addi r5,r5,120 2008: e1bfff17 ldw r6,-4(fp) 200c: e1fff704 addi r7,fp,-36 2010: 0002c5c0 call 2c5c <sprintf> lcd_print(buf); 2014: e13ff944 addi r4,fp,-27 2018: 0001f840 call 1f84 <lcd_print> lcd_caret_reset2(); 201c: 0001f5c0 call 1f5c <lcd_caret_reset2> sprintf(buf, "REG:%3s,MEM:0x%1x",reg_name,inst.memi); 2020: e0bffe17 ldw r2,-8(fp) 2024: 1004d13a srli r2,r2,4 2028: 108003cc andi r2,r2,15 202c: 11c03fcc andi r7,r2,255 2030: e13ff944 addi r4,fp,-27 2034: e1bff844 addi r6,fp,-31 2038: 01400074 movhi r5,1 203c: 29402304 addi r5,r5,140 2040: 0002c5c0 call 2c5c <sprintf> lcd_print(buf); 2044: e13ff944 addi r4,fp,-27 2048: 0001f840 call 1f84 <lcd_print> } 204c: e037883a mov sp,fp 2050: dfc00117 ldw ra,4(sp) 2054: df000017 ldw fp,0(sp) 2058: dec00204 addi sp,sp,8 205c: f800283a ret 00002060 <display_mem>: void display_mem(unsigned char memi, char memv) { 2060: defff704 addi sp,sp,-36 2064: dfc00815 stw ra,32(sp) 2068: df000715 stw fp,28(sp) 206c: df000704 addi fp,sp,28 2070: e13ffe05 stb r4,-8(fp) 2074: e17fff05 stb r5,-4(fp) char buf[17]; lcd_caret_reset(); 2078: 0001f340 call 1f34 <lcd_caret_reset> sprintf(buf, "MEM:0x%1x",memi); 207c: e1bffe03 ldbu r6,-8(fp) 2080: e13ff904 addi r4,fp,-28 2084: 01400074 movhi r5,1 2088: 29402804 addi r5,r5,160 208c: 0002c5c0 call 2c5c <sprintf> lcd_print(buf); 2090: e13ff904 addi r4,fp,-28 2094: 0001f840 call 1f84 <lcd_print> lcd_caret_reset2(); 2098: 0001f5c0 call 1f5c <lcd_caret_reset2> sprintf(buf, "value:%d",memv); 209c: e1bfff07 ldb r6,-4(fp) 20a0: e13ff904 addi r4,fp,-28 20a4: 01400074 movhi r5,1 20a8: 29402b04 addi r5,r5,172 20ac: 0002c5c0 call 2c5c <sprintf> lcd_print(buf); 20b0: e13ff904 addi r4,fp,-28 20b4: 0001f840 call 1f84 <lcd_print> } 20b8: e037883a mov sp,fp 20bc: dfc00117 ldw ra,4(sp) 20c0: df000017 ldw fp,0(sp) 20c4: dec00204 addi sp,sp,8 20c8: f800283a ret 000020cc <convertRegName>: void convertRegName(char reg_name[REG_NAME_ARRAY_LEN], enum Register reg_code) { 20cc: defffd04 addi sp,sp,-12 20d0: df000215 stw fp,8(sp) 20d4: df000204 addi fp,sp,8 20d8: e13ffe15 stw r4,-8(fp) 20dc: e17fff15 stw r5,-4(fp) switch(reg_code) { 20e0: e0bfff17 ldw r2,-4(fp) 20e4: 108001e8 cmpgeui r2,r2,7 20e8: 1000481e bne r2,zero,220c <convertRegName+0x140> 20ec: e0bfff17 ldw r2,-4(fp) 20f0: 1085883a add r2,r2,r2 20f4: 1087883a add r3,r2,r2 20f8: 00800034 movhi r2,0 20fc: 10884304 addi r2,r2,8460 2100: 1885883a add r2,r3,r2 2104: 10800017 ldw r2,0(r2) 2108: 1000683a jmp r2 210c: 00002128 cmpgeui zero,zero,132 2110: 00002144 movi zero,133 2114: 00002160 cmpeqi zero,zero,133 2118: 0000217c xorhi zero,zero,133 211c: 000021a0 cmpeqi zero,zero,134 2120: 000021c4 movi zero,135 2124: 000021e8 cmpgeui zero,zero,135 case Szero: sprintf(reg_name, STRING_REG_ZERO); 2128: e0bffe17 ldw r2,-8(fp) 212c: 00c01684 movi r3,90 2130: 10c00005 stb r3,0(r2) 2134: 00c01144 movi r3,69 2138: 10c00045 stb r3,1(r2) 213c: 10000085 stb zero,2(r2) break; 2140: 00003a06 br 222c <convertRegName+0x160> case Spc: sprintf(reg_name, STRING_REG_PC); 2144: e0bffe17 ldw r2,-8(fp) 2148: 00c01404 movi r3,80 214c: 10c00005 stb r3,0(r2) 2150: 00c010c4 movi r3,67 2154: 10c00045 stb r3,1(r2) 2158: 10000085 stb zero,2(r2) break; 215c: 00003306 br 222c <convertRegName+0x160> case Ssp: sprintf(reg_name, STRING_REG_SP); 2160: e0bffe17 ldw r2,-8(fp) 2164: 00c014c4 movi r3,83 2168: 10c00005 stb r3,0(r2) 216c: 00c01404 movi r3,80 2170: 10c00045 stb r3,1(r2) 2174: 10000085 stb zero,2(r2) break; 2178: 00002c06 br 222c <convertRegName+0x160> case Sgp0: sprintf(reg_name, STRING_REG_GP0); 217c: e0fffe17 ldw r3,-8(fp) 2180: 008011c4 movi r2,71 2184: 18800005 stb r2,0(r3) 2188: 00801404 movi r2,80 218c: 18800045 stb r2,1(r3) 2190: 00800c04 movi r2,48 2194: 18800085 stb r2,2(r3) 2198: 180000c5 stb zero,3(r3) break; 219c: 00002306 br 222c <convertRegName+0x160> case Sgp1: sprintf(reg_name, STRING_REG_GP1); 21a0: e0fffe17 ldw r3,-8(fp) 21a4: 008011c4 movi r2,71 21a8: 18800005 stb r2,0(r3) 21ac: 00801404 movi r2,80 21b0: 18800045 stb r2,1(r3) 21b4: 00800c44 movi r2,49 21b8: 18800085 stb r2,2(r3) 21bc: 180000c5 stb zero,3(r3) break; 21c0: 00001a06 br 222c <convertRegName+0x160> case Sacc: sprintf(reg_name, STRING_REG_ACC); 21c4: e0fffe17 ldw r3,-8(fp) 21c8: 00801044 movi r2,65 21cc: 18800005 stb r2,0(r3) 21d0: 008010c4 movi r2,67 21d4: 18800045 stb r2,1(r3) 21d8: 008010c4 movi r2,67 21dc: 18800085 stb r2,2(r3) 21e0: 180000c5 stb zero,3(r3) break; 21e4: 00001106 br 222c <convertRegName+0x160> case Sflg: sprintf(reg_name, STRING_REG_FLG); 21e8: e0fffe17 ldw r3,-8(fp) 21ec: 00801184 movi r2,70 21f0: 18800005 stb r2,0(r3) 21f4: 00801304 movi r2,76 21f8: 18800045 stb r2,1(r3) 21fc: 008011c4 movi r2,71 2200: 18800085 stb r2,2(r3) 2204: 180000c5 stb zero,3(r3) break; 2208: 00000806 br 222c <convertRegName+0x160> default: sprintf(reg_name, "non"); 220c: e0fffe17 ldw r3,-8(fp) 2210: 00801b84 movi r2,110 2214: 18800005 stb r2,0(r3) 2218: 00801bc4 movi r2,111 221c: 18800045 stb r2,1(r3) 2220: 00801b84 movi r2,110 2224: 18800085 stb r2,2(r3) 2228: 180000c5 stb zero,3(r3) break; } } 222c: e037883a mov sp,fp 2230: df000017 ldw fp,0(sp) 2234: dec00104 addi sp,sp,4 2238: f800283a ret 0000223c <convertInstName>: void convertInstName(char inst_name[INST_NAME_ARRAY_LEN], unsigned char inst_code) { 223c: defffc04 addi sp,sp,-16 2240: df000315 stw fp,12(sp) 2244: df000304 addi fp,sp,12 2248: e13ffd15 stw r4,-12(fp) 224c: e17ffe05 stb r5,-8(fp) switch(inst_code) { 2250: e0bffe03 ldbu r2,-8(fp) 2254: e0bfff15 stw r2,-4(fp) 2258: e0ffff17 ldw r3,-4(fp) 225c: 18800368 cmpgeui r2,r3,13 2260: 1000991e bne r2,zero,24c8 <convertInstName+0x28c> 2264: e13fff17 ldw r4,-4(fp) 2268: e13fff17 ldw r4,-4(fp) 226c: 2105883a add r2,r4,r4 2270: 1087883a add r3,r2,r2 2274: 00800034 movhi r2,0 2278: 1088a204 addi r2,r2,8840 227c: 1885883a add r2,r3,r2 2280: 10800017 ldw r2,0(r2) 2284: 1000683a jmp r2 2288: 000022bc xorhi zero,zero,138 228c: 000022e0 cmpeqi zero,zero,139 2290: 0000230c andi zero,zero,140 2294: 00002330 cmpltui zero,zero,140 2298: 0000235c xori zero,zero,141 229c: 00002388 cmpgei zero,zero,142 22a0: 000023b4 movhi zero,142 22a4: 000023fc xorhi zero,zero,143 22a8: 00002428 cmpgeui zero,zero,144 22ac: 0000244c andi zero,zero,145 22b0: 00002470 cmpltui zero,zero,145 22b4: 0000249c xori zero,zero,146 22b8: 000023d8 cmpnei zero,zero,143 case INST_END: sprintf(inst_name, STRING_INST_END); 22bc: e0fffd17 ldw r3,-12(fp) 22c0: 00801144 movi r2,69 22c4: 18800005 stb r2,0(r3) 22c8: 00801384 movi r2,78 22cc: 18800045 stb r2,1(r3) 22d0: 00801104 movi r2,68 22d4: 18800085 stb r2,2(r3) 22d8: 180000c5 stb zero,3(r3) break; 22dc: 00008406 br 24f0 <convertInstName+0x2b4> case INST_JUMP: sprintf(inst_name, STRING_INST_JUMP); 22e0: e0fffd17 ldw r3,-12(fp) 22e4: 00801284 movi r2,74 22e8: 18800005 stb r2,0(r3) 22ec: 00801544 movi r2,85 22f0: 18800045 stb r2,1(r3) 22f4: 00801344 movi r2,77 22f8: 18800085 stb r2,2(r3) 22fc: 00801404 movi r2,80 2300: 188000c5 stb r2,3(r3) 2304: 18000105 stb zero,4(r3) break; 2308: 00007906 br 24f0 <convertInstName+0x2b4> case INST_OUTPUT: sprintf(inst_name, STRING_INST_OUTPUT); 230c: e0fffd17 ldw r3,-12(fp) 2310: 008013c4 movi r2,79 2314: 18800005 stb r2,0(r3) 2318: 00801544 movi r2,85 231c: 18800045 stb r2,1(r3) 2320: 00801504 movi r2,84 2324: 18800085 stb r2,2(r3) 2328: 180000c5 stb zero,3(r3) break; 232c: 00007006 br 24f0 <convertInstName+0x2b4> case INST_LOAD: sprintf(inst_name, STRING_INST_LOAD); 2330: e0fffd17 ldw r3,-12(fp) 2334: 00801304 movi r2,76 2338: 18800005 stb r2,0(r3) 233c: 008013c4 movi r2,79 2340: 18800045 stb r2,1(r3) 2344: 00801044 movi r2,65 2348: 18800085 stb r2,2(r3) 234c: 00801104 movi r2,68 2350: 188000c5 stb r2,3(r3) 2354: 18000105 stb zero,4(r3) break; 2358: 00006506 br 24f0 <convertInstName+0x2b4> case INST_STORE: sprintf(inst_name, STRING_INST_STORE); 235c: e0fffd17 ldw r3,-12(fp) 2360: 008014c4 movi r2,83 2364: 18800005 stb r2,0(r3) 2368: 00801504 movi r2,84 236c: 18800045 stb r2,1(r3) 2370: 008013c4 movi r2,79 2374: 18800085 stb r2,2(r3) 2378: 00801484 movi r2,82 237c: 188000c5 stb r2,3(r3) 2380: 18000105 stb zero,4(r3) break; 2384: 00005a06 br 24f0 <convertInstName+0x2b4> case INST_DELAY: sprintf(inst_name, STRING_INST_DELAY); 2388: e0fffd17 ldw r3,-12(fp) 238c: 00801104 movi r2,68 2390: 18800005 stb r2,0(r3) 2394: 00801144 movi r2,69 2398: 18800045 stb r2,1(r3) 239c: 00801304 movi r2,76 23a0: 18800085 stb r2,2(r3) 23a4: 00801644 movi r2,89 23a8: 188000c5 stb r2,3(r3) 23ac: 18000105 stb zero,4(r3) break; 23b0: 00004f06 br 24f0 <convertInstName+0x2b4> case INST_ADD: sprintf(inst_name, STRING_INST_ADD); 23b4: e0fffd17 ldw r3,-12(fp) 23b8: 00801044 movi r2,65 23bc: 18800005 stb r2,0(r3) 23c0: 00801104 movi r2,68 23c4: 18800045 stb r2,1(r3) 23c8: 00801104 movi r2,68 23cc: 18800085 stb r2,2(r3) 23d0: 180000c5 stb zero,3(r3) break; 23d4: 00004606 br 24f0 <convertInstName+0x2b4> case INST_SUB: sprintf(inst_name, STRING_INST_SUB); 23d8: e0fffd17 ldw r3,-12(fp) 23dc: 008014c4 movi r2,83 23e0: 18800005 stb r2,0(r3) 23e4: 00801544 movi r2,85 23e8: 18800045 stb r2,1(r3) 23ec: 00801084 movi r2,66 23f0: 18800085 stb r2,2(r3) 23f4: 180000c5 stb zero,3(r3) break; 23f8: 00003d06 br 24f0 <convertInstName+0x2b4> case INST_COMP: sprintf(inst_name, STRING_INST_COMP); 23fc: e0fffd17 ldw r3,-12(fp) 2400: 008010c4 movi r2,67 2404: 18800005 stb r2,0(r3) 2408: 008013c4 movi r2,79 240c: 18800045 stb r2,1(r3) 2410: 00801344 movi r2,77 2414: 18800085 stb r2,2(r3) 2418: 00801404 movi r2,80 241c: 188000c5 stb r2,3(r3) 2420: 18000105 stb zero,4(r3) break; 2424: 00003206 br 24f0 <convertInstName+0x2b4> case INST_JEQ: sprintf(inst_name, STRING_INST_JEQ); 2428: e0fffd17 ldw r3,-12(fp) 242c: 00801284 movi r2,74 2430: 18800005 stb r2,0(r3) 2434: 00801144 movi r2,69 2438: 18800045 stb r2,1(r3) 243c: 00801444 movi r2,81 2440: 18800085 stb r2,2(r3) 2444: 180000c5 stb zero,3(r3) break; 2448: 00002906 br 24f0 <convertInstName+0x2b4> case INST_JNE: sprintf(inst_name, STRING_INST_JNE); 244c: e0fffd17 ldw r3,-12(fp) 2450: 00801284 movi r2,74 2454: 18800005 stb r2,0(r3) 2458: 00801384 movi r2,78 245c: 18800045 stb r2,1(r3) 2460: 00801144 movi r2,69 2464: 18800085 stb r2,2(r3) 2468: 180000c5 stb zero,3(r3) break; 246c: 00002006 br 24f0 <convertInstName+0x2b4> case INST_JIEQ: sprintf(inst_name, STRING_INST_JIEQ); 2470: e0fffd17 ldw r3,-12(fp) 2474: 00801284 movi r2,74 2478: 18800005 stb r2,0(r3) 247c: 00801244 movi r2,73 2480: 18800045 stb r2,1(r3) 2484: 00801144 movi r2,69 2488: 18800085 stb r2,2(r3) 248c: 00801444 movi r2,81 2490: 188000c5 stb r2,3(r3) 2494: 18000105 stb zero,4(r3) break; 2498: 00001506 br 24f0 <convertInstName+0x2b4> case INST_JINE: sprintf(inst_name, STRING_INST_JINE); 249c: e0fffd17 ldw r3,-12(fp) 24a0: 00801284 movi r2,74 24a4: 18800005 stb r2,0(r3) 24a8: 00801244 movi r2,73 24ac: 18800045 stb r2,1(r3) 24b0: 00801384 movi r2,78 24b4: 18800085 stb r2,2(r3) 24b8: 00801144 movi r2,69 24bc: 188000c5 stb r2,3(r3) 24c0: 18000105 stb zero,4(r3) break; 24c4: 00000a06 br 24f0 <convertInstName+0x2b4> default: sprintf(inst_name, "NoOp"); 24c8: e0fffd17 ldw r3,-12(fp) 24cc: 00801384 movi r2,78 24d0: 18800005 stb r2,0(r3) 24d4: 00801bc4 movi r2,111 24d8: 18800045 stb r2,1(r3) 24dc: 008013c4 movi r2,79 24e0: 18800085 stb r2,2(r3) 24e4: 00801c04 movi r2,112 24e8: 188000c5 stb r2,3(r3) 24ec: 18000105 stb zero,4(r3) break; } } 24f0: e037883a mov sp,fp 24f4: df000017 ldw fp,0(sp) 24f8: dec00104 addi sp,sp,4 24fc: f800283a ret 00002500 <delay10ms>: void delay10ms(unsigned int s) { 2500: defffd04 addi sp,sp,-12 2504: dfc00215 stw ra,8(sp) 2508: df000115 stw fp,4(sp) 250c: df000104 addi fp,sp,4 2510: e13fff15 stw r4,-4(fp) usleep(s*10000); 2514: e13fff17 ldw r4,-4(fp) 2518: 0149c404 movi r5,10000 251c: 0002c240 call 2c24 <__mulsi3> 2520: 1009883a mov r4,r2 2524: 000ce780 call ce78 <usleep> } 2528: e037883a mov sp,fp 252c: dfc00117 ldw ra,4(sp) 2530: df000017 ldw fp,0(sp) 2534: dec00204 addi sp,sp,8 2538: f800283a ret 0000253c <panic>: * Author: takayun */ #include "system.h" #include "hex_out.h" void panic() { 253c: defffe04 addi sp,sp,-8 2540: dfc00115 stw ra,4(sp) 2544: df000015 stw fp,0(sp) 2548: d839883a mov fp,sp clear_block(HEX0_3); 254c: 0009883a mov r4,zero 2550: 00013480 call 1348 <clear_block> print_block("err ", 4, HEX0_3); 2554: 01000074 movhi r4,1 2558: 21002e04 addi r4,r4,184 255c: 01400104 movi r5,4 2560: 000d883a mov r6,zero 2564: 00011b80 call 11b8 <print_block> } 2568: e037883a mov sp,fp 256c: dfc00117 ldw ra,4(sp) 2570: df000017 ldw fp,0(sp) 2574: dec00204 addi sp,sp,8 2578: f800283a ret 0000257c <memory_init>: /************************************************** * Impl **************************************************/ void memory_init() { 257c: defffd04 addi sp,sp,-12 2580: df000215 stw fp,8(sp) 2584: df000204 addi fp,sp,8 int i, j; for (i = 0; i < MEMS_COUNT; i++) 2588: e03fff15 stw zero,-4(fp) 258c: 00001306 br 25dc <memory_init+0x60> for (j = 0; j < MEM_SIZE; j++) { 2590: e03ffe15 stw zero,-8(fp) 2594: 00000b06 br 25c4 <memory_init+0x48> memory[i][j] = 0; 2598: e0bfff17 ldw r2,-4(fp) 259c: e13ffe17 ldw r4,-8(fp) 25a0: 00c00074 movhi r3,1 25a4: 18cf8304 addi r3,r3,15884 25a8: 1004913a slli r2,r2,4 25ac: 10c5883a add r2,r2,r3 25b0: 1105883a add r2,r2,r4 25b4: 10000005 stb zero,0(r2) **************************************************/ void memory_init() { int i, j; for (i = 0; i < MEMS_COUNT; i++) for (j = 0; j < MEM_SIZE; j++) { 25b8: e0bffe17 ldw r2,-8(fp) 25bc: 10800044 addi r2,r2,1 25c0: e0bffe15 stw r2,-8(fp) 25c4: e0bffe17 ldw r2,-8(fp) 25c8: 10800410 cmplti r2,r2,16 25cc: 103ff21e bne r2,zero,2598 <memory_init+0x1c> * Impl **************************************************/ void memory_init() { int i, j; for (i = 0; i < MEMS_COUNT; i++) 25d0: e0bfff17 ldw r2,-4(fp) 25d4: 10800044 addi r2,r2,1 25d8: e0bfff15 stw r2,-4(fp) 25dc: e0bfff17 ldw r2,-4(fp) 25e0: 10800410 cmplti r2,r2,16 25e4: 103fea1e bne r2,zero,2590 <memory_init+0x14> for (j = 0; j < MEM_SIZE; j++) { memory[i][j] = 0; } } 25e8: e037883a mov sp,fp 25ec: df000017 ldw fp,0(sp) 25f0: dec00104 addi sp,sp,4 25f4: f800283a ret 000025f8 <inst_memory_store>: void inst_memory_store(unsigned int mem_addr, struct InstRec inst_rec){ 25f8: defffd04 addi sp,sp,-12 25fc: df000215 stw fp,8(sp) 2600: df000204 addi fp,sp,8 2604: e13ffe15 stw r4,-8(fp) 2608: e17fff15 stw r5,-4(fp) inst_memory[global_current_memory][mem_addr] = inst_rec; 260c: d0a6f917 ldw r2,-25628(gp) 2610: e0fffe17 ldw r3,-8(fp) 2614: 01000074 movhi r4,1 2618: 210fc304 addi r4,r4,16140 261c: 1004913a slli r2,r2,4 2620: 10c5883a add r2,r2,r3 2624: 1085883a add r2,r2,r2 2628: 1085883a add r2,r2,r2 262c: 1107883a add r3,r2,r4 2630: e0bfff17 ldw r2,-4(fp) 2634: 18800015 stw r2,0(r3) } 2638: e037883a mov sp,fp 263c: df000017 ldw fp,0(sp) 2640: dec00104 addi sp,sp,4 2644: f800283a ret 00002648 <inst_memory_load>: struct InstRec inst_memory_load(unsigned int mem_addr){ 2648: defffe04 addi sp,sp,-8 264c: df000115 stw fp,4(sp) 2650: df000104 addi fp,sp,4 2654: e13fff15 stw r4,-4(fp) return inst_memory[global_current_memory][mem_addr]; 2658: d0a6f917 ldw r2,-25628(gp) 265c: e0ffff17 ldw r3,-4(fp) 2660: 01000074 movhi r4,1 2664: 210fc304 addi r4,r4,16140 2668: 1004913a slli r2,r2,4 266c: 10c5883a add r2,r2,r3 2670: 1085883a add r2,r2,r2 2674: 1085883a add r2,r2,r2 2678: 1105883a add r2,r2,r4 267c: 10800017 ldw r2,0(r2) } 2680: e037883a mov sp,fp 2684: df000017 ldw fp,0(sp) 2688: dec00104 addi sp,sp,4 268c: f800283a ret 00002690 <memory_store>: char memory_store(unsigned int mem_addr, enum Register reg) { 2690: defffc04 addi sp,sp,-16 2694: dfc00315 stw ra,12(sp) 2698: df000215 stw fp,8(sp) 269c: df000204 addi fp,sp,8 26a0: e13ffe15 stw r4,-8(fp) 26a4: e17fff15 stw r5,-4(fp) if (!(mem_addr < MEM_SIZE)) panic(); 26a8: e0bffe17 ldw r2,-8(fp) 26ac: 10800430 cmpltui r2,r2,16 26b0: 1000011e bne r2,zero,26b8 <memory_store+0x28> 26b4: 000253c0 call 253c <panic> memory[global_current_memory][mem_addr] = global_registers[reg]; 26b8: d166f917 ldw r5,-25628(gp) 26bc: e1bffe17 ldw r6,-8(fp) 26c0: e0ffff17 ldw r3,-4(fp) 26c4: 00800074 movhi r2,1 26c8: 1090cd04 addi r2,r2,17204 26cc: 10c5883a add r2,r2,r3 26d0: 11000003 ldbu r4,0(r2) 26d4: 00c00074 movhi r3,1 26d8: 18cf8304 addi r3,r3,15884 26dc: 2804913a slli r2,r5,4 26e0: 10c5883a add r2,r2,r3 26e4: 1185883a add r2,r2,r6 26e8: 11000005 stb r4,0(r2) return memory[global_current_memory][mem_addr]; 26ec: d0a6f917 ldw r2,-25628(gp) 26f0: e13ffe17 ldw r4,-8(fp) 26f4: 00c00074 movhi r3,1 26f8: 18cf8304 addi r3,r3,15884 26fc: 1004913a slli r2,r2,4 2700: 10c5883a add r2,r2,r3 2704: 1105883a add r2,r2,r4 2708: 10800003 ldbu r2,0(r2) 270c: 10803fcc andi r2,r2,255 2710: 1080201c xori r2,r2,128 2714: 10bfe004 addi r2,r2,-128 } 2718: e037883a mov sp,fp 271c: dfc00117 ldw ra,4(sp) 2720: df000017 ldw fp,0(sp) 2724: dec00204 addi sp,sp,8 2728: f800283a ret 0000272c <memory_load>: char memory_load(unsigned int mem_addr, enum Register reg) { 272c: defffc04 addi sp,sp,-16 2730: dfc00315 stw ra,12(sp) 2734: df000215 stw fp,8(sp) 2738: df000204 addi fp,sp,8 273c: e13ffe15 stw r4,-8(fp) 2740: e17fff15 stw r5,-4(fp) if (!(mem_addr < MEM_SIZE)) panic(); 2744: e0bffe17 ldw r2,-8(fp) 2748: 10800430 cmpltui r2,r2,16 274c: 1000011e bne r2,zero,2754 <memory_load+0x28> 2750: 000253c0 call 253c <panic> global_registers[reg] = memory[global_current_memory][mem_addr]; 2754: e17fff17 ldw r5,-4(fp) 2758: d0a6f917 ldw r2,-25628(gp) 275c: e13ffe17 ldw r4,-8(fp) 2760: 00c00074 movhi r3,1 2764: 18cf8304 addi r3,r3,15884 2768: 1004913a slli r2,r2,4 276c: 10c5883a add r2,r2,r3 2770: 1105883a add r2,r2,r4 2774: 10c00003 ldbu r3,0(r2) 2778: 00800074 movhi r2,1 277c: 1090cd04 addi r2,r2,17204 2780: 1145883a add r2,r2,r5 2784: 10c00005 stb r3,0(r2) return global_registers[reg]; 2788: e0ffff17 ldw r3,-4(fp) 278c: 00800074 movhi r2,1 2790: 1090cd04 addi r2,r2,17204 2794: 10c5883a add r2,r2,r3 2798: 10800003 ldbu r2,0(r2) 279c: 10803fcc andi r2,r2,255 27a0: 1080201c xori r2,r2,128 27a4: 10bfe004 addi r2,r2,-128 } 27a8: e037883a mov sp,fp 27ac: dfc00117 ldw ra,4(sp) 27b0: df000017 ldw fp,0(sp) 27b4: dec00204 addi sp,sp,8 27b8: f800283a ret 000027bc <inc_pc>: #include "sys_register.h" #include "sys_memory.h" #include "hex_out.h" #include "lcd_out.h" unsigned int inc_pc() { 27bc: deffff04 addi sp,sp,-4 27c0: df000015 stw fp,0(sp) 27c4: d839883a mov fp,sp if ((unsigned char)global_registers[Spc]+1 < MEM_SIZE*MEMS_COUNT - global_current_memory*MEM_SIZE ) { 27c8: 00800074 movhi r2,1 27cc: 1090cd04 addi r2,r2,17204 27d0: 10800043 ldbu r2,1(r2) 27d4: 10803fcc andi r2,r2,255 27d8: 10800044 addi r2,r2,1 27dc: 1009883a mov r4,r2 27e0: 00800074 movhi r2,1 27e4: 108f7504 addi r2,r2,15828 27e8: 10800017 ldw r2,0(r2) 27ec: 1006913a slli r3,r2,4 27f0: 00804004 movi r2,256 27f4: 10c5c83a sub r2,r2,r3 27f8: 2080092e bgeu r4,r2,2820 <inc_pc+0x64> global_registers[Spc] = (unsigned char)global_registers[Spc] + 1; 27fc: 00800074 movhi r2,1 2800: 1090cd04 addi r2,r2,17204 2804: 10800043 ldbu r2,1(r2) 2808: 10800044 addi r2,r2,1 280c: 1007883a mov r3,r2 2810: 00800074 movhi r2,1 2814: 1090cd04 addi r2,r2,17204 2818: 10c00045 stb r3,1(r2) 281c: 00000306 br 282c <inc_pc+0x70> } else { global_registers[Spc] = 0; 2820: 00800074 movhi r2,1 2824: 1090cd04 addi r2,r2,17204 2828: 10000045 stb zero,1(r2) } return 0; 282c: 0005883a mov r2,zero } 2830: e037883a mov sp,fp 2834: df000017 ldw fp,0(sp) 2838: dec00104 addi sp,sp,4 283c: f800283a ret 00002840 <add_pc>: unsigned int add_pc(unsigned int cnt) { 2840: defffc04 addi sp,sp,-16 2844: dfc00315 stw ra,12(sp) 2848: df000215 stw fp,8(sp) 284c: df000204 addi fp,sp,8 2850: e13fff15 stw r4,-4(fp) int i; for (i = 0; i < cnt; i++) inc_pc(); 2854: e03ffe15 stw zero,-8(fp) 2858: 00000406 br 286c <add_pc+0x2c> 285c: 00027bc0 call 27bc <inc_pc> 2860: e0bffe17 ldw r2,-8(fp) 2864: 10800044 addi r2,r2,1 2868: e0bffe15 stw r2,-8(fp) 286c: e0fffe17 ldw r3,-8(fp) 2870: e0bfff17 ldw r2,-4(fp) 2874: 18bff936 bltu r3,r2,285c <add_pc+0x1c> return 0; 2878: 0005883a mov r2,zero } 287c: e037883a mov sp,fp 2880: dfc00117 ldw ra,4(sp) 2884: df000017 ldw fp,0(sp) 2888: dec00204 addi sp,sp,8 288c: f800283a ret 00002890 <set_pc>: unsigned int set_pc(unsigned int cnt) { 2890: defffe04 addi sp,sp,-8 2894: df000115 stw fp,4(sp) 2898: df000104 addi fp,sp,4 289c: e13fff15 stw r4,-4(fp) global_registers[Spc]=cnt; 28a0: e0bfff17 ldw r2,-4(fp) 28a4: 1007883a mov r3,r2 28a8: 00800074 movhi r2,1 28ac: 1090cd04 addi r2,r2,17204 28b0: 10c00045 stb r3,1(r2) return 0; 28b4: 0005883a mov r2,zero } 28b8: e037883a mov sp,fp 28bc: df000017 ldw fp,0(sp) 28c0: dec00104 addi sp,sp,4 28c4: f800283a ret 000028c8 <get_pc>: unsigned int get_pc() { 28c8: defffe04 addi sp,sp,-8 28cc: df000115 stw fp,4(sp) 28d0: df000104 addi fp,sp,4 if ((unsigned char)global_registers[Spc] < MEM_SIZE*MEMS_COUNT - global_current_memory*MEM_SIZE ) { 28d4: 00800074 movhi r2,1 28d8: 1090cd04 addi r2,r2,17204 28dc: 10800043 ldbu r2,1(r2) 28e0: 11003fcc andi r4,r2,255 28e4: 00800074 movhi r2,1 28e8: 108f7504 addi r2,r2,15828 28ec: 10800017 ldw r2,0(r2) 28f0: 1006913a slli r3,r2,4 28f4: 00804004 movi r2,256 28f8: 10c5c83a sub r2,r2,r3 28fc: 2080082e bgeu r4,r2,2920 <get_pc+0x58> return (unsigned int)global_registers[Spc]; 2900: 00800074 movhi r2,1 2904: 1090cd04 addi r2,r2,17204 2908: 10800043 ldbu r2,1(r2) 290c: 10803fcc andi r2,r2,255 2910: 1080201c xori r2,r2,128 2914: 10bfe004 addi r2,r2,-128 2918: e0bfff15 stw r2,-4(fp) 291c: 00000106 br 2924 <get_pc+0x5c> } else { return 0; 2920: e03fff15 stw zero,-4(fp) 2924: e0bfff17 ldw r2,-4(fp) } } 2928: e037883a mov sp,fp 292c: df000017 ldw fp,0(sp) 2930: dec00104 addi sp,sp,4 2934: f800283a ret 00002938 <run_proc>: enum RunMode run_proc(enum RunMode mode) { 2938: defff904 addi sp,sp,-28 293c: dfc00615 stw ra,24(sp) 2940: df000515 stw fp,20(sp) 2944: df000504 addi fp,sp,20 2948: e13ffe15 stw r4,-8(fp) volatile struct InstRec inst_rec; if (RUN_INIT == mode) { 294c: e0bffe17 ldw r2,-8(fp) 2950: 10800058 cmpnei r2,r2,1 2954: 1000101e bne r2,zero,2998 <run_proc+0x60> lcd_caret_reset(); 2958: 0001f340 call 1f34 <lcd_caret_reset> lcd_print("Run...now"); 295c: 01000074 movhi r4,1 2960: 21003004 addi r4,r4,192 2964: 0001f840 call 1f84 <lcd_print> global_registers[Spc] = 0; 2968: 00800074 movhi r2,1 296c: 1090cd04 addi r2,r2,17204 2970: 10000045 stb zero,1(r2) clear_block(HEX0_3); clear_block(HEX4_5); clear_block(HEX6_7); 2974: 0009883a mov r4,zero 2978: 00013480 call 1348 <clear_block> 297c: 01000044 movi r4,1 2980: 00013480 call 1348 <clear_block> 2984: 01000084 movi r4,2 2988: 00013480 call 1348 <clear_block> // プログラム実行中へ遷移 return RUN_PROC; 298c: 00800084 movi r2,2 2990: e0bfff15 stw r2,-4(fp) 2994: 00003606 br 2a70 <run_proc+0x138> } if (RUN_PROC == mode) { 2998: e0bffe17 ldw r2,-8(fp) 299c: 10800098 cmpnei r2,r2,2 29a0: 1000291e bne r2,zero,2a48 <run_proc+0x110> // 命令フェッチ inst_rec = inst_fetch(); 29a4: 00017900 call 1790 <inst_fetch> 29a8: e0bffb15 stw r2,-20(fp) // 命令デコード実行 inst_decode(inst_rec); 29ac: e13ffb17 ldw r4,-20(fp) 29b0: 00017dc0 call 17dc <inst_decode> // pc表示 { char buf[5]; sprintf(buf, "%02x", (unsigned char)global_registers[Spc]); 29b4: 00800074 movhi r2,1 29b8: 1090cd04 addi r2,r2,17204 29bc: 10800043 ldbu r2,1(r2) 29c0: 11803fcc andi r6,r2,255 29c4: e13ffc04 addi r4,fp,-16 29c8: 01400074 movhi r5,1 29cc: 29403304 addi r5,r5,204 29d0: 0002c5c0 call 2c5c <sprintf> print_block("pc", 2, HEX6_7); 29d4: 01000074 movhi r4,1 29d8: 21003504 addi r4,r4,212 29dc: 01400084 movi r5,2 29e0: 01800084 movi r6,2 29e4: 00011b80 call 11b8 <print_block> print_block(buf, 2, HEX4_5); 29e8: e13ffc04 addi r4,fp,-16 29ec: 01400084 movi r5,2 29f0: 01800044 movi r6,1 29f4: 00011b80 call 11b8 <print_block> } // デバック用 if ( global_registers[Ssw_run] ) delay10ms(100U); 29f8: 00800074 movhi r2,1 29fc: 1090cd04 addi r2,r2,17204 2a00: 10800343 ldbu r2,13(r2) 2a04: 10803fcc andi r2,r2,255 2a08: 1080201c xori r2,r2,128 2a0c: 10bfe004 addi r2,r2,-128 2a10: 1005003a cmpeq r2,r2,zero 2a14: 1000021e bne r2,zero,2a20 <run_proc+0xe8> 2a18: 01001904 movi r4,100 2a1c: 00025000 call 2500 <delay10ms> // プログラム終了判定 if (inst_rec.inst != INST_END) return RUN_PROC; 2a20: e0bffb17 ldw r2,-20(fp) 2a24: 108003cc andi r2,r2,15 2a28: 1005003a cmpeq r2,r2,zero 2a2c: 1000031e bne r2,zero,2a3c <run_proc+0x104> 2a30: 00800084 movi r2,2 2a34: e0bfff15 stw r2,-4(fp) 2a38: 00000d06 br 2a70 <run_proc+0x138> return RUN_TERM; 2a3c: 008000c4 movi r2,3 2a40: e0bfff15 stw r2,-4(fp) 2a44: 00000a06 br 2a70 <run_proc+0x138> } if (RUN_TERM == mode) { 2a48: e0bffe17 ldw r2,-8(fp) 2a4c: 108000d8 cmpnei r2,r2,3 2a50: 1000061e bne r2,zero,2a6c <run_proc+0x134> lcd_caret_reset(); 2a54: 0001f340 call 1f34 <lcd_caret_reset> lcd_print("Run...Exit"); 2a58: 01000074 movhi r4,1 2a5c: 21003604 addi r4,r4,216 2a60: 0001f840 call 1f84 <lcd_print> return RUN_STOP; 2a64: e03fff15 stw zero,-4(fp) 2a68: 00000106 br 2a70 <run_proc+0x138> } // Default return RUN_STOP; 2a6c: e03fff15 stw zero,-4(fp) 2a70: e0bfff17 ldw r2,-4(fp) } 2a74: e037883a mov sp,fp 2a78: dfc00117 ldw ra,4(sp) 2a7c: df000017 ldw fp,0(sp) 2a80: dec00204 addi sp,sp,8 2a84: f800283a ret 00002a88 <registers_init>: */ #include "sys_register.h" char global_registers[REG_MAX_COUNT]; void registers_init() { 2a88: defffe04 addi sp,sp,-8 2a8c: df000115 stw fp,4(sp) 2a90: df000104 addi fp,sp,4 int i; for (i = 0; i < REG_MAX_COUNT; i++) global_registers[i] = 0; 2a94: e03fff15 stw zero,-4(fp) 2a98: 00000806 br 2abc <registers_init+0x34> 2a9c: e0ffff17 ldw r3,-4(fp) 2aa0: 00800074 movhi r2,1 2aa4: 1090cd04 addi r2,r2,17204 2aa8: 10c5883a add r2,r2,r3 2aac: 10000005 stb zero,0(r2) 2ab0: e0bfff17 ldw r2,-4(fp) 2ab4: 10800044 addi r2,r2,1 2ab8: e0bfff15 stw r2,-4(fp) 2abc: e0bfff17 ldw r2,-4(fp) 2ac0: 108003d0 cmplti r2,r2,15 2ac4: 103ff51e bne r2,zero,2a9c <registers_init+0x14> } 2ac8: e037883a mov sp,fp 2acc: df000017 ldw fp,0(sp) 2ad0: dec00104 addi sp,sp,4 2ad4: f800283a ret 00002ad8 <udivmodsi4>: 2ad8: 29001b2e bgeu r5,r4,2b48 <udivmodsi4+0x70> 2adc: 28001a16 blt r5,zero,2b48 <udivmodsi4+0x70> 2ae0: 00800044 movi r2,1 2ae4: 0007883a mov r3,zero 2ae8: 01c007c4 movi r7,31 2aec: 00000306 br 2afc <udivmodsi4+0x24> 2af0: 19c01326 beq r3,r7,2b40 <udivmodsi4+0x68> 2af4: 18c00044 addi r3,r3,1 2af8: 28000416 blt r5,zero,2b0c <udivmodsi4+0x34> 2afc: 294b883a add r5,r5,r5 2b00: 1085883a add r2,r2,r2 2b04: 293ffa36 bltu r5,r4,2af0 <udivmodsi4+0x18> 2b08: 10000d26 beq r2,zero,2b40 <udivmodsi4+0x68> 2b0c: 0007883a mov r3,zero 2b10: 21400236 bltu r4,r5,2b1c <udivmodsi4+0x44> 2b14: 2149c83a sub r4,r4,r5 2b18: 1886b03a or r3,r3,r2 2b1c: 1004d07a srli r2,r2,1 2b20: 280ad07a srli r5,r5,1 2b24: 103ffa1e bne r2,zero,2b10 <udivmodsi4+0x38> 2b28: 30000226 beq r6,zero,2b34 <udivmodsi4+0x5c> 2b2c: 2005883a mov r2,r4 2b30: f800283a ret 2b34: 1809883a mov r4,r3 2b38: 2005883a mov r2,r4 2b3c: f800283a ret 2b40: 0007883a mov r3,zero 2b44: 003ff806 br 2b28 <udivmodsi4+0x50> 2b48: 00800044 movi r2,1 2b4c: 0007883a mov r3,zero 2b50: 003fef06 br 2b10 <udivmodsi4+0x38> 00002b54 <__divsi3>: 2b54: defffe04 addi sp,sp,-8 2b58: dc000015 stw r16,0(sp) 2b5c: dfc00115 stw ra,4(sp) 2b60: 0021883a mov r16,zero 2b64: 20000c16 blt r4,zero,2b98 <__divsi3+0x44> 2b68: 000d883a mov r6,zero 2b6c: 28000e16 blt r5,zero,2ba8 <__divsi3+0x54> 2b70: 0002ad80 call 2ad8 <udivmodsi4> 2b74: 1007883a mov r3,r2 2b78: 8005003a cmpeq r2,r16,zero 2b7c: 1000011e bne r2,zero,2b84 <__divsi3+0x30> 2b80: 00c7c83a sub r3,zero,r3 2b84: 1805883a mov r2,r3 2b88: dfc00117 ldw ra,4(sp) 2b8c: dc000017 ldw r16,0(sp) 2b90: dec00204 addi sp,sp,8 2b94: f800283a ret 2b98: 0109c83a sub r4,zero,r4 2b9c: 04000044 movi r16,1 2ba0: 000d883a mov r6,zero 2ba4: 283ff20e bge r5,zero,2b70 <__divsi3+0x1c> 2ba8: 014bc83a sub r5,zero,r5 2bac: 8021003a cmpeq r16,r16,zero 2bb0: 003fef06 br 2b70 <__divsi3+0x1c> 00002bb4 <__modsi3>: 2bb4: deffff04 addi sp,sp,-4 2bb8: dfc00015 stw ra,0(sp) 2bbc: 01800044 movi r6,1 2bc0: 2807883a mov r3,r5 2bc4: 20000416 blt r4,zero,2bd8 <__modsi3+0x24> 2bc8: 28000c16 blt r5,zero,2bfc <__modsi3+0x48> 2bcc: dfc00017 ldw ra,0(sp) 2bd0: dec00104 addi sp,sp,4 2bd4: 0002ad81 jmpi 2ad8 <udivmodsi4> 2bd8: 0109c83a sub r4,zero,r4 2bdc: 28000b16 blt r5,zero,2c0c <__modsi3+0x58> 2be0: 180b883a mov r5,r3 2be4: 01800044 movi r6,1 2be8: 0002ad80 call 2ad8 <udivmodsi4> 2bec: 0085c83a sub r2,zero,r2 2bf0: dfc00017 ldw ra,0(sp) 2bf4: dec00104 addi sp,sp,4 2bf8: f800283a ret 2bfc: 014bc83a sub r5,zero,r5 2c00: dfc00017 ldw ra,0(sp) 2c04: dec00104 addi sp,sp,4 2c08: 0002ad81 jmpi 2ad8 <udivmodsi4> 2c0c: 0147c83a sub r3,zero,r5 2c10: 003ff306 br 2be0 <__modsi3+0x2c> 00002c14 <__udivsi3>: 2c14: 000d883a mov r6,zero 2c18: 0002ad81 jmpi 2ad8 <udivmodsi4> 00002c1c <__umodsi3>: 2c1c: 01800044 movi r6,1 2c20: 0002ad81 jmpi 2ad8 <udivmodsi4> 00002c24 <__mulsi3>: 2c24: 20000a26 beq r4,zero,2c50 <__mulsi3+0x2c> 2c28: 0007883a mov r3,zero 2c2c: 2080004c andi r2,r4,1 2c30: 1005003a cmpeq r2,r2,zero 2c34: 2008d07a srli r4,r4,1 2c38: 1000011e bne r2,zero,2c40 <__mulsi3+0x1c> 2c3c: 1947883a add r3,r3,r5 2c40: 294b883a add r5,r5,r5 2c44: 203ff91e bne r4,zero,2c2c <__mulsi3+0x8> 2c48: 1805883a mov r2,r3 2c4c: f800283a ret 2c50: 0007883a mov r3,zero 2c54: 1805883a mov r2,r3 2c58: f800283a ret 00002c5c <sprintf>: 2c5c: deffe504 addi sp,sp,-108 2c60: 2013883a mov r9,r4 2c64: dfc01815 stw ra,96(sp) 2c68: d9801915 stw r6,100(sp) 2c6c: d9c01a15 stw r7,104(sp) 2c70: d8801904 addi r2,sp,100 2c74: d8800015 stw r2,0(sp) 2c78: 00800074 movhi r2,1 2c7c: 10887e04 addi r2,r2,8696 2c80: 11000017 ldw r4,0(r2) 2c84: d9c00017 ldw r7,0(sp) 2c88: 00808204 movi r2,520 2c8c: 00e00034 movhi r3,32768 2c90: 18ffffc4 addi r3,r3,-1 2c94: 280d883a mov r6,r5 2c98: d880040d sth r2,16(sp) 2c9c: d9400104 addi r5,sp,4 2ca0: 00bfffc4 movi r2,-1 2ca4: d8c00615 stw r3,24(sp) 2ca8: d8c00315 stw r3,12(sp) 2cac: da400515 stw r9,20(sp) 2cb0: d880048d sth r2,18(sp) 2cb4: da400115 stw r9,4(sp) 2cb8: 0002dfc0 call 2dfc <___vfprintf_internal_r> 2cbc: d8c00117 ldw r3,4(sp) 2cc0: 18000005 stb zero,0(r3) 2cc4: dfc01817 ldw ra,96(sp) 2cc8: dec01b04 addi sp,sp,108 2ccc: f800283a ret 00002cd0 <_sprintf_r>: 2cd0: deffe604 addi sp,sp,-104 2cd4: 2813883a mov r9,r5 2cd8: dfc01815 stw ra,96(sp) 2cdc: d9c01915 stw r7,100(sp) 2ce0: d8801904 addi r2,sp,100 2ce4: d8800015 stw r2,0(sp) 2ce8: 100f883a mov r7,r2 2cec: 00808204 movi r2,520 2cf0: 00e00034 movhi r3,32768 2cf4: 18ffffc4 addi r3,r3,-1 2cf8: d880040d sth r2,16(sp) 2cfc: d9400104 addi r5,sp,4 2d00: 00bfffc4 movi r2,-1 2d04: d8c00615 stw r3,24(sp) 2d08: d8c00315 stw r3,12(sp) 2d0c: da400515 stw r9,20(sp) 2d10: d880048d sth r2,18(sp) 2d14: da400115 stw r9,4(sp) 2d18: 0002dfc0 call 2dfc <___vfprintf_internal_r> 2d1c: d8c00117 ldw r3,4(sp) 2d20: 18000005 stb zero,0(r3) 2d24: dfc01817 ldw ra,96(sp) 2d28: dec01a04 addi sp,sp,104 2d2c: f800283a ret 00002d30 <strlen>: 2d30: 208000cc andi r2,r4,3 2d34: 2011883a mov r8,r4 2d38: 1000161e bne r2,zero,2d94 <strlen+0x64> 2d3c: 20c00017 ldw r3,0(r4) 2d40: 017fbff4 movhi r5,65279 2d44: 297fbfc4 addi r5,r5,-257 2d48: 01e02074 movhi r7,32897 2d4c: 39e02004 addi r7,r7,-32640 2d50: 1945883a add r2,r3,r5 2d54: 11c4703a and r2,r2,r7 2d58: 00c6303a nor r3,zero,r3 2d5c: 1886703a and r3,r3,r2 2d60: 18000c1e bne r3,zero,2d94 <strlen+0x64> 2d64: 280d883a mov r6,r5 2d68: 380b883a mov r5,r7 2d6c: 21000104 addi r4,r4,4 2d70: 20800017 ldw r2,0(r4) 2d74: 1187883a add r3,r2,r6 2d78: 1946703a and r3,r3,r5 2d7c: 0084303a nor r2,zero,r2 2d80: 10c4703a and r2,r2,r3 2d84: 103ff926 beq r2,zero,2d6c <strlen+0x3c> 2d88: 20800007 ldb r2,0(r4) 2d8c: 10000326 beq r2,zero,2d9c <strlen+0x6c> 2d90: 21000044 addi r4,r4,1 2d94: 20800007 ldb r2,0(r4) 2d98: 103ffd1e bne r2,zero,2d90 <strlen+0x60> 2d9c: 2205c83a sub r2,r4,r8 2da0: f800283a ret 00002da4 <__sprint_r>: 2da4: 30800217 ldw r2,8(r6) 2da8: defffe04 addi sp,sp,-8 2dac: dc000015 stw r16,0(sp) 2db0: dfc00115 stw ra,4(sp) 2db4: 3021883a mov r16,r6 2db8: 0007883a mov r3,zero 2dbc: 1000061e bne r2,zero,2dd8 <__sprint_r+0x34> 2dc0: 1805883a mov r2,r3 2dc4: 30000115 stw zero,4(r6) 2dc8: dfc00117 ldw ra,4(sp) 2dcc: dc000017 ldw r16,0(sp) 2dd0: dec00204 addi sp,sp,8 2dd4: f800283a ret 2dd8: 0006f7c0 call 6f7c <__sfvwrite_r> 2ddc: 1007883a mov r3,r2 2de0: 1805883a mov r2,r3 2de4: 80000115 stw zero,4(r16) 2de8: 80000215 stw zero,8(r16) 2dec: dfc00117 ldw ra,4(sp) 2df0: dc000017 ldw r16,0(sp) 2df4: dec00204 addi sp,sp,8 2df8: f800283a ret 00002dfc <___vfprintf_internal_r>: 2dfc: defea404 addi sp,sp,-1392 2e00: dd815815 stw r22,1376(sp) 2e04: dc015215 stw r16,1352(sp) 2e08: d9c15115 stw r7,1348(sp) 2e0c: dfc15b15 stw ra,1388(sp) 2e10: df015a15 stw fp,1384(sp) 2e14: ddc15915 stw r23,1380(sp) 2e18: dd415715 stw r21,1372(sp) 2e1c: dd015615 stw r20,1368(sp) 2e20: dcc15515 stw r19,1364(sp) 2e24: dc815415 stw r18,1360(sp) 2e28: dc415315 stw r17,1356(sp) 2e2c: 282d883a mov r22,r5 2e30: 3021883a mov r16,r6 2e34: d9014f15 stw r4,1340(sp) 2e38: 00075a00 call 75a0 <_localeconv_r> 2e3c: 10800017 ldw r2,0(r2) 2e40: d9c15117 ldw r7,1348(sp) 2e44: d8814915 stw r2,1316(sp) 2e48: d8814f17 ldw r2,1340(sp) 2e4c: 10000226 beq r2,zero,2e58 <___vfprintf_internal_r+0x5c> 2e50: 10800e17 ldw r2,56(r2) 2e54: 10020d26 beq r2,zero,368c <___vfprintf_internal_r+0x890> 2e58: b080030b ldhu r2,12(r22) 2e5c: 1080020c andi r2,r2,8 2e60: 10020e26 beq r2,zero,369c <___vfprintf_internal_r+0x8a0> 2e64: b0800417 ldw r2,16(r22) 2e68: 10020c26 beq r2,zero,369c <___vfprintf_internal_r+0x8a0> 2e6c: b200030b ldhu r8,12(r22) 2e70: 00800284 movi r2,10 2e74: 40c0068c andi r3,r8,26 2e78: 18802f1e bne r3,r2,2f38 <___vfprintf_internal_r+0x13c> 2e7c: b080038f ldh r2,14(r22) 2e80: 10002d16 blt r2,zero,2f38 <___vfprintf_internal_r+0x13c> 2e84: b240038b ldhu r9,14(r22) 2e88: b2800717 ldw r10,28(r22) 2e8c: b2c00917 ldw r11,36(r22) 2e90: d9014f17 ldw r4,1340(sp) 2e94: dc402904 addi r17,sp,164 2e98: d8804004 addi r2,sp,256 2e9c: 00c10004 movi r3,1024 2ea0: 423fff4c andi r8,r8,65533 2ea4: 800d883a mov r6,r16 2ea8: 880b883a mov r5,r17 2eac: da002c0d sth r8,176(sp) 2eb0: da402c8d sth r9,178(sp) 2eb4: da803015 stw r10,192(sp) 2eb8: dac03215 stw r11,200(sp) 2ebc: d8802d15 stw r2,180(sp) 2ec0: d8c02e15 stw r3,184(sp) 2ec4: d8802915 stw r2,164(sp) 2ec8: d8c02b15 stw r3,172(sp) 2ecc: d8002f15 stw zero,188(sp) 2ed0: 0002dfc0 call 2dfc <___vfprintf_internal_r> 2ed4: d8814b15 stw r2,1324(sp) 2ed8: 10000416 blt r2,zero,2eec <___vfprintf_internal_r+0xf0> 2edc: d9014f17 ldw r4,1340(sp) 2ee0: 880b883a mov r5,r17 2ee4: 00066180 call 6618 <_fflush_r> 2ee8: 1002321e bne r2,zero,37b4 <___vfprintf_internal_r+0x9b8> 2eec: d8802c0b ldhu r2,176(sp) 2ef0: 1080100c andi r2,r2,64 2ef4: 10000326 beq r2,zero,2f04 <___vfprintf_internal_r+0x108> 2ef8: b080030b ldhu r2,12(r22) 2efc: 10801014 ori r2,r2,64 2f00: b080030d sth r2,12(r22) 2f04: d8814b17 ldw r2,1324(sp) 2f08: dfc15b17 ldw ra,1388(sp) 2f0c: df015a17 ldw fp,1384(sp) 2f10: ddc15917 ldw r23,1380(sp) 2f14: dd815817 ldw r22,1376(sp) 2f18: dd415717 ldw r21,1372(sp) 2f1c: dd015617 ldw r20,1368(sp) 2f20: dcc15517 ldw r19,1364(sp) 2f24: dc815417 ldw r18,1360(sp) 2f28: dc415317 ldw r17,1356(sp) 2f2c: dc015217 ldw r16,1352(sp) 2f30: dec15c04 addi sp,sp,1392 2f34: f800283a ret 2f38: 0005883a mov r2,zero 2f3c: 0007883a mov r3,zero 2f40: dd401904 addi r21,sp,100 2f44: d8814215 stw r2,1288(sp) 2f48: 802f883a mov r23,r16 2f4c: d8c14315 stw r3,1292(sp) 2f50: d8014b15 stw zero,1324(sp) 2f54: d8014815 stw zero,1312(sp) 2f58: d8014415 stw zero,1296(sp) 2f5c: d8014715 stw zero,1308(sp) 2f60: dd400c15 stw r21,48(sp) 2f64: d8000e15 stw zero,56(sp) 2f68: d8000d15 stw zero,52(sp) 2f6c: b8800007 ldb r2,0(r23) 2f70: 10001926 beq r2,zero,2fd8 <___vfprintf_internal_r+0x1dc> 2f74: 00c00944 movi r3,37 2f78: 10c01726 beq r2,r3,2fd8 <___vfprintf_internal_r+0x1dc> 2f7c: b821883a mov r16,r23 2f80: 00000106 br 2f88 <___vfprintf_internal_r+0x18c> 2f84: 10c00326 beq r2,r3,2f94 <___vfprintf_internal_r+0x198> 2f88: 84000044 addi r16,r16,1 2f8c: 80800007 ldb r2,0(r16) 2f90: 103ffc1e bne r2,zero,2f84 <___vfprintf_internal_r+0x188> 2f94: 85e7c83a sub r19,r16,r23 2f98: 98000e26 beq r19,zero,2fd4 <___vfprintf_internal_r+0x1d8> 2f9c: dc800e17 ldw r18,56(sp) 2fa0: dc400d17 ldw r17,52(sp) 2fa4: 008001c4 movi r2,7 2fa8: 94e5883a add r18,r18,r19 2fac: 8c400044 addi r17,r17,1 2fb0: adc00015 stw r23,0(r21) 2fb4: dc800e15 stw r18,56(sp) 2fb8: acc00115 stw r19,4(r21) 2fbc: dc400d15 stw r17,52(sp) 2fc0: 14428b16 blt r2,r17,39f0 <___vfprintf_internal_r+0xbf4> 2fc4: ad400204 addi r21,r21,8 2fc8: d9014b17 ldw r4,1324(sp) 2fcc: 24c9883a add r4,r4,r19 2fd0: d9014b15 stw r4,1324(sp) 2fd4: 802f883a mov r23,r16 2fd8: b8800007 ldb r2,0(r23) 2fdc: 10013c26 beq r2,zero,34d0 <___vfprintf_internal_r+0x6d4> 2fe0: bdc00044 addi r23,r23,1 2fe4: d8000405 stb zero,16(sp) 2fe8: b8c00007 ldb r3,0(r23) 2fec: 04ffffc4 movi r19,-1 2ff0: d8014c15 stw zero,1328(sp) 2ff4: d8014a15 stw zero,1320(sp) 2ff8: d8c14d15 stw r3,1332(sp) 2ffc: bdc00044 addi r23,r23,1 3000: d9414d17 ldw r5,1332(sp) 3004: 00801604 movi r2,88 3008: 28fff804 addi r3,r5,-32 300c: 10c06036 bltu r2,r3,3190 <___vfprintf_internal_r+0x394> 3010: 18c5883a add r2,r3,r3 3014: 1085883a add r2,r2,r2 3018: 00c00034 movhi r3,0 301c: 18cc0b04 addi r3,r3,12332 3020: 10c5883a add r2,r2,r3 3024: 11000017 ldw r4,0(r2) 3028: 2000683a jmp r4 302c: 00003fa0 cmpeqi zero,zero,254 3030: 00003190 cmplti zero,zero,198 3034: 00003190 cmplti zero,zero,198 3038: 00003f8c andi zero,zero,254 303c: 00003190 cmplti zero,zero,198 3040: 00003190 cmplti zero,zero,198 3044: 00003190 cmplti zero,zero,198 3048: 00003190 cmplti zero,zero,198 304c: 00003190 cmplti zero,zero,198 3050: 00003190 cmplti zero,zero,198 3054: 00003d6c andhi zero,zero,245 3058: 00003f7c xorhi zero,zero,253 305c: 00003190 cmplti zero,zero,198 3060: 00003d84 movi zero,246 3064: 00004024 muli zero,zero,256 3068: 00003190 cmplti zero,zero,198 306c: 00004010 cmplti zero,zero,256 3070: 00003fcc andi zero,zero,255 3074: 00003fcc andi zero,zero,255 3078: 00003fcc andi zero,zero,255 307c: 00003fcc andi zero,zero,255 3080: 00003fcc andi zero,zero,255 3084: 00003fcc andi zero,zero,255 3088: 00003fcc andi zero,zero,255 308c: 00003fcc andi zero,zero,255 3090: 00003fcc andi zero,zero,255 3094: 00003190 cmplti zero,zero,198 3098: 00003190 cmplti zero,zero,198 309c: 00003190 cmplti zero,zero,198 30a0: 00003190 cmplti zero,zero,198 30a4: 00003190 cmplti zero,zero,198 30a8: 00003190 cmplti zero,zero,198 30ac: 00003190 cmplti zero,zero,198 30b0: 00003190 cmplti zero,zero,198 30b4: 00003190 cmplti zero,zero,198 30b8: 00003190 cmplti zero,zero,198 30bc: 000037e8 cmpgeui zero,zero,223 30c0: 00003e54 movui zero,249 30c4: 00003190 cmplti zero,zero,198 30c8: 00003e54 movui zero,249 30cc: 00003190 cmplti zero,zero,198 30d0: 00003190 cmplti zero,zero,198 30d4: 00003190 cmplti zero,zero,198 30d8: 00003190 cmplti zero,zero,198 30dc: 00003fb8 rdprs zero,zero,254 30e0: 00003190 cmplti zero,zero,198 30e4: 00003190 cmplti zero,zero,198 30e8: 0000389c xori zero,zero,226 30ec: 00003190 cmplti zero,zero,198 30f0: 00003190 cmplti zero,zero,198 30f4: 00003190 cmplti zero,zero,198 30f8: 00003190 cmplti zero,zero,198 30fc: 00003190 cmplti zero,zero,198 3100: 000038e8 cmpgeui zero,zero,227 3104: 00003190 cmplti zero,zero,198 3108: 00003190 cmplti zero,zero,198 310c: 00003f08 cmpgei zero,zero,252 3110: 00003190 cmplti zero,zero,198 3114: 00003190 cmplti zero,zero,198 3118: 00003190 cmplti zero,zero,198 311c: 00003190 cmplti zero,zero,198 3120: 00003190 cmplti zero,zero,198 3124: 00003190 cmplti zero,zero,198 3128: 00003190 cmplti zero,zero,198 312c: 00003190 cmplti zero,zero,198 3130: 00003190 cmplti zero,zero,198 3134: 00003190 cmplti zero,zero,198 3138: 00003edc xori zero,zero,251 313c: 000037f4 movhi zero,223 3140: 00003e54 movui zero,249 3144: 00003e54 movui zero,249 3148: 00003e54 movui zero,249 314c: 00003e40 call 3e4 <init+0x8> 3150: 000037f4 movhi zero,223 3154: 00003190 cmplti zero,zero,198 3158: 00003190 cmplti zero,zero,198 315c: 00003dc8 cmpgei zero,zero,247 3160: 00003190 cmplti zero,zero,198 3164: 00003d98 cmpnei zero,zero,246 3168: 000038a8 cmpgeui zero,zero,226 316c: 00003df8 rdprs zero,zero,247 3170: 00003de4 muli zero,zero,247 3174: 00003190 cmplti zero,zero,198 3178: 0000408c andi zero,zero,258 317c: 00003190 cmplti zero,zero,198 3180: 000038f4 movhi zero,227 3184: 00003190 cmplti zero,zero,198 3188: 00003190 cmplti zero,zero,198 318c: 00003f6c andhi zero,zero,253 3190: d9014d17 ldw r4,1332(sp) 3194: 2000ce26 beq r4,zero,34d0 <___vfprintf_internal_r+0x6d4> 3198: 01400044 movi r5,1 319c: d9800f04 addi r6,sp,60 31a0: d9c14015 stw r7,1280(sp) 31a4: d9414515 stw r5,1300(sp) 31a8: d9814115 stw r6,1284(sp) 31ac: 280f883a mov r7,r5 31b0: d9000f05 stb r4,60(sp) 31b4: d8000405 stb zero,16(sp) 31b8: d8014615 stw zero,1304(sp) 31bc: d8c14c17 ldw r3,1328(sp) 31c0: 1880008c andi r2,r3,2 31c4: 1005003a cmpeq r2,r2,zero 31c8: d8815015 stw r2,1344(sp) 31cc: 1000031e bne r2,zero,31dc <___vfprintf_internal_r+0x3e0> 31d0: d9014517 ldw r4,1300(sp) 31d4: 21000084 addi r4,r4,2 31d8: d9014515 stw r4,1300(sp) 31dc: d9414c17 ldw r5,1328(sp) 31e0: 2940210c andi r5,r5,132 31e4: d9414e15 stw r5,1336(sp) 31e8: 28002d1e bne r5,zero,32a0 <___vfprintf_internal_r+0x4a4> 31ec: d9814a17 ldw r6,1320(sp) 31f0: d8814517 ldw r2,1300(sp) 31f4: 30a1c83a sub r16,r6,r2 31f8: 0400290e bge zero,r16,32a0 <___vfprintf_internal_r+0x4a4> 31fc: 00800404 movi r2,16 3200: 14045e0e bge r2,r16,437c <___vfprintf_internal_r+0x1580> 3204: dc800e17 ldw r18,56(sp) 3208: dc400d17 ldw r17,52(sp) 320c: 1027883a mov r19,r2 3210: 07000074 movhi fp,1 3214: e700f584 addi fp,fp,982 3218: 050001c4 movi r20,7 321c: 00000306 br 322c <___vfprintf_internal_r+0x430> 3220: 843ffc04 addi r16,r16,-16 3224: ad400204 addi r21,r21,8 3228: 9c00130e bge r19,r16,3278 <___vfprintf_internal_r+0x47c> 322c: 94800404 addi r18,r18,16 3230: 8c400044 addi r17,r17,1 3234: af000015 stw fp,0(r21) 3238: acc00115 stw r19,4(r21) 323c: dc800e15 stw r18,56(sp) 3240: dc400d15 stw r17,52(sp) 3244: a47ff60e bge r20,r17,3220 <___vfprintf_internal_r+0x424> 3248: d9014f17 ldw r4,1340(sp) 324c: b00b883a mov r5,r22 3250: d9800c04 addi r6,sp,48 3254: d9c15115 stw r7,1348(sp) 3258: 0002da40 call 2da4 <__sprint_r> 325c: d9c15117 ldw r7,1348(sp) 3260: 10009e1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3264: 843ffc04 addi r16,r16,-16 3268: dc800e17 ldw r18,56(sp) 326c: dc400d17 ldw r17,52(sp) 3270: dd401904 addi r21,sp,100 3274: 9c3fed16 blt r19,r16,322c <___vfprintf_internal_r+0x430> 3278: 9425883a add r18,r18,r16 327c: 8c400044 addi r17,r17,1 3280: 008001c4 movi r2,7 3284: af000015 stw fp,0(r21) 3288: ac000115 stw r16,4(r21) 328c: dc800e15 stw r18,56(sp) 3290: dc400d15 stw r17,52(sp) 3294: 1441f516 blt r2,r17,3a6c <___vfprintf_internal_r+0xc70> 3298: ad400204 addi r21,r21,8 329c: 00000206 br 32a8 <___vfprintf_internal_r+0x4ac> 32a0: dc800e17 ldw r18,56(sp) 32a4: dc400d17 ldw r17,52(sp) 32a8: d8800407 ldb r2,16(sp) 32ac: 10000b26 beq r2,zero,32dc <___vfprintf_internal_r+0x4e0> 32b0: 00800044 movi r2,1 32b4: 94800044 addi r18,r18,1 32b8: 8c400044 addi r17,r17,1 32bc: a8800115 stw r2,4(r21) 32c0: d8c00404 addi r3,sp,16 32c4: 008001c4 movi r2,7 32c8: a8c00015 stw r3,0(r21) 32cc: dc800e15 stw r18,56(sp) 32d0: dc400d15 stw r17,52(sp) 32d4: 1441da16 blt r2,r17,3a40 <___vfprintf_internal_r+0xc44> 32d8: ad400204 addi r21,r21,8 32dc: d9015017 ldw r4,1344(sp) 32e0: 20000b1e bne r4,zero,3310 <___vfprintf_internal_r+0x514> 32e4: d8800444 addi r2,sp,17 32e8: 94800084 addi r18,r18,2 32ec: 8c400044 addi r17,r17,1 32f0: a8800015 stw r2,0(r21) 32f4: 00c00084 movi r3,2 32f8: 008001c4 movi r2,7 32fc: a8c00115 stw r3,4(r21) 3300: dc800e15 stw r18,56(sp) 3304: dc400d15 stw r17,52(sp) 3308: 1441c216 blt r2,r17,3a14 <___vfprintf_internal_r+0xc18> 330c: ad400204 addi r21,r21,8 3310: d9414e17 ldw r5,1336(sp) 3314: 00802004 movi r2,128 3318: 2880b126 beq r5,r2,35e0 <___vfprintf_internal_r+0x7e4> 331c: d8c14617 ldw r3,1304(sp) 3320: 19e1c83a sub r16,r3,r7 3324: 0400260e bge zero,r16,33c0 <___vfprintf_internal_r+0x5c4> 3328: 00800404 movi r2,16 332c: 1403cf0e bge r2,r16,426c <___vfprintf_internal_r+0x1470> 3330: 1027883a mov r19,r2 3334: 07000074 movhi fp,1 3338: e700f184 addi fp,fp,966 333c: 050001c4 movi r20,7 3340: 00000306 br 3350 <___vfprintf_internal_r+0x554> 3344: 843ffc04 addi r16,r16,-16 3348: ad400204 addi r21,r21,8 334c: 9c00130e bge r19,r16,339c <___vfprintf_internal_r+0x5a0> 3350: 94800404 addi r18,r18,16 3354: 8c400044 addi r17,r17,1 3358: af000015 stw fp,0(r21) 335c: acc00115 stw r19,4(r21) 3360: dc800e15 stw r18,56(sp) 3364: dc400d15 stw r17,52(sp) 3368: a47ff60e bge r20,r17,3344 <___vfprintf_internal_r+0x548> 336c: d9014f17 ldw r4,1340(sp) 3370: b00b883a mov r5,r22 3374: d9800c04 addi r6,sp,48 3378: d9c15115 stw r7,1348(sp) 337c: 0002da40 call 2da4 <__sprint_r> 3380: d9c15117 ldw r7,1348(sp) 3384: 1000551e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3388: 843ffc04 addi r16,r16,-16 338c: dc800e17 ldw r18,56(sp) 3390: dc400d17 ldw r17,52(sp) 3394: dd401904 addi r21,sp,100 3398: 9c3fed16 blt r19,r16,3350 <___vfprintf_internal_r+0x554> 339c: 9425883a add r18,r18,r16 33a0: 8c400044 addi r17,r17,1 33a4: 008001c4 movi r2,7 33a8: af000015 stw fp,0(r21) 33ac: ac000115 stw r16,4(r21) 33b0: dc800e15 stw r18,56(sp) 33b4: dc400d15 stw r17,52(sp) 33b8: 14418216 blt r2,r17,39c4 <___vfprintf_internal_r+0xbc8> 33bc: ad400204 addi r21,r21,8 33c0: d9014c17 ldw r4,1328(sp) 33c4: 2080400c andi r2,r4,256 33c8: 10004a1e bne r2,zero,34f4 <___vfprintf_internal_r+0x6f8> 33cc: d9414117 ldw r5,1284(sp) 33d0: 91e5883a add r18,r18,r7 33d4: 8c400044 addi r17,r17,1 33d8: 008001c4 movi r2,7 33dc: a9400015 stw r5,0(r21) 33e0: a9c00115 stw r7,4(r21) 33e4: dc800e15 stw r18,56(sp) 33e8: dc400d15 stw r17,52(sp) 33ec: 14416716 blt r2,r17,398c <___vfprintf_internal_r+0xb90> 33f0: a8c00204 addi r3,r21,8 33f4: d9814c17 ldw r6,1328(sp) 33f8: 3080010c andi r2,r6,4 33fc: 10002826 beq r2,zero,34a0 <___vfprintf_internal_r+0x6a4> 3400: d8814a17 ldw r2,1320(sp) 3404: d9014517 ldw r4,1300(sp) 3408: 1121c83a sub r16,r2,r4 340c: 0400240e bge zero,r16,34a0 <___vfprintf_internal_r+0x6a4> 3410: 00800404 movi r2,16 3414: 1404550e bge r2,r16,456c <___vfprintf_internal_r+0x1770> 3418: dc400d17 ldw r17,52(sp) 341c: 1027883a mov r19,r2 3420: 07000074 movhi fp,1 3424: e700f584 addi fp,fp,982 3428: 050001c4 movi r20,7 342c: 00000306 br 343c <___vfprintf_internal_r+0x640> 3430: 843ffc04 addi r16,r16,-16 3434: 18c00204 addi r3,r3,8 3438: 9c00110e bge r19,r16,3480 <___vfprintf_internal_r+0x684> 343c: 94800404 addi r18,r18,16 3440: 8c400044 addi r17,r17,1 3444: 1f000015 stw fp,0(r3) 3448: 1cc00115 stw r19,4(r3) 344c: dc800e15 stw r18,56(sp) 3450: dc400d15 stw r17,52(sp) 3454: a47ff60e bge r20,r17,3430 <___vfprintf_internal_r+0x634> 3458: d9014f17 ldw r4,1340(sp) 345c: b00b883a mov r5,r22 3460: d9800c04 addi r6,sp,48 3464: 0002da40 call 2da4 <__sprint_r> 3468: 10001c1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 346c: 843ffc04 addi r16,r16,-16 3470: dc800e17 ldw r18,56(sp) 3474: dc400d17 ldw r17,52(sp) 3478: d8c01904 addi r3,sp,100 347c: 9c3fef16 blt r19,r16,343c <___vfprintf_internal_r+0x640> 3480: 9425883a add r18,r18,r16 3484: 8c400044 addi r17,r17,1 3488: 008001c4 movi r2,7 348c: 1f000015 stw fp,0(r3) 3490: 1c000115 stw r16,4(r3) 3494: dc800e15 stw r18,56(sp) 3498: dc400d15 stw r17,52(sp) 349c: 1440cb16 blt r2,r17,37cc <___vfprintf_internal_r+0x9d0> 34a0: d8814a17 ldw r2,1320(sp) 34a4: d9414517 ldw r5,1300(sp) 34a8: 1140010e bge r2,r5,34b0 <___vfprintf_internal_r+0x6b4> 34ac: 2805883a mov r2,r5 34b0: d9814b17 ldw r6,1324(sp) 34b4: 308d883a add r6,r6,r2 34b8: d9814b15 stw r6,1324(sp) 34bc: 90013b1e bne r18,zero,39ac <___vfprintf_internal_r+0xbb0> 34c0: d9c14017 ldw r7,1280(sp) 34c4: dd401904 addi r21,sp,100 34c8: d8000d15 stw zero,52(sp) 34cc: 003ea706 br 2f6c <___vfprintf_internal_r+0x170> 34d0: d8800e17 ldw r2,56(sp) 34d4: 1005451e bne r2,zero,49ec <___vfprintf_internal_r+0x1bf0> 34d8: d8000d15 stw zero,52(sp) 34dc: b080030b ldhu r2,12(r22) 34e0: 1080100c andi r2,r2,64 34e4: 103e8726 beq r2,zero,2f04 <___vfprintf_internal_r+0x108> 34e8: 00bfffc4 movi r2,-1 34ec: d8814b15 stw r2,1324(sp) 34f0: 003e8406 br 2f04 <___vfprintf_internal_r+0x108> 34f4: d9814d17 ldw r6,1332(sp) 34f8: 00801944 movi r2,101 34fc: 11806e16 blt r2,r6,36b8 <___vfprintf_internal_r+0x8bc> 3500: d9414717 ldw r5,1308(sp) 3504: 00c00044 movi r3,1 3508: 1943490e bge r3,r5,4230 <___vfprintf_internal_r+0x1434> 350c: d8814117 ldw r2,1284(sp) 3510: 94800044 addi r18,r18,1 3514: 8c400044 addi r17,r17,1 3518: a8800015 stw r2,0(r21) 351c: 008001c4 movi r2,7 3520: a8c00115 stw r3,4(r21) 3524: dc800e15 stw r18,56(sp) 3528: dc400d15 stw r17,52(sp) 352c: 1441ca16 blt r2,r17,3c58 <___vfprintf_internal_r+0xe5c> 3530: a8c00204 addi r3,r21,8 3534: d9014917 ldw r4,1316(sp) 3538: 00800044 movi r2,1 353c: 94800044 addi r18,r18,1 3540: 8c400044 addi r17,r17,1 3544: 18800115 stw r2,4(r3) 3548: 008001c4 movi r2,7 354c: 19000015 stw r4,0(r3) 3550: dc800e15 stw r18,56(sp) 3554: dc400d15 stw r17,52(sp) 3558: 1441b616 blt r2,r17,3c34 <___vfprintf_internal_r+0xe38> 355c: 1cc00204 addi r19,r3,8 3560: d9014217 ldw r4,1288(sp) 3564: d9414317 ldw r5,1292(sp) 3568: 000d883a mov r6,zero 356c: 000f883a mov r7,zero 3570: 000b8b00 call b8b0 <__nedf2> 3574: 10017426 beq r2,zero,3b48 <___vfprintf_internal_r+0xd4c> 3578: d9414717 ldw r5,1308(sp) 357c: d9814117 ldw r6,1284(sp) 3580: 8c400044 addi r17,r17,1 3584: 2c85883a add r2,r5,r18 3588: 14bfffc4 addi r18,r2,-1 358c: 28bfffc4 addi r2,r5,-1 3590: 30c00044 addi r3,r6,1 3594: 98800115 stw r2,4(r19) 3598: 008001c4 movi r2,7 359c: 98c00015 stw r3,0(r19) 35a0: dc800e15 stw r18,56(sp) 35a4: dc400d15 stw r17,52(sp) 35a8: 14418e16 blt r2,r17,3be4 <___vfprintf_internal_r+0xde8> 35ac: 9cc00204 addi r19,r19,8 35b0: d9414817 ldw r5,1312(sp) 35b4: d8800804 addi r2,sp,32 35b8: 8c400044 addi r17,r17,1 35bc: 9165883a add r18,r18,r5 35c0: 98800015 stw r2,0(r19) 35c4: 008001c4 movi r2,7 35c8: 99400115 stw r5,4(r19) 35cc: dc800e15 stw r18,56(sp) 35d0: dc400d15 stw r17,52(sp) 35d4: 1440ed16 blt r2,r17,398c <___vfprintf_internal_r+0xb90> 35d8: 98c00204 addi r3,r19,8 35dc: 003f8506 br 33f4 <___vfprintf_internal_r+0x5f8> 35e0: d9814a17 ldw r6,1320(sp) 35e4: d8814517 ldw r2,1300(sp) 35e8: 30a1c83a sub r16,r6,r2 35ec: 043f4b0e bge zero,r16,331c <___vfprintf_internal_r+0x520> 35f0: 00800404 movi r2,16 35f4: 14043a0e bge r2,r16,46e0 <___vfprintf_internal_r+0x18e4> 35f8: 1027883a mov r19,r2 35fc: 07000074 movhi fp,1 3600: e700f184 addi fp,fp,966 3604: 050001c4 movi r20,7 3608: 00000306 br 3618 <___vfprintf_internal_r+0x81c> 360c: 843ffc04 addi r16,r16,-16 3610: ad400204 addi r21,r21,8 3614: 9c00130e bge r19,r16,3664 <___vfprintf_internal_r+0x868> 3618: 94800404 addi r18,r18,16 361c: 8c400044 addi r17,r17,1 3620: af000015 stw fp,0(r21) 3624: acc00115 stw r19,4(r21) 3628: dc800e15 stw r18,56(sp) 362c: dc400d15 stw r17,52(sp) 3630: a47ff60e bge r20,r17,360c <___vfprintf_internal_r+0x810> 3634: d9014f17 ldw r4,1340(sp) 3638: b00b883a mov r5,r22 363c: d9800c04 addi r6,sp,48 3640: d9c15115 stw r7,1348(sp) 3644: 0002da40 call 2da4 <__sprint_r> 3648: d9c15117 ldw r7,1348(sp) 364c: 103fa31e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3650: 843ffc04 addi r16,r16,-16 3654: dc800e17 ldw r18,56(sp) 3658: dc400d17 ldw r17,52(sp) 365c: dd401904 addi r21,sp,100 3660: 9c3fed16 blt r19,r16,3618 <___vfprintf_internal_r+0x81c> 3664: 9425883a add r18,r18,r16 3668: 8c400044 addi r17,r17,1 366c: 008001c4 movi r2,7 3670: af000015 stw fp,0(r21) 3674: ac000115 stw r16,4(r21) 3678: dc800e15 stw r18,56(sp) 367c: dc400d15 stw r17,52(sp) 3680: 14416116 blt r2,r17,3c08 <___vfprintf_internal_r+0xe0c> 3684: ad400204 addi r21,r21,8 3688: 003f2406 br 331c <___vfprintf_internal_r+0x520> 368c: d9014f17 ldw r4,1340(sp) 3690: 00068b00 call 68b0 <__sinit> 3694: d9c15117 ldw r7,1348(sp) 3698: 003def06 br 2e58 <___vfprintf_internal_r+0x5c> 369c: d9014f17 ldw r4,1340(sp) 36a0: b00b883a mov r5,r22 36a4: d9c15115 stw r7,1348(sp) 36a8: 0004ce40 call 4ce4 <__swsetup_r> 36ac: d9c15117 ldw r7,1348(sp) 36b0: 103dee26 beq r2,zero,2e6c <___vfprintf_internal_r+0x70> 36b4: 003f8c06 br 34e8 <___vfprintf_internal_r+0x6ec> 36b8: d9014217 ldw r4,1288(sp) 36bc: d9414317 ldw r5,1292(sp) 36c0: 000d883a mov r6,zero 36c4: 000f883a mov r7,zero 36c8: 000b8280 call b828 <__eqdf2> 36cc: 1000f21e bne r2,zero,3a98 <___vfprintf_internal_r+0xc9c> 36d0: 00800074 movhi r2,1 36d4: 1080f104 addi r2,r2,964 36d8: 94800044 addi r18,r18,1 36dc: 8c400044 addi r17,r17,1 36e0: a8800015 stw r2,0(r21) 36e4: 00c00044 movi r3,1 36e8: 008001c4 movi r2,7 36ec: a8c00115 stw r3,4(r21) 36f0: dc800e15 stw r18,56(sp) 36f4: dc400d15 stw r17,52(sp) 36f8: 14430016 blt r2,r17,42fc <___vfprintf_internal_r+0x1500> 36fc: a8c00204 addi r3,r21,8 3700: d8800517 ldw r2,20(sp) 3704: d9014717 ldw r4,1308(sp) 3708: 11015c0e bge r2,r4,3c7c <___vfprintf_internal_r+0xe80> 370c: dc400d17 ldw r17,52(sp) 3710: d9814917 ldw r6,1316(sp) 3714: 00800044 movi r2,1 3718: 94800044 addi r18,r18,1 371c: 8c400044 addi r17,r17,1 3720: 18800115 stw r2,4(r3) 3724: 008001c4 movi r2,7 3728: 19800015 stw r6,0(r3) 372c: dc800e15 stw r18,56(sp) 3730: dc400d15 stw r17,52(sp) 3734: 14431616 blt r2,r17,4390 <___vfprintf_internal_r+0x1594> 3738: 18c00204 addi r3,r3,8 373c: d8814717 ldw r2,1308(sp) 3740: 143fffc4 addi r16,r2,-1 3744: 043f2b0e bge zero,r16,33f4 <___vfprintf_internal_r+0x5f8> 3748: 00800404 movi r2,16 374c: 1402a80e bge r2,r16,41f0 <___vfprintf_internal_r+0x13f4> 3750: dc400d17 ldw r17,52(sp) 3754: 1027883a mov r19,r2 3758: 07000074 movhi fp,1 375c: e700f184 addi fp,fp,966 3760: 050001c4 movi r20,7 3764: 00000306 br 3774 <___vfprintf_internal_r+0x978> 3768: 18c00204 addi r3,r3,8 376c: 843ffc04 addi r16,r16,-16 3770: 9c02a20e bge r19,r16,41fc <___vfprintf_internal_r+0x1400> 3774: 94800404 addi r18,r18,16 3778: 8c400044 addi r17,r17,1 377c: 1f000015 stw fp,0(r3) 3780: 1cc00115 stw r19,4(r3) 3784: dc800e15 stw r18,56(sp) 3788: dc400d15 stw r17,52(sp) 378c: a47ff60e bge r20,r17,3768 <___vfprintf_internal_r+0x96c> 3790: d9014f17 ldw r4,1340(sp) 3794: b00b883a mov r5,r22 3798: d9800c04 addi r6,sp,48 379c: 0002da40 call 2da4 <__sprint_r> 37a0: 103f4e1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 37a4: dc800e17 ldw r18,56(sp) 37a8: dc400d17 ldw r17,52(sp) 37ac: d8c01904 addi r3,sp,100 37b0: 003fee06 br 376c <___vfprintf_internal_r+0x970> 37b4: d8802c0b ldhu r2,176(sp) 37b8: 00ffffc4 movi r3,-1 37bc: d8c14b15 stw r3,1324(sp) 37c0: 1080100c andi r2,r2,64 37c4: 103dcc1e bne r2,zero,2ef8 <___vfprintf_internal_r+0xfc> 37c8: 003dce06 br 2f04 <___vfprintf_internal_r+0x108> 37cc: d9014f17 ldw r4,1340(sp) 37d0: b00b883a mov r5,r22 37d4: d9800c04 addi r6,sp,48 37d8: 0002da40 call 2da4 <__sprint_r> 37dc: 103f3f1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 37e0: dc800e17 ldw r18,56(sp) 37e4: 003f2e06 br 34a0 <___vfprintf_internal_r+0x6a4> 37e8: d9414c17 ldw r5,1328(sp) 37ec: 29400414 ori r5,r5,16 37f0: d9414c15 stw r5,1328(sp) 37f4: d9814c17 ldw r6,1328(sp) 37f8: 3080080c andi r2,r6,32 37fc: 10014f1e bne r2,zero,3d3c <___vfprintf_internal_r+0xf40> 3800: d8c14c17 ldw r3,1328(sp) 3804: 1880040c andi r2,r3,16 3808: 1002f01e bne r2,zero,43cc <___vfprintf_internal_r+0x15d0> 380c: d9014c17 ldw r4,1328(sp) 3810: 2080100c andi r2,r4,64 3814: 1002ed26 beq r2,zero,43cc <___vfprintf_internal_r+0x15d0> 3818: 3880000f ldh r2,0(r7) 381c: 39c00104 addi r7,r7,4 3820: d9c14015 stw r7,1280(sp) 3824: 1023d7fa srai r17,r2,31 3828: 1021883a mov r16,r2 382c: 88037816 blt r17,zero,4610 <___vfprintf_internal_r+0x1814> 3830: 01000044 movi r4,1 3834: 98000416 blt r19,zero,3848 <___vfprintf_internal_r+0xa4c> 3838: d8c14c17 ldw r3,1328(sp) 383c: 00bfdfc4 movi r2,-129 3840: 1886703a and r3,r3,r2 3844: d8c14c15 stw r3,1328(sp) 3848: 8444b03a or r2,r16,r17 384c: 10022c1e bne r2,zero,4100 <___vfprintf_internal_r+0x1304> 3850: 98022b1e bne r19,zero,4100 <___vfprintf_internal_r+0x1304> 3854: 20803fcc andi r2,r4,255 3858: 1002a126 beq r2,zero,42e0 <___vfprintf_internal_r+0x14e4> 385c: d8c01904 addi r3,sp,100 3860: dd000f04 addi r20,sp,60 3864: d8c14115 stw r3,1284(sp) 3868: d8c14117 ldw r3,1284(sp) 386c: dcc14515 stw r19,1300(sp) 3870: a0c5c83a sub r2,r20,r3 3874: 11c00a04 addi r7,r2,40 3878: 99c0010e bge r19,r7,3880 <___vfprintf_internal_r+0xa84> 387c: d9c14515 stw r7,1300(sp) 3880: dcc14615 stw r19,1304(sp) 3884: d8800407 ldb r2,16(sp) 3888: 103e4c26 beq r2,zero,31bc <___vfprintf_internal_r+0x3c0> 388c: d8814517 ldw r2,1300(sp) 3890: 10800044 addi r2,r2,1 3894: d8814515 stw r2,1300(sp) 3898: 003e4806 br 31bc <___vfprintf_internal_r+0x3c0> 389c: d9814c17 ldw r6,1328(sp) 38a0: 31800414 ori r6,r6,16 38a4: d9814c15 stw r6,1328(sp) 38a8: d8c14c17 ldw r3,1328(sp) 38ac: 1880080c andi r2,r3,32 38b0: 1001271e bne r2,zero,3d50 <___vfprintf_internal_r+0xf54> 38b4: d9414c17 ldw r5,1328(sp) 38b8: 2880040c andi r2,r5,16 38bc: 1002bc1e bne r2,zero,43b0 <___vfprintf_internal_r+0x15b4> 38c0: d9814c17 ldw r6,1328(sp) 38c4: 3080100c andi r2,r6,64 38c8: 1002b926 beq r2,zero,43b0 <___vfprintf_internal_r+0x15b4> 38cc: 3c00000b ldhu r16,0(r7) 38d0: 0009883a mov r4,zero 38d4: 39c00104 addi r7,r7,4 38d8: 0023883a mov r17,zero 38dc: d9c14015 stw r7,1280(sp) 38e0: d8000405 stb zero,16(sp) 38e4: 003fd306 br 3834 <___vfprintf_internal_r+0xa38> 38e8: d9014c17 ldw r4,1328(sp) 38ec: 21000414 ori r4,r4,16 38f0: d9014c15 stw r4,1328(sp) 38f4: d9414c17 ldw r5,1328(sp) 38f8: 2880080c andi r2,r5,32 38fc: 1001081e bne r2,zero,3d20 <___vfprintf_internal_r+0xf24> 3900: d8c14c17 ldw r3,1328(sp) 3904: 1880040c andi r2,r3,16 3908: 1002b61e bne r2,zero,43e4 <___vfprintf_internal_r+0x15e8> 390c: d9014c17 ldw r4,1328(sp) 3910: 2080100c andi r2,r4,64 3914: 1002b326 beq r2,zero,43e4 <___vfprintf_internal_r+0x15e8> 3918: 3c00000b ldhu r16,0(r7) 391c: 01000044 movi r4,1 3920: 39c00104 addi r7,r7,4 3924: 0023883a mov r17,zero 3928: d9c14015 stw r7,1280(sp) 392c: d8000405 stb zero,16(sp) 3930: 003fc006 br 3834 <___vfprintf_internal_r+0xa38> 3934: d9014f17 ldw r4,1340(sp) 3938: b00b883a mov r5,r22 393c: d9800c04 addi r6,sp,48 3940: 0002da40 call 2da4 <__sprint_r> 3944: 103ee51e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3948: dc800e17 ldw r18,56(sp) 394c: d8c01904 addi r3,sp,100 3950: d9814c17 ldw r6,1328(sp) 3954: 3080004c andi r2,r6,1 3958: 1005003a cmpeq r2,r2,zero 395c: 103ea51e bne r2,zero,33f4 <___vfprintf_internal_r+0x5f8> 3960: 00800044 movi r2,1 3964: dc400d17 ldw r17,52(sp) 3968: 18800115 stw r2,4(r3) 396c: d8814917 ldw r2,1316(sp) 3970: 94800044 addi r18,r18,1 3974: 8c400044 addi r17,r17,1 3978: 18800015 stw r2,0(r3) 397c: 008001c4 movi r2,7 3980: dc800e15 stw r18,56(sp) 3984: dc400d15 stw r17,52(sp) 3988: 1442240e bge r2,r17,421c <___vfprintf_internal_r+0x1420> 398c: d9014f17 ldw r4,1340(sp) 3990: b00b883a mov r5,r22 3994: d9800c04 addi r6,sp,48 3998: 0002da40 call 2da4 <__sprint_r> 399c: 103ecf1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 39a0: dc800e17 ldw r18,56(sp) 39a4: d8c01904 addi r3,sp,100 39a8: 003e9206 br 33f4 <___vfprintf_internal_r+0x5f8> 39ac: d9014f17 ldw r4,1340(sp) 39b0: b00b883a mov r5,r22 39b4: d9800c04 addi r6,sp,48 39b8: 0002da40 call 2da4 <__sprint_r> 39bc: 103ec026 beq r2,zero,34c0 <___vfprintf_internal_r+0x6c4> 39c0: 003ec606 br 34dc <___vfprintf_internal_r+0x6e0> 39c4: d9014f17 ldw r4,1340(sp) 39c8: b00b883a mov r5,r22 39cc: d9800c04 addi r6,sp,48 39d0: d9c15115 stw r7,1348(sp) 39d4: 0002da40 call 2da4 <__sprint_r> 39d8: d9c15117 ldw r7,1348(sp) 39dc: 103ebf1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 39e0: dc800e17 ldw r18,56(sp) 39e4: dc400d17 ldw r17,52(sp) 39e8: dd401904 addi r21,sp,100 39ec: 003e7406 br 33c0 <___vfprintf_internal_r+0x5c4> 39f0: d9014f17 ldw r4,1340(sp) 39f4: b00b883a mov r5,r22 39f8: d9800c04 addi r6,sp,48 39fc: d9c15115 stw r7,1348(sp) 3a00: 0002da40 call 2da4 <__sprint_r> 3a04: d9c15117 ldw r7,1348(sp) 3a08: 103eb41e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3a0c: dd401904 addi r21,sp,100 3a10: 003d6d06 br 2fc8 <___vfprintf_internal_r+0x1cc> 3a14: d9014f17 ldw r4,1340(sp) 3a18: b00b883a mov r5,r22 3a1c: d9800c04 addi r6,sp,48 3a20: d9c15115 stw r7,1348(sp) 3a24: 0002da40 call 2da4 <__sprint_r> 3a28: d9c15117 ldw r7,1348(sp) 3a2c: 103eab1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3a30: dc800e17 ldw r18,56(sp) 3a34: dc400d17 ldw r17,52(sp) 3a38: dd401904 addi r21,sp,100 3a3c: 003e3406 br 3310 <___vfprintf_internal_r+0x514> 3a40: d9014f17 ldw r4,1340(sp) 3a44: b00b883a mov r5,r22 3a48: d9800c04 addi r6,sp,48 3a4c: d9c15115 stw r7,1348(sp) 3a50: 0002da40 call 2da4 <__sprint_r> 3a54: d9c15117 ldw r7,1348(sp) 3a58: 103ea01e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3a5c: dc800e17 ldw r18,56(sp) 3a60: dc400d17 ldw r17,52(sp) 3a64: dd401904 addi r21,sp,100 3a68: 003e1c06 br 32dc <___vfprintf_internal_r+0x4e0> 3a6c: d9014f17 ldw r4,1340(sp) 3a70: b00b883a mov r5,r22 3a74: d9800c04 addi r6,sp,48 3a78: d9c15115 stw r7,1348(sp) 3a7c: 0002da40 call 2da4 <__sprint_r> 3a80: d9c15117 ldw r7,1348(sp) 3a84: 103e951e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3a88: dc800e17 ldw r18,56(sp) 3a8c: dc400d17 ldw r17,52(sp) 3a90: dd401904 addi r21,sp,100 3a94: 003e0406 br 32a8 <___vfprintf_internal_r+0x4ac> 3a98: d9000517 ldw r4,20(sp) 3a9c: 0102580e bge zero,r4,4400 <___vfprintf_internal_r+0x1604> 3aa0: d9814717 ldw r6,1308(sp) 3aa4: 21807a16 blt r4,r6,3c90 <___vfprintf_internal_r+0xe94> 3aa8: d8814117 ldw r2,1284(sp) 3aac: 91a5883a add r18,r18,r6 3ab0: 8c400044 addi r17,r17,1 3ab4: a8800015 stw r2,0(r21) 3ab8: 008001c4 movi r2,7 3abc: a9800115 stw r6,4(r21) 3ac0: dc800e15 stw r18,56(sp) 3ac4: dc400d15 stw r17,52(sp) 3ac8: 1442fc16 blt r2,r17,46bc <___vfprintf_internal_r+0x18c0> 3acc: a8c00204 addi r3,r21,8 3ad0: d9414717 ldw r5,1308(sp) 3ad4: 2161c83a sub r16,r4,r5 3ad8: 043f9d0e bge zero,r16,3950 <___vfprintf_internal_r+0xb54> 3adc: 00800404 movi r2,16 3ae0: 1402190e bge r2,r16,4348 <___vfprintf_internal_r+0x154c> 3ae4: dc400d17 ldw r17,52(sp) 3ae8: 1027883a mov r19,r2 3aec: 07000074 movhi fp,1 3af0: e700f184 addi fp,fp,966 3af4: 050001c4 movi r20,7 3af8: 00000306 br 3b08 <___vfprintf_internal_r+0xd0c> 3afc: 18c00204 addi r3,r3,8 3b00: 843ffc04 addi r16,r16,-16 3b04: 9c02130e bge r19,r16,4354 <___vfprintf_internal_r+0x1558> 3b08: 94800404 addi r18,r18,16 3b0c: 8c400044 addi r17,r17,1 3b10: 1f000015 stw fp,0(r3) 3b14: 1cc00115 stw r19,4(r3) 3b18: dc800e15 stw r18,56(sp) 3b1c: dc400d15 stw r17,52(sp) 3b20: a47ff60e bge r20,r17,3afc <___vfprintf_internal_r+0xd00> 3b24: d9014f17 ldw r4,1340(sp) 3b28: b00b883a mov r5,r22 3b2c: d9800c04 addi r6,sp,48 3b30: 0002da40 call 2da4 <__sprint_r> 3b34: 103e691e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3b38: dc800e17 ldw r18,56(sp) 3b3c: dc400d17 ldw r17,52(sp) 3b40: d8c01904 addi r3,sp,100 3b44: 003fee06 br 3b00 <___vfprintf_internal_r+0xd04> 3b48: d8814717 ldw r2,1308(sp) 3b4c: 143fffc4 addi r16,r2,-1 3b50: 043e970e bge zero,r16,35b0 <___vfprintf_internal_r+0x7b4> 3b54: 00800404 movi r2,16 3b58: 1400180e bge r2,r16,3bbc <___vfprintf_internal_r+0xdc0> 3b5c: 1029883a mov r20,r2 3b60: 07000074 movhi fp,1 3b64: e700f184 addi fp,fp,966 3b68: 054001c4 movi r21,7 3b6c: 00000306 br 3b7c <___vfprintf_internal_r+0xd80> 3b70: 9cc00204 addi r19,r19,8 3b74: 843ffc04 addi r16,r16,-16 3b78: a400120e bge r20,r16,3bc4 <___vfprintf_internal_r+0xdc8> 3b7c: 94800404 addi r18,r18,16 3b80: 8c400044 addi r17,r17,1 3b84: 9f000015 stw fp,0(r19) 3b88: 9d000115 stw r20,4(r19) 3b8c: dc800e15 stw r18,56(sp) 3b90: dc400d15 stw r17,52(sp) 3b94: ac7ff60e bge r21,r17,3b70 <___vfprintf_internal_r+0xd74> 3b98: d9014f17 ldw r4,1340(sp) 3b9c: b00b883a mov r5,r22 3ba0: d9800c04 addi r6,sp,48 3ba4: 0002da40 call 2da4 <__sprint_r> 3ba8: 103e4c1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3bac: dc800e17 ldw r18,56(sp) 3bb0: dc400d17 ldw r17,52(sp) 3bb4: dcc01904 addi r19,sp,100 3bb8: 003fee06 br 3b74 <___vfprintf_internal_r+0xd78> 3bbc: 07000074 movhi fp,1 3bc0: e700f184 addi fp,fp,966 3bc4: 9425883a add r18,r18,r16 3bc8: 8c400044 addi r17,r17,1 3bcc: 008001c4 movi r2,7 3bd0: 9f000015 stw fp,0(r19) 3bd4: 9c000115 stw r16,4(r19) 3bd8: dc800e15 stw r18,56(sp) 3bdc: dc400d15 stw r17,52(sp) 3be0: 147e720e bge r2,r17,35ac <___vfprintf_internal_r+0x7b0> 3be4: d9014f17 ldw r4,1340(sp) 3be8: b00b883a mov r5,r22 3bec: d9800c04 addi r6,sp,48 3bf0: 0002da40 call 2da4 <__sprint_r> 3bf4: 103e391e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3bf8: dc800e17 ldw r18,56(sp) 3bfc: dc400d17 ldw r17,52(sp) 3c00: dcc01904 addi r19,sp,100 3c04: 003e6a06 br 35b0 <___vfprintf_internal_r+0x7b4> 3c08: d9014f17 ldw r4,1340(sp) 3c0c: b00b883a mov r5,r22 3c10: d9800c04 addi r6,sp,48 3c14: d9c15115 stw r7,1348(sp) 3c18: 0002da40 call 2da4 <__sprint_r> 3c1c: d9c15117 ldw r7,1348(sp) 3c20: 103e2e1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3c24: dc800e17 ldw r18,56(sp) 3c28: dc400d17 ldw r17,52(sp) 3c2c: dd401904 addi r21,sp,100 3c30: 003dba06 br 331c <___vfprintf_internal_r+0x520> 3c34: d9014f17 ldw r4,1340(sp) 3c38: b00b883a mov r5,r22 3c3c: d9800c04 addi r6,sp,48 3c40: 0002da40 call 2da4 <__sprint_r> 3c44: 103e251e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3c48: dc800e17 ldw r18,56(sp) 3c4c: dc400d17 ldw r17,52(sp) 3c50: dcc01904 addi r19,sp,100 3c54: 003e4206 br 3560 <___vfprintf_internal_r+0x764> 3c58: d9014f17 ldw r4,1340(sp) 3c5c: b00b883a mov r5,r22 3c60: d9800c04 addi r6,sp,48 3c64: 0002da40 call 2da4 <__sprint_r> 3c68: 103e1c1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 3c6c: dc800e17 ldw r18,56(sp) 3c70: dc400d17 ldw r17,52(sp) 3c74: d8c01904 addi r3,sp,100 3c78: 003e2e06 br 3534 <___vfprintf_internal_r+0x738> 3c7c: d9414c17 ldw r5,1328(sp) 3c80: 2880004c andi r2,r5,1 3c84: 1005003a cmpeq r2,r2,zero 3c88: 103dda1e bne r2,zero,33f4 <___vfprintf_internal_r+0x5f8> 3c8c: 003e9f06 br 370c <___vfprintf_internal_r+0x910> 3c90: d8c14117 ldw r3,1284(sp) 3c94: 9125883a add r18,r18,r4 3c98: 8c400044 addi r17,r17,1 3c9c: 008001c4 movi r2,7 3ca0: a8c00015 stw r3,0(r21) 3ca4: a9000115 stw r4,4(r21) 3ca8: dc800e15 stw r18,56(sp) 3cac: dc400d15 stw r17,52(sp) 3cb0: 14426c16 blt r2,r17,4664 <___vfprintf_internal_r+0x1868> 3cb4: a8c00204 addi r3,r21,8 3cb8: d9414917 ldw r5,1316(sp) 3cbc: 00800044 movi r2,1 3cc0: 94800044 addi r18,r18,1 3cc4: 8c400044 addi r17,r17,1 3cc8: 18800115 stw r2,4(r3) 3ccc: 008001c4 movi r2,7 3cd0: 19400015 stw r5,0(r3) 3cd4: dc800e15 stw r18,56(sp) 3cd8: dc400d15 stw r17,52(sp) 3cdc: 2021883a mov r16,r4 3ce0: 14425616 blt r2,r17,463c <___vfprintf_internal_r+0x1840> 3ce4: 19400204 addi r5,r3,8 3ce8: d9814717 ldw r6,1308(sp) 3cec: 8c400044 addi r17,r17,1 3cf0: dc400d15 stw r17,52(sp) 3cf4: 3107c83a sub r3,r6,r4 3cf8: d9014117 ldw r4,1284(sp) 3cfc: 90e5883a add r18,r18,r3 3d00: 28c00115 stw r3,4(r5) 3d04: 8105883a add r2,r16,r4 3d08: 28800015 stw r2,0(r5) 3d0c: 008001c4 movi r2,7 3d10: dc800e15 stw r18,56(sp) 3d14: 147f1d16 blt r2,r17,398c <___vfprintf_internal_r+0xb90> 3d18: 28c00204 addi r3,r5,8 3d1c: 003db506 br 33f4 <___vfprintf_internal_r+0x5f8> 3d20: 3c000017 ldw r16,0(r7) 3d24: 3c400117 ldw r17,4(r7) 3d28: 39800204 addi r6,r7,8 3d2c: 01000044 movi r4,1 3d30: d9814015 stw r6,1280(sp) 3d34: d8000405 stb zero,16(sp) 3d38: 003ebe06 br 3834 <___vfprintf_internal_r+0xa38> 3d3c: 3c000017 ldw r16,0(r7) 3d40: 3c400117 ldw r17,4(r7) 3d44: 38800204 addi r2,r7,8 3d48: d8814015 stw r2,1280(sp) 3d4c: 003eb706 br 382c <___vfprintf_internal_r+0xa30> 3d50: 3c000017 ldw r16,0(r7) 3d54: 3c400117 ldw r17,4(r7) 3d58: 39000204 addi r4,r7,8 3d5c: d9014015 stw r4,1280(sp) 3d60: 0009883a mov r4,zero 3d64: d8000405 stb zero,16(sp) 3d68: 003eb206 br 3834 <___vfprintf_internal_r+0xa38> 3d6c: 38c00017 ldw r3,0(r7) 3d70: 39c00104 addi r7,r7,4 3d74: d8c14a15 stw r3,1320(sp) 3d78: 1800d70e bge r3,zero,40d8 <___vfprintf_internal_r+0x12dc> 3d7c: 00c7c83a sub r3,zero,r3 3d80: d8c14a15 stw r3,1320(sp) 3d84: d9014c17 ldw r4,1328(sp) 3d88: b8c00007 ldb r3,0(r23) 3d8c: 21000114 ori r4,r4,4 3d90: d9014c15 stw r4,1328(sp) 3d94: 003c9806 br 2ff8 <___vfprintf_internal_r+0x1fc> 3d98: d9814c17 ldw r6,1328(sp) 3d9c: 3080080c andi r2,r6,32 3da0: 1001f626 beq r2,zero,457c <___vfprintf_internal_r+0x1780> 3da4: d9014b17 ldw r4,1324(sp) 3da8: 38800017 ldw r2,0(r7) 3dac: 39c00104 addi r7,r7,4 3db0: d9c14015 stw r7,1280(sp) 3db4: 2007d7fa srai r3,r4,31 3db8: d9c14017 ldw r7,1280(sp) 3dbc: 11000015 stw r4,0(r2) 3dc0: 10c00115 stw r3,4(r2) 3dc4: 003c6906 br 2f6c <___vfprintf_internal_r+0x170> 3dc8: b8c00007 ldb r3,0(r23) 3dcc: 00801b04 movi r2,108 3dd0: 18825526 beq r3,r2,4728 <___vfprintf_internal_r+0x192c> 3dd4: d9414c17 ldw r5,1328(sp) 3dd8: 29400414 ori r5,r5,16 3ddc: d9414c15 stw r5,1328(sp) 3de0: 003c8506 br 2ff8 <___vfprintf_internal_r+0x1fc> 3de4: d9814c17 ldw r6,1328(sp) 3de8: b8c00007 ldb r3,0(r23) 3dec: 31800814 ori r6,r6,32 3df0: d9814c15 stw r6,1328(sp) 3df4: 003c8006 br 2ff8 <___vfprintf_internal_r+0x1fc> 3df8: d8814c17 ldw r2,1328(sp) 3dfc: 3c000017 ldw r16,0(r7) 3e00: 00c01e04 movi r3,120 3e04: 10800094 ori r2,r2,2 3e08: d8814c15 stw r2,1328(sp) 3e0c: 39c00104 addi r7,r7,4 3e10: 01400074 movhi r5,1 3e14: 2940da04 addi r5,r5,872 3e18: 00800c04 movi r2,48 3e1c: 0023883a mov r17,zero 3e20: 01000084 movi r4,2 3e24: d9c14015 stw r7,1280(sp) 3e28: d8c14d15 stw r3,1332(sp) 3e2c: d9414415 stw r5,1296(sp) 3e30: d8800445 stb r2,17(sp) 3e34: d8c00485 stb r3,18(sp) 3e38: d8000405 stb zero,16(sp) 3e3c: 003e7d06 br 3834 <___vfprintf_internal_r+0xa38> 3e40: d8814c17 ldw r2,1328(sp) 3e44: b8c00007 ldb r3,0(r23) 3e48: 10801014 ori r2,r2,64 3e4c: d8814c15 stw r2,1328(sp) 3e50: 003c6906 br 2ff8 <___vfprintf_internal_r+0x1fc> 3e54: d9414c17 ldw r5,1328(sp) 3e58: 2880020c andi r2,r5,8 3e5c: 1001e526 beq r2,zero,45f4 <___vfprintf_internal_r+0x17f8> 3e60: 39800017 ldw r6,0(r7) 3e64: 38800204 addi r2,r7,8 3e68: d8814015 stw r2,1280(sp) 3e6c: d9814215 stw r6,1288(sp) 3e70: 39c00117 ldw r7,4(r7) 3e74: d9c14315 stw r7,1292(sp) 3e78: d9014217 ldw r4,1288(sp) 3e7c: d9414317 ldw r5,1292(sp) 3e80: 00098ac0 call 98ac <__isinfd> 3e84: 10021d26 beq r2,zero,46fc <___vfprintf_internal_r+0x1900> 3e88: d9014217 ldw r4,1288(sp) 3e8c: d9414317 ldw r5,1292(sp) 3e90: 000d883a mov r6,zero 3e94: 000f883a mov r7,zero 3e98: 000ba480 call ba48 <__ltdf2> 3e9c: 1002d016 blt r2,zero,49e0 <___vfprintf_internal_r+0x1be4> 3ea0: d9414d17 ldw r5,1332(sp) 3ea4: 008011c4 movi r2,71 3ea8: 11421016 blt r2,r5,46ec <___vfprintf_internal_r+0x18f0> 3eac: 01800074 movhi r6,1 3eb0: 3180df04 addi r6,r6,892 3eb4: d9814115 stw r6,1284(sp) 3eb8: d9014c17 ldw r4,1328(sp) 3ebc: 00c000c4 movi r3,3 3ec0: 00bfdfc4 movi r2,-129 3ec4: 2088703a and r4,r4,r2 3ec8: 180f883a mov r7,r3 3ecc: d8c14515 stw r3,1300(sp) 3ed0: d9014c15 stw r4,1328(sp) 3ed4: d8014615 stw zero,1304(sp) 3ed8: 003e6a06 br 3884 <___vfprintf_internal_r+0xa88> 3edc: 38800017 ldw r2,0(r7) 3ee0: 00c00044 movi r3,1 3ee4: 39c00104 addi r7,r7,4 3ee8: d9c14015 stw r7,1280(sp) 3eec: d9000f04 addi r4,sp,60 3ef0: 180f883a mov r7,r3 3ef4: d8c14515 stw r3,1300(sp) 3ef8: d9014115 stw r4,1284(sp) 3efc: d8800f05 stb r2,60(sp) 3f00: d8000405 stb zero,16(sp) 3f04: 003cac06 br 31b8 <___vfprintf_internal_r+0x3bc> 3f08: 01400074 movhi r5,1 3f0c: 2940e504 addi r5,r5,916 3f10: d9414415 stw r5,1296(sp) 3f14: d9814c17 ldw r6,1328(sp) 3f18: 3080080c andi r2,r6,32 3f1c: 1000ff26 beq r2,zero,431c <___vfprintf_internal_r+0x1520> 3f20: 3c000017 ldw r16,0(r7) 3f24: 3c400117 ldw r17,4(r7) 3f28: 38800204 addi r2,r7,8 3f2c: d8814015 stw r2,1280(sp) 3f30: d9414c17 ldw r5,1328(sp) 3f34: 2880004c andi r2,r5,1 3f38: 1005003a cmpeq r2,r2,zero 3f3c: 1000b91e bne r2,zero,4224 <___vfprintf_internal_r+0x1428> 3f40: 8444b03a or r2,r16,r17 3f44: 1000b726 beq r2,zero,4224 <___vfprintf_internal_r+0x1428> 3f48: d9814d17 ldw r6,1332(sp) 3f4c: 29400094 ori r5,r5,2 3f50: 00800c04 movi r2,48 3f54: 01000084 movi r4,2 3f58: d9414c15 stw r5,1328(sp) 3f5c: d8800445 stb r2,17(sp) 3f60: d9800485 stb r6,18(sp) 3f64: d8000405 stb zero,16(sp) 3f68: 003e3206 br 3834 <___vfprintf_internal_r+0xa38> 3f6c: 01800074 movhi r6,1 3f70: 3180da04 addi r6,r6,872 3f74: d9814415 stw r6,1296(sp) 3f78: 003fe606 br 3f14 <___vfprintf_internal_r+0x1118> 3f7c: 00800ac4 movi r2,43 3f80: d8800405 stb r2,16(sp) 3f84: b8c00007 ldb r3,0(r23) 3f88: 003c1b06 br 2ff8 <___vfprintf_internal_r+0x1fc> 3f8c: d8814c17 ldw r2,1328(sp) 3f90: b8c00007 ldb r3,0(r23) 3f94: 10800054 ori r2,r2,1 3f98: d8814c15 stw r2,1328(sp) 3f9c: 003c1606 br 2ff8 <___vfprintf_internal_r+0x1fc> 3fa0: d8800407 ldb r2,16(sp) 3fa4: 10004c1e bne r2,zero,40d8 <___vfprintf_internal_r+0x12dc> 3fa8: 00800804 movi r2,32 3fac: d8800405 stb r2,16(sp) 3fb0: b8c00007 ldb r3,0(r23) 3fb4: 003c1006 br 2ff8 <___vfprintf_internal_r+0x1fc> 3fb8: d9814c17 ldw r6,1328(sp) 3fbc: b8c00007 ldb r3,0(r23) 3fc0: 31800214 ori r6,r6,8 3fc4: d9814c15 stw r6,1328(sp) 3fc8: 003c0b06 br 2ff8 <___vfprintf_internal_r+0x1fc> 3fcc: 0009883a mov r4,zero 3fd0: 04000244 movi r16,9 3fd4: 01400284 movi r5,10 3fd8: d9c15115 stw r7,1348(sp) 3fdc: 0002c240 call 2c24 <__mulsi3> 3fe0: b9000007 ldb r4,0(r23) 3fe4: d8c14d17 ldw r3,1332(sp) 3fe8: bdc00044 addi r23,r23,1 3fec: d9014d15 stw r4,1332(sp) 3ff0: d9414d17 ldw r5,1332(sp) 3ff4: 1885883a add r2,r3,r2 3ff8: 113ff404 addi r4,r2,-48 3ffc: 28bff404 addi r2,r5,-48 4000: d9c15117 ldw r7,1348(sp) 4004: 80bff32e bgeu r16,r2,3fd4 <___vfprintf_internal_r+0x11d8> 4008: d9014a15 stw r4,1320(sp) 400c: 003bfc06 br 3000 <___vfprintf_internal_r+0x204> 4010: d8814c17 ldw r2,1328(sp) 4014: b8c00007 ldb r3,0(r23) 4018: 10802014 ori r2,r2,128 401c: d8814c15 stw r2,1328(sp) 4020: 003bf506 br 2ff8 <___vfprintf_internal_r+0x1fc> 4024: b8c00007 ldb r3,0(r23) 4028: 00800a84 movi r2,42 402c: bdc00044 addi r23,r23,1 4030: 18831826 beq r3,r2,4c94 <___vfprintf_internal_r+0x1e98> 4034: d8c14d15 stw r3,1332(sp) 4038: 18bff404 addi r2,r3,-48 403c: 00c00244 movi r3,9 4040: 18827b36 bltu r3,r2,4a30 <___vfprintf_internal_r+0x1c34> 4044: 1821883a mov r16,r3 4048: 0009883a mov r4,zero 404c: 01400284 movi r5,10 4050: d9c15115 stw r7,1348(sp) 4054: 0002c240 call 2c24 <__mulsi3> 4058: d9414d17 ldw r5,1332(sp) 405c: b9800007 ldb r6,0(r23) 4060: d9c15117 ldw r7,1348(sp) 4064: 1145883a add r2,r2,r5 4068: 113ff404 addi r4,r2,-48 406c: 30bff404 addi r2,r6,-48 4070: d9814d15 stw r6,1332(sp) 4074: bdc00044 addi r23,r23,1 4078: 80bff42e bgeu r16,r2,404c <___vfprintf_internal_r+0x1250> 407c: 2027883a mov r19,r4 4080: 203bdf0e bge r4,zero,3000 <___vfprintf_internal_r+0x204> 4084: 04ffffc4 movi r19,-1 4088: 003bdd06 br 3000 <___vfprintf_internal_r+0x204> 408c: d8000405 stb zero,16(sp) 4090: 39800017 ldw r6,0(r7) 4094: 39c00104 addi r7,r7,4 4098: d9c14015 stw r7,1280(sp) 409c: d9814115 stw r6,1284(sp) 40a0: 3001c926 beq r6,zero,47c8 <___vfprintf_internal_r+0x19cc> 40a4: 98000e16 blt r19,zero,40e0 <___vfprintf_internal_r+0x12e4> 40a8: d9014117 ldw r4,1284(sp) 40ac: 000b883a mov r5,zero 40b0: 980d883a mov r6,r19 40b4: 0007f300 call 7f30 <memchr> 40b8: 10025926 beq r2,zero,4a20 <___vfprintf_internal_r+0x1c24> 40bc: d8c14117 ldw r3,1284(sp) 40c0: 10cfc83a sub r7,r2,r3 40c4: 99c19e16 blt r19,r7,4740 <___vfprintf_internal_r+0x1944> 40c8: d9c14515 stw r7,1300(sp) 40cc: 38000916 blt r7,zero,40f4 <___vfprintf_internal_r+0x12f8> 40d0: d8014615 stw zero,1304(sp) 40d4: 003deb06 br 3884 <___vfprintf_internal_r+0xa88> 40d8: b8c00007 ldb r3,0(r23) 40dc: 003bc606 br 2ff8 <___vfprintf_internal_r+0x1fc> 40e0: d9014117 ldw r4,1284(sp) 40e4: 0002d300 call 2d30 <strlen> 40e8: d8814515 stw r2,1300(sp) 40ec: 100f883a mov r7,r2 40f0: 103ff70e bge r2,zero,40d0 <___vfprintf_internal_r+0x12d4> 40f4: d8014515 stw zero,1300(sp) 40f8: d8014615 stw zero,1304(sp) 40fc: 003de106 br 3884 <___vfprintf_internal_r+0xa88> 4100: 20c03fcc andi r3,r4,255 4104: 00800044 movi r2,1 4108: 18802d26 beq r3,r2,41c0 <___vfprintf_internal_r+0x13c4> 410c: 18800e36 bltu r3,r2,4148 <___vfprintf_internal_r+0x134c> 4110: 00800084 movi r2,2 4114: 1880fa26 beq r3,r2,4500 <___vfprintf_internal_r+0x1704> 4118: 01000074 movhi r4,1 411c: 2100ea04 addi r4,r4,936 4120: 0002d300 call 2d30 <strlen> 4124: 100f883a mov r7,r2 4128: dcc14515 stw r19,1300(sp) 412c: 9880010e bge r19,r2,4134 <___vfprintf_internal_r+0x1338> 4130: d8814515 stw r2,1300(sp) 4134: 00800074 movhi r2,1 4138: 1080ea04 addi r2,r2,936 413c: dcc14615 stw r19,1304(sp) 4140: d8814115 stw r2,1284(sp) 4144: 003dcf06 br 3884 <___vfprintf_internal_r+0xa88> 4148: d9401904 addi r5,sp,100 414c: dd000f04 addi r20,sp,60 4150: d9414115 stw r5,1284(sp) 4154: 880a977a slli r5,r17,29 4158: d9814117 ldw r6,1284(sp) 415c: 8004d0fa srli r2,r16,3 4160: 8806d0fa srli r3,r17,3 4164: 810001cc andi r4,r16,7 4168: 2884b03a or r2,r5,r2 416c: 31bfffc4 addi r6,r6,-1 4170: 21000c04 addi r4,r4,48 4174: d9814115 stw r6,1284(sp) 4178: 10cab03a or r5,r2,r3 417c: 31000005 stb r4,0(r6) 4180: 1021883a mov r16,r2 4184: 1823883a mov r17,r3 4188: 283ff21e bne r5,zero,4154 <___vfprintf_internal_r+0x1358> 418c: d8c14c17 ldw r3,1328(sp) 4190: 1880004c andi r2,r3,1 4194: 1005003a cmpeq r2,r2,zero 4198: 103db31e bne r2,zero,3868 <___vfprintf_internal_r+0xa6c> 419c: 20803fcc andi r2,r4,255 41a0: 1080201c xori r2,r2,128 41a4: 10bfe004 addi r2,r2,-128 41a8: 00c00c04 movi r3,48 41ac: 10fdae26 beq r2,r3,3868 <___vfprintf_internal_r+0xa6c> 41b0: 31bfffc4 addi r6,r6,-1 41b4: d9814115 stw r6,1284(sp) 41b8: 30c00005 stb r3,0(r6) 41bc: 003daa06 br 3868 <___vfprintf_internal_r+0xa6c> 41c0: 88800068 cmpgeui r2,r17,1 41c4: 10002c1e bne r2,zero,4278 <___vfprintf_internal_r+0x147c> 41c8: 8800021e bne r17,zero,41d4 <___vfprintf_internal_r+0x13d8> 41cc: 00800244 movi r2,9 41d0: 14002936 bltu r2,r16,4278 <___vfprintf_internal_r+0x147c> 41d4: d90018c4 addi r4,sp,99 41d8: dd000f04 addi r20,sp,60 41dc: d9014115 stw r4,1284(sp) 41e0: d9014117 ldw r4,1284(sp) 41e4: 80800c04 addi r2,r16,48 41e8: 20800005 stb r2,0(r4) 41ec: 003d9e06 br 3868 <___vfprintf_internal_r+0xa6c> 41f0: dc400d17 ldw r17,52(sp) 41f4: 07000074 movhi fp,1 41f8: e700f184 addi fp,fp,966 41fc: 9425883a add r18,r18,r16 4200: 8c400044 addi r17,r17,1 4204: 008001c4 movi r2,7 4208: 1f000015 stw fp,0(r3) 420c: 1c000115 stw r16,4(r3) 4210: dc800e15 stw r18,56(sp) 4214: dc400d15 stw r17,52(sp) 4218: 147ddc16 blt r2,r17,398c <___vfprintf_internal_r+0xb90> 421c: 18c00204 addi r3,r3,8 4220: 003c7406 br 33f4 <___vfprintf_internal_r+0x5f8> 4224: 01000084 movi r4,2 4228: d8000405 stb zero,16(sp) 422c: 003d8106 br 3834 <___vfprintf_internal_r+0xa38> 4230: d9814c17 ldw r6,1328(sp) 4234: 30c4703a and r2,r6,r3 4238: 1005003a cmpeq r2,r2,zero 423c: 103cb326 beq r2,zero,350c <___vfprintf_internal_r+0x710> 4240: d9014117 ldw r4,1284(sp) 4244: 94800044 addi r18,r18,1 4248: 8c400044 addi r17,r17,1 424c: 008001c4 movi r2,7 4250: a9000015 stw r4,0(r21) 4254: a8c00115 stw r3,4(r21) 4258: dc800e15 stw r18,56(sp) 425c: dc400d15 stw r17,52(sp) 4260: 147e6016 blt r2,r17,3be4 <___vfprintf_internal_r+0xde8> 4264: acc00204 addi r19,r21,8 4268: 003cd106 br 35b0 <___vfprintf_internal_r+0x7b4> 426c: 07000074 movhi fp,1 4270: e700f184 addi fp,fp,966 4274: 003c4906 br 339c <___vfprintf_internal_r+0x5a0> 4278: dd000f04 addi r20,sp,60 427c: dc801904 addi r18,sp,100 4280: 8009883a mov r4,r16 4284: 880b883a mov r5,r17 4288: 01800284 movi r6,10 428c: 000f883a mov r7,zero 4290: 000a6a80 call a6a8 <__umoddi3> 4294: 12000c04 addi r8,r2,48 4298: 94bfffc4 addi r18,r18,-1 429c: 8009883a mov r4,r16 42a0: 880b883a mov r5,r17 42a4: 01800284 movi r6,10 42a8: 000f883a mov r7,zero 42ac: 92000005 stb r8,0(r18) 42b0: 000a03c0 call a03c <__udivdi3> 42b4: 1009883a mov r4,r2 42b8: 1021883a mov r16,r2 42bc: 18800068 cmpgeui r2,r3,1 42c0: 1823883a mov r17,r3 42c4: 103fee1e bne r2,zero,4280 <___vfprintf_internal_r+0x1484> 42c8: 1800021e bne r3,zero,42d4 <___vfprintf_internal_r+0x14d8> 42cc: 00800244 movi r2,9 42d0: 113feb36 bltu r2,r4,4280 <___vfprintf_internal_r+0x1484> 42d4: 94bfffc4 addi r18,r18,-1 42d8: dc814115 stw r18,1284(sp) 42dc: 003fc006 br 41e0 <___vfprintf_internal_r+0x13e4> 42e0: d9014c17 ldw r4,1328(sp) 42e4: 2080004c andi r2,r4,1 42e8: 10009a1e bne r2,zero,4554 <___vfprintf_internal_r+0x1758> 42ec: d9401904 addi r5,sp,100 42f0: dd000f04 addi r20,sp,60 42f4: d9414115 stw r5,1284(sp) 42f8: 003d5b06 br 3868 <___vfprintf_internal_r+0xa6c> 42fc: d9014f17 ldw r4,1340(sp) 4300: b00b883a mov r5,r22 4304: d9800c04 addi r6,sp,48 4308: 0002da40 call 2da4 <__sprint_r> 430c: 103c731e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 4310: dc800e17 ldw r18,56(sp) 4314: d8c01904 addi r3,sp,100 4318: 003cf906 br 3700 <___vfprintf_internal_r+0x904> 431c: d8c14c17 ldw r3,1328(sp) 4320: 1880040c andi r2,r3,16 4324: 1000711e bne r2,zero,44ec <___vfprintf_internal_r+0x16f0> 4328: d9014c17 ldw r4,1328(sp) 432c: 2080100c andi r2,r4,64 4330: 10006e26 beq r2,zero,44ec <___vfprintf_internal_r+0x16f0> 4334: 3c00000b ldhu r16,0(r7) 4338: 0023883a mov r17,zero 433c: 39c00104 addi r7,r7,4 4340: d9c14015 stw r7,1280(sp) 4344: 003efa06 br 3f30 <___vfprintf_internal_r+0x1134> 4348: dc400d17 ldw r17,52(sp) 434c: 07000074 movhi fp,1 4350: e700f184 addi fp,fp,966 4354: 9425883a add r18,r18,r16 4358: 8c400044 addi r17,r17,1 435c: 008001c4 movi r2,7 4360: 1f000015 stw fp,0(r3) 4364: 1c000115 stw r16,4(r3) 4368: dc800e15 stw r18,56(sp) 436c: dc400d15 stw r17,52(sp) 4370: 147d7016 blt r2,r17,3934 <___vfprintf_internal_r+0xb38> 4374: 18c00204 addi r3,r3,8 4378: 003d7506 br 3950 <___vfprintf_internal_r+0xb54> 437c: dc800e17 ldw r18,56(sp) 4380: dc400d17 ldw r17,52(sp) 4384: 07000074 movhi fp,1 4388: e700f584 addi fp,fp,982 438c: 003bba06 br 3278 <___vfprintf_internal_r+0x47c> 4390: d9014f17 ldw r4,1340(sp) 4394: b00b883a mov r5,r22 4398: d9800c04 addi r6,sp,48 439c: 0002da40 call 2da4 <__sprint_r> 43a0: 103c4e1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 43a4: dc800e17 ldw r18,56(sp) 43a8: d8c01904 addi r3,sp,100 43ac: 003ce306 br 373c <___vfprintf_internal_r+0x940> 43b0: 3c000017 ldw r16,0(r7) 43b4: 0009883a mov r4,zero 43b8: 39c00104 addi r7,r7,4 43bc: 0023883a mov r17,zero 43c0: d9c14015 stw r7,1280(sp) 43c4: d8000405 stb zero,16(sp) 43c8: 003d1a06 br 3834 <___vfprintf_internal_r+0xa38> 43cc: 38800017 ldw r2,0(r7) 43d0: 39c00104 addi r7,r7,4 43d4: d9c14015 stw r7,1280(sp) 43d8: 1023d7fa srai r17,r2,31 43dc: 1021883a mov r16,r2 43e0: 003d1206 br 382c <___vfprintf_internal_r+0xa30> 43e4: 3c000017 ldw r16,0(r7) 43e8: 01000044 movi r4,1 43ec: 39c00104 addi r7,r7,4 43f0: 0023883a mov r17,zero 43f4: d9c14015 stw r7,1280(sp) 43f8: d8000405 stb zero,16(sp) 43fc: 003d0d06 br 3834 <___vfprintf_internal_r+0xa38> 4400: 00800074 movhi r2,1 4404: 1080f104 addi r2,r2,964 4408: 94800044 addi r18,r18,1 440c: 8c400044 addi r17,r17,1 4410: a8800015 stw r2,0(r21) 4414: 00c00044 movi r3,1 4418: 008001c4 movi r2,7 441c: a8c00115 stw r3,4(r21) 4420: dc800e15 stw r18,56(sp) 4424: dc400d15 stw r17,52(sp) 4428: 1440ca16 blt r2,r17,4754 <___vfprintf_internal_r+0x1958> 442c: a8c00204 addi r3,r21,8 4430: 2000061e bne r4,zero,444c <___vfprintf_internal_r+0x1650> 4434: d9414717 ldw r5,1308(sp) 4438: 2800041e bne r5,zero,444c <___vfprintf_internal_r+0x1650> 443c: d9814c17 ldw r6,1328(sp) 4440: 3080004c andi r2,r6,1 4444: 1005003a cmpeq r2,r2,zero 4448: 103bea1e bne r2,zero,33f4 <___vfprintf_internal_r+0x5f8> 444c: 00800044 movi r2,1 4450: dc400d17 ldw r17,52(sp) 4454: 18800115 stw r2,4(r3) 4458: d8814917 ldw r2,1316(sp) 445c: 94800044 addi r18,r18,1 4460: 8c400044 addi r17,r17,1 4464: 18800015 stw r2,0(r3) 4468: 008001c4 movi r2,7 446c: dc800e15 stw r18,56(sp) 4470: dc400d15 stw r17,52(sp) 4474: 1440ca16 blt r2,r17,47a0 <___vfprintf_internal_r+0x19a4> 4478: 18c00204 addi r3,r3,8 447c: 0121c83a sub r16,zero,r4 4480: 0400500e bge zero,r16,45c4 <___vfprintf_internal_r+0x17c8> 4484: 00800404 movi r2,16 4488: 1400800e bge r2,r16,468c <___vfprintf_internal_r+0x1890> 448c: 1027883a mov r19,r2 4490: 07000074 movhi fp,1 4494: e700f184 addi fp,fp,966 4498: 050001c4 movi r20,7 449c: 00000306 br 44ac <___vfprintf_internal_r+0x16b0> 44a0: 18c00204 addi r3,r3,8 44a4: 843ffc04 addi r16,r16,-16 44a8: 9c007a0e bge r19,r16,4694 <___vfprintf_internal_r+0x1898> 44ac: 94800404 addi r18,r18,16 44b0: 8c400044 addi r17,r17,1 44b4: 1f000015 stw fp,0(r3) 44b8: 1cc00115 stw r19,4(r3) 44bc: dc800e15 stw r18,56(sp) 44c0: dc400d15 stw r17,52(sp) 44c4: a47ff60e bge r20,r17,44a0 <___vfprintf_internal_r+0x16a4> 44c8: d9014f17 ldw r4,1340(sp) 44cc: b00b883a mov r5,r22 44d0: d9800c04 addi r6,sp,48 44d4: 0002da40 call 2da4 <__sprint_r> 44d8: 103c001e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 44dc: dc800e17 ldw r18,56(sp) 44e0: dc400d17 ldw r17,52(sp) 44e4: d8c01904 addi r3,sp,100 44e8: 003fee06 br 44a4 <___vfprintf_internal_r+0x16a8> 44ec: 3c000017 ldw r16,0(r7) 44f0: 0023883a mov r17,zero 44f4: 39c00104 addi r7,r7,4 44f8: d9c14015 stw r7,1280(sp) 44fc: 003e8c06 br 3f30 <___vfprintf_internal_r+0x1134> 4500: d9401904 addi r5,sp,100 4504: dd000f04 addi r20,sp,60 4508: d9414115 stw r5,1284(sp) 450c: d9814417 ldw r6,1296(sp) 4510: 880a973a slli r5,r17,28 4514: 8004d13a srli r2,r16,4 4518: 810003cc andi r4,r16,15 451c: 3109883a add r4,r6,r4 4520: 2884b03a or r2,r5,r2 4524: 21400003 ldbu r5,0(r4) 4528: d9014117 ldw r4,1284(sp) 452c: 8806d13a srli r3,r17,4 4530: 1021883a mov r16,r2 4534: 213fffc4 addi r4,r4,-1 4538: d9014115 stw r4,1284(sp) 453c: d9814117 ldw r6,1284(sp) 4540: 10c8b03a or r4,r2,r3 4544: 1823883a mov r17,r3 4548: 31400005 stb r5,0(r6) 454c: 203fef1e bne r4,zero,450c <___vfprintf_internal_r+0x1710> 4550: 003cc506 br 3868 <___vfprintf_internal_r+0xa6c> 4554: 00800c04 movi r2,48 4558: d98018c4 addi r6,sp,99 455c: dd000f04 addi r20,sp,60 4560: d88018c5 stb r2,99(sp) 4564: d9814115 stw r6,1284(sp) 4568: 003cbf06 br 3868 <___vfprintf_internal_r+0xa6c> 456c: dc400d17 ldw r17,52(sp) 4570: 07000074 movhi fp,1 4574: e700f584 addi fp,fp,982 4578: 003bc106 br 3480 <___vfprintf_internal_r+0x684> 457c: d9414c17 ldw r5,1328(sp) 4580: 2880040c andi r2,r5,16 4584: 10007c26 beq r2,zero,4778 <___vfprintf_internal_r+0x197c> 4588: 38800017 ldw r2,0(r7) 458c: 39c00104 addi r7,r7,4 4590: d9c14015 stw r7,1280(sp) 4594: d9814b17 ldw r6,1324(sp) 4598: d9c14017 ldw r7,1280(sp) 459c: 11800015 stw r6,0(r2) 45a0: 003a7206 br 2f6c <___vfprintf_internal_r+0x170> 45a4: d9014f17 ldw r4,1340(sp) 45a8: b00b883a mov r5,r22 45ac: d9800c04 addi r6,sp,48 45b0: 0002da40 call 2da4 <__sprint_r> 45b4: 103bc91e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 45b8: dc800e17 ldw r18,56(sp) 45bc: dc400d17 ldw r17,52(sp) 45c0: d8c01904 addi r3,sp,100 45c4: d9014717 ldw r4,1308(sp) 45c8: d9414117 ldw r5,1284(sp) 45cc: 8c400044 addi r17,r17,1 45d0: 9125883a add r18,r18,r4 45d4: 008001c4 movi r2,7 45d8: 19400015 stw r5,0(r3) 45dc: 19000115 stw r4,4(r3) 45e0: dc800e15 stw r18,56(sp) 45e4: dc400d15 stw r17,52(sp) 45e8: 147ce816 blt r2,r17,398c <___vfprintf_internal_r+0xb90> 45ec: 18c00204 addi r3,r3,8 45f0: 003b8006 br 33f4 <___vfprintf_internal_r+0x5f8> 45f4: 38c00017 ldw r3,0(r7) 45f8: 39000204 addi r4,r7,8 45fc: d9014015 stw r4,1280(sp) 4600: d8c14215 stw r3,1288(sp) 4604: 39c00117 ldw r7,4(r7) 4608: d9c14315 stw r7,1292(sp) 460c: 003e1a06 br 3e78 <___vfprintf_internal_r+0x107c> 4610: 0005883a mov r2,zero 4614: 1409c83a sub r4,r2,r16 4618: 1105803a cmpltu r2,r2,r4 461c: 044bc83a sub r5,zero,r17 4620: 2885c83a sub r2,r5,r2 4624: 2021883a mov r16,r4 4628: 1023883a mov r17,r2 462c: 01000044 movi r4,1 4630: 00800b44 movi r2,45 4634: d8800405 stb r2,16(sp) 4638: 003c7e06 br 3834 <___vfprintf_internal_r+0xa38> 463c: d9014f17 ldw r4,1340(sp) 4640: b00b883a mov r5,r22 4644: d9800c04 addi r6,sp,48 4648: 0002da40 call 2da4 <__sprint_r> 464c: 103ba31e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 4650: dc800e17 ldw r18,56(sp) 4654: dc400d17 ldw r17,52(sp) 4658: d9000517 ldw r4,20(sp) 465c: d9401904 addi r5,sp,100 4660: 003da106 br 3ce8 <___vfprintf_internal_r+0xeec> 4664: d9014f17 ldw r4,1340(sp) 4668: b00b883a mov r5,r22 466c: d9800c04 addi r6,sp,48 4670: 0002da40 call 2da4 <__sprint_r> 4674: 103b991e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 4678: dc800e17 ldw r18,56(sp) 467c: dc400d17 ldw r17,52(sp) 4680: d9000517 ldw r4,20(sp) 4684: d8c01904 addi r3,sp,100 4688: 003d8b06 br 3cb8 <___vfprintf_internal_r+0xebc> 468c: 07000074 movhi fp,1 4690: e700f184 addi fp,fp,966 4694: 9425883a add r18,r18,r16 4698: 8c400044 addi r17,r17,1 469c: 008001c4 movi r2,7 46a0: 1f000015 stw fp,0(r3) 46a4: 1c000115 stw r16,4(r3) 46a8: dc800e15 stw r18,56(sp) 46ac: dc400d15 stw r17,52(sp) 46b0: 147fbc16 blt r2,r17,45a4 <___vfprintf_internal_r+0x17a8> 46b4: 18c00204 addi r3,r3,8 46b8: 003fc206 br 45c4 <___vfprintf_internal_r+0x17c8> 46bc: d9014f17 ldw r4,1340(sp) 46c0: b00b883a mov r5,r22 46c4: d9800c04 addi r6,sp,48 46c8: 0002da40 call 2da4 <__sprint_r> 46cc: 103b831e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 46d0: dc800e17 ldw r18,56(sp) 46d4: d9000517 ldw r4,20(sp) 46d8: d8c01904 addi r3,sp,100 46dc: 003cfc06 br 3ad0 <___vfprintf_internal_r+0xcd4> 46e0: 07000074 movhi fp,1 46e4: e700f184 addi fp,fp,966 46e8: 003bde06 br 3664 <___vfprintf_internal_r+0x868> 46ec: 00800074 movhi r2,1 46f0: 1080e004 addi r2,r2,896 46f4: d8814115 stw r2,1284(sp) 46f8: 003def06 br 3eb8 <___vfprintf_internal_r+0x10bc> 46fc: d9014217 ldw r4,1288(sp) 4700: d9414317 ldw r5,1292(sp) 4704: 00098ec0 call 98ec <__isnand> 4708: 10003926 beq r2,zero,47f0 <___vfprintf_internal_r+0x19f4> 470c: d9414d17 ldw r5,1332(sp) 4710: 008011c4 movi r2,71 4714: 1140ce16 blt r2,r5,4a50 <___vfprintf_internal_r+0x1c54> 4718: 01800074 movhi r6,1 471c: 3180e104 addi r6,r6,900 4720: d9814115 stw r6,1284(sp) 4724: 003de406 br 3eb8 <___vfprintf_internal_r+0x10bc> 4728: d9014c17 ldw r4,1328(sp) 472c: bdc00044 addi r23,r23,1 4730: b8c00007 ldb r3,0(r23) 4734: 21000814 ori r4,r4,32 4738: d9014c15 stw r4,1328(sp) 473c: 003a2e06 br 2ff8 <___vfprintf_internal_r+0x1fc> 4740: dcc14515 stw r19,1300(sp) 4744: 98011016 blt r19,zero,4b88 <___vfprintf_internal_r+0x1d8c> 4748: 980f883a mov r7,r19 474c: d8014615 stw zero,1304(sp) 4750: 003c4c06 br 3884 <___vfprintf_internal_r+0xa88> 4754: d9014f17 ldw r4,1340(sp) 4758: b00b883a mov r5,r22 475c: d9800c04 addi r6,sp,48 4760: 0002da40 call 2da4 <__sprint_r> 4764: 103b5d1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 4768: dc800e17 ldw r18,56(sp) 476c: d9000517 ldw r4,20(sp) 4770: d8c01904 addi r3,sp,100 4774: 003f2e06 br 4430 <___vfprintf_internal_r+0x1634> 4778: d8c14c17 ldw r3,1328(sp) 477c: 1880100c andi r2,r3,64 4780: 1000a026 beq r2,zero,4a04 <___vfprintf_internal_r+0x1c08> 4784: 38800017 ldw r2,0(r7) 4788: 39c00104 addi r7,r7,4 478c: d9c14015 stw r7,1280(sp) 4790: d9014b17 ldw r4,1324(sp) 4794: d9c14017 ldw r7,1280(sp) 4798: 1100000d sth r4,0(r2) 479c: 0039f306 br 2f6c <___vfprintf_internal_r+0x170> 47a0: d9014f17 ldw r4,1340(sp) 47a4: b00b883a mov r5,r22 47a8: d9800c04 addi r6,sp,48 47ac: 0002da40 call 2da4 <__sprint_r> 47b0: 103b4a1e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 47b4: dc800e17 ldw r18,56(sp) 47b8: dc400d17 ldw r17,52(sp) 47bc: d9000517 ldw r4,20(sp) 47c0: d8c01904 addi r3,sp,100 47c4: 003f2d06 br 447c <___vfprintf_internal_r+0x1680> 47c8: 00800184 movi r2,6 47cc: 14c09a36 bltu r2,r19,4a38 <___vfprintf_internal_r+0x1c3c> 47d0: dcc14515 stw r19,1300(sp) 47d4: 9800010e bge r19,zero,47dc <___vfprintf_internal_r+0x19e0> 47d8: d8014515 stw zero,1300(sp) 47dc: 00800074 movhi r2,1 47e0: 1080e304 addi r2,r2,908 47e4: 980f883a mov r7,r19 47e8: d8814115 stw r2,1284(sp) 47ec: 003a7206 br 31b8 <___vfprintf_internal_r+0x3bc> 47f0: 00bfffc4 movi r2,-1 47f4: 9880e226 beq r19,r2,4b80 <___vfprintf_internal_r+0x1d84> 47f8: d9414d17 ldw r5,1332(sp) 47fc: 008019c4 movi r2,103 4800: 2880dc26 beq r5,r2,4b74 <___vfprintf_internal_r+0x1d78> 4804: 008011c4 movi r2,71 4808: 2880da26 beq r5,r2,4b74 <___vfprintf_internal_r+0x1d78> 480c: d9414c17 ldw r5,1328(sp) 4810: d9014317 ldw r4,1292(sp) 4814: d9814217 ldw r6,1288(sp) 4818: 29404014 ori r5,r5,256 481c: d9414c15 stw r5,1328(sp) 4820: 2000cc16 blt r4,zero,4b54 <___vfprintf_internal_r+0x1d58> 4824: 3021883a mov r16,r6 4828: 2023883a mov r17,r4 482c: 0039883a mov fp,zero 4830: d9414d17 ldw r5,1332(sp) 4834: 00801984 movi r2,102 4838: 2880b726 beq r5,r2,4b18 <___vfprintf_internal_r+0x1d1c> 483c: 00801184 movi r2,70 4840: 2880b526 beq r5,r2,4b18 <___vfprintf_internal_r+0x1d1c> 4844: 00801944 movi r2,101 4848: 2880c826 beq r5,r2,4b6c <___vfprintf_internal_r+0x1d70> 484c: 00801144 movi r2,69 4850: 2880c626 beq r5,r2,4b6c <___vfprintf_internal_r+0x1d70> 4854: 9829883a mov r20,r19 4858: d9014f17 ldw r4,1340(sp) 485c: d8800504 addi r2,sp,20 4860: 880d883a mov r6,r17 4864: d8800115 stw r2,4(sp) 4868: d8c00604 addi r3,sp,24 486c: d8800704 addi r2,sp,28 4870: 800b883a mov r5,r16 4874: 01c00084 movi r7,2 4878: d8c00215 stw r3,8(sp) 487c: d8800315 stw r2,12(sp) 4880: dd000015 stw r20,0(sp) 4884: 00050640 call 5064 <_dtoa_r> 4888: d9814d17 ldw r6,1332(sp) 488c: d8814115 stw r2,1284(sp) 4890: 008019c4 movi r2,103 4894: 30809526 beq r6,r2,4aec <___vfprintf_internal_r+0x1cf0> 4898: d8c14d17 ldw r3,1332(sp) 489c: 008011c4 movi r2,71 48a0: 18809226 beq r3,r2,4aec <___vfprintf_internal_r+0x1cf0> 48a4: d9414117 ldw r5,1284(sp) 48a8: d9814d17 ldw r6,1332(sp) 48ac: 00801984 movi r2,102 48b0: 2d25883a add r18,r5,r20 48b4: 30808626 beq r6,r2,4ad0 <___vfprintf_internal_r+0x1cd4> 48b8: 00801184 movi r2,70 48bc: 30808426 beq r6,r2,4ad0 <___vfprintf_internal_r+0x1cd4> 48c0: 000d883a mov r6,zero 48c4: 000f883a mov r7,zero 48c8: 880b883a mov r5,r17 48cc: 8009883a mov r4,r16 48d0: 000b8280 call b828 <__eqdf2> 48d4: 1000751e bne r2,zero,4aac <___vfprintf_internal_r+0x1cb0> 48d8: 9005883a mov r2,r18 48dc: dc800715 stw r18,28(sp) 48e0: d9014117 ldw r4,1284(sp) 48e4: d9414d17 ldw r5,1332(sp) 48e8: 00c019c4 movi r3,103 48ec: 1125c83a sub r18,r2,r4 48f0: 28c06826 beq r5,r3,4a94 <___vfprintf_internal_r+0x1c98> 48f4: 008011c4 movi r2,71 48f8: 28806626 beq r5,r2,4a94 <___vfprintf_internal_r+0x1c98> 48fc: d9000517 ldw r4,20(sp) 4900: d8c14d17 ldw r3,1332(sp) 4904: 00801944 movi r2,101 4908: 10c05516 blt r2,r3,4a60 <___vfprintf_internal_r+0x1c64> 490c: 213fffc4 addi r4,r4,-1 4910: d9000515 stw r4,20(sp) 4914: d8c00805 stb r3,32(sp) 4918: 2021883a mov r16,r4 491c: 2000c116 blt r4,zero,4c24 <___vfprintf_internal_r+0x1e28> 4920: 00800ac4 movi r2,43 4924: d8800845 stb r2,33(sp) 4928: 00800244 movi r2,9 492c: 1400af0e bge r2,r16,4bec <___vfprintf_internal_r+0x1df0> 4930: 1027883a mov r19,r2 4934: dc400b84 addi r17,sp,46 4938: 8009883a mov r4,r16 493c: 01400284 movi r5,10 4940: 0002bb40 call 2bb4 <__modsi3> 4944: 10800c04 addi r2,r2,48 4948: 8c7fffc4 addi r17,r17,-1 494c: 8009883a mov r4,r16 4950: 01400284 movi r5,10 4954: 88800005 stb r2,0(r17) 4958: 0002b540 call 2b54 <__divsi3> 495c: 1021883a mov r16,r2 4960: 98bff516 blt r19,r2,4938 <___vfprintf_internal_r+0x1b3c> 4964: 10c00c04 addi r3,r2,48 4968: d88009c4 addi r2,sp,39 496c: 108001c4 addi r2,r2,7 4970: 897fffc4 addi r5,r17,-1 4974: 88ffffc5 stb r3,-1(r17) 4978: 2880a72e bgeu r5,r2,4c18 <___vfprintf_internal_r+0x1e1c> 497c: 1009883a mov r4,r2 4980: d9800804 addi r6,sp,32 4984: d8c00884 addi r3,sp,34 4988: 28800003 ldbu r2,0(r5) 498c: 29400044 addi r5,r5,1 4990: 18800005 stb r2,0(r3) 4994: 18c00044 addi r3,r3,1 4998: 293ffb36 bltu r5,r4,4988 <___vfprintf_internal_r+0x1b8c> 499c: 1987c83a sub r3,r3,r6 49a0: 00800044 movi r2,1 49a4: d8c14815 stw r3,1312(sp) 49a8: 90cf883a add r7,r18,r3 49ac: 1480960e bge r2,r18,4c08 <___vfprintf_internal_r+0x1e0c> 49b0: 39c00044 addi r7,r7,1 49b4: d9c14515 stw r7,1300(sp) 49b8: 38003416 blt r7,zero,4a8c <___vfprintf_internal_r+0x1c90> 49bc: e0803fcc andi r2,fp,255 49c0: 1080201c xori r2,r2,128 49c4: 10bfe004 addi r2,r2,-128 49c8: 10004e26 beq r2,zero,4b04 <___vfprintf_internal_r+0x1d08> 49cc: 00800b44 movi r2,45 49d0: dc814715 stw r18,1308(sp) 49d4: d8014615 stw zero,1304(sp) 49d8: d8800405 stb r2,16(sp) 49dc: 003bab06 br 388c <___vfprintf_internal_r+0xa90> 49e0: 00800b44 movi r2,45 49e4: d8800405 stb r2,16(sp) 49e8: 003d2d06 br 3ea0 <___vfprintf_internal_r+0x10a4> 49ec: d9014f17 ldw r4,1340(sp) 49f0: b00b883a mov r5,r22 49f4: d9800c04 addi r6,sp,48 49f8: 0002da40 call 2da4 <__sprint_r> 49fc: 103ab71e bne r2,zero,34dc <___vfprintf_internal_r+0x6e0> 4a00: 003ab506 br 34d8 <___vfprintf_internal_r+0x6dc> 4a04: 38800017 ldw r2,0(r7) 4a08: 39c00104 addi r7,r7,4 4a0c: d9c14015 stw r7,1280(sp) 4a10: d9414b17 ldw r5,1324(sp) 4a14: d9c14017 ldw r7,1280(sp) 4a18: 11400015 stw r5,0(r2) 4a1c: 00395306 br 2f6c <___vfprintf_internal_r+0x170> 4a20: 980f883a mov r7,r19 4a24: dcc14515 stw r19,1300(sp) 4a28: d8014615 stw zero,1304(sp) 4a2c: 003b9506 br 3884 <___vfprintf_internal_r+0xa88> 4a30: 0027883a mov r19,zero 4a34: 00397206 br 3000 <___vfprintf_internal_r+0x204> 4a38: 00c00074 movhi r3,1 4a3c: 18c0e304 addi r3,r3,908 4a40: 100f883a mov r7,r2 4a44: d8814515 stw r2,1300(sp) 4a48: d8c14115 stw r3,1284(sp) 4a4c: 0039da06 br 31b8 <___vfprintf_internal_r+0x3bc> 4a50: 00800074 movhi r2,1 4a54: 1080e204 addi r2,r2,904 4a58: d8814115 stw r2,1284(sp) 4a5c: 003d1606 br 3eb8 <___vfprintf_internal_r+0x10bc> 4a60: d9414d17 ldw r5,1332(sp) 4a64: 00801984 movi r2,102 4a68: 28804926 beq r5,r2,4b90 <___vfprintf_internal_r+0x1d94> 4a6c: 200f883a mov r7,r4 4a70: 24805716 blt r4,r18,4bd0 <___vfprintf_internal_r+0x1dd4> 4a74: d9414c17 ldw r5,1328(sp) 4a78: 2880004c andi r2,r5,1 4a7c: 10000126 beq r2,zero,4a84 <___vfprintf_internal_r+0x1c88> 4a80: 21c00044 addi r7,r4,1 4a84: d9c14515 stw r7,1300(sp) 4a88: 383fcc0e bge r7,zero,49bc <___vfprintf_internal_r+0x1bc0> 4a8c: d8014515 stw zero,1300(sp) 4a90: 003fca06 br 49bc <___vfprintf_internal_r+0x1bc0> 4a94: d9000517 ldw r4,20(sp) 4a98: 00bfff04 movi r2,-4 4a9c: 1100480e bge r2,r4,4bc0 <___vfprintf_internal_r+0x1dc4> 4aa0: 99004716 blt r19,r4,4bc0 <___vfprintf_internal_r+0x1dc4> 4aa4: d8c14d15 stw r3,1332(sp) 4aa8: 003ff006 br 4a6c <___vfprintf_internal_r+0x1c70> 4aac: d8800717 ldw r2,28(sp) 4ab0: 14bf8b2e bgeu r2,r18,48e0 <___vfprintf_internal_r+0x1ae4> 4ab4: 9007883a mov r3,r18 4ab8: 01000c04 movi r4,48 4abc: 11000005 stb r4,0(r2) 4ac0: 10800044 addi r2,r2,1 4ac4: d8800715 stw r2,28(sp) 4ac8: 18bffc1e bne r3,r2,4abc <___vfprintf_internal_r+0x1cc0> 4acc: 003f8406 br 48e0 <___vfprintf_internal_r+0x1ae4> 4ad0: d8814117 ldw r2,1284(sp) 4ad4: 10c00007 ldb r3,0(r2) 4ad8: 00800c04 movi r2,48 4adc: 18805b26 beq r3,r2,4c4c <___vfprintf_internal_r+0x1e50> 4ae0: d9000517 ldw r4,20(sp) 4ae4: 9125883a add r18,r18,r4 4ae8: 003f7506 br 48c0 <___vfprintf_internal_r+0x1ac4> 4aec: d9014c17 ldw r4,1328(sp) 4af0: 2080004c andi r2,r4,1 4af4: 1005003a cmpeq r2,r2,zero 4af8: 103f6a26 beq r2,zero,48a4 <___vfprintf_internal_r+0x1aa8> 4afc: d8800717 ldw r2,28(sp) 4b00: 003f7706 br 48e0 <___vfprintf_internal_r+0x1ae4> 4b04: d9c14515 stw r7,1300(sp) 4b08: 38004d16 blt r7,zero,4c40 <___vfprintf_internal_r+0x1e44> 4b0c: dc814715 stw r18,1308(sp) 4b10: d8014615 stw zero,1304(sp) 4b14: 003b5b06 br 3884 <___vfprintf_internal_r+0xa88> 4b18: d9014f17 ldw r4,1340(sp) 4b1c: d8800504 addi r2,sp,20 4b20: d8800115 stw r2,4(sp) 4b24: d8c00604 addi r3,sp,24 4b28: d8800704 addi r2,sp,28 4b2c: 800b883a mov r5,r16 4b30: 880d883a mov r6,r17 4b34: 01c000c4 movi r7,3 4b38: d8c00215 stw r3,8(sp) 4b3c: d8800315 stw r2,12(sp) 4b40: dcc00015 stw r19,0(sp) 4b44: 9829883a mov r20,r19 4b48: 00050640 call 5064 <_dtoa_r> 4b4c: d8814115 stw r2,1284(sp) 4b50: 003f5106 br 4898 <___vfprintf_internal_r+0x1a9c> 4b54: d8c14217 ldw r3,1288(sp) 4b58: d9014317 ldw r4,1292(sp) 4b5c: 07000b44 movi fp,45 4b60: 1821883a mov r16,r3 4b64: 2460003c xorhi r17,r4,32768 4b68: 003f3106 br 4830 <___vfprintf_internal_r+0x1a34> 4b6c: 9d000044 addi r20,r19,1 4b70: 003f3906 br 4858 <___vfprintf_internal_r+0x1a5c> 4b74: 983f251e bne r19,zero,480c <___vfprintf_internal_r+0x1a10> 4b78: 04c00044 movi r19,1 4b7c: 003f2306 br 480c <___vfprintf_internal_r+0x1a10> 4b80: 04c00184 movi r19,6 4b84: 003f2106 br 480c <___vfprintf_internal_r+0x1a10> 4b88: d8014515 stw zero,1300(sp) 4b8c: 003eee06 br 4748 <___vfprintf_internal_r+0x194c> 4b90: 200f883a mov r7,r4 4b94: 0100370e bge zero,r4,4c74 <___vfprintf_internal_r+0x1e78> 4b98: 9800031e bne r19,zero,4ba8 <___vfprintf_internal_r+0x1dac> 4b9c: d9814c17 ldw r6,1328(sp) 4ba0: 3080004c andi r2,r6,1 4ba4: 103fb726 beq r2,zero,4a84 <___vfprintf_internal_r+0x1c88> 4ba8: 20800044 addi r2,r4,1 4bac: 98a7883a add r19,r19,r2 4bb0: dcc14515 stw r19,1300(sp) 4bb4: 980f883a mov r7,r19 4bb8: 983f800e bge r19,zero,49bc <___vfprintf_internal_r+0x1bc0> 4bbc: 003fb306 br 4a8c <___vfprintf_internal_r+0x1c90> 4bc0: d9814d17 ldw r6,1332(sp) 4bc4: 31bfff84 addi r6,r6,-2 4bc8: d9814d15 stw r6,1332(sp) 4bcc: 003f4c06 br 4900 <___vfprintf_internal_r+0x1b04> 4bd0: 0100180e bge zero,r4,4c34 <___vfprintf_internal_r+0x1e38> 4bd4: 00800044 movi r2,1 4bd8: 1485883a add r2,r2,r18 4bdc: d8814515 stw r2,1300(sp) 4be0: 100f883a mov r7,r2 4be4: 103f750e bge r2,zero,49bc <___vfprintf_internal_r+0x1bc0> 4be8: 003fa806 br 4a8c <___vfprintf_internal_r+0x1c90> 4bec: 80c00c04 addi r3,r16,48 4bf0: 00800c04 movi r2,48 4bf4: d8c008c5 stb r3,35(sp) 4bf8: d9800804 addi r6,sp,32 4bfc: d8c00904 addi r3,sp,36 4c00: d8800885 stb r2,34(sp) 4c04: 003f6506 br 499c <___vfprintf_internal_r+0x1ba0> 4c08: d9014c17 ldw r4,1328(sp) 4c0c: 2084703a and r2,r4,r2 4c10: 103f9c26 beq r2,zero,4a84 <___vfprintf_internal_r+0x1c88> 4c14: 003f6606 br 49b0 <___vfprintf_internal_r+0x1bb4> 4c18: d9800804 addi r6,sp,32 4c1c: d8c00884 addi r3,sp,34 4c20: 003f5e06 br 499c <___vfprintf_internal_r+0x1ba0> 4c24: 00800b44 movi r2,45 4c28: 0121c83a sub r16,zero,r4 4c2c: d8800845 stb r2,33(sp) 4c30: 003f3d06 br 4928 <___vfprintf_internal_r+0x1b2c> 4c34: 00800084 movi r2,2 4c38: 1105c83a sub r2,r2,r4 4c3c: 003fe606 br 4bd8 <___vfprintf_internal_r+0x1ddc> 4c40: d8014515 stw zero,1300(sp) 4c44: dc814715 stw r18,1308(sp) 4c48: 003fb106 br 4b10 <___vfprintf_internal_r+0x1d14> 4c4c: 000d883a mov r6,zero 4c50: 000f883a mov r7,zero 4c54: 8009883a mov r4,r16 4c58: 880b883a mov r5,r17 4c5c: 000b8b00 call b8b0 <__nedf2> 4c60: 103f9f26 beq r2,zero,4ae0 <___vfprintf_internal_r+0x1ce4> 4c64: 00800044 movi r2,1 4c68: 1509c83a sub r4,r2,r20 4c6c: d9000515 stw r4,20(sp) 4c70: 003f9b06 br 4ae0 <___vfprintf_internal_r+0x1ce4> 4c74: 98000d1e bne r19,zero,4cac <___vfprintf_internal_r+0x1eb0> 4c78: d8c14c17 ldw r3,1328(sp) 4c7c: 1880004c andi r2,r3,1 4c80: 10000a1e bne r2,zero,4cac <___vfprintf_internal_r+0x1eb0> 4c84: 01000044 movi r4,1 4c88: 200f883a mov r7,r4 4c8c: d9014515 stw r4,1300(sp) 4c90: 003f4a06 br 49bc <___vfprintf_internal_r+0x1bc0> 4c94: 3cc00017 ldw r19,0(r7) 4c98: 39c00104 addi r7,r7,4 4c9c: 983d0e0e bge r19,zero,40d8 <___vfprintf_internal_r+0x12dc> 4ca0: b8c00007 ldb r3,0(r23) 4ca4: 04ffffc4 movi r19,-1 4ca8: 0038d306 br 2ff8 <___vfprintf_internal_r+0x1fc> 4cac: 9cc00084 addi r19,r19,2 4cb0: dcc14515 stw r19,1300(sp) 4cb4: 980f883a mov r7,r19 4cb8: 983f400e bge r19,zero,49bc <___vfprintf_internal_r+0x1bc0> 4cbc: 003f7306 br 4a8c <___vfprintf_internal_r+0x1c90> 00004cc0 <__vfprintf_internal>: 4cc0: 00800074 movhi r2,1 4cc4: 10887e04 addi r2,r2,8696 4cc8: 2013883a mov r9,r4 4ccc: 11000017 ldw r4,0(r2) 4cd0: 2805883a mov r2,r5 4cd4: 300f883a mov r7,r6 4cd8: 480b883a mov r5,r9 4cdc: 100d883a mov r6,r2 4ce0: 0002dfc1 jmpi 2dfc <___vfprintf_internal_r> 00004ce4 <__swsetup_r>: 4ce4: 00800074 movhi r2,1 4ce8: 10887e04 addi r2,r2,8696 4cec: 10c00017 ldw r3,0(r2) 4cf0: defffd04 addi sp,sp,-12 4cf4: dc400115 stw r17,4(sp) 4cf8: dc000015 stw r16,0(sp) 4cfc: dfc00215 stw ra,8(sp) 4d00: 2023883a mov r17,r4 4d04: 2821883a mov r16,r5 4d08: 18000226 beq r3,zero,4d14 <__swsetup_r+0x30> 4d0c: 18800e17 ldw r2,56(r3) 4d10: 10001f26 beq r2,zero,4d90 <__swsetup_r+0xac> 4d14: 8100030b ldhu r4,12(r16) 4d18: 2080020c andi r2,r4,8 4d1c: 10002826 beq r2,zero,4dc0 <__swsetup_r+0xdc> 4d20: 81400417 ldw r5,16(r16) 4d24: 28001d26 beq r5,zero,4d9c <__swsetup_r+0xb8> 4d28: 2080004c andi r2,r4,1 4d2c: 1005003a cmpeq r2,r2,zero 4d30: 10000b26 beq r2,zero,4d60 <__swsetup_r+0x7c> 4d34: 2080008c andi r2,r4,2 4d38: 10001226 beq r2,zero,4d84 <__swsetup_r+0xa0> 4d3c: 0005883a mov r2,zero 4d40: 80800215 stw r2,8(r16) 4d44: 28000b26 beq r5,zero,4d74 <__swsetup_r+0x90> 4d48: 0005883a mov r2,zero 4d4c: dfc00217 ldw ra,8(sp) 4d50: dc400117 ldw r17,4(sp) 4d54: dc000017 ldw r16,0(sp) 4d58: dec00304 addi sp,sp,12 4d5c: f800283a ret 4d60: 80800517 ldw r2,20(r16) 4d64: 80000215 stw zero,8(r16) 4d68: 0085c83a sub r2,zero,r2 4d6c: 80800615 stw r2,24(r16) 4d70: 283ff51e bne r5,zero,4d48 <__swsetup_r+0x64> 4d74: 2080200c andi r2,r4,128 4d78: 103ff326 beq r2,zero,4d48 <__swsetup_r+0x64> 4d7c: 00bfffc4 movi r2,-1 4d80: 003ff206 br 4d4c <__swsetup_r+0x68> 4d84: 80800517 ldw r2,20(r16) 4d88: 80800215 stw r2,8(r16) 4d8c: 003fed06 br 4d44 <__swsetup_r+0x60> 4d90: 1809883a mov r4,r3 4d94: 00068b00 call 68b0 <__sinit> 4d98: 003fde06 br 4d14 <__swsetup_r+0x30> 4d9c: 20c0a00c andi r3,r4,640 4da0: 00808004 movi r2,512 4da4: 18bfe026 beq r3,r2,4d28 <__swsetup_r+0x44> 4da8: 8809883a mov r4,r17 4dac: 800b883a mov r5,r16 4db0: 000765c0 call 765c <__smakebuf_r> 4db4: 8100030b ldhu r4,12(r16) 4db8: 81400417 ldw r5,16(r16) 4dbc: 003fda06 br 4d28 <__swsetup_r+0x44> 4dc0: 2080040c andi r2,r4,16 4dc4: 103fed26 beq r2,zero,4d7c <__swsetup_r+0x98> 4dc8: 2080010c andi r2,r4,4 4dcc: 10001226 beq r2,zero,4e18 <__swsetup_r+0x134> 4dd0: 81400c17 ldw r5,48(r16) 4dd4: 28000526 beq r5,zero,4dec <__swsetup_r+0x108> 4dd8: 80801004 addi r2,r16,64 4ddc: 28800226 beq r5,r2,4de8 <__swsetup_r+0x104> 4de0: 8809883a mov r4,r17 4de4: 0006c680 call 6c68 <_free_r> 4de8: 80000c15 stw zero,48(r16) 4dec: 8080030b ldhu r2,12(r16) 4df0: 81400417 ldw r5,16(r16) 4df4: 80000115 stw zero,4(r16) 4df8: 10bff6cc andi r2,r2,65499 4dfc: 8080030d sth r2,12(r16) 4e00: 81400015 stw r5,0(r16) 4e04: 8080030b ldhu r2,12(r16) 4e08: 10800214 ori r2,r2,8 4e0c: 113fffcc andi r4,r2,65535 4e10: 8080030d sth r2,12(r16) 4e14: 003fc306 br 4d24 <__swsetup_r+0x40> 4e18: 81400417 ldw r5,16(r16) 4e1c: 003ff906 br 4e04 <__swsetup_r+0x120> 00004e20 <quorem>: 4e20: 28c00417 ldw r3,16(r5) 4e24: 20800417 ldw r2,16(r4) 4e28: defff104 addi sp,sp,-60 4e2c: dfc00e15 stw ra,56(sp) 4e30: df000d15 stw fp,52(sp) 4e34: ddc00c15 stw r23,48(sp) 4e38: dd800b15 stw r22,44(sp) 4e3c: dd400a15 stw r21,40(sp) 4e40: dd000915 stw r20,36(sp) 4e44: dcc00815 stw r19,32(sp) 4e48: dc800715 stw r18,28(sp) 4e4c: dc400615 stw r17,24(sp) 4e50: dc000515 stw r16,20(sp) 4e54: d9000315 stw r4,12(sp) 4e58: d9400415 stw r5,16(sp) 4e5c: 10c07f16 blt r2,r3,505c <quorem+0x23c> 4e60: 1d3fffc4 addi r20,r3,-1 4e64: d8c00417 ldw r3,16(sp) 4e68: d9000317 ldw r4,12(sp) 4e6c: a505883a add r2,r20,r20 4e70: 1085883a add r2,r2,r2 4e74: 1cc00504 addi r19,r3,20 4e78: 25c00504 addi r23,r4,20 4e7c: 98ad883a add r22,r19,r2 4e80: 15c7883a add r3,r2,r23 4e84: b1400017 ldw r5,0(r22) 4e88: 19000017 ldw r4,0(r3) 4e8c: d8c00015 stw r3,0(sp) 4e90: 29400044 addi r5,r5,1 4e94: d9000215 stw r4,8(sp) 4e98: 0002c140 call 2c14 <__udivsi3> 4e9c: 1039883a mov fp,r2 4ea0: 10003d1e bne r2,zero,4f98 <quorem+0x178> 4ea4: d9400417 ldw r5,16(sp) 4ea8: d9000317 ldw r4,12(sp) 4eac: 00083880 call 8388 <__mcmp> 4eb0: 10002c16 blt r2,zero,4f64 <quorem+0x144> 4eb4: e7000044 addi fp,fp,1 4eb8: b80f883a mov r7,r23 4ebc: 0011883a mov r8,zero 4ec0: 0009883a mov r4,zero 4ec4: 99400017 ldw r5,0(r19) 4ec8: 38c00017 ldw r3,0(r7) 4ecc: 9cc00104 addi r19,r19,4 4ed0: 28bfffcc andi r2,r5,65535 4ed4: 2085883a add r2,r4,r2 4ed8: 11bfffcc andi r6,r2,65535 4edc: 193fffcc andi r4,r3,65535 4ee0: 1004d43a srli r2,r2,16 4ee4: 280ad43a srli r5,r5,16 4ee8: 2189c83a sub r4,r4,r6 4eec: 2209883a add r4,r4,r8 4ef0: 1806d43a srli r3,r3,16 4ef4: 288b883a add r5,r5,r2 4ef8: 200dd43a srai r6,r4,16 4efc: 28bfffcc andi r2,r5,65535 4f00: 1887c83a sub r3,r3,r2 4f04: 1987883a add r3,r3,r6 4f08: 3900000d sth r4,0(r7) 4f0c: 38c0008d sth r3,2(r7) 4f10: 2808d43a srli r4,r5,16 4f14: 39c00104 addi r7,r7,4 4f18: 1811d43a srai r8,r3,16 4f1c: b4ffe92e bgeu r22,r19,4ec4 <quorem+0xa4> 4f20: a505883a add r2,r20,r20 4f24: 1085883a add r2,r2,r2 4f28: b885883a add r2,r23,r2 4f2c: 10c00017 ldw r3,0(r2) 4f30: 18000c1e bne r3,zero,4f64 <quorem+0x144> 4f34: 113fff04 addi r4,r2,-4 4f38: b900082e bgeu r23,r4,4f5c <quorem+0x13c> 4f3c: 10bfff17 ldw r2,-4(r2) 4f40: 10000326 beq r2,zero,4f50 <quorem+0x130> 4f44: 00000506 br 4f5c <quorem+0x13c> 4f48: 20800017 ldw r2,0(r4) 4f4c: 1000031e bne r2,zero,4f5c <quorem+0x13c> 4f50: 213fff04 addi r4,r4,-4 4f54: a53fffc4 addi r20,r20,-1 4f58: b93ffb36 bltu r23,r4,4f48 <quorem+0x128> 4f5c: d9000317 ldw r4,12(sp) 4f60: 25000415 stw r20,16(r4) 4f64: e005883a mov r2,fp 4f68: dfc00e17 ldw ra,56(sp) 4f6c: df000d17 ldw fp,52(sp) 4f70: ddc00c17 ldw r23,48(sp) 4f74: dd800b17 ldw r22,44(sp) 4f78: dd400a17 ldw r21,40(sp) 4f7c: dd000917 ldw r20,36(sp) 4f80: dcc00817 ldw r19,32(sp) 4f84: dc800717 ldw r18,28(sp) 4f88: dc400617 ldw r17,24(sp) 4f8c: dc000517 ldw r16,20(sp) 4f90: dec00f04 addi sp,sp,60 4f94: f800283a ret 4f98: b823883a mov r17,r23 4f9c: 9825883a mov r18,r19 4fa0: d8000115 stw zero,4(sp) 4fa4: 002b883a mov r21,zero 4fa8: 94000017 ldw r16,0(r18) 4fac: e009883a mov r4,fp 4fb0: 94800104 addi r18,r18,4 4fb4: 817fffcc andi r5,r16,65535 4fb8: 0002c240 call 2c24 <__mulsi3> 4fbc: 800ad43a srli r5,r16,16 4fc0: e009883a mov r4,fp 4fc4: a8a1883a add r16,r21,r2 4fc8: 0002c240 call 2c24 <__mulsi3> 4fcc: 89000017 ldw r4,0(r17) 4fd0: 80ffffcc andi r3,r16,65535 4fd4: 8020d43a srli r16,r16,16 4fd8: 217fffcc andi r5,r4,65535 4fdc: 28cbc83a sub r5,r5,r3 4fe0: d8c00117 ldw r3,4(sp) 4fe4: 2008d43a srli r4,r4,16 4fe8: 1405883a add r2,r2,r16 4fec: 28cb883a add r5,r5,r3 4ff0: 280dd43a srai r6,r5,16 4ff4: 10ffffcc andi r3,r2,65535 4ff8: 20c9c83a sub r4,r4,r3 4ffc: 2189883a add r4,r4,r6 5000: 8900008d sth r4,2(r17) 5004: 2009d43a srai r4,r4,16 5008: 8940000d sth r5,0(r17) 500c: 102ad43a srli r21,r2,16 5010: 8c400104 addi r17,r17,4 5014: d9000115 stw r4,4(sp) 5018: b4bfe32e bgeu r22,r18,4fa8 <quorem+0x188> 501c: d9000217 ldw r4,8(sp) 5020: 203fa01e bne r4,zero,4ea4 <quorem+0x84> 5024: d8800017 ldw r2,0(sp) 5028: 10ffff04 addi r3,r2,-4 502c: b8c0082e bgeu r23,r3,5050 <quorem+0x230> 5030: 10bfff17 ldw r2,-4(r2) 5034: 10000326 beq r2,zero,5044 <quorem+0x224> 5038: 00000506 br 5050 <quorem+0x230> 503c: 18800017 ldw r2,0(r3) 5040: 1000031e bne r2,zero,5050 <quorem+0x230> 5044: 18ffff04 addi r3,r3,-4 5048: a53fffc4 addi r20,r20,-1 504c: b8fffb36 bltu r23,r3,503c <quorem+0x21c> 5050: d8c00317 ldw r3,12(sp) 5054: 1d000415 stw r20,16(r3) 5058: 003f9206 br 4ea4 <quorem+0x84> 505c: 0005883a mov r2,zero 5060: 003fc106 br 4f68 <quorem+0x148> 00005064 <_dtoa_r>: 5064: 22001017 ldw r8,64(r4) 5068: deffda04 addi sp,sp,-152 506c: dd402115 stw r21,132(sp) 5070: dd002015 stw r20,128(sp) 5074: dc801e15 stw r18,120(sp) 5078: dc401d15 stw r17,116(sp) 507c: dfc02515 stw ra,148(sp) 5080: df002415 stw fp,144(sp) 5084: ddc02315 stw r23,140(sp) 5088: dd802215 stw r22,136(sp) 508c: dcc01f15 stw r19,124(sp) 5090: dc001c15 stw r16,112(sp) 5094: d9001615 stw r4,88(sp) 5098: 3023883a mov r17,r6 509c: 2829883a mov r20,r5 50a0: d9c01715 stw r7,92(sp) 50a4: dc802817 ldw r18,160(sp) 50a8: 302b883a mov r21,r6 50ac: 40000a26 beq r8,zero,50d8 <_dtoa_r+0x74> 50b0: 20801117 ldw r2,68(r4) 50b4: 400b883a mov r5,r8 50b8: 40800115 stw r2,4(r8) 50bc: 20c01117 ldw r3,68(r4) 50c0: 00800044 movi r2,1 50c4: 10c4983a sll r2,r2,r3 50c8: 40800215 stw r2,8(r8) 50cc: 000822c0 call 822c <_Bfree> 50d0: d8c01617 ldw r3,88(sp) 50d4: 18001015 stw zero,64(r3) 50d8: 8800a316 blt r17,zero,5368 <_dtoa_r+0x304> 50dc: 90000015 stw zero,0(r18) 50e0: a8dffc2c andhi r3,r21,32752 50e4: 009ffc34 movhi r2,32752 50e8: 18809126 beq r3,r2,5330 <_dtoa_r+0x2cc> 50ec: 000d883a mov r6,zero 50f0: 000f883a mov r7,zero 50f4: a009883a mov r4,r20 50f8: a80b883a mov r5,r21 50fc: dd001215 stw r20,72(sp) 5100: dd401315 stw r21,76(sp) 5104: 000b8b00 call b8b0 <__nedf2> 5108: 1000171e bne r2,zero,5168 <_dtoa_r+0x104> 510c: d9802717 ldw r6,156(sp) 5110: 00800044 movi r2,1 5114: 30800015 stw r2,0(r6) 5118: d8802917 ldw r2,164(sp) 511c: 10029b26 beq r2,zero,5b8c <_dtoa_r+0xb28> 5120: d9002917 ldw r4,164(sp) 5124: 00800074 movhi r2,1 5128: 1080f144 addi r2,r2,965 512c: 10ffffc4 addi r3,r2,-1 5130: 20800015 stw r2,0(r4) 5134: 1805883a mov r2,r3 5138: dfc02517 ldw ra,148(sp) 513c: df002417 ldw fp,144(sp) 5140: ddc02317 ldw r23,140(sp) 5144: dd802217 ldw r22,136(sp) 5148: dd402117 ldw r21,132(sp) 514c: dd002017 ldw r20,128(sp) 5150: dcc01f17 ldw r19,124(sp) 5154: dc801e17 ldw r18,120(sp) 5158: dc401d17 ldw r17,116(sp) 515c: dc001c17 ldw r16,112(sp) 5160: dec02604 addi sp,sp,152 5164: f800283a ret 5168: d9001617 ldw r4,88(sp) 516c: d9401217 ldw r5,72(sp) 5170: d8800104 addi r2,sp,4 5174: a80d883a mov r6,r21 5178: d9c00204 addi r7,sp,8 517c: d8800015 stw r2,0(sp) 5180: 00088680 call 8868 <__d2b> 5184: d8800715 stw r2,28(sp) 5188: a804d53a srli r2,r21,20 518c: 1101ffcc andi r4,r2,2047 5190: 20008626 beq r4,zero,53ac <_dtoa_r+0x348> 5194: d8c01217 ldw r3,72(sp) 5198: 00800434 movhi r2,16 519c: 10bfffc4 addi r2,r2,-1 51a0: ddc00117 ldw r23,4(sp) 51a4: a884703a and r2,r21,r2 51a8: 1811883a mov r8,r3 51ac: 124ffc34 orhi r9,r2,16368 51b0: 25bf0044 addi r22,r4,-1023 51b4: d8000815 stw zero,32(sp) 51b8: 0005883a mov r2,zero 51bc: 00cffe34 movhi r3,16376 51c0: 480b883a mov r5,r9 51c4: 4009883a mov r4,r8 51c8: 180f883a mov r7,r3 51cc: 100d883a mov r6,r2 51d0: 000b1180 call b118 <__subdf3> 51d4: 0218dbf4 movhi r8,25455 51d8: 4210d844 addi r8,r8,17249 51dc: 024ff4f4 movhi r9,16339 51e0: 4a61e9c4 addi r9,r9,-30809 51e4: 480f883a mov r7,r9 51e8: 400d883a mov r6,r8 51ec: 180b883a mov r5,r3 51f0: 1009883a mov r4,r2 51f4: 000b20c0 call b20c <__muldf3> 51f8: 0222d874 movhi r8,35681 51fc: 42322cc4 addi r8,r8,-14157 5200: 024ff1f4 movhi r9,16327 5204: 4a628a04 addi r9,r9,-30168 5208: 480f883a mov r7,r9 520c: 400d883a mov r6,r8 5210: 180b883a mov r5,r3 5214: 1009883a mov r4,r2 5218: 000b1980 call b198 <__adddf3> 521c: b009883a mov r4,r22 5220: 1021883a mov r16,r2 5224: 1823883a mov r17,r3 5228: 000bad00 call bad0 <__floatsidf> 522c: 021427f4 movhi r8,20639 5230: 421e7ec4 addi r8,r8,31227 5234: 024ff4f4 movhi r9,16339 5238: 4a5104c4 addi r9,r9,17427 523c: 480f883a mov r7,r9 5240: 400d883a mov r6,r8 5244: 180b883a mov r5,r3 5248: 1009883a mov r4,r2 524c: 000b20c0 call b20c <__muldf3> 5250: 180f883a mov r7,r3 5254: 880b883a mov r5,r17 5258: 100d883a mov r6,r2 525c: 8009883a mov r4,r16 5260: 000b1980 call b198 <__adddf3> 5264: 1009883a mov r4,r2 5268: 180b883a mov r5,r3 526c: 1021883a mov r16,r2 5270: 1823883a mov r17,r3 5274: 000bbc80 call bbc8 <__fixdfsi> 5278: 000d883a mov r6,zero 527c: 000f883a mov r7,zero 5280: 8009883a mov r4,r16 5284: 880b883a mov r5,r17 5288: d8800d15 stw r2,52(sp) 528c: 000ba480 call ba48 <__ltdf2> 5290: 10031716 blt r2,zero,5ef0 <_dtoa_r+0xe8c> 5294: d8c00d17 ldw r3,52(sp) 5298: 00800584 movi r2,22 529c: 10c1482e bgeu r2,r3,57c0 <_dtoa_r+0x75c> 52a0: 01000044 movi r4,1 52a4: d9000c15 stw r4,48(sp) 52a8: bd85c83a sub r2,r23,r22 52ac: 11bfffc4 addi r6,r2,-1 52b0: 30030b16 blt r6,zero,5ee0 <_dtoa_r+0xe7c> 52b4: d9800a15 stw r6,40(sp) 52b8: d8001115 stw zero,68(sp) 52bc: d8c00d17 ldw r3,52(sp) 52c0: 1802ff16 blt r3,zero,5ec0 <_dtoa_r+0xe5c> 52c4: d9000a17 ldw r4,40(sp) 52c8: d8c00915 stw r3,36(sp) 52cc: d8001015 stw zero,64(sp) 52d0: 20c9883a add r4,r4,r3 52d4: d9000a15 stw r4,40(sp) 52d8: d9001717 ldw r4,92(sp) 52dc: 00800244 movi r2,9 52e0: 11004636 bltu r2,r4,53fc <_dtoa_r+0x398> 52e4: 00800144 movi r2,5 52e8: 11020416 blt r2,r4,5afc <_dtoa_r+0xa98> 52ec: 04400044 movi r17,1 52f0: d8c01717 ldw r3,92(sp) 52f4: 00800144 movi r2,5 52f8: 10c1ed36 bltu r2,r3,5ab0 <_dtoa_r+0xa4c> 52fc: 18c5883a add r2,r3,r3 5300: 1085883a add r2,r2,r2 5304: 00c00034 movhi r3,0 5308: 18d4c604 addi r3,r3,21272 530c: 10c5883a add r2,r2,r3 5310: 11000017 ldw r4,0(r2) 5314: 2000683a jmp r4 5318: 00005404 movi zero,336 531c: 00005404 movi zero,336 5320: 00005e04 movi zero,376 5324: 00005ddc xori zero,zero,375 5328: 00005e20 cmpeqi zero,zero,376 532c: 00005e2c andhi zero,zero,376 5330: d9002717 ldw r4,156(sp) 5334: 0089c3c4 movi r2,9999 5338: 20800015 stw r2,0(r4) 533c: a0001026 beq r20,zero,5380 <_dtoa_r+0x31c> 5340: 00c00074 movhi r3,1 5344: 18c0fd04 addi r3,r3,1012 5348: d9802917 ldw r6,164(sp) 534c: 303f7926 beq r6,zero,5134 <_dtoa_r+0xd0> 5350: 188000c7 ldb r2,3(r3) 5354: 190000c4 addi r4,r3,3 5358: 1000101e bne r2,zero,539c <_dtoa_r+0x338> 535c: d8802917 ldw r2,164(sp) 5360: 11000015 stw r4,0(r2) 5364: 003f7306 br 5134 <_dtoa_r+0xd0> 5368: 00a00034 movhi r2,32768 536c: 10bfffc4 addi r2,r2,-1 5370: 00c00044 movi r3,1 5374: 88aa703a and r21,r17,r2 5378: 90c00015 stw r3,0(r18) 537c: 003f5806 br 50e0 <_dtoa_r+0x7c> 5380: 00800434 movhi r2,16 5384: 10bfffc4 addi r2,r2,-1 5388: a884703a and r2,r21,r2 538c: 103fec1e bne r2,zero,5340 <_dtoa_r+0x2dc> 5390: 00c00074 movhi r3,1 5394: 18c0fa04 addi r3,r3,1000 5398: 003feb06 br 5348 <_dtoa_r+0x2e4> 539c: d8802917 ldw r2,164(sp) 53a0: 19000204 addi r4,r3,8 53a4: 11000015 stw r4,0(r2) 53a8: 003f6206 br 5134 <_dtoa_r+0xd0> 53ac: ddc00117 ldw r23,4(sp) 53b0: d8800217 ldw r2,8(sp) 53b4: 01000804 movi r4,32 53b8: b8c10c84 addi r3,r23,1074 53bc: 18a3883a add r17,r3,r2 53c0: 2441b80e bge r4,r17,5aa4 <_dtoa_r+0xa40> 53c4: 00c01004 movi r3,64 53c8: 1c47c83a sub r3,r3,r17 53cc: 88bff804 addi r2,r17,-32 53d0: a8c6983a sll r3,r21,r3 53d4: a084d83a srl r2,r20,r2 53d8: 1888b03a or r4,r3,r2 53dc: 000bca00 call bca0 <__floatunsidf> 53e0: 1011883a mov r8,r2 53e4: 00bf8434 movhi r2,65040 53e8: 01000044 movi r4,1 53ec: 10d3883a add r9,r2,r3 53f0: 8dbef344 addi r22,r17,-1075 53f4: d9000815 stw r4,32(sp) 53f8: 003f6f06 br 51b8 <_dtoa_r+0x154> 53fc: d8001715 stw zero,92(sp) 5400: 04400044 movi r17,1 5404: 00bfffc4 movi r2,-1 5408: 00c00044 movi r3,1 540c: d8800e15 stw r2,56(sp) 5410: d8002615 stw zero,152(sp) 5414: d8800f15 stw r2,60(sp) 5418: d8c00b15 stw r3,44(sp) 541c: 1021883a mov r16,r2 5420: d8801617 ldw r2,88(sp) 5424: 10001115 stw zero,68(r2) 5428: d8801617 ldw r2,88(sp) 542c: 11401117 ldw r5,68(r2) 5430: 1009883a mov r4,r2 5434: 00087ac0 call 87ac <_Balloc> 5438: d8c01617 ldw r3,88(sp) 543c: d8800515 stw r2,20(sp) 5440: 18801015 stw r2,64(r3) 5444: 00800384 movi r2,14 5448: 14006836 bltu r2,r16,55ec <_dtoa_r+0x588> 544c: 8805003a cmpeq r2,r17,zero 5450: 1000661e bne r2,zero,55ec <_dtoa_r+0x588> 5454: d9000d17 ldw r4,52(sp) 5458: 0102300e bge zero,r4,5d1c <_dtoa_r+0xcb8> 545c: 208003cc andi r2,r4,15 5460: 100490fa slli r2,r2,3 5464: 2025d13a srai r18,r4,4 5468: 00c00074 movhi r3,1 546c: 18c10f04 addi r3,r3,1084 5470: 10c5883a add r2,r2,r3 5474: 90c0040c andi r3,r18,16 5478: 14000017 ldw r16,0(r2) 547c: 14400117 ldw r17,4(r2) 5480: 18036a1e bne r3,zero,622c <_dtoa_r+0x11c8> 5484: 05800084 movi r22,2 5488: 90001026 beq r18,zero,54cc <_dtoa_r+0x468> 548c: 04c00074 movhi r19,1 5490: 9cc14104 addi r19,r19,1284 5494: 9080004c andi r2,r18,1 5498: 1005003a cmpeq r2,r2,zero 549c: 1000081e bne r2,zero,54c0 <_dtoa_r+0x45c> 54a0: 99800017 ldw r6,0(r19) 54a4: 99c00117 ldw r7,4(r19) 54a8: 880b883a mov r5,r17 54ac: 8009883a mov r4,r16 54b0: 000b20c0 call b20c <__muldf3> 54b4: 1021883a mov r16,r2 54b8: b5800044 addi r22,r22,1 54bc: 1823883a mov r17,r3 54c0: 9025d07a srai r18,r18,1 54c4: 9cc00204 addi r19,r19,8 54c8: 903ff21e bne r18,zero,5494 <_dtoa_r+0x430> 54cc: a80b883a mov r5,r21 54d0: a009883a mov r4,r20 54d4: 880f883a mov r7,r17 54d8: 800d883a mov r6,r16 54dc: 000b5d00 call b5d0 <__divdf3> 54e0: 1029883a mov r20,r2 54e4: 182b883a mov r21,r3 54e8: d8c00c17 ldw r3,48(sp) 54ec: 1805003a cmpeq r2,r3,zero 54f0: 1000081e bne r2,zero,5514 <_dtoa_r+0x4b0> 54f4: 0005883a mov r2,zero 54f8: 00cffc34 movhi r3,16368 54fc: 180f883a mov r7,r3 5500: a009883a mov r4,r20 5504: a80b883a mov r5,r21 5508: 100d883a mov r6,r2 550c: 000ba480 call ba48 <__ltdf2> 5510: 1003fe16 blt r2,zero,650c <_dtoa_r+0x14a8> 5514: b009883a mov r4,r22 5518: 000bad00 call bad0 <__floatsidf> 551c: 180b883a mov r5,r3 5520: 1009883a mov r4,r2 5524: a00d883a mov r6,r20 5528: a80f883a mov r7,r21 552c: 000b20c0 call b20c <__muldf3> 5530: 0011883a mov r8,zero 5534: 02500734 movhi r9,16412 5538: 1009883a mov r4,r2 553c: 180b883a mov r5,r3 5540: 480f883a mov r7,r9 5544: 400d883a mov r6,r8 5548: 000b1980 call b198 <__adddf3> 554c: d9000f17 ldw r4,60(sp) 5550: 102d883a mov r22,r2 5554: 00bf3034 movhi r2,64704 5558: 18b9883a add fp,r3,r2 555c: e02f883a mov r23,fp 5560: 20028f1e bne r4,zero,5fa0 <_dtoa_r+0xf3c> 5564: 0005883a mov r2,zero 5568: 00d00534 movhi r3,16404 556c: a009883a mov r4,r20 5570: a80b883a mov r5,r21 5574: 180f883a mov r7,r3 5578: 100d883a mov r6,r2 557c: 000b1180 call b118 <__subdf3> 5580: 1009883a mov r4,r2 5584: e00f883a mov r7,fp 5588: 180b883a mov r5,r3 558c: b00d883a mov r6,r22 5590: 1025883a mov r18,r2 5594: 1827883a mov r19,r3 5598: 000b9380 call b938 <__gtdf2> 559c: 00834f16 blt zero,r2,62dc <_dtoa_r+0x1278> 55a0: e0e0003c xorhi r3,fp,32768 55a4: 9009883a mov r4,r18 55a8: 980b883a mov r5,r19 55ac: 180f883a mov r7,r3 55b0: b00d883a mov r6,r22 55b4: 000ba480 call ba48 <__ltdf2> 55b8: 1000080e bge r2,zero,55dc <_dtoa_r+0x578> 55bc: 0027883a mov r19,zero 55c0: 0025883a mov r18,zero 55c4: d8802617 ldw r2,152(sp) 55c8: df000517 ldw fp,20(sp) 55cc: d8000615 stw zero,24(sp) 55d0: 0084303a nor r2,zero,r2 55d4: d8800d15 stw r2,52(sp) 55d8: 00019b06 br 5c48 <_dtoa_r+0xbe4> 55dc: d9801217 ldw r6,72(sp) 55e0: d8801317 ldw r2,76(sp) 55e4: 3029883a mov r20,r6 55e8: 102b883a mov r21,r2 55ec: d8c00217 ldw r3,8(sp) 55f0: 18008516 blt r3,zero,5808 <_dtoa_r+0x7a4> 55f4: d9000d17 ldw r4,52(sp) 55f8: 00800384 movi r2,14 55fc: 11008216 blt r2,r4,5808 <_dtoa_r+0x7a4> 5600: 200490fa slli r2,r4,3 5604: d9802617 ldw r6,152(sp) 5608: 00c00074 movhi r3,1 560c: 18c10f04 addi r3,r3,1084 5610: 10c5883a add r2,r2,r3 5614: 14800017 ldw r18,0(r2) 5618: 14c00117 ldw r19,4(r2) 561c: 30031e16 blt r6,zero,6298 <_dtoa_r+0x1234> 5620: d9000517 ldw r4,20(sp) 5624: d8c00f17 ldw r3,60(sp) 5628: a823883a mov r17,r21 562c: a021883a mov r16,r20 5630: 192b883a add r21,r3,r4 5634: 2039883a mov fp,r4 5638: 00000f06 br 5678 <_dtoa_r+0x614> 563c: 0005883a mov r2,zero 5640: 00d00934 movhi r3,16420 5644: 5009883a mov r4,r10 5648: 580b883a mov r5,r11 564c: 180f883a mov r7,r3 5650: 100d883a mov r6,r2 5654: 000b20c0 call b20c <__muldf3> 5658: 180b883a mov r5,r3 565c: 000d883a mov r6,zero 5660: 000f883a mov r7,zero 5664: 1009883a mov r4,r2 5668: 1021883a mov r16,r2 566c: 1823883a mov r17,r3 5670: 000b8b00 call b8b0 <__nedf2> 5674: 10004526 beq r2,zero,578c <_dtoa_r+0x728> 5678: 900d883a mov r6,r18 567c: 980f883a mov r7,r19 5680: 8009883a mov r4,r16 5684: 880b883a mov r5,r17 5688: 000b5d00 call b5d0 <__divdf3> 568c: 180b883a mov r5,r3 5690: 1009883a mov r4,r2 5694: 000bbc80 call bbc8 <__fixdfsi> 5698: 1009883a mov r4,r2 569c: 1029883a mov r20,r2 56a0: 000bad00 call bad0 <__floatsidf> 56a4: 180f883a mov r7,r3 56a8: 9009883a mov r4,r18 56ac: 980b883a mov r5,r19 56b0: 100d883a mov r6,r2 56b4: 000b20c0 call b20c <__muldf3> 56b8: 180f883a mov r7,r3 56bc: 880b883a mov r5,r17 56c0: 8009883a mov r4,r16 56c4: 100d883a mov r6,r2 56c8: 000b1180 call b118 <__subdf3> 56cc: 1015883a mov r10,r2 56d0: a0800c04 addi r2,r20,48 56d4: e0800005 stb r2,0(fp) 56d8: e7000044 addi fp,fp,1 56dc: 1817883a mov r11,r3 56e0: e57fd61e bne fp,r21,563c <_dtoa_r+0x5d8> 56e4: 500d883a mov r6,r10 56e8: 180f883a mov r7,r3 56ec: 5009883a mov r4,r10 56f0: 180b883a mov r5,r3 56f4: 000b1980 call b198 <__adddf3> 56f8: 100d883a mov r6,r2 56fc: 9009883a mov r4,r18 5700: 980b883a mov r5,r19 5704: 180f883a mov r7,r3 5708: 1021883a mov r16,r2 570c: 1823883a mov r17,r3 5710: 000ba480 call ba48 <__ltdf2> 5714: 10000816 blt r2,zero,5738 <_dtoa_r+0x6d4> 5718: 980b883a mov r5,r19 571c: 800d883a mov r6,r16 5720: 880f883a mov r7,r17 5724: 9009883a mov r4,r18 5728: 000b8280 call b828 <__eqdf2> 572c: 1000171e bne r2,zero,578c <_dtoa_r+0x728> 5730: a080004c andi r2,r20,1 5734: 10001526 beq r2,zero,578c <_dtoa_r+0x728> 5738: d8800d17 ldw r2,52(sp) 573c: d8800415 stw r2,16(sp) 5740: e009883a mov r4,fp 5744: 213fffc4 addi r4,r4,-1 5748: 20c00007 ldb r3,0(r4) 574c: 00800e44 movi r2,57 5750: 1880081e bne r3,r2,5774 <_dtoa_r+0x710> 5754: d8800517 ldw r2,20(sp) 5758: 113ffa1e bne r2,r4,5744 <_dtoa_r+0x6e0> 575c: d8c00417 ldw r3,16(sp) 5760: d9800517 ldw r6,20(sp) 5764: 00800c04 movi r2,48 5768: 18c00044 addi r3,r3,1 576c: d8c00415 stw r3,16(sp) 5770: 30800005 stb r2,0(r6) 5774: 20800003 ldbu r2,0(r4) 5778: d8c00417 ldw r3,16(sp) 577c: 27000044 addi fp,r4,1 5780: 10800044 addi r2,r2,1 5784: d8c00d15 stw r3,52(sp) 5788: 20800005 stb r2,0(r4) 578c: d9001617 ldw r4,88(sp) 5790: d9400717 ldw r5,28(sp) 5794: 000822c0 call 822c <_Bfree> 5798: e0000005 stb zero,0(fp) 579c: d9800d17 ldw r6,52(sp) 57a0: d8c02717 ldw r3,156(sp) 57a4: d9002917 ldw r4,164(sp) 57a8: 30800044 addi r2,r6,1 57ac: 18800015 stw r2,0(r3) 57b0: 20029c26 beq r4,zero,6224 <_dtoa_r+0x11c0> 57b4: d8c00517 ldw r3,20(sp) 57b8: 27000015 stw fp,0(r4) 57bc: 003e5d06 br 5134 <_dtoa_r+0xd0> 57c0: d9800d17 ldw r6,52(sp) 57c4: 00c00074 movhi r3,1 57c8: 18c10f04 addi r3,r3,1084 57cc: d9001217 ldw r4,72(sp) 57d0: 300490fa slli r2,r6,3 57d4: d9401317 ldw r5,76(sp) 57d8: 10c5883a add r2,r2,r3 57dc: 12000017 ldw r8,0(r2) 57e0: 12400117 ldw r9,4(r2) 57e4: 400d883a mov r6,r8 57e8: 480f883a mov r7,r9 57ec: 000ba480 call ba48 <__ltdf2> 57f0: 1000030e bge r2,zero,5800 <_dtoa_r+0x79c> 57f4: d8800d17 ldw r2,52(sp) 57f8: 10bfffc4 addi r2,r2,-1 57fc: d8800d15 stw r2,52(sp) 5800: d8000c15 stw zero,48(sp) 5804: 003ea806 br 52a8 <_dtoa_r+0x244> 5808: d9000b17 ldw r4,44(sp) 580c: 202cc03a cmpne r22,r4,zero 5810: b000c71e bne r22,zero,5b30 <_dtoa_r+0xacc> 5814: dc001117 ldw r16,68(sp) 5818: dc801017 ldw r18,64(sp) 581c: 0027883a mov r19,zero 5820: 04000b0e bge zero,r16,5850 <_dtoa_r+0x7ec> 5824: d8c00a17 ldw r3,40(sp) 5828: 00c0090e bge zero,r3,5850 <_dtoa_r+0x7ec> 582c: 8005883a mov r2,r16 5830: 1c011316 blt r3,r16,5c80 <_dtoa_r+0xc1c> 5834: d9000a17 ldw r4,40(sp) 5838: d9801117 ldw r6,68(sp) 583c: 80a1c83a sub r16,r16,r2 5840: 2089c83a sub r4,r4,r2 5844: 308dc83a sub r6,r6,r2 5848: d9000a15 stw r4,40(sp) 584c: d9801115 stw r6,68(sp) 5850: d8801017 ldw r2,64(sp) 5854: 0080150e bge zero,r2,58ac <_dtoa_r+0x848> 5858: d8c00b17 ldw r3,44(sp) 585c: 1805003a cmpeq r2,r3,zero 5860: 1001c91e bne r2,zero,5f88 <_dtoa_r+0xf24> 5864: 04800e0e bge zero,r18,58a0 <_dtoa_r+0x83c> 5868: d9001617 ldw r4,88(sp) 586c: 980b883a mov r5,r19 5870: 900d883a mov r6,r18 5874: 00090780 call 9078 <__pow5mult> 5878: d9001617 ldw r4,88(sp) 587c: d9800717 ldw r6,28(sp) 5880: 100b883a mov r5,r2 5884: 1027883a mov r19,r2 5888: 0008cbc0 call 8cbc <__multiply> 588c: d9001617 ldw r4,88(sp) 5890: d9400717 ldw r5,28(sp) 5894: 1023883a mov r17,r2 5898: 000822c0 call 822c <_Bfree> 589c: dc400715 stw r17,28(sp) 58a0: d9001017 ldw r4,64(sp) 58a4: 248dc83a sub r6,r4,r18 58a8: 30010e1e bne r6,zero,5ce4 <_dtoa_r+0xc80> 58ac: d9001617 ldw r4,88(sp) 58b0: 04400044 movi r17,1 58b4: 880b883a mov r5,r17 58b8: 0008f100 call 8f10 <__i2b> 58bc: d9800917 ldw r6,36(sp) 58c0: 1025883a mov r18,r2 58c4: 0180040e bge zero,r6,58d8 <_dtoa_r+0x874> 58c8: d9001617 ldw r4,88(sp) 58cc: 100b883a mov r5,r2 58d0: 00090780 call 9078 <__pow5mult> 58d4: 1025883a mov r18,r2 58d8: d8801717 ldw r2,92(sp) 58dc: 8880f30e bge r17,r2,5cac <_dtoa_r+0xc48> 58e0: 0023883a mov r17,zero 58e4: d9800917 ldw r6,36(sp) 58e8: 30019e1e bne r6,zero,5f64 <_dtoa_r+0xf00> 58ec: 00c00044 movi r3,1 58f0: d9000a17 ldw r4,40(sp) 58f4: 20c5883a add r2,r4,r3 58f8: 10c007cc andi r3,r2,31 58fc: 1800841e bne r3,zero,5b10 <_dtoa_r+0xaac> 5900: 00800704 movi r2,28 5904: d9000a17 ldw r4,40(sp) 5908: d9801117 ldw r6,68(sp) 590c: 80a1883a add r16,r16,r2 5910: 2089883a add r4,r4,r2 5914: 308d883a add r6,r6,r2 5918: d9000a15 stw r4,40(sp) 591c: d9801115 stw r6,68(sp) 5920: d8801117 ldw r2,68(sp) 5924: 0080050e bge zero,r2,593c <_dtoa_r+0x8d8> 5928: d9400717 ldw r5,28(sp) 592c: d9001617 ldw r4,88(sp) 5930: 100d883a mov r6,r2 5934: 0008b700 call 8b70 <__lshift> 5938: d8800715 stw r2,28(sp) 593c: d8c00a17 ldw r3,40(sp) 5940: 00c0050e bge zero,r3,5958 <_dtoa_r+0x8f4> 5944: d9001617 ldw r4,88(sp) 5948: 900b883a mov r5,r18 594c: 180d883a mov r6,r3 5950: 0008b700 call 8b70 <__lshift> 5954: 1025883a mov r18,r2 5958: d9000c17 ldw r4,48(sp) 595c: 2005003a cmpeq r2,r4,zero 5960: 10016f26 beq r2,zero,5f20 <_dtoa_r+0xebc> 5964: d9000f17 ldw r4,60(sp) 5968: 0102170e bge zero,r4,61c8 <_dtoa_r+0x1164> 596c: d9800b17 ldw r6,44(sp) 5970: 3005003a cmpeq r2,r6,zero 5974: 1000881e bne r2,zero,5b98 <_dtoa_r+0xb34> 5978: 0400050e bge zero,r16,5990 <_dtoa_r+0x92c> 597c: d9001617 ldw r4,88(sp) 5980: 980b883a mov r5,r19 5984: 800d883a mov r6,r16 5988: 0008b700 call 8b70 <__lshift> 598c: 1027883a mov r19,r2 5990: 8804c03a cmpne r2,r17,zero 5994: 1002541e bne r2,zero,62e8 <_dtoa_r+0x1284> 5998: 980b883a mov r5,r19 599c: dd800517 ldw r22,20(sp) 59a0: dcc00615 stw r19,24(sp) 59a4: a700004c andi fp,r20,1 59a8: 2827883a mov r19,r5 59ac: d9000717 ldw r4,28(sp) 59b0: 900b883a mov r5,r18 59b4: 0004e200 call 4e20 <quorem> 59b8: d9000717 ldw r4,28(sp) 59bc: d9400617 ldw r5,24(sp) 59c0: 1023883a mov r17,r2 59c4: 8dc00c04 addi r23,r17,48 59c8: 00083880 call 8388 <__mcmp> 59cc: d9001617 ldw r4,88(sp) 59d0: 900b883a mov r5,r18 59d4: 980d883a mov r6,r19 59d8: 1029883a mov r20,r2 59dc: 00089e40 call 89e4 <__mdiff> 59e0: 102b883a mov r21,r2 59e4: 10800317 ldw r2,12(r2) 59e8: 1001281e bne r2,zero,5e8c <_dtoa_r+0xe28> 59ec: d9000717 ldw r4,28(sp) 59f0: a80b883a mov r5,r21 59f4: 00083880 call 8388 <__mcmp> 59f8: d9001617 ldw r4,88(sp) 59fc: 1021883a mov r16,r2 5a00: a80b883a mov r5,r21 5a04: 000822c0 call 822c <_Bfree> 5a08: 8000041e bne r16,zero,5a1c <_dtoa_r+0x9b8> 5a0c: d8801717 ldw r2,92(sp) 5a10: 1000021e bne r2,zero,5a1c <_dtoa_r+0x9b8> 5a14: e004c03a cmpne r2,fp,zero 5a18: 10011726 beq r2,zero,5e78 <_dtoa_r+0xe14> 5a1c: a0010616 blt r20,zero,5e38 <_dtoa_r+0xdd4> 5a20: a000041e bne r20,zero,5a34 <_dtoa_r+0x9d0> 5a24: d8c01717 ldw r3,92(sp) 5a28: 1800021e bne r3,zero,5a34 <_dtoa_r+0x9d0> 5a2c: e004c03a cmpne r2,fp,zero 5a30: 10010126 beq r2,zero,5e38 <_dtoa_r+0xdd4> 5a34: 04023d16 blt zero,r16,632c <_dtoa_r+0x12c8> 5a38: b5c00005 stb r23,0(r22) 5a3c: d9800517 ldw r6,20(sp) 5a40: d9000f17 ldw r4,60(sp) 5a44: b5800044 addi r22,r22,1 5a48: 3105883a add r2,r6,r4 5a4c: b0806526 beq r22,r2,5be4 <_dtoa_r+0xb80> 5a50: d9400717 ldw r5,28(sp) 5a54: d9001617 ldw r4,88(sp) 5a58: 01800284 movi r6,10 5a5c: 000f883a mov r7,zero 5a60: 0008f4c0 call 8f4c <__multadd> 5a64: d8800715 stw r2,28(sp) 5a68: d8800617 ldw r2,24(sp) 5a6c: 14c10c26 beq r2,r19,5ea0 <_dtoa_r+0xe3c> 5a70: d9400617 ldw r5,24(sp) 5a74: d9001617 ldw r4,88(sp) 5a78: 01800284 movi r6,10 5a7c: 000f883a mov r7,zero 5a80: 0008f4c0 call 8f4c <__multadd> 5a84: d9001617 ldw r4,88(sp) 5a88: 980b883a mov r5,r19 5a8c: 01800284 movi r6,10 5a90: 000f883a mov r7,zero 5a94: d8800615 stw r2,24(sp) 5a98: 0008f4c0 call 8f4c <__multadd> 5a9c: 1027883a mov r19,r2 5aa0: 003fc206 br 59ac <_dtoa_r+0x948> 5aa4: 2445c83a sub r2,r4,r17 5aa8: a088983a sll r4,r20,r2 5aac: 003e4b06 br 53dc <_dtoa_r+0x378> 5ab0: 01bfffc4 movi r6,-1 5ab4: 00800044 movi r2,1 5ab8: d9800e15 stw r6,56(sp) 5abc: d9800f15 stw r6,60(sp) 5ac0: d8800b15 stw r2,44(sp) 5ac4: d8c01617 ldw r3,88(sp) 5ac8: 008005c4 movi r2,23 5acc: 18001115 stw zero,68(r3) 5ad0: 1580082e bgeu r2,r22,5af4 <_dtoa_r+0xa90> 5ad4: 00c00104 movi r3,4 5ad8: 0009883a mov r4,zero 5adc: 18c7883a add r3,r3,r3 5ae0: 18800504 addi r2,r3,20 5ae4: 21000044 addi r4,r4,1 5ae8: b0bffc2e bgeu r22,r2,5adc <_dtoa_r+0xa78> 5aec: d9801617 ldw r6,88(sp) 5af0: 31001115 stw r4,68(r6) 5af4: dc000f17 ldw r16,60(sp) 5af8: 003e4b06 br 5428 <_dtoa_r+0x3c4> 5afc: d9801717 ldw r6,92(sp) 5b00: 0023883a mov r17,zero 5b04: 31bfff04 addi r6,r6,-4 5b08: d9801715 stw r6,92(sp) 5b0c: 003df806 br 52f0 <_dtoa_r+0x28c> 5b10: 00800804 movi r2,32 5b14: 10c9c83a sub r4,r2,r3 5b18: 00c00104 movi r3,4 5b1c: 19005a16 blt r3,r4,5c88 <_dtoa_r+0xc24> 5b20: 008000c4 movi r2,3 5b24: 113f7e16 blt r2,r4,5920 <_dtoa_r+0x8bc> 5b28: 20800704 addi r2,r4,28 5b2c: 003f7506 br 5904 <_dtoa_r+0x8a0> 5b30: d9801717 ldw r6,92(sp) 5b34: 00800044 movi r2,1 5b38: 1180a10e bge r2,r6,5dc0 <_dtoa_r+0xd5c> 5b3c: d9800f17 ldw r6,60(sp) 5b40: d8c01017 ldw r3,64(sp) 5b44: 30bfffc4 addi r2,r6,-1 5b48: 1881c616 blt r3,r2,6264 <_dtoa_r+0x1200> 5b4c: 18a5c83a sub r18,r3,r2 5b50: d8800f17 ldw r2,60(sp) 5b54: 10026216 blt r2,zero,64e0 <_dtoa_r+0x147c> 5b58: dc001117 ldw r16,68(sp) 5b5c: 1007883a mov r3,r2 5b60: d9800a17 ldw r6,40(sp) 5b64: d8801117 ldw r2,68(sp) 5b68: d9001617 ldw r4,88(sp) 5b6c: 30cd883a add r6,r6,r3 5b70: 10c5883a add r2,r2,r3 5b74: 01400044 movi r5,1 5b78: d9800a15 stw r6,40(sp) 5b7c: d8801115 stw r2,68(sp) 5b80: 0008f100 call 8f10 <__i2b> 5b84: 1027883a mov r19,r2 5b88: 003f2506 br 5820 <_dtoa_r+0x7bc> 5b8c: 00c00074 movhi r3,1 5b90: 18c0f104 addi r3,r3,964 5b94: 003d6706 br 5134 <_dtoa_r+0xd0> 5b98: dd800517 ldw r22,20(sp) 5b9c: 04000044 movi r16,1 5ba0: 00000706 br 5bc0 <_dtoa_r+0xb5c> 5ba4: d9400717 ldw r5,28(sp) 5ba8: d9001617 ldw r4,88(sp) 5bac: 01800284 movi r6,10 5bb0: 000f883a mov r7,zero 5bb4: 0008f4c0 call 8f4c <__multadd> 5bb8: d8800715 stw r2,28(sp) 5bbc: 84000044 addi r16,r16,1 5bc0: d9000717 ldw r4,28(sp) 5bc4: 900b883a mov r5,r18 5bc8: 0004e200 call 4e20 <quorem> 5bcc: 15c00c04 addi r23,r2,48 5bd0: b5c00005 stb r23,0(r22) 5bd4: d8c00f17 ldw r3,60(sp) 5bd8: b5800044 addi r22,r22,1 5bdc: 80fff116 blt r16,r3,5ba4 <_dtoa_r+0xb40> 5be0: d8000615 stw zero,24(sp) 5be4: d9400717 ldw r5,28(sp) 5be8: d9001617 ldw r4,88(sp) 5bec: 01800044 movi r6,1 5bf0: 0008b700 call 8b70 <__lshift> 5bf4: 1009883a mov r4,r2 5bf8: 900b883a mov r5,r18 5bfc: d8800715 stw r2,28(sp) 5c00: 00083880 call 8388 <__mcmp> 5c04: 00803c0e bge zero,r2,5cf8 <_dtoa_r+0xc94> 5c08: b009883a mov r4,r22 5c0c: 213fffc4 addi r4,r4,-1 5c10: 21400003 ldbu r5,0(r4) 5c14: 00800e44 movi r2,57 5c18: 28c03fcc andi r3,r5,255 5c1c: 18c0201c xori r3,r3,128 5c20: 18ffe004 addi r3,r3,-128 5c24: 1881981e bne r3,r2,6288 <_dtoa_r+0x1224> 5c28: d9800517 ldw r6,20(sp) 5c2c: 21bff71e bne r4,r6,5c0c <_dtoa_r+0xba8> 5c30: d8800d17 ldw r2,52(sp) 5c34: 37000044 addi fp,r6,1 5c38: 10800044 addi r2,r2,1 5c3c: d8800d15 stw r2,52(sp) 5c40: 00800c44 movi r2,49 5c44: 30800005 stb r2,0(r6) 5c48: d9001617 ldw r4,88(sp) 5c4c: 900b883a mov r5,r18 5c50: 000822c0 call 822c <_Bfree> 5c54: 983ecd26 beq r19,zero,578c <_dtoa_r+0x728> 5c58: d8c00617 ldw r3,24(sp) 5c5c: 18000426 beq r3,zero,5c70 <_dtoa_r+0xc0c> 5c60: 1cc00326 beq r3,r19,5c70 <_dtoa_r+0xc0c> 5c64: d9001617 ldw r4,88(sp) 5c68: 180b883a mov r5,r3 5c6c: 000822c0 call 822c <_Bfree> 5c70: d9001617 ldw r4,88(sp) 5c74: 980b883a mov r5,r19 5c78: 000822c0 call 822c <_Bfree> 5c7c: 003ec306 br 578c <_dtoa_r+0x728> 5c80: 1805883a mov r2,r3 5c84: 003eeb06 br 5834 <_dtoa_r+0x7d0> 5c88: d9800a17 ldw r6,40(sp) 5c8c: d8c01117 ldw r3,68(sp) 5c90: 20bfff04 addi r2,r4,-4 5c94: 308d883a add r6,r6,r2 5c98: 1887883a add r3,r3,r2 5c9c: 80a1883a add r16,r16,r2 5ca0: d9800a15 stw r6,40(sp) 5ca4: d8c01115 stw r3,68(sp) 5ca8: 003f1d06 br 5920 <_dtoa_r+0x8bc> 5cac: a03f0c1e bne r20,zero,58e0 <_dtoa_r+0x87c> 5cb0: 00800434 movhi r2,16 5cb4: 10bfffc4 addi r2,r2,-1 5cb8: a884703a and r2,r21,r2 5cbc: 103f081e bne r2,zero,58e0 <_dtoa_r+0x87c> 5cc0: a89ffc2c andhi r2,r21,32752 5cc4: 103f0626 beq r2,zero,58e0 <_dtoa_r+0x87c> 5cc8: d8c01117 ldw r3,68(sp) 5ccc: d9000a17 ldw r4,40(sp) 5cd0: 18c00044 addi r3,r3,1 5cd4: 21000044 addi r4,r4,1 5cd8: d8c01115 stw r3,68(sp) 5cdc: d9000a15 stw r4,40(sp) 5ce0: 003f0006 br 58e4 <_dtoa_r+0x880> 5ce4: d9400717 ldw r5,28(sp) 5ce8: d9001617 ldw r4,88(sp) 5cec: 00090780 call 9078 <__pow5mult> 5cf0: d8800715 stw r2,28(sp) 5cf4: 003eed06 br 58ac <_dtoa_r+0x848> 5cf8: 1000021e bne r2,zero,5d04 <_dtoa_r+0xca0> 5cfc: b880004c andi r2,r23,1 5d00: 103fc11e bne r2,zero,5c08 <_dtoa_r+0xba4> 5d04: b5bfffc4 addi r22,r22,-1 5d08: b0c00007 ldb r3,0(r22) 5d0c: 00800c04 movi r2,48 5d10: 18bffc26 beq r3,r2,5d04 <_dtoa_r+0xca0> 5d14: b7000044 addi fp,r22,1 5d18: 003fcb06 br 5c48 <_dtoa_r+0xbe4> 5d1c: d9800d17 ldw r6,52(sp) 5d20: 018fc83a sub r7,zero,r6 5d24: 3801f726 beq r7,zero,6504 <_dtoa_r+0x14a0> 5d28: 398003cc andi r6,r7,15 5d2c: 300c90fa slli r6,r6,3 5d30: 01400074 movhi r5,1 5d34: 29410f04 addi r5,r5,1084 5d38: d9001217 ldw r4,72(sp) 5d3c: 314d883a add r6,r6,r5 5d40: 30c00117 ldw r3,4(r6) 5d44: 30800017 ldw r2,0(r6) 5d48: d9401317 ldw r5,76(sp) 5d4c: 3821d13a srai r16,r7,4 5d50: 100d883a mov r6,r2 5d54: 180f883a mov r7,r3 5d58: 000b20c0 call b20c <__muldf3> 5d5c: 1011883a mov r8,r2 5d60: 1813883a mov r9,r3 5d64: 1029883a mov r20,r2 5d68: 182b883a mov r21,r3 5d6c: 8001e526 beq r16,zero,6504 <_dtoa_r+0x14a0> 5d70: 05800084 movi r22,2 5d74: 04400074 movhi r17,1 5d78: 8c414104 addi r17,r17,1284 5d7c: 8080004c andi r2,r16,1 5d80: 1005003a cmpeq r2,r2,zero 5d84: 1000081e bne r2,zero,5da8 <_dtoa_r+0xd44> 5d88: 89800017 ldw r6,0(r17) 5d8c: 89c00117 ldw r7,4(r17) 5d90: 480b883a mov r5,r9 5d94: 4009883a mov r4,r8 5d98: 000b20c0 call b20c <__muldf3> 5d9c: 1011883a mov r8,r2 5da0: b5800044 addi r22,r22,1 5da4: 1813883a mov r9,r3 5da8: 8021d07a srai r16,r16,1 5dac: 8c400204 addi r17,r17,8 5db0: 803ff21e bne r16,zero,5d7c <_dtoa_r+0xd18> 5db4: 4029883a mov r20,r8 5db8: 482b883a mov r21,r9 5dbc: 003dca06 br 54e8 <_dtoa_r+0x484> 5dc0: d9000817 ldw r4,32(sp) 5dc4: 2005003a cmpeq r2,r4,zero 5dc8: 1001f61e bne r2,zero,65a4 <_dtoa_r+0x1540> 5dcc: dc001117 ldw r16,68(sp) 5dd0: dc801017 ldw r18,64(sp) 5dd4: 18c10cc4 addi r3,r3,1075 5dd8: 003f6106 br 5b60 <_dtoa_r+0xafc> 5ddc: d8000b15 stw zero,44(sp) 5de0: d9802617 ldw r6,152(sp) 5de4: d8c00d17 ldw r3,52(sp) 5de8: 30800044 addi r2,r6,1 5dec: 18ad883a add r22,r3,r2 5df0: b13fffc4 addi r4,r22,-1 5df4: d9000e15 stw r4,56(sp) 5df8: 0581f60e bge zero,r22,65d4 <_dtoa_r+0x1570> 5dfc: dd800f15 stw r22,60(sp) 5e00: 003f3006 br 5ac4 <_dtoa_r+0xa60> 5e04: d8000b15 stw zero,44(sp) 5e08: d9002617 ldw r4,152(sp) 5e0c: 0101eb0e bge zero,r4,65bc <_dtoa_r+0x1558> 5e10: 202d883a mov r22,r4 5e14: d9000e15 stw r4,56(sp) 5e18: d9000f15 stw r4,60(sp) 5e1c: 003f2906 br 5ac4 <_dtoa_r+0xa60> 5e20: 01800044 movi r6,1 5e24: d9800b15 stw r6,44(sp) 5e28: 003ff706 br 5e08 <_dtoa_r+0xda4> 5e2c: 01000044 movi r4,1 5e30: d9000b15 stw r4,44(sp) 5e34: 003fea06 br 5de0 <_dtoa_r+0xd7c> 5e38: 04000c0e bge zero,r16,5e6c <_dtoa_r+0xe08> 5e3c: d9400717 ldw r5,28(sp) 5e40: d9001617 ldw r4,88(sp) 5e44: 01800044 movi r6,1 5e48: 0008b700 call 8b70 <__lshift> 5e4c: 1009883a mov r4,r2 5e50: 900b883a mov r5,r18 5e54: d8800715 stw r2,28(sp) 5e58: 00083880 call 8388 <__mcmp> 5e5c: 0081e00e bge zero,r2,65e0 <_dtoa_r+0x157c> 5e60: bdc00044 addi r23,r23,1 5e64: 00800e84 movi r2,58 5e68: b881a226 beq r23,r2,64f4 <_dtoa_r+0x1490> 5e6c: b7000044 addi fp,r22,1 5e70: b5c00005 stb r23,0(r22) 5e74: 003f7406 br 5c48 <_dtoa_r+0xbe4> 5e78: 00800e44 movi r2,57 5e7c: b8819d26 beq r23,r2,64f4 <_dtoa_r+0x1490> 5e80: 053ffa0e bge zero,r20,5e6c <_dtoa_r+0xe08> 5e84: 8dc00c44 addi r23,r17,49 5e88: 003ff806 br 5e6c <_dtoa_r+0xe08> 5e8c: d9001617 ldw r4,88(sp) 5e90: a80b883a mov r5,r21 5e94: 04000044 movi r16,1 5e98: 000822c0 call 822c <_Bfree> 5e9c: 003edf06 br 5a1c <_dtoa_r+0x9b8> 5ea0: d9001617 ldw r4,88(sp) 5ea4: 980b883a mov r5,r19 5ea8: 01800284 movi r6,10 5eac: 000f883a mov r7,zero 5eb0: 0008f4c0 call 8f4c <__multadd> 5eb4: 1027883a mov r19,r2 5eb8: d8800615 stw r2,24(sp) 5ebc: 003ebb06 br 59ac <_dtoa_r+0x948> 5ec0: d9801117 ldw r6,68(sp) 5ec4: d8800d17 ldw r2,52(sp) 5ec8: d8000915 stw zero,36(sp) 5ecc: 308dc83a sub r6,r6,r2 5ed0: 0087c83a sub r3,zero,r2 5ed4: d9801115 stw r6,68(sp) 5ed8: d8c01015 stw r3,64(sp) 5edc: 003cfe06 br 52d8 <_dtoa_r+0x274> 5ee0: 018dc83a sub r6,zero,r6 5ee4: d9801115 stw r6,68(sp) 5ee8: d8000a15 stw zero,40(sp) 5eec: 003cf306 br 52bc <_dtoa_r+0x258> 5ef0: d9000d17 ldw r4,52(sp) 5ef4: 000bad00 call bad0 <__floatsidf> 5ef8: 880b883a mov r5,r17 5efc: 8009883a mov r4,r16 5f00: 180f883a mov r7,r3 5f04: 100d883a mov r6,r2 5f08: 000b8b00 call b8b0 <__nedf2> 5f0c: 103ce126 beq r2,zero,5294 <_dtoa_r+0x230> 5f10: d9800d17 ldw r6,52(sp) 5f14: 31bfffc4 addi r6,r6,-1 5f18: d9800d15 stw r6,52(sp) 5f1c: 003cdd06 br 5294 <_dtoa_r+0x230> 5f20: d9000717 ldw r4,28(sp) 5f24: 900b883a mov r5,r18 5f28: 00083880 call 8388 <__mcmp> 5f2c: 103e8d0e bge r2,zero,5964 <_dtoa_r+0x900> 5f30: d9400717 ldw r5,28(sp) 5f34: d9001617 ldw r4,88(sp) 5f38: 01800284 movi r6,10 5f3c: 000f883a mov r7,zero 5f40: 0008f4c0 call 8f4c <__multadd> 5f44: d9800d17 ldw r6,52(sp) 5f48: d8800715 stw r2,28(sp) 5f4c: 31bfffc4 addi r6,r6,-1 5f50: d9800d15 stw r6,52(sp) 5f54: b001a71e bne r22,zero,65f4 <_dtoa_r+0x1590> 5f58: d8800e17 ldw r2,56(sp) 5f5c: d8800f15 stw r2,60(sp) 5f60: 003e8006 br 5964 <_dtoa_r+0x900> 5f64: 90800417 ldw r2,16(r18) 5f68: 1085883a add r2,r2,r2 5f6c: 1085883a add r2,r2,r2 5f70: 1485883a add r2,r2,r18 5f74: 11000417 ldw r4,16(r2) 5f78: 00082540 call 8254 <__hi0bits> 5f7c: 00c00804 movi r3,32 5f80: 1887c83a sub r3,r3,r2 5f84: 003e5a06 br 58f0 <_dtoa_r+0x88c> 5f88: d9400717 ldw r5,28(sp) 5f8c: d9801017 ldw r6,64(sp) 5f90: d9001617 ldw r4,88(sp) 5f94: 00090780 call 9078 <__pow5mult> 5f98: d8800715 stw r2,28(sp) 5f9c: 003e4306 br 58ac <_dtoa_r+0x848> 5fa0: d9800f17 ldw r6,60(sp) 5fa4: d8800d17 ldw r2,52(sp) 5fa8: d9800315 stw r6,12(sp) 5fac: d8800415 stw r2,16(sp) 5fb0: d8c00b17 ldw r3,44(sp) 5fb4: 1805003a cmpeq r2,r3,zero 5fb8: 1000e21e bne r2,zero,6344 <_dtoa_r+0x12e0> 5fbc: d9000317 ldw r4,12(sp) 5fc0: 0005883a mov r2,zero 5fc4: 00cff834 movhi r3,16352 5fc8: 200c90fa slli r6,r4,3 5fcc: 01000074 movhi r4,1 5fd0: 21010f04 addi r4,r4,1084 5fd4: 180b883a mov r5,r3 5fd8: 310d883a add r6,r6,r4 5fdc: 327fff17 ldw r9,-4(r6) 5fe0: 323ffe17 ldw r8,-8(r6) 5fe4: 1009883a mov r4,r2 5fe8: 480f883a mov r7,r9 5fec: 400d883a mov r6,r8 5ff0: 000b5d00 call b5d0 <__divdf3> 5ff4: 180b883a mov r5,r3 5ff8: b00d883a mov r6,r22 5ffc: b80f883a mov r7,r23 6000: 1009883a mov r4,r2 6004: 000b1180 call b118 <__subdf3> 6008: a80b883a mov r5,r21 600c: a009883a mov r4,r20 6010: d8c01915 stw r3,100(sp) 6014: d8801815 stw r2,96(sp) 6018: 000bbc80 call bbc8 <__fixdfsi> 601c: 1009883a mov r4,r2 6020: 1027883a mov r19,r2 6024: 000bad00 call bad0 <__floatsidf> 6028: a80b883a mov r5,r21 602c: a009883a mov r4,r20 6030: 180f883a mov r7,r3 6034: 100d883a mov r6,r2 6038: 000b1180 call b118 <__subdf3> 603c: d9801817 ldw r6,96(sp) 6040: 1823883a mov r17,r3 6044: d8801415 stw r2,80(sp) 6048: 302d883a mov r22,r6 604c: d9800517 ldw r6,20(sp) 6050: 9cc00c04 addi r19,r19,48 6054: dc401515 stw r17,84(sp) 6058: d8c01917 ldw r3,100(sp) 605c: 34c00005 stb r19,0(r6) 6060: d8800517 ldw r2,20(sp) 6064: d9401917 ldw r5,100(sp) 6068: d9801417 ldw r6,80(sp) 606c: b009883a mov r4,r22 6070: 880f883a mov r7,r17 6074: 182f883a mov r23,r3 6078: 17000044 addi fp,r2,1 607c: 000b9380 call b938 <__gtdf2> 6080: 00804e16 blt zero,r2,61bc <_dtoa_r+0x1158> 6084: d9801417 ldw r6,80(sp) 6088: 0005883a mov r2,zero 608c: 00cffc34 movhi r3,16368 6090: 180b883a mov r5,r3 6094: 880f883a mov r7,r17 6098: 1009883a mov r4,r2 609c: 000b1180 call b118 <__subdf3> 60a0: d9401917 ldw r5,100(sp) 60a4: 180f883a mov r7,r3 60a8: b009883a mov r4,r22 60ac: 100d883a mov r6,r2 60b0: 000b9380 call b938 <__gtdf2> 60b4: 00bda216 blt zero,r2,5740 <_dtoa_r+0x6dc> 60b8: d8c00317 ldw r3,12(sp) 60bc: 00800044 movi r2,1 60c0: 10c01216 blt r2,r3,610c <_dtoa_r+0x10a8> 60c4: 003d4506 br 55dc <_dtoa_r+0x578> 60c8: d9801417 ldw r6,80(sp) 60cc: 0005883a mov r2,zero 60d0: 00cffc34 movhi r3,16368 60d4: 180b883a mov r5,r3 60d8: 880f883a mov r7,r17 60dc: 1009883a mov r4,r2 60e0: 000b1180 call b118 <__subdf3> 60e4: d9c01b17 ldw r7,108(sp) 60e8: 180b883a mov r5,r3 60ec: 1009883a mov r4,r2 60f0: b00d883a mov r6,r22 60f4: 000ba480 call ba48 <__ltdf2> 60f8: 103d9116 blt r2,zero,5740 <_dtoa_r+0x6dc> 60fc: d9800517 ldw r6,20(sp) 6100: d9000317 ldw r4,12(sp) 6104: 3105883a add r2,r6,r4 6108: e0bd3426 beq fp,r2,55dc <_dtoa_r+0x578> 610c: 04500934 movhi r17,16420 6110: 0021883a mov r16,zero 6114: b80b883a mov r5,r23 6118: b009883a mov r4,r22 611c: 800d883a mov r6,r16 6120: 880f883a mov r7,r17 6124: 000b20c0 call b20c <__muldf3> 6128: d9401517 ldw r5,84(sp) 612c: d9001417 ldw r4,80(sp) 6130: 880f883a mov r7,r17 6134: 000d883a mov r6,zero 6138: d8801a15 stw r2,104(sp) 613c: d8c01b15 stw r3,108(sp) 6140: 000b20c0 call b20c <__muldf3> 6144: 180b883a mov r5,r3 6148: 1009883a mov r4,r2 614c: 1823883a mov r17,r3 6150: 1021883a mov r16,r2 6154: 000bbc80 call bbc8 <__fixdfsi> 6158: 1009883a mov r4,r2 615c: 102b883a mov r21,r2 6160: 000bad00 call bad0 <__floatsidf> 6164: 880b883a mov r5,r17 6168: 8009883a mov r4,r16 616c: 180f883a mov r7,r3 6170: 100d883a mov r6,r2 6174: 000b1180 call b118 <__subdf3> 6178: 1021883a mov r16,r2 617c: d9001b17 ldw r4,108(sp) 6180: 1823883a mov r17,r3 6184: dc001415 stw r16,80(sp) 6188: ad400c04 addi r21,r21,48 618c: dc401515 stw r17,84(sp) 6190: d8801a17 ldw r2,104(sp) 6194: e5400005 stb r21,0(fp) 6198: 202f883a mov r23,r4 619c: d9c01b17 ldw r7,108(sp) 61a0: d9001417 ldw r4,80(sp) 61a4: 880b883a mov r5,r17 61a8: 100d883a mov r6,r2 61ac: 102d883a mov r22,r2 61b0: e7000044 addi fp,fp,1 61b4: 000ba480 call ba48 <__ltdf2> 61b8: 103fc30e bge r2,zero,60c8 <_dtoa_r+0x1064> 61bc: d9000417 ldw r4,16(sp) 61c0: d9000d15 stw r4,52(sp) 61c4: 003d7106 br 578c <_dtoa_r+0x728> 61c8: d9801717 ldw r6,92(sp) 61cc: 00800084 movi r2,2 61d0: 11bde60e bge r2,r6,596c <_dtoa_r+0x908> 61d4: 203cfb1e bne r4,zero,55c4 <_dtoa_r+0x560> 61d8: d9001617 ldw r4,88(sp) 61dc: 900b883a mov r5,r18 61e0: 01800144 movi r6,5 61e4: 000f883a mov r7,zero 61e8: 0008f4c0 call 8f4c <__multadd> 61ec: d9000717 ldw r4,28(sp) 61f0: 100b883a mov r5,r2 61f4: 1025883a mov r18,r2 61f8: 00083880 call 8388 <__mcmp> 61fc: 00bcf10e bge zero,r2,55c4 <_dtoa_r+0x560> 6200: d8c00d17 ldw r3,52(sp) 6204: d9000517 ldw r4,20(sp) 6208: d8000615 stw zero,24(sp) 620c: 18c00044 addi r3,r3,1 6210: d8c00d15 stw r3,52(sp) 6214: 00800c44 movi r2,49 6218: 27000044 addi fp,r4,1 621c: 20800005 stb r2,0(r4) 6220: 003e8906 br 5c48 <_dtoa_r+0xbe4> 6224: d8c00517 ldw r3,20(sp) 6228: 003bc206 br 5134 <_dtoa_r+0xd0> 622c: 01800074 movhi r6,1 6230: 31814104 addi r6,r6,1284 6234: 30c00917 ldw r3,36(r6) 6238: 30800817 ldw r2,32(r6) 623c: d9001217 ldw r4,72(sp) 6240: d9401317 ldw r5,76(sp) 6244: 180f883a mov r7,r3 6248: 100d883a mov r6,r2 624c: 000b5d00 call b5d0 <__divdf3> 6250: 948003cc andi r18,r18,15 6254: 058000c4 movi r22,3 6258: 1029883a mov r20,r2 625c: 182b883a mov r21,r3 6260: 003c8906 br 5488 <_dtoa_r+0x424> 6264: d9001017 ldw r4,64(sp) 6268: d9800917 ldw r6,36(sp) 626c: 0025883a mov r18,zero 6270: 1105c83a sub r2,r2,r4 6274: 2089883a add r4,r4,r2 6278: 308d883a add r6,r6,r2 627c: d9001015 stw r4,64(sp) 6280: d9800915 stw r6,36(sp) 6284: 003e3206 br 5b50 <_dtoa_r+0xaec> 6288: 28800044 addi r2,r5,1 628c: 27000044 addi fp,r4,1 6290: 20800005 stb r2,0(r4) 6294: 003e6c06 br 5c48 <_dtoa_r+0xbe4> 6298: d8800f17 ldw r2,60(sp) 629c: 00bce016 blt zero,r2,5620 <_dtoa_r+0x5bc> 62a0: d9800f17 ldw r6,60(sp) 62a4: 303cc51e bne r6,zero,55bc <_dtoa_r+0x558> 62a8: 0005883a mov r2,zero 62ac: 00d00534 movhi r3,16404 62b0: 980b883a mov r5,r19 62b4: 180f883a mov r7,r3 62b8: 9009883a mov r4,r18 62bc: 100d883a mov r6,r2 62c0: 000b20c0 call b20c <__muldf3> 62c4: 180b883a mov r5,r3 62c8: a80f883a mov r7,r21 62cc: 1009883a mov r4,r2 62d0: a00d883a mov r6,r20 62d4: 000b9c00 call b9c0 <__gedf2> 62d8: 103cb80e bge r2,zero,55bc <_dtoa_r+0x558> 62dc: 0027883a mov r19,zero 62e0: 0025883a mov r18,zero 62e4: 003fc606 br 6200 <_dtoa_r+0x119c> 62e8: 99400117 ldw r5,4(r19) 62ec: d9001617 ldw r4,88(sp) 62f0: 00087ac0 call 87ac <_Balloc> 62f4: 99800417 ldw r6,16(r19) 62f8: 11000304 addi r4,r2,12 62fc: 99400304 addi r5,r19,12 6300: 318d883a add r6,r6,r6 6304: 318d883a add r6,r6,r6 6308: 31800204 addi r6,r6,8 630c: 1023883a mov r17,r2 6310: 00080140 call 8014 <memcpy> 6314: d9001617 ldw r4,88(sp) 6318: 880b883a mov r5,r17 631c: 01800044 movi r6,1 6320: 0008b700 call 8b70 <__lshift> 6324: 100b883a mov r5,r2 6328: 003d9c06 br 599c <_dtoa_r+0x938> 632c: 00800e44 movi r2,57 6330: b8807026 beq r23,r2,64f4 <_dtoa_r+0x1490> 6334: b8800044 addi r2,r23,1 6338: b7000044 addi fp,r22,1 633c: b0800005 stb r2,0(r22) 6340: 003e4106 br 5c48 <_dtoa_r+0xbe4> 6344: d8800317 ldw r2,12(sp) 6348: 01800074 movhi r6,1 634c: 31810f04 addi r6,r6,1084 6350: b009883a mov r4,r22 6354: 100e90fa slli r7,r2,3 6358: b80b883a mov r5,r23 635c: 398f883a add r7,r7,r6 6360: 38bffe17 ldw r2,-8(r7) 6364: d9800517 ldw r6,20(sp) 6368: 38ffff17 ldw r3,-4(r7) 636c: 37000044 addi fp,r6,1 6370: 180f883a mov r7,r3 6374: 100d883a mov r6,r2 6378: 000b20c0 call b20c <__muldf3> 637c: a80b883a mov r5,r21 6380: a009883a mov r4,r20 6384: 182f883a mov r23,r3 6388: 102d883a mov r22,r2 638c: 000bbc80 call bbc8 <__fixdfsi> 6390: 1009883a mov r4,r2 6394: 1027883a mov r19,r2 6398: 000bad00 call bad0 <__floatsidf> 639c: a80b883a mov r5,r21 63a0: a009883a mov r4,r20 63a4: 180f883a mov r7,r3 63a8: 100d883a mov r6,r2 63ac: 000b1180 call b118 <__subdf3> 63b0: 180b883a mov r5,r3 63b4: d8c00517 ldw r3,20(sp) 63b8: 9cc00c04 addi r19,r19,48 63bc: 1009883a mov r4,r2 63c0: 1cc00005 stb r19,0(r3) 63c4: 2021883a mov r16,r4 63c8: d9000317 ldw r4,12(sp) 63cc: 00800044 movi r2,1 63d0: 2823883a mov r17,r5 63d4: 20802226 beq r4,r2,6460 <_dtoa_r+0x13fc> 63d8: 1029883a mov r20,r2 63dc: 0005883a mov r2,zero 63e0: 00d00934 movhi r3,16420 63e4: 180f883a mov r7,r3 63e8: 100d883a mov r6,r2 63ec: 880b883a mov r5,r17 63f0: 8009883a mov r4,r16 63f4: 000b20c0 call b20c <__muldf3> 63f8: 180b883a mov r5,r3 63fc: 1009883a mov r4,r2 6400: 1823883a mov r17,r3 6404: 1021883a mov r16,r2 6408: 000bbc80 call bbc8 <__fixdfsi> 640c: 1009883a mov r4,r2 6410: 102b883a mov r21,r2 6414: 000bad00 call bad0 <__floatsidf> 6418: 880b883a mov r5,r17 641c: 8009883a mov r4,r16 6420: 180f883a mov r7,r3 6424: 100d883a mov r6,r2 6428: 000b1180 call b118 <__subdf3> 642c: 180b883a mov r5,r3 6430: d8c00517 ldw r3,20(sp) 6434: 1009883a mov r4,r2 6438: ad400c04 addi r21,r21,48 643c: 1d05883a add r2,r3,r20 6440: 15400005 stb r21,0(r2) 6444: 2021883a mov r16,r4 6448: d9000317 ldw r4,12(sp) 644c: a5000044 addi r20,r20,1 6450: 2823883a mov r17,r5 6454: a13fe11e bne r20,r4,63dc <_dtoa_r+0x1378> 6458: e505883a add r2,fp,r20 645c: 173fffc4 addi fp,r2,-1 6460: 0025883a mov r18,zero 6464: 04cff834 movhi r19,16352 6468: b009883a mov r4,r22 646c: b80b883a mov r5,r23 6470: 900d883a mov r6,r18 6474: 980f883a mov r7,r19 6478: 000b1980 call b198 <__adddf3> 647c: 180b883a mov r5,r3 6480: 1009883a mov r4,r2 6484: 800d883a mov r6,r16 6488: 880f883a mov r7,r17 648c: 000ba480 call ba48 <__ltdf2> 6490: 103cab16 blt r2,zero,5740 <_dtoa_r+0x6dc> 6494: 0009883a mov r4,zero 6498: 980b883a mov r5,r19 649c: b80f883a mov r7,r23 64a0: b00d883a mov r6,r22 64a4: 000b1180 call b118 <__subdf3> 64a8: 180b883a mov r5,r3 64ac: 880f883a mov r7,r17 64b0: 1009883a mov r4,r2 64b4: 800d883a mov r6,r16 64b8: 000b9380 call b938 <__gtdf2> 64bc: 00bc470e bge zero,r2,55dc <_dtoa_r+0x578> 64c0: 00c00c04 movi r3,48 64c4: e73fffc4 addi fp,fp,-1 64c8: e0800007 ldb r2,0(fp) 64cc: 10fffd26 beq r2,r3,64c4 <_dtoa_r+0x1460> 64d0: d9800417 ldw r6,16(sp) 64d4: e7000044 addi fp,fp,1 64d8: d9800d15 stw r6,52(sp) 64dc: 003cab06 br 578c <_dtoa_r+0x728> 64e0: d8c00f17 ldw r3,60(sp) 64e4: d9001117 ldw r4,68(sp) 64e8: 20e1c83a sub r16,r4,r3 64ec: 0007883a mov r3,zero 64f0: 003d9b06 br 5b60 <_dtoa_r+0xafc> 64f4: 00800e44 movi r2,57 64f8: b0800005 stb r2,0(r22) 64fc: b5800044 addi r22,r22,1 6500: 003dc106 br 5c08 <_dtoa_r+0xba4> 6504: 05800084 movi r22,2 6508: 003bf706 br 54e8 <_dtoa_r+0x484> 650c: d9000f17 ldw r4,60(sp) 6510: 013c000e bge zero,r4,5514 <_dtoa_r+0x4b0> 6514: d9800e17 ldw r6,56(sp) 6518: 01bc300e bge zero,r6,55dc <_dtoa_r+0x578> 651c: 0005883a mov r2,zero 6520: 00d00934 movhi r3,16420 6524: a80b883a mov r5,r21 6528: 180f883a mov r7,r3 652c: a009883a mov r4,r20 6530: 100d883a mov r6,r2 6534: 000b20c0 call b20c <__muldf3> 6538: b1000044 addi r4,r22,1 653c: 1021883a mov r16,r2 6540: 1823883a mov r17,r3 6544: 000bad00 call bad0 <__floatsidf> 6548: 880b883a mov r5,r17 654c: 8009883a mov r4,r16 6550: 180f883a mov r7,r3 6554: 100d883a mov r6,r2 6558: 000b20c0 call b20c <__muldf3> 655c: 0011883a mov r8,zero 6560: 02500734 movhi r9,16412 6564: 180b883a mov r5,r3 6568: 480f883a mov r7,r9 656c: 1009883a mov r4,r2 6570: 400d883a mov r6,r8 6574: 000b1980 call b198 <__adddf3> 6578: 102d883a mov r22,r2 657c: 00bf3034 movhi r2,64704 6580: 10ef883a add r23,r2,r3 6584: d8800d17 ldw r2,52(sp) 6588: d8c00e17 ldw r3,56(sp) 658c: 8029883a mov r20,r16 6590: 10bfffc4 addi r2,r2,-1 6594: 882b883a mov r21,r17 6598: d8800415 stw r2,16(sp) 659c: d8c00315 stw r3,12(sp) 65a0: 003e8306 br 5fb0 <_dtoa_r+0xf4c> 65a4: d8800117 ldw r2,4(sp) 65a8: dc001117 ldw r16,68(sp) 65ac: dc801017 ldw r18,64(sp) 65b0: 00c00d84 movi r3,54 65b4: 1887c83a sub r3,r3,r2 65b8: 003d6906 br 5b60 <_dtoa_r+0xafc> 65bc: 01800044 movi r6,1 65c0: 3021883a mov r16,r6 65c4: d9800f15 stw r6,60(sp) 65c8: d9802615 stw r6,152(sp) 65cc: d9800e15 stw r6,56(sp) 65d0: 003b9306 br 5420 <_dtoa_r+0x3bc> 65d4: b021883a mov r16,r22 65d8: dd800f15 stw r22,60(sp) 65dc: 003b9006 br 5420 <_dtoa_r+0x3bc> 65e0: 103e221e bne r2,zero,5e6c <_dtoa_r+0xe08> 65e4: b880004c andi r2,r23,1 65e8: 1005003a cmpeq r2,r2,zero 65ec: 103e1f1e bne r2,zero,5e6c <_dtoa_r+0xe08> 65f0: 003e1b06 br 5e60 <_dtoa_r+0xdfc> 65f4: d9001617 ldw r4,88(sp) 65f8: 980b883a mov r5,r19 65fc: 01800284 movi r6,10 6600: 000f883a mov r7,zero 6604: 0008f4c0 call 8f4c <__multadd> 6608: d8c00e17 ldw r3,56(sp) 660c: 1027883a mov r19,r2 6610: d8c00f15 stw r3,60(sp) 6614: 003cd306 br 5964 <_dtoa_r+0x900> 00006618 <_fflush_r>: 6618: defffb04 addi sp,sp,-20 661c: dcc00315 stw r19,12(sp) 6620: dc800215 stw r18,8(sp) 6624: dfc00415 stw ra,16(sp) 6628: dc400115 stw r17,4(sp) 662c: dc000015 stw r16,0(sp) 6630: 2027883a mov r19,r4 6634: 2825883a mov r18,r5 6638: 20000226 beq r4,zero,6644 <_fflush_r+0x2c> 663c: 20800e17 ldw r2,56(r4) 6640: 10005626 beq r2,zero,679c <_fflush_r+0x184> 6644: 9100030b ldhu r4,12(r18) 6648: 20ffffcc andi r3,r4,65535 664c: 18e0001c xori r3,r3,32768 6650: 18e00004 addi r3,r3,-32768 6654: 1880020c andi r2,r3,8 6658: 1000261e bne r2,zero,66f4 <_fflush_r+0xdc> 665c: 90c00117 ldw r3,4(r18) 6660: 20820014 ori r2,r4,2048 6664: 9080030d sth r2,12(r18) 6668: 1009883a mov r4,r2 666c: 00c0400e bge zero,r3,6770 <_fflush_r+0x158> 6670: 92000a17 ldw r8,40(r18) 6674: 40004026 beq r8,zero,6778 <_fflush_r+0x160> 6678: 2084000c andi r2,r4,4096 667c: 10005326 beq r2,zero,67cc <_fflush_r+0x1b4> 6680: 94001417 ldw r16,80(r18) 6684: 9080030b ldhu r2,12(r18) 6688: 1080010c andi r2,r2,4 668c: 1000481e bne r2,zero,67b0 <_fflush_r+0x198> 6690: 91400717 ldw r5,28(r18) 6694: 9809883a mov r4,r19 6698: 800d883a mov r6,r16 669c: 000f883a mov r7,zero 66a0: 403ee83a callr r8 66a4: 8080261e bne r16,r2,6740 <_fflush_r+0x128> 66a8: 9080030b ldhu r2,12(r18) 66ac: 91000417 ldw r4,16(r18) 66b0: 90000115 stw zero,4(r18) 66b4: 10bdffcc andi r2,r2,63487 66b8: 10ffffcc andi r3,r2,65535 66bc: 18c4000c andi r3,r3,4096 66c0: 9080030d sth r2,12(r18) 66c4: 91000015 stw r4,0(r18) 66c8: 18002b26 beq r3,zero,6778 <_fflush_r+0x160> 66cc: 0007883a mov r3,zero 66d0: 1805883a mov r2,r3 66d4: 94001415 stw r16,80(r18) 66d8: dfc00417 ldw ra,16(sp) 66dc: dcc00317 ldw r19,12(sp) 66e0: dc800217 ldw r18,8(sp) 66e4: dc400117 ldw r17,4(sp) 66e8: dc000017 ldw r16,0(sp) 66ec: dec00504 addi sp,sp,20 66f0: f800283a ret 66f4: 94400417 ldw r17,16(r18) 66f8: 88001f26 beq r17,zero,6778 <_fflush_r+0x160> 66fc: 90800017 ldw r2,0(r18) 6700: 18c000cc andi r3,r3,3 6704: 94400015 stw r17,0(r18) 6708: 1461c83a sub r16,r2,r17 670c: 18002526 beq r3,zero,67a4 <_fflush_r+0x18c> 6710: 0005883a mov r2,zero 6714: 90800215 stw r2,8(r18) 6718: 0400170e bge zero,r16,6778 <_fflush_r+0x160> 671c: 90c00917 ldw r3,36(r18) 6720: 91400717 ldw r5,28(r18) 6724: 880d883a mov r6,r17 6728: 800f883a mov r7,r16 672c: 9809883a mov r4,r19 6730: 183ee83a callr r3 6734: 88a3883a add r17,r17,r2 6738: 80a1c83a sub r16,r16,r2 673c: 00bff616 blt zero,r2,6718 <_fflush_r+0x100> 6740: 9080030b ldhu r2,12(r18) 6744: 00ffffc4 movi r3,-1 6748: 10801014 ori r2,r2,64 674c: 9080030d sth r2,12(r18) 6750: 1805883a mov r2,r3 6754: dfc00417 ldw ra,16(sp) 6758: dcc00317 ldw r19,12(sp) 675c: dc800217 ldw r18,8(sp) 6760: dc400117 ldw r17,4(sp) 6764: dc000017 ldw r16,0(sp) 6768: dec00504 addi sp,sp,20 676c: f800283a ret 6770: 90800f17 ldw r2,60(r18) 6774: 00bfbe16 blt zero,r2,6670 <_fflush_r+0x58> 6778: 0007883a mov r3,zero 677c: 1805883a mov r2,r3 6780: dfc00417 ldw ra,16(sp) 6784: dcc00317 ldw r19,12(sp) 6788: dc800217 ldw r18,8(sp) 678c: dc400117 ldw r17,4(sp) 6790: dc000017 ldw r16,0(sp) 6794: dec00504 addi sp,sp,20 6798: f800283a ret 679c: 00068b00 call 68b0 <__sinit> 67a0: 003fa806 br 6644 <_fflush_r+0x2c> 67a4: 90800517 ldw r2,20(r18) 67a8: 90800215 stw r2,8(r18) 67ac: 003fda06 br 6718 <_fflush_r+0x100> 67b0: 90800117 ldw r2,4(r18) 67b4: 90c00c17 ldw r3,48(r18) 67b8: 80a1c83a sub r16,r16,r2 67bc: 183fb426 beq r3,zero,6690 <_fflush_r+0x78> 67c0: 90800f17 ldw r2,60(r18) 67c4: 80a1c83a sub r16,r16,r2 67c8: 003fb106 br 6690 <_fflush_r+0x78> 67cc: 91400717 ldw r5,28(r18) 67d0: 9809883a mov r4,r19 67d4: 000d883a mov r6,zero 67d8: 01c00044 movi r7,1 67dc: 403ee83a callr r8 67e0: 1021883a mov r16,r2 67e4: 00bfffc4 movi r2,-1 67e8: 80800226 beq r16,r2,67f4 <_fflush_r+0x1dc> 67ec: 92000a17 ldw r8,40(r18) 67f0: 003fa406 br 6684 <_fflush_r+0x6c> 67f4: 98c00017 ldw r3,0(r19) 67f8: 00800744 movi r2,29 67fc: 18bfde26 beq r3,r2,6778 <_fflush_r+0x160> 6800: 9080030b ldhu r2,12(r18) 6804: 8007883a mov r3,r16 6808: 10801014 ori r2,r2,64 680c: 9080030d sth r2,12(r18) 6810: 003fcf06 br 6750 <_fflush_r+0x138> 00006814 <fflush>: 6814: 01400034 movhi r5,0 6818: 29598604 addi r5,r5,26136 681c: 2007883a mov r3,r4 6820: 20000526 beq r4,zero,6838 <fflush+0x24> 6824: 00800074 movhi r2,1 6828: 10887e04 addi r2,r2,8696 682c: 11000017 ldw r4,0(r2) 6830: 180b883a mov r5,r3 6834: 00066181 jmpi 6618 <_fflush_r> 6838: 00800074 movhi r2,1 683c: 10887f04 addi r2,r2,8700 6840: 11000017 ldw r4,0(r2) 6844: 00074181 jmpi 7418 <_fwalk_reent> 00006848 <std>: 6848: 00800074 movhi r2,1 684c: 10a66304 addi r2,r2,-26228 6850: 20800b15 stw r2,44(r4) 6854: 00800074 movhi r2,1 6858: 10a69e04 addi r2,r2,-25992 685c: 20800815 stw r2,32(r4) 6860: 00c00074 movhi r3,1 6864: 18e67f04 addi r3,r3,-26116 6868: 00800074 movhi r2,1 686c: 10a66504 addi r2,r2,-26220 6870: 2140030d sth r5,12(r4) 6874: 2180038d sth r6,14(r4) 6878: 20c00915 stw r3,36(r4) 687c: 20800a15 stw r2,40(r4) 6880: 20000015 stw zero,0(r4) 6884: 20000115 stw zero,4(r4) 6888: 20000215 stw zero,8(r4) 688c: 20000415 stw zero,16(r4) 6890: 20000515 stw zero,20(r4) 6894: 20000615 stw zero,24(r4) 6898: 21000715 stw r4,28(r4) 689c: f800283a ret 000068a0 <__sfp_lock_acquire>: 68a0: f800283a ret 000068a4 <__sfp_lock_release>: 68a4: f800283a ret 000068a8 <__sinit_lock_acquire>: 68a8: f800283a ret 000068ac <__sinit_lock_release>: 68ac: f800283a ret 000068b0 <__sinit>: 68b0: 20800e17 ldw r2,56(r4) 68b4: defffd04 addi sp,sp,-12 68b8: dc400115 stw r17,4(sp) 68bc: dc000015 stw r16,0(sp) 68c0: dfc00215 stw ra,8(sp) 68c4: 04400044 movi r17,1 68c8: 01400104 movi r5,4 68cc: 000d883a mov r6,zero 68d0: 2021883a mov r16,r4 68d4: 2200bb04 addi r8,r4,748 68d8: 200f883a mov r7,r4 68dc: 10000526 beq r2,zero,68f4 <__sinit+0x44> 68e0: dfc00217 ldw ra,8(sp) 68e4: dc400117 ldw r17,4(sp) 68e8: dc000017 ldw r16,0(sp) 68ec: dec00304 addi sp,sp,12 68f0: f800283a ret 68f4: 21000117 ldw r4,4(r4) 68f8: 00800034 movhi r2,0 68fc: 109a6504 addi r2,r2,27028 6900: 00c000c4 movi r3,3 6904: 80800f15 stw r2,60(r16) 6908: 80c0b915 stw r3,740(r16) 690c: 8200ba15 stw r8,744(r16) 6910: 84400e15 stw r17,56(r16) 6914: 8000b815 stw zero,736(r16) 6918: 00068480 call 6848 <std> 691c: 81000217 ldw r4,8(r16) 6920: 880d883a mov r6,r17 6924: 800f883a mov r7,r16 6928: 01400284 movi r5,10 692c: 00068480 call 6848 <std> 6930: 81000317 ldw r4,12(r16) 6934: 800f883a mov r7,r16 6938: 01400484 movi r5,18 693c: 01800084 movi r6,2 6940: dfc00217 ldw ra,8(sp) 6944: dc400117 ldw r17,4(sp) 6948: dc000017 ldw r16,0(sp) 694c: dec00304 addi sp,sp,12 6950: 00068481 jmpi 6848 <std> 00006954 <__fp_lock>: 6954: 0005883a mov r2,zero 6958: f800283a ret 0000695c <__fp_unlock>: 695c: 0005883a mov r2,zero 6960: f800283a ret 00006964 <__fp_unlock_all>: 6964: 00800074 movhi r2,1 6968: 10887e04 addi r2,r2,8696 696c: 11000017 ldw r4,0(r2) 6970: 01400034 movhi r5,0 6974: 295a5704 addi r5,r5,26972 6978: 00074e01 jmpi 74e0 <_fwalk> 0000697c <__fp_lock_all>: 697c: 00800074 movhi r2,1 6980: 10887e04 addi r2,r2,8696 6984: 11000017 ldw r4,0(r2) 6988: 01400034 movhi r5,0 698c: 295a5504 addi r5,r5,26964 6990: 00074e01 jmpi 74e0 <_fwalk> 00006994 <_cleanup_r>: 6994: 01400074 movhi r5,1 6998: 29679504 addi r5,r5,-25004 699c: 00074e01 jmpi 74e0 <_fwalk> 000069a0 <_cleanup>: 69a0: 00800074 movhi r2,1 69a4: 10887f04 addi r2,r2,8700 69a8: 11000017 ldw r4,0(r2) 69ac: 00069941 jmpi 6994 <_cleanup_r> 000069b0 <__sfmoreglue>: 69b0: defffc04 addi sp,sp,-16 69b4: dc000015 stw r16,0(sp) 69b8: 2821883a mov r16,r5 69bc: dc400115 stw r17,4(sp) 69c0: 01401704 movi r5,92 69c4: 2023883a mov r17,r4 69c8: 8009883a mov r4,r16 69cc: dfc00315 stw ra,12(sp) 69d0: dcc00215 stw r19,8(sp) 69d4: 0002c240 call 2c24 <__mulsi3> 69d8: 11400304 addi r5,r2,12 69dc: 8809883a mov r4,r17 69e0: 1027883a mov r19,r2 69e4: 00077f00 call 77f0 <_malloc_r> 69e8: 10c00304 addi r3,r2,12 69ec: 1023883a mov r17,r2 69f0: 1809883a mov r4,r3 69f4: 980d883a mov r6,r19 69f8: 000b883a mov r5,zero 69fc: 10000b26 beq r2,zero,6a2c <__sfmoreglue+0x7c> 6a00: 14000115 stw r16,4(r2) 6a04: 10c00215 stw r3,8(r2) 6a08: 10000015 stw zero,0(r2) 6a0c: 00081940 call 8194 <memset> 6a10: 8805883a mov r2,r17 6a14: dfc00317 ldw ra,12(sp) 6a18: dcc00217 ldw r19,8(sp) 6a1c: dc400117 ldw r17,4(sp) 6a20: dc000017 ldw r16,0(sp) 6a24: dec00404 addi sp,sp,16 6a28: f800283a ret 6a2c: 0023883a mov r17,zero 6a30: 8805883a mov r2,r17 6a34: dfc00317 ldw ra,12(sp) 6a38: dcc00217 ldw r19,8(sp) 6a3c: dc400117 ldw r17,4(sp) 6a40: dc000017 ldw r16,0(sp) 6a44: dec00404 addi sp,sp,16 6a48: f800283a ret 00006a4c <__sfp>: 6a4c: defffd04 addi sp,sp,-12 6a50: 00800074 movhi r2,1 6a54: 10887f04 addi r2,r2,8700 6a58: dc000015 stw r16,0(sp) 6a5c: 14000017 ldw r16,0(r2) 6a60: dc400115 stw r17,4(sp) 6a64: dfc00215 stw ra,8(sp) 6a68: 80800e17 ldw r2,56(r16) 6a6c: 2023883a mov r17,r4 6a70: 10002626 beq r2,zero,6b0c <__sfp+0xc0> 6a74: 8400b804 addi r16,r16,736 6a78: 80800117 ldw r2,4(r16) 6a7c: 81000217 ldw r4,8(r16) 6a80: 10ffffc4 addi r3,r2,-1 6a84: 18000916 blt r3,zero,6aac <__sfp+0x60> 6a88: 2080030f ldh r2,12(r4) 6a8c: 10000b26 beq r2,zero,6abc <__sfp+0x70> 6a90: 017fffc4 movi r5,-1 6a94: 00000206 br 6aa0 <__sfp+0x54> 6a98: 2080030f ldh r2,12(r4) 6a9c: 10000726 beq r2,zero,6abc <__sfp+0x70> 6aa0: 18ffffc4 addi r3,r3,-1 6aa4: 21001704 addi r4,r4,92 6aa8: 197ffb1e bne r3,r5,6a98 <__sfp+0x4c> 6aac: 80800017 ldw r2,0(r16) 6ab0: 10001926 beq r2,zero,6b18 <__sfp+0xcc> 6ab4: 1021883a mov r16,r2 6ab8: 003fef06 br 6a78 <__sfp+0x2c> 6abc: 00bfffc4 movi r2,-1 6ac0: 00c00044 movi r3,1 6ac4: 2080038d sth r2,14(r4) 6ac8: 20c0030d sth r3,12(r4) 6acc: 20000015 stw zero,0(r4) 6ad0: 20000215 stw zero,8(r4) 6ad4: 20000115 stw zero,4(r4) 6ad8: 20000415 stw zero,16(r4) 6adc: 20000515 stw zero,20(r4) 6ae0: 20000615 stw zero,24(r4) 6ae4: 20000c15 stw zero,48(r4) 6ae8: 20000d15 stw zero,52(r4) 6aec: 20001115 stw zero,68(r4) 6af0: 20001215 stw zero,72(r4) 6af4: 2005883a mov r2,r4 6af8: dfc00217 ldw ra,8(sp) 6afc: dc400117 ldw r17,4(sp) 6b00: dc000017 ldw r16,0(sp) 6b04: dec00304 addi sp,sp,12 6b08: f800283a ret 6b0c: 8009883a mov r4,r16 6b10: 00068b00 call 68b0 <__sinit> 6b14: 003fd706 br 6a74 <__sfp+0x28> 6b18: 8809883a mov r4,r17 6b1c: 01400104 movi r5,4 6b20: 00069b00 call 69b0 <__sfmoreglue> 6b24: 80800015 stw r2,0(r16) 6b28: 103fe21e bne r2,zero,6ab4 <__sfp+0x68> 6b2c: 00800304 movi r2,12 6b30: 0009883a mov r4,zero 6b34: 88800015 stw r2,0(r17) 6b38: 003fee06 br 6af4 <__sfp+0xa8> 00006b3c <_malloc_trim_r>: 6b3c: defffb04 addi sp,sp,-20 6b40: dcc00315 stw r19,12(sp) 6b44: 04c00074 movhi r19,1 6b48: 9cc2b004 addi r19,r19,2752 6b4c: dc800215 stw r18,8(sp) 6b50: dc400115 stw r17,4(sp) 6b54: dc000015 stw r16,0(sp) 6b58: 2823883a mov r17,r5 6b5c: 2025883a mov r18,r4 6b60: dfc00415 stw ra,16(sp) 6b64: 000cb800 call cb80 <__malloc_lock> 6b68: 98800217 ldw r2,8(r19) 6b6c: 9009883a mov r4,r18 6b70: 000b883a mov r5,zero 6b74: 10c00117 ldw r3,4(r2) 6b78: 00bfff04 movi r2,-4 6b7c: 18a0703a and r16,r3,r2 6b80: 8463c83a sub r17,r16,r17 6b84: 8c43fbc4 addi r17,r17,4079 6b88: 8822d33a srli r17,r17,12 6b8c: 0083ffc4 movi r2,4095 6b90: 8c7fffc4 addi r17,r17,-1 6b94: 8822933a slli r17,r17,12 6b98: 1440060e bge r2,r17,6bb4 <_malloc_trim_r+0x78> 6b9c: 000991c0 call 991c <_sbrk_r> 6ba0: 98c00217 ldw r3,8(r19) 6ba4: 9009883a mov r4,r18 6ba8: 044bc83a sub r5,zero,r17 6bac: 80c7883a add r3,r16,r3 6bb0: 10c00926 beq r2,r3,6bd8 <_malloc_trim_r+0x9c> 6bb4: 000cba00 call cba0 <__malloc_unlock> 6bb8: 0005883a mov r2,zero 6bbc: dfc00417 ldw ra,16(sp) 6bc0: dcc00317 ldw r19,12(sp) 6bc4: dc800217 ldw r18,8(sp) 6bc8: dc400117 ldw r17,4(sp) 6bcc: dc000017 ldw r16,0(sp) 6bd0: dec00504 addi sp,sp,20 6bd4: f800283a ret 6bd8: 9009883a mov r4,r18 6bdc: 000991c0 call 991c <_sbrk_r> 6be0: 844dc83a sub r6,r16,r17 6be4: 00ffffc4 movi r3,-1 6be8: 9009883a mov r4,r18 6bec: 000b883a mov r5,zero 6bf0: 01c00074 movhi r7,1 6bf4: 39d0c304 addi r7,r7,17164 6bf8: 31800054 ori r6,r6,1 6bfc: 10c00926 beq r2,r3,6c24 <_malloc_trim_r+0xe8> 6c00: 38800017 ldw r2,0(r7) 6c04: 98c00217 ldw r3,8(r19) 6c08: 9009883a mov r4,r18 6c0c: 1445c83a sub r2,r2,r17 6c10: 38800015 stw r2,0(r7) 6c14: 19800115 stw r6,4(r3) 6c18: 000cba00 call cba0 <__malloc_unlock> 6c1c: 00800044 movi r2,1 6c20: 003fe606 br 6bbc <_malloc_trim_r+0x80> 6c24: 000991c0 call 991c <_sbrk_r> 6c28: 99800217 ldw r6,8(r19) 6c2c: 100f883a mov r7,r2 6c30: 9009883a mov r4,r18 6c34: 1187c83a sub r3,r2,r6 6c38: 008003c4 movi r2,15 6c3c: 19400054 ori r5,r3,1 6c40: 10ffdc0e bge r2,r3,6bb4 <_malloc_trim_r+0x78> 6c44: 00800074 movhi r2,1 6c48: 10888304 addi r2,r2,8716 6c4c: 10c00017 ldw r3,0(r2) 6c50: 00800074 movhi r2,1 6c54: 1090c304 addi r2,r2,17164 6c58: 31400115 stw r5,4(r6) 6c5c: 38c7c83a sub r3,r7,r3 6c60: 10c00015 stw r3,0(r2) 6c64: 003fd306 br 6bb4 <_malloc_trim_r+0x78> 00006c68 <_free_r>: 6c68: defffd04 addi sp,sp,-12 6c6c: dc400115 stw r17,4(sp) 6c70: dc000015 stw r16,0(sp) 6c74: dfc00215 stw ra,8(sp) 6c78: 2821883a mov r16,r5 6c7c: 2023883a mov r17,r4 6c80: 28005a26 beq r5,zero,6dec <_free_r+0x184> 6c84: 000cb800 call cb80 <__malloc_lock> 6c88: 823ffe04 addi r8,r16,-8 6c8c: 41400117 ldw r5,4(r8) 6c90: 00bfff84 movi r2,-2 6c94: 02800074 movhi r10,1 6c98: 5282b004 addi r10,r10,2752 6c9c: 288e703a and r7,r5,r2 6ca0: 41cd883a add r6,r8,r7 6ca4: 30c00117 ldw r3,4(r6) 6ca8: 51000217 ldw r4,8(r10) 6cac: 00bfff04 movi r2,-4 6cb0: 1892703a and r9,r3,r2 6cb4: 5017883a mov r11,r10 6cb8: 31006726 beq r6,r4,6e58 <_free_r+0x1f0> 6cbc: 2880004c andi r2,r5,1 6cc0: 1005003a cmpeq r2,r2,zero 6cc4: 32400115 stw r9,4(r6) 6cc8: 10001a1e bne r2,zero,6d34 <_free_r+0xcc> 6ccc: 000b883a mov r5,zero 6cd0: 3247883a add r3,r6,r9 6cd4: 18800117 ldw r2,4(r3) 6cd8: 1080004c andi r2,r2,1 6cdc: 1000231e bne r2,zero,6d6c <_free_r+0x104> 6ce0: 280ac03a cmpne r5,r5,zero 6ce4: 3a4f883a add r7,r7,r9 6ce8: 2800451e bne r5,zero,6e00 <_free_r+0x198> 6cec: 31000217 ldw r4,8(r6) 6cf0: 00800074 movhi r2,1 6cf4: 1082b204 addi r2,r2,2760 6cf8: 20807b26 beq r4,r2,6ee8 <_free_r+0x280> 6cfc: 30800317 ldw r2,12(r6) 6d00: 3a07883a add r3,r7,r8 6d04: 19c00015 stw r7,0(r3) 6d08: 11000215 stw r4,8(r2) 6d0c: 20800315 stw r2,12(r4) 6d10: 38800054 ori r2,r7,1 6d14: 40800115 stw r2,4(r8) 6d18: 28001a26 beq r5,zero,6d84 <_free_r+0x11c> 6d1c: 8809883a mov r4,r17 6d20: dfc00217 ldw ra,8(sp) 6d24: dc400117 ldw r17,4(sp) 6d28: dc000017 ldw r16,0(sp) 6d2c: dec00304 addi sp,sp,12 6d30: 000cba01 jmpi cba0 <__malloc_unlock> 6d34: 80bffe17 ldw r2,-8(r16) 6d38: 50c00204 addi r3,r10,8 6d3c: 4091c83a sub r8,r8,r2 6d40: 41000217 ldw r4,8(r8) 6d44: 388f883a add r7,r7,r2 6d48: 20c06126 beq r4,r3,6ed0 <_free_r+0x268> 6d4c: 40800317 ldw r2,12(r8) 6d50: 3247883a add r3,r6,r9 6d54: 000b883a mov r5,zero 6d58: 11000215 stw r4,8(r2) 6d5c: 20800315 stw r2,12(r4) 6d60: 18800117 ldw r2,4(r3) 6d64: 1080004c andi r2,r2,1 6d68: 103fdd26 beq r2,zero,6ce0 <_free_r+0x78> 6d6c: 38800054 ori r2,r7,1 6d70: 3a07883a add r3,r7,r8 6d74: 280ac03a cmpne r5,r5,zero 6d78: 40800115 stw r2,4(r8) 6d7c: 19c00015 stw r7,0(r3) 6d80: 283fe61e bne r5,zero,6d1c <_free_r+0xb4> 6d84: 00807fc4 movi r2,511 6d88: 11c01f2e bgeu r2,r7,6e08 <_free_r+0x1a0> 6d8c: 3806d27a srli r3,r7,9 6d90: 1800481e bne r3,zero,6eb4 <_free_r+0x24c> 6d94: 3804d0fa srli r2,r7,3 6d98: 100690fa slli r3,r2,3 6d9c: 1acd883a add r6,r3,r11 6da0: 31400217 ldw r5,8(r6) 6da4: 31405926 beq r6,r5,6f0c <_free_r+0x2a4> 6da8: 28800117 ldw r2,4(r5) 6dac: 00ffff04 movi r3,-4 6db0: 10c4703a and r2,r2,r3 6db4: 3880022e bgeu r7,r2,6dc0 <_free_r+0x158> 6db8: 29400217 ldw r5,8(r5) 6dbc: 317ffa1e bne r6,r5,6da8 <_free_r+0x140> 6dc0: 29800317 ldw r6,12(r5) 6dc4: 41800315 stw r6,12(r8) 6dc8: 41400215 stw r5,8(r8) 6dcc: 8809883a mov r4,r17 6dd0: 2a000315 stw r8,12(r5) 6dd4: 32000215 stw r8,8(r6) 6dd8: dfc00217 ldw ra,8(sp) 6ddc: dc400117 ldw r17,4(sp) 6de0: dc000017 ldw r16,0(sp) 6de4: dec00304 addi sp,sp,12 6de8: 000cba01 jmpi cba0 <__malloc_unlock> 6dec: dfc00217 ldw ra,8(sp) 6df0: dc400117 ldw r17,4(sp) 6df4: dc000017 ldw r16,0(sp) 6df8: dec00304 addi sp,sp,12 6dfc: f800283a ret 6e00: 31000217 ldw r4,8(r6) 6e04: 003fbd06 br 6cfc <_free_r+0x94> 6e08: 3806d0fa srli r3,r7,3 6e0c: 00800044 movi r2,1 6e10: 51400117 ldw r5,4(r10) 6e14: 180890fa slli r4,r3,3 6e18: 1807d0ba srai r3,r3,2 6e1c: 22c9883a add r4,r4,r11 6e20: 21800217 ldw r6,8(r4) 6e24: 10c4983a sll r2,r2,r3 6e28: 41000315 stw r4,12(r8) 6e2c: 41800215 stw r6,8(r8) 6e30: 288ab03a or r5,r5,r2 6e34: 22000215 stw r8,8(r4) 6e38: 8809883a mov r4,r17 6e3c: 51400115 stw r5,4(r10) 6e40: 32000315 stw r8,12(r6) 6e44: dfc00217 ldw ra,8(sp) 6e48: dc400117 ldw r17,4(sp) 6e4c: dc000017 ldw r16,0(sp) 6e50: dec00304 addi sp,sp,12 6e54: 000cba01 jmpi cba0 <__malloc_unlock> 6e58: 2880004c andi r2,r5,1 6e5c: 3a4d883a add r6,r7,r9 6e60: 1000071e bne r2,zero,6e80 <_free_r+0x218> 6e64: 80bffe17 ldw r2,-8(r16) 6e68: 4091c83a sub r8,r8,r2 6e6c: 41000317 ldw r4,12(r8) 6e70: 40c00217 ldw r3,8(r8) 6e74: 308d883a add r6,r6,r2 6e78: 20c00215 stw r3,8(r4) 6e7c: 19000315 stw r4,12(r3) 6e80: 00800074 movhi r2,1 6e84: 10888204 addi r2,r2,8712 6e88: 11000017 ldw r4,0(r2) 6e8c: 30c00054 ori r3,r6,1 6e90: 52000215 stw r8,8(r10) 6e94: 40c00115 stw r3,4(r8) 6e98: 313fa036 bltu r6,r4,6d1c <_free_r+0xb4> 6e9c: 00800074 movhi r2,1 6ea0: 108f7904 addi r2,r2,15844 6ea4: 11400017 ldw r5,0(r2) 6ea8: 8809883a mov r4,r17 6eac: 0006b3c0 call 6b3c <_malloc_trim_r> 6eb0: 003f9a06 br 6d1c <_free_r+0xb4> 6eb4: 00800104 movi r2,4 6eb8: 10c0072e bgeu r2,r3,6ed8 <_free_r+0x270> 6ebc: 00800504 movi r2,20 6ec0: 10c01936 bltu r2,r3,6f28 <_free_r+0x2c0> 6ec4: 188016c4 addi r2,r3,91 6ec8: 100690fa slli r3,r2,3 6ecc: 003fb306 br 6d9c <_free_r+0x134> 6ed0: 01400044 movi r5,1 6ed4: 003f7e06 br 6cd0 <_free_r+0x68> 6ed8: 3804d1ba srli r2,r7,6 6edc: 10800e04 addi r2,r2,56 6ee0: 100690fa slli r3,r2,3 6ee4: 003fad06 br 6d9c <_free_r+0x134> 6ee8: 22000315 stw r8,12(r4) 6eec: 22000215 stw r8,8(r4) 6ef0: 3a05883a add r2,r7,r8 6ef4: 38c00054 ori r3,r7,1 6ef8: 11c00015 stw r7,0(r2) 6efc: 41000215 stw r4,8(r8) 6f00: 40c00115 stw r3,4(r8) 6f04: 41000315 stw r4,12(r8) 6f08: 003f8406 br 6d1c <_free_r+0xb4> 6f0c: 1005d0ba srai r2,r2,2 6f10: 00c00044 movi r3,1 6f14: 51000117 ldw r4,4(r10) 6f18: 1886983a sll r3,r3,r2 6f1c: 20c8b03a or r4,r4,r3 6f20: 51000115 stw r4,4(r10) 6f24: 003fa706 br 6dc4 <_free_r+0x15c> 6f28: 00801504 movi r2,84 6f2c: 10c00436 bltu r2,r3,6f40 <_free_r+0x2d8> 6f30: 3804d33a srli r2,r7,12 6f34: 10801b84 addi r2,r2,110 6f38: 100690fa slli r3,r2,3 6f3c: 003f9706 br 6d9c <_free_r+0x134> 6f40: 00805504 movi r2,340 6f44: 10c00436 bltu r2,r3,6f58 <_free_r+0x2f0> 6f48: 3804d3fa srli r2,r7,15 6f4c: 10801dc4 addi r2,r2,119 6f50: 100690fa slli r3,r2,3 6f54: 003f9106 br 6d9c <_free_r+0x134> 6f58: 00815504 movi r2,1364 6f5c: 10c0032e bgeu r2,r3,6f6c <_free_r+0x304> 6f60: 00801f84 movi r2,126 6f64: 00c0fc04 movi r3,1008 6f68: 003f8c06 br 6d9c <_free_r+0x134> 6f6c: 3804d4ba srli r2,r7,18 6f70: 10801f04 addi r2,r2,124 6f74: 100690fa slli r3,r2,3 6f78: 003f8806 br 6d9c <_free_r+0x134> 00006f7c <__sfvwrite_r>: 6f7c: 30800217 ldw r2,8(r6) 6f80: defff504 addi sp,sp,-44 6f84: df000915 stw fp,36(sp) 6f88: dd800715 stw r22,28(sp) 6f8c: dc800315 stw r18,12(sp) 6f90: dfc00a15 stw ra,40(sp) 6f94: ddc00815 stw r23,32(sp) 6f98: dd400615 stw r21,24(sp) 6f9c: dd000515 stw r20,20(sp) 6fa0: dcc00415 stw r19,16(sp) 6fa4: dc400215 stw r17,8(sp) 6fa8: dc000115 stw r16,4(sp) 6fac: 302d883a mov r22,r6 6fb0: 2039883a mov fp,r4 6fb4: 2825883a mov r18,r5 6fb8: 10001c26 beq r2,zero,702c <__sfvwrite_r+0xb0> 6fbc: 29c0030b ldhu r7,12(r5) 6fc0: 3880020c andi r2,r7,8 6fc4: 10002726 beq r2,zero,7064 <__sfvwrite_r+0xe8> 6fc8: 28800417 ldw r2,16(r5) 6fcc: 10002526 beq r2,zero,7064 <__sfvwrite_r+0xe8> 6fd0: 3880008c andi r2,r7,2 6fd4: b5400017 ldw r21,0(r22) 6fd8: 10002826 beq r2,zero,707c <__sfvwrite_r+0x100> 6fdc: 0021883a mov r16,zero 6fe0: 0023883a mov r17,zero 6fe4: 880d883a mov r6,r17 6fe8: e009883a mov r4,fp 6fec: 00810004 movi r2,1024 6ff0: 80006e26 beq r16,zero,71ac <__sfvwrite_r+0x230> 6ff4: 800f883a mov r7,r16 6ff8: 91400717 ldw r5,28(r18) 6ffc: 1400012e bgeu r2,r16,7004 <__sfvwrite_r+0x88> 7000: 100f883a mov r7,r2 7004: 90c00917 ldw r3,36(r18) 7008: 183ee83a callr r3 700c: 1007883a mov r3,r2 7010: 80a1c83a sub r16,r16,r2 7014: 88a3883a add r17,r17,r2 7018: 00806d0e bge zero,r2,71d0 <__sfvwrite_r+0x254> 701c: b0800217 ldw r2,8(r22) 7020: 10c5c83a sub r2,r2,r3 7024: b0800215 stw r2,8(r22) 7028: 103fee1e bne r2,zero,6fe4 <__sfvwrite_r+0x68> 702c: 0009883a mov r4,zero 7030: 2005883a mov r2,r4 7034: dfc00a17 ldw ra,40(sp) 7038: df000917 ldw fp,36(sp) 703c: ddc00817 ldw r23,32(sp) 7040: dd800717 ldw r22,28(sp) 7044: dd400617 ldw r21,24(sp) 7048: dd000517 ldw r20,20(sp) 704c: dcc00417 ldw r19,16(sp) 7050: dc800317 ldw r18,12(sp) 7054: dc400217 ldw r17,8(sp) 7058: dc000117 ldw r16,4(sp) 705c: dec00b04 addi sp,sp,44 7060: f800283a ret 7064: 0004ce40 call 4ce4 <__swsetup_r> 7068: 1000e41e bne r2,zero,73fc <__sfvwrite_r+0x480> 706c: 91c0030b ldhu r7,12(r18) 7070: b5400017 ldw r21,0(r22) 7074: 3880008c andi r2,r7,2 7078: 103fd81e bne r2,zero,6fdc <__sfvwrite_r+0x60> 707c: 3880004c andi r2,r7,1 7080: 1005003a cmpeq r2,r2,zero 7084: 10005726 beq r2,zero,71e4 <__sfvwrite_r+0x268> 7088: 0029883a mov r20,zero 708c: 002f883a mov r23,zero 7090: a0004226 beq r20,zero,719c <__sfvwrite_r+0x220> 7094: 3880800c andi r2,r7,512 7098: 94000217 ldw r16,8(r18) 709c: 10008b26 beq r2,zero,72cc <__sfvwrite_r+0x350> 70a0: 800d883a mov r6,r16 70a4: a400a536 bltu r20,r16,733c <__sfvwrite_r+0x3c0> 70a8: 3881200c andi r2,r7,1152 70ac: 10002726 beq r2,zero,714c <__sfvwrite_r+0x1d0> 70b0: 90800517 ldw r2,20(r18) 70b4: 92000417 ldw r8,16(r18) 70b8: 91400017 ldw r5,0(r18) 70bc: 1087883a add r3,r2,r2 70c0: 1887883a add r3,r3,r2 70c4: 1808d7fa srli r4,r3,31 70c8: 2a21c83a sub r16,r5,r8 70cc: 80800044 addi r2,r16,1 70d0: 20c9883a add r4,r4,r3 70d4: 2027d07a srai r19,r4,1 70d8: a085883a add r2,r20,r2 70dc: 980d883a mov r6,r19 70e0: 9880022e bgeu r19,r2,70ec <__sfvwrite_r+0x170> 70e4: 1027883a mov r19,r2 70e8: 100d883a mov r6,r2 70ec: 3881000c andi r2,r7,1024 70f0: 1000b826 beq r2,zero,73d4 <__sfvwrite_r+0x458> 70f4: 300b883a mov r5,r6 70f8: e009883a mov r4,fp 70fc: 00077f00 call 77f0 <_malloc_r> 7100: 10003126 beq r2,zero,71c8 <__sfvwrite_r+0x24c> 7104: 91400417 ldw r5,16(r18) 7108: 1009883a mov r4,r2 710c: 800d883a mov r6,r16 7110: 1023883a mov r17,r2 7114: 00080140 call 8014 <memcpy> 7118: 90c0030b ldhu r3,12(r18) 711c: 00beffc4 movi r2,-1025 7120: 1886703a and r3,r3,r2 7124: 18c02014 ori r3,r3,128 7128: 90c0030d sth r3,12(r18) 712c: 9c07c83a sub r3,r19,r16 7130: 8c05883a add r2,r17,r16 7134: a00d883a mov r6,r20 7138: a021883a mov r16,r20 713c: 90800015 stw r2,0(r18) 7140: 90c00215 stw r3,8(r18) 7144: 94400415 stw r17,16(r18) 7148: 94c00515 stw r19,20(r18) 714c: 91000017 ldw r4,0(r18) 7150: b80b883a mov r5,r23 7154: a023883a mov r17,r20 7158: 00080b40 call 80b4 <memmove> 715c: 90c00217 ldw r3,8(r18) 7160: 90800017 ldw r2,0(r18) 7164: a027883a mov r19,r20 7168: 1c07c83a sub r3,r3,r16 716c: 1405883a add r2,r2,r16 7170: 90c00215 stw r3,8(r18) 7174: a021883a mov r16,r20 7178: 90800015 stw r2,0(r18) 717c: b0800217 ldw r2,8(r22) 7180: 1405c83a sub r2,r2,r16 7184: b0800215 stw r2,8(r22) 7188: 103fa826 beq r2,zero,702c <__sfvwrite_r+0xb0> 718c: a469c83a sub r20,r20,r17 7190: 91c0030b ldhu r7,12(r18) 7194: bcef883a add r23,r23,r19 7198: a03fbe1e bne r20,zero,7094 <__sfvwrite_r+0x118> 719c: adc00017 ldw r23,0(r21) 71a0: ad000117 ldw r20,4(r21) 71a4: ad400204 addi r21,r21,8 71a8: 003fb906 br 7090 <__sfvwrite_r+0x114> 71ac: ac400017 ldw r17,0(r21) 71b0: ac000117 ldw r16,4(r21) 71b4: ad400204 addi r21,r21,8 71b8: 003f8a06 br 6fe4 <__sfvwrite_r+0x68> 71bc: 91400417 ldw r5,16(r18) 71c0: e009883a mov r4,fp 71c4: 0006c680 call 6c68 <_free_r> 71c8: 00800304 movi r2,12 71cc: e0800015 stw r2,0(fp) 71d0: 9080030b ldhu r2,12(r18) 71d4: 013fffc4 movi r4,-1 71d8: 10801014 ori r2,r2,64 71dc: 9080030d sth r2,12(r18) 71e0: 003f9306 br 7030 <__sfvwrite_r+0xb4> 71e4: 0027883a mov r19,zero 71e8: 002f883a mov r23,zero 71ec: d8000015 stw zero,0(sp) 71f0: 0029883a mov r20,zero 71f4: 98001e26 beq r19,zero,7270 <__sfvwrite_r+0x2f4> 71f8: d8c00017 ldw r3,0(sp) 71fc: 1804c03a cmpne r2,r3,zero 7200: 10005e26 beq r2,zero,737c <__sfvwrite_r+0x400> 7204: 9821883a mov r16,r19 7208: a4c0012e bgeu r20,r19,7210 <__sfvwrite_r+0x294> 720c: a021883a mov r16,r20 7210: 91000017 ldw r4,0(r18) 7214: 90800417 ldw r2,16(r18) 7218: 91800217 ldw r6,8(r18) 721c: 91c00517 ldw r7,20(r18) 7220: 1100022e bgeu r2,r4,722c <__sfvwrite_r+0x2b0> 7224: 31e3883a add r17,r6,r7 7228: 8c001616 blt r17,r16,7284 <__sfvwrite_r+0x308> 722c: 81c03816 blt r16,r7,7310 <__sfvwrite_r+0x394> 7230: 90c00917 ldw r3,36(r18) 7234: 91400717 ldw r5,28(r18) 7238: e009883a mov r4,fp 723c: b80d883a mov r6,r23 7240: 183ee83a callr r3 7244: 1023883a mov r17,r2 7248: 00bfe10e bge zero,r2,71d0 <__sfvwrite_r+0x254> 724c: a469c83a sub r20,r20,r17 7250: a0001826 beq r20,zero,72b4 <__sfvwrite_r+0x338> 7254: b0800217 ldw r2,8(r22) 7258: 1445c83a sub r2,r2,r17 725c: b0800215 stw r2,8(r22) 7260: 103f7226 beq r2,zero,702c <__sfvwrite_r+0xb0> 7264: 9c67c83a sub r19,r19,r17 7268: bc6f883a add r23,r23,r17 726c: 983fe21e bne r19,zero,71f8 <__sfvwrite_r+0x27c> 7270: adc00017 ldw r23,0(r21) 7274: acc00117 ldw r19,4(r21) 7278: ad400204 addi r21,r21,8 727c: d8000015 stw zero,0(sp) 7280: 003fdc06 br 71f4 <__sfvwrite_r+0x278> 7284: b80b883a mov r5,r23 7288: 880d883a mov r6,r17 728c: 00080b40 call 80b4 <memmove> 7290: 90c00017 ldw r3,0(r18) 7294: e009883a mov r4,fp 7298: 900b883a mov r5,r18 729c: 1c47883a add r3,r3,r17 72a0: 90c00015 stw r3,0(r18) 72a4: 00066180 call 6618 <_fflush_r> 72a8: 103fc91e bne r2,zero,71d0 <__sfvwrite_r+0x254> 72ac: a469c83a sub r20,r20,r17 72b0: a03fe81e bne r20,zero,7254 <__sfvwrite_r+0x2d8> 72b4: e009883a mov r4,fp 72b8: 900b883a mov r5,r18 72bc: 00066180 call 6618 <_fflush_r> 72c0: 103fc31e bne r2,zero,71d0 <__sfvwrite_r+0x254> 72c4: d8000015 stw zero,0(sp) 72c8: 003fe206 br 7254 <__sfvwrite_r+0x2d8> 72cc: 91000017 ldw r4,0(r18) 72d0: 90800417 ldw r2,16(r18) 72d4: 1100022e bgeu r2,r4,72e0 <__sfvwrite_r+0x364> 72d8: 8023883a mov r17,r16 72dc: 85003136 bltu r16,r20,73a4 <__sfvwrite_r+0x428> 72e0: 91c00517 ldw r7,20(r18) 72e4: a1c01836 bltu r20,r7,7348 <__sfvwrite_r+0x3cc> 72e8: 90c00917 ldw r3,36(r18) 72ec: 91400717 ldw r5,28(r18) 72f0: e009883a mov r4,fp 72f4: b80d883a mov r6,r23 72f8: 183ee83a callr r3 72fc: 1021883a mov r16,r2 7300: 00bfb30e bge zero,r2,71d0 <__sfvwrite_r+0x254> 7304: 1023883a mov r17,r2 7308: 1027883a mov r19,r2 730c: 003f9b06 br 717c <__sfvwrite_r+0x200> 7310: b80b883a mov r5,r23 7314: 800d883a mov r6,r16 7318: 00080b40 call 80b4 <memmove> 731c: 90c00217 ldw r3,8(r18) 7320: 90800017 ldw r2,0(r18) 7324: 8023883a mov r17,r16 7328: 1c07c83a sub r3,r3,r16 732c: 1405883a add r2,r2,r16 7330: 90c00215 stw r3,8(r18) 7334: 90800015 stw r2,0(r18) 7338: 003fc406 br 724c <__sfvwrite_r+0x2d0> 733c: a00d883a mov r6,r20 7340: a021883a mov r16,r20 7344: 003f8106 br 714c <__sfvwrite_r+0x1d0> 7348: b80b883a mov r5,r23 734c: a00d883a mov r6,r20 7350: 00080b40 call 80b4 <memmove> 7354: 90c00217 ldw r3,8(r18) 7358: 90800017 ldw r2,0(r18) 735c: a021883a mov r16,r20 7360: 1d07c83a sub r3,r3,r20 7364: 1505883a add r2,r2,r20 7368: a023883a mov r17,r20 736c: a027883a mov r19,r20 7370: 90c00215 stw r3,8(r18) 7374: 90800015 stw r2,0(r18) 7378: 003f8006 br 717c <__sfvwrite_r+0x200> 737c: b809883a mov r4,r23 7380: 01400284 movi r5,10 7384: 980d883a mov r6,r19 7388: 0007f300 call 7f30 <memchr> 738c: 10001726 beq r2,zero,73ec <__sfvwrite_r+0x470> 7390: 15c5c83a sub r2,r2,r23 7394: 15000044 addi r20,r2,1 7398: 00800044 movi r2,1 739c: d8800015 stw r2,0(sp) 73a0: 003f9806 br 7204 <__sfvwrite_r+0x288> 73a4: b80b883a mov r5,r23 73a8: 800d883a mov r6,r16 73ac: 00080b40 call 80b4 <memmove> 73b0: 90c00017 ldw r3,0(r18) 73b4: e009883a mov r4,fp 73b8: 900b883a mov r5,r18 73bc: 1c07883a add r3,r3,r16 73c0: 90c00015 stw r3,0(r18) 73c4: 8027883a mov r19,r16 73c8: 00066180 call 6618 <_fflush_r> 73cc: 103f6b26 beq r2,zero,717c <__sfvwrite_r+0x200> 73d0: 003f7f06 br 71d0 <__sfvwrite_r+0x254> 73d4: 400b883a mov r5,r8 73d8: e009883a mov r4,fp 73dc: 00092b80 call 92b8 <_realloc_r> 73e0: 103f7626 beq r2,zero,71bc <__sfvwrite_r+0x240> 73e4: 1023883a mov r17,r2 73e8: 003f5006 br 712c <__sfvwrite_r+0x1b0> 73ec: 00c00044 movi r3,1 73f0: 9d000044 addi r20,r19,1 73f4: d8c00015 stw r3,0(sp) 73f8: 003f8206 br 7204 <__sfvwrite_r+0x288> 73fc: 9080030b ldhu r2,12(r18) 7400: 00c00244 movi r3,9 7404: 013fffc4 movi r4,-1 7408: 10801014 ori r2,r2,64 740c: 9080030d sth r2,12(r18) 7410: e0c00015 stw r3,0(fp) 7414: 003f0606 br 7030 <__sfvwrite_r+0xb4> 00007418 <_fwalk_reent>: 7418: defff704 addi sp,sp,-36 741c: dcc00315 stw r19,12(sp) 7420: 24c0b804 addi r19,r4,736 7424: dd800615 stw r22,24(sp) 7428: dd400515 stw r21,20(sp) 742c: dfc00815 stw ra,32(sp) 7430: ddc00715 stw r23,28(sp) 7434: dd000415 stw r20,16(sp) 7438: dc800215 stw r18,8(sp) 743c: dc400115 stw r17,4(sp) 7440: dc000015 stw r16,0(sp) 7444: 202b883a mov r21,r4 7448: 282d883a mov r22,r5 744c: 00068a00 call 68a0 <__sfp_lock_acquire> 7450: 98002126 beq r19,zero,74d8 <_fwalk_reent+0xc0> 7454: 002f883a mov r23,zero 7458: 9c800117 ldw r18,4(r19) 745c: 9c000217 ldw r16,8(r19) 7460: 90bfffc4 addi r2,r18,-1 7464: 10000d16 blt r2,zero,749c <_fwalk_reent+0x84> 7468: 0023883a mov r17,zero 746c: 053fffc4 movi r20,-1 7470: 8080030f ldh r2,12(r16) 7474: 8c400044 addi r17,r17,1 7478: 10000626 beq r2,zero,7494 <_fwalk_reent+0x7c> 747c: 8080038f ldh r2,14(r16) 7480: 800b883a mov r5,r16 7484: a809883a mov r4,r21 7488: 15000226 beq r2,r20,7494 <_fwalk_reent+0x7c> 748c: b03ee83a callr r22 7490: b8aeb03a or r23,r23,r2 7494: 84001704 addi r16,r16,92 7498: 947ff51e bne r18,r17,7470 <_fwalk_reent+0x58> 749c: 9cc00017 ldw r19,0(r19) 74a0: 983fed1e bne r19,zero,7458 <_fwalk_reent+0x40> 74a4: 00068a40 call 68a4 <__sfp_lock_release> 74a8: b805883a mov r2,r23 74ac: dfc00817 ldw ra,32(sp) 74b0: ddc00717 ldw r23,28(sp) 74b4: dd800617 ldw r22,24(sp) 74b8: dd400517 ldw r21,20(sp) 74bc: dd000417 ldw r20,16(sp) 74c0: dcc00317 ldw r19,12(sp) 74c4: dc800217 ldw r18,8(sp) 74c8: dc400117 ldw r17,4(sp) 74cc: dc000017 ldw r16,0(sp) 74d0: dec00904 addi sp,sp,36 74d4: f800283a ret 74d8: 002f883a mov r23,zero 74dc: 003ff106 br 74a4 <_fwalk_reent+0x8c> 000074e0 <_fwalk>: 74e0: defff804 addi sp,sp,-32 74e4: dcc00315 stw r19,12(sp) 74e8: 24c0b804 addi r19,r4,736 74ec: dd400515 stw r21,20(sp) 74f0: dfc00715 stw ra,28(sp) 74f4: dd800615 stw r22,24(sp) 74f8: dd000415 stw r20,16(sp) 74fc: dc800215 stw r18,8(sp) 7500: dc400115 stw r17,4(sp) 7504: dc000015 stw r16,0(sp) 7508: 282b883a mov r21,r5 750c: 00068a00 call 68a0 <__sfp_lock_acquire> 7510: 98001f26 beq r19,zero,7590 <_fwalk+0xb0> 7514: 002d883a mov r22,zero 7518: 9c800117 ldw r18,4(r19) 751c: 9c000217 ldw r16,8(r19) 7520: 90bfffc4 addi r2,r18,-1 7524: 10000c16 blt r2,zero,7558 <_fwalk+0x78> 7528: 0023883a mov r17,zero 752c: 053fffc4 movi r20,-1 7530: 8080030f ldh r2,12(r16) 7534: 8c400044 addi r17,r17,1 7538: 10000526 beq r2,zero,7550 <_fwalk+0x70> 753c: 8080038f ldh r2,14(r16) 7540: 8009883a mov r4,r16 7544: 15000226 beq r2,r20,7550 <_fwalk+0x70> 7548: a83ee83a callr r21 754c: b0acb03a or r22,r22,r2 7550: 84001704 addi r16,r16,92 7554: 947ff61e bne r18,r17,7530 <_fwalk+0x50> 7558: 9cc00017 ldw r19,0(r19) 755c: 983fee1e bne r19,zero,7518 <_fwalk+0x38> 7560: 00068a40 call 68a4 <__sfp_lock_release> 7564: b005883a mov r2,r22 7568: dfc00717 ldw ra,28(sp) 756c: dd800617 ldw r22,24(sp) 7570: dd400517 ldw r21,20(sp) 7574: dd000417 ldw r20,16(sp) 7578: dcc00317 ldw r19,12(sp) 757c: dc800217 ldw r18,8(sp) 7580: dc400117 ldw r17,4(sp) 7584: dc000017 ldw r16,0(sp) 7588: dec00804 addi sp,sp,32 758c: f800283a ret 7590: 002d883a mov r22,zero 7594: 003ff206 br 7560 <_fwalk+0x80> 00007598 <__locale_charset>: 7598: d0a00517 ldw r2,-32748(gp) 759c: f800283a ret 000075a0 <_localeconv_r>: 75a0: 00800074 movhi r2,1 75a4: 10810304 addi r2,r2,1036 75a8: f800283a ret 000075ac <localeconv>: 75ac: 00800074 movhi r2,1 75b0: 10887e04 addi r2,r2,8696 75b4: 11000017 ldw r4,0(r2) 75b8: 00075a01 jmpi 75a0 <_localeconv_r> 000075bc <_setlocale_r>: 75bc: defffc04 addi sp,sp,-16 75c0: 00c00074 movhi r3,1 75c4: 18c0fe04 addi r3,r3,1016 75c8: dc800215 stw r18,8(sp) 75cc: dc400115 stw r17,4(sp) 75d0: dc000015 stw r16,0(sp) 75d4: 2023883a mov r17,r4 75d8: 2825883a mov r18,r5 75dc: dfc00315 stw ra,12(sp) 75e0: 3021883a mov r16,r6 75e4: 3009883a mov r4,r6 75e8: 180b883a mov r5,r3 75ec: 30000926 beq r6,zero,7614 <_setlocale_r+0x58> 75f0: 0009ad80 call 9ad8 <strcmp> 75f4: 8009883a mov r4,r16 75f8: 01400074 movhi r5,1 75fc: 2940e904 addi r5,r5,932 7600: 10000b1e bne r2,zero,7630 <_setlocale_r+0x74> 7604: 8c000d15 stw r16,52(r17) 7608: 8c800c15 stw r18,48(r17) 760c: 00c00074 movhi r3,1 7610: 18c0fe04 addi r3,r3,1016 7614: 1805883a mov r2,r3 7618: dfc00317 ldw ra,12(sp) 761c: dc800217 ldw r18,8(sp) 7620: dc400117 ldw r17,4(sp) 7624: dc000017 ldw r16,0(sp) 7628: dec00404 addi sp,sp,16 762c: f800283a ret 7630: 0009ad80 call 9ad8 <strcmp> 7634: 0007883a mov r3,zero 7638: 103ff226 beq r2,zero,7604 <_setlocale_r+0x48> 763c: 003ff506 br 7614 <_setlocale_r+0x58> 00007640 <setlocale>: 7640: 01800074 movhi r6,1 7644: 31887e04 addi r6,r6,8696 7648: 2007883a mov r3,r4 764c: 31000017 ldw r4,0(r6) 7650: 280d883a mov r6,r5 7654: 180b883a mov r5,r3 7658: 00075bc1 jmpi 75bc <_setlocale_r> 0000765c <__smakebuf_r>: 765c: 2880030b ldhu r2,12(r5) 7660: deffed04 addi sp,sp,-76 7664: dc401015 stw r17,64(sp) 7668: 1080008c andi r2,r2,2 766c: dc000f15 stw r16,60(sp) 7670: dfc01215 stw ra,72(sp) 7674: dc801115 stw r18,68(sp) 7678: 2821883a mov r16,r5 767c: 2023883a mov r17,r4 7680: 10000b26 beq r2,zero,76b0 <__smakebuf_r+0x54> 7684: 28c010c4 addi r3,r5,67 7688: 00800044 movi r2,1 768c: 28800515 stw r2,20(r5) 7690: 28c00415 stw r3,16(r5) 7694: 28c00015 stw r3,0(r5) 7698: dfc01217 ldw ra,72(sp) 769c: dc801117 ldw r18,68(sp) 76a0: dc401017 ldw r17,64(sp) 76a4: dc000f17 ldw r16,60(sp) 76a8: dec01304 addi sp,sp,76 76ac: f800283a ret 76b0: 2940038f ldh r5,14(r5) 76b4: 28002116 blt r5,zero,773c <__smakebuf_r+0xe0> 76b8: d80d883a mov r6,sp 76bc: 0009e680 call 9e68 <_fstat_r> 76c0: 10001e16 blt r2,zero,773c <__smakebuf_r+0xe0> 76c4: d8800117 ldw r2,4(sp) 76c8: 00e00014 movui r3,32768 76cc: 113c000c andi r4,r2,61440 76d0: 20c03126 beq r4,r3,7798 <__smakebuf_r+0x13c> 76d4: 8080030b ldhu r2,12(r16) 76d8: 00c80004 movi r3,8192 76dc: 10820014 ori r2,r2,2048 76e0: 8080030d sth r2,12(r16) 76e4: 20c01e26 beq r4,r3,7760 <__smakebuf_r+0x104> 76e8: 04810004 movi r18,1024 76ec: 8809883a mov r4,r17 76f0: 900b883a mov r5,r18 76f4: 00077f00 call 77f0 <_malloc_r> 76f8: 1009883a mov r4,r2 76fc: 10003126 beq r2,zero,77c4 <__smakebuf_r+0x168> 7700: 80c0030b ldhu r3,12(r16) 7704: 00800034 movhi r2,0 7708: 109a6504 addi r2,r2,27028 770c: 88800f15 stw r2,60(r17) 7710: 18c02014 ori r3,r3,128 7714: 84800515 stw r18,20(r16) 7718: 80c0030d sth r3,12(r16) 771c: 81000415 stw r4,16(r16) 7720: 81000015 stw r4,0(r16) 7724: dfc01217 ldw ra,72(sp) 7728: dc801117 ldw r18,68(sp) 772c: dc401017 ldw r17,64(sp) 7730: dc000f17 ldw r16,60(sp) 7734: dec01304 addi sp,sp,76 7738: f800283a ret 773c: 80c0030b ldhu r3,12(r16) 7740: 1880200c andi r2,r3,128 7744: 10000426 beq r2,zero,7758 <__smakebuf_r+0xfc> 7748: 04801004 movi r18,64 774c: 18820014 ori r2,r3,2048 7750: 8080030d sth r2,12(r16) 7754: 003fe506 br 76ec <__smakebuf_r+0x90> 7758: 04810004 movi r18,1024 775c: 003ffb06 br 774c <__smakebuf_r+0xf0> 7760: 8140038f ldh r5,14(r16) 7764: 8809883a mov r4,r17 7768: 0009edc0 call 9edc <_isatty_r> 776c: 103fde26 beq r2,zero,76e8 <__smakebuf_r+0x8c> 7770: 8080030b ldhu r2,12(r16) 7774: 80c010c4 addi r3,r16,67 7778: 04810004 movi r18,1024 777c: 10800054 ori r2,r2,1 7780: 8080030d sth r2,12(r16) 7784: 00800044 movi r2,1 7788: 80c00415 stw r3,16(r16) 778c: 80800515 stw r2,20(r16) 7790: 80c00015 stw r3,0(r16) 7794: 003fd506 br 76ec <__smakebuf_r+0x90> 7798: 80c00a17 ldw r3,40(r16) 779c: 00800074 movhi r2,1 77a0: 10a66504 addi r2,r2,-26220 77a4: 18bfcb1e bne r3,r2,76d4 <__smakebuf_r+0x78> 77a8: 8080030b ldhu r2,12(r16) 77ac: 00c10004 movi r3,1024 77b0: 1825883a mov r18,r3 77b4: 10c4b03a or r2,r2,r3 77b8: 8080030d sth r2,12(r16) 77bc: 80c01315 stw r3,76(r16) 77c0: 003fca06 br 76ec <__smakebuf_r+0x90> 77c4: 8100030b ldhu r4,12(r16) 77c8: 2080800c andi r2,r4,512 77cc: 103fb21e bne r2,zero,7698 <__smakebuf_r+0x3c> 77d0: 80c010c4 addi r3,r16,67 77d4: 21000094 ori r4,r4,2 77d8: 00800044 movi r2,1 77dc: 80800515 stw r2,20(r16) 77e0: 8100030d sth r4,12(r16) 77e4: 80c00415 stw r3,16(r16) 77e8: 80c00015 stw r3,0(r16) 77ec: 003faa06 br 7698 <__smakebuf_r+0x3c> 000077f0 <_malloc_r>: 77f0: defff604 addi sp,sp,-40 77f4: 28c002c4 addi r3,r5,11 77f8: 00800584 movi r2,22 77fc: dc800215 stw r18,8(sp) 7800: dfc00915 stw ra,36(sp) 7804: df000815 stw fp,32(sp) 7808: ddc00715 stw r23,28(sp) 780c: dd800615 stw r22,24(sp) 7810: dd400515 stw r21,20(sp) 7814: dd000415 stw r20,16(sp) 7818: dcc00315 stw r19,12(sp) 781c: dc400115 stw r17,4(sp) 7820: dc000015 stw r16,0(sp) 7824: 2025883a mov r18,r4 7828: 10c01236 bltu r2,r3,7874 <_malloc_r+0x84> 782c: 04400404 movi r17,16 7830: 8940142e bgeu r17,r5,7884 <_malloc_r+0x94> 7834: 00800304 movi r2,12 7838: 0007883a mov r3,zero 783c: 90800015 stw r2,0(r18) 7840: 1805883a mov r2,r3 7844: dfc00917 ldw ra,36(sp) 7848: df000817 ldw fp,32(sp) 784c: ddc00717 ldw r23,28(sp) 7850: dd800617 ldw r22,24(sp) 7854: dd400517 ldw r21,20(sp) 7858: dd000417 ldw r20,16(sp) 785c: dcc00317 ldw r19,12(sp) 7860: dc800217 ldw r18,8(sp) 7864: dc400117 ldw r17,4(sp) 7868: dc000017 ldw r16,0(sp) 786c: dec00a04 addi sp,sp,40 7870: f800283a ret 7874: 00bffe04 movi r2,-8 7878: 18a2703a and r17,r3,r2 787c: 883fed16 blt r17,zero,7834 <_malloc_r+0x44> 7880: 897fec36 bltu r17,r5,7834 <_malloc_r+0x44> 7884: 9009883a mov r4,r18 7888: 000cb800 call cb80 <__malloc_lock> 788c: 00807dc4 movi r2,503 7890: 14402b2e bgeu r2,r17,7940 <_malloc_r+0x150> 7894: 8806d27a srli r3,r17,9 7898: 18003f1e bne r3,zero,7998 <_malloc_r+0x1a8> 789c: 880cd0fa srli r6,r17,3 78a0: 300490fa slli r2,r6,3 78a4: 02c00074 movhi r11,1 78a8: 5ac2b004 addi r11,r11,2752 78ac: 12cb883a add r5,r2,r11 78b0: 2c000317 ldw r16,12(r5) 78b4: 580f883a mov r7,r11 78b8: 2c00041e bne r5,r16,78cc <_malloc_r+0xdc> 78bc: 00000a06 br 78e8 <_malloc_r+0xf8> 78c0: 1800860e bge r3,zero,7adc <_malloc_r+0x2ec> 78c4: 84000317 ldw r16,12(r16) 78c8: 2c000726 beq r5,r16,78e8 <_malloc_r+0xf8> 78cc: 80800117 ldw r2,4(r16) 78d0: 00ffff04 movi r3,-4 78d4: 10c8703a and r4,r2,r3 78d8: 2447c83a sub r3,r4,r17 78dc: 008003c4 movi r2,15 78e0: 10fff70e bge r2,r3,78c0 <_malloc_r+0xd0> 78e4: 31bfffc4 addi r6,r6,-1 78e8: 32400044 addi r9,r6,1 78ec: 02800074 movhi r10,1 78f0: 5282b204 addi r10,r10,2760 78f4: 54000217 ldw r16,8(r10) 78f8: 8280a026 beq r16,r10,7b7c <_malloc_r+0x38c> 78fc: 80800117 ldw r2,4(r16) 7900: 00ffff04 movi r3,-4 7904: 10ca703a and r5,r2,r3 7908: 2c4dc83a sub r6,r5,r17 790c: 008003c4 movi r2,15 7910: 11808316 blt r2,r6,7b20 <_malloc_r+0x330> 7914: 52800315 stw r10,12(r10) 7918: 52800215 stw r10,8(r10) 791c: 30002916 blt r6,zero,79c4 <_malloc_r+0x1d4> 7920: 8147883a add r3,r16,r5 7924: 18800117 ldw r2,4(r3) 7928: 9009883a mov r4,r18 792c: 10800054 ori r2,r2,1 7930: 18800115 stw r2,4(r3) 7934: 000cba00 call cba0 <__malloc_unlock> 7938: 80c00204 addi r3,r16,8 793c: 003fc006 br 7840 <_malloc_r+0x50> 7940: 02c00074 movhi r11,1 7944: 5ac2b004 addi r11,r11,2752 7948: 8ac5883a add r2,r17,r11 794c: 14000317 ldw r16,12(r2) 7950: 580f883a mov r7,r11 7954: 8806d0fa srli r3,r17,3 7958: 14006c26 beq r2,r16,7b0c <_malloc_r+0x31c> 795c: 80c00117 ldw r3,4(r16) 7960: 00bfff04 movi r2,-4 7964: 81800317 ldw r6,12(r16) 7968: 1886703a and r3,r3,r2 796c: 80c7883a add r3,r16,r3 7970: 18800117 ldw r2,4(r3) 7974: 81400217 ldw r5,8(r16) 7978: 9009883a mov r4,r18 797c: 10800054 ori r2,r2,1 7980: 18800115 stw r2,4(r3) 7984: 31400215 stw r5,8(r6) 7988: 29800315 stw r6,12(r5) 798c: 000cba00 call cba0 <__malloc_unlock> 7990: 80c00204 addi r3,r16,8 7994: 003faa06 br 7840 <_malloc_r+0x50> 7998: 00800104 movi r2,4 799c: 10c0052e bgeu r2,r3,79b4 <_malloc_r+0x1c4> 79a0: 00800504 movi r2,20 79a4: 10c07836 bltu r2,r3,7b88 <_malloc_r+0x398> 79a8: 198016c4 addi r6,r3,91 79ac: 300490fa slli r2,r6,3 79b0: 003fbc06 br 78a4 <_malloc_r+0xb4> 79b4: 8804d1ba srli r2,r17,6 79b8: 11800e04 addi r6,r2,56 79bc: 300490fa slli r2,r6,3 79c0: 003fb806 br 78a4 <_malloc_r+0xb4> 79c4: 00807fc4 movi r2,511 79c8: 1140bb36 bltu r2,r5,7cb8 <_malloc_r+0x4c8> 79cc: 2806d0fa srli r3,r5,3 79d0: 573ffe04 addi fp,r10,-8 79d4: 00800044 movi r2,1 79d8: 180890fa slli r4,r3,3 79dc: 1807d0ba srai r3,r3,2 79e0: e1c00117 ldw r7,4(fp) 79e4: 5909883a add r4,r11,r4 79e8: 21400217 ldw r5,8(r4) 79ec: 10c4983a sll r2,r2,r3 79f0: 81000315 stw r4,12(r16) 79f4: 81400215 stw r5,8(r16) 79f8: 388eb03a or r7,r7,r2 79fc: 2c000315 stw r16,12(r5) 7a00: 24000215 stw r16,8(r4) 7a04: e1c00115 stw r7,4(fp) 7a08: 4807883a mov r3,r9 7a0c: 4800cd16 blt r9,zero,7d44 <_malloc_r+0x554> 7a10: 1807d0ba srai r3,r3,2 7a14: 00800044 movi r2,1 7a18: 10c8983a sll r4,r2,r3 7a1c: 39004436 bltu r7,r4,7b30 <_malloc_r+0x340> 7a20: 21c4703a and r2,r4,r7 7a24: 10000a1e bne r2,zero,7a50 <_malloc_r+0x260> 7a28: 2109883a add r4,r4,r4 7a2c: 00bfff04 movi r2,-4 7a30: 4884703a and r2,r9,r2 7a34: 3906703a and r3,r7,r4 7a38: 12400104 addi r9,r2,4 7a3c: 1800041e bne r3,zero,7a50 <_malloc_r+0x260> 7a40: 2109883a add r4,r4,r4 7a44: 3904703a and r2,r7,r4 7a48: 4a400104 addi r9,r9,4 7a4c: 103ffc26 beq r2,zero,7a40 <_malloc_r+0x250> 7a50: 480490fa slli r2,r9,3 7a54: 4819883a mov r12,r9 7a58: 023fff04 movi r8,-4 7a5c: 589b883a add r13,r11,r2 7a60: 6807883a mov r3,r13 7a64: 014003c4 movi r5,15 7a68: 1c000317 ldw r16,12(r3) 7a6c: 1c00041e bne r3,r16,7a80 <_malloc_r+0x290> 7a70: 0000a706 br 7d10 <_malloc_r+0x520> 7a74: 3000ab0e bge r6,zero,7d24 <_malloc_r+0x534> 7a78: 84000317 ldw r16,12(r16) 7a7c: 1c00a426 beq r3,r16,7d10 <_malloc_r+0x520> 7a80: 80800117 ldw r2,4(r16) 7a84: 1204703a and r2,r2,r8 7a88: 144dc83a sub r6,r2,r17 7a8c: 29bff90e bge r5,r6,7a74 <_malloc_r+0x284> 7a90: 81000317 ldw r4,12(r16) 7a94: 80c00217 ldw r3,8(r16) 7a98: 89400054 ori r5,r17,1 7a9c: 8445883a add r2,r16,r17 7aa0: 20c00215 stw r3,8(r4) 7aa4: 19000315 stw r4,12(r3) 7aa8: 81400115 stw r5,4(r16) 7aac: 1187883a add r3,r2,r6 7ab0: 31000054 ori r4,r6,1 7ab4: 50800315 stw r2,12(r10) 7ab8: 50800215 stw r2,8(r10) 7abc: 19800015 stw r6,0(r3) 7ac0: 11000115 stw r4,4(r2) 7ac4: 12800215 stw r10,8(r2) 7ac8: 12800315 stw r10,12(r2) 7acc: 9009883a mov r4,r18 7ad0: 000cba00 call cba0 <__malloc_unlock> 7ad4: 80c00204 addi r3,r16,8 7ad8: 003f5906 br 7840 <_malloc_r+0x50> 7adc: 8109883a add r4,r16,r4 7ae0: 20800117 ldw r2,4(r4) 7ae4: 80c00217 ldw r3,8(r16) 7ae8: 81400317 ldw r5,12(r16) 7aec: 10800054 ori r2,r2,1 7af0: 20800115 stw r2,4(r4) 7af4: 28c00215 stw r3,8(r5) 7af8: 19400315 stw r5,12(r3) 7afc: 9009883a mov r4,r18 7b00: 000cba00 call cba0 <__malloc_unlock> 7b04: 80c00204 addi r3,r16,8 7b08: 003f4d06 br 7840 <_malloc_r+0x50> 7b0c: 80800204 addi r2,r16,8 7b10: 14000317 ldw r16,12(r2) 7b14: 143f911e bne r2,r16,795c <_malloc_r+0x16c> 7b18: 1a400084 addi r9,r3,2 7b1c: 003f7306 br 78ec <_malloc_r+0xfc> 7b20: 88c00054 ori r3,r17,1 7b24: 8445883a add r2,r16,r17 7b28: 80c00115 stw r3,4(r16) 7b2c: 003fdf06 br 7aac <_malloc_r+0x2bc> 7b30: e4000217 ldw r16,8(fp) 7b34: 00bfff04 movi r2,-4 7b38: 80c00117 ldw r3,4(r16) 7b3c: 802d883a mov r22,r16 7b40: 18aa703a and r21,r3,r2 7b44: ac401636 bltu r21,r17,7ba0 <_malloc_r+0x3b0> 7b48: ac49c83a sub r4,r21,r17 7b4c: 008003c4 movi r2,15 7b50: 1100130e bge r2,r4,7ba0 <_malloc_r+0x3b0> 7b54: 88800054 ori r2,r17,1 7b58: 8447883a add r3,r16,r17 7b5c: 80800115 stw r2,4(r16) 7b60: 20800054 ori r2,r4,1 7b64: 18800115 stw r2,4(r3) 7b68: e0c00215 stw r3,8(fp) 7b6c: 9009883a mov r4,r18 7b70: 000cba00 call cba0 <__malloc_unlock> 7b74: 80c00204 addi r3,r16,8 7b78: 003f3106 br 7840 <_malloc_r+0x50> 7b7c: 39c00117 ldw r7,4(r7) 7b80: 573ffe04 addi fp,r10,-8 7b84: 003fa006 br 7a08 <_malloc_r+0x218> 7b88: 00801504 movi r2,84 7b8c: 10c06736 bltu r2,r3,7d2c <_malloc_r+0x53c> 7b90: 8804d33a srli r2,r17,12 7b94: 11801b84 addi r6,r2,110 7b98: 300490fa slli r2,r6,3 7b9c: 003f4106 br 78a4 <_malloc_r+0xb4> 7ba0: d0a6fd17 ldw r2,-25612(gp) 7ba4: d0e00717 ldw r3,-32740(gp) 7ba8: 053fffc4 movi r20,-1 7bac: 10800404 addi r2,r2,16 7bb0: 88a7883a add r19,r17,r2 7bb4: 1d000326 beq r3,r20,7bc4 <_malloc_r+0x3d4> 7bb8: 98c3ffc4 addi r3,r19,4095 7bbc: 00bc0004 movi r2,-4096 7bc0: 18a6703a and r19,r3,r2 7bc4: 9009883a mov r4,r18 7bc8: 980b883a mov r5,r19 7bcc: 000991c0 call 991c <_sbrk_r> 7bd0: 1009883a mov r4,r2 7bd4: 15000426 beq r2,r20,7be8 <_malloc_r+0x3f8> 7bd8: 854b883a add r5,r16,r21 7bdc: 1029883a mov r20,r2 7be0: 11405a2e bgeu r2,r5,7d4c <_malloc_r+0x55c> 7be4: 87000c26 beq r16,fp,7c18 <_malloc_r+0x428> 7be8: e4000217 ldw r16,8(fp) 7bec: 80c00117 ldw r3,4(r16) 7bf0: 00bfff04 movi r2,-4 7bf4: 1884703a and r2,r3,r2 7bf8: 14400336 bltu r2,r17,7c08 <_malloc_r+0x418> 7bfc: 1449c83a sub r4,r2,r17 7c00: 008003c4 movi r2,15 7c04: 113fd316 blt r2,r4,7b54 <_malloc_r+0x364> 7c08: 9009883a mov r4,r18 7c0c: 000cba00 call cba0 <__malloc_unlock> 7c10: 0007883a mov r3,zero 7c14: 003f0a06 br 7840 <_malloc_r+0x50> 7c18: 05c00074 movhi r23,1 7c1c: bdd0c304 addi r23,r23,17164 7c20: b8800017 ldw r2,0(r23) 7c24: 988d883a add r6,r19,r2 7c28: b9800015 stw r6,0(r23) 7c2c: d0e00717 ldw r3,-32740(gp) 7c30: 00bfffc4 movi r2,-1 7c34: 18808e26 beq r3,r2,7e70 <_malloc_r+0x680> 7c38: 2145c83a sub r2,r4,r5 7c3c: 3085883a add r2,r6,r2 7c40: b8800015 stw r2,0(r23) 7c44: 20c001cc andi r3,r4,7 7c48: 18005f1e bne r3,zero,7dc8 <_malloc_r+0x5d8> 7c4c: 000b883a mov r5,zero 7c50: a4c5883a add r2,r20,r19 7c54: 1083ffcc andi r2,r2,4095 7c58: 00c40004 movi r3,4096 7c5c: 1887c83a sub r3,r3,r2 7c60: 28e7883a add r19,r5,r3 7c64: 9009883a mov r4,r18 7c68: 980b883a mov r5,r19 7c6c: 000991c0 call 991c <_sbrk_r> 7c70: 1007883a mov r3,r2 7c74: 00bfffc4 movi r2,-1 7c78: 18807a26 beq r3,r2,7e64 <_malloc_r+0x674> 7c7c: 1d05c83a sub r2,r3,r20 7c80: 9885883a add r2,r19,r2 7c84: 10c00054 ori r3,r2,1 7c88: b8800017 ldw r2,0(r23) 7c8c: a021883a mov r16,r20 7c90: a0c00115 stw r3,4(r20) 7c94: 9885883a add r2,r19,r2 7c98: b8800015 stw r2,0(r23) 7c9c: e5000215 stw r20,8(fp) 7ca0: b7003626 beq r22,fp,7d7c <_malloc_r+0x58c> 7ca4: 018003c4 movi r6,15 7ca8: 35404b36 bltu r6,r21,7dd8 <_malloc_r+0x5e8> 7cac: 00800044 movi r2,1 7cb0: a0800115 stw r2,4(r20) 7cb4: 003fcd06 br 7bec <_malloc_r+0x3fc> 7cb8: 2808d27a srli r4,r5,9 7cbc: 2000371e bne r4,zero,7d9c <_malloc_r+0x5ac> 7cc0: 2808d0fa srli r4,r5,3 7cc4: 200690fa slli r3,r4,3 7cc8: 1ad1883a add r8,r3,r11 7ccc: 41800217 ldw r6,8(r8) 7cd0: 41805b26 beq r8,r6,7e40 <_malloc_r+0x650> 7cd4: 30800117 ldw r2,4(r6) 7cd8: 00ffff04 movi r3,-4 7cdc: 10c4703a and r2,r2,r3 7ce0: 2880022e bgeu r5,r2,7cec <_malloc_r+0x4fc> 7ce4: 31800217 ldw r6,8(r6) 7ce8: 41bffa1e bne r8,r6,7cd4 <_malloc_r+0x4e4> 7cec: 32000317 ldw r8,12(r6) 7cf0: 39c00117 ldw r7,4(r7) 7cf4: 82000315 stw r8,12(r16) 7cf8: 81800215 stw r6,8(r16) 7cfc: 07000074 movhi fp,1 7d00: e702b004 addi fp,fp,2752 7d04: 34000315 stw r16,12(r6) 7d08: 44000215 stw r16,8(r8) 7d0c: 003f3e06 br 7a08 <_malloc_r+0x218> 7d10: 63000044 addi r12,r12,1 7d14: 608000cc andi r2,r12,3 7d18: 10005d26 beq r2,zero,7e90 <_malloc_r+0x6a0> 7d1c: 18c00204 addi r3,r3,8 7d20: 003f5106 br 7a68 <_malloc_r+0x278> 7d24: 8089883a add r4,r16,r2 7d28: 003f6d06 br 7ae0 <_malloc_r+0x2f0> 7d2c: 00805504 movi r2,340 7d30: 10c02036 bltu r2,r3,7db4 <_malloc_r+0x5c4> 7d34: 8804d3fa srli r2,r17,15 7d38: 11801dc4 addi r6,r2,119 7d3c: 300490fa slli r2,r6,3 7d40: 003ed806 br 78a4 <_malloc_r+0xb4> 7d44: 48c000c4 addi r3,r9,3 7d48: 003f3106 br 7a10 <_malloc_r+0x220> 7d4c: 05c00074 movhi r23,1 7d50: bdd0c304 addi r23,r23,17164 7d54: b8800017 ldw r2,0(r23) 7d58: 988d883a add r6,r19,r2 7d5c: b9800015 stw r6,0(r23) 7d60: 293fb21e bne r5,r4,7c2c <_malloc_r+0x43c> 7d64: 2083ffcc andi r2,r4,4095 7d68: 103fb01e bne r2,zero,7c2c <_malloc_r+0x43c> 7d6c: e4000217 ldw r16,8(fp) 7d70: 9d45883a add r2,r19,r21 7d74: 10800054 ori r2,r2,1 7d78: 80800115 stw r2,4(r16) 7d7c: b8c00017 ldw r3,0(r23) 7d80: d0a6fe17 ldw r2,-25608(gp) 7d84: 10c0012e bgeu r2,r3,7d8c <_malloc_r+0x59c> 7d88: d0e6fe15 stw r3,-25608(gp) 7d8c: d0a6ff17 ldw r2,-25604(gp) 7d90: 10ff962e bgeu r2,r3,7bec <_malloc_r+0x3fc> 7d94: d0e6ff15 stw r3,-25604(gp) 7d98: 003f9406 br 7bec <_malloc_r+0x3fc> 7d9c: 00800104 movi r2,4 7da0: 11001e36 bltu r2,r4,7e1c <_malloc_r+0x62c> 7da4: 2804d1ba srli r2,r5,6 7da8: 11000e04 addi r4,r2,56 7dac: 200690fa slli r3,r4,3 7db0: 003fc506 br 7cc8 <_malloc_r+0x4d8> 7db4: 00815504 movi r2,1364 7db8: 10c01d2e bgeu r2,r3,7e30 <_malloc_r+0x640> 7dbc: 01801f84 movi r6,126 7dc0: 0080fc04 movi r2,1008 7dc4: 003eb706 br 78a4 <_malloc_r+0xb4> 7dc8: 00800204 movi r2,8 7dcc: 10cbc83a sub r5,r2,r3 7dd0: 2169883a add r20,r4,r5 7dd4: 003f9e06 br 7c50 <_malloc_r+0x460> 7dd8: 00bffe04 movi r2,-8 7ddc: a93ffd04 addi r4,r21,-12 7de0: 2088703a and r4,r4,r2 7de4: b10b883a add r5,r22,r4 7de8: 00c00144 movi r3,5 7dec: 28c00215 stw r3,8(r5) 7df0: 28c00115 stw r3,4(r5) 7df4: b0800117 ldw r2,4(r22) 7df8: 1080004c andi r2,r2,1 7dfc: 2084b03a or r2,r4,r2 7e00: b0800115 stw r2,4(r22) 7e04: 313fdd2e bgeu r6,r4,7d7c <_malloc_r+0x58c> 7e08: b1400204 addi r5,r22,8 7e0c: 9009883a mov r4,r18 7e10: 0006c680 call 6c68 <_free_r> 7e14: e4000217 ldw r16,8(fp) 7e18: 003fd806 br 7d7c <_malloc_r+0x58c> 7e1c: 00800504 movi r2,20 7e20: 11001536 bltu r2,r4,7e78 <_malloc_r+0x688> 7e24: 210016c4 addi r4,r4,91 7e28: 200690fa slli r3,r4,3 7e2c: 003fa606 br 7cc8 <_malloc_r+0x4d8> 7e30: 8804d4ba srli r2,r17,18 7e34: 11801f04 addi r6,r2,124 7e38: 300490fa slli r2,r6,3 7e3c: 003e9906 br 78a4 <_malloc_r+0xb4> 7e40: 2009d0ba srai r4,r4,2 7e44: 01400074 movhi r5,1 7e48: 2942b004 addi r5,r5,2752 7e4c: 00c00044 movi r3,1 7e50: 28800117 ldw r2,4(r5) 7e54: 1906983a sll r3,r3,r4 7e58: 10c4b03a or r2,r2,r3 7e5c: 28800115 stw r2,4(r5) 7e60: 003fa306 br 7cf0 <_malloc_r+0x500> 7e64: 0027883a mov r19,zero 7e68: 00c00044 movi r3,1 7e6c: 003f8606 br 7c88 <_malloc_r+0x498> 7e70: d1200715 stw r4,-32740(gp) 7e74: 003f7306 br 7c44 <_malloc_r+0x454> 7e78: 00801504 movi r2,84 7e7c: 11001936 bltu r2,r4,7ee4 <_malloc_r+0x6f4> 7e80: 2804d33a srli r2,r5,12 7e84: 11001b84 addi r4,r2,110 7e88: 200690fa slli r3,r4,3 7e8c: 003f8e06 br 7cc8 <_malloc_r+0x4d8> 7e90: 480b883a mov r5,r9 7e94: 6807883a mov r3,r13 7e98: 288000cc andi r2,r5,3 7e9c: 18fffe04 addi r3,r3,-8 7ea0: 297fffc4 addi r5,r5,-1 7ea4: 10001526 beq r2,zero,7efc <_malloc_r+0x70c> 7ea8: 18800217 ldw r2,8(r3) 7eac: 10fffa26 beq r2,r3,7e98 <_malloc_r+0x6a8> 7eb0: 2109883a add r4,r4,r4 7eb4: 393f1e36 bltu r7,r4,7b30 <_malloc_r+0x340> 7eb8: 203f1d26 beq r4,zero,7b30 <_malloc_r+0x340> 7ebc: 21c4703a and r2,r4,r7 7ec0: 10000226 beq r2,zero,7ecc <_malloc_r+0x6dc> 7ec4: 6013883a mov r9,r12 7ec8: 003ee106 br 7a50 <_malloc_r+0x260> 7ecc: 2109883a add r4,r4,r4 7ed0: 3904703a and r2,r7,r4 7ed4: 63000104 addi r12,r12,4 7ed8: 103ffc26 beq r2,zero,7ecc <_malloc_r+0x6dc> 7edc: 6013883a mov r9,r12 7ee0: 003edb06 br 7a50 <_malloc_r+0x260> 7ee4: 00805504 movi r2,340 7ee8: 11000836 bltu r2,r4,7f0c <_malloc_r+0x71c> 7eec: 2804d3fa srli r2,r5,15 7ef0: 11001dc4 addi r4,r2,119 7ef4: 200690fa slli r3,r4,3 7ef8: 003f7306 br 7cc8 <_malloc_r+0x4d8> 7efc: 0104303a nor r2,zero,r4 7f00: 388e703a and r7,r7,r2 7f04: e1c00115 stw r7,4(fp) 7f08: 003fe906 br 7eb0 <_malloc_r+0x6c0> 7f0c: 00815504 movi r2,1364 7f10: 1100032e bgeu r2,r4,7f20 <_malloc_r+0x730> 7f14: 01001f84 movi r4,126 7f18: 00c0fc04 movi r3,1008 7f1c: 003f6a06 br 7cc8 <_malloc_r+0x4d8> 7f20: 2804d4ba srli r2,r5,18 7f24: 11001f04 addi r4,r2,124 7f28: 200690fa slli r3,r4,3 7f2c: 003f6606 br 7cc8 <_malloc_r+0x4d8> 00007f30 <memchr>: 7f30: 008000c4 movi r2,3 7f34: 29403fcc andi r5,r5,255 7f38: 2007883a mov r3,r4 7f3c: 1180022e bgeu r2,r6,7f48 <memchr+0x18> 7f40: 2084703a and r2,r4,r2 7f44: 10000b26 beq r2,zero,7f74 <memchr+0x44> 7f48: 313fffc4 addi r4,r6,-1 7f4c: 3000051e bne r6,zero,7f64 <memchr+0x34> 7f50: 00002c06 br 8004 <memchr+0xd4> 7f54: 213fffc4 addi r4,r4,-1 7f58: 00bfffc4 movi r2,-1 7f5c: 18c00044 addi r3,r3,1 7f60: 20802826 beq r4,r2,8004 <memchr+0xd4> 7f64: 18800003 ldbu r2,0(r3) 7f68: 28bffa1e bne r5,r2,7f54 <memchr+0x24> 7f6c: 1805883a mov r2,r3 7f70: f800283a ret 7f74: 0011883a mov r8,zero 7f78: 0007883a mov r3,zero 7f7c: 01c00104 movi r7,4 7f80: 4004923a slli r2,r8,8 7f84: 18c00044 addi r3,r3,1 7f88: 1151883a add r8,r2,r5 7f8c: 19fffc1e bne r3,r7,7f80 <memchr+0x50> 7f90: 02bfbff4 movhi r10,65279 7f94: 52bfbfc4 addi r10,r10,-257 7f98: 02602074 movhi r9,32897 7f9c: 4a602004 addi r9,r9,-32640 7fa0: 02c000c4 movi r11,3 7fa4: 20800017 ldw r2,0(r4) 7fa8: 31bfff04 addi r6,r6,-4 7fac: 200f883a mov r7,r4 7fb0: 1204f03a xor r2,r2,r8 7fb4: 1287883a add r3,r2,r10 7fb8: 1a46703a and r3,r3,r9 7fbc: 0084303a nor r2,zero,r2 7fc0: 10c4703a and r2,r2,r3 7fc4: 10000b26 beq r2,zero,7ff4 <memchr+0xc4> 7fc8: 20800003 ldbu r2,0(r4) 7fcc: 28800f26 beq r5,r2,800c <memchr+0xdc> 7fd0: 20800043 ldbu r2,1(r4) 7fd4: 21c00044 addi r7,r4,1 7fd8: 28800c26 beq r5,r2,800c <memchr+0xdc> 7fdc: 20800083 ldbu r2,2(r4) 7fe0: 21c00084 addi r7,r4,2 7fe4: 28800926 beq r5,r2,800c <memchr+0xdc> 7fe8: 208000c3 ldbu r2,3(r4) 7fec: 21c000c4 addi r7,r4,3 7ff0: 28800626 beq r5,r2,800c <memchr+0xdc> 7ff4: 21000104 addi r4,r4,4 7ff8: 59bfea36 bltu r11,r6,7fa4 <memchr+0x74> 7ffc: 2007883a mov r3,r4 8000: 003fd106 br 7f48 <memchr+0x18> 8004: 0005883a mov r2,zero 8008: f800283a ret 800c: 3805883a mov r2,r7 8010: f800283a ret 00008014 <memcpy>: 8014: 01c003c4 movi r7,15 8018: 2007883a mov r3,r4 801c: 3980032e bgeu r7,r6,802c <memcpy+0x18> 8020: 2904b03a or r2,r5,r4 8024: 108000cc andi r2,r2,3 8028: 10000926 beq r2,zero,8050 <memcpy+0x3c> 802c: 30000626 beq r6,zero,8048 <memcpy+0x34> 8030: 30cd883a add r6,r6,r3 8034: 28800003 ldbu r2,0(r5) 8038: 29400044 addi r5,r5,1 803c: 18800005 stb r2,0(r3) 8040: 18c00044 addi r3,r3,1 8044: 30fffb1e bne r6,r3,8034 <memcpy+0x20> 8048: 2005883a mov r2,r4 804c: f800283a ret 8050: 3811883a mov r8,r7 8054: 200f883a mov r7,r4 8058: 28c00017 ldw r3,0(r5) 805c: 31bffc04 addi r6,r6,-16 8060: 38c00015 stw r3,0(r7) 8064: 28800117 ldw r2,4(r5) 8068: 38800115 stw r2,4(r7) 806c: 28c00217 ldw r3,8(r5) 8070: 38c00215 stw r3,8(r7) 8074: 28800317 ldw r2,12(r5) 8078: 29400404 addi r5,r5,16 807c: 38800315 stw r2,12(r7) 8080: 39c00404 addi r7,r7,16 8084: 41bff436 bltu r8,r6,8058 <memcpy+0x44> 8088: 008000c4 movi r2,3 808c: 1180072e bgeu r2,r6,80ac <memcpy+0x98> 8090: 1007883a mov r3,r2 8094: 28800017 ldw r2,0(r5) 8098: 31bfff04 addi r6,r6,-4 809c: 29400104 addi r5,r5,4 80a0: 38800015 stw r2,0(r7) 80a4: 39c00104 addi r7,r7,4 80a8: 19bffa36 bltu r3,r6,8094 <memcpy+0x80> 80ac: 3807883a mov r3,r7 80b0: 003fde06 br 802c <memcpy+0x18> 000080b4 <memmove>: 80b4: 2807883a mov r3,r5 80b8: 2011883a mov r8,r4 80bc: 29000c2e bgeu r5,r4,80f0 <memmove+0x3c> 80c0: 298f883a add r7,r5,r6 80c4: 21c00a2e bgeu r4,r7,80f0 <memmove+0x3c> 80c8: 30000726 beq r6,zero,80e8 <memmove+0x34> 80cc: 2187883a add r3,r4,r6 80d0: 198dc83a sub r6,r3,r6 80d4: 39ffffc4 addi r7,r7,-1 80d8: 38800003 ldbu r2,0(r7) 80dc: 18ffffc4 addi r3,r3,-1 80e0: 18800005 stb r2,0(r3) 80e4: 19bffb1e bne r3,r6,80d4 <memmove+0x20> 80e8: 2005883a mov r2,r4 80ec: f800283a ret 80f0: 01c003c4 movi r7,15 80f4: 39800a36 bltu r7,r6,8120 <memmove+0x6c> 80f8: 303ffb26 beq r6,zero,80e8 <memmove+0x34> 80fc: 400f883a mov r7,r8 8100: 320d883a add r6,r6,r8 8104: 28800003 ldbu r2,0(r5) 8108: 29400044 addi r5,r5,1 810c: 38800005 stb r2,0(r7) 8110: 39c00044 addi r7,r7,1 8114: 39bffb1e bne r7,r6,8104 <memmove+0x50> 8118: 2005883a mov r2,r4 811c: f800283a ret 8120: 1904b03a or r2,r3,r4 8124: 108000cc andi r2,r2,3 8128: 103ff31e bne r2,zero,80f8 <memmove+0x44> 812c: 3811883a mov r8,r7 8130: 180b883a mov r5,r3 8134: 200f883a mov r7,r4 8138: 28c00017 ldw r3,0(r5) 813c: 31bffc04 addi r6,r6,-16 8140: 38c00015 stw r3,0(r7) 8144: 28800117 ldw r2,4(r5) 8148: 38800115 stw r2,4(r7) 814c: 28c00217 ldw r3,8(r5) 8150: 38c00215 stw r3,8(r7) 8154: 28800317 ldw r2,12(r5) 8158: 29400404 addi r5,r5,16 815c: 38800315 stw r2,12(r7) 8160: 39c00404 addi r7,r7,16 8164: 41bff436 bltu r8,r6,8138 <memmove+0x84> 8168: 008000c4 movi r2,3 816c: 1180072e bgeu r2,r6,818c <memmove+0xd8> 8170: 1007883a mov r3,r2 8174: 28800017 ldw r2,0(r5) 8178: 31bfff04 addi r6,r6,-4 817c: 29400104 addi r5,r5,4 8180: 38800015 stw r2,0(r7) 8184: 39c00104 addi r7,r7,4 8188: 19bffa36 bltu r3,r6,8174 <memmove+0xc0> 818c: 3811883a mov r8,r7 8190: 003fd906 br 80f8 <memmove+0x44> 00008194 <memset>: 8194: 008000c4 movi r2,3 8198: 29403fcc andi r5,r5,255 819c: 2007883a mov r3,r4 81a0: 1180022e bgeu r2,r6,81ac <memset+0x18> 81a4: 2084703a and r2,r4,r2 81a8: 10000826 beq r2,zero,81cc <memset+0x38> 81ac: 30000526 beq r6,zero,81c4 <memset+0x30> 81b0: 2805883a mov r2,r5 81b4: 30cd883a add r6,r6,r3 81b8: 18800005 stb r2,0(r3) 81bc: 18c00044 addi r3,r3,1 81c0: 19bffd1e bne r3,r6,81b8 <memset+0x24> 81c4: 2005883a mov r2,r4 81c8: f800283a ret 81cc: 2804923a slli r2,r5,8 81d0: 020003c4 movi r8,15 81d4: 200f883a mov r7,r4 81d8: 2884b03a or r2,r5,r2 81dc: 1006943a slli r3,r2,16 81e0: 10c6b03a or r3,r2,r3 81e4: 41800a2e bgeu r8,r6,8210 <memset+0x7c> 81e8: 4005883a mov r2,r8 81ec: 31bffc04 addi r6,r6,-16 81f0: 38c00015 stw r3,0(r7) 81f4: 38c00115 stw r3,4(r7) 81f8: 38c00215 stw r3,8(r7) 81fc: 38c00315 stw r3,12(r7) 8200: 39c00404 addi r7,r7,16 8204: 11bff936 bltu r2,r6,81ec <memset+0x58> 8208: 008000c4 movi r2,3 820c: 1180052e bgeu r2,r6,8224 <memset+0x90> 8210: 31bfff04 addi r6,r6,-4 8214: 008000c4 movi r2,3 8218: 38c00015 stw r3,0(r7) 821c: 39c00104 addi r7,r7,4 8220: 11bffb36 bltu r2,r6,8210 <memset+0x7c> 8224: 3807883a mov r3,r7 8228: 003fe006 br 81ac <memset+0x18> 0000822c <_Bfree>: 822c: 28000826 beq r5,zero,8250 <_Bfree+0x24> 8230: 28800117 ldw r2,4(r5) 8234: 21001317 ldw r4,76(r4) 8238: 1085883a add r2,r2,r2 823c: 1085883a add r2,r2,r2 8240: 1105883a add r2,r2,r4 8244: 10c00017 ldw r3,0(r2) 8248: 28c00015 stw r3,0(r5) 824c: 11400015 stw r5,0(r2) 8250: f800283a ret 00008254 <__hi0bits>: 8254: 20bfffec andhi r2,r4,65535 8258: 10001426 beq r2,zero,82ac <__hi0bits+0x58> 825c: 0007883a mov r3,zero 8260: 20bfc02c andhi r2,r4,65280 8264: 1000021e bne r2,zero,8270 <__hi0bits+0x1c> 8268: 2008923a slli r4,r4,8 826c: 18c00204 addi r3,r3,8 8270: 20bc002c andhi r2,r4,61440 8274: 1000021e bne r2,zero,8280 <__hi0bits+0x2c> 8278: 2008913a slli r4,r4,4 827c: 18c00104 addi r3,r3,4 8280: 20b0002c andhi r2,r4,49152 8284: 1000031e bne r2,zero,8294 <__hi0bits+0x40> 8288: 2105883a add r2,r4,r4 828c: 18c00084 addi r3,r3,2 8290: 1089883a add r4,r2,r2 8294: 20000316 blt r4,zero,82a4 <__hi0bits+0x50> 8298: 2090002c andhi r2,r4,16384 829c: 10000626 beq r2,zero,82b8 <__hi0bits+0x64> 82a0: 18c00044 addi r3,r3,1 82a4: 1805883a mov r2,r3 82a8: f800283a ret 82ac: 2008943a slli r4,r4,16 82b0: 00c00404 movi r3,16 82b4: 003fea06 br 8260 <__hi0bits+0xc> 82b8: 00c00804 movi r3,32 82bc: 1805883a mov r2,r3 82c0: f800283a ret 000082c4 <__lo0bits>: 82c4: 20c00017 ldw r3,0(r4) 82c8: 188001cc andi r2,r3,7 82cc: 10000a26 beq r2,zero,82f8 <__lo0bits+0x34> 82d0: 1880004c andi r2,r3,1 82d4: 1005003a cmpeq r2,r2,zero 82d8: 10002126 beq r2,zero,8360 <__lo0bits+0x9c> 82dc: 1880008c andi r2,r3,2 82e0: 1000251e bne r2,zero,8378 <__lo0bits+0xb4> 82e4: 1804d0ba srli r2,r3,2 82e8: 01400084 movi r5,2 82ec: 20800015 stw r2,0(r4) 82f0: 2805883a mov r2,r5 82f4: f800283a ret 82f8: 18bfffcc andi r2,r3,65535 82fc: 10001526 beq r2,zero,8354 <__lo0bits+0x90> 8300: 000b883a mov r5,zero 8304: 18803fcc andi r2,r3,255 8308: 1000021e bne r2,zero,8314 <__lo0bits+0x50> 830c: 1806d23a srli r3,r3,8 8310: 29400204 addi r5,r5,8 8314: 188003cc andi r2,r3,15 8318: 1000021e bne r2,zero,8324 <__lo0bits+0x60> 831c: 1806d13a srli r3,r3,4 8320: 29400104 addi r5,r5,4 8324: 188000cc andi r2,r3,3 8328: 1000021e bne r2,zero,8334 <__lo0bits+0x70> 832c: 1806d0ba srli r3,r3,2 8330: 29400084 addi r5,r5,2 8334: 1880004c andi r2,r3,1 8338: 1000031e bne r2,zero,8348 <__lo0bits+0x84> 833c: 1806d07a srli r3,r3,1 8340: 18000a26 beq r3,zero,836c <__lo0bits+0xa8> 8344: 29400044 addi r5,r5,1 8348: 2805883a mov r2,r5 834c: 20c00015 stw r3,0(r4) 8350: f800283a ret 8354: 1806d43a srli r3,r3,16 8358: 01400404 movi r5,16 835c: 003fe906 br 8304 <__lo0bits+0x40> 8360: 000b883a mov r5,zero 8364: 2805883a mov r2,r5 8368: f800283a ret 836c: 01400804 movi r5,32 8370: 2805883a mov r2,r5 8374: f800283a ret 8378: 1804d07a srli r2,r3,1 837c: 01400044 movi r5,1 8380: 20800015 stw r2,0(r4) 8384: 003fda06 br 82f0 <__lo0bits+0x2c> 00008388 <__mcmp>: 8388: 20800417 ldw r2,16(r4) 838c: 28c00417 ldw r3,16(r5) 8390: 10cfc83a sub r7,r2,r3 8394: 38000c1e bne r7,zero,83c8 <__mcmp+0x40> 8398: 18c5883a add r2,r3,r3 839c: 1085883a add r2,r2,r2 83a0: 10c00504 addi r3,r2,20 83a4: 21000504 addi r4,r4,20 83a8: 28cb883a add r5,r5,r3 83ac: 2085883a add r2,r4,r2 83b0: 10bfff04 addi r2,r2,-4 83b4: 297fff04 addi r5,r5,-4 83b8: 11800017 ldw r6,0(r2) 83bc: 28c00017 ldw r3,0(r5) 83c0: 30c0031e bne r6,r3,83d0 <__mcmp+0x48> 83c4: 20bffa36 bltu r4,r2,83b0 <__mcmp+0x28> 83c8: 3805883a mov r2,r7 83cc: f800283a ret 83d0: 30c00336 bltu r6,r3,83e0 <__mcmp+0x58> 83d4: 01c00044 movi r7,1 83d8: 3805883a mov r2,r7 83dc: f800283a ret 83e0: 01ffffc4 movi r7,-1 83e4: 003ff806 br 83c8 <__mcmp+0x40> 000083e8 <__ulp>: 83e8: 295ffc2c andhi r5,r5,32752 83ec: 013f3034 movhi r4,64704 83f0: 290b883a add r5,r5,r4 83f4: 0145c83a sub r2,zero,r5 83f8: 1007d53a srai r3,r2,20 83fc: 000d883a mov r6,zero 8400: 0140040e bge zero,r5,8414 <__ulp+0x2c> 8404: 280f883a mov r7,r5 8408: 3807883a mov r3,r7 840c: 3005883a mov r2,r6 8410: f800283a ret 8414: 008004c4 movi r2,19 8418: 193ffb04 addi r4,r3,-20 841c: 10c00c0e bge r2,r3,8450 <__ulp+0x68> 8420: 008007c4 movi r2,31 8424: 1107c83a sub r3,r2,r4 8428: 00800784 movi r2,30 842c: 01400044 movi r5,1 8430: 11000216 blt r2,r4,843c <__ulp+0x54> 8434: 00800044 movi r2,1 8438: 10ca983a sll r5,r2,r3 843c: 000f883a mov r7,zero 8440: 280d883a mov r6,r5 8444: 3807883a mov r3,r7 8448: 3005883a mov r2,r6 844c: f800283a ret 8450: 00800234 movhi r2,8 8454: 10cfd83a sra r7,r2,r3 8458: 000d883a mov r6,zero 845c: 3005883a mov r2,r6 8460: 3807883a mov r3,r7 8464: f800283a ret 00008468 <__b2d>: 8468: 20800417 ldw r2,16(r4) 846c: defff904 addi sp,sp,-28 8470: dd000415 stw r20,16(sp) 8474: 1085883a add r2,r2,r2 8478: 25000504 addi r20,r4,20 847c: 1085883a add r2,r2,r2 8480: dc000015 stw r16,0(sp) 8484: a0a1883a add r16,r20,r2 8488: dd400515 stw r21,20(sp) 848c: 857fff17 ldw r21,-4(r16) 8490: dc400115 stw r17,4(sp) 8494: dfc00615 stw ra,24(sp) 8498: a809883a mov r4,r21 849c: 2823883a mov r17,r5 84a0: dcc00315 stw r19,12(sp) 84a4: dc800215 stw r18,8(sp) 84a8: 00082540 call 8254 <__hi0bits> 84ac: 100b883a mov r5,r2 84b0: 00800804 movi r2,32 84b4: 1145c83a sub r2,r2,r5 84b8: 88800015 stw r2,0(r17) 84bc: 00800284 movi r2,10 84c0: 80ffff04 addi r3,r16,-4 84c4: 11401416 blt r2,r5,8518 <__b2d+0xb0> 84c8: 008002c4 movi r2,11 84cc: 1149c83a sub r4,r2,r5 84d0: a0c02736 bltu r20,r3,8570 <__b2d+0x108> 84d4: 000d883a mov r6,zero 84d8: 28800544 addi r2,r5,21 84dc: a906d83a srl r3,r21,r4 84e0: a884983a sll r2,r21,r2 84e4: 1ccffc34 orhi r19,r3,16368 84e8: 11a4b03a or r18,r2,r6 84ec: 9005883a mov r2,r18 84f0: 9807883a mov r3,r19 84f4: dfc00617 ldw ra,24(sp) 84f8: dd400517 ldw r21,20(sp) 84fc: dd000417 ldw r20,16(sp) 8500: dcc00317 ldw r19,12(sp) 8504: dc800217 ldw r18,8(sp) 8508: dc400117 ldw r17,4(sp) 850c: dc000017 ldw r16,0(sp) 8510: dec00704 addi sp,sp,28 8514: f800283a ret 8518: a0c00e36 bltu r20,r3,8554 <__b2d+0xec> 851c: 293ffd44 addi r4,r5,-11 8520: 000d883a mov r6,zero 8524: 20000f26 beq r4,zero,8564 <__b2d+0xfc> 8528: 00800804 movi r2,32 852c: 110bc83a sub r5,r2,r4 8530: a0c01236 bltu r20,r3,857c <__b2d+0x114> 8534: 000f883a mov r7,zero 8538: a904983a sll r2,r21,r4 853c: 3146d83a srl r3,r6,r5 8540: 3108983a sll r4,r6,r4 8544: 108ffc34 orhi r2,r2,16368 8548: 18a6b03a or r19,r3,r2 854c: 3924b03a or r18,r7,r4 8550: 003fe606 br 84ec <__b2d+0x84> 8554: 293ffd44 addi r4,r5,-11 8558: 81bffe17 ldw r6,-8(r16) 855c: 80fffe04 addi r3,r16,-8 8560: 203ff11e bne r4,zero,8528 <__b2d+0xc0> 8564: accffc34 orhi r19,r21,16368 8568: 3025883a mov r18,r6 856c: 003fdf06 br 84ec <__b2d+0x84> 8570: 18bfff17 ldw r2,-4(r3) 8574: 110cd83a srl r6,r2,r4 8578: 003fd706 br 84d8 <__b2d+0x70> 857c: 18bfff17 ldw r2,-4(r3) 8580: 114ed83a srl r7,r2,r5 8584: 003fec06 br 8538 <__b2d+0xd0> 00008588 <__ratio>: 8588: defff904 addi sp,sp,-28 858c: dc400215 stw r17,8(sp) 8590: 2823883a mov r17,r5 8594: d80b883a mov r5,sp 8598: dfc00615 stw ra,24(sp) 859c: dd000515 stw r20,20(sp) 85a0: dcc00415 stw r19,16(sp) 85a4: dc800315 stw r18,12(sp) 85a8: 2025883a mov r18,r4 85ac: 00084680 call 8468 <__b2d> 85b0: 8809883a mov r4,r17 85b4: d9400104 addi r5,sp,4 85b8: 1027883a mov r19,r2 85bc: 1829883a mov r20,r3 85c0: 00084680 call 8468 <__b2d> 85c4: 89000417 ldw r4,16(r17) 85c8: 91c00417 ldw r7,16(r18) 85cc: d9800117 ldw r6,4(sp) 85d0: 180b883a mov r5,r3 85d4: 390fc83a sub r7,r7,r4 85d8: 1009883a mov r4,r2 85dc: d8800017 ldw r2,0(sp) 85e0: 380e917a slli r7,r7,5 85e4: 2011883a mov r8,r4 85e8: 1185c83a sub r2,r2,r6 85ec: 11c5883a add r2,r2,r7 85f0: 1006953a slli r3,r2,20 85f4: 2813883a mov r9,r5 85f8: 00800d0e bge zero,r2,8630 <__ratio+0xa8> 85fc: 1d29883a add r20,r3,r20 8600: a00b883a mov r5,r20 8604: 480f883a mov r7,r9 8608: 9809883a mov r4,r19 860c: 400d883a mov r6,r8 8610: 000b5d00 call b5d0 <__divdf3> 8614: dfc00617 ldw ra,24(sp) 8618: dd000517 ldw r20,20(sp) 861c: dcc00417 ldw r19,16(sp) 8620: dc800317 ldw r18,12(sp) 8624: dc400217 ldw r17,8(sp) 8628: dec00704 addi sp,sp,28 862c: f800283a ret 8630: 28d3c83a sub r9,r5,r3 8634: 003ff206 br 8600 <__ratio+0x78> 00008638 <_mprec_log10>: 8638: defffe04 addi sp,sp,-8 863c: 008005c4 movi r2,23 8640: dc000015 stw r16,0(sp) 8644: dfc00115 stw ra,4(sp) 8648: 2021883a mov r16,r4 864c: 11000c16 blt r2,r4,8680 <_mprec_log10+0x48> 8650: 200490fa slli r2,r4,3 8654: 00c00074 movhi r3,1 8658: 18c10f04 addi r3,r3,1084 865c: 10c5883a add r2,r2,r3 8660: 12400117 ldw r9,4(r2) 8664: 12000017 ldw r8,0(r2) 8668: 4807883a mov r3,r9 866c: 4005883a mov r2,r8 8670: dfc00117 ldw ra,4(sp) 8674: dc000017 ldw r16,0(sp) 8678: dec00204 addi sp,sp,8 867c: f800283a ret 8680: 0011883a mov r8,zero 8684: 024ffc34 movhi r9,16368 8688: 0005883a mov r2,zero 868c: 00d00934 movhi r3,16420 8690: 480b883a mov r5,r9 8694: 4009883a mov r4,r8 8698: 180f883a mov r7,r3 869c: 100d883a mov r6,r2 86a0: 000b20c0 call b20c <__muldf3> 86a4: 843fffc4 addi r16,r16,-1 86a8: 1011883a mov r8,r2 86ac: 1813883a mov r9,r3 86b0: 803ff51e bne r16,zero,8688 <_mprec_log10+0x50> 86b4: 4005883a mov r2,r8 86b8: 4807883a mov r3,r9 86bc: dfc00117 ldw ra,4(sp) 86c0: dc000017 ldw r16,0(sp) 86c4: dec00204 addi sp,sp,8 86c8: f800283a ret 000086cc <__copybits>: 86cc: 297fffc4 addi r5,r5,-1 86d0: 30800417 ldw r2,16(r6) 86d4: 280bd17a srai r5,r5,5 86d8: 31800504 addi r6,r6,20 86dc: 1085883a add r2,r2,r2 86e0: 294b883a add r5,r5,r5 86e4: 294b883a add r5,r5,r5 86e8: 1085883a add r2,r2,r2 86ec: 290b883a add r5,r5,r4 86f0: 3087883a add r3,r6,r2 86f4: 29400104 addi r5,r5,4 86f8: 30c0052e bgeu r6,r3,8710 <__copybits+0x44> 86fc: 30800017 ldw r2,0(r6) 8700: 31800104 addi r6,r6,4 8704: 20800015 stw r2,0(r4) 8708: 21000104 addi r4,r4,4 870c: 30fffb36 bltu r6,r3,86fc <__copybits+0x30> 8710: 2140032e bgeu r4,r5,8720 <__copybits+0x54> 8714: 20000015 stw zero,0(r4) 8718: 21000104 addi r4,r4,4 871c: 217ffd36 bltu r4,r5,8714 <__copybits+0x48> 8720: f800283a ret 00008724 <__any_on>: 8724: 20800417 ldw r2,16(r4) 8728: 2807d17a srai r3,r5,5 872c: 21000504 addi r4,r4,20 8730: 10c00d0e bge r2,r3,8768 <__any_on+0x44> 8734: 1085883a add r2,r2,r2 8738: 1085883a add r2,r2,r2 873c: 208d883a add r6,r4,r2 8740: 2180182e bgeu r4,r6,87a4 <__any_on+0x80> 8744: 30bfff17 ldw r2,-4(r6) 8748: 30ffff04 addi r3,r6,-4 874c: 1000041e bne r2,zero,8760 <__any_on+0x3c> 8750: 20c0142e bgeu r4,r3,87a4 <__any_on+0x80> 8754: 18ffff04 addi r3,r3,-4 8758: 18800017 ldw r2,0(r3) 875c: 103ffc26 beq r2,zero,8750 <__any_on+0x2c> 8760: 00800044 movi r2,1 8764: f800283a ret 8768: 18800a0e bge r3,r2,8794 <__any_on+0x70> 876c: 294007cc andi r5,r5,31 8770: 28000826 beq r5,zero,8794 <__any_on+0x70> 8774: 18c5883a add r2,r3,r3 8778: 1085883a add r2,r2,r2 877c: 208d883a add r6,r4,r2 8780: 30c00017 ldw r3,0(r6) 8784: 1944d83a srl r2,r3,r5 8788: 1144983a sll r2,r2,r5 878c: 18bff41e bne r3,r2,8760 <__any_on+0x3c> 8790: 003feb06 br 8740 <__any_on+0x1c> 8794: 18c5883a add r2,r3,r3 8798: 1085883a add r2,r2,r2 879c: 208d883a add r6,r4,r2 87a0: 003fe706 br 8740 <__any_on+0x1c> 87a4: 0005883a mov r2,zero 87a8: f800283a ret 000087ac <_Balloc>: 87ac: 20c01317 ldw r3,76(r4) 87b0: defffb04 addi sp,sp,-20 87b4: dcc00315 stw r19,12(sp) 87b8: dc800215 stw r18,8(sp) 87bc: dfc00415 stw ra,16(sp) 87c0: 2825883a mov r18,r5 87c4: dc400115 stw r17,4(sp) 87c8: dc000015 stw r16,0(sp) 87cc: 2027883a mov r19,r4 87d0: 01800404 movi r6,16 87d4: 01400104 movi r5,4 87d8: 18001726 beq r3,zero,8838 <_Balloc+0x8c> 87dc: 01400044 movi r5,1 87e0: 9485883a add r2,r18,r18 87e4: 2ca2983a sll r17,r5,r18 87e8: 1085883a add r2,r2,r2 87ec: 10c7883a add r3,r2,r3 87f0: 1c000017 ldw r16,0(r3) 87f4: 8c4d883a add r6,r17,r17 87f8: 318d883a add r6,r6,r6 87fc: 9809883a mov r4,r19 8800: 31800504 addi r6,r6,20 8804: 80001226 beq r16,zero,8850 <_Balloc+0xa4> 8808: 80800017 ldw r2,0(r16) 880c: 18800015 stw r2,0(r3) 8810: 80000415 stw zero,16(r16) 8814: 80000315 stw zero,12(r16) 8818: 8005883a mov r2,r16 881c: dfc00417 ldw ra,16(sp) 8820: dcc00317 ldw r19,12(sp) 8824: dc800217 ldw r18,8(sp) 8828: dc400117 ldw r17,4(sp) 882c: dc000017 ldw r16,0(sp) 8830: dec00504 addi sp,sp,20 8834: f800283a ret 8838: 0009c0c0 call 9c0c <_calloc_r> 883c: 1007883a mov r3,r2 8840: 0021883a mov r16,zero 8844: 98801315 stw r2,76(r19) 8848: 103fe41e bne r2,zero,87dc <_Balloc+0x30> 884c: 003ff206 br 8818 <_Balloc+0x6c> 8850: 0009c0c0 call 9c0c <_calloc_r> 8854: 103ff026 beq r2,zero,8818 <_Balloc+0x6c> 8858: 1021883a mov r16,r2 885c: 14800115 stw r18,4(r2) 8860: 14400215 stw r17,8(r2) 8864: 003fea06 br 8810 <_Balloc+0x64> 00008868 <__d2b>: 8868: defff504 addi sp,sp,-44 886c: dcc00515 stw r19,20(sp) 8870: 04c00044 movi r19,1 8874: dc000215 stw r16,8(sp) 8878: 2821883a mov r16,r5 887c: 980b883a mov r5,r19 8880: ddc00915 stw r23,36(sp) 8884: dd800815 stw r22,32(sp) 8888: dd400715 stw r21,28(sp) 888c: dd000615 stw r20,24(sp) 8890: dc800415 stw r18,16(sp) 8894: dc400315 stw r17,12(sp) 8898: dfc00a15 stw ra,40(sp) 889c: 3023883a mov r17,r6 88a0: 382d883a mov r22,r7 88a4: ddc00b17 ldw r23,44(sp) 88a8: 00087ac0 call 87ac <_Balloc> 88ac: 1025883a mov r18,r2 88b0: 00a00034 movhi r2,32768 88b4: 10bfffc4 addi r2,r2,-1 88b8: 8888703a and r4,r17,r2 88bc: 202ad53a srli r21,r4,20 88c0: 00800434 movhi r2,16 88c4: 10bfffc4 addi r2,r2,-1 88c8: 8886703a and r3,r17,r2 88cc: a829003a cmpeq r20,r21,zero 88d0: 800b883a mov r5,r16 88d4: d8c00115 stw r3,4(sp) 88d8: 94000504 addi r16,r18,20 88dc: a000021e bne r20,zero,88e8 <__d2b+0x80> 88e0: 18c00434 orhi r3,r3,16 88e4: d8c00115 stw r3,4(sp) 88e8: 28002726 beq r5,zero,8988 <__d2b+0x120> 88ec: d809883a mov r4,sp 88f0: d9400015 stw r5,0(sp) 88f4: 00082c40 call 82c4 <__lo0bits> 88f8: 100d883a mov r6,r2 88fc: 10003526 beq r2,zero,89d4 <__d2b+0x16c> 8900: d8c00117 ldw r3,4(sp) 8904: 00800804 movi r2,32 8908: 1185c83a sub r2,r2,r6 890c: d9000017 ldw r4,0(sp) 8910: 1886983a sll r3,r3,r2 8914: 1906b03a or r3,r3,r4 8918: 90c00515 stw r3,20(r18) 891c: d8c00117 ldw r3,4(sp) 8920: 1986d83a srl r3,r3,r6 8924: d8c00115 stw r3,4(sp) 8928: 180b003a cmpeq r5,r3,zero 892c: 00800084 movi r2,2 8930: 114bc83a sub r5,r2,r5 8934: 80c00115 stw r3,4(r16) 8938: 91400415 stw r5,16(r18) 893c: a0001a1e bne r20,zero,89a8 <__d2b+0x140> 8940: 3545883a add r2,r6,r21 8944: 10bef344 addi r2,r2,-1075 8948: 00c00d44 movi r3,53 894c: b0800015 stw r2,0(r22) 8950: 1987c83a sub r3,r3,r6 8954: b8c00015 stw r3,0(r23) 8958: 9005883a mov r2,r18 895c: dfc00a17 ldw ra,40(sp) 8960: ddc00917 ldw r23,36(sp) 8964: dd800817 ldw r22,32(sp) 8968: dd400717 ldw r21,28(sp) 896c: dd000617 ldw r20,24(sp) 8970: dcc00517 ldw r19,20(sp) 8974: dc800417 ldw r18,16(sp) 8978: dc400317 ldw r17,12(sp) 897c: dc000217 ldw r16,8(sp) 8980: dec00b04 addi sp,sp,44 8984: f800283a ret 8988: d9000104 addi r4,sp,4 898c: 00082c40 call 82c4 <__lo0bits> 8990: 11800804 addi r6,r2,32 8994: d8800117 ldw r2,4(sp) 8998: 94c00415 stw r19,16(r18) 899c: 980b883a mov r5,r19 89a0: 90800515 stw r2,20(r18) 89a4: a03fe626 beq r20,zero,8940 <__d2b+0xd8> 89a8: 2945883a add r2,r5,r5 89ac: 1085883a add r2,r2,r2 89b0: 1405883a add r2,r2,r16 89b4: 113fff17 ldw r4,-4(r2) 89b8: 30fef384 addi r3,r6,-1074 89bc: 2820917a slli r16,r5,5 89c0: b0c00015 stw r3,0(r22) 89c4: 00082540 call 8254 <__hi0bits> 89c8: 80a1c83a sub r16,r16,r2 89cc: bc000015 stw r16,0(r23) 89d0: 003fe106 br 8958 <__d2b+0xf0> 89d4: d8800017 ldw r2,0(sp) 89d8: 90800515 stw r2,20(r18) 89dc: d8c00117 ldw r3,4(sp) 89e0: 003fd106 br 8928 <__d2b+0xc0> 000089e4 <__mdiff>: 89e4: defffb04 addi sp,sp,-20 89e8: dc000015 stw r16,0(sp) 89ec: 2821883a mov r16,r5 89f0: dc800215 stw r18,8(sp) 89f4: 300b883a mov r5,r6 89f8: 2025883a mov r18,r4 89fc: 8009883a mov r4,r16 8a00: dc400115 stw r17,4(sp) 8a04: dfc00415 stw ra,16(sp) 8a08: dcc00315 stw r19,12(sp) 8a0c: 3023883a mov r17,r6 8a10: 00083880 call 8388 <__mcmp> 8a14: 10004226 beq r2,zero,8b20 <__mdiff+0x13c> 8a18: 10005016 blt r2,zero,8b5c <__mdiff+0x178> 8a1c: 0027883a mov r19,zero 8a20: 81400117 ldw r5,4(r16) 8a24: 9009883a mov r4,r18 8a28: 00087ac0 call 87ac <_Balloc> 8a2c: 1019883a mov r12,r2 8a30: 82800417 ldw r10,16(r16) 8a34: 88800417 ldw r2,16(r17) 8a38: 81800504 addi r6,r16,20 8a3c: 5287883a add r3,r10,r10 8a40: 1085883a add r2,r2,r2 8a44: 18c7883a add r3,r3,r3 8a48: 1085883a add r2,r2,r2 8a4c: 8a000504 addi r8,r17,20 8a50: 64c00315 stw r19,12(r12) 8a54: 30db883a add r13,r6,r3 8a58: 4097883a add r11,r8,r2 8a5c: 61c00504 addi r7,r12,20 8a60: 0013883a mov r9,zero 8a64: 31000017 ldw r4,0(r6) 8a68: 41400017 ldw r5,0(r8) 8a6c: 42000104 addi r8,r8,4 8a70: 20bfffcc andi r2,r4,65535 8a74: 28ffffcc andi r3,r5,65535 8a78: 10c5c83a sub r2,r2,r3 8a7c: 1245883a add r2,r2,r9 8a80: 2008d43a srli r4,r4,16 8a84: 280ad43a srli r5,r5,16 8a88: 1007d43a srai r3,r2,16 8a8c: 3880000d sth r2,0(r7) 8a90: 2149c83a sub r4,r4,r5 8a94: 20c9883a add r4,r4,r3 8a98: 3900008d sth r4,2(r7) 8a9c: 31800104 addi r6,r6,4 8aa0: 39c00104 addi r7,r7,4 8aa4: 2013d43a srai r9,r4,16 8aa8: 42ffee36 bltu r8,r11,8a64 <__mdiff+0x80> 8aac: 33400c2e bgeu r6,r13,8ae0 <__mdiff+0xfc> 8ab0: 30800017 ldw r2,0(r6) 8ab4: 31800104 addi r6,r6,4 8ab8: 10ffffcc andi r3,r2,65535 8abc: 1a47883a add r3,r3,r9 8ac0: 1004d43a srli r2,r2,16 8ac4: 1809d43a srai r4,r3,16 8ac8: 38c0000d sth r3,0(r7) 8acc: 1105883a add r2,r2,r4 8ad0: 3880008d sth r2,2(r7) 8ad4: 1013d43a srai r9,r2,16 8ad8: 39c00104 addi r7,r7,4 8adc: 337ff436 bltu r6,r13,8ab0 <__mdiff+0xcc> 8ae0: 38bfff17 ldw r2,-4(r7) 8ae4: 38ffff04 addi r3,r7,-4 8ae8: 1000041e bne r2,zero,8afc <__mdiff+0x118> 8aec: 18ffff04 addi r3,r3,-4 8af0: 18800017 ldw r2,0(r3) 8af4: 52bfffc4 addi r10,r10,-1 8af8: 103ffc26 beq r2,zero,8aec <__mdiff+0x108> 8afc: 6005883a mov r2,r12 8b00: 62800415 stw r10,16(r12) 8b04: dfc00417 ldw ra,16(sp) 8b08: dcc00317 ldw r19,12(sp) 8b0c: dc800217 ldw r18,8(sp) 8b10: dc400117 ldw r17,4(sp) 8b14: dc000017 ldw r16,0(sp) 8b18: dec00504 addi sp,sp,20 8b1c: f800283a ret 8b20: 9009883a mov r4,r18 8b24: 000b883a mov r5,zero 8b28: 00087ac0 call 87ac <_Balloc> 8b2c: 1019883a mov r12,r2 8b30: 00800044 movi r2,1 8b34: 60800415 stw r2,16(r12) 8b38: 6005883a mov r2,r12 8b3c: 60000515 stw zero,20(r12) 8b40: dfc00417 ldw ra,16(sp) 8b44: dcc00317 ldw r19,12(sp) 8b48: dc800217 ldw r18,8(sp) 8b4c: dc400117 ldw r17,4(sp) 8b50: dc000017 ldw r16,0(sp) 8b54: dec00504 addi sp,sp,20 8b58: f800283a ret 8b5c: 880d883a mov r6,r17 8b60: 04c00044 movi r19,1 8b64: 8023883a mov r17,r16 8b68: 3021883a mov r16,r6 8b6c: 003fac06 br 8a20 <__mdiff+0x3c> 00008b70 <__lshift>: 8b70: defff904 addi sp,sp,-28 8b74: 28800417 ldw r2,16(r5) 8b78: dc000015 stw r16,0(sp) 8b7c: 3021d17a srai r16,r6,5 8b80: 28c00217 ldw r3,8(r5) 8b84: 10800044 addi r2,r2,1 8b88: dc400115 stw r17,4(sp) 8b8c: 80a3883a add r17,r16,r2 8b90: dd400515 stw r21,20(sp) 8b94: dd000415 stw r20,16(sp) 8b98: dc800215 stw r18,8(sp) 8b9c: dfc00615 stw ra,24(sp) 8ba0: 2825883a mov r18,r5 8ba4: dcc00315 stw r19,12(sp) 8ba8: 3029883a mov r20,r6 8bac: 202b883a mov r21,r4 8bb0: 29400117 ldw r5,4(r5) 8bb4: 1c40030e bge r3,r17,8bc4 <__lshift+0x54> 8bb8: 18c7883a add r3,r3,r3 8bbc: 29400044 addi r5,r5,1 8bc0: 1c7ffd16 blt r3,r17,8bb8 <__lshift+0x48> 8bc4: a809883a mov r4,r21 8bc8: 00087ac0 call 87ac <_Balloc> 8bcc: 1027883a mov r19,r2 8bd0: 11400504 addi r5,r2,20 8bd4: 0400090e bge zero,r16,8bfc <__lshift+0x8c> 8bd8: 2805883a mov r2,r5 8bdc: 0007883a mov r3,zero 8be0: 18c00044 addi r3,r3,1 8be4: 10000015 stw zero,0(r2) 8be8: 10800104 addi r2,r2,4 8bec: 80fffc1e bne r16,r3,8be0 <__lshift+0x70> 8bf0: 8405883a add r2,r16,r16 8bf4: 1085883a add r2,r2,r2 8bf8: 288b883a add r5,r5,r2 8bfc: 90800417 ldw r2,16(r18) 8c00: 91000504 addi r4,r18,20 8c04: a18007cc andi r6,r20,31 8c08: 1085883a add r2,r2,r2 8c0c: 1085883a add r2,r2,r2 8c10: 208f883a add r7,r4,r2 8c14: 30001e26 beq r6,zero,8c90 <__lshift+0x120> 8c18: 00800804 movi r2,32 8c1c: 1191c83a sub r8,r2,r6 8c20: 0007883a mov r3,zero 8c24: 20800017 ldw r2,0(r4) 8c28: 1184983a sll r2,r2,r6 8c2c: 1884b03a or r2,r3,r2 8c30: 28800015 stw r2,0(r5) 8c34: 20c00017 ldw r3,0(r4) 8c38: 21000104 addi r4,r4,4 8c3c: 29400104 addi r5,r5,4 8c40: 1a06d83a srl r3,r3,r8 8c44: 21fff736 bltu r4,r7,8c24 <__lshift+0xb4> 8c48: 28c00015 stw r3,0(r5) 8c4c: 18000126 beq r3,zero,8c54 <__lshift+0xe4> 8c50: 8c400044 addi r17,r17,1 8c54: 88bfffc4 addi r2,r17,-1 8c58: 98800415 stw r2,16(r19) 8c5c: a809883a mov r4,r21 8c60: 900b883a mov r5,r18 8c64: 000822c0 call 822c <_Bfree> 8c68: 9805883a mov r2,r19 8c6c: dfc00617 ldw ra,24(sp) 8c70: dd400517 ldw r21,20(sp) 8c74: dd000417 ldw r20,16(sp) 8c78: dcc00317 ldw r19,12(sp) 8c7c: dc800217 ldw r18,8(sp) 8c80: dc400117 ldw r17,4(sp) 8c84: dc000017 ldw r16,0(sp) 8c88: dec00704 addi sp,sp,28 8c8c: f800283a ret 8c90: 20800017 ldw r2,0(r4) 8c94: 21000104 addi r4,r4,4 8c98: 28800015 stw r2,0(r5) 8c9c: 29400104 addi r5,r5,4 8ca0: 21ffec2e bgeu r4,r7,8c54 <__lshift+0xe4> 8ca4: 20800017 ldw r2,0(r4) 8ca8: 21000104 addi r4,r4,4 8cac: 28800015 stw r2,0(r5) 8cb0: 29400104 addi r5,r5,4 8cb4: 21fff636 bltu r4,r7,8c90 <__lshift+0x120> 8cb8: 003fe606 br 8c54 <__lshift+0xe4> 00008cbc <__multiply>: 8cbc: defff004 addi sp,sp,-64 8cc0: dc800815 stw r18,32(sp) 8cc4: dc400715 stw r17,28(sp) 8cc8: 2c800417 ldw r18,16(r5) 8ccc: 34400417 ldw r17,16(r6) 8cd0: dcc00915 stw r19,36(sp) 8cd4: dc000615 stw r16,24(sp) 8cd8: dfc00f15 stw ra,60(sp) 8cdc: df000e15 stw fp,56(sp) 8ce0: ddc00d15 stw r23,52(sp) 8ce4: dd800c15 stw r22,48(sp) 8ce8: dd400b15 stw r21,44(sp) 8cec: dd000a15 stw r20,40(sp) 8cf0: 2821883a mov r16,r5 8cf4: 3027883a mov r19,r6 8cf8: 9440040e bge r18,r17,8d0c <__multiply+0x50> 8cfc: 8825883a mov r18,r17 8d00: 2c400417 ldw r17,16(r5) 8d04: 2827883a mov r19,r5 8d08: 3021883a mov r16,r6 8d0c: 80800217 ldw r2,8(r16) 8d10: 9447883a add r3,r18,r17 8d14: d8c00415 stw r3,16(sp) 8d18: 81400117 ldw r5,4(r16) 8d1c: 10c0010e bge r2,r3,8d24 <__multiply+0x68> 8d20: 29400044 addi r5,r5,1 8d24: 00087ac0 call 87ac <_Balloc> 8d28: d8800515 stw r2,20(sp) 8d2c: d9000417 ldw r4,16(sp) 8d30: d8c00517 ldw r3,20(sp) 8d34: 2105883a add r2,r4,r4 8d38: 1085883a add r2,r2,r2 8d3c: 19000504 addi r4,r3,20 8d40: 2085883a add r2,r4,r2 8d44: d8800315 stw r2,12(sp) 8d48: 2080052e bgeu r4,r2,8d60 <__multiply+0xa4> 8d4c: 2005883a mov r2,r4 8d50: d8c00317 ldw r3,12(sp) 8d54: 10000015 stw zero,0(r2) 8d58: 10800104 addi r2,r2,4 8d5c: 10fffc36 bltu r2,r3,8d50 <__multiply+0x94> 8d60: 8c45883a add r2,r17,r17 8d64: 9487883a add r3,r18,r18 8d68: 9dc00504 addi r23,r19,20 8d6c: 1085883a add r2,r2,r2 8d70: 84000504 addi r16,r16,20 8d74: 18c7883a add r3,r3,r3 8d78: b885883a add r2,r23,r2 8d7c: dc000015 stw r16,0(sp) 8d80: d8800215 stw r2,8(sp) 8d84: 80f9883a add fp,r16,r3 8d88: b880432e bgeu r23,r2,8e98 <__multiply+0x1dc> 8d8c: d9000115 stw r4,4(sp) 8d90: b9000017 ldw r4,0(r23) 8d94: 253fffcc andi r20,r4,65535 8d98: a0001a26 beq r20,zero,8e04 <__multiply+0x148> 8d9c: dcc00017 ldw r19,0(sp) 8da0: dc800117 ldw r18,4(sp) 8da4: 002b883a mov r21,zero 8da8: 9c400017 ldw r17,0(r19) 8dac: 94000017 ldw r16,0(r18) 8db0: a009883a mov r4,r20 8db4: 897fffcc andi r5,r17,65535 8db8: 0002c240 call 2c24 <__mulsi3> 8dbc: 880ad43a srli r5,r17,16 8dc0: 80ffffcc andi r3,r16,65535 8dc4: a8c7883a add r3,r21,r3 8dc8: a009883a mov r4,r20 8dcc: 10e3883a add r17,r2,r3 8dd0: 8020d43a srli r16,r16,16 8dd4: 0002c240 call 2c24 <__mulsi3> 8dd8: 8806d43a srli r3,r17,16 8ddc: 1405883a add r2,r2,r16 8de0: 9cc00104 addi r19,r19,4 8de4: 1887883a add r3,r3,r2 8de8: 90c0008d sth r3,2(r18) 8dec: 9440000d sth r17,0(r18) 8df0: 182ad43a srli r21,r3,16 8df4: 94800104 addi r18,r18,4 8df8: 9f3feb36 bltu r19,fp,8da8 <__multiply+0xec> 8dfc: 95400015 stw r21,0(r18) 8e00: b9000017 ldw r4,0(r23) 8e04: 202ad43a srli r21,r4,16 8e08: a8001c26 beq r21,zero,8e7c <__multiply+0x1c0> 8e0c: d9000117 ldw r4,4(sp) 8e10: dd000017 ldw r20,0(sp) 8e14: 002d883a mov r22,zero 8e18: 24c00017 ldw r19,0(r4) 8e1c: 2025883a mov r18,r4 8e20: 9823883a mov r17,r19 8e24: a4000017 ldw r16,0(r20) 8e28: a809883a mov r4,r21 8e2c: a5000104 addi r20,r20,4 8e30: 817fffcc andi r5,r16,65535 8e34: 0002c240 call 2c24 <__mulsi3> 8e38: 8806d43a srli r3,r17,16 8e3c: 800ad43a srli r5,r16,16 8e40: 94c0000d sth r19,0(r18) 8e44: b0c7883a add r3,r22,r3 8e48: 10e1883a add r16,r2,r3 8e4c: 9400008d sth r16,2(r18) 8e50: a809883a mov r4,r21 8e54: 94800104 addi r18,r18,4 8e58: 0002c240 call 2c24 <__mulsi3> 8e5c: 94400017 ldw r17,0(r18) 8e60: 8020d43a srli r16,r16,16 8e64: 88ffffcc andi r3,r17,65535 8e68: 10c5883a add r2,r2,r3 8e6c: 80a7883a add r19,r16,r2 8e70: 982cd43a srli r22,r19,16 8e74: a73feb36 bltu r20,fp,8e24 <__multiply+0x168> 8e78: 94c00015 stw r19,0(r18) 8e7c: d8800217 ldw r2,8(sp) 8e80: bdc00104 addi r23,r23,4 8e84: b880042e bgeu r23,r2,8e98 <__multiply+0x1dc> 8e88: d8c00117 ldw r3,4(sp) 8e8c: 18c00104 addi r3,r3,4 8e90: d8c00115 stw r3,4(sp) 8e94: 003fbe06 br 8d90 <__multiply+0xd4> 8e98: d9000417 ldw r4,16(sp) 8e9c: 01000c0e bge zero,r4,8ed0 <__multiply+0x214> 8ea0: d8c00317 ldw r3,12(sp) 8ea4: 18bfff17 ldw r2,-4(r3) 8ea8: 18ffff04 addi r3,r3,-4 8eac: 10000326 beq r2,zero,8ebc <__multiply+0x200> 8eb0: 00000706 br 8ed0 <__multiply+0x214> 8eb4: 18800017 ldw r2,0(r3) 8eb8: 1000051e bne r2,zero,8ed0 <__multiply+0x214> 8ebc: d9000417 ldw r4,16(sp) 8ec0: 18ffff04 addi r3,r3,-4 8ec4: 213fffc4 addi r4,r4,-1 8ec8: d9000415 stw r4,16(sp) 8ecc: 203ff91e bne r4,zero,8eb4 <__multiply+0x1f8> 8ed0: d8800417 ldw r2,16(sp) 8ed4: d8c00517 ldw r3,20(sp) 8ed8: 18800415 stw r2,16(r3) 8edc: 1805883a mov r2,r3 8ee0: dfc00f17 ldw ra,60(sp) 8ee4: df000e17 ldw fp,56(sp) 8ee8: ddc00d17 ldw r23,52(sp) 8eec: dd800c17 ldw r22,48(sp) 8ef0: dd400b17 ldw r21,44(sp) 8ef4: dd000a17 ldw r20,40(sp) 8ef8: dcc00917 ldw r19,36(sp) 8efc: dc800817 ldw r18,32(sp) 8f00: dc400717 ldw r17,28(sp) 8f04: dc000617 ldw r16,24(sp) 8f08: dec01004 addi sp,sp,64 8f0c: f800283a ret 00008f10 <__i2b>: 8f10: defffd04 addi sp,sp,-12 8f14: dc000015 stw r16,0(sp) 8f18: 04000044 movi r16,1 8f1c: dc800115 stw r18,4(sp) 8f20: 2825883a mov r18,r5 8f24: 800b883a mov r5,r16 8f28: dfc00215 stw ra,8(sp) 8f2c: 00087ac0 call 87ac <_Balloc> 8f30: 14000415 stw r16,16(r2) 8f34: 14800515 stw r18,20(r2) 8f38: dfc00217 ldw ra,8(sp) 8f3c: dc800117 ldw r18,4(sp) 8f40: dc000017 ldw r16,0(sp) 8f44: dec00304 addi sp,sp,12 8f48: f800283a ret 00008f4c <__multadd>: 8f4c: defff604 addi sp,sp,-40 8f50: dd800615 stw r22,24(sp) 8f54: 2d800417 ldw r22,16(r5) 8f58: df000815 stw fp,32(sp) 8f5c: ddc00715 stw r23,28(sp) 8f60: dd400515 stw r21,20(sp) 8f64: dd000415 stw r20,16(sp) 8f68: dcc00315 stw r19,12(sp) 8f6c: dc800215 stw r18,8(sp) 8f70: dfc00915 stw ra,36(sp) 8f74: dc400115 stw r17,4(sp) 8f78: dc000015 stw r16,0(sp) 8f7c: 282f883a mov r23,r5 8f80: 2039883a mov fp,r4 8f84: 302b883a mov r21,r6 8f88: 3829883a mov r20,r7 8f8c: 2c800504 addi r18,r5,20 8f90: 0027883a mov r19,zero 8f94: 94400017 ldw r17,0(r18) 8f98: a80b883a mov r5,r21 8f9c: 9cc00044 addi r19,r19,1 8fa0: 893fffcc andi r4,r17,65535 8fa4: 0002c240 call 2c24 <__mulsi3> 8fa8: 8808d43a srli r4,r17,16 8fac: 1521883a add r16,r2,r20 8fb0: a80b883a mov r5,r21 8fb4: 0002c240 call 2c24 <__mulsi3> 8fb8: 8008d43a srli r4,r16,16 8fbc: 843fffcc andi r16,r16,65535 8fc0: 1105883a add r2,r2,r4 8fc4: 1006943a slli r3,r2,16 8fc8: 1028d43a srli r20,r2,16 8fcc: 1c07883a add r3,r3,r16 8fd0: 90c00015 stw r3,0(r18) 8fd4: 94800104 addi r18,r18,4 8fd8: 9dbfee16 blt r19,r22,8f94 <__multadd+0x48> 8fdc: a0000826 beq r20,zero,9000 <__multadd+0xb4> 8fe0: b8800217 ldw r2,8(r23) 8fe4: b080130e bge r22,r2,9034 <__multadd+0xe8> 8fe8: b585883a add r2,r22,r22 8fec: 1085883a add r2,r2,r2 8ff0: 15c5883a add r2,r2,r23 8ff4: b0c00044 addi r3,r22,1 8ff8: 15000515 stw r20,20(r2) 8ffc: b8c00415 stw r3,16(r23) 9000: b805883a mov r2,r23 9004: dfc00917 ldw ra,36(sp) 9008: df000817 ldw fp,32(sp) 900c: ddc00717 ldw r23,28(sp) 9010: dd800617 ldw r22,24(sp) 9014: dd400517 ldw r21,20(sp) 9018: dd000417 ldw r20,16(sp) 901c: dcc00317 ldw r19,12(sp) 9020: dc800217 ldw r18,8(sp) 9024: dc400117 ldw r17,4(sp) 9028: dc000017 ldw r16,0(sp) 902c: dec00a04 addi sp,sp,40 9030: f800283a ret 9034: b9400117 ldw r5,4(r23) 9038: e009883a mov r4,fp 903c: 29400044 addi r5,r5,1 9040: 00087ac0 call 87ac <_Balloc> 9044: b9800417 ldw r6,16(r23) 9048: b9400304 addi r5,r23,12 904c: 11000304 addi r4,r2,12 9050: 318d883a add r6,r6,r6 9054: 318d883a add r6,r6,r6 9058: 31800204 addi r6,r6,8 905c: 1023883a mov r17,r2 9060: 00080140 call 8014 <memcpy> 9064: b80b883a mov r5,r23 9068: e009883a mov r4,fp 906c: 000822c0 call 822c <_Bfree> 9070: 882f883a mov r23,r17 9074: 003fdc06 br 8fe8 <__multadd+0x9c> 00009078 <__pow5mult>: 9078: defffa04 addi sp,sp,-24 907c: 308000cc andi r2,r6,3 9080: dd000415 stw r20,16(sp) 9084: dcc00315 stw r19,12(sp) 9088: dc000015 stw r16,0(sp) 908c: dfc00515 stw ra,20(sp) 9090: dc800215 stw r18,8(sp) 9094: dc400115 stw r17,4(sp) 9098: 3021883a mov r16,r6 909c: 2027883a mov r19,r4 90a0: 2829883a mov r20,r5 90a4: 10002b1e bne r2,zero,9154 <__pow5mult+0xdc> 90a8: 8025d0ba srai r18,r16,2 90ac: 90001b26 beq r18,zero,911c <__pow5mult+0xa4> 90b0: 9c001217 ldw r16,72(r19) 90b4: 8000081e bne r16,zero,90d8 <__pow5mult+0x60> 90b8: 00003006 br 917c <__pow5mult+0x104> 90bc: 800b883a mov r5,r16 90c0: 800d883a mov r6,r16 90c4: 9809883a mov r4,r19 90c8: 90001426 beq r18,zero,911c <__pow5mult+0xa4> 90cc: 80800017 ldw r2,0(r16) 90d0: 10001b26 beq r2,zero,9140 <__pow5mult+0xc8> 90d4: 1021883a mov r16,r2 90d8: 9080004c andi r2,r18,1 90dc: 1005003a cmpeq r2,r2,zero 90e0: 9025d07a srai r18,r18,1 90e4: 800d883a mov r6,r16 90e8: 9809883a mov r4,r19 90ec: a00b883a mov r5,r20 90f0: 103ff21e bne r2,zero,90bc <__pow5mult+0x44> 90f4: 0008cbc0 call 8cbc <__multiply> 90f8: a00b883a mov r5,r20 90fc: 9809883a mov r4,r19 9100: 1023883a mov r17,r2 9104: 000822c0 call 822c <_Bfree> 9108: 8829883a mov r20,r17 910c: 800b883a mov r5,r16 9110: 800d883a mov r6,r16 9114: 9809883a mov r4,r19 9118: 903fec1e bne r18,zero,90cc <__pow5mult+0x54> 911c: a005883a mov r2,r20 9120: dfc00517 ldw ra,20(sp) 9124: dd000417 ldw r20,16(sp) 9128: dcc00317 ldw r19,12(sp) 912c: dc800217 ldw r18,8(sp) 9130: dc400117 ldw r17,4(sp) 9134: dc000017 ldw r16,0(sp) 9138: dec00604 addi sp,sp,24 913c: f800283a ret 9140: 0008cbc0 call 8cbc <__multiply> 9144: 80800015 stw r2,0(r16) 9148: 1021883a mov r16,r2 914c: 10000015 stw zero,0(r2) 9150: 003fe106 br 90d8 <__pow5mult+0x60> 9154: 1085883a add r2,r2,r2 9158: 00c00074 movhi r3,1 915c: 18c15504 addi r3,r3,1364 9160: 1085883a add r2,r2,r2 9164: 10c5883a add r2,r2,r3 9168: 11bfff17 ldw r6,-4(r2) 916c: 000f883a mov r7,zero 9170: 0008f4c0 call 8f4c <__multadd> 9174: 1029883a mov r20,r2 9178: 003fcb06 br 90a8 <__pow5mult+0x30> 917c: 9809883a mov r4,r19 9180: 01409c44 movi r5,625 9184: 0008f100 call 8f10 <__i2b> 9188: 98801215 stw r2,72(r19) 918c: 1021883a mov r16,r2 9190: 10000015 stw zero,0(r2) 9194: 003fd006 br 90d8 <__pow5mult+0x60> 00009198 <__s2b>: 9198: defff904 addi sp,sp,-28 919c: dcc00315 stw r19,12(sp) 91a0: dc800215 stw r18,8(sp) 91a4: 2827883a mov r19,r5 91a8: 2025883a mov r18,r4 91ac: 01400244 movi r5,9 91b0: 39000204 addi r4,r7,8 91b4: dd000415 stw r20,16(sp) 91b8: dc400115 stw r17,4(sp) 91bc: dfc00615 stw ra,24(sp) 91c0: dd400515 stw r21,20(sp) 91c4: dc000015 stw r16,0(sp) 91c8: 3829883a mov r20,r7 91cc: 3023883a mov r17,r6 91d0: 0002b540 call 2b54 <__divsi3> 91d4: 00c00044 movi r3,1 91d8: 1880350e bge r3,r2,92b0 <__s2b+0x118> 91dc: 000b883a mov r5,zero 91e0: 18c7883a add r3,r3,r3 91e4: 29400044 addi r5,r5,1 91e8: 18bffd16 blt r3,r2,91e0 <__s2b+0x48> 91ec: 9009883a mov r4,r18 91f0: 00087ac0 call 87ac <_Balloc> 91f4: 1011883a mov r8,r2 91f8: d8800717 ldw r2,28(sp) 91fc: 00c00044 movi r3,1 9200: 01800244 movi r6,9 9204: 40800515 stw r2,20(r8) 9208: 40c00415 stw r3,16(r8) 920c: 3440260e bge r6,r17,92a8 <__s2b+0x110> 9210: 3021883a mov r16,r6 9214: 99ab883a add r21,r19,r6 9218: 9c05883a add r2,r19,r16 921c: 11c00007 ldb r7,0(r2) 9220: 400b883a mov r5,r8 9224: 9009883a mov r4,r18 9228: 39fff404 addi r7,r7,-48 922c: 01800284 movi r6,10 9230: 0008f4c0 call 8f4c <__multadd> 9234: 84000044 addi r16,r16,1 9238: 1011883a mov r8,r2 923c: 8c3ff61e bne r17,r16,9218 <__s2b+0x80> 9240: ac45883a add r2,r21,r17 9244: 117ffe04 addi r5,r2,-8 9248: 880d883a mov r6,r17 924c: 35000c0e bge r6,r20,9280 <__s2b+0xe8> 9250: a185c83a sub r2,r20,r6 9254: 2821883a mov r16,r5 9258: 28a3883a add r17,r5,r2 925c: 81c00007 ldb r7,0(r16) 9260: 400b883a mov r5,r8 9264: 9009883a mov r4,r18 9268: 39fff404 addi r7,r7,-48 926c: 01800284 movi r6,10 9270: 0008f4c0 call 8f4c <__multadd> 9274: 84000044 addi r16,r16,1 9278: 1011883a mov r8,r2 927c: 847ff71e bne r16,r17,925c <__s2b+0xc4> 9280: 4005883a mov r2,r8 9284: dfc00617 ldw ra,24(sp) 9288: dd400517 ldw r21,20(sp) 928c: dd000417 ldw r20,16(sp) 9290: dcc00317 ldw r19,12(sp) 9294: dc800217 ldw r18,8(sp) 9298: dc400117 ldw r17,4(sp) 929c: dc000017 ldw r16,0(sp) 92a0: dec00704 addi sp,sp,28 92a4: f800283a ret 92a8: 99400284 addi r5,r19,10 92ac: 003fe706 br 924c <__s2b+0xb4> 92b0: 000b883a mov r5,zero 92b4: 003fcd06 br 91ec <__s2b+0x54> 000092b8 <_realloc_r>: 92b8: defff404 addi sp,sp,-48 92bc: dd800815 stw r22,32(sp) 92c0: dc800415 stw r18,16(sp) 92c4: dc400315 stw r17,12(sp) 92c8: dfc00b15 stw ra,44(sp) 92cc: df000a15 stw fp,40(sp) 92d0: ddc00915 stw r23,36(sp) 92d4: dd400715 stw r21,28(sp) 92d8: dd000615 stw r20,24(sp) 92dc: dcc00515 stw r19,20(sp) 92e0: dc000215 stw r16,8(sp) 92e4: 2825883a mov r18,r5 92e8: 3023883a mov r17,r6 92ec: 202d883a mov r22,r4 92f0: 2800c926 beq r5,zero,9618 <_realloc_r+0x360> 92f4: 000cb800 call cb80 <__malloc_lock> 92f8: 943ffe04 addi r16,r18,-8 92fc: 88c002c4 addi r3,r17,11 9300: 00800584 movi r2,22 9304: 82000117 ldw r8,4(r16) 9308: 10c01b2e bgeu r2,r3,9378 <_realloc_r+0xc0> 930c: 00bffe04 movi r2,-8 9310: 188e703a and r7,r3,r2 9314: 3839883a mov fp,r7 9318: 38001a16 blt r7,zero,9384 <_realloc_r+0xcc> 931c: e4401936 bltu fp,r17,9384 <_realloc_r+0xcc> 9320: 013fff04 movi r4,-4 9324: 4126703a and r19,r8,r4 9328: 99c02616 blt r19,r7,93c4 <_realloc_r+0x10c> 932c: 802b883a mov r21,r16 9330: 9829883a mov r20,r19 9334: 84000204 addi r16,r16,8 9338: a80f883a mov r7,r21 933c: a70dc83a sub r6,r20,fp 9340: 008003c4 movi r2,15 9344: 1180c136 bltu r2,r6,964c <_realloc_r+0x394> 9348: 38800117 ldw r2,4(r7) 934c: a549883a add r4,r20,r21 9350: 1080004c andi r2,r2,1 9354: a084b03a or r2,r20,r2 9358: 38800115 stw r2,4(r7) 935c: 20c00117 ldw r3,4(r4) 9360: 18c00054 ori r3,r3,1 9364: 20c00115 stw r3,4(r4) 9368: b009883a mov r4,r22 936c: 000cba00 call cba0 <__malloc_unlock> 9370: 8023883a mov r17,r16 9374: 00000606 br 9390 <_realloc_r+0xd8> 9378: 01c00404 movi r7,16 937c: 3839883a mov fp,r7 9380: e47fe72e bgeu fp,r17,9320 <_realloc_r+0x68> 9384: 00800304 movi r2,12 9388: 0023883a mov r17,zero 938c: b0800015 stw r2,0(r22) 9390: 8805883a mov r2,r17 9394: dfc00b17 ldw ra,44(sp) 9398: df000a17 ldw fp,40(sp) 939c: ddc00917 ldw r23,36(sp) 93a0: dd800817 ldw r22,32(sp) 93a4: dd400717 ldw r21,28(sp) 93a8: dd000617 ldw r20,24(sp) 93ac: dcc00517 ldw r19,20(sp) 93b0: dc800417 ldw r18,16(sp) 93b4: dc400317 ldw r17,12(sp) 93b8: dc000217 ldw r16,8(sp) 93bc: dec00c04 addi sp,sp,48 93c0: f800283a ret 93c4: 00800074 movhi r2,1 93c8: 1082b004 addi r2,r2,2752 93cc: 12400217 ldw r9,8(r2) 93d0: 84cd883a add r6,r16,r19 93d4: 802b883a mov r21,r16 93d8: 3240b926 beq r6,r9,96c0 <_realloc_r+0x408> 93dc: 31400117 ldw r5,4(r6) 93e0: 00bfff84 movi r2,-2 93e4: 2884703a and r2,r5,r2 93e8: 1185883a add r2,r2,r6 93ec: 10c00117 ldw r3,4(r2) 93f0: 18c0004c andi r3,r3,1 93f4: 1807003a cmpeq r3,r3,zero 93f8: 1800a326 beq r3,zero,9688 <_realloc_r+0x3d0> 93fc: 2908703a and r4,r5,r4 9400: 9929883a add r20,r19,r4 9404: a1c0a30e bge r20,r7,9694 <_realloc_r+0x3dc> 9408: 4080004c andi r2,r8,1 940c: 1000551e bne r2,zero,9564 <_realloc_r+0x2ac> 9410: 80800017 ldw r2,0(r16) 9414: 80afc83a sub r23,r16,r2 9418: b8c00117 ldw r3,4(r23) 941c: 00bfff04 movi r2,-4 9420: 1884703a and r2,r3,r2 9424: 30002e26 beq r6,zero,94e0 <_realloc_r+0x228> 9428: 3240b926 beq r6,r9,9710 <_realloc_r+0x458> 942c: 98a9883a add r20,r19,r2 9430: 2509883a add r4,r4,r20 9434: d9000015 stw r4,0(sp) 9438: 21c02a16 blt r4,r7,94e4 <_realloc_r+0x22c> 943c: 30800317 ldw r2,12(r6) 9440: 30c00217 ldw r3,8(r6) 9444: 01400904 movi r5,36 9448: 99bfff04 addi r6,r19,-4 944c: 18800315 stw r2,12(r3) 9450: 10c00215 stw r3,8(r2) 9454: b9000317 ldw r4,12(r23) 9458: b8800217 ldw r2,8(r23) 945c: b82b883a mov r21,r23 9460: bc000204 addi r16,r23,8 9464: 20800215 stw r2,8(r4) 9468: 11000315 stw r4,12(r2) 946c: 2980e436 bltu r5,r6,9800 <_realloc_r+0x548> 9470: 008004c4 movi r2,19 9474: 9009883a mov r4,r18 9478: 8011883a mov r8,r16 947c: 11800f2e bgeu r2,r6,94bc <_realloc_r+0x204> 9480: 90800017 ldw r2,0(r18) 9484: ba000404 addi r8,r23,16 9488: 91000204 addi r4,r18,8 948c: b8800215 stw r2,8(r23) 9490: 90c00117 ldw r3,4(r18) 9494: 008006c4 movi r2,27 9498: b8c00315 stw r3,12(r23) 949c: 1180072e bgeu r2,r6,94bc <_realloc_r+0x204> 94a0: 90c00217 ldw r3,8(r18) 94a4: ba000604 addi r8,r23,24 94a8: 91000404 addi r4,r18,16 94ac: b8c00415 stw r3,16(r23) 94b0: 90800317 ldw r2,12(r18) 94b4: b8800515 stw r2,20(r23) 94b8: 3140e726 beq r6,r5,9858 <_realloc_r+0x5a0> 94bc: 20800017 ldw r2,0(r4) 94c0: dd000017 ldw r20,0(sp) 94c4: b80f883a mov r7,r23 94c8: 40800015 stw r2,0(r8) 94cc: 20c00117 ldw r3,4(r4) 94d0: 40c00115 stw r3,4(r8) 94d4: 20800217 ldw r2,8(r4) 94d8: 40800215 stw r2,8(r8) 94dc: 003f9706 br 933c <_realloc_r+0x84> 94e0: 98a9883a add r20,r19,r2 94e4: a1c01f16 blt r20,r7,9564 <_realloc_r+0x2ac> 94e8: b8c00317 ldw r3,12(r23) 94ec: b8800217 ldw r2,8(r23) 94f0: 99bfff04 addi r6,r19,-4 94f4: 01400904 movi r5,36 94f8: b82b883a mov r21,r23 94fc: 18800215 stw r2,8(r3) 9500: 10c00315 stw r3,12(r2) 9504: bc000204 addi r16,r23,8 9508: 2980c336 bltu r5,r6,9818 <_realloc_r+0x560> 950c: 008004c4 movi r2,19 9510: 9009883a mov r4,r18 9514: 8011883a mov r8,r16 9518: 11800f2e bgeu r2,r6,9558 <_realloc_r+0x2a0> 951c: 90800017 ldw r2,0(r18) 9520: ba000404 addi r8,r23,16 9524: 91000204 addi r4,r18,8 9528: b8800215 stw r2,8(r23) 952c: 90c00117 ldw r3,4(r18) 9530: 008006c4 movi r2,27 9534: b8c00315 stw r3,12(r23) 9538: 1180072e bgeu r2,r6,9558 <_realloc_r+0x2a0> 953c: 90c00217 ldw r3,8(r18) 9540: ba000604 addi r8,r23,24 9544: 91000404 addi r4,r18,16 9548: b8c00415 stw r3,16(r23) 954c: 90800317 ldw r2,12(r18) 9550: b8800515 stw r2,20(r23) 9554: 3140c726 beq r6,r5,9874 <_realloc_r+0x5bc> 9558: 20800017 ldw r2,0(r4) 955c: b80f883a mov r7,r23 9560: 003fd906 br 94c8 <_realloc_r+0x210> 9564: 880b883a mov r5,r17 9568: b009883a mov r4,r22 956c: 00077f00 call 77f0 <_malloc_r> 9570: 1023883a mov r17,r2 9574: 10002526 beq r2,zero,960c <_realloc_r+0x354> 9578: 80800117 ldw r2,4(r16) 957c: 00ffff84 movi r3,-2 9580: 893ffe04 addi r4,r17,-8 9584: 10c4703a and r2,r2,r3 9588: 8085883a add r2,r16,r2 958c: 20809526 beq r4,r2,97e4 <_realloc_r+0x52c> 9590: 99bfff04 addi r6,r19,-4 9594: 01c00904 movi r7,36 9598: 39804536 bltu r7,r6,96b0 <_realloc_r+0x3f8> 959c: 008004c4 movi r2,19 95a0: 9009883a mov r4,r18 95a4: 880b883a mov r5,r17 95a8: 11800f2e bgeu r2,r6,95e8 <_realloc_r+0x330> 95ac: 90800017 ldw r2,0(r18) 95b0: 89400204 addi r5,r17,8 95b4: 91000204 addi r4,r18,8 95b8: 88800015 stw r2,0(r17) 95bc: 90c00117 ldw r3,4(r18) 95c0: 008006c4 movi r2,27 95c4: 88c00115 stw r3,4(r17) 95c8: 1180072e bgeu r2,r6,95e8 <_realloc_r+0x330> 95cc: 90c00217 ldw r3,8(r18) 95d0: 89400404 addi r5,r17,16 95d4: 91000404 addi r4,r18,16 95d8: 88c00215 stw r3,8(r17) 95dc: 90800317 ldw r2,12(r18) 95e0: 88800315 stw r2,12(r17) 95e4: 31c09126 beq r6,r7,982c <_realloc_r+0x574> 95e8: 20800017 ldw r2,0(r4) 95ec: 28800015 stw r2,0(r5) 95f0: 20c00117 ldw r3,4(r4) 95f4: 28c00115 stw r3,4(r5) 95f8: 20800217 ldw r2,8(r4) 95fc: 28800215 stw r2,8(r5) 9600: 900b883a mov r5,r18 9604: b009883a mov r4,r22 9608: 0006c680 call 6c68 <_free_r> 960c: b009883a mov r4,r22 9610: 000cba00 call cba0 <__malloc_unlock> 9614: 003f5e06 br 9390 <_realloc_r+0xd8> 9618: 300b883a mov r5,r6 961c: dfc00b17 ldw ra,44(sp) 9620: df000a17 ldw fp,40(sp) 9624: ddc00917 ldw r23,36(sp) 9628: dd800817 ldw r22,32(sp) 962c: dd400717 ldw r21,28(sp) 9630: dd000617 ldw r20,24(sp) 9634: dcc00517 ldw r19,20(sp) 9638: dc800417 ldw r18,16(sp) 963c: dc400317 ldw r17,12(sp) 9640: dc000217 ldw r16,8(sp) 9644: dec00c04 addi sp,sp,48 9648: 00077f01 jmpi 77f0 <_malloc_r> 964c: 38800117 ldw r2,4(r7) 9650: e54b883a add r5,fp,r21 9654: 31000054 ori r4,r6,1 9658: 1080004c andi r2,r2,1 965c: 1704b03a or r2,r2,fp 9660: 38800115 stw r2,4(r7) 9664: 29000115 stw r4,4(r5) 9668: 2987883a add r3,r5,r6 966c: 18800117 ldw r2,4(r3) 9670: 29400204 addi r5,r5,8 9674: b009883a mov r4,r22 9678: 10800054 ori r2,r2,1 967c: 18800115 stw r2,4(r3) 9680: 0006c680 call 6c68 <_free_r> 9684: 003f3806 br 9368 <_realloc_r+0xb0> 9688: 000d883a mov r6,zero 968c: 0009883a mov r4,zero 9690: 003f5d06 br 9408 <_realloc_r+0x150> 9694: 30c00217 ldw r3,8(r6) 9698: 30800317 ldw r2,12(r6) 969c: 800f883a mov r7,r16 96a0: 84000204 addi r16,r16,8 96a4: 10c00215 stw r3,8(r2) 96a8: 18800315 stw r2,12(r3) 96ac: 003f2306 br 933c <_realloc_r+0x84> 96b0: 8809883a mov r4,r17 96b4: 900b883a mov r5,r18 96b8: 00080b40 call 80b4 <memmove> 96bc: 003fd006 br 9600 <_realloc_r+0x348> 96c0: 30800117 ldw r2,4(r6) 96c4: e0c00404 addi r3,fp,16 96c8: 1108703a and r4,r2,r4 96cc: 9905883a add r2,r19,r4 96d0: 10ff4d16 blt r2,r3,9408 <_realloc_r+0x150> 96d4: 1705c83a sub r2,r2,fp 96d8: 870b883a add r5,r16,fp 96dc: 10800054 ori r2,r2,1 96e0: 28800115 stw r2,4(r5) 96e4: 80c00117 ldw r3,4(r16) 96e8: 00800074 movhi r2,1 96ec: 1082b004 addi r2,r2,2752 96f0: b009883a mov r4,r22 96f4: 18c0004c andi r3,r3,1 96f8: e0c6b03a or r3,fp,r3 96fc: 11400215 stw r5,8(r2) 9700: 80c00115 stw r3,4(r16) 9704: 000cba00 call cba0 <__malloc_unlock> 9708: 84400204 addi r17,r16,8 970c: 003f2006 br 9390 <_realloc_r+0xd8> 9710: 98a9883a add r20,r19,r2 9714: 2509883a add r4,r4,r20 9718: e0800404 addi r2,fp,16 971c: d9000115 stw r4,4(sp) 9720: 20bf7016 blt r4,r2,94e4 <_realloc_r+0x22c> 9724: b8c00317 ldw r3,12(r23) 9728: b8800217 ldw r2,8(r23) 972c: 99bfff04 addi r6,r19,-4 9730: 01400904 movi r5,36 9734: 18800215 stw r2,8(r3) 9738: 10c00315 stw r3,12(r2) 973c: bc400204 addi r17,r23,8 9740: 29804136 bltu r5,r6,9848 <_realloc_r+0x590> 9744: 008004c4 movi r2,19 9748: 9009883a mov r4,r18 974c: 880f883a mov r7,r17 9750: 11800f2e bgeu r2,r6,9790 <_realloc_r+0x4d8> 9754: 90800017 ldw r2,0(r18) 9758: b9c00404 addi r7,r23,16 975c: 91000204 addi r4,r18,8 9760: b8800215 stw r2,8(r23) 9764: 90c00117 ldw r3,4(r18) 9768: 008006c4 movi r2,27 976c: b8c00315 stw r3,12(r23) 9770: 1180072e bgeu r2,r6,9790 <_realloc_r+0x4d8> 9774: 90c00217 ldw r3,8(r18) 9778: b9c00604 addi r7,r23,24 977c: 91000404 addi r4,r18,16 9780: b8c00415 stw r3,16(r23) 9784: 90800317 ldw r2,12(r18) 9788: b8800515 stw r2,20(r23) 978c: 31404026 beq r6,r5,9890 <_realloc_r+0x5d8> 9790: 20800017 ldw r2,0(r4) 9794: 38800015 stw r2,0(r7) 9798: 20c00117 ldw r3,4(r4) 979c: 38c00115 stw r3,4(r7) 97a0: 20800217 ldw r2,8(r4) 97a4: 38800215 stw r2,8(r7) 97a8: d8c00117 ldw r3,4(sp) 97ac: bf0b883a add r5,r23,fp 97b0: b009883a mov r4,r22 97b4: 1f05c83a sub r2,r3,fp 97b8: 10800054 ori r2,r2,1 97bc: 28800115 stw r2,4(r5) 97c0: b8c00117 ldw r3,4(r23) 97c4: 00800074 movhi r2,1 97c8: 1082b004 addi r2,r2,2752 97cc: 11400215 stw r5,8(r2) 97d0: 18c0004c andi r3,r3,1 97d4: e0c6b03a or r3,fp,r3 97d8: b8c00115 stw r3,4(r23) 97dc: 000cba00 call cba0 <__malloc_unlock> 97e0: 003eeb06 br 9390 <_realloc_r+0xd8> 97e4: 20800117 ldw r2,4(r4) 97e8: 00ffff04 movi r3,-4 97ec: 800f883a mov r7,r16 97f0: 10c4703a and r2,r2,r3 97f4: 98a9883a add r20,r19,r2 97f8: 84000204 addi r16,r16,8 97fc: 003ecf06 br 933c <_realloc_r+0x84> 9800: 900b883a mov r5,r18 9804: 8009883a mov r4,r16 9808: 00080b40 call 80b4 <memmove> 980c: dd000017 ldw r20,0(sp) 9810: b80f883a mov r7,r23 9814: 003ec906 br 933c <_realloc_r+0x84> 9818: 900b883a mov r5,r18 981c: 8009883a mov r4,r16 9820: 00080b40 call 80b4 <memmove> 9824: b80f883a mov r7,r23 9828: 003ec406 br 933c <_realloc_r+0x84> 982c: 90c00417 ldw r3,16(r18) 9830: 89400604 addi r5,r17,24 9834: 91000604 addi r4,r18,24 9838: 88c00415 stw r3,16(r17) 983c: 90800517 ldw r2,20(r18) 9840: 88800515 stw r2,20(r17) 9844: 003f6806 br 95e8 <_realloc_r+0x330> 9848: 900b883a mov r5,r18 984c: 8809883a mov r4,r17 9850: 00080b40 call 80b4 <memmove> 9854: 003fd406 br 97a8 <_realloc_r+0x4f0> 9858: 90c00417 ldw r3,16(r18) 985c: 91000604 addi r4,r18,24 9860: ba000804 addi r8,r23,32 9864: b8c00615 stw r3,24(r23) 9868: 90800517 ldw r2,20(r18) 986c: b8800715 stw r2,28(r23) 9870: 003f1206 br 94bc <_realloc_r+0x204> 9874: 90c00417 ldw r3,16(r18) 9878: 91000604 addi r4,r18,24 987c: ba000804 addi r8,r23,32 9880: b8c00615 stw r3,24(r23) 9884: 90800517 ldw r2,20(r18) 9888: b8800715 stw r2,28(r23) 988c: 003f3206 br 9558 <_realloc_r+0x2a0> 9890: 90c00417 ldw r3,16(r18) 9894: 91000604 addi r4,r18,24 9898: b9c00804 addi r7,r23,32 989c: b8c00615 stw r3,24(r23) 98a0: 90800517 ldw r2,20(r18) 98a4: b8800715 stw r2,28(r23) 98a8: 003fb906 br 9790 <_realloc_r+0x4d8> 000098ac <__isinfd>: 98ac: 200d883a mov r6,r4 98b0: 0109c83a sub r4,zero,r4 98b4: 2188b03a or r4,r4,r6 98b8: 2008d7fa srli r4,r4,31 98bc: 00a00034 movhi r2,32768 98c0: 10bfffc4 addi r2,r2,-1 98c4: 1144703a and r2,r2,r5 98c8: 2088b03a or r4,r4,r2 98cc: 009ffc34 movhi r2,32752 98d0: 1105c83a sub r2,r2,r4 98d4: 0087c83a sub r3,zero,r2 98d8: 10c4b03a or r2,r2,r3 98dc: 1004d7fa srli r2,r2,31 98e0: 00c00044 movi r3,1 98e4: 1885c83a sub r2,r3,r2 98e8: f800283a ret 000098ec <__isnand>: 98ec: 200d883a mov r6,r4 98f0: 0109c83a sub r4,zero,r4 98f4: 2188b03a or r4,r4,r6 98f8: 2008d7fa srli r4,r4,31 98fc: 00a00034 movhi r2,32768 9900: 10bfffc4 addi r2,r2,-1 9904: 1144703a and r2,r2,r5 9908: 2088b03a or r4,r4,r2 990c: 009ffc34 movhi r2,32752 9910: 1105c83a sub r2,r2,r4 9914: 1004d7fa srli r2,r2,31 9918: f800283a ret 0000991c <_sbrk_r>: 991c: defffd04 addi sp,sp,-12 9920: dc000015 stw r16,0(sp) 9924: 04000074 movhi r16,1 9928: 840f7c04 addi r16,r16,15856 992c: dc400115 stw r17,4(sp) 9930: 80000015 stw zero,0(r16) 9934: 2023883a mov r17,r4 9938: 2809883a mov r4,r5 993c: dfc00215 stw ra,8(sp) 9940: 000cdbc0 call cdbc <sbrk> 9944: 1007883a mov r3,r2 9948: 00bfffc4 movi r2,-1 994c: 18800626 beq r3,r2,9968 <_sbrk_r+0x4c> 9950: 1805883a mov r2,r3 9954: dfc00217 ldw ra,8(sp) 9958: dc400117 ldw r17,4(sp) 995c: dc000017 ldw r16,0(sp) 9960: dec00304 addi sp,sp,12 9964: f800283a ret 9968: 80800017 ldw r2,0(r16) 996c: 103ff826 beq r2,zero,9950 <_sbrk_r+0x34> 9970: 88800015 stw r2,0(r17) 9974: 1805883a mov r2,r3 9978: dfc00217 ldw ra,8(sp) 997c: dc400117 ldw r17,4(sp) 9980: dc000017 ldw r16,0(sp) 9984: dec00304 addi sp,sp,12 9988: f800283a ret 0000998c <__sclose>: 998c: 2940038f ldh r5,14(r5) 9990: 0009cd41 jmpi 9cd4 <_close_r> 00009994 <__sseek>: 9994: defffe04 addi sp,sp,-8 9998: dc000015 stw r16,0(sp) 999c: 2821883a mov r16,r5 99a0: 2940038f ldh r5,14(r5) 99a4: dfc00115 stw ra,4(sp) 99a8: 0009f4c0 call 9f4c <_lseek_r> 99ac: 1007883a mov r3,r2 99b0: 00bfffc4 movi r2,-1 99b4: 18800926 beq r3,r2,99dc <__sseek+0x48> 99b8: 8080030b ldhu r2,12(r16) 99bc: 80c01415 stw r3,80(r16) 99c0: 10840014 ori r2,r2,4096 99c4: 8080030d sth r2,12(r16) 99c8: 1805883a mov r2,r3 99cc: dfc00117 ldw ra,4(sp) 99d0: dc000017 ldw r16,0(sp) 99d4: dec00204 addi sp,sp,8 99d8: f800283a ret 99dc: 8080030b ldhu r2,12(r16) 99e0: 10bbffcc andi r2,r2,61439 99e4: 8080030d sth r2,12(r16) 99e8: 1805883a mov r2,r3 99ec: dfc00117 ldw ra,4(sp) 99f0: dc000017 ldw r16,0(sp) 99f4: dec00204 addi sp,sp,8 99f8: f800283a ret 000099fc <__swrite>: 99fc: 2880030b ldhu r2,12(r5) 9a00: defffb04 addi sp,sp,-20 9a04: dcc00315 stw r19,12(sp) 9a08: 1080400c andi r2,r2,256 9a0c: dc800215 stw r18,8(sp) 9a10: dc400115 stw r17,4(sp) 9a14: dc000015 stw r16,0(sp) 9a18: 3027883a mov r19,r6 9a1c: 3825883a mov r18,r7 9a20: dfc00415 stw ra,16(sp) 9a24: 2821883a mov r16,r5 9a28: 000d883a mov r6,zero 9a2c: 01c00084 movi r7,2 9a30: 2023883a mov r17,r4 9a34: 10000226 beq r2,zero,9a40 <__swrite+0x44> 9a38: 2940038f ldh r5,14(r5) 9a3c: 0009f4c0 call 9f4c <_lseek_r> 9a40: 8080030b ldhu r2,12(r16) 9a44: 8140038f ldh r5,14(r16) 9a48: 8809883a mov r4,r17 9a4c: 10bbffcc andi r2,r2,61439 9a50: 980d883a mov r6,r19 9a54: 900f883a mov r7,r18 9a58: 8080030d sth r2,12(r16) 9a5c: dfc00417 ldw ra,16(sp) 9a60: dcc00317 ldw r19,12(sp) 9a64: dc800217 ldw r18,8(sp) 9a68: dc400117 ldw r17,4(sp) 9a6c: dc000017 ldw r16,0(sp) 9a70: dec00504 addi sp,sp,20 9a74: 0009b941 jmpi 9b94 <_write_r> 00009a78 <__sread>: 9a78: defffe04 addi sp,sp,-8 9a7c: dc000015 stw r16,0(sp) 9a80: 2821883a mov r16,r5 9a84: 2940038f ldh r5,14(r5) 9a88: dfc00115 stw ra,4(sp) 9a8c: 0009fc40 call 9fc4 <_read_r> 9a90: 1007883a mov r3,r2 9a94: 10000816 blt r2,zero,9ab8 <__sread+0x40> 9a98: 80801417 ldw r2,80(r16) 9a9c: 10c5883a add r2,r2,r3 9aa0: 80801415 stw r2,80(r16) 9aa4: 1805883a mov r2,r3 9aa8: dfc00117 ldw ra,4(sp) 9aac: dc000017 ldw r16,0(sp) 9ab0: dec00204 addi sp,sp,8 9ab4: f800283a ret 9ab8: 8080030b ldhu r2,12(r16) 9abc: 10bbffcc andi r2,r2,61439 9ac0: 8080030d sth r2,12(r16) 9ac4: 1805883a mov r2,r3 9ac8: dfc00117 ldw ra,4(sp) 9acc: dc000017 ldw r16,0(sp) 9ad0: dec00204 addi sp,sp,8 9ad4: f800283a ret 00009ad8 <strcmp>: 9ad8: 2144b03a or r2,r4,r5 9adc: 108000cc andi r2,r2,3 9ae0: 10001d1e bne r2,zero,9b58 <strcmp+0x80> 9ae4: 200f883a mov r7,r4 9ae8: 28800017 ldw r2,0(r5) 9aec: 21000017 ldw r4,0(r4) 9af0: 280d883a mov r6,r5 9af4: 2080161e bne r4,r2,9b50 <strcmp+0x78> 9af8: 023fbff4 movhi r8,65279 9afc: 423fbfc4 addi r8,r8,-257 9b00: 2207883a add r3,r4,r8 9b04: 01602074 movhi r5,32897 9b08: 29602004 addi r5,r5,-32640 9b0c: 1946703a and r3,r3,r5 9b10: 0104303a nor r2,zero,r4 9b14: 10c4703a and r2,r2,r3 9b18: 10001c1e bne r2,zero,9b8c <strcmp+0xb4> 9b1c: 4013883a mov r9,r8 9b20: 2811883a mov r8,r5 9b24: 00000106 br 9b2c <strcmp+0x54> 9b28: 1800181e bne r3,zero,9b8c <strcmp+0xb4> 9b2c: 39c00104 addi r7,r7,4 9b30: 39000017 ldw r4,0(r7) 9b34: 31800104 addi r6,r6,4 9b38: 31400017 ldw r5,0(r6) 9b3c: 2245883a add r2,r4,r9 9b40: 1204703a and r2,r2,r8 9b44: 0106303a nor r3,zero,r4 9b48: 1886703a and r3,r3,r2 9b4c: 217ff626 beq r4,r5,9b28 <strcmp+0x50> 9b50: 3809883a mov r4,r7 9b54: 300b883a mov r5,r6 9b58: 20c00007 ldb r3,0(r4) 9b5c: 1800051e bne r3,zero,9b74 <strcmp+0x9c> 9b60: 00000606 br 9b7c <strcmp+0xa4> 9b64: 21000044 addi r4,r4,1 9b68: 20c00007 ldb r3,0(r4) 9b6c: 29400044 addi r5,r5,1 9b70: 18000226 beq r3,zero,9b7c <strcmp+0xa4> 9b74: 28800007 ldb r2,0(r5) 9b78: 18bffa26 beq r3,r2,9b64 <strcmp+0x8c> 9b7c: 20c00003 ldbu r3,0(r4) 9b80: 28800003 ldbu r2,0(r5) 9b84: 1885c83a sub r2,r3,r2 9b88: f800283a ret 9b8c: 0005883a mov r2,zero 9b90: f800283a ret 00009b94 <_write_r>: 9b94: defffd04 addi sp,sp,-12 9b98: dc000015 stw r16,0(sp) 9b9c: 04000074 movhi r16,1 9ba0: 840f7c04 addi r16,r16,15856 9ba4: dc400115 stw r17,4(sp) 9ba8: 80000015 stw zero,0(r16) 9bac: 2023883a mov r17,r4 9bb0: 2809883a mov r4,r5 9bb4: 300b883a mov r5,r6 9bb8: 380d883a mov r6,r7 9bbc: dfc00215 stw ra,8(sp) 9bc0: 000cea80 call cea8 <write> 9bc4: 1007883a mov r3,r2 9bc8: 00bfffc4 movi r2,-1 9bcc: 18800626 beq r3,r2,9be8 <_write_r+0x54> 9bd0: 1805883a mov r2,r3 9bd4: dfc00217 ldw ra,8(sp) 9bd8: dc400117 ldw r17,4(sp) 9bdc: dc000017 ldw r16,0(sp) 9be0: dec00304 addi sp,sp,12 9be4: f800283a ret 9be8: 80800017 ldw r2,0(r16) 9bec: 103ff826 beq r2,zero,9bd0 <_write_r+0x3c> 9bf0: 88800015 stw r2,0(r17) 9bf4: 1805883a mov r2,r3 9bf8: dfc00217 ldw ra,8(sp) 9bfc: dc400117 ldw r17,4(sp) 9c00: dc000017 ldw r16,0(sp) 9c04: dec00304 addi sp,sp,12 9c08: f800283a ret 00009c0c <_calloc_r>: 9c0c: defffe04 addi sp,sp,-8 9c10: dc400015 stw r17,0(sp) 9c14: 2023883a mov r17,r4 9c18: 2809883a mov r4,r5 9c1c: 300b883a mov r5,r6 9c20: dfc00115 stw ra,4(sp) 9c24: 0002c240 call 2c24 <__mulsi3> 9c28: 100b883a mov r5,r2 9c2c: 8809883a mov r4,r17 9c30: 00077f00 call 77f0 <_malloc_r> 9c34: 1023883a mov r17,r2 9c38: 01c00904 movi r7,36 9c3c: 10000d26 beq r2,zero,9c74 <_calloc_r+0x68> 9c40: 10ffff17 ldw r3,-4(r2) 9c44: 1009883a mov r4,r2 9c48: 00bfff04 movi r2,-4 9c4c: 1886703a and r3,r3,r2 9c50: 1887883a add r3,r3,r2 9c54: 180d883a mov r6,r3 9c58: 000b883a mov r5,zero 9c5c: 38c01736 bltu r7,r3,9cbc <_calloc_r+0xb0> 9c60: 008004c4 movi r2,19 9c64: 10c00836 bltu r2,r3,9c88 <_calloc_r+0x7c> 9c68: 20000215 stw zero,8(r4) 9c6c: 20000015 stw zero,0(r4) 9c70: 20000115 stw zero,4(r4) 9c74: 8805883a mov r2,r17 9c78: dfc00117 ldw ra,4(sp) 9c7c: dc400017 ldw r17,0(sp) 9c80: dec00204 addi sp,sp,8 9c84: f800283a ret 9c88: 008006c4 movi r2,27 9c8c: 88000015 stw zero,0(r17) 9c90: 88000115 stw zero,4(r17) 9c94: 89000204 addi r4,r17,8 9c98: 10fff32e bgeu r2,r3,9c68 <_calloc_r+0x5c> 9c9c: 88000215 stw zero,8(r17) 9ca0: 88000315 stw zero,12(r17) 9ca4: 89000404 addi r4,r17,16 9ca8: 19ffef1e bne r3,r7,9c68 <_calloc_r+0x5c> 9cac: 89000604 addi r4,r17,24 9cb0: 88000415 stw zero,16(r17) 9cb4: 88000515 stw zero,20(r17) 9cb8: 003feb06 br 9c68 <_calloc_r+0x5c> 9cbc: 00081940 call 8194 <memset> 9cc0: 8805883a mov r2,r17 9cc4: dfc00117 ldw ra,4(sp) 9cc8: dc400017 ldw r17,0(sp) 9ccc: dec00204 addi sp,sp,8 9cd0: f800283a ret 00009cd4 <_close_r>: 9cd4: defffd04 addi sp,sp,-12 9cd8: dc000015 stw r16,0(sp) 9cdc: 04000074 movhi r16,1 9ce0: 840f7c04 addi r16,r16,15856 9ce4: dc400115 stw r17,4(sp) 9ce8: 80000015 stw zero,0(r16) 9cec: 2023883a mov r17,r4 9cf0: 2809883a mov r4,r5 9cf4: dfc00215 stw ra,8(sp) 9cf8: 000c4ec0 call c4ec <close> 9cfc: 1007883a mov r3,r2 9d00: 00bfffc4 movi r2,-1 9d04: 18800626 beq r3,r2,9d20 <_close_r+0x4c> 9d08: 1805883a mov r2,r3 9d0c: dfc00217 ldw ra,8(sp) 9d10: dc400117 ldw r17,4(sp) 9d14: dc000017 ldw r16,0(sp) 9d18: dec00304 addi sp,sp,12 9d1c: f800283a ret 9d20: 80800017 ldw r2,0(r16) 9d24: 103ff826 beq r2,zero,9d08 <_close_r+0x34> 9d28: 88800015 stw r2,0(r17) 9d2c: 1805883a mov r2,r3 9d30: dfc00217 ldw ra,8(sp) 9d34: dc400117 ldw r17,4(sp) 9d38: dc000017 ldw r16,0(sp) 9d3c: dec00304 addi sp,sp,12 9d40: f800283a ret 00009d44 <_fclose_r>: 9d44: defffc04 addi sp,sp,-16 9d48: dc400115 stw r17,4(sp) 9d4c: dc000015 stw r16,0(sp) 9d50: dfc00315 stw ra,12(sp) 9d54: dc800215 stw r18,8(sp) 9d58: 2821883a mov r16,r5 9d5c: 2023883a mov r17,r4 9d60: 28002926 beq r5,zero,9e08 <_fclose_r+0xc4> 9d64: 00068a00 call 68a0 <__sfp_lock_acquire> 9d68: 88000226 beq r17,zero,9d74 <_fclose_r+0x30> 9d6c: 88800e17 ldw r2,56(r17) 9d70: 10002d26 beq r2,zero,9e28 <_fclose_r+0xe4> 9d74: 8080030f ldh r2,12(r16) 9d78: 10002226 beq r2,zero,9e04 <_fclose_r+0xc0> 9d7c: 8809883a mov r4,r17 9d80: 800b883a mov r5,r16 9d84: 00066180 call 6618 <_fflush_r> 9d88: 1025883a mov r18,r2 9d8c: 80800b17 ldw r2,44(r16) 9d90: 10000426 beq r2,zero,9da4 <_fclose_r+0x60> 9d94: 81400717 ldw r5,28(r16) 9d98: 8809883a mov r4,r17 9d9c: 103ee83a callr r2 9da0: 10002a16 blt r2,zero,9e4c <_fclose_r+0x108> 9da4: 8080030b ldhu r2,12(r16) 9da8: 1080200c andi r2,r2,128 9dac: 1000231e bne r2,zero,9e3c <_fclose_r+0xf8> 9db0: 81400c17 ldw r5,48(r16) 9db4: 28000526 beq r5,zero,9dcc <_fclose_r+0x88> 9db8: 80801004 addi r2,r16,64 9dbc: 28800226 beq r5,r2,9dc8 <_fclose_r+0x84> 9dc0: 8809883a mov r4,r17 9dc4: 0006c680 call 6c68 <_free_r> 9dc8: 80000c15 stw zero,48(r16) 9dcc: 81401117 ldw r5,68(r16) 9dd0: 28000326 beq r5,zero,9de0 <_fclose_r+0x9c> 9dd4: 8809883a mov r4,r17 9dd8: 0006c680 call 6c68 <_free_r> 9ddc: 80001115 stw zero,68(r16) 9de0: 8000030d sth zero,12(r16) 9de4: 00068a40 call 68a4 <__sfp_lock_release> 9de8: 9005883a mov r2,r18 9dec: dfc00317 ldw ra,12(sp) 9df0: dc800217 ldw r18,8(sp) 9df4: dc400117 ldw r17,4(sp) 9df8: dc000017 ldw r16,0(sp) 9dfc: dec00404 addi sp,sp,16 9e00: f800283a ret 9e04: 00068a40 call 68a4 <__sfp_lock_release> 9e08: 0025883a mov r18,zero 9e0c: 9005883a mov r2,r18 9e10: dfc00317 ldw ra,12(sp) 9e14: dc800217 ldw r18,8(sp) 9e18: dc400117 ldw r17,4(sp) 9e1c: dc000017 ldw r16,0(sp) 9e20: dec00404 addi sp,sp,16 9e24: f800283a ret 9e28: 8809883a mov r4,r17 9e2c: 00068b00 call 68b0 <__sinit> 9e30: 8080030f ldh r2,12(r16) 9e34: 103fd11e bne r2,zero,9d7c <_fclose_r+0x38> 9e38: 003ff206 br 9e04 <_fclose_r+0xc0> 9e3c: 81400417 ldw r5,16(r16) 9e40: 8809883a mov r4,r17 9e44: 0006c680 call 6c68 <_free_r> 9e48: 003fd906 br 9db0 <_fclose_r+0x6c> 9e4c: 04bfffc4 movi r18,-1 9e50: 003fd406 br 9da4 <_fclose_r+0x60> 00009e54 <fclose>: 9e54: 00800074 movhi r2,1 9e58: 10887e04 addi r2,r2,8696 9e5c: 200b883a mov r5,r4 9e60: 11000017 ldw r4,0(r2) 9e64: 0009d441 jmpi 9d44 <_fclose_r> 00009e68 <_fstat_r>: 9e68: defffd04 addi sp,sp,-12 9e6c: dc000015 stw r16,0(sp) 9e70: 04000074 movhi r16,1 9e74: 840f7c04 addi r16,r16,15856 9e78: dc400115 stw r17,4(sp) 9e7c: 80000015 stw zero,0(r16) 9e80: 2023883a mov r17,r4 9e84: 2809883a mov r4,r5 9e88: 300b883a mov r5,r6 9e8c: dfc00215 stw ra,8(sp) 9e90: 000c6780 call c678 <fstat> 9e94: 1007883a mov r3,r2 9e98: 00bfffc4 movi r2,-1 9e9c: 18800626 beq r3,r2,9eb8 <_fstat_r+0x50> 9ea0: 1805883a mov r2,r3 9ea4: dfc00217 ldw ra,8(sp) 9ea8: dc400117 ldw r17,4(sp) 9eac: dc000017 ldw r16,0(sp) 9eb0: dec00304 addi sp,sp,12 9eb4: f800283a ret 9eb8: 80800017 ldw r2,0(r16) 9ebc: 103ff826 beq r2,zero,9ea0 <_fstat_r+0x38> 9ec0: 88800015 stw r2,0(r17) 9ec4: 1805883a mov r2,r3 9ec8: dfc00217 ldw ra,8(sp) 9ecc: dc400117 ldw r17,4(sp) 9ed0: dc000017 ldw r16,0(sp) 9ed4: dec00304 addi sp,sp,12 9ed8: f800283a ret 00009edc <_isatty_r>: 9edc: defffd04 addi sp,sp,-12 9ee0: dc000015 stw r16,0(sp) 9ee4: 04000074 movhi r16,1 9ee8: 840f7c04 addi r16,r16,15856 9eec: dc400115 stw r17,4(sp) 9ef0: 80000015 stw zero,0(r16) 9ef4: 2023883a mov r17,r4 9ef8: 2809883a mov r4,r5 9efc: dfc00215 stw ra,8(sp) 9f00: 000c7b00 call c7b0 <isatty> 9f04: 1007883a mov r3,r2 9f08: 00bfffc4 movi r2,-1 9f0c: 18800626 beq r3,r2,9f28 <_isatty_r+0x4c> 9f10: 1805883a mov r2,r3 9f14: dfc00217 ldw ra,8(sp) 9f18: dc400117 ldw r17,4(sp) 9f1c: dc000017 ldw r16,0(sp) 9f20: dec00304 addi sp,sp,12 9f24: f800283a ret 9f28: 80800017 ldw r2,0(r16) 9f2c: 103ff826 beq r2,zero,9f10 <_isatty_r+0x34> 9f30: 88800015 stw r2,0(r17) 9f34: 1805883a mov r2,r3 9f38: dfc00217 ldw ra,8(sp) 9f3c: dc400117 ldw r17,4(sp) 9f40: dc000017 ldw r16,0(sp) 9f44: dec00304 addi sp,sp,12 9f48: f800283a ret 00009f4c <_lseek_r>: 9f4c: defffd04 addi sp,sp,-12 9f50: dc000015 stw r16,0(sp) 9f54: 04000074 movhi r16,1 9f58: 840f7c04 addi r16,r16,15856 9f5c: dc400115 stw r17,4(sp) 9f60: 80000015 stw zero,0(r16) 9f64: 2023883a mov r17,r4 9f68: 2809883a mov r4,r5 9f6c: 300b883a mov r5,r6 9f70: 380d883a mov r6,r7 9f74: dfc00215 stw ra,8(sp) 9f78: 000c9c00 call c9c0 <lseek> 9f7c: 1007883a mov r3,r2 9f80: 00bfffc4 movi r2,-1 9f84: 18800626 beq r3,r2,9fa0 <_lseek_r+0x54> 9f88: 1805883a mov r2,r3 9f8c: dfc00217 ldw ra,8(sp) 9f90: dc400117 ldw r17,4(sp) 9f94: dc000017 ldw r16,0(sp) 9f98: dec00304 addi sp,sp,12 9f9c: f800283a ret 9fa0: 80800017 ldw r2,0(r16) 9fa4: 103ff826 beq r2,zero,9f88 <_lseek_r+0x3c> 9fa8: 88800015 stw r2,0(r17) 9fac: 1805883a mov r2,r3 9fb0: dfc00217 ldw ra,8(sp) 9fb4: dc400117 ldw r17,4(sp) 9fb8: dc000017 ldw r16,0(sp) 9fbc: dec00304 addi sp,sp,12 9fc0: f800283a ret 00009fc4 <_read_r>: 9fc4: defffd04 addi sp,sp,-12 9fc8: dc000015 stw r16,0(sp) 9fcc: 04000074 movhi r16,1 9fd0: 840f7c04 addi r16,r16,15856 9fd4: dc400115 stw r17,4(sp) 9fd8: 80000015 stw zero,0(r16) 9fdc: 2023883a mov r17,r4 9fe0: 2809883a mov r4,r5 9fe4: 300b883a mov r5,r6 9fe8: 380d883a mov r6,r7 9fec: dfc00215 stw ra,8(sp) 9ff0: 000cbc00 call cbc0 <read> 9ff4: 1007883a mov r3,r2 9ff8: 00bfffc4 movi r2,-1 9ffc: 18800626 beq r3,r2,a018 <_read_r+0x54> a000: 1805883a mov r2,r3 a004: dfc00217 ldw ra,8(sp) a008: dc400117 ldw r17,4(sp) a00c: dc000017 ldw r16,0(sp) a010: dec00304 addi sp,sp,12 a014: f800283a ret a018: 80800017 ldw r2,0(r16) a01c: 103ff826 beq r2,zero,a000 <_read_r+0x3c> a020: 88800015 stw r2,0(r17) a024: 1805883a mov r2,r3 a028: dfc00217 ldw ra,8(sp) a02c: dc400117 ldw r17,4(sp) a030: dc000017 ldw r16,0(sp) a034: dec00304 addi sp,sp,12 a038: f800283a ret 0000a03c <__udivdi3>: a03c: defff104 addi sp,sp,-60 a040: 0015883a mov r10,zero a044: 2005883a mov r2,r4 a048: 3011883a mov r8,r6 a04c: df000d15 stw fp,52(sp) a050: dd400a15 stw r21,40(sp) a054: dcc00815 stw r19,32(sp) a058: dfc00e15 stw ra,56(sp) a05c: ddc00c15 stw r23,48(sp) a060: dd800b15 stw r22,44(sp) a064: dd000915 stw r20,36(sp) a068: dc800715 stw r18,28(sp) a06c: dc400615 stw r17,24(sp) a070: dc000515 stw r16,20(sp) a074: da800315 stw r10,12(sp) a078: 4027883a mov r19,r8 a07c: 1039883a mov fp,r2 a080: 282b883a mov r21,r5 a084: da800415 stw r10,16(sp) a088: 3800401e bne r7,zero,a18c <__udivdi3+0x150> a08c: 2a006536 bltu r5,r8,a224 <__udivdi3+0x1e8> a090: 4000b526 beq r8,zero,a368 <__udivdi3+0x32c> a094: 00bfffd4 movui r2,65535 a098: 14c0ad36 bltu r2,r19,a350 <__udivdi3+0x314> a09c: 00803fc4 movi r2,255 a0a0: 14c15e36 bltu r2,r19,a61c <__udivdi3+0x5e0> a0a4: 000b883a mov r5,zero a0a8: 0005883a mov r2,zero a0ac: 9884d83a srl r2,r19,r2 a0b0: 01000074 movhi r4,1 a0b4: 21015d04 addi r4,r4,1396 a0b8: 01800804 movi r6,32 a0bc: 1105883a add r2,r2,r4 a0c0: 10c00003 ldbu r3,0(r2) a0c4: 28c7883a add r3,r5,r3 a0c8: 30e9c83a sub r20,r6,r3 a0cc: a0010a1e bne r20,zero,a4f8 <__udivdi3+0x4bc> a0d0: 982ed43a srli r23,r19,16 a0d4: acebc83a sub r21,r21,r19 a0d8: 9dbfffcc andi r22,r19,65535 a0dc: 05000044 movi r20,1 a0e0: a809883a mov r4,r21 a0e4: b80b883a mov r5,r23 a0e8: 0002c140 call 2c14 <__udivsi3> a0ec: 100b883a mov r5,r2 a0f0: b009883a mov r4,r22 a0f4: 1021883a mov r16,r2 a0f8: 0002c240 call 2c24 <__mulsi3> a0fc: a809883a mov r4,r21 a100: b80b883a mov r5,r23 a104: 1023883a mov r17,r2 a108: 0002c1c0 call 2c1c <__umodsi3> a10c: 1004943a slli r2,r2,16 a110: e006d43a srli r3,fp,16 a114: 10c4b03a or r2,r2,r3 a118: 1440042e bgeu r2,r17,a12c <__udivdi3+0xf0> a11c: 14c5883a add r2,r2,r19 a120: 843fffc4 addi r16,r16,-1 a124: 14c00136 bltu r2,r19,a12c <__udivdi3+0xf0> a128: 14415c36 bltu r2,r17,a69c <__udivdi3+0x660> a12c: 1463c83a sub r17,r2,r17 a130: 8809883a mov r4,r17 a134: b80b883a mov r5,r23 a138: 0002c140 call 2c14 <__udivsi3> a13c: 100b883a mov r5,r2 a140: b009883a mov r4,r22 a144: 102b883a mov r21,r2 a148: 0002c240 call 2c24 <__mulsi3> a14c: 8809883a mov r4,r17 a150: b80b883a mov r5,r23 a154: 1025883a mov r18,r2 a158: 0002c1c0 call 2c1c <__umodsi3> a15c: 1004943a slli r2,r2,16 a160: e0ffffcc andi r3,fp,65535 a164: 10c4b03a or r2,r2,r3 a168: 1480042e bgeu r2,r18,a17c <__udivdi3+0x140> a16c: 9885883a add r2,r19,r2 a170: ad7fffc4 addi r21,r21,-1 a174: 14c00136 bltu r2,r19,a17c <__udivdi3+0x140> a178: 14813c36 bltu r2,r18,a66c <__udivdi3+0x630> a17c: 8004943a slli r2,r16,16 a180: a009883a mov r4,r20 a184: a884b03a or r2,r21,r2 a188: 00001506 br a1e0 <__udivdi3+0x1a4> a18c: 380d883a mov r6,r7 a190: 29c06c36 bltu r5,r7,a344 <__udivdi3+0x308> a194: 00bfffd4 movui r2,65535 a198: 11c06436 bltu r2,r7,a32c <__udivdi3+0x2f0> a19c: 00803fc4 movi r2,255 a1a0: 11c11836 bltu r2,r7,a604 <__udivdi3+0x5c8> a1a4: 000b883a mov r5,zero a1a8: 0005883a mov r2,zero a1ac: 3084d83a srl r2,r6,r2 a1b0: 01000074 movhi r4,1 a1b4: 21015d04 addi r4,r4,1396 a1b8: 01c00804 movi r7,32 a1bc: 1105883a add r2,r2,r4 a1c0: 10c00003 ldbu r3,0(r2) a1c4: 28c7883a add r3,r5,r3 a1c8: 38edc83a sub r22,r7,r3 a1cc: b000731e bne r22,zero,a39c <__udivdi3+0x360> a1d0: 35400136 bltu r6,r21,a1d8 <__udivdi3+0x19c> a1d4: e4c05b36 bltu fp,r19,a344 <__udivdi3+0x308> a1d8: 00800044 movi r2,1 a1dc: 0009883a mov r4,zero a1e0: d8800315 stw r2,12(sp) a1e4: d9400317 ldw r5,12(sp) a1e8: 2007883a mov r3,r4 a1ec: d9000415 stw r4,16(sp) a1f0: 2805883a mov r2,r5 a1f4: dfc00e17 ldw ra,56(sp) a1f8: df000d17 ldw fp,52(sp) a1fc: ddc00c17 ldw r23,48(sp) a200: dd800b17 ldw r22,44(sp) a204: dd400a17 ldw r21,40(sp) a208: dd000917 ldw r20,36(sp) a20c: dcc00817 ldw r19,32(sp) a210: dc800717 ldw r18,28(sp) a214: dc400617 ldw r17,24(sp) a218: dc000517 ldw r16,20(sp) a21c: dec00f04 addi sp,sp,60 a220: f800283a ret a224: 00bfffd4 movui r2,65535 a228: 12005636 bltu r2,r8,a384 <__udivdi3+0x348> a22c: 00803fc4 movi r2,255 a230: 12010036 bltu r2,r8,a634 <__udivdi3+0x5f8> a234: 000b883a mov r5,zero a238: 0005883a mov r2,zero a23c: 9884d83a srl r2,r19,r2 a240: 01000074 movhi r4,1 a244: 21015d04 addi r4,r4,1396 a248: 01800804 movi r6,32 a24c: 1105883a add r2,r2,r4 a250: 10c00003 ldbu r3,0(r2) a254: 28c7883a add r3,r5,r3 a258: 30cbc83a sub r5,r6,r3 a25c: 28000626 beq r5,zero,a278 <__udivdi3+0x23c> a260: 3145c83a sub r2,r6,r5 a264: e084d83a srl r2,fp,r2 a268: a946983a sll r3,r21,r5 a26c: e178983a sll fp,fp,r5 a270: 9966983a sll r19,r19,r5 a274: 18aab03a or r21,r3,r2 a278: 982ed43a srli r23,r19,16 a27c: a809883a mov r4,r21 a280: 9cbfffcc andi r18,r19,65535 a284: b80b883a mov r5,r23 a288: 0002c140 call 2c14 <__udivsi3> a28c: 100b883a mov r5,r2 a290: 9009883a mov r4,r18 a294: 1021883a mov r16,r2 a298: 0002c240 call 2c24 <__mulsi3> a29c: a809883a mov r4,r21 a2a0: b80b883a mov r5,r23 a2a4: 1023883a mov r17,r2 a2a8: 0002c1c0 call 2c1c <__umodsi3> a2ac: 1004943a slli r2,r2,16 a2b0: e006d43a srli r3,fp,16 a2b4: 10c4b03a or r2,r2,r3 a2b8: 1440042e bgeu r2,r17,a2cc <__udivdi3+0x290> a2bc: 14c5883a add r2,r2,r19 a2c0: 843fffc4 addi r16,r16,-1 a2c4: 14c00136 bltu r2,r19,a2cc <__udivdi3+0x290> a2c8: 1440ea36 bltu r2,r17,a674 <__udivdi3+0x638> a2cc: 1463c83a sub r17,r2,r17 a2d0: 8809883a mov r4,r17 a2d4: b80b883a mov r5,r23 a2d8: 0002c140 call 2c14 <__udivsi3> a2dc: 100b883a mov r5,r2 a2e0: 9009883a mov r4,r18 a2e4: 102b883a mov r21,r2 a2e8: 0002c240 call 2c24 <__mulsi3> a2ec: 8809883a mov r4,r17 a2f0: b80b883a mov r5,r23 a2f4: 1025883a mov r18,r2 a2f8: 0002c1c0 call 2c1c <__umodsi3> a2fc: 1004943a slli r2,r2,16 a300: e0ffffcc andi r3,fp,65535 a304: 10c4b03a or r2,r2,r3 a308: 1480042e bgeu r2,r18,a31c <__udivdi3+0x2e0> a30c: 9885883a add r2,r19,r2 a310: ad7fffc4 addi r21,r21,-1 a314: 14c00136 bltu r2,r19,a31c <__udivdi3+0x2e0> a318: 1480d936 bltu r2,r18,a680 <__udivdi3+0x644> a31c: 8004943a slli r2,r16,16 a320: 0009883a mov r4,zero a324: a884b03a or r2,r21,r2 a328: 003fad06 br a1e0 <__udivdi3+0x1a4> a32c: 00804034 movhi r2,256 a330: 10bfffc4 addi r2,r2,-1 a334: 11c0b636 bltu r2,r7,a610 <__udivdi3+0x5d4> a338: 01400404 movi r5,16 a33c: 2805883a mov r2,r5 a340: 003f9a06 br a1ac <__udivdi3+0x170> a344: 0005883a mov r2,zero a348: 0009883a mov r4,zero a34c: 003fa406 br a1e0 <__udivdi3+0x1a4> a350: 00804034 movhi r2,256 a354: 10bfffc4 addi r2,r2,-1 a358: 14c0b336 bltu r2,r19,a628 <__udivdi3+0x5ec> a35c: 01400404 movi r5,16 a360: 2805883a mov r2,r5 a364: 003f5106 br a0ac <__udivdi3+0x70> a368: 01000044 movi r4,1 a36c: 000b883a mov r5,zero a370: 0002c140 call 2c14 <__udivsi3> a374: 1027883a mov r19,r2 a378: 00bfffd4 movui r2,65535 a37c: 14fff436 bltu r2,r19,a350 <__udivdi3+0x314> a380: 003f4606 br a09c <__udivdi3+0x60> a384: 00804034 movhi r2,256 a388: 10bfffc4 addi r2,r2,-1 a38c: 1200ac36 bltu r2,r8,a640 <__udivdi3+0x604> a390: 01400404 movi r5,16 a394: 2805883a mov r2,r5 a398: 003fa806 br a23c <__udivdi3+0x200> a39c: 3d85c83a sub r2,r7,r22 a3a0: 3588983a sll r4,r6,r22 a3a4: 9886d83a srl r3,r19,r2 a3a8: a8a2d83a srl r17,r21,r2 a3ac: e084d83a srl r2,fp,r2 a3b0: 20eeb03a or r23,r4,r3 a3b4: b824d43a srli r18,r23,16 a3b8: ad86983a sll r3,r21,r22 a3bc: 8809883a mov r4,r17 a3c0: 900b883a mov r5,r18 a3c4: 1886b03a or r3,r3,r2 a3c8: d8c00115 stw r3,4(sp) a3cc: bc3fffcc andi r16,r23,65535 a3d0: 0002c140 call 2c14 <__udivsi3> a3d4: 100b883a mov r5,r2 a3d8: 8009883a mov r4,r16 a3dc: 1029883a mov r20,r2 a3e0: 0002c240 call 2c24 <__mulsi3> a3e4: 900b883a mov r5,r18 a3e8: 8809883a mov r4,r17 a3ec: 102b883a mov r21,r2 a3f0: 0002c1c0 call 2c1c <__umodsi3> a3f4: d9400117 ldw r5,4(sp) a3f8: 1004943a slli r2,r2,16 a3fc: 9da6983a sll r19,r19,r22 a400: 2806d43a srli r3,r5,16 a404: 10c4b03a or r2,r2,r3 a408: 1540032e bgeu r2,r21,a418 <__udivdi3+0x3dc> a40c: 15c5883a add r2,r2,r23 a410: a53fffc4 addi r20,r20,-1 a414: 15c0912e bgeu r2,r23,a65c <__udivdi3+0x620> a418: 1563c83a sub r17,r2,r21 a41c: 8809883a mov r4,r17 a420: 900b883a mov r5,r18 a424: 0002c140 call 2c14 <__udivsi3> a428: 100b883a mov r5,r2 a42c: 8009883a mov r4,r16 a430: 102b883a mov r21,r2 a434: 0002c240 call 2c24 <__mulsi3> a438: 8809883a mov r4,r17 a43c: 900b883a mov r5,r18 a440: 1021883a mov r16,r2 a444: 0002c1c0 call 2c1c <__umodsi3> a448: da800117 ldw r10,4(sp) a44c: 1004943a slli r2,r2,16 a450: 50ffffcc andi r3,r10,65535 a454: 10c6b03a or r3,r2,r3 a458: 1c00032e bgeu r3,r16,a468 <__udivdi3+0x42c> a45c: 1dc7883a add r3,r3,r23 a460: ad7fffc4 addi r21,r21,-1 a464: 1dc0792e bgeu r3,r23,a64c <__udivdi3+0x610> a468: a004943a slli r2,r20,16 a46c: 982ed43a srli r23,r19,16 a470: 9cffffcc andi r19,r19,65535 a474: a8a4b03a or r18,r21,r2 a478: 947fffcc andi r17,r18,65535 a47c: 902ad43a srli r21,r18,16 a480: 8809883a mov r4,r17 a484: 980b883a mov r5,r19 a488: 1c21c83a sub r16,r3,r16 a48c: 0002c240 call 2c24 <__mulsi3> a490: 8809883a mov r4,r17 a494: b80b883a mov r5,r23 a498: 1029883a mov r20,r2 a49c: 0002c240 call 2c24 <__mulsi3> a4a0: 980b883a mov r5,r19 a4a4: a809883a mov r4,r21 a4a8: 1023883a mov r17,r2 a4ac: 0002c240 call 2c24 <__mulsi3> a4b0: a809883a mov r4,r21 a4b4: b80b883a mov r5,r23 a4b8: 1027883a mov r19,r2 a4bc: 0002c240 call 2c24 <__mulsi3> a4c0: 1009883a mov r4,r2 a4c4: a004d43a srli r2,r20,16 a4c8: 8ce3883a add r17,r17,r19 a4cc: 1447883a add r3,r2,r17 a4d0: 1cc0022e bgeu r3,r19,a4dc <__udivdi3+0x4a0> a4d4: 00800074 movhi r2,1 a4d8: 2089883a add r4,r4,r2 a4dc: 1804d43a srli r2,r3,16 a4e0: 2085883a add r2,r4,r2 a4e4: 80804436 bltu r16,r2,a5f8 <__udivdi3+0x5bc> a4e8: 80803e26 beq r16,r2,a5e4 <__udivdi3+0x5a8> a4ec: 9005883a mov r2,r18 a4f0: 0009883a mov r4,zero a4f4: 003f3a06 br a1e0 <__udivdi3+0x1a4> a4f8: 9d26983a sll r19,r19,r20 a4fc: 3505c83a sub r2,r6,r20 a500: a8a2d83a srl r17,r21,r2 a504: 982ed43a srli r23,r19,16 a508: e084d83a srl r2,fp,r2 a50c: ad06983a sll r3,r21,r20 a510: 8809883a mov r4,r17 a514: b80b883a mov r5,r23 a518: 1886b03a or r3,r3,r2 a51c: d8c00015 stw r3,0(sp) a520: 9dbfffcc andi r22,r19,65535 a524: 0002c140 call 2c14 <__udivsi3> a528: 100b883a mov r5,r2 a52c: b009883a mov r4,r22 a530: d8800215 stw r2,8(sp) a534: 0002c240 call 2c24 <__mulsi3> a538: 8809883a mov r4,r17 a53c: b80b883a mov r5,r23 a540: 102b883a mov r21,r2 a544: 0002c1c0 call 2c1c <__umodsi3> a548: d9000017 ldw r4,0(sp) a54c: 1004943a slli r2,r2,16 a550: 2006d43a srli r3,r4,16 a554: 10c4b03a or r2,r2,r3 a558: 1540052e bgeu r2,r21,a570 <__udivdi3+0x534> a55c: d9400217 ldw r5,8(sp) a560: 14c5883a add r2,r2,r19 a564: 297fffc4 addi r5,r5,-1 a568: d9400215 stw r5,8(sp) a56c: 14c0462e bgeu r2,r19,a688 <__udivdi3+0x64c> a570: 1563c83a sub r17,r2,r21 a574: 8809883a mov r4,r17 a578: b80b883a mov r5,r23 a57c: 0002c140 call 2c14 <__udivsi3> a580: 100b883a mov r5,r2 a584: b009883a mov r4,r22 a588: 1025883a mov r18,r2 a58c: 0002c240 call 2c24 <__mulsi3> a590: 8809883a mov r4,r17 a594: b80b883a mov r5,r23 a598: 1021883a mov r16,r2 a59c: 0002c1c0 call 2c1c <__umodsi3> a5a0: da800017 ldw r10,0(sp) a5a4: 1004943a slli r2,r2,16 a5a8: 50ffffcc andi r3,r10,65535 a5ac: 10c6b03a or r3,r2,r3 a5b0: 1c00062e bgeu r3,r16,a5cc <__udivdi3+0x590> a5b4: 1cc7883a add r3,r3,r19 a5b8: 94bfffc4 addi r18,r18,-1 a5bc: 1cc00336 bltu r3,r19,a5cc <__udivdi3+0x590> a5c0: 1c00022e bgeu r3,r16,a5cc <__udivdi3+0x590> a5c4: 94bfffc4 addi r18,r18,-1 a5c8: 1cc7883a add r3,r3,r19 a5cc: d9000217 ldw r4,8(sp) a5d0: e538983a sll fp,fp,r20 a5d4: 1c2bc83a sub r21,r3,r16 a5d8: 2004943a slli r2,r4,16 a5dc: 90a8b03a or r20,r18,r2 a5e0: 003ebf06 br a0e0 <__udivdi3+0xa4> a5e4: 1804943a slli r2,r3,16 a5e8: e588983a sll r4,fp,r22 a5ec: a0ffffcc andi r3,r20,65535 a5f0: 10c5883a add r2,r2,r3 a5f4: 20bfbd2e bgeu r4,r2,a4ec <__udivdi3+0x4b0> a5f8: 90bfffc4 addi r2,r18,-1 a5fc: 0009883a mov r4,zero a600: 003ef706 br a1e0 <__udivdi3+0x1a4> a604: 01400204 movi r5,8 a608: 2805883a mov r2,r5 a60c: 003ee706 br a1ac <__udivdi3+0x170> a610: 01400604 movi r5,24 a614: 2805883a mov r2,r5 a618: 003ee406 br a1ac <__udivdi3+0x170> a61c: 01400204 movi r5,8 a620: 2805883a mov r2,r5 a624: 003ea106 br a0ac <__udivdi3+0x70> a628: 01400604 movi r5,24 a62c: 2805883a mov r2,r5 a630: 003e9e06 br a0ac <__udivdi3+0x70> a634: 01400204 movi r5,8 a638: 2805883a mov r2,r5 a63c: 003eff06 br a23c <__udivdi3+0x200> a640: 01400604 movi r5,24 a644: 2805883a mov r2,r5 a648: 003efc06 br a23c <__udivdi3+0x200> a64c: 1c3f862e bgeu r3,r16,a468 <__udivdi3+0x42c> a650: 1dc7883a add r3,r3,r23 a654: ad7fffc4 addi r21,r21,-1 a658: 003f8306 br a468 <__udivdi3+0x42c> a65c: 157f6e2e bgeu r2,r21,a418 <__udivdi3+0x3dc> a660: a53fffc4 addi r20,r20,-1 a664: 15c5883a add r2,r2,r23 a668: 003f6b06 br a418 <__udivdi3+0x3dc> a66c: ad7fffc4 addi r21,r21,-1 a670: 003ec206 br a17c <__udivdi3+0x140> a674: 843fffc4 addi r16,r16,-1 a678: 14c5883a add r2,r2,r19 a67c: 003f1306 br a2cc <__udivdi3+0x290> a680: ad7fffc4 addi r21,r21,-1 a684: 003f2506 br a31c <__udivdi3+0x2e0> a688: 157fb92e bgeu r2,r21,a570 <__udivdi3+0x534> a68c: 297fffc4 addi r5,r5,-1 a690: 14c5883a add r2,r2,r19 a694: d9400215 stw r5,8(sp) a698: 003fb506 br a570 <__udivdi3+0x534> a69c: 843fffc4 addi r16,r16,-1 a6a0: 14c5883a add r2,r2,r19 a6a4: 003ea106 br a12c <__udivdi3+0xf0> 0000a6a8 <__umoddi3>: a6a8: defff004 addi sp,sp,-64 a6ac: 3011883a mov r8,r6 a6b0: 000d883a mov r6,zero a6b4: dd400b15 stw r21,44(sp) a6b8: dcc00915 stw r19,36(sp) a6bc: dc000615 stw r16,24(sp) a6c0: dfc00f15 stw ra,60(sp) a6c4: df000e15 stw fp,56(sp) a6c8: ddc00d15 stw r23,52(sp) a6cc: dd800c15 stw r22,48(sp) a6d0: dd000a15 stw r20,40(sp) a6d4: dc800815 stw r18,32(sp) a6d8: dc400715 stw r17,28(sp) a6dc: 2817883a mov r11,r5 a6e0: d9800415 stw r6,16(sp) a6e4: 4027883a mov r19,r8 a6e8: d9800515 stw r6,20(sp) a6ec: 2021883a mov r16,r4 a6f0: 282b883a mov r21,r5 a6f4: 38002c1e bne r7,zero,a7a8 <__umoddi3+0x100> a6f8: 2a005636 bltu r5,r8,a854 <__umoddi3+0x1ac> a6fc: 40009a26 beq r8,zero,a968 <__umoddi3+0x2c0> a700: 00bfffd4 movui r2,65535 a704: 14c09236 bltu r2,r19,a950 <__umoddi3+0x2a8> a708: 00803fc4 movi r2,255 a70c: 14c15c36 bltu r2,r19,ac80 <__umoddi3+0x5d8> a710: 000b883a mov r5,zero a714: 0005883a mov r2,zero a718: 9884d83a srl r2,r19,r2 a71c: 01000074 movhi r4,1 a720: 21015d04 addi r4,r4,1396 a724: 01800804 movi r6,32 a728: 1105883a add r2,r2,r4 a72c: 10c00003 ldbu r3,0(r2) a730: 28c7883a add r3,r5,r3 a734: 30e5c83a sub r18,r6,r3 a738: 9000a41e bne r18,zero,a9cc <__umoddi3+0x324> a73c: 982ed43a srli r23,r19,16 a740: acebc83a sub r21,r21,r19 a744: 9d3fffcc andi r20,r19,65535 a748: 002d883a mov r22,zero a74c: a809883a mov r4,r21 a750: b80b883a mov r5,r23 a754: 0002c140 call 2c14 <__udivsi3> a758: 100b883a mov r5,r2 a75c: a009883a mov r4,r20 a760: 0002c240 call 2c24 <__mulsi3> a764: a809883a mov r4,r21 a768: b80b883a mov r5,r23 a76c: 1023883a mov r17,r2 a770: 0002c1c0 call 2c1c <__umodsi3> a774: 1004943a slli r2,r2,16 a778: 8006d43a srli r3,r16,16 a77c: 10c4b03a or r2,r2,r3 a780: 1440032e bgeu r2,r17,a790 <__umoddi3+0xe8> a784: 14c5883a add r2,r2,r19 a788: 14c00136 bltu r2,r19,a790 <__umoddi3+0xe8> a78c: 14415836 bltu r2,r17,acf0 <__umoddi3+0x648> a790: 1463c83a sub r17,r2,r17 a794: 8809883a mov r4,r17 a798: b80b883a mov r5,r23 a79c: 0002c140 call 2c14 <__udivsi3> a7a0: a009883a mov r4,r20 a7a4: 00005306 br a8f4 <__umoddi3+0x24c> a7a8: 380d883a mov r6,r7 a7ac: 29c0132e bgeu r5,r7,a7fc <__umoddi3+0x154> a7b0: d9000415 stw r4,16(sp) a7b4: d9400515 stw r5,20(sp) a7b8: d9400417 ldw r5,16(sp) a7bc: 5813883a mov r9,r11 a7c0: 2811883a mov r8,r5 a7c4: 4005883a mov r2,r8 a7c8: 4807883a mov r3,r9 a7cc: dfc00f17 ldw ra,60(sp) a7d0: df000e17 ldw fp,56(sp) a7d4: ddc00d17 ldw r23,52(sp) a7d8: dd800c17 ldw r22,48(sp) a7dc: dd400b17 ldw r21,44(sp) a7e0: dd000a17 ldw r20,40(sp) a7e4: dcc00917 ldw r19,36(sp) a7e8: dc800817 ldw r18,32(sp) a7ec: dc400717 ldw r17,28(sp) a7f0: dc000617 ldw r16,24(sp) a7f4: dec01004 addi sp,sp,64 a7f8: f800283a ret a7fc: 00bfffd4 movui r2,65535 a800: 11c06636 bltu r2,r7,a99c <__umoddi3+0x2f4> a804: 00803fc4 movi r2,255 a808: 11c12036 bltu r2,r7,ac8c <__umoddi3+0x5e4> a80c: 000b883a mov r5,zero a810: 0005883a mov r2,zero a814: 3084d83a srl r2,r6,r2 a818: 01000074 movhi r4,1 a81c: 21015d04 addi r4,r4,1396 a820: 01c00804 movi r7,32 a824: 1105883a add r2,r2,r4 a828: 10c00003 ldbu r3,0(r2) a82c: 28c7883a add r3,r5,r3 a830: 38e5c83a sub r18,r7,r3 a834: 9000941e bne r18,zero,aa88 <__umoddi3+0x3e0> a838: 35405e36 bltu r6,r21,a9b4 <__umoddi3+0x30c> a83c: 84c05d2e bgeu r16,r19,a9b4 <__umoddi3+0x30c> a840: 8011883a mov r8,r16 a844: a813883a mov r9,r21 a848: dc000415 stw r16,16(sp) a84c: dd400515 stw r21,20(sp) a850: 003fdc06 br a7c4 <__umoddi3+0x11c> a854: 00bfffd4 movui r2,65535 a858: 12004a36 bltu r2,r8,a984 <__umoddi3+0x2dc> a85c: 00803fc4 movi r2,255 a860: 12010d36 bltu r2,r8,ac98 <__umoddi3+0x5f0> a864: 000b883a mov r5,zero a868: 0005883a mov r2,zero a86c: 9884d83a srl r2,r19,r2 a870: 01000074 movhi r4,1 a874: 21015d04 addi r4,r4,1396 a878: 01800804 movi r6,32 a87c: 1105883a add r2,r2,r4 a880: 10c00003 ldbu r3,0(r2) a884: 28c7883a add r3,r5,r3 a888: 30c7c83a sub r3,r6,r3 a88c: 1800dc1e bne r3,zero,ac00 <__umoddi3+0x558> a890: 002d883a mov r22,zero a894: 982ed43a srli r23,r19,16 a898: a809883a mov r4,r21 a89c: 9cbfffcc andi r18,r19,65535 a8a0: b80b883a mov r5,r23 a8a4: 0002c140 call 2c14 <__udivsi3> a8a8: 100b883a mov r5,r2 a8ac: 9009883a mov r4,r18 a8b0: 0002c240 call 2c24 <__mulsi3> a8b4: a809883a mov r4,r21 a8b8: b80b883a mov r5,r23 a8bc: 1023883a mov r17,r2 a8c0: 0002c1c0 call 2c1c <__umodsi3> a8c4: 1004943a slli r2,r2,16 a8c8: 8006d43a srli r3,r16,16 a8cc: 10c4b03a or r2,r2,r3 a8d0: 1440032e bgeu r2,r17,a8e0 <__umoddi3+0x238> a8d4: 14c5883a add r2,r2,r19 a8d8: 14c00136 bltu r2,r19,a8e0 <__umoddi3+0x238> a8dc: 14410236 bltu r2,r17,ace8 <__umoddi3+0x640> a8e0: 1463c83a sub r17,r2,r17 a8e4: 8809883a mov r4,r17 a8e8: b80b883a mov r5,r23 a8ec: 0002c140 call 2c14 <__udivsi3> a8f0: 9009883a mov r4,r18 a8f4: 100b883a mov r5,r2 a8f8: 0002c240 call 2c24 <__mulsi3> a8fc: 8809883a mov r4,r17 a900: b80b883a mov r5,r23 a904: 102b883a mov r21,r2 a908: 0002c1c0 call 2c1c <__umodsi3> a90c: 1004943a slli r2,r2,16 a910: 80ffffcc andi r3,r16,65535 a914: 10c4b03a or r2,r2,r3 a918: 1540042e bgeu r2,r21,a92c <__umoddi3+0x284> a91c: 14c5883a add r2,r2,r19 a920: 14c00236 bltu r2,r19,a92c <__umoddi3+0x284> a924: 1540012e bgeu r2,r21,a92c <__umoddi3+0x284> a928: 14c5883a add r2,r2,r19 a92c: 1545c83a sub r2,r2,r21 a930: 1584d83a srl r2,r2,r22 a934: 0013883a mov r9,zero a938: d8800415 stw r2,16(sp) a93c: d8c00417 ldw r3,16(sp) a940: 0005883a mov r2,zero a944: d8800515 stw r2,20(sp) a948: 1811883a mov r8,r3 a94c: 003f9d06 br a7c4 <__umoddi3+0x11c> a950: 00804034 movhi r2,256 a954: 10bfffc4 addi r2,r2,-1 a958: 14c0c636 bltu r2,r19,ac74 <__umoddi3+0x5cc> a95c: 01400404 movi r5,16 a960: 2805883a mov r2,r5 a964: 003f6c06 br a718 <__umoddi3+0x70> a968: 01000044 movi r4,1 a96c: 000b883a mov r5,zero a970: 0002c140 call 2c14 <__udivsi3> a974: 1027883a mov r19,r2 a978: 00bfffd4 movui r2,65535 a97c: 14fff436 bltu r2,r19,a950 <__umoddi3+0x2a8> a980: 003f6106 br a708 <__umoddi3+0x60> a984: 00804034 movhi r2,256 a988: 10bfffc4 addi r2,r2,-1 a98c: 1200c536 bltu r2,r8,aca4 <__umoddi3+0x5fc> a990: 01400404 movi r5,16 a994: 2805883a mov r2,r5 a998: 003fb406 br a86c <__umoddi3+0x1c4> a99c: 00804034 movhi r2,256 a9a0: 10bfffc4 addi r2,r2,-1 a9a4: 11c0c236 bltu r2,r7,acb0 <__umoddi3+0x608> a9a8: 01400404 movi r5,16 a9ac: 2805883a mov r2,r5 a9b0: 003f9806 br a814 <__umoddi3+0x16c> a9b4: 84c9c83a sub r4,r16,r19 a9b8: 8105803a cmpltu r2,r16,r4 a9bc: a987c83a sub r3,r21,r6 a9c0: 18abc83a sub r21,r3,r2 a9c4: 2021883a mov r16,r4 a9c8: 003f9d06 br a840 <__umoddi3+0x198> a9cc: 9ca6983a sll r19,r19,r18 a9d0: 3485c83a sub r2,r6,r18 a9d4: a8a2d83a srl r17,r21,r2 a9d8: 982ed43a srli r23,r19,16 a9dc: ac86983a sll r3,r21,r18 a9e0: 8084d83a srl r2,r16,r2 a9e4: 8809883a mov r4,r17 a9e8: b80b883a mov r5,r23 a9ec: 18b8b03a or fp,r3,r2 a9f0: 9d3fffcc andi r20,r19,65535 a9f4: 0002c140 call 2c14 <__udivsi3> a9f8: 100b883a mov r5,r2 a9fc: a009883a mov r4,r20 aa00: 0002c240 call 2c24 <__mulsi3> aa04: 8809883a mov r4,r17 aa08: b80b883a mov r5,r23 aa0c: 102b883a mov r21,r2 aa10: 0002c1c0 call 2c1c <__umodsi3> aa14: 1004943a slli r2,r2,16 aa18: e006d43a srli r3,fp,16 aa1c: 902d883a mov r22,r18 aa20: 10c4b03a or r2,r2,r3 aa24: 1540022e bgeu r2,r21,aa30 <__umoddi3+0x388> aa28: 14c5883a add r2,r2,r19 aa2c: 14c0ab2e bgeu r2,r19,acdc <__umoddi3+0x634> aa30: 1563c83a sub r17,r2,r21 aa34: 8809883a mov r4,r17 aa38: b80b883a mov r5,r23 aa3c: 0002c140 call 2c14 <__udivsi3> aa40: 100b883a mov r5,r2 aa44: a009883a mov r4,r20 aa48: 0002c240 call 2c24 <__mulsi3> aa4c: 8809883a mov r4,r17 aa50: b80b883a mov r5,r23 aa54: 102b883a mov r21,r2 aa58: 0002c1c0 call 2c1c <__umodsi3> aa5c: 1004943a slli r2,r2,16 aa60: e0ffffcc andi r3,fp,65535 aa64: 10c4b03a or r2,r2,r3 aa68: 1540042e bgeu r2,r21,aa7c <__umoddi3+0x3d4> aa6c: 14c5883a add r2,r2,r19 aa70: 14c00236 bltu r2,r19,aa7c <__umoddi3+0x3d4> aa74: 1540012e bgeu r2,r21,aa7c <__umoddi3+0x3d4> aa78: 14c5883a add r2,r2,r19 aa7c: 84a0983a sll r16,r16,r18 aa80: 156bc83a sub r21,r2,r21 aa84: 003f3106 br a74c <__umoddi3+0xa4> aa88: 3c8fc83a sub r7,r7,r18 aa8c: 3486983a sll r3,r6,r18 aa90: 99c4d83a srl r2,r19,r7 aa94: a9e2d83a srl r17,r21,r7 aa98: ac8c983a sll r6,r21,r18 aa9c: 18acb03a or r22,r3,r2 aaa0: b02ed43a srli r23,r22,16 aaa4: 81c4d83a srl r2,r16,r7 aaa8: 8809883a mov r4,r17 aaac: b80b883a mov r5,r23 aab0: 308cb03a or r6,r6,r2 aab4: d9c00315 stw r7,12(sp) aab8: d9800215 stw r6,8(sp) aabc: b53fffcc andi r20,r22,65535 aac0: 0002c140 call 2c14 <__udivsi3> aac4: 100b883a mov r5,r2 aac8: a009883a mov r4,r20 aacc: 1039883a mov fp,r2 aad0: 0002c240 call 2c24 <__mulsi3> aad4: 8809883a mov r4,r17 aad8: b80b883a mov r5,r23 aadc: 102b883a mov r21,r2 aae0: 0002c1c0 call 2c1c <__umodsi3> aae4: d9000217 ldw r4,8(sp) aae8: 1004943a slli r2,r2,16 aaec: 9ca6983a sll r19,r19,r18 aaf0: 2006d43a srli r3,r4,16 aaf4: 84a0983a sll r16,r16,r18 aaf8: dcc00015 stw r19,0(sp) aafc: 10c4b03a or r2,r2,r3 ab00: dc000115 stw r16,4(sp) ab04: 1540032e bgeu r2,r21,ab14 <__umoddi3+0x46c> ab08: 1585883a add r2,r2,r22 ab0c: e73fffc4 addi fp,fp,-1 ab10: 15806e2e bgeu r2,r22,accc <__umoddi3+0x624> ab14: 1563c83a sub r17,r2,r21 ab18: 8809883a mov r4,r17 ab1c: b80b883a mov r5,r23 ab20: 0002c140 call 2c14 <__udivsi3> ab24: 100b883a mov r5,r2 ab28: a009883a mov r4,r20 ab2c: 1021883a mov r16,r2 ab30: 0002c240 call 2c24 <__mulsi3> ab34: b80b883a mov r5,r23 ab38: 8809883a mov r4,r17 ab3c: 1029883a mov r20,r2 ab40: 0002c1c0 call 2c1c <__umodsi3> ab44: d9400217 ldw r5,8(sp) ab48: 1004943a slli r2,r2,16 ab4c: 28ffffcc andi r3,r5,65535 ab50: 10c4b03a or r2,r2,r3 ab54: 1500032e bgeu r2,r20,ab64 <__umoddi3+0x4bc> ab58: 1585883a add r2,r2,r22 ab5c: 843fffc4 addi r16,r16,-1 ab60: 1580562e bgeu r2,r22,acbc <__umoddi3+0x614> ab64: d9800017 ldw r6,0(sp) ab68: e022943a slli r17,fp,16 ab6c: 302ed43a srli r23,r6,16 ab70: 8462b03a or r17,r16,r17 ab74: 34ffffcc andi r19,r6,65535 ab78: 882ad43a srli r21,r17,16 ab7c: 8c7fffcc andi r17,r17,65535 ab80: 8809883a mov r4,r17 ab84: 980b883a mov r5,r19 ab88: 1521c83a sub r16,r2,r20 ab8c: 0002c240 call 2c24 <__mulsi3> ab90: 8809883a mov r4,r17 ab94: b80b883a mov r5,r23 ab98: 1029883a mov r20,r2 ab9c: 0002c240 call 2c24 <__mulsi3> aba0: 980b883a mov r5,r19 aba4: a809883a mov r4,r21 aba8: 1023883a mov r17,r2 abac: 0002c240 call 2c24 <__mulsi3> abb0: a809883a mov r4,r21 abb4: b80b883a mov r5,r23 abb8: 1027883a mov r19,r2 abbc: 0002c240 call 2c24 <__mulsi3> abc0: 100b883a mov r5,r2 abc4: a004d43a srli r2,r20,16 abc8: 8ce3883a add r17,r17,r19 abcc: 1449883a add r4,r2,r17 abd0: 24c0022e bgeu r4,r19,abdc <__umoddi3+0x534> abd4: 00800074 movhi r2,1 abd8: 288b883a add r5,r5,r2 abdc: 2004d43a srli r2,r4,16 abe0: 2008943a slli r4,r4,16 abe4: a0ffffcc andi r3,r20,65535 abe8: 288d883a add r6,r5,r2 abec: 20c9883a add r4,r4,r3 abf0: 81800b36 bltu r16,r6,ac20 <__umoddi3+0x578> abf4: 81804026 beq r16,r6,acf8 <__umoddi3+0x650> abf8: 818dc83a sub r6,r16,r6 abfc: 00000f06 br ac3c <__umoddi3+0x594> ac00: 30c5c83a sub r2,r6,r3 ac04: 182d883a mov r22,r3 ac08: 8084d83a srl r2,r16,r2 ac0c: a8c6983a sll r3,r21,r3 ac10: 9da6983a sll r19,r19,r22 ac14: 85a0983a sll r16,r16,r22 ac18: 18aab03a or r21,r3,r2 ac1c: 003f1d06 br a894 <__umoddi3+0x1ec> ac20: d8c00017 ldw r3,0(sp) ac24: 20c5c83a sub r2,r4,r3 ac28: 2089803a cmpltu r4,r4,r2 ac2c: 3587c83a sub r3,r6,r22 ac30: 1907c83a sub r3,r3,r4 ac34: 80cdc83a sub r6,r16,r3 ac38: 1009883a mov r4,r2 ac3c: d9400117 ldw r5,4(sp) ac40: 2905c83a sub r2,r5,r4 ac44: 2887803a cmpltu r3,r5,r2 ac48: 30c7c83a sub r3,r6,r3 ac4c: d9800317 ldw r6,12(sp) ac50: 1484d83a srl r2,r2,r18 ac54: 1988983a sll r4,r3,r6 ac58: 1c86d83a srl r3,r3,r18 ac5c: 2088b03a or r4,r4,r2 ac60: 2011883a mov r8,r4 ac64: 1813883a mov r9,r3 ac68: d9000415 stw r4,16(sp) ac6c: d8c00515 stw r3,20(sp) ac70: 003ed406 br a7c4 <__umoddi3+0x11c> ac74: 01400604 movi r5,24 ac78: 2805883a mov r2,r5 ac7c: 003ea606 br a718 <__umoddi3+0x70> ac80: 01400204 movi r5,8 ac84: 2805883a mov r2,r5 ac88: 003ea306 br a718 <__umoddi3+0x70> ac8c: 01400204 movi r5,8 ac90: 2805883a mov r2,r5 ac94: 003edf06 br a814 <__umoddi3+0x16c> ac98: 01400204 movi r5,8 ac9c: 2805883a mov r2,r5 aca0: 003ef206 br a86c <__umoddi3+0x1c4> aca4: 01400604 movi r5,24 aca8: 2805883a mov r2,r5 acac: 003eef06 br a86c <__umoddi3+0x1c4> acb0: 01400604 movi r5,24 acb4: 2805883a mov r2,r5 acb8: 003ed606 br a814 <__umoddi3+0x16c> acbc: 153fa92e bgeu r2,r20,ab64 <__umoddi3+0x4bc> acc0: 843fffc4 addi r16,r16,-1 acc4: 1585883a add r2,r2,r22 acc8: 003fa606 br ab64 <__umoddi3+0x4bc> accc: 157f912e bgeu r2,r21,ab14 <__umoddi3+0x46c> acd0: e73fffc4 addi fp,fp,-1 acd4: 1585883a add r2,r2,r22 acd8: 003f8e06 br ab14 <__umoddi3+0x46c> acdc: 157f542e bgeu r2,r21,aa30 <__umoddi3+0x388> ace0: 14c5883a add r2,r2,r19 ace4: 003f5206 br aa30 <__umoddi3+0x388> ace8: 14c5883a add r2,r2,r19 acec: 003efc06 br a8e0 <__umoddi3+0x238> acf0: 14c5883a add r2,r2,r19 acf4: 003ea606 br a790 <__umoddi3+0xe8> acf8: d8800117 ldw r2,4(sp) acfc: 113fc836 bltu r2,r4,ac20 <__umoddi3+0x578> ad00: 000d883a mov r6,zero ad04: 003fcd06 br ac3c <__umoddi3+0x594> 0000ad08 <_fpadd_parts>: ad08: defff804 addi sp,sp,-32 ad0c: dcc00315 stw r19,12(sp) ad10: 2027883a mov r19,r4 ad14: 21000017 ldw r4,0(r4) ad18: 00c00044 movi r3,1 ad1c: dd400515 stw r21,20(sp) ad20: dd000415 stw r20,16(sp) ad24: ddc00715 stw r23,28(sp) ad28: dd800615 stw r22,24(sp) ad2c: dc800215 stw r18,8(sp) ad30: dc400115 stw r17,4(sp) ad34: dc000015 stw r16,0(sp) ad38: 282b883a mov r21,r5 ad3c: 3029883a mov r20,r6 ad40: 1900632e bgeu r3,r4,aed0 <_fpadd_parts+0x1c8> ad44: 28800017 ldw r2,0(r5) ad48: 1880812e bgeu r3,r2,af50 <_fpadd_parts+0x248> ad4c: 00c00104 movi r3,4 ad50: 20c0dc26 beq r4,r3,b0c4 <_fpadd_parts+0x3bc> ad54: 10c07e26 beq r2,r3,af50 <_fpadd_parts+0x248> ad58: 00c00084 movi r3,2 ad5c: 10c06726 beq r2,r3,aefc <_fpadd_parts+0x1f4> ad60: 20c07b26 beq r4,r3,af50 <_fpadd_parts+0x248> ad64: 9dc00217 ldw r23,8(r19) ad68: 28c00217 ldw r3,8(r5) ad6c: 9c400317 ldw r17,12(r19) ad70: 2bc00317 ldw r15,12(r5) ad74: b8cdc83a sub r6,r23,r3 ad78: 9c800417 ldw r18,16(r19) ad7c: 2c000417 ldw r16,16(r5) ad80: 3009883a mov r4,r6 ad84: 30009716 blt r6,zero,afe4 <_fpadd_parts+0x2dc> ad88: 00800fc4 movi r2,63 ad8c: 11806b16 blt r2,r6,af3c <_fpadd_parts+0x234> ad90: 0100a40e bge zero,r4,b024 <_fpadd_parts+0x31c> ad94: 35bff804 addi r22,r6,-32 ad98: b000bc16 blt r22,zero,b08c <_fpadd_parts+0x384> ad9c: 8596d83a srl r11,r16,r22 ada0: 0019883a mov r12,zero ada4: 0013883a mov r9,zero ada8: 01000044 movi r4,1 adac: 0015883a mov r10,zero adb0: b000be16 blt r22,zero,b0ac <_fpadd_parts+0x3a4> adb4: 2590983a sll r8,r4,r22 adb8: 000f883a mov r7,zero adbc: 00bfffc4 movi r2,-1 adc0: 3889883a add r4,r7,r2 adc4: 408b883a add r5,r8,r2 adc8: 21cd803a cmpltu r6,r4,r7 adcc: 314b883a add r5,r6,r5 add0: 7904703a and r2,r15,r4 add4: 8146703a and r3,r16,r5 add8: 10c4b03a or r2,r2,r3 addc: 10000226 beq r2,zero,ade8 <_fpadd_parts+0xe0> ade0: 02400044 movi r9,1 ade4: 0015883a mov r10,zero ade8: 5a5eb03a or r15,r11,r9 adec: 62a0b03a or r16,r12,r10 adf0: 99400117 ldw r5,4(r19) adf4: a8800117 ldw r2,4(r21) adf8: 28806e26 beq r5,r2,afb4 <_fpadd_parts+0x2ac> adfc: 28006626 beq r5,zero,af98 <_fpadd_parts+0x290> ae00: 7c45c83a sub r2,r15,r17 ae04: 7889803a cmpltu r4,r15,r2 ae08: 8487c83a sub r3,r16,r18 ae0c: 1909c83a sub r4,r3,r4 ae10: 100d883a mov r6,r2 ae14: 200f883a mov r7,r4 ae18: 38007716 blt r7,zero,aff8 <_fpadd_parts+0x2f0> ae1c: a5c00215 stw r23,8(r20) ae20: a1c00415 stw r7,16(r20) ae24: a0000115 stw zero,4(r20) ae28: a1800315 stw r6,12(r20) ae2c: a2000317 ldw r8,12(r20) ae30: a2400417 ldw r9,16(r20) ae34: 00bfffc4 movi r2,-1 ae38: 408b883a add r5,r8,r2 ae3c: 2a09803a cmpltu r4,r5,r8 ae40: 488d883a add r6,r9,r2 ae44: 01c40034 movhi r7,4096 ae48: 39ffffc4 addi r7,r7,-1 ae4c: 218d883a add r6,r4,r6 ae50: 39801736 bltu r7,r6,aeb0 <_fpadd_parts+0x1a8> ae54: 31c06526 beq r6,r7,afec <_fpadd_parts+0x2e4> ae58: a3000217 ldw r12,8(r20) ae5c: 4209883a add r4,r8,r8 ae60: 00bfffc4 movi r2,-1 ae64: 220f803a cmpltu r7,r4,r8 ae68: 4a4b883a add r5,r9,r9 ae6c: 394f883a add r7,r7,r5 ae70: 2095883a add r10,r4,r2 ae74: 3897883a add r11,r7,r2 ae78: 510d803a cmpltu r6,r10,r4 ae7c: 6099883a add r12,r12,r2 ae80: 32d7883a add r11,r6,r11 ae84: 00840034 movhi r2,4096 ae88: 10bfffc4 addi r2,r2,-1 ae8c: 2011883a mov r8,r4 ae90: 3813883a mov r9,r7 ae94: a1000315 stw r4,12(r20) ae98: a1c00415 stw r7,16(r20) ae9c: a3000215 stw r12,8(r20) aea0: 12c00336 bltu r2,r11,aeb0 <_fpadd_parts+0x1a8> aea4: 58bfed1e bne r11,r2,ae5c <_fpadd_parts+0x154> aea8: 00bfff84 movi r2,-2 aeac: 12bfeb2e bgeu r2,r10,ae5c <_fpadd_parts+0x154> aeb0: a2800417 ldw r10,16(r20) aeb4: 008000c4 movi r2,3 aeb8: 00c80034 movhi r3,8192 aebc: 18ffffc4 addi r3,r3,-1 aec0: a2400317 ldw r9,12(r20) aec4: a0800015 stw r2,0(r20) aec8: 1a802336 bltu r3,r10,af58 <_fpadd_parts+0x250> aecc: a027883a mov r19,r20 aed0: 9805883a mov r2,r19 aed4: ddc00717 ldw r23,28(sp) aed8: dd800617 ldw r22,24(sp) aedc: dd400517 ldw r21,20(sp) aee0: dd000417 ldw r20,16(sp) aee4: dcc00317 ldw r19,12(sp) aee8: dc800217 ldw r18,8(sp) aeec: dc400117 ldw r17,4(sp) aef0: dc000017 ldw r16,0(sp) aef4: dec00804 addi sp,sp,32 aef8: f800283a ret aefc: 20fff41e bne r4,r3,aed0 <_fpadd_parts+0x1c8> af00: 31000015 stw r4,0(r6) af04: 98800117 ldw r2,4(r19) af08: 30800115 stw r2,4(r6) af0c: 98c00217 ldw r3,8(r19) af10: 30c00215 stw r3,8(r6) af14: 98800317 ldw r2,12(r19) af18: 30800315 stw r2,12(r6) af1c: 98c00417 ldw r3,16(r19) af20: 30c00415 stw r3,16(r6) af24: 98800117 ldw r2,4(r19) af28: 28c00117 ldw r3,4(r5) af2c: 3027883a mov r19,r6 af30: 10c4703a and r2,r2,r3 af34: 30800115 stw r2,4(r6) af38: 003fe506 br aed0 <_fpadd_parts+0x1c8> af3c: 1dc02616 blt r3,r23,afd8 <_fpadd_parts+0x2d0> af40: 0023883a mov r17,zero af44: 182f883a mov r23,r3 af48: 0025883a mov r18,zero af4c: 003fa806 br adf0 <_fpadd_parts+0xe8> af50: a827883a mov r19,r21 af54: 003fde06 br aed0 <_fpadd_parts+0x1c8> af58: 01800044 movi r6,1 af5c: 500497fa slli r2,r10,31 af60: 4808d07a srli r4,r9,1 af64: 518ad83a srl r5,r10,r6 af68: a2000217 ldw r8,8(r20) af6c: 1108b03a or r4,r2,r4 af70: 0007883a mov r3,zero af74: 4984703a and r2,r9,r6 af78: 208cb03a or r6,r4,r2 af7c: 28ceb03a or r7,r5,r3 af80: 42000044 addi r8,r8,1 af84: a027883a mov r19,r20 af88: a1c00415 stw r7,16(r20) af8c: a2000215 stw r8,8(r20) af90: a1800315 stw r6,12(r20) af94: 003fce06 br aed0 <_fpadd_parts+0x1c8> af98: 8bc5c83a sub r2,r17,r15 af9c: 8889803a cmpltu r4,r17,r2 afa0: 9407c83a sub r3,r18,r16 afa4: 1909c83a sub r4,r3,r4 afa8: 100d883a mov r6,r2 afac: 200f883a mov r7,r4 afb0: 003f9906 br ae18 <_fpadd_parts+0x110> afb4: 7c45883a add r2,r15,r17 afb8: 13c9803a cmpltu r4,r2,r15 afbc: 8487883a add r3,r16,r18 afc0: 20c9883a add r4,r4,r3 afc4: a1400115 stw r5,4(r20) afc8: a5c00215 stw r23,8(r20) afcc: a0800315 stw r2,12(r20) afd0: a1000415 stw r4,16(r20) afd4: 003fb606 br aeb0 <_fpadd_parts+0x1a8> afd8: 001f883a mov r15,zero afdc: 0021883a mov r16,zero afe0: 003f8306 br adf0 <_fpadd_parts+0xe8> afe4: 018dc83a sub r6,zero,r6 afe8: 003f6706 br ad88 <_fpadd_parts+0x80> afec: 00bfff84 movi r2,-2 aff0: 117faf36 bltu r2,r5,aeb0 <_fpadd_parts+0x1a8> aff4: 003f9806 br ae58 <_fpadd_parts+0x150> aff8: 0005883a mov r2,zero affc: 1189c83a sub r4,r2,r6 b000: 1105803a cmpltu r2,r2,r4 b004: 01cbc83a sub r5,zero,r7 b008: 2885c83a sub r2,r5,r2 b00c: 01800044 movi r6,1 b010: a1800115 stw r6,4(r20) b014: a5c00215 stw r23,8(r20) b018: a1000315 stw r4,12(r20) b01c: a0800415 stw r2,16(r20) b020: 003f8206 br ae2c <_fpadd_parts+0x124> b024: 203f7226 beq r4,zero,adf0 <_fpadd_parts+0xe8> b028: 35bff804 addi r22,r6,-32 b02c: b9af883a add r23,r23,r6 b030: b0003116 blt r22,zero,b0f8 <_fpadd_parts+0x3f0> b034: 959ad83a srl r13,r18,r22 b038: 001d883a mov r14,zero b03c: 000f883a mov r7,zero b040: 01000044 movi r4,1 b044: 0011883a mov r8,zero b048: b0002516 blt r22,zero,b0e0 <_fpadd_parts+0x3d8> b04c: 2594983a sll r10,r4,r22 b050: 0013883a mov r9,zero b054: 00bfffc4 movi r2,-1 b058: 4889883a add r4,r9,r2 b05c: 508b883a add r5,r10,r2 b060: 224d803a cmpltu r6,r4,r9 b064: 314b883a add r5,r6,r5 b068: 8904703a and r2,r17,r4 b06c: 9146703a and r3,r18,r5 b070: 10c4b03a or r2,r2,r3 b074: 10000226 beq r2,zero,b080 <_fpadd_parts+0x378> b078: 01c00044 movi r7,1 b07c: 0011883a mov r8,zero b080: 69e2b03a or r17,r13,r7 b084: 7224b03a or r18,r14,r8 b088: 003f5906 br adf0 <_fpadd_parts+0xe8> b08c: 8407883a add r3,r16,r16 b090: 008007c4 movi r2,31 b094: 1185c83a sub r2,r2,r6 b098: 1886983a sll r3,r3,r2 b09c: 7996d83a srl r11,r15,r6 b0a0: 8198d83a srl r12,r16,r6 b0a4: 1ad6b03a or r11,r3,r11 b0a8: 003f3e06 br ada4 <_fpadd_parts+0x9c> b0ac: 2006d07a srli r3,r4,1 b0b0: 008007c4 movi r2,31 b0b4: 1185c83a sub r2,r2,r6 b0b8: 1890d83a srl r8,r3,r2 b0bc: 218e983a sll r7,r4,r6 b0c0: 003f3e06 br adbc <_fpadd_parts+0xb4> b0c4: 113f821e bne r2,r4,aed0 <_fpadd_parts+0x1c8> b0c8: 28c00117 ldw r3,4(r5) b0cc: 98800117 ldw r2,4(r19) b0d0: 10ff7f26 beq r2,r3,aed0 <_fpadd_parts+0x1c8> b0d4: 04c00074 movhi r19,1 b0d8: 9cc15804 addi r19,r19,1376 b0dc: 003f7c06 br aed0 <_fpadd_parts+0x1c8> b0e0: 2006d07a srli r3,r4,1 b0e4: 008007c4 movi r2,31 b0e8: 1185c83a sub r2,r2,r6 b0ec: 1894d83a srl r10,r3,r2 b0f0: 2192983a sll r9,r4,r6 b0f4: 003fd706 br b054 <_fpadd_parts+0x34c> b0f8: 9487883a add r3,r18,r18 b0fc: 008007c4 movi r2,31 b100: 1185c83a sub r2,r2,r6 b104: 1886983a sll r3,r3,r2 b108: 899ad83a srl r13,r17,r6 b10c: 919cd83a srl r14,r18,r6 b110: 1b5ab03a or r13,r3,r13 b114: 003fc906 br b03c <_fpadd_parts+0x334> 0000b118 <__subdf3>: b118: deffea04 addi sp,sp,-88 b11c: dcc01415 stw r19,80(sp) b120: dcc00404 addi r19,sp,16 b124: 2011883a mov r8,r4 b128: 2813883a mov r9,r5 b12c: dc401315 stw r17,76(sp) b130: d809883a mov r4,sp b134: 980b883a mov r5,r19 b138: dc400904 addi r17,sp,36 b13c: dfc01515 stw ra,84(sp) b140: da400115 stw r9,4(sp) b144: d9c00315 stw r7,12(sp) b148: da000015 stw r8,0(sp) b14c: d9800215 stw r6,8(sp) b150: 000c2ec0 call c2ec <__unpack_d> b154: d9000204 addi r4,sp,8 b158: 880b883a mov r5,r17 b15c: 000c2ec0 call c2ec <__unpack_d> b160: d8800a17 ldw r2,40(sp) b164: 880b883a mov r5,r17 b168: 9809883a mov r4,r19 b16c: d9800e04 addi r6,sp,56 b170: 1080005c xori r2,r2,1 b174: d8800a15 stw r2,40(sp) b178: 000ad080 call ad08 <_fpadd_parts> b17c: 1009883a mov r4,r2 b180: 000bfd80 call bfd8 <__pack_d> b184: dfc01517 ldw ra,84(sp) b188: dcc01417 ldw r19,80(sp) b18c: dc401317 ldw r17,76(sp) b190: dec01604 addi sp,sp,88 b194: f800283a ret 0000b198 <__adddf3>: b198: deffea04 addi sp,sp,-88 b19c: dcc01415 stw r19,80(sp) b1a0: dcc00404 addi r19,sp,16 b1a4: 2011883a mov r8,r4 b1a8: 2813883a mov r9,r5 b1ac: dc401315 stw r17,76(sp) b1b0: d809883a mov r4,sp b1b4: 980b883a mov r5,r19 b1b8: dc400904 addi r17,sp,36 b1bc: dfc01515 stw ra,84(sp) b1c0: da400115 stw r9,4(sp) b1c4: d9c00315 stw r7,12(sp) b1c8: da000015 stw r8,0(sp) b1cc: d9800215 stw r6,8(sp) b1d0: 000c2ec0 call c2ec <__unpack_d> b1d4: d9000204 addi r4,sp,8 b1d8: 880b883a mov r5,r17 b1dc: 000c2ec0 call c2ec <__unpack_d> b1e0: d9800e04 addi r6,sp,56 b1e4: 9809883a mov r4,r19 b1e8: 880b883a mov r5,r17 b1ec: 000ad080 call ad08 <_fpadd_parts> b1f0: 1009883a mov r4,r2 b1f4: 000bfd80 call bfd8 <__pack_d> b1f8: dfc01517 ldw ra,84(sp) b1fc: dcc01417 ldw r19,80(sp) b200: dc401317 ldw r17,76(sp) b204: dec01604 addi sp,sp,88 b208: f800283a ret 0000b20c <__muldf3>: b20c: deffe004 addi sp,sp,-128 b210: dc401815 stw r17,96(sp) b214: dc400404 addi r17,sp,16 b218: 2011883a mov r8,r4 b21c: 2813883a mov r9,r5 b220: dc001715 stw r16,92(sp) b224: d809883a mov r4,sp b228: 880b883a mov r5,r17 b22c: dc000904 addi r16,sp,36 b230: dfc01f15 stw ra,124(sp) b234: da400115 stw r9,4(sp) b238: d9c00315 stw r7,12(sp) b23c: da000015 stw r8,0(sp) b240: d9800215 stw r6,8(sp) b244: ddc01e15 stw r23,120(sp) b248: dd801d15 stw r22,116(sp) b24c: dd401c15 stw r21,112(sp) b250: dd001b15 stw r20,108(sp) b254: dcc01a15 stw r19,104(sp) b258: dc801915 stw r18,100(sp) b25c: 000c2ec0 call c2ec <__unpack_d> b260: d9000204 addi r4,sp,8 b264: 800b883a mov r5,r16 b268: 000c2ec0 call c2ec <__unpack_d> b26c: d9000417 ldw r4,16(sp) b270: 00800044 movi r2,1 b274: 1100102e bgeu r2,r4,b2b8 <__muldf3+0xac> b278: d8c00917 ldw r3,36(sp) b27c: 10c0062e bgeu r2,r3,b298 <__muldf3+0x8c> b280: 00800104 movi r2,4 b284: 20800a26 beq r4,r2,b2b0 <__muldf3+0xa4> b288: 1880cc26 beq r3,r2,b5bc <__muldf3+0x3b0> b28c: 00800084 movi r2,2 b290: 20800926 beq r4,r2,b2b8 <__muldf3+0xac> b294: 1880191e bne r3,r2,b2fc <__muldf3+0xf0> b298: d8c00a17 ldw r3,40(sp) b29c: d8800517 ldw r2,20(sp) b2a0: 8009883a mov r4,r16 b2a4: 10c4c03a cmpne r2,r2,r3 b2a8: d8800a15 stw r2,40(sp) b2ac: 00000706 br b2cc <__muldf3+0xc0> b2b0: 00800084 movi r2,2 b2b4: 1880c326 beq r3,r2,b5c4 <__muldf3+0x3b8> b2b8: d8800517 ldw r2,20(sp) b2bc: d8c00a17 ldw r3,40(sp) b2c0: 8809883a mov r4,r17 b2c4: 10c4c03a cmpne r2,r2,r3 b2c8: d8800515 stw r2,20(sp) b2cc: 000bfd80 call bfd8 <__pack_d> b2d0: dfc01f17 ldw ra,124(sp) b2d4: ddc01e17 ldw r23,120(sp) b2d8: dd801d17 ldw r22,116(sp) b2dc: dd401c17 ldw r21,112(sp) b2e0: dd001b17 ldw r20,108(sp) b2e4: dcc01a17 ldw r19,104(sp) b2e8: dc801917 ldw r18,100(sp) b2ec: dc401817 ldw r17,96(sp) b2f0: dc001717 ldw r16,92(sp) b2f4: dec02004 addi sp,sp,128 b2f8: f800283a ret b2fc: dd800717 ldw r22,28(sp) b300: dc800c17 ldw r18,48(sp) b304: 002b883a mov r21,zero b308: 0023883a mov r17,zero b30c: a80b883a mov r5,r21 b310: b00d883a mov r6,r22 b314: 880f883a mov r7,r17 b318: ddc00817 ldw r23,32(sp) b31c: dcc00d17 ldw r19,52(sp) b320: 9009883a mov r4,r18 b324: 000be340 call be34 <__muldi3> b328: 001b883a mov r13,zero b32c: 680f883a mov r7,r13 b330: b009883a mov r4,r22 b334: 000b883a mov r5,zero b338: 980d883a mov r6,r19 b33c: b82d883a mov r22,r23 b340: 002f883a mov r23,zero b344: db401615 stw r13,88(sp) b348: d8801315 stw r2,76(sp) b34c: d8c01415 stw r3,80(sp) b350: dcc01515 stw r19,84(sp) b354: 000be340 call be34 <__muldi3> b358: b00d883a mov r6,r22 b35c: 000b883a mov r5,zero b360: 9009883a mov r4,r18 b364: b80f883a mov r7,r23 b368: 1021883a mov r16,r2 b36c: 1823883a mov r17,r3 b370: 000be340 call be34 <__muldi3> b374: 8085883a add r2,r16,r2 b378: 140d803a cmpltu r6,r2,r16 b37c: 88c7883a add r3,r17,r3 b380: 30cd883a add r6,r6,r3 b384: 1029883a mov r20,r2 b388: 302b883a mov r21,r6 b38c: da801317 ldw r10,76(sp) b390: dac01417 ldw r11,80(sp) b394: db001517 ldw r12,84(sp) b398: db401617 ldw r13,88(sp) b39c: 3440612e bgeu r6,r17,b524 <__muldf3+0x318> b3a0: 0009883a mov r4,zero b3a4: 5105883a add r2,r10,r4 b3a8: 128d803a cmpltu r6,r2,r10 b3ac: 5d07883a add r3,r11,r20 b3b0: 30cd883a add r6,r6,r3 b3b4: 0021883a mov r16,zero b3b8: 04400044 movi r17,1 b3bc: 1025883a mov r18,r2 b3c0: 3027883a mov r19,r6 b3c4: 32c06236 bltu r6,r11,b550 <__muldf3+0x344> b3c8: 59807a26 beq r11,r6,b5b4 <__muldf3+0x3a8> b3cc: 680b883a mov r5,r13 b3d0: b80f883a mov r7,r23 b3d4: 6009883a mov r4,r12 b3d8: b00d883a mov r6,r22 b3dc: 000be340 call be34 <__muldi3> b3e0: 1009883a mov r4,r2 b3e4: 000f883a mov r7,zero b3e8: 1545883a add r2,r2,r21 b3ec: 1111803a cmpltu r8,r2,r4 b3f0: 19c7883a add r3,r3,r7 b3f4: 40c7883a add r3,r8,r3 b3f8: 88cb883a add r5,r17,r3 b3fc: d8c00617 ldw r3,24(sp) b400: 8089883a add r4,r16,r2 b404: d8800b17 ldw r2,44(sp) b408: 18c00104 addi r3,r3,4 b40c: 240d803a cmpltu r6,r4,r16 b410: 10c7883a add r3,r2,r3 b414: 2013883a mov r9,r4 b418: d8800a17 ldw r2,40(sp) b41c: d9000517 ldw r4,20(sp) b420: 314d883a add r6,r6,r5 b424: 3015883a mov r10,r6 b428: 2088c03a cmpne r4,r4,r2 b42c: 00880034 movhi r2,8192 b430: 10bfffc4 addi r2,r2,-1 b434: d9000f15 stw r4,60(sp) b438: d8c01015 stw r3,64(sp) b43c: 1180162e bgeu r2,r6,b498 <__muldf3+0x28c> b440: 1811883a mov r8,r3 b444: 101f883a mov r15,r2 b448: 980497fa slli r2,r19,31 b44c: 9016d07a srli r11,r18,1 b450: 500697fa slli r3,r10,31 b454: 480cd07a srli r6,r9,1 b458: 500ed07a srli r7,r10,1 b45c: 12d6b03a or r11,r2,r11 b460: 00800044 movi r2,1 b464: 198cb03a or r6,r3,r6 b468: 4888703a and r4,r9,r2 b46c: 9818d07a srli r12,r19,1 b470: 001b883a mov r13,zero b474: 03a00034 movhi r14,32768 b478: 3013883a mov r9,r6 b47c: 3815883a mov r10,r7 b480: 4091883a add r8,r8,r2 b484: 20000226 beq r4,zero,b490 <__muldf3+0x284> b488: 5b64b03a or r18,r11,r13 b48c: 63a6b03a or r19,r12,r14 b490: 7abfed36 bltu r15,r10,b448 <__muldf3+0x23c> b494: da001015 stw r8,64(sp) b498: 00840034 movhi r2,4096 b49c: 10bfffc4 addi r2,r2,-1 b4a0: 12801436 bltu r2,r10,b4f4 <__muldf3+0x2e8> b4a4: da001017 ldw r8,64(sp) b4a8: 101f883a mov r15,r2 b4ac: 4a45883a add r2,r9,r9 b4b0: 124d803a cmpltu r6,r2,r9 b4b4: 5287883a add r3,r10,r10 b4b8: 9497883a add r11,r18,r18 b4bc: 5c8f803a cmpltu r7,r11,r18 b4c0: 9cd9883a add r12,r19,r19 b4c4: 01000044 movi r4,1 b4c8: 30cd883a add r6,r6,r3 b4cc: 3b0f883a add r7,r7,r12 b4d0: 423fffc4 addi r8,r8,-1 b4d4: 1013883a mov r9,r2 b4d8: 3015883a mov r10,r6 b4dc: 111ab03a or r13,r2,r4 b4e0: 98003016 blt r19,zero,b5a4 <__muldf3+0x398> b4e4: 5825883a mov r18,r11 b4e8: 3827883a mov r19,r7 b4ec: 7abfef2e bgeu r15,r10,b4ac <__muldf3+0x2a0> b4f0: da001015 stw r8,64(sp) b4f4: 00803fc4 movi r2,255 b4f8: 488e703a and r7,r9,r2 b4fc: 00802004 movi r2,128 b500: 0007883a mov r3,zero b504: 0011883a mov r8,zero b508: 38801826 beq r7,r2,b56c <__muldf3+0x360> b50c: 008000c4 movi r2,3 b510: d9000e04 addi r4,sp,56 b514: da801215 stw r10,72(sp) b518: d8800e15 stw r2,56(sp) b51c: da401115 stw r9,68(sp) b520: 003f6a06 br b2cc <__muldf3+0xc0> b524: 89802126 beq r17,r6,b5ac <__muldf3+0x3a0> b528: 0009883a mov r4,zero b52c: 5105883a add r2,r10,r4 b530: 128d803a cmpltu r6,r2,r10 b534: 5d07883a add r3,r11,r20 b538: 30cd883a add r6,r6,r3 b53c: 0021883a mov r16,zero b540: 0023883a mov r17,zero b544: 1025883a mov r18,r2 b548: 3027883a mov r19,r6 b54c: 32ff9e2e bgeu r6,r11,b3c8 <__muldf3+0x1bc> b550: 00800044 movi r2,1 b554: 8089883a add r4,r16,r2 b558: 240d803a cmpltu r6,r4,r16 b55c: 344d883a add r6,r6,r17 b560: 2021883a mov r16,r4 b564: 3023883a mov r17,r6 b568: 003f9806 br b3cc <__muldf3+0x1c0> b56c: 403fe71e bne r8,zero,b50c <__muldf3+0x300> b570: 01004004 movi r4,256 b574: 4904703a and r2,r9,r4 b578: 10c4b03a or r2,r2,r3 b57c: 103fe31e bne r2,zero,b50c <__muldf3+0x300> b580: 94c4b03a or r2,r18,r19 b584: 103fe126 beq r2,zero,b50c <__muldf3+0x300> b588: 49c5883a add r2,r9,r7 b58c: 1251803a cmpltu r8,r2,r9 b590: 4291883a add r8,r8,r10 b594: 013fc004 movi r4,-256 b598: 1112703a and r9,r2,r4 b59c: 4015883a mov r10,r8 b5a0: 003fda06 br b50c <__muldf3+0x300> b5a4: 6813883a mov r9,r13 b5a8: 003fce06 br b4e4 <__muldf3+0x2d8> b5ac: 143f7c36 bltu r2,r16,b3a0 <__muldf3+0x194> b5b0: 003fdd06 br b528 <__muldf3+0x31c> b5b4: 12bf852e bgeu r2,r10,b3cc <__muldf3+0x1c0> b5b8: 003fe506 br b550 <__muldf3+0x344> b5bc: 00800084 movi r2,2 b5c0: 20bf351e bne r4,r2,b298 <__muldf3+0x8c> b5c4: 01000074 movhi r4,1 b5c8: 21015804 addi r4,r4,1376 b5cc: 003f3f06 br b2cc <__muldf3+0xc0> 0000b5d0 <__divdf3>: b5d0: deffed04 addi sp,sp,-76 b5d4: dcc01115 stw r19,68(sp) b5d8: dcc00404 addi r19,sp,16 b5dc: 2011883a mov r8,r4 b5e0: 2813883a mov r9,r5 b5e4: dc000e15 stw r16,56(sp) b5e8: d809883a mov r4,sp b5ec: 980b883a mov r5,r19 b5f0: dc000904 addi r16,sp,36 b5f4: dfc01215 stw ra,72(sp) b5f8: da400115 stw r9,4(sp) b5fc: d9c00315 stw r7,12(sp) b600: da000015 stw r8,0(sp) b604: d9800215 stw r6,8(sp) b608: dc801015 stw r18,64(sp) b60c: dc400f15 stw r17,60(sp) b610: 000c2ec0 call c2ec <__unpack_d> b614: d9000204 addi r4,sp,8 b618: 800b883a mov r5,r16 b61c: 000c2ec0 call c2ec <__unpack_d> b620: d9000417 ldw r4,16(sp) b624: 00800044 movi r2,1 b628: 11000b2e bgeu r2,r4,b658 <__divdf3+0x88> b62c: d9400917 ldw r5,36(sp) b630: 1140762e bgeu r2,r5,b80c <__divdf3+0x23c> b634: d8800517 ldw r2,20(sp) b638: d8c00a17 ldw r3,40(sp) b63c: 01800104 movi r6,4 b640: 10c4f03a xor r2,r2,r3 b644: d8800515 stw r2,20(sp) b648: 21800226 beq r4,r6,b654 <__divdf3+0x84> b64c: 00800084 movi r2,2 b650: 2080141e bne r4,r2,b6a4 <__divdf3+0xd4> b654: 29000926 beq r5,r4,b67c <__divdf3+0xac> b658: 9809883a mov r4,r19 b65c: 000bfd80 call bfd8 <__pack_d> b660: dfc01217 ldw ra,72(sp) b664: dcc01117 ldw r19,68(sp) b668: dc801017 ldw r18,64(sp) b66c: dc400f17 ldw r17,60(sp) b670: dc000e17 ldw r16,56(sp) b674: dec01304 addi sp,sp,76 b678: f800283a ret b67c: 01000074 movhi r4,1 b680: 21015804 addi r4,r4,1376 b684: 000bfd80 call bfd8 <__pack_d> b688: dfc01217 ldw ra,72(sp) b68c: dcc01117 ldw r19,68(sp) b690: dc801017 ldw r18,64(sp) b694: dc400f17 ldw r17,60(sp) b698: dc000e17 ldw r16,56(sp) b69c: dec01304 addi sp,sp,76 b6a0: f800283a ret b6a4: 29805b26 beq r5,r6,b814 <__divdf3+0x244> b6a8: 28802d26 beq r5,r2,b760 <__divdf3+0x190> b6ac: d8c00617 ldw r3,24(sp) b6b0: d8800b17 ldw r2,44(sp) b6b4: d9c00817 ldw r7,32(sp) b6b8: dc400d17 ldw r17,52(sp) b6bc: 188bc83a sub r5,r3,r2 b6c0: d9800717 ldw r6,28(sp) b6c4: dc000c17 ldw r16,48(sp) b6c8: d9400615 stw r5,24(sp) b6cc: 3c403836 bltu r7,r17,b7b0 <__divdf3+0x1e0> b6d0: 89c03626 beq r17,r7,b7ac <__divdf3+0x1dc> b6d4: 0015883a mov r10,zero b6d8: 001d883a mov r14,zero b6dc: 02c40034 movhi r11,4096 b6e0: 001f883a mov r15,zero b6e4: 003f883a mov ra,zero b6e8: 04800f44 movi r18,61 b6ec: 00000f06 br b72c <__divdf3+0x15c> b6f0: 601d883a mov r14,r12 b6f4: 681f883a mov r15,r13 b6f8: 400d883a mov r6,r8 b6fc: 100f883a mov r7,r2 b700: 3191883a add r8,r6,r6 b704: 5808d07a srli r4,r11,1 b708: 4185803a cmpltu r2,r8,r6 b70c: 39d3883a add r9,r7,r7 b710: 28c6b03a or r3,r5,r3 b714: 1245883a add r2,r2,r9 b718: 1815883a mov r10,r3 b71c: 2017883a mov r11,r4 b720: 400d883a mov r6,r8 b724: 100f883a mov r7,r2 b728: fc801726 beq ra,r18,b788 <__divdf3+0x1b8> b72c: 580a97fa slli r5,r11,31 b730: 5006d07a srli r3,r10,1 b734: ffc00044 addi ra,ra,1 b738: 3c7ff136 bltu r7,r17,b700 <__divdf3+0x130> b73c: 3411c83a sub r8,r6,r16 b740: 3205803a cmpltu r2,r6,r8 b744: 3c53c83a sub r9,r7,r17 b748: 7298b03a or r12,r14,r10 b74c: 7adab03a or r13,r15,r11 b750: 4885c83a sub r2,r9,r2 b754: 89ffe61e bne r17,r7,b6f0 <__divdf3+0x120> b758: 343fe936 bltu r6,r16,b700 <__divdf3+0x130> b75c: 003fe406 br b6f0 <__divdf3+0x120> b760: 9809883a mov r4,r19 b764: d9800415 stw r6,16(sp) b768: 000bfd80 call bfd8 <__pack_d> b76c: dfc01217 ldw ra,72(sp) b770: dcc01117 ldw r19,68(sp) b774: dc801017 ldw r18,64(sp) b778: dc400f17 ldw r17,60(sp) b77c: dc000e17 ldw r16,56(sp) b780: dec01304 addi sp,sp,76 b784: f800283a ret b788: 00803fc4 movi r2,255 b78c: 7090703a and r8,r14,r2 b790: 00802004 movi r2,128 b794: 0007883a mov r3,zero b798: 0013883a mov r9,zero b79c: 40800d26 beq r8,r2,b7d4 <__divdf3+0x204> b7a0: dbc00815 stw r15,32(sp) b7a4: db800715 stw r14,28(sp) b7a8: 003fab06 br b658 <__divdf3+0x88> b7ac: 343fc92e bgeu r6,r16,b6d4 <__divdf3+0x104> b7b0: 3185883a add r2,r6,r6 b7b4: 1189803a cmpltu r4,r2,r6 b7b8: 39c7883a add r3,r7,r7 b7bc: 20c9883a add r4,r4,r3 b7c0: 297fffc4 addi r5,r5,-1 b7c4: 100d883a mov r6,r2 b7c8: 200f883a mov r7,r4 b7cc: d9400615 stw r5,24(sp) b7d0: 003fc006 br b6d4 <__divdf3+0x104> b7d4: 483ff21e bne r9,zero,b7a0 <__divdf3+0x1d0> b7d8: 01004004 movi r4,256 b7dc: 7104703a and r2,r14,r4 b7e0: 10c4b03a or r2,r2,r3 b7e4: 103fee1e bne r2,zero,b7a0 <__divdf3+0x1d0> b7e8: 31c4b03a or r2,r6,r7 b7ec: 103fec26 beq r2,zero,b7a0 <__divdf3+0x1d0> b7f0: 7205883a add r2,r14,r8 b7f4: 1391803a cmpltu r8,r2,r14 b7f8: 43d1883a add r8,r8,r15 b7fc: 013fc004 movi r4,-256 b800: 111c703a and r14,r2,r4 b804: 401f883a mov r15,r8 b808: 003fe506 br b7a0 <__divdf3+0x1d0> b80c: 8009883a mov r4,r16 b810: 003f9206 br b65c <__divdf3+0x8c> b814: 9809883a mov r4,r19 b818: d8000715 stw zero,28(sp) b81c: d8000815 stw zero,32(sp) b820: d8000615 stw zero,24(sp) b824: 003f8d06 br b65c <__divdf3+0x8c> 0000b828 <__eqdf2>: b828: deffef04 addi sp,sp,-68 b82c: dc400f15 stw r17,60(sp) b830: dc400404 addi r17,sp,16 b834: 2005883a mov r2,r4 b838: 2807883a mov r3,r5 b83c: dc000e15 stw r16,56(sp) b840: d809883a mov r4,sp b844: 880b883a mov r5,r17 b848: dc000904 addi r16,sp,36 b84c: d8c00115 stw r3,4(sp) b850: d8800015 stw r2,0(sp) b854: d9800215 stw r6,8(sp) b858: dfc01015 stw ra,64(sp) b85c: d9c00315 stw r7,12(sp) b860: 000c2ec0 call c2ec <__unpack_d> b864: d9000204 addi r4,sp,8 b868: 800b883a mov r5,r16 b86c: 000c2ec0 call c2ec <__unpack_d> b870: d8800417 ldw r2,16(sp) b874: 00c00044 movi r3,1 b878: 180d883a mov r6,r3 b87c: 1880062e bgeu r3,r2,b898 <__eqdf2+0x70> b880: d8800917 ldw r2,36(sp) b884: 8809883a mov r4,r17 b888: 800b883a mov r5,r16 b88c: 1880022e bgeu r3,r2,b898 <__eqdf2+0x70> b890: 000c4240 call c424 <__fpcmp_parts_d> b894: 100d883a mov r6,r2 b898: 3005883a mov r2,r6 b89c: dfc01017 ldw ra,64(sp) b8a0: dc400f17 ldw r17,60(sp) b8a4: dc000e17 ldw r16,56(sp) b8a8: dec01104 addi sp,sp,68 b8ac: f800283a ret 0000b8b0 <__nedf2>: b8b0: deffef04 addi sp,sp,-68 b8b4: dc400f15 stw r17,60(sp) b8b8: dc400404 addi r17,sp,16 b8bc: 2005883a mov r2,r4 b8c0: 2807883a mov r3,r5 b8c4: dc000e15 stw r16,56(sp) b8c8: d809883a mov r4,sp b8cc: 880b883a mov r5,r17 b8d0: dc000904 addi r16,sp,36 b8d4: d8c00115 stw r3,4(sp) b8d8: d8800015 stw r2,0(sp) b8dc: d9800215 stw r6,8(sp) b8e0: dfc01015 stw ra,64(sp) b8e4: d9c00315 stw r7,12(sp) b8e8: 000c2ec0 call c2ec <__unpack_d> b8ec: d9000204 addi r4,sp,8 b8f0: 800b883a mov r5,r16 b8f4: 000c2ec0 call c2ec <__unpack_d> b8f8: d8800417 ldw r2,16(sp) b8fc: 00c00044 movi r3,1 b900: 180d883a mov r6,r3 b904: 1880062e bgeu r3,r2,b920 <__nedf2+0x70> b908: d8800917 ldw r2,36(sp) b90c: 8809883a mov r4,r17 b910: 800b883a mov r5,r16 b914: 1880022e bgeu r3,r2,b920 <__nedf2+0x70> b918: 000c4240 call c424 <__fpcmp_parts_d> b91c: 100d883a mov r6,r2 b920: 3005883a mov r2,r6 b924: dfc01017 ldw ra,64(sp) b928: dc400f17 ldw r17,60(sp) b92c: dc000e17 ldw r16,56(sp) b930: dec01104 addi sp,sp,68 b934: f800283a ret 0000b938 <__gtdf2>: b938: deffef04 addi sp,sp,-68 b93c: dc400f15 stw r17,60(sp) b940: dc400404 addi r17,sp,16 b944: 2005883a mov r2,r4 b948: 2807883a mov r3,r5 b94c: dc000e15 stw r16,56(sp) b950: d809883a mov r4,sp b954: 880b883a mov r5,r17 b958: dc000904 addi r16,sp,36 b95c: d8c00115 stw r3,4(sp) b960: d8800015 stw r2,0(sp) b964: d9800215 stw r6,8(sp) b968: dfc01015 stw ra,64(sp) b96c: d9c00315 stw r7,12(sp) b970: 000c2ec0 call c2ec <__unpack_d> b974: d9000204 addi r4,sp,8 b978: 800b883a mov r5,r16 b97c: 000c2ec0 call c2ec <__unpack_d> b980: d8800417 ldw r2,16(sp) b984: 00c00044 movi r3,1 b988: 01bfffc4 movi r6,-1 b98c: 1880062e bgeu r3,r2,b9a8 <__gtdf2+0x70> b990: d8800917 ldw r2,36(sp) b994: 8809883a mov r4,r17 b998: 800b883a mov r5,r16 b99c: 1880022e bgeu r3,r2,b9a8 <__gtdf2+0x70> b9a0: 000c4240 call c424 <__fpcmp_parts_d> b9a4: 100d883a mov r6,r2 b9a8: 3005883a mov r2,r6 b9ac: dfc01017 ldw ra,64(sp) b9b0: dc400f17 ldw r17,60(sp) b9b4: dc000e17 ldw r16,56(sp) b9b8: dec01104 addi sp,sp,68 b9bc: f800283a ret 0000b9c0 <__gedf2>: b9c0: deffef04 addi sp,sp,-68 b9c4: dc400f15 stw r17,60(sp) b9c8: dc400404 addi r17,sp,16 b9cc: 2005883a mov r2,r4 b9d0: 2807883a mov r3,r5 b9d4: dc000e15 stw r16,56(sp) b9d8: d809883a mov r4,sp b9dc: 880b883a mov r5,r17 b9e0: dc000904 addi r16,sp,36 b9e4: d8c00115 stw r3,4(sp) b9e8: d8800015 stw r2,0(sp) b9ec: d9800215 stw r6,8(sp) b9f0: dfc01015 stw ra,64(sp) b9f4: d9c00315 stw r7,12(sp) b9f8: 000c2ec0 call c2ec <__unpack_d> b9fc: d9000204 addi r4,sp,8 ba00: 800b883a mov r5,r16 ba04: 000c2ec0 call c2ec <__unpack_d> ba08: d8800417 ldw r2,16(sp) ba0c: 00c00044 movi r3,1 ba10: 01bfffc4 movi r6,-1 ba14: 1880062e bgeu r3,r2,ba30 <__gedf2+0x70> ba18: d8800917 ldw r2,36(sp) ba1c: 8809883a mov r4,r17 ba20: 800b883a mov r5,r16 ba24: 1880022e bgeu r3,r2,ba30 <__gedf2+0x70> ba28: 000c4240 call c424 <__fpcmp_parts_d> ba2c: 100d883a mov r6,r2 ba30: 3005883a mov r2,r6 ba34: dfc01017 ldw ra,64(sp) ba38: dc400f17 ldw r17,60(sp) ba3c: dc000e17 ldw r16,56(sp) ba40: dec01104 addi sp,sp,68 ba44: f800283a ret 0000ba48 <__ltdf2>: ba48: deffef04 addi sp,sp,-68 ba4c: dc400f15 stw r17,60(sp) ba50: dc400404 addi r17,sp,16 ba54: 2005883a mov r2,r4 ba58: 2807883a mov r3,r5 ba5c: dc000e15 stw r16,56(sp) ba60: d809883a mov r4,sp ba64: 880b883a mov r5,r17 ba68: dc000904 addi r16,sp,36 ba6c: d8c00115 stw r3,4(sp) ba70: d8800015 stw r2,0(sp) ba74: d9800215 stw r6,8(sp) ba78: dfc01015 stw ra,64(sp) ba7c: d9c00315 stw r7,12(sp) ba80: 000c2ec0 call c2ec <__unpack_d> ba84: d9000204 addi r4,sp,8 ba88: 800b883a mov r5,r16 ba8c: 000c2ec0 call c2ec <__unpack_d> ba90: d8800417 ldw r2,16(sp) ba94: 00c00044 movi r3,1 ba98: 180d883a mov r6,r3 ba9c: 1880062e bgeu r3,r2,bab8 <__ltdf2+0x70> baa0: d8800917 ldw r2,36(sp) baa4: 8809883a mov r4,r17 baa8: 800b883a mov r5,r16 baac: 1880022e bgeu r3,r2,bab8 <__ltdf2+0x70> bab0: 000c4240 call c424 <__fpcmp_parts_d> bab4: 100d883a mov r6,r2 bab8: 3005883a mov r2,r6 babc: dfc01017 ldw ra,64(sp) bac0: dc400f17 ldw r17,60(sp) bac4: dc000e17 ldw r16,56(sp) bac8: dec01104 addi sp,sp,68 bacc: f800283a ret 0000bad0 <__floatsidf>: bad0: 2006d7fa srli r3,r4,31 bad4: defff604 addi sp,sp,-40 bad8: 008000c4 movi r2,3 badc: dfc00915 stw ra,36(sp) bae0: dcc00815 stw r19,32(sp) bae4: dc800715 stw r18,28(sp) bae8: dc400615 stw r17,24(sp) baec: dc000515 stw r16,20(sp) baf0: d8800015 stw r2,0(sp) baf4: d8c00115 stw r3,4(sp) baf8: 20000f1e bne r4,zero,bb38 <__floatsidf+0x68> bafc: 00800084 movi r2,2 bb00: d8800015 stw r2,0(sp) bb04: d809883a mov r4,sp bb08: 000bfd80 call bfd8 <__pack_d> bb0c: 1009883a mov r4,r2 bb10: 180b883a mov r5,r3 bb14: 2005883a mov r2,r4 bb18: 2807883a mov r3,r5 bb1c: dfc00917 ldw ra,36(sp) bb20: dcc00817 ldw r19,32(sp) bb24: dc800717 ldw r18,28(sp) bb28: dc400617 ldw r17,24(sp) bb2c: dc000517 ldw r16,20(sp) bb30: dec00a04 addi sp,sp,40 bb34: f800283a ret bb38: 00800f04 movi r2,60 bb3c: 1807003a cmpeq r3,r3,zero bb40: d8800215 stw r2,8(sp) bb44: 18001126 beq r3,zero,bb8c <__floatsidf+0xbc> bb48: 0027883a mov r19,zero bb4c: 2025883a mov r18,r4 bb50: d9000315 stw r4,12(sp) bb54: dcc00415 stw r19,16(sp) bb58: 000bf580 call bf58 <__clzsi2> bb5c: 11000744 addi r4,r2,29 bb60: 013fe80e bge zero,r4,bb04 <__floatsidf+0x34> bb64: 10bfff44 addi r2,r2,-3 bb68: 10000c16 blt r2,zero,bb9c <__floatsidf+0xcc> bb6c: 90a2983a sll r17,r18,r2 bb70: 0021883a mov r16,zero bb74: d8800217 ldw r2,8(sp) bb78: dc400415 stw r17,16(sp) bb7c: dc000315 stw r16,12(sp) bb80: 1105c83a sub r2,r2,r4 bb84: d8800215 stw r2,8(sp) bb88: 003fde06 br bb04 <__floatsidf+0x34> bb8c: 00a00034 movhi r2,32768 bb90: 20800a26 beq r4,r2,bbbc <__floatsidf+0xec> bb94: 0109c83a sub r4,zero,r4 bb98: 003feb06 br bb48 <__floatsidf+0x78> bb9c: 9006d07a srli r3,r18,1 bba0: 008007c4 movi r2,31 bba4: 1105c83a sub r2,r2,r4 bba8: 1886d83a srl r3,r3,r2 bbac: 9922983a sll r17,r19,r4 bbb0: 9120983a sll r16,r18,r4 bbb4: 1c62b03a or r17,r3,r17 bbb8: 003fee06 br bb74 <__floatsidf+0xa4> bbbc: 0009883a mov r4,zero bbc0: 01707834 movhi r5,49632 bbc4: 003fd306 br bb14 <__floatsidf+0x44> 0000bbc8 <__fixdfsi>: bbc8: defff804 addi sp,sp,-32 bbcc: 2005883a mov r2,r4 bbd0: 2807883a mov r3,r5 bbd4: d809883a mov r4,sp bbd8: d9400204 addi r5,sp,8 bbdc: d8c00115 stw r3,4(sp) bbe0: d8800015 stw r2,0(sp) bbe4: dfc00715 stw ra,28(sp) bbe8: 000c2ec0 call c2ec <__unpack_d> bbec: d8c00217 ldw r3,8(sp) bbf0: 00800084 movi r2,2 bbf4: 1880051e bne r3,r2,bc0c <__fixdfsi+0x44> bbf8: 0007883a mov r3,zero bbfc: 1805883a mov r2,r3 bc00: dfc00717 ldw ra,28(sp) bc04: dec00804 addi sp,sp,32 bc08: f800283a ret bc0c: 00800044 movi r2,1 bc10: 10fff92e bgeu r2,r3,bbf8 <__fixdfsi+0x30> bc14: 00800104 movi r2,4 bc18: 18800426 beq r3,r2,bc2c <__fixdfsi+0x64> bc1c: d8c00417 ldw r3,16(sp) bc20: 183ff516 blt r3,zero,bbf8 <__fixdfsi+0x30> bc24: 00800784 movi r2,30 bc28: 10c0080e bge r2,r3,bc4c <__fixdfsi+0x84> bc2c: d8800317 ldw r2,12(sp) bc30: 1000121e bne r2,zero,bc7c <__fixdfsi+0xb4> bc34: 00e00034 movhi r3,32768 bc38: 18ffffc4 addi r3,r3,-1 bc3c: 1805883a mov r2,r3 bc40: dfc00717 ldw ra,28(sp) bc44: dec00804 addi sp,sp,32 bc48: f800283a ret bc4c: 00800f04 movi r2,60 bc50: 10d1c83a sub r8,r2,r3 bc54: 40bff804 addi r2,r8,-32 bc58: d9800517 ldw r6,20(sp) bc5c: d9c00617 ldw r7,24(sp) bc60: 10000816 blt r2,zero,bc84 <__fixdfsi+0xbc> bc64: 3888d83a srl r4,r7,r2 bc68: d8800317 ldw r2,12(sp) bc6c: 2007883a mov r3,r4 bc70: 103fe226 beq r2,zero,bbfc <__fixdfsi+0x34> bc74: 0107c83a sub r3,zero,r4 bc78: 003fe006 br bbfc <__fixdfsi+0x34> bc7c: 00e00034 movhi r3,32768 bc80: 003fde06 br bbfc <__fixdfsi+0x34> bc84: 39c7883a add r3,r7,r7 bc88: 008007c4 movi r2,31 bc8c: 1205c83a sub r2,r2,r8 bc90: 1886983a sll r3,r3,r2 bc94: 3208d83a srl r4,r6,r8 bc98: 1908b03a or r4,r3,r4 bc9c: 003ff206 br bc68 <__fixdfsi+0xa0> 0000bca0 <__floatunsidf>: bca0: defff204 addi sp,sp,-56 bca4: dfc00d15 stw ra,52(sp) bca8: ddc00c15 stw r23,48(sp) bcac: dd800b15 stw r22,44(sp) bcb0: dd400a15 stw r21,40(sp) bcb4: dd000915 stw r20,36(sp) bcb8: dcc00815 stw r19,32(sp) bcbc: dc800715 stw r18,28(sp) bcc0: dc400615 stw r17,24(sp) bcc4: dc000515 stw r16,20(sp) bcc8: d8000115 stw zero,4(sp) bccc: 20000f1e bne r4,zero,bd0c <__floatunsidf+0x6c> bcd0: 00800084 movi r2,2 bcd4: d8800015 stw r2,0(sp) bcd8: d809883a mov r4,sp bcdc: 000bfd80 call bfd8 <__pack_d> bce0: dfc00d17 ldw ra,52(sp) bce4: ddc00c17 ldw r23,48(sp) bce8: dd800b17 ldw r22,44(sp) bcec: dd400a17 ldw r21,40(sp) bcf0: dd000917 ldw r20,36(sp) bcf4: dcc00817 ldw r19,32(sp) bcf8: dc800717 ldw r18,28(sp) bcfc: dc400617 ldw r17,24(sp) bd00: dc000517 ldw r16,20(sp) bd04: dec00e04 addi sp,sp,56 bd08: f800283a ret bd0c: 008000c4 movi r2,3 bd10: 00c00f04 movi r3,60 bd14: 002f883a mov r23,zero bd18: 202d883a mov r22,r4 bd1c: d8800015 stw r2,0(sp) bd20: d8c00215 stw r3,8(sp) bd24: d9000315 stw r4,12(sp) bd28: ddc00415 stw r23,16(sp) bd2c: 000bf580 call bf58 <__clzsi2> bd30: 12400744 addi r9,r2,29 bd34: 48000b16 blt r9,zero,bd64 <__floatunsidf+0xc4> bd38: 483fe726 beq r9,zero,bcd8 <__floatunsidf+0x38> bd3c: 10bfff44 addi r2,r2,-3 bd40: 10002e16 blt r2,zero,bdfc <__floatunsidf+0x15c> bd44: b0a2983a sll r17,r22,r2 bd48: 0021883a mov r16,zero bd4c: d8800217 ldw r2,8(sp) bd50: dc400415 stw r17,16(sp) bd54: dc000315 stw r16,12(sp) bd58: 1245c83a sub r2,r2,r9 bd5c: d8800215 stw r2,8(sp) bd60: 003fdd06 br bcd8 <__floatunsidf+0x38> bd64: 0255c83a sub r10,zero,r9 bd68: 51bff804 addi r6,r10,-32 bd6c: 30001b16 blt r6,zero,bddc <__floatunsidf+0x13c> bd70: b9a8d83a srl r20,r23,r6 bd74: 002b883a mov r21,zero bd78: 000f883a mov r7,zero bd7c: 01000044 movi r4,1 bd80: 0011883a mov r8,zero bd84: 30002516 blt r6,zero,be1c <__floatunsidf+0x17c> bd88: 21a6983a sll r19,r4,r6 bd8c: 0025883a mov r18,zero bd90: 00bfffc4 movi r2,-1 bd94: 9089883a add r4,r18,r2 bd98: 988b883a add r5,r19,r2 bd9c: 248d803a cmpltu r6,r4,r18 bda0: 314b883a add r5,r6,r5 bda4: b104703a and r2,r22,r4 bda8: b946703a and r3,r23,r5 bdac: 10c4b03a or r2,r2,r3 bdb0: 10000226 beq r2,zero,bdbc <__floatunsidf+0x11c> bdb4: 01c00044 movi r7,1 bdb8: 0011883a mov r8,zero bdbc: d9000217 ldw r4,8(sp) bdc0: a1c4b03a or r2,r20,r7 bdc4: aa06b03a or r3,r21,r8 bdc8: 2249c83a sub r4,r4,r9 bdcc: d8c00415 stw r3,16(sp) bdd0: d9000215 stw r4,8(sp) bdd4: d8800315 stw r2,12(sp) bdd8: 003fbf06 br bcd8 <__floatunsidf+0x38> bddc: bdc7883a add r3,r23,r23 bde0: 008007c4 movi r2,31 bde4: 1285c83a sub r2,r2,r10 bde8: 1886983a sll r3,r3,r2 bdec: b2a8d83a srl r20,r22,r10 bdf0: baaad83a srl r21,r23,r10 bdf4: 1d28b03a or r20,r3,r20 bdf8: 003fdf06 br bd78 <__floatunsidf+0xd8> bdfc: b006d07a srli r3,r22,1 be00: 008007c4 movi r2,31 be04: 1245c83a sub r2,r2,r9 be08: 1886d83a srl r3,r3,r2 be0c: ba62983a sll r17,r23,r9 be10: b260983a sll r16,r22,r9 be14: 1c62b03a or r17,r3,r17 be18: 003fcc06 br bd4c <__floatunsidf+0xac> be1c: 2006d07a srli r3,r4,1 be20: 008007c4 movi r2,31 be24: 1285c83a sub r2,r2,r10 be28: 18a6d83a srl r19,r3,r2 be2c: 22a4983a sll r18,r4,r10 be30: 003fd706 br bd90 <__floatunsidf+0xf0> 0000be34 <__muldi3>: be34: defff204 addi sp,sp,-56 be38: df000c15 stw fp,48(sp) be3c: 3038d43a srli fp,r6,16 be40: dd000815 stw r20,32(sp) be44: dc400515 stw r17,20(sp) be48: 2028d43a srli r20,r4,16 be4c: 247fffcc andi r17,r4,65535 be50: dc000415 stw r16,16(sp) be54: 343fffcc andi r16,r6,65535 be58: dcc00715 stw r19,28(sp) be5c: d9000015 stw r4,0(sp) be60: 2827883a mov r19,r5 be64: 8809883a mov r4,r17 be68: d9400115 stw r5,4(sp) be6c: 800b883a mov r5,r16 be70: d9800215 stw r6,8(sp) be74: dfc00d15 stw ra,52(sp) be78: d9c00315 stw r7,12(sp) be7c: dd800a15 stw r22,40(sp) be80: dd400915 stw r21,36(sp) be84: 302d883a mov r22,r6 be88: ddc00b15 stw r23,44(sp) be8c: dc800615 stw r18,24(sp) be90: 0002c240 call 2c24 <__mulsi3> be94: 8809883a mov r4,r17 be98: e00b883a mov r5,fp be9c: 102b883a mov r21,r2 bea0: 0002c240 call 2c24 <__mulsi3> bea4: 800b883a mov r5,r16 bea8: a009883a mov r4,r20 beac: 1023883a mov r17,r2 beb0: 0002c240 call 2c24 <__mulsi3> beb4: a009883a mov r4,r20 beb8: e00b883a mov r5,fp bebc: 1021883a mov r16,r2 bec0: 0002c240 call 2c24 <__mulsi3> bec4: a8ffffcc andi r3,r21,65535 bec8: a82ad43a srli r21,r21,16 becc: 8c23883a add r17,r17,r16 bed0: 1011883a mov r8,r2 bed4: ac6b883a add r21,r21,r17 bed8: a804943a slli r2,r21,16 bedc: b009883a mov r4,r22 bee0: 980b883a mov r5,r19 bee4: 10c7883a add r3,r2,r3 bee8: a812d43a srli r9,r21,16 beec: 180d883a mov r6,r3 bef0: ac00022e bgeu r21,r16,befc <__muldi3+0xc8> bef4: 00800074 movhi r2,1 bef8: 4091883a add r8,r8,r2 befc: 4267883a add r19,r8,r9 bf00: 302d883a mov r22,r6 bf04: 0002c240 call 2c24 <__mulsi3> bf08: d9400317 ldw r5,12(sp) bf0c: d9000017 ldw r4,0(sp) bf10: 1023883a mov r17,r2 bf14: 0002c240 call 2c24 <__mulsi3> bf18: 14cb883a add r5,r2,r19 bf1c: 894b883a add r5,r17,r5 bf20: b005883a mov r2,r22 bf24: 2807883a mov r3,r5 bf28: dfc00d17 ldw ra,52(sp) bf2c: df000c17 ldw fp,48(sp) bf30: ddc00b17 ldw r23,44(sp) bf34: dd800a17 ldw r22,40(sp) bf38: dd400917 ldw r21,36(sp) bf3c: dd000817 ldw r20,32(sp) bf40: dcc00717 ldw r19,28(sp) bf44: dc800617 ldw r18,24(sp) bf48: dc400517 ldw r17,20(sp) bf4c: dc000417 ldw r16,16(sp) bf50: dec00e04 addi sp,sp,56 bf54: f800283a ret 0000bf58 <__clzsi2>: bf58: 00bfffd4 movui r2,65535 bf5c: 11000e36 bltu r2,r4,bf98 <__clzsi2+0x40> bf60: 00803fc4 movi r2,255 bf64: 01400204 movi r5,8 bf68: 0007883a mov r3,zero bf6c: 11001036 bltu r2,r4,bfb0 <__clzsi2+0x58> bf70: 000b883a mov r5,zero bf74: 20c6d83a srl r3,r4,r3 bf78: 00800074 movhi r2,1 bf7c: 10815d04 addi r2,r2,1396 bf80: 1887883a add r3,r3,r2 bf84: 18800003 ldbu r2,0(r3) bf88: 00c00804 movi r3,32 bf8c: 2885883a add r2,r5,r2 bf90: 1885c83a sub r2,r3,r2 bf94: f800283a ret bf98: 01400404 movi r5,16 bf9c: 00804034 movhi r2,256 bfa0: 10bfffc4 addi r2,r2,-1 bfa4: 2807883a mov r3,r5 bfa8: 113ff22e bgeu r2,r4,bf74 <__clzsi2+0x1c> bfac: 01400604 movi r5,24 bfb0: 2807883a mov r3,r5 bfb4: 20c6d83a srl r3,r4,r3 bfb8: 00800074 movhi r2,1 bfbc: 10815d04 addi r2,r2,1396 bfc0: 1887883a add r3,r3,r2 bfc4: 18800003 ldbu r2,0(r3) bfc8: 00c00804 movi r3,32 bfcc: 2885883a add r2,r5,r2 bfd0: 1885c83a sub r2,r3,r2 bfd4: f800283a ret 0000bfd8 <__pack_d>: bfd8: 20c00017 ldw r3,0(r4) bfdc: defffd04 addi sp,sp,-12 bfe0: dc000015 stw r16,0(sp) bfe4: dc800215 stw r18,8(sp) bfe8: dc400115 stw r17,4(sp) bfec: 00800044 movi r2,1 bff0: 22000317 ldw r8,12(r4) bff4: 001f883a mov r15,zero bff8: 22400417 ldw r9,16(r4) bffc: 24000117 ldw r16,4(r4) c000: 10c0552e bgeu r2,r3,c158 <__pack_d+0x180> c004: 00800104 movi r2,4 c008: 18804f26 beq r3,r2,c148 <__pack_d+0x170> c00c: 00800084 movi r2,2 c010: 18800226 beq r3,r2,c01c <__pack_d+0x44> c014: 4244b03a or r2,r8,r9 c018: 10001a1e bne r2,zero,c084 <__pack_d+0xac> c01c: 000d883a mov r6,zero c020: 000f883a mov r7,zero c024: 0011883a mov r8,zero c028: 00800434 movhi r2,16 c02c: 10bfffc4 addi r2,r2,-1 c030: 301d883a mov r14,r6 c034: 3884703a and r2,r7,r2 c038: 400a953a slli r5,r8,20 c03c: 79bffc2c andhi r6,r15,65520 c040: 308cb03a or r6,r6,r2 c044: 00e00434 movhi r3,32784 c048: 18ffffc4 addi r3,r3,-1 c04c: 800497fa slli r2,r16,31 c050: 30c6703a and r3,r6,r3 c054: 1946b03a or r3,r3,r5 c058: 01600034 movhi r5,32768 c05c: 297fffc4 addi r5,r5,-1 c060: 194a703a and r5,r3,r5 c064: 288ab03a or r5,r5,r2 c068: 2807883a mov r3,r5 c06c: 7005883a mov r2,r14 c070: dc800217 ldw r18,8(sp) c074: dc400117 ldw r17,4(sp) c078: dc000017 ldw r16,0(sp) c07c: dec00304 addi sp,sp,12 c080: f800283a ret c084: 21000217 ldw r4,8(r4) c088: 00bf0084 movi r2,-1022 c08c: 20803f16 blt r4,r2,c18c <__pack_d+0x1b4> c090: 0080ffc4 movi r2,1023 c094: 11002c16 blt r2,r4,c148 <__pack_d+0x170> c098: 00803fc4 movi r2,255 c09c: 408c703a and r6,r8,r2 c0a0: 00802004 movi r2,128 c0a4: 0007883a mov r3,zero c0a8: 000f883a mov r7,zero c0ac: 2280ffc4 addi r10,r4,1023 c0b0: 30801e26 beq r6,r2,c12c <__pack_d+0x154> c0b4: 00801fc4 movi r2,127 c0b8: 4089883a add r4,r8,r2 c0bc: 220d803a cmpltu r6,r4,r8 c0c0: 324d883a add r6,r6,r9 c0c4: 2011883a mov r8,r4 c0c8: 3013883a mov r9,r6 c0cc: 00880034 movhi r2,8192 c0d0: 10bfffc4 addi r2,r2,-1 c0d4: 12400d36 bltu r2,r9,c10c <__pack_d+0x134> c0d8: 4804963a slli r2,r9,24 c0dc: 400cd23a srli r6,r8,8 c0e0: 480ed23a srli r7,r9,8 c0e4: 013fffc4 movi r4,-1 c0e8: 118cb03a or r6,r2,r6 c0ec: 01400434 movhi r5,16 c0f0: 297fffc4 addi r5,r5,-1 c0f4: 3104703a and r2,r6,r4 c0f8: 3946703a and r3,r7,r5 c0fc: 5201ffcc andi r8,r10,2047 c100: 100d883a mov r6,r2 c104: 180f883a mov r7,r3 c108: 003fc706 br c028 <__pack_d+0x50> c10c: 480897fa slli r4,r9,31 c110: 4004d07a srli r2,r8,1 c114: 4806d07a srli r3,r9,1 c118: 52800044 addi r10,r10,1 c11c: 2084b03a or r2,r4,r2 c120: 1011883a mov r8,r2 c124: 1813883a mov r9,r3 c128: 003feb06 br c0d8 <__pack_d+0x100> c12c: 383fe11e bne r7,zero,c0b4 <__pack_d+0xdc> c130: 01004004 movi r4,256 c134: 4104703a and r2,r8,r4 c138: 10c4b03a or r2,r2,r3 c13c: 103fe326 beq r2,zero,c0cc <__pack_d+0xf4> c140: 3005883a mov r2,r6 c144: 003fdc06 br c0b8 <__pack_d+0xe0> c148: 000d883a mov r6,zero c14c: 000f883a mov r7,zero c150: 0201ffc4 movi r8,2047 c154: 003fb406 br c028 <__pack_d+0x50> c158: 0005883a mov r2,zero c15c: 00c00234 movhi r3,8 c160: 408cb03a or r6,r8,r2 c164: 48ceb03a or r7,r9,r3 c168: 013fffc4 movi r4,-1 c16c: 01400434 movhi r5,16 c170: 297fffc4 addi r5,r5,-1 c174: 3104703a and r2,r6,r4 c178: 3946703a and r3,r7,r5 c17c: 100d883a mov r6,r2 c180: 180f883a mov r7,r3 c184: 0201ffc4 movi r8,2047 c188: 003fa706 br c028 <__pack_d+0x50> c18c: 1109c83a sub r4,r2,r4 c190: 00800e04 movi r2,56 c194: 11004316 blt r2,r4,c2a4 <__pack_d+0x2cc> c198: 21fff804 addi r7,r4,-32 c19c: 38004516 blt r7,zero,c2b4 <__pack_d+0x2dc> c1a0: 49d8d83a srl r12,r9,r7 c1a4: 001b883a mov r13,zero c1a8: 0023883a mov r17,zero c1ac: 01400044 movi r5,1 c1b0: 0025883a mov r18,zero c1b4: 38004716 blt r7,zero,c2d4 <__pack_d+0x2fc> c1b8: 29d6983a sll r11,r5,r7 c1bc: 0015883a mov r10,zero c1c0: 00bfffc4 movi r2,-1 c1c4: 5089883a add r4,r10,r2 c1c8: 588b883a add r5,r11,r2 c1cc: 228d803a cmpltu r6,r4,r10 c1d0: 314b883a add r5,r6,r5 c1d4: 4104703a and r2,r8,r4 c1d8: 4946703a and r3,r9,r5 c1dc: 10c4b03a or r2,r2,r3 c1e0: 10000226 beq r2,zero,c1ec <__pack_d+0x214> c1e4: 04400044 movi r17,1 c1e8: 0025883a mov r18,zero c1ec: 00803fc4 movi r2,255 c1f0: 644eb03a or r7,r12,r17 c1f4: 3892703a and r9,r7,r2 c1f8: 00802004 movi r2,128 c1fc: 6c90b03a or r8,r13,r18 c200: 0015883a mov r10,zero c204: 48801626 beq r9,r2,c260 <__pack_d+0x288> c208: 01001fc4 movi r4,127 c20c: 3905883a add r2,r7,r4 c210: 11cd803a cmpltu r6,r2,r7 c214: 320d883a add r6,r6,r8 c218: 100f883a mov r7,r2 c21c: 00840034 movhi r2,4096 c220: 10bfffc4 addi r2,r2,-1 c224: 3011883a mov r8,r6 c228: 0007883a mov r3,zero c22c: 11801b36 bltu r2,r6,c29c <__pack_d+0x2c4> c230: 4004963a slli r2,r8,24 c234: 3808d23a srli r4,r7,8 c238: 400ad23a srli r5,r8,8 c23c: 1813883a mov r9,r3 c240: 1108b03a or r4,r2,r4 c244: 00bfffc4 movi r2,-1 c248: 00c00434 movhi r3,16 c24c: 18ffffc4 addi r3,r3,-1 c250: 208c703a and r6,r4,r2 c254: 28ce703a and r7,r5,r3 c258: 4a01ffcc andi r8,r9,2047 c25c: 003f7206 br c028 <__pack_d+0x50> c260: 503fe91e bne r10,zero,c208 <__pack_d+0x230> c264: 01004004 movi r4,256 c268: 3904703a and r2,r7,r4 c26c: 0007883a mov r3,zero c270: 10c4b03a or r2,r2,r3 c274: 10000626 beq r2,zero,c290 <__pack_d+0x2b8> c278: 3a45883a add r2,r7,r9 c27c: 11cd803a cmpltu r6,r2,r7 c280: 320d883a add r6,r6,r8 c284: 100f883a mov r7,r2 c288: 3011883a mov r8,r6 c28c: 0007883a mov r3,zero c290: 00840034 movhi r2,4096 c294: 10bfffc4 addi r2,r2,-1 c298: 123fe52e bgeu r2,r8,c230 <__pack_d+0x258> c29c: 00c00044 movi r3,1 c2a0: 003fe306 br c230 <__pack_d+0x258> c2a4: 0009883a mov r4,zero c2a8: 0013883a mov r9,zero c2ac: 000b883a mov r5,zero c2b0: 003fe406 br c244 <__pack_d+0x26c> c2b4: 4a47883a add r3,r9,r9 c2b8: 008007c4 movi r2,31 c2bc: 1105c83a sub r2,r2,r4 c2c0: 1886983a sll r3,r3,r2 c2c4: 4118d83a srl r12,r8,r4 c2c8: 491ad83a srl r13,r9,r4 c2cc: 1b18b03a or r12,r3,r12 c2d0: 003fb506 br c1a8 <__pack_d+0x1d0> c2d4: 2806d07a srli r3,r5,1 c2d8: 008007c4 movi r2,31 c2dc: 1105c83a sub r2,r2,r4 c2e0: 1896d83a srl r11,r3,r2 c2e4: 2914983a sll r10,r5,r4 c2e8: 003fb506 br c1c0 <__pack_d+0x1e8> 0000c2ec <__unpack_d>: c2ec: 20c00117 ldw r3,4(r4) c2f0: 22400017 ldw r9,0(r4) c2f4: 00800434 movhi r2,16 c2f8: 10bfffc4 addi r2,r2,-1 c2fc: 1808d53a srli r4,r3,20 c300: 180cd7fa srli r6,r3,31 c304: 1894703a and r10,r3,r2 c308: 2201ffcc andi r8,r4,2047 c30c: 281b883a mov r13,r5 c310: 4817883a mov r11,r9 c314: 29800115 stw r6,4(r5) c318: 5019883a mov r12,r10 c31c: 40001e1e bne r8,zero,c398 <__unpack_d+0xac> c320: 4a84b03a or r2,r9,r10 c324: 10001926 beq r2,zero,c38c <__unpack_d+0xa0> c328: 4804d63a srli r2,r9,24 c32c: 500c923a slli r6,r10,8 c330: 013f0084 movi r4,-1022 c334: 00c40034 movhi r3,4096 c338: 18ffffc4 addi r3,r3,-1 c33c: 118cb03a or r6,r2,r6 c340: 008000c4 movi r2,3 c344: 480a923a slli r5,r9,8 c348: 68800015 stw r2,0(r13) c34c: 69000215 stw r4,8(r13) c350: 19800b36 bltu r3,r6,c380 <__unpack_d+0x94> c354: 200f883a mov r7,r4 c358: 1811883a mov r8,r3 c35c: 2945883a add r2,r5,r5 c360: 1149803a cmpltu r4,r2,r5 c364: 3187883a add r3,r6,r6 c368: 20c9883a add r4,r4,r3 c36c: 100b883a mov r5,r2 c370: 200d883a mov r6,r4 c374: 39ffffc4 addi r7,r7,-1 c378: 413ff82e bgeu r8,r4,c35c <__unpack_d+0x70> c37c: 69c00215 stw r7,8(r13) c380: 69800415 stw r6,16(r13) c384: 69400315 stw r5,12(r13) c388: f800283a ret c38c: 00800084 movi r2,2 c390: 28800015 stw r2,0(r5) c394: f800283a ret c398: 0081ffc4 movi r2,2047 c39c: 40800f26 beq r8,r2,c3dc <__unpack_d+0xf0> c3a0: 480cd63a srli r6,r9,24 c3a4: 5006923a slli r3,r10,8 c3a8: 4804923a slli r2,r9,8 c3ac: 0009883a mov r4,zero c3b0: 30c6b03a or r3,r6,r3 c3b4: 01440034 movhi r5,4096 c3b8: 110cb03a or r6,r2,r4 c3bc: 423f0044 addi r8,r8,-1023 c3c0: 194eb03a or r7,r3,r5 c3c4: 008000c4 movi r2,3 c3c8: 69c00415 stw r7,16(r13) c3cc: 6a000215 stw r8,8(r13) c3d0: 68800015 stw r2,0(r13) c3d4: 69800315 stw r6,12(r13) c3d8: f800283a ret c3dc: 4a84b03a or r2,r9,r10 c3e0: 1000031e bne r2,zero,c3f0 <__unpack_d+0x104> c3e4: 00800104 movi r2,4 c3e8: 28800015 stw r2,0(r5) c3ec: f800283a ret c3f0: 0009883a mov r4,zero c3f4: 01400234 movhi r5,8 c3f8: 4904703a and r2,r9,r4 c3fc: 5146703a and r3,r10,r5 c400: 10c4b03a or r2,r2,r3 c404: 10000526 beq r2,zero,c41c <__unpack_d+0x130> c408: 00800044 movi r2,1 c40c: 68800015 stw r2,0(r13) c410: 6b000415 stw r12,16(r13) c414: 6ac00315 stw r11,12(r13) c418: f800283a ret c41c: 68000015 stw zero,0(r13) c420: 003ffb06 br c410 <__unpack_d+0x124> 0000c424 <__fpcmp_parts_d>: c424: 21800017 ldw r6,0(r4) c428: 00c00044 movi r3,1 c42c: 19800a2e bgeu r3,r6,c458 <__fpcmp_parts_d+0x34> c430: 28800017 ldw r2,0(r5) c434: 1880082e bgeu r3,r2,c458 <__fpcmp_parts_d+0x34> c438: 00c00104 movi r3,4 c43c: 30c02626 beq r6,r3,c4d8 <__fpcmp_parts_d+0xb4> c440: 10c02226 beq r2,r3,c4cc <__fpcmp_parts_d+0xa8> c444: 00c00084 movi r3,2 c448: 30c00526 beq r6,r3,c460 <__fpcmp_parts_d+0x3c> c44c: 10c0071e bne r2,r3,c46c <__fpcmp_parts_d+0x48> c450: 20800117 ldw r2,4(r4) c454: 1000091e bne r2,zero,c47c <__fpcmp_parts_d+0x58> c458: 00800044 movi r2,1 c45c: f800283a ret c460: 10c01a1e bne r2,r3,c4cc <__fpcmp_parts_d+0xa8> c464: 0005883a mov r2,zero c468: f800283a ret c46c: 22000117 ldw r8,4(r4) c470: 28800117 ldw r2,4(r5) c474: 40800326 beq r8,r2,c484 <__fpcmp_parts_d+0x60> c478: 403ff726 beq r8,zero,c458 <__fpcmp_parts_d+0x34> c47c: 00bfffc4 movi r2,-1 c480: f800283a ret c484: 20c00217 ldw r3,8(r4) c488: 28800217 ldw r2,8(r5) c48c: 10fffa16 blt r2,r3,c478 <__fpcmp_parts_d+0x54> c490: 18800916 blt r3,r2,c4b8 <__fpcmp_parts_d+0x94> c494: 21c00417 ldw r7,16(r4) c498: 28c00417 ldw r3,16(r5) c49c: 21800317 ldw r6,12(r4) c4a0: 28800317 ldw r2,12(r5) c4a4: 19fff436 bltu r3,r7,c478 <__fpcmp_parts_d+0x54> c4a8: 38c00526 beq r7,r3,c4c0 <__fpcmp_parts_d+0x9c> c4ac: 38c00236 bltu r7,r3,c4b8 <__fpcmp_parts_d+0x94> c4b0: 19ffec1e bne r3,r7,c464 <__fpcmp_parts_d+0x40> c4b4: 30bfeb2e bgeu r6,r2,c464 <__fpcmp_parts_d+0x40> c4b8: 403fe71e bne r8,zero,c458 <__fpcmp_parts_d+0x34> c4bc: 003fef06 br c47c <__fpcmp_parts_d+0x58> c4c0: 11bffa2e bgeu r2,r6,c4ac <__fpcmp_parts_d+0x88> c4c4: 403fe426 beq r8,zero,c458 <__fpcmp_parts_d+0x34> c4c8: 003fec06 br c47c <__fpcmp_parts_d+0x58> c4cc: 28800117 ldw r2,4(r5) c4d0: 103fe11e bne r2,zero,c458 <__fpcmp_parts_d+0x34> c4d4: 003fe906 br c47c <__fpcmp_parts_d+0x58> c4d8: 11bfdd1e bne r2,r6,c450 <__fpcmp_parts_d+0x2c> c4dc: 28c00117 ldw r3,4(r5) c4e0: 20800117 ldw r2,4(r4) c4e4: 1885c83a sub r2,r3,r2 c4e8: f800283a ret 0000c4ec <close>: * * ALT_CLOSE is mapped onto the close() system call in alt_syscall.h */ int ALT_CLOSE (int fildes) { c4ec: defff804 addi sp,sp,-32 c4f0: dfc00715 stw ra,28(sp) c4f4: df000615 stw fp,24(sp) c4f8: df000604 addi fp,sp,24 c4fc: e13ffc15 stw r4,-16(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (fildes < 0) ? NULL : &alt_fd_list[fildes]; c500: e0bffc17 ldw r2,-16(fp) c504: 1004803a cmplt r2,r2,zero c508: 1000091e bne r2,zero,c530 <close+0x44> c50c: e13ffc17 ldw r4,-16(fp) c510: 01400304 movi r5,12 c514: 0002c240 call 2c24 <__mulsi3> c518: 1007883a mov r3,r2 c51c: 00800074 movhi r2,1 c520: 1083bc04 addi r2,r2,3824 c524: 1887883a add r3,r3,r2 c528: e0ffff15 stw r3,-4(fp) c52c: 00000106 br c534 <close+0x48> c530: e03fff15 stw zero,-4(fp) c534: e0bfff17 ldw r2,-4(fp) c538: e0bffb15 stw r2,-20(fp) if (fd) c53c: e0bffb17 ldw r2,-20(fp) c540: 1005003a cmpeq r2,r2,zero c544: 10001d1e bne r2,zero,c5bc <close+0xd0> /* * If the associated file system/device has a close function, call it so * that any necessary cleanup code can run. */ rval = (fd->dev->close) ? fd->dev->close(fd) : 0; c548: e0bffb17 ldw r2,-20(fp) c54c: 10800017 ldw r2,0(r2) c550: 10800417 ldw r2,16(r2) c554: 1005003a cmpeq r2,r2,zero c558: 1000071e bne r2,zero,c578 <close+0x8c> c55c: e0bffb17 ldw r2,-20(fp) c560: 10800017 ldw r2,0(r2) c564: 10800417 ldw r2,16(r2) c568: e13ffb17 ldw r4,-20(fp) c56c: 103ee83a callr r2 c570: e0bffe15 stw r2,-8(fp) c574: 00000106 br c57c <close+0x90> c578: e03ffe15 stw zero,-8(fp) c57c: e0bffe17 ldw r2,-8(fp) c580: e0bffa15 stw r2,-24(fp) /* Free the file descriptor structure and return. */ alt_release_fd (fildes); c584: e13ffc17 ldw r4,-16(fp) c588: 000cd440 call cd44 <alt_release_fd> if (rval < 0) c58c: e0bffa17 ldw r2,-24(fp) c590: 1004403a cmpge r2,r2,zero c594: 1000071e bne r2,zero,c5b4 <close+0xc8> { ALT_ERRNO = -rval; c598: 000c5ec0 call c5ec <alt_get_errno> c59c: e0fffa17 ldw r3,-24(fp) c5a0: 00c7c83a sub r3,zero,r3 c5a4: 10c00015 stw r3,0(r2) return -1; c5a8: 00bfffc4 movi r2,-1 c5ac: e0bffd15 stw r2,-12(fp) c5b0: 00000806 br c5d4 <close+0xe8> } return 0; c5b4: e03ffd15 stw zero,-12(fp) c5b8: 00000606 br c5d4 <close+0xe8> } else { ALT_ERRNO = EBADFD; c5bc: 000c5ec0 call c5ec <alt_get_errno> c5c0: 1007883a mov r3,r2 c5c4: 00801444 movi r2,81 c5c8: 18800015 stw r2,0(r3) return -1; c5cc: 00bfffc4 movi r2,-1 c5d0: e0bffd15 stw r2,-12(fp) c5d4: e0bffd17 ldw r2,-12(fp) } } c5d8: e037883a mov sp,fp c5dc: dfc00117 ldw ra,4(sp) c5e0: df000017 ldw fp,0(sp) c5e4: dec00204 addi sp,sp,8 c5e8: f800283a ret 0000c5ec <alt_get_errno>: #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { c5ec: defffd04 addi sp,sp,-12 c5f0: dfc00215 stw ra,8(sp) c5f4: df000115 stw fp,4(sp) c5f8: df000104 addi fp,sp,4 return ((alt_errno) ? alt_errno() : &errno); c5fc: 00800074 movhi r2,1 c600: 10888904 addi r2,r2,8740 c604: 10800017 ldw r2,0(r2) c608: 1005003a cmpeq r2,r2,zero c60c: 1000061e bne r2,zero,c628 <alt_get_errno+0x3c> c610: 00800074 movhi r2,1 c614: 10888904 addi r2,r2,8740 c618: 10800017 ldw r2,0(r2) c61c: 103ee83a callr r2 c620: e0bfff15 stw r2,-4(fp) c624: 00000306 br c634 <alt_get_errno+0x48> c628: 00800074 movhi r2,1 c62c: 108f7c04 addi r2,r2,15856 c630: e0bfff15 stw r2,-4(fp) c634: e0bfff17 ldw r2,-4(fp) } c638: e037883a mov sp,fp c63c: dfc00117 ldw ra,4(sp) c640: df000017 ldw fp,0(sp) c644: dec00204 addi sp,sp,8 c648: f800283a ret 0000c64c <alt_dev_null_write>: * by the alt_dev_null device. It simple discards all data passed to it, and * indicates that the data has been successfully transmitted. */ static int alt_dev_null_write (alt_fd* fd, const char* ptr, int len) { c64c: defffc04 addi sp,sp,-16 c650: df000315 stw fp,12(sp) c654: df000304 addi fp,sp,12 c658: e13ffd15 stw r4,-12(fp) c65c: e17ffe15 stw r5,-8(fp) c660: e1bfff15 stw r6,-4(fp) return len; c664: e0bfff17 ldw r2,-4(fp) } c668: e037883a mov sp,fp c66c: df000017 ldw fp,0(sp) c670: dec00104 addi sp,sp,4 c674: f800283a ret 0000c678 <fstat>: } #else /* !ALT_USE_DIRECT_DRIVERS */ int ALT_FSTAT (int file, struct stat *st) { c678: defff904 addi sp,sp,-28 c67c: dfc00615 stw ra,24(sp) c680: df000515 stw fp,20(sp) c684: df000504 addi fp,sp,20 c688: e13ffc15 stw r4,-16(fp) c68c: e17ffd15 stw r5,-12(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; c690: e0bffc17 ldw r2,-16(fp) c694: 1004803a cmplt r2,r2,zero c698: 1000091e bne r2,zero,c6c0 <fstat+0x48> c69c: e13ffc17 ldw r4,-16(fp) c6a0: 01400304 movi r5,12 c6a4: 0002c240 call 2c24 <__mulsi3> c6a8: 1007883a mov r3,r2 c6ac: 00800074 movhi r2,1 c6b0: 1083bc04 addi r2,r2,3824 c6b4: 1887883a add r3,r3,r2 c6b8: e0ffff15 stw r3,-4(fp) c6bc: 00000106 br c6c4 <fstat+0x4c> c6c0: e03fff15 stw zero,-4(fp) c6c4: e0bfff17 ldw r2,-4(fp) c6c8: e0bffb15 stw r2,-20(fp) if (fd) c6cc: e0bffb17 ldw r2,-20(fp) c6d0: 1005003a cmpeq r2,r2,zero c6d4: 1000121e bne r2,zero,c720 <fstat+0xa8> { /* Call the drivers fstat() function to fill out the "st" structure. */ if (fd->dev->fstat) c6d8: e0bffb17 ldw r2,-20(fp) c6dc: 10800017 ldw r2,0(r2) c6e0: 10800817 ldw r2,32(r2) c6e4: 1005003a cmpeq r2,r2,zero c6e8: 1000081e bne r2,zero,c70c <fstat+0x94> { return fd->dev->fstat(fd, st); c6ec: e0bffb17 ldw r2,-20(fp) c6f0: 10800017 ldw r2,0(r2) c6f4: 10800817 ldw r2,32(r2) c6f8: e13ffb17 ldw r4,-20(fp) c6fc: e17ffd17 ldw r5,-12(fp) c700: 103ee83a callr r2 c704: e0bffe15 stw r2,-8(fp) c708: 00000b06 br c738 <fstat+0xc0> * device. */ else { st->st_mode = _IFCHR; c70c: e0fffd17 ldw r3,-12(fp) c710: 00880004 movi r2,8192 c714: 18800115 stw r2,4(r3) return 0; c718: e03ffe15 stw zero,-8(fp) c71c: 00000606 br c738 <fstat+0xc0> } } else { ALT_ERRNO = EBADFD; c720: 000c7500 call c750 <alt_get_errno> c724: 1007883a mov r3,r2 c728: 00801444 movi r2,81 c72c: 18800015 stw r2,0(r3) return -1; c730: 00bfffc4 movi r2,-1 c734: e0bffe15 stw r2,-8(fp) c738: e0bffe17 ldw r2,-8(fp) } } c73c: e037883a mov sp,fp c740: dfc00117 ldw ra,4(sp) c744: df000017 ldw fp,0(sp) c748: dec00204 addi sp,sp,8 c74c: f800283a ret 0000c750 <alt_get_errno>: #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { c750: defffd04 addi sp,sp,-12 c754: dfc00215 stw ra,8(sp) c758: df000115 stw fp,4(sp) c75c: df000104 addi fp,sp,4 return ((alt_errno) ? alt_errno() : &errno); c760: 00800074 movhi r2,1 c764: 10888904 addi r2,r2,8740 c768: 10800017 ldw r2,0(r2) c76c: 1005003a cmpeq r2,r2,zero c770: 1000061e bne r2,zero,c78c <alt_get_errno+0x3c> c774: 00800074 movhi r2,1 c778: 10888904 addi r2,r2,8740 c77c: 10800017 ldw r2,0(r2) c780: 103ee83a callr r2 c784: e0bfff15 stw r2,-4(fp) c788: 00000306 br c798 <alt_get_errno+0x48> c78c: 00800074 movhi r2,1 c790: 108f7c04 addi r2,r2,15856 c794: e0bfff15 stw r2,-4(fp) c798: e0bfff17 ldw r2,-4(fp) } c79c: e037883a mov sp,fp c7a0: dfc00117 ldw ra,4(sp) c7a4: df000017 ldw fp,0(sp) c7a8: dec00204 addi sp,sp,8 c7ac: f800283a ret 0000c7b0 <isatty>: * * ALT_ISATTY is mapped onto the isatty() system call in alt_syscall.h */ int ALT_ISATTY (int file) { c7b0: deffeb04 addi sp,sp,-84 c7b4: dfc01415 stw ra,80(sp) c7b8: df001315 stw fp,76(sp) c7bc: df001304 addi fp,sp,76 c7c0: e13ffd15 stw r4,-12(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; c7c4: e0bffd17 ldw r2,-12(fp) c7c8: 1004803a cmplt r2,r2,zero c7cc: 1000091e bne r2,zero,c7f4 <isatty+0x44> c7d0: e13ffd17 ldw r4,-12(fp) c7d4: 01400304 movi r5,12 c7d8: 0002c240 call 2c24 <__mulsi3> c7dc: 1007883a mov r3,r2 c7e0: 00800074 movhi r2,1 c7e4: 1083bc04 addi r2,r2,3824 c7e8: 1887883a add r3,r3,r2 c7ec: e0ffff15 stw r3,-4(fp) c7f0: 00000106 br c7f8 <isatty+0x48> c7f4: e03fff15 stw zero,-4(fp) c7f8: e0bfff17 ldw r2,-4(fp) c7fc: e0bfed15 stw r2,-76(fp) if (fd) c800: e0bfed17 ldw r2,-76(fp) c804: 1005003a cmpeq r2,r2,zero c808: 10000f1e bne r2,zero,c848 <isatty+0x98> /* * If a device driver does not provide an fstat() function, then it is * treated as a terminal device by default. */ if (!fd->dev->fstat) c80c: e0bfed17 ldw r2,-76(fp) c810: 10800017 ldw r2,0(r2) c814: 10800817 ldw r2,32(r2) c818: 1004c03a cmpne r2,r2,zero c81c: 1000031e bne r2,zero,c82c <isatty+0x7c> { return 1; c820: 00800044 movi r2,1 c824: e0bffe15 stw r2,-8(fp) c828: 00000c06 br c85c <isatty+0xac> * this is called so that the device can identify itself. */ else { fstat (file, &stat); c82c: e17fee04 addi r5,fp,-72 c830: e13ffd17 ldw r4,-12(fp) c834: 000c6780 call c678 <fstat> return (stat.st_mode == _IFCHR) ? 1 : 0; c838: e0bfef17 ldw r2,-68(fp) c83c: 10880020 cmpeqi r2,r2,8192 c840: e0bffe15 stw r2,-8(fp) c844: 00000506 br c85c <isatty+0xac> } } else { ALT_ERRNO = EBADFD; c848: 000c8740 call c874 <alt_get_errno> c84c: 1007883a mov r3,r2 c850: 00801444 movi r2,81 c854: 18800015 stw r2,0(r3) return 0; c858: e03ffe15 stw zero,-8(fp) c85c: e0bffe17 ldw r2,-8(fp) } } c860: e037883a mov sp,fp c864: dfc00117 ldw ra,4(sp) c868: df000017 ldw fp,0(sp) c86c: dec00204 addi sp,sp,8 c870: f800283a ret 0000c874 <alt_get_errno>: #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { c874: defffd04 addi sp,sp,-12 c878: dfc00215 stw ra,8(sp) c87c: df000115 stw fp,4(sp) c880: df000104 addi fp,sp,4 return ((alt_errno) ? alt_errno() : &errno); c884: 00800074 movhi r2,1 c888: 10888904 addi r2,r2,8740 c88c: 10800017 ldw r2,0(r2) c890: 1005003a cmpeq r2,r2,zero c894: 1000061e bne r2,zero,c8b0 <alt_get_errno+0x3c> c898: 00800074 movhi r2,1 c89c: 10888904 addi r2,r2,8740 c8a0: 10800017 ldw r2,0(r2) c8a4: 103ee83a callr r2 c8a8: e0bfff15 stw r2,-4(fp) c8ac: 00000306 br c8bc <alt_get_errno+0x48> c8b0: 00800074 movhi r2,1 c8b4: 108f7c04 addi r2,r2,15856 c8b8: e0bfff15 stw r2,-4(fp) c8bc: e0bfff17 ldw r2,-4(fp) } c8c0: e037883a mov sp,fp c8c4: dfc00117 ldw ra,4(sp) c8c8: df000017 ldw fp,0(sp) c8cc: dec00204 addi sp,sp,8 c8d0: f800283a ret 0000c8d4 <alt_load>: * there is no bootloader, so this application is responsible for loading to * RAM any sections that are required. */ void alt_load (void) { c8d4: defffe04 addi sp,sp,-8 c8d8: dfc00115 stw ra,4(sp) c8dc: df000015 stw fp,0(sp) c8e0: d839883a mov fp,sp /* * Copy the .rwdata section. */ alt_load_section (&__flash_rwdata_start, c8e4: 01000074 movhi r4,1 c8e8: 21088f04 addi r4,r4,8764 c8ec: 01400074 movhi r5,1 c8f0: 2941ad04 addi r5,r5,1716 c8f4: 01800074 movhi r6,1 c8f8: 31888f04 addi r6,r6,8764 c8fc: 000c9540 call c954 <alt_load_section> /* * Copy the exception handler. */ alt_load_section (&__flash_exceptions_start, c900: 01000034 movhi r4,0 c904: 21000804 addi r4,r4,32 c908: 01400034 movhi r5,0 c90c: 29400804 addi r5,r5,32 c910: 01800034 movhi r6,0 c914: 31806d04 addi r6,r6,436 c918: 000c9540 call c954 <alt_load_section> /* * Copy the .rodata section. */ alt_load_section (&__flash_rodata_start, c91c: 01000074 movhi r4,1 c920: 213fe404 addi r4,r4,-112 c924: 01400074 movhi r5,1 c928: 297fe404 addi r5,r5,-112 c92c: 01800074 movhi r6,1 c930: 3181ad04 addi r6,r6,1716 c934: 000c9540 call c954 <alt_load_section> /* * Now ensure that the caches are in synch. */ alt_dcache_flush_all(); c938: 000ee280 call ee28 <alt_dcache_flush_all> alt_icache_flush_all(); c93c: 000f0200 call f020 <alt_icache_flush_all> } c940: e037883a mov sp,fp c944: dfc00117 ldw ra,4(sp) c948: df000017 ldw fp,0(sp) c94c: dec00204 addi sp,sp,8 c950: f800283a ret 0000c954 <alt_load_section>: */ static void ALT_INLINE alt_load_section (alt_u32* from, alt_u32* to, alt_u32* end) { c954: defffc04 addi sp,sp,-16 c958: df000315 stw fp,12(sp) c95c: df000304 addi fp,sp,12 c960: e13ffd15 stw r4,-12(fp) c964: e17ffe15 stw r5,-8(fp) c968: e1bfff15 stw r6,-4(fp) if (to != from) c96c: e0fffe17 ldw r3,-8(fp) c970: e0bffd17 ldw r2,-12(fp) c974: 18800e26 beq r3,r2,c9b0 <alt_load_section+0x5c> { while( to != end ) c978: 00000a06 br c9a4 <alt_load_section+0x50> { *to++ = *from++; c97c: e0bffd17 ldw r2,-12(fp) c980: 10c00017 ldw r3,0(r2) c984: e0bffe17 ldw r2,-8(fp) c988: 10c00015 stw r3,0(r2) c98c: e0bffe17 ldw r2,-8(fp) c990: 10800104 addi r2,r2,4 c994: e0bffe15 stw r2,-8(fp) c998: e0bffd17 ldw r2,-12(fp) c99c: 10800104 addi r2,r2,4 c9a0: e0bffd15 stw r2,-12(fp) alt_u32* to, alt_u32* end) { if (to != from) { while( to != end ) c9a4: e0fffe17 ldw r3,-8(fp) c9a8: e0bfff17 ldw r2,-4(fp) c9ac: 18bff31e bne r3,r2,c97c <alt_load_section+0x28> { *to++ = *from++; } } } c9b0: e037883a mov sp,fp c9b4: df000017 ldw fp,0(sp) c9b8: dec00104 addi sp,sp,4 c9bc: f800283a ret 0000c9c0 <lseek>: * ALT_LSEEK is mapped onto the lseek() system call in alt_syscall.h * */ off_t ALT_LSEEK (int file, off_t ptr, int dir) { c9c0: defff804 addi sp,sp,-32 c9c4: dfc00715 stw ra,28(sp) c9c8: df000615 stw fp,24(sp) c9cc: df000604 addi fp,sp,24 c9d0: e13ffc15 stw r4,-16(fp) c9d4: e17ffd15 stw r5,-12(fp) c9d8: e1bffe15 stw r6,-8(fp) alt_fd* fd; off_t rc = 0; c9dc: e03ffa15 stw zero,-24(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; c9e0: e0bffc17 ldw r2,-16(fp) c9e4: 1004803a cmplt r2,r2,zero c9e8: 1000091e bne r2,zero,ca10 <lseek+0x50> c9ec: e13ffc17 ldw r4,-16(fp) c9f0: 01400304 movi r5,12 c9f4: 0002c240 call 2c24 <__mulsi3> c9f8: 1007883a mov r3,r2 c9fc: 00800074 movhi r2,1 ca00: 1083bc04 addi r2,r2,3824 ca04: 1887883a add r3,r3,r2 ca08: e0ffff15 stw r3,-4(fp) ca0c: 00000106 br ca14 <lseek+0x54> ca10: e03fff15 stw zero,-4(fp) ca14: e0bfff17 ldw r2,-4(fp) ca18: e0bffb15 stw r2,-20(fp) if (fd) ca1c: e0bffb17 ldw r2,-20(fp) ca20: 1005003a cmpeq r2,r2,zero ca24: 1000111e bne r2,zero,ca6c <lseek+0xac> /* * If the device driver provides an implementation of the lseek() function, * then call that to process the request. */ if (fd->dev->lseek) ca28: e0bffb17 ldw r2,-20(fp) ca2c: 10800017 ldw r2,0(r2) ca30: 10800717 ldw r2,28(r2) ca34: 1005003a cmpeq r2,r2,zero ca38: 1000091e bne r2,zero,ca60 <lseek+0xa0> { rc = fd->dev->lseek(fd, ptr, dir); ca3c: e0bffb17 ldw r2,-20(fp) ca40: 10800017 ldw r2,0(r2) ca44: 10800717 ldw r2,28(r2) ca48: e13ffb17 ldw r4,-20(fp) ca4c: e17ffd17 ldw r5,-12(fp) ca50: e1bffe17 ldw r6,-8(fp) ca54: 103ee83a callr r2 ca58: e0bffa15 stw r2,-24(fp) ca5c: 00000506 br ca74 <lseek+0xb4> * Otherwise return an error. */ else { rc = -ENOTSUP; ca60: 00bfde84 movi r2,-134 ca64: e0bffa15 stw r2,-24(fp) ca68: 00000206 br ca74 <lseek+0xb4> } } else { rc = -EBADFD; ca6c: 00bfebc4 movi r2,-81 ca70: e0bffa15 stw r2,-24(fp) } if (rc < 0) ca74: e0bffa17 ldw r2,-24(fp) ca78: 1004403a cmpge r2,r2,zero ca7c: 1000071e bne r2,zero,ca9c <lseek+0xdc> { ALT_ERRNO = -rc; ca80: 000cab40 call cab4 <alt_get_errno> ca84: 1007883a mov r3,r2 ca88: e0bffa17 ldw r2,-24(fp) ca8c: 0085c83a sub r2,zero,r2 ca90: 18800015 stw r2,0(r3) rc = -1; ca94: 00bfffc4 movi r2,-1 ca98: e0bffa15 stw r2,-24(fp) } return rc; ca9c: e0bffa17 ldw r2,-24(fp) } caa0: e037883a mov sp,fp caa4: dfc00117 ldw ra,4(sp) caa8: df000017 ldw fp,0(sp) caac: dec00204 addi sp,sp,8 cab0: f800283a ret 0000cab4 <alt_get_errno>: #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { cab4: defffd04 addi sp,sp,-12 cab8: dfc00215 stw ra,8(sp) cabc: df000115 stw fp,4(sp) cac0: df000104 addi fp,sp,4 return ((alt_errno) ? alt_errno() : &errno); cac4: 00800074 movhi r2,1 cac8: 10888904 addi r2,r2,8740 cacc: 10800017 ldw r2,0(r2) cad0: 1005003a cmpeq r2,r2,zero cad4: 1000061e bne r2,zero,caf0 <alt_get_errno+0x3c> cad8: 00800074 movhi r2,1 cadc: 10888904 addi r2,r2,8740 cae0: 10800017 ldw r2,0(r2) cae4: 103ee83a callr r2 cae8: e0bfff15 stw r2,-4(fp) caec: 00000306 br cafc <alt_get_errno+0x48> caf0: 00800074 movhi r2,1 caf4: 108f7c04 addi r2,r2,15856 caf8: e0bfff15 stw r2,-4(fp) cafc: e0bfff17 ldw r2,-4(fp) } cb00: e037883a mov sp,fp cb04: dfc00117 ldw ra,4(sp) cb08: df000017 ldw fp,0(sp) cb0c: dec00204 addi sp,sp,8 cb10: f800283a ret 0000cb14 <alt_main>: * devices/filesystems/components in the system; and call the entry point for * the users application, i.e. main(). */ void alt_main (void) { cb14: defffd04 addi sp,sp,-12 cb18: dfc00215 stw ra,8(sp) cb1c: df000115 stw fp,4(sp) cb20: df000104 addi fp,sp,4 #endif /* ALT LOG - please see HAL/sys/alt_log_printf.h for details */ ALT_LOG_PRINT_BOOT("[alt_main.c] Entering alt_main, calling alt_irq_init.\r\n"); /* Initialize the interrupt controller. */ alt_irq_init (NULL); cb24: 0009883a mov r4,zero cb28: 000d02c0 call d02c <alt_irq_init> ALT_LOG_PRINT_BOOT("[alt_main.c] Done OS Init, calling alt_sem_create.\r\n"); ALT_SEM_CREATE (&alt_fd_list_lock, 1); /* Initialize the device drivers/software components. */ ALT_LOG_PRINT_BOOT("[alt_main.c] Calling alt_sys_init.\r\n"); alt_sys_init(); cb2c: 000d0600 call d060 <alt_sys_init> * devices be present (not equal to /dev/null) and if direct drivers * aren't being used. */ ALT_LOG_PRINT_BOOT("[alt_main.c] Redirecting IO.\r\n"); alt_io_redirect(ALT_STDOUT, ALT_STDIN, ALT_STDERR); cb30: 01000074 movhi r4,1 cb34: 2101a004 addi r4,r4,1664 cb38: 01400074 movhi r5,1 cb3c: 2941a004 addi r5,r5,1664 cb40: 01800074 movhi r6,1 cb44: 3181a004 addi r6,r6,1664 cb48: 000f3e00 call f3e0 <alt_io_redirect> /* * Call the C++ constructors */ ALT_LOG_PRINT_BOOT("[alt_main.c] Calling C++ constructors.\r\n"); _do_ctors (); cb4c: 000ef580 call ef58 <_do_ctors> * redefined as _exit()). This is in the interest of reducing code footprint, * in that the atexit() overhead is removed when it's not needed. */ ALT_LOG_PRINT_BOOT("[alt_main.c] Calling atexit.\r\n"); atexit (_do_dtors); cb50: 01000074 movhi r4,1 cb54: 213bef04 addi r4,r4,-4164 cb58: 000fb840 call fb84 <atexit> ALT_LOG_PRINT_BOOT("[alt_main.c] Calling main.\r\n"); #ifdef ALT_NO_EXIT main (alt_argc, alt_argv, alt_envp); #else result = main (alt_argc, alt_argv, alt_envp); cb5c: d1270117 ldw r4,-25596(gp) cb60: d1670217 ldw r5,-25592(gp) cb64: d1a70317 ldw r6,-25588(gp) cb68: 00009000 call 900 <main> cb6c: e0bfff15 stw r2,-4(fp) close(STDOUT_FILENO); cb70: 01000044 movi r4,1 cb74: 000c4ec0 call c4ec <close> exit (result); cb78: e13fff17 ldw r4,-4(fp) cb7c: 000fb980 call fb98 <exit> 0000cb80 <__malloc_lock>: * configuration is single threaded, so there is nothing to do here. Note that * this requires that malloc is never called by an interrupt service routine. */ void __malloc_lock ( struct _reent *_r ) { cb80: defffe04 addi sp,sp,-8 cb84: df000115 stw fp,4(sp) cb88: df000104 addi fp,sp,4 cb8c: e13fff15 stw r4,-4(fp) } cb90: e037883a mov sp,fp cb94: df000017 ldw fp,0(sp) cb98: dec00104 addi sp,sp,4 cb9c: f800283a ret 0000cba0 <__malloc_unlock>: /* * */ void __malloc_unlock ( struct _reent *_r ) { cba0: defffe04 addi sp,sp,-8 cba4: df000115 stw fp,4(sp) cba8: df000104 addi fp,sp,4 cbac: e13fff15 stw r4,-4(fp) } cbb0: e037883a mov sp,fp cbb4: df000017 ldw fp,0(sp) cbb8: dec00104 addi sp,sp,4 cbbc: f800283a ret 0000cbc0 <read>: } #else /* !ALT_USE_DIRECT_DRIVERS */ int ALT_READ (int file, void *ptr, size_t len) { cbc0: defff704 addi sp,sp,-36 cbc4: dfc00815 stw ra,32(sp) cbc8: df000715 stw fp,28(sp) cbcc: df000704 addi fp,sp,28 cbd0: e13ffb15 stw r4,-20(fp) cbd4: e17ffc15 stw r5,-16(fp) cbd8: e1bffd15 stw r6,-12(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; cbdc: e0bffb17 ldw r2,-20(fp) cbe0: 1004803a cmplt r2,r2,zero cbe4: 1000091e bne r2,zero,cc0c <read+0x4c> cbe8: e13ffb17 ldw r4,-20(fp) cbec: 01400304 movi r5,12 cbf0: 0002c240 call 2c24 <__mulsi3> cbf4: 1007883a mov r3,r2 cbf8: 00800074 movhi r2,1 cbfc: 1083bc04 addi r2,r2,3824 cc00: 1887883a add r3,r3,r2 cc04: e0ffff15 stw r3,-4(fp) cc08: 00000106 br cc10 <read+0x50> cc0c: e03fff15 stw zero,-4(fp) cc10: e0bfff17 ldw r2,-4(fp) cc14: e0bffa15 stw r2,-24(fp) if (fd) cc18: e0bffa17 ldw r2,-24(fp) cc1c: 1005003a cmpeq r2,r2,zero cc20: 1000241e bne r2,zero,ccb4 <read+0xf4> * If the file has not been opened with read access, or if the driver does * not provide an implementation of read(), generate an error. Otherwise * call the drivers read() function to process the request. */ if (((fd->fd_flags & O_ACCMODE) != O_WRONLY) && cc24: e0bffa17 ldw r2,-24(fp) cc28: 10800217 ldw r2,8(r2) cc2c: 108000cc andi r2,r2,3 cc30: 10800060 cmpeqi r2,r2,1 cc34: 10001a1e bne r2,zero,cca0 <read+0xe0> cc38: e0bffa17 ldw r2,-24(fp) cc3c: 10800017 ldw r2,0(r2) cc40: 10800517 ldw r2,20(r2) cc44: 1005003a cmpeq r2,r2,zero cc48: 1000151e bne r2,zero,cca0 <read+0xe0> (fd->dev->read)) { if ((rval = fd->dev->read(fd, ptr, len)) < 0) cc4c: e0bffa17 ldw r2,-24(fp) cc50: 10800017 ldw r2,0(r2) cc54: 10800517 ldw r2,20(r2) cc58: e17ffc17 ldw r5,-16(fp) cc5c: e1bffd17 ldw r6,-12(fp) cc60: e13ffa17 ldw r4,-24(fp) cc64: 103ee83a callr r2 cc68: e0bff915 stw r2,-28(fp) cc6c: e0bff917 ldw r2,-28(fp) cc70: 1004403a cmpge r2,r2,zero cc74: 1000071e bne r2,zero,cc94 <read+0xd4> { ALT_ERRNO = -rval; cc78: 000cce40 call cce4 <alt_get_errno> cc7c: e0fff917 ldw r3,-28(fp) cc80: 00c7c83a sub r3,zero,r3 cc84: 10c00015 stw r3,0(r2) return -1; cc88: 00bfffc4 movi r2,-1 cc8c: e0bffe15 stw r2,-8(fp) cc90: 00000e06 br cccc <read+0x10c> } return rval; cc94: e0bff917 ldw r2,-28(fp) cc98: e0bffe15 stw r2,-8(fp) cc9c: 00000b06 br cccc <read+0x10c> } else { ALT_ERRNO = EACCES; cca0: 000cce40 call cce4 <alt_get_errno> cca4: 1007883a mov r3,r2 cca8: 00800344 movi r2,13 ccac: 18800015 stw r2,0(r3) ccb0: 00000406 br ccc4 <read+0x104> } } else { ALT_ERRNO = EBADFD; ccb4: 000cce40 call cce4 <alt_get_errno> ccb8: 1007883a mov r3,r2 ccbc: 00801444 movi r2,81 ccc0: 18800015 stw r2,0(r3) } return -1; ccc4: 00bfffc4 movi r2,-1 ccc8: e0bffe15 stw r2,-8(fp) cccc: e0bffe17 ldw r2,-8(fp) } ccd0: e037883a mov sp,fp ccd4: dfc00117 ldw ra,4(sp) ccd8: df000017 ldw fp,0(sp) ccdc: dec00204 addi sp,sp,8 cce0: f800283a ret 0000cce4 <alt_get_errno>: #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { cce4: defffd04 addi sp,sp,-12 cce8: dfc00215 stw ra,8(sp) ccec: df000115 stw fp,4(sp) ccf0: df000104 addi fp,sp,4 return ((alt_errno) ? alt_errno() : &errno); ccf4: 00800074 movhi r2,1 ccf8: 10888904 addi r2,r2,8740 ccfc: 10800017 ldw r2,0(r2) cd00: 1005003a cmpeq r2,r2,zero cd04: 1000061e bne r2,zero,cd20 <alt_get_errno+0x3c> cd08: 00800074 movhi r2,1 cd0c: 10888904 addi r2,r2,8740 cd10: 10800017 ldw r2,0(r2) cd14: 103ee83a callr r2 cd18: e0bfff15 stw r2,-4(fp) cd1c: 00000306 br cd2c <alt_get_errno+0x48> cd20: 00800074 movhi r2,1 cd24: 108f7c04 addi r2,r2,15856 cd28: e0bfff15 stw r2,-4(fp) cd2c: e0bfff17 ldw r2,-4(fp) } cd30: e037883a mov sp,fp cd34: dfc00117 ldw ra,4(sp) cd38: df000017 ldw fp,0(sp) cd3c: dec00204 addi sp,sp,8 cd40: f800283a ret 0000cd44 <alt_release_fd>: * File descriptors correcponding to standard in, standard out and standard * error cannont be released backed to the pool. They are always reserved. */ void alt_release_fd (int fd) { cd44: defffc04 addi sp,sp,-16 cd48: dfc00315 stw ra,12(sp) cd4c: df000215 stw fp,8(sp) cd50: dc000115 stw r16,4(sp) cd54: df000104 addi fp,sp,4 cd58: e13fff15 stw r4,-4(fp) if (fd > 2) cd5c: e0bfff17 ldw r2,-4(fp) cd60: 108000d0 cmplti r2,r2,3 cd64: 10000f1e bne r2,zero,cda4 <alt_release_fd+0x60> { alt_fd_list[fd].fd_flags = 0; cd68: e13fff17 ldw r4,-4(fp) cd6c: 04000074 movhi r16,1 cd70: 8403bc04 addi r16,r16,3824 cd74: 01400304 movi r5,12 cd78: 0002c240 call 2c24 <__mulsi3> cd7c: 1405883a add r2,r2,r16 cd80: 10800204 addi r2,r2,8 cd84: 10000015 stw zero,0(r2) alt_fd_list[fd].dev = 0; cd88: e13fff17 ldw r4,-4(fp) cd8c: 04000074 movhi r16,1 cd90: 8403bc04 addi r16,r16,3824 cd94: 01400304 movi r5,12 cd98: 0002c240 call 2c24 <__mulsi3> cd9c: 1405883a add r2,r2,r16 cda0: 10000015 stw zero,0(r2) } } cda4: e037883a mov sp,fp cda8: dfc00217 ldw ra,8(sp) cdac: df000117 ldw fp,4(sp) cdb0: dc000017 ldw r16,0(sp) cdb4: dec00304 addi sp,sp,12 cdb8: f800283a ret 0000cdbc <sbrk>: #endif caddr_t ALT_SBRK (int incr) __attribute__ ((no_instrument_function )); caddr_t ALT_SBRK (int incr) { cdbc: defff804 addi sp,sp,-32 cdc0: df000715 stw fp,28(sp) cdc4: df000704 addi fp,sp,28 cdc8: e13ffe15 stw r4,-8(fp) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); cdcc: 0005303a rdctl r2,status cdd0: e0bffb15 stw r2,-20(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); cdd4: e0fffb17 ldw r3,-20(fp) cdd8: 00bfff84 movi r2,-2 cddc: 1884703a and r2,r3,r2 cde0: 1001703a wrctl status,r2 return context; cde4: e0bffb17 ldw r2,-20(fp) alt_irq_context context; char *prev_heap_end; context = alt_irq_disable_all(); cde8: e0bffd15 stw r2,-12(fp) /* Always return data aligned on a word boundary */ heap_end = (char *)(((unsigned int)heap_end + 3) & ~3); cdec: d0a00e17 ldw r2,-32712(gp) cdf0: 10c000c4 addi r3,r2,3 cdf4: 00bfff04 movi r2,-4 cdf8: 1884703a and r2,r3,r2 cdfc: d0a00e15 stw r2,-32712(gp) if (((heap_end + incr) - __alt_heap_start) > ALT_MAX_HEAP_BYTES) { alt_irq_enable_all(context); return (caddr_t)-1; } #else if ((heap_end + incr) > __alt_heap_limit) { ce00: d0e00e17 ldw r3,-32712(gp) ce04: e0bffe17 ldw r2,-8(fp) ce08: 1887883a add r3,r3,r2 ce0c: 008000f4 movhi r2,3 ce10: 10880004 addi r2,r2,8192 ce14: 10c0072e bgeu r2,r3,ce34 <sbrk+0x78> ce18: e0bffd17 ldw r2,-12(fp) ce1c: e0bffa15 stw r2,-24(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); ce20: e0bffa17 ldw r2,-24(fp) ce24: 1001703a wrctl status,r2 alt_irq_enable_all(context); return (caddr_t)-1; ce28: 00bfffc4 movi r2,-1 ce2c: e0bfff15 stw r2,-4(fp) ce30: 00000c06 br ce64 <sbrk+0xa8> } #endif prev_heap_end = heap_end; ce34: d0a00e17 ldw r2,-32712(gp) ce38: e0bffc15 stw r2,-16(fp) heap_end += incr; ce3c: d0e00e17 ldw r3,-32712(gp) ce40: e0bffe17 ldw r2,-8(fp) ce44: 1885883a add r2,r3,r2 ce48: d0a00e15 stw r2,-32712(gp) ce4c: e0bffd17 ldw r2,-12(fp) ce50: e0bff915 stw r2,-28(fp) ce54: e0bff917 ldw r2,-28(fp) ce58: 1001703a wrctl status,r2 #endif alt_irq_enable_all(context); return (caddr_t) prev_heap_end; ce5c: e0bffc17 ldw r2,-16(fp) ce60: e0bfff15 stw r2,-4(fp) ce64: e0bfff17 ldw r2,-4(fp) } ce68: e037883a mov sp,fp ce6c: df000017 ldw fp,0(sp) ce70: dec00104 addi sp,sp,4 ce74: f800283a ret 0000ce78 <usleep>: #if defined (__GNUC__) && __GNUC__ >= 4 int ALT_USLEEP (useconds_t us) #else unsigned int ALT_USLEEP (unsigned int us) #endif { ce78: defffd04 addi sp,sp,-12 ce7c: dfc00215 stw ra,8(sp) ce80: df000115 stw fp,4(sp) ce84: df000104 addi fp,sp,4 ce88: e13fff15 stw r4,-4(fp) return alt_busy_sleep(us); ce8c: e13fff17 ldw r4,-4(fp) ce90: 000eccc0 call eccc <alt_busy_sleep> } ce94: e037883a mov sp,fp ce98: dfc00117 ldw ra,4(sp) ce9c: df000017 ldw fp,0(sp) cea0: dec00204 addi sp,sp,8 cea4: f800283a ret 0000cea8 <write>: } #else /* !ALT_USE_DIRECT_DRIVERS */ int ALT_WRITE (int file, const void *ptr, size_t len) { cea8: defff704 addi sp,sp,-36 ceac: dfc00815 stw ra,32(sp) ceb0: df000715 stw fp,28(sp) ceb4: df000704 addi fp,sp,28 ceb8: e13ffb15 stw r4,-20(fp) cebc: e17ffc15 stw r5,-16(fp) cec0: e1bffd15 stw r6,-12(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; cec4: e0bffb17 ldw r2,-20(fp) cec8: 1004803a cmplt r2,r2,zero cecc: 1000091e bne r2,zero,cef4 <write+0x4c> ced0: e13ffb17 ldw r4,-20(fp) ced4: 01400304 movi r5,12 ced8: 0002c240 call 2c24 <__mulsi3> cedc: 1007883a mov r3,r2 cee0: 00800074 movhi r2,1 cee4: 1083bc04 addi r2,r2,3824 cee8: 1887883a add r3,r3,r2 ceec: e0ffff15 stw r3,-4(fp) cef0: 00000106 br cef8 <write+0x50> cef4: e03fff15 stw zero,-4(fp) cef8: e0bfff17 ldw r2,-4(fp) cefc: e0bffa15 stw r2,-24(fp) if (fd) cf00: e0bffa17 ldw r2,-24(fp) cf04: 1005003a cmpeq r2,r2,zero cf08: 1000241e bne r2,zero,cf9c <write+0xf4> * If the file has not been opened with write access, or if the driver does * not provide an implementation of write(), generate an error. Otherwise * call the drivers write() function to process the request. */ if (((fd->fd_flags & O_ACCMODE) != O_RDONLY) && fd->dev->write) cf0c: e0bffa17 ldw r2,-24(fp) cf10: 10800217 ldw r2,8(r2) cf14: 108000cc andi r2,r2,3 cf18: 1005003a cmpeq r2,r2,zero cf1c: 10001a1e bne r2,zero,cf88 <write+0xe0> cf20: e0bffa17 ldw r2,-24(fp) cf24: 10800017 ldw r2,0(r2) cf28: 10800617 ldw r2,24(r2) cf2c: 1005003a cmpeq r2,r2,zero cf30: 1000151e bne r2,zero,cf88 <write+0xe0> { /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */ ALT_LOG_WRITE_FUNCTION(ptr,len); if ((rval = fd->dev->write(fd, ptr, len)) < 0) cf34: e0bffa17 ldw r2,-24(fp) cf38: 10800017 ldw r2,0(r2) cf3c: 10800617 ldw r2,24(r2) cf40: e17ffc17 ldw r5,-16(fp) cf44: e1bffd17 ldw r6,-12(fp) cf48: e13ffa17 ldw r4,-24(fp) cf4c: 103ee83a callr r2 cf50: e0bff915 stw r2,-28(fp) cf54: e0bff917 ldw r2,-28(fp) cf58: 1004403a cmpge r2,r2,zero cf5c: 1000071e bne r2,zero,cf7c <write+0xd4> { ALT_ERRNO = -rval; cf60: 000cfcc0 call cfcc <alt_get_errno> cf64: e0fff917 ldw r3,-28(fp) cf68: 00c7c83a sub r3,zero,r3 cf6c: 10c00015 stw r3,0(r2) return -1; cf70: 00bfffc4 movi r2,-1 cf74: e0bffe15 stw r2,-8(fp) cf78: 00000e06 br cfb4 <write+0x10c> } return rval; cf7c: e0bff917 ldw r2,-28(fp) cf80: e0bffe15 stw r2,-8(fp) cf84: 00000b06 br cfb4 <write+0x10c> } else { ALT_ERRNO = EACCES; cf88: 000cfcc0 call cfcc <alt_get_errno> cf8c: 1007883a mov r3,r2 cf90: 00800344 movi r2,13 cf94: 18800015 stw r2,0(r3) cf98: 00000406 br cfac <write+0x104> } } else { ALT_ERRNO = EBADFD; cf9c: 000cfcc0 call cfcc <alt_get_errno> cfa0: 1007883a mov r3,r2 cfa4: 00801444 movi r2,81 cfa8: 18800015 stw r2,0(r3) } return -1; cfac: 00bfffc4 movi r2,-1 cfb0: e0bffe15 stw r2,-8(fp) cfb4: e0bffe17 ldw r2,-8(fp) } cfb8: e037883a mov sp,fp cfbc: dfc00117 ldw ra,4(sp) cfc0: df000017 ldw fp,0(sp) cfc4: dec00204 addi sp,sp,8 cfc8: f800283a ret 0000cfcc <alt_get_errno>: #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { cfcc: defffd04 addi sp,sp,-12 cfd0: dfc00215 stw ra,8(sp) cfd4: df000115 stw fp,4(sp) cfd8: df000104 addi fp,sp,4 return ((alt_errno) ? alt_errno() : &errno); cfdc: 00800074 movhi r2,1 cfe0: 10888904 addi r2,r2,8740 cfe4: 10800017 ldw r2,0(r2) cfe8: 1005003a cmpeq r2,r2,zero cfec: 1000061e bne r2,zero,d008 <alt_get_errno+0x3c> cff0: 00800074 movhi r2,1 cff4: 10888904 addi r2,r2,8740 cff8: 10800017 ldw r2,0(r2) cffc: 103ee83a callr r2 d000: e0bfff15 stw r2,-4(fp) d004: 00000306 br d014 <alt_get_errno+0x48> d008: 00800074 movhi r2,1 d00c: 108f7c04 addi r2,r2,15856 d010: e0bfff15 stw r2,-4(fp) d014: e0bfff17 ldw r2,-4(fp) } d018: e037883a mov sp,fp d01c: dfc00117 ldw ra,4(sp) d020: df000017 ldw fp,0(sp) d024: dec00204 addi sp,sp,8 d028: f800283a ret 0000d02c <alt_irq_init>: * The "base" parameter is ignored and only * present for backwards-compatibility. */ void alt_irq_init ( const void* base ) { d02c: defffd04 addi sp,sp,-12 d030: dfc00215 stw ra,8(sp) d034: df000115 stw fp,4(sp) d038: df000104 addi fp,sp,4 d03c: e13fff15 stw r4,-4(fp) ALTERA_NIOS2_QSYS_IRQ_INIT ( NIOS2_PROCESSOR, nios2_processor); d040: 000f8e00 call f8e0 <altera_nios2_qsys_irq_init> * alt_irq_cpu_enable_interrupts() enables the CPU to start taking interrupts. */ static ALT_INLINE void ALT_ALWAYS_INLINE alt_irq_cpu_enable_interrupts () { NIOS2_WRITE_STATUS(NIOS2_STATUS_PIE_MSK d044: 00800044 movi r2,1 d048: 1001703a wrctl status,r2 alt_irq_cpu_enable_interrupts(); } d04c: e037883a mov sp,fp d050: dfc00117 ldw ra,4(sp) d054: df000017 ldw fp,0(sp) d058: dec00204 addi sp,sp,8 d05c: f800283a ret 0000d060 <alt_sys_init>: * Initialize the non-interrupt controller devices. * Called after alt_irq_init(). */ void alt_sys_init( void ) { d060: defffe04 addi sp,sp,-8 d064: dfc00115 stw ra,4(sp) d068: df000015 stw fp,0(sp) d06c: d839883a mov fp,sp ALTERA_AVALON_JTAG_UART_INIT ( JTAG_UART, jtag_uart); d070: 01000074 movhi r4,1 d074: 21042604 addi r4,r4,4248 d078: 000b883a mov r5,zero d07c: 01800144 movi r6,5 d080: 000d23c0 call d23c <altera_avalon_jtag_uart_init> d084: 01000074 movhi r4,1 d088: 21041c04 addi r4,r4,4208 d08c: 000d0bc0 call d0bc <alt_dev_reg> ALTERA_AVALON_LCD_16207_INIT ( LCD_16207_0, lcd_16207_0); d090: 01000074 movhi r4,1 d094: 21083e04 addi r4,r4,8440 d098: 000e9e40 call e9e4 <altera_avalon_lcd_16207_init> d09c: 01000074 movhi r4,1 d0a0: 21083404 addi r4,r4,8400 d0a4: 000d0bc0 call d0bc <alt_dev_reg> } d0a8: e037883a mov sp,fp d0ac: dfc00117 ldw ra,4(sp) d0b0: df000017 ldw fp,0(sp) d0b4: dec00204 addi sp,sp,8 d0b8: f800283a ret 0000d0bc <alt_dev_reg>: */ extern int alt_fs_reg (alt_dev* dev); static ALT_INLINE int alt_dev_reg (alt_dev* dev) { d0bc: defffd04 addi sp,sp,-12 d0c0: dfc00215 stw ra,8(sp) d0c4: df000115 stw fp,4(sp) d0c8: df000104 addi fp,sp,4 d0cc: e13fff15 stw r4,-4(fp) extern alt_llist alt_dev_list; return alt_dev_llist_insert ((alt_dev_llist*) dev, &alt_dev_list); d0d0: e13fff17 ldw r4,-4(fp) d0d4: 01400074 movhi r5,1 d0d8: 29488604 addi r5,r5,8728 d0dc: 000ee440 call ee44 <alt_dev_llist_insert> } d0e0: e037883a mov sp,fp d0e4: dfc00117 ldw ra,4(sp) d0e8: df000017 ldw fp,0(sp) d0ec: dec00204 addi sp,sp,8 d0f0: f800283a ret 0000d0f4 <altera_avalon_jtag_uart_read_fd>: * */ int altera_avalon_jtag_uart_read_fd(alt_fd* fd, char* buffer, int space) { d0f4: defffa04 addi sp,sp,-24 d0f8: dfc00515 stw ra,20(sp) d0fc: df000415 stw fp,16(sp) d100: df000404 addi fp,sp,16 d104: e13ffd15 stw r4,-12(fp) d108: e17ffe15 stw r5,-8(fp) d10c: e1bfff15 stw r6,-4(fp) altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; d110: e0bffd17 ldw r2,-12(fp) d114: 10800017 ldw r2,0(r2) d118: e0bffc15 stw r2,-16(fp) return altera_avalon_jtag_uart_read(&dev->state, buffer, space, d11c: e0bffc17 ldw r2,-16(fp) d120: 11000a04 addi r4,r2,40 d124: e0bffd17 ldw r2,-12(fp) d128: 11c00217 ldw r7,8(r2) d12c: e17ffe17 ldw r5,-8(fp) d130: e1bfff17 ldw r6,-4(fp) d134: 000d73c0 call d73c <altera_avalon_jtag_uart_read> fd->fd_flags); } d138: e037883a mov sp,fp d13c: dfc00117 ldw ra,4(sp) d140: df000017 ldw fp,0(sp) d144: dec00204 addi sp,sp,8 d148: f800283a ret 0000d14c <altera_avalon_jtag_uart_write_fd>: int altera_avalon_jtag_uart_write_fd(alt_fd* fd, const char* buffer, int space) { d14c: defffa04 addi sp,sp,-24 d150: dfc00515 stw ra,20(sp) d154: df000415 stw fp,16(sp) d158: df000404 addi fp,sp,16 d15c: e13ffd15 stw r4,-12(fp) d160: e17ffe15 stw r5,-8(fp) d164: e1bfff15 stw r6,-4(fp) altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; d168: e0bffd17 ldw r2,-12(fp) d16c: 10800017 ldw r2,0(r2) d170: e0bffc15 stw r2,-16(fp) return altera_avalon_jtag_uart_write(&dev->state, buffer, space, d174: e0bffc17 ldw r2,-16(fp) d178: 11000a04 addi r4,r2,40 d17c: e0bffd17 ldw r2,-12(fp) d180: 11c00217 ldw r7,8(r2) d184: e17ffe17 ldw r5,-8(fp) d188: e1bfff17 ldw r6,-4(fp) d18c: 000d9600 call d960 <altera_avalon_jtag_uart_write> fd->fd_flags); } d190: e037883a mov sp,fp d194: dfc00117 ldw ra,4(sp) d198: df000017 ldw fp,0(sp) d19c: dec00204 addi sp,sp,8 d1a0: f800283a ret 0000d1a4 <altera_avalon_jtag_uart_close_fd>: #ifndef ALTERA_AVALON_JTAG_UART_SMALL int altera_avalon_jtag_uart_close_fd(alt_fd* fd) { d1a4: defffc04 addi sp,sp,-16 d1a8: dfc00315 stw ra,12(sp) d1ac: df000215 stw fp,8(sp) d1b0: df000204 addi fp,sp,8 d1b4: e13fff15 stw r4,-4(fp) altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; d1b8: e0bfff17 ldw r2,-4(fp) d1bc: 10800017 ldw r2,0(r2) d1c0: e0bffe15 stw r2,-8(fp) return altera_avalon_jtag_uart_close(&dev->state, fd->fd_flags); d1c4: e0bffe17 ldw r2,-8(fp) d1c8: 11000a04 addi r4,r2,40 d1cc: e0bfff17 ldw r2,-4(fp) d1d0: 11400217 ldw r5,8(r2) d1d4: 000d5d40 call d5d4 <altera_avalon_jtag_uart_close> } d1d8: e037883a mov sp,fp d1dc: dfc00117 ldw ra,4(sp) d1e0: df000017 ldw fp,0(sp) d1e4: dec00204 addi sp,sp,8 d1e8: f800283a ret 0000d1ec <altera_avalon_jtag_uart_ioctl_fd>: int altera_avalon_jtag_uart_ioctl_fd(alt_fd* fd, int req, void* arg) { d1ec: defffa04 addi sp,sp,-24 d1f0: dfc00515 stw ra,20(sp) d1f4: df000415 stw fp,16(sp) d1f8: df000404 addi fp,sp,16 d1fc: e13ffd15 stw r4,-12(fp) d200: e17ffe15 stw r5,-8(fp) d204: e1bfff15 stw r6,-4(fp) altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; d208: e0bffd17 ldw r2,-12(fp) d20c: 10800017 ldw r2,0(r2) d210: e0bffc15 stw r2,-16(fp) return altera_avalon_jtag_uart_ioctl(&dev->state, req, arg); d214: e0bffc17 ldw r2,-16(fp) d218: 11000a04 addi r4,r2,40 d21c: e17ffe17 ldw r5,-8(fp) d220: e1bfff17 ldw r6,-4(fp) d224: 000d6480 call d648 <altera_avalon_jtag_uart_ioctl> } d228: e037883a mov sp,fp d22c: dfc00117 ldw ra,4(sp) d230: df000017 ldw fp,0(sp) d234: dec00204 addi sp,sp,8 d238: f800283a ret 0000d23c <altera_avalon_jtag_uart_init>: * Return 1 on sucessful IRQ register and 0 on failure. */ void altera_avalon_jtag_uart_init(altera_avalon_jtag_uart_state* sp, int irq_controller_id, int irq) { d23c: defffa04 addi sp,sp,-24 d240: dfc00515 stw ra,20(sp) d244: df000415 stw fp,16(sp) d248: df000404 addi fp,sp,16 d24c: e13ffd15 stw r4,-12(fp) d250: e17ffe15 stw r5,-8(fp) d254: e1bfff15 stw r6,-4(fp) ALT_FLAG_CREATE(&sp->events, 0); ALT_SEM_CREATE(&sp->read_lock, 1); ALT_SEM_CREATE(&sp->write_lock, 1); /* enable read interrupts at the device */ sp->irq_enable = ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK; d258: e0fffd17 ldw r3,-12(fp) d25c: 00800044 movi r2,1 d260: 18800815 stw r2,32(r3) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable); d264: e0bffd17 ldw r2,-12(fp) d268: 10800017 ldw r2,0(r2) d26c: 11000104 addi r4,r2,4 d270: e0bffd17 ldw r2,-12(fp) d274: 10800817 ldw r2,32(r2) d278: 1007883a mov r3,r2 d27c: 2005883a mov r2,r4 d280: 10c00035 stwio r3,0(r2) /* register the interrupt handler */ #ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT alt_ic_isr_register(irq_controller_id, irq, altera_avalon_jtag_uart_irq, d284: e13ffe17 ldw r4,-8(fp) d288: e17fff17 ldw r5,-4(fp) d28c: d8000015 stw zero,0(sp) d290: 01800074 movhi r6,1 d294: 31b4bf04 addi r6,r6,-11524 d298: e1fffd17 ldw r7,-12(fp) d29c: 000f03c0 call f03c <alt_ic_isr_register> #else alt_irq_register(irq, sp, altera_avalon_jtag_uart_irq); #endif /* Register an alarm to go off every second to check for presence of host */ sp->host_inactive = 0; d2a0: e0bffd17 ldw r2,-12(fp) d2a4: 10000915 stw zero,36(r2) if (alt_alarm_start(&sp->alarm, alt_ticks_per_second(), d2a8: e0bffd17 ldw r2,-12(fp) d2ac: 11000204 addi r4,r2,8 * Obtain the system clock rate in ticks/s. */ static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_ticks_per_second (void) { return _alt_tick_rate; d2b0: 00800074 movhi r2,1 d2b4: 108f8104 addi r2,r2,15876 d2b8: 10800017 ldw r2,0(r2) d2bc: 100b883a mov r5,r2 d2c0: 01800074 movhi r6,1 d2c4: 31b54904 addi r6,r6,-10972 d2c8: e1fffd17 ldw r7,-12(fp) d2cc: 000eb780 call eb78 <alt_alarm_start> d2d0: 1004403a cmpge r2,r2,zero d2d4: 1000041e bne r2,zero,d2e8 <altera_avalon_jtag_uart_init+0xac> &altera_avalon_jtag_uart_timeout, sp) < 0) { /* If we can't set the alarm then record "don't know if host present" * and behave as though the host is present. */ sp->timeout = INT_MAX; d2d8: e0fffd17 ldw r3,-12(fp) d2dc: 00a00034 movhi r2,32768 d2e0: 10bfffc4 addi r2,r2,-1 d2e4: 18800115 stw r2,4(r3) } /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */ ALT_LOG_JTAG_UART_ALARM_REGISTER(sp, sp->base); } d2e8: e037883a mov sp,fp d2ec: dfc00117 ldw ra,4(sp) d2f0: df000017 ldw fp,0(sp) d2f4: dec00204 addi sp,sp,8 d2f8: f800283a ret 0000d2fc <altera_avalon_jtag_uart_irq>: #ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT static void altera_avalon_jtag_uart_irq(void* context) #else static void altera_avalon_jtag_uart_irq(void* context, alt_u32 id) #endif { d2fc: defff804 addi sp,sp,-32 d300: df000715 stw fp,28(sp) d304: df000704 addi fp,sp,28 d308: e13fff15 stw r4,-4(fp) altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state*) context; d30c: e0bfff17 ldw r2,-4(fp) d310: e0bffe15 stw r2,-8(fp) unsigned int base = sp->base; d314: e0bffe17 ldw r2,-8(fp) d318: 10800017 ldw r2,0(r2) d31c: e0bffd15 stw r2,-12(fp) d320: 00000006 br d324 <altera_avalon_jtag_uart_irq+0x28> /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */ ALT_LOG_JTAG_UART_ISR_FUNCTION(base, sp); for ( ; ; ) { unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base); d324: e0bffd17 ldw r2,-12(fp) d328: 10800104 addi r2,r2,4 d32c: 10800037 ldwio r2,0(r2) d330: e0bffc15 stw r2,-16(fp) /* Return once nothing more to do */ if ((control & (ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK | ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)) == 0) d334: e0bffc17 ldw r2,-16(fp) d338: 1080c00c andi r2,r2,768 d33c: 1005003a cmpeq r2,r2,zero d340: 1000741e bne r2,zero,d514 <altera_avalon_jtag_uart_irq+0x218> break; if (control & ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK) d344: e0bffc17 ldw r2,-16(fp) d348: 1080400c andi r2,r2,256 d34c: 1005003a cmpeq r2,r2,zero d350: 1000351e bne r2,zero,d428 <altera_avalon_jtag_uart_irq+0x12c> { /* process a read irq. Start by assuming that there is data in the * receive FIFO (otherwise why would we have been interrupted?) */ unsigned int data = 1 << ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_OFST; d354: 00800074 movhi r2,1 d358: e0bffb15 stw r2,-20(fp) for ( ; ; ) { /* Check whether there is space in the buffer. If not then we must not * read any characters from the buffer as they will be lost. */ unsigned int next = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN; d35c: e0bffe17 ldw r2,-8(fp) d360: 10800a17 ldw r2,40(r2) d364: 10800044 addi r2,r2,1 d368: 1081ffcc andi r2,r2,2047 d36c: e0bffa15 stw r2,-24(fp) if (next == sp->rx_out) d370: e0bffe17 ldw r2,-8(fp) d374: 10c00b17 ldw r3,44(r2) d378: e0bffa17 ldw r2,-24(fp) d37c: 18801626 beq r3,r2,d3d8 <altera_avalon_jtag_uart_irq+0xdc> break; /* Try to remove a character from the FIFO and find out whether there * are any more characters remaining. */ data = IORD_ALTERA_AVALON_JTAG_UART_DATA(base); d380: e0bffd17 ldw r2,-12(fp) d384: 10800037 ldwio r2,0(r2) d388: e0bffb15 stw r2,-20(fp) if ((data & ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0) d38c: e0bffb17 ldw r2,-20(fp) d390: 10a0000c andi r2,r2,32768 d394: 1005003a cmpeq r2,r2,zero d398: 10000f1e bne r2,zero,d3d8 <altera_avalon_jtag_uart_irq+0xdc> break; sp->rx_buf[sp->rx_in] = (data & ALTERA_AVALON_JTAG_UART_DATA_DATA_MSK) >> ALTERA_AVALON_JTAG_UART_DATA_DATA_OFST; d39c: e0bffe17 ldw r2,-8(fp) d3a0: 10c00a17 ldw r3,40(r2) d3a4: e0bffb17 ldw r2,-20(fp) d3a8: 1009883a mov r4,r2 d3ac: e0bffe17 ldw r2,-8(fp) d3b0: 1885883a add r2,r3,r2 d3b4: 10800e04 addi r2,r2,56 d3b8: 11000005 stb r4,0(r2) sp->rx_in = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN; d3bc: e0bffe17 ldw r2,-8(fp) d3c0: 10800a17 ldw r2,40(r2) d3c4: 10800044 addi r2,r2,1 d3c8: 10c1ffcc andi r3,r2,2047 d3cc: e0bffe17 ldw r2,-8(fp) d3d0: 10c00a15 stw r3,40(r2) /* Post an event to notify jtag_uart_read that a character has been read */ ALT_FLAG_POST (sp->events, ALT_JTAG_UART_READ_RDY, OS_FLAG_SET); } d3d4: 003fe106 br d35c <altera_avalon_jtag_uart_irq+0x60> if (data & ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_MSK) d3d8: e0bffb17 ldw r2,-20(fp) d3dc: 10bfffec andhi r2,r2,65535 d3e0: 1005003a cmpeq r2,r2,zero d3e4: 1000101e bne r2,zero,d428 <altera_avalon_jtag_uart_irq+0x12c> { /* If there is still data available here then the buffer is full * so turn off receive interrupts until some space becomes available. */ sp->irq_enable &= ~ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK; d3e8: e0bffe17 ldw r2,-8(fp) d3ec: 10c00817 ldw r3,32(r2) d3f0: 00bfff84 movi r2,-2 d3f4: 1886703a and r3,r3,r2 d3f8: e0bffe17 ldw r2,-8(fp) d3fc: 10c00815 stw r3,32(r2) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(base, sp->irq_enable); d400: e0bffd17 ldw r2,-12(fp) d404: 11000104 addi r4,r2,4 d408: e0bffe17 ldw r2,-8(fp) d40c: 10800817 ldw r2,32(r2) d410: 1007883a mov r3,r2 d414: 2005883a mov r2,r4 d418: 10c00035 stwio r3,0(r2) /* Dummy read to ensure IRQ is cleared prior to ISR completion */ IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base); d41c: e0bffd17 ldw r2,-12(fp) d420: 10800104 addi r2,r2,4 d424: 10800037 ldwio r2,0(r2) } } if (control & ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK) d428: e0bffc17 ldw r2,-16(fp) d42c: 1080800c andi r2,r2,512 d430: 1005003a cmpeq r2,r2,zero d434: 103fbb1e bne r2,zero,d324 <altera_avalon_jtag_uart_irq+0x28> { /* process a write irq */ unsigned int space = (control & ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) >> ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST; d438: e0bffc17 ldw r2,-16(fp) d43c: 10bfffec andhi r2,r2,65535 d440: 1004d43a srli r2,r2,16 d444: e0bff915 stw r2,-28(fp) while (space > 0 && sp->tx_out != sp->tx_in) d448: 00001506 br d4a0 <altera_avalon_jtag_uart_irq+0x1a4> { IOWR_ALTERA_AVALON_JTAG_UART_DATA(base, sp->tx_buf[sp->tx_out]); d44c: e13ffd17 ldw r4,-12(fp) d450: e0bffe17 ldw r2,-8(fp) d454: 10c00d17 ldw r3,52(r2) d458: e0bffe17 ldw r2,-8(fp) d45c: 1885883a add r2,r3,r2 d460: 10820e04 addi r2,r2,2104 d464: 10800003 ldbu r2,0(r2) d468: 10c03fcc andi r3,r2,255 d46c: 18c0201c xori r3,r3,128 d470: 18ffe004 addi r3,r3,-128 d474: 2005883a mov r2,r4 d478: 10c00035 stwio r3,0(r2) sp->tx_out = (sp->tx_out + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN; d47c: e0bffe17 ldw r2,-8(fp) d480: 10800d17 ldw r2,52(r2) d484: 10800044 addi r2,r2,1 d488: 10c1ffcc andi r3,r2,2047 d48c: e0bffe17 ldw r2,-8(fp) d490: 10c00d15 stw r3,52(r2) /* Post an event to notify jtag_uart_write that a character has been written */ ALT_FLAG_POST (sp->events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET); space--; d494: e0bff917 ldw r2,-28(fp) d498: 10bfffc4 addi r2,r2,-1 d49c: e0bff915 stw r2,-28(fp) if (control & ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK) { /* process a write irq */ unsigned int space = (control & ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) >> ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST; while (space > 0 && sp->tx_out != sp->tx_in) d4a0: e0bff917 ldw r2,-28(fp) d4a4: 1005003a cmpeq r2,r2,zero d4a8: 1000051e bne r2,zero,d4c0 <altera_avalon_jtag_uart_irq+0x1c4> d4ac: e0bffe17 ldw r2,-8(fp) d4b0: 10c00d17 ldw r3,52(r2) d4b4: e0bffe17 ldw r2,-8(fp) d4b8: 10800c17 ldw r2,48(r2) d4bc: 18bfe31e bne r3,r2,d44c <altera_avalon_jtag_uart_irq+0x150> ALT_FLAG_POST (sp->events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET); space--; } if (space > 0) d4c0: e0bff917 ldw r2,-28(fp) d4c4: 1005003a cmpeq r2,r2,zero d4c8: 103f961e bne r2,zero,d324 <altera_avalon_jtag_uart_irq+0x28> { /* If we don't have any more data available then turn off the TX interrupt */ sp->irq_enable &= ~ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK; d4cc: e0bffe17 ldw r2,-8(fp) d4d0: 10c00817 ldw r3,32(r2) d4d4: 00bfff44 movi r2,-3 d4d8: 1886703a and r3,r3,r2 d4dc: e0bffe17 ldw r2,-8(fp) d4e0: 10c00815 stw r3,32(r2) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable); d4e4: e0bffe17 ldw r2,-8(fp) d4e8: 10800017 ldw r2,0(r2) d4ec: 11000104 addi r4,r2,4 d4f0: e0bffe17 ldw r2,-8(fp) d4f4: 10800817 ldw r2,32(r2) d4f8: 1007883a mov r3,r2 d4fc: 2005883a mov r2,r4 d500: 10c00035 stwio r3,0(r2) /* Dummy read to ensure IRQ is cleared prior to ISR completion */ IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base); d504: e0bffd17 ldw r2,-12(fp) d508: 10800104 addi r2,r2,4 d50c: 10800037 ldwio r2,0(r2) } } } d510: 003f8406 br d324 <altera_avalon_jtag_uart_irq+0x28> } d514: e037883a mov sp,fp d518: df000017 ldw fp,0(sp) d51c: dec00104 addi sp,sp,4 d520: f800283a ret 0000d524 <altera_avalon_jtag_uart_timeout>: * Timeout routine is called every second */ static alt_u32 altera_avalon_jtag_uart_timeout(void* context) { d524: defffc04 addi sp,sp,-16 d528: df000315 stw fp,12(sp) d52c: df000304 addi fp,sp,12 d530: e13fff15 stw r4,-4(fp) altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state *) context; d534: e0bfff17 ldw r2,-4(fp) d538: e0bffe15 stw r2,-8(fp) unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base); d53c: e0bffe17 ldw r2,-8(fp) d540: 10800017 ldw r2,0(r2) d544: 10800104 addi r2,r2,4 d548: 10800037 ldwio r2,0(r2) d54c: e0bffd15 stw r2,-12(fp) if (control & ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK) d550: e0bffd17 ldw r2,-12(fp) d554: 1081000c andi r2,r2,1024 d558: 1005003a cmpeq r2,r2,zero d55c: 10000c1e bne r2,zero,d590 <altera_avalon_jtag_uart_timeout+0x6c> { IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable | ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK); d560: e0bffe17 ldw r2,-8(fp) d564: 10800017 ldw r2,0(r2) d568: 11000104 addi r4,r2,4 d56c: e0bffe17 ldw r2,-8(fp) d570: 10800817 ldw r2,32(r2) d574: 10810014 ori r2,r2,1024 d578: 1007883a mov r3,r2 d57c: 2005883a mov r2,r4 d580: 10c00035 stwio r3,0(r2) sp->host_inactive = 0; d584: e0bffe17 ldw r2,-8(fp) d588: 10000915 stw zero,36(r2) d58c: 00000a06 br d5b8 <altera_avalon_jtag_uart_timeout+0x94> } else if (sp->host_inactive < INT_MAX - 2) { d590: e0bffe17 ldw r2,-8(fp) d594: 10c00917 ldw r3,36(r2) d598: 00a00034 movhi r2,32768 d59c: 10bfff04 addi r2,r2,-4 d5a0: 10c00536 bltu r2,r3,d5b8 <altera_avalon_jtag_uart_timeout+0x94> sp->host_inactive++; d5a4: e0bffe17 ldw r2,-8(fp) d5a8: 10800917 ldw r2,36(r2) d5ac: 10c00044 addi r3,r2,1 d5b0: e0bffe17 ldw r2,-8(fp) d5b4: 10c00915 stw r3,36(r2) d5b8: 00800074 movhi r2,1 d5bc: 108f8104 addi r2,r2,15876 d5c0: 10800017 ldw r2,0(r2) ALT_FLAG_POST (sp->events, ALT_JTAG_UART_TIMEOUT, OS_FLAG_SET); } } return alt_ticks_per_second(); } d5c4: e037883a mov sp,fp d5c8: df000017 ldw fp,0(sp) d5cc: dec00104 addi sp,sp,4 d5d0: f800283a ret 0000d5d4 <altera_avalon_jtag_uart_close>: * The close routine is not implemented for the small driver; instead it will * map to null. This is because the small driver simply waits while characters * are transmitted; there is no interrupt-serviced buffer to empty */ int altera_avalon_jtag_uart_close(altera_avalon_jtag_uart_state* sp, int flags) { d5d4: defffc04 addi sp,sp,-16 d5d8: df000315 stw fp,12(sp) d5dc: df000304 addi fp,sp,12 d5e0: e13ffd15 stw r4,-12(fp) d5e4: e17ffe15 stw r5,-8(fp) /* * Wait for all transmit data to be emptied by the JTAG UART ISR, or * for a host-inactivity timeout, in which case transmit data will be lost */ while ( (sp->tx_out != sp->tx_in) && (sp->host_inactive < sp->timeout) ) { d5e8: 00000706 br d608 <altera_avalon_jtag_uart_close+0x34> if (flags & O_NONBLOCK) { d5ec: e0bffe17 ldw r2,-8(fp) d5f0: 1090000c andi r2,r2,16384 d5f4: 1005003a cmpeq r2,r2,zero d5f8: 1000031e bne r2,zero,d608 <altera_avalon_jtag_uart_close+0x34> return -EWOULDBLOCK; d5fc: 00bffd44 movi r2,-11 d600: e0bfff15 stw r2,-4(fp) d604: 00000b06 br d634 <altera_avalon_jtag_uart_close+0x60> { /* * Wait for all transmit data to be emptied by the JTAG UART ISR, or * for a host-inactivity timeout, in which case transmit data will be lost */ while ( (sp->tx_out != sp->tx_in) && (sp->host_inactive < sp->timeout) ) { d608: e0bffd17 ldw r2,-12(fp) d60c: 10c00d17 ldw r3,52(r2) d610: e0bffd17 ldw r2,-12(fp) d614: 10800c17 ldw r2,48(r2) d618: 18800526 beq r3,r2,d630 <altera_avalon_jtag_uart_close+0x5c> d61c: e0bffd17 ldw r2,-12(fp) d620: 10c00917 ldw r3,36(r2) d624: e0bffd17 ldw r2,-12(fp) d628: 10800117 ldw r2,4(r2) d62c: 18bfef36 bltu r3,r2,d5ec <altera_avalon_jtag_uart_close+0x18> if (flags & O_NONBLOCK) { return -EWOULDBLOCK; } } return 0; d630: e03fff15 stw zero,-4(fp) d634: e0bfff17 ldw r2,-4(fp) } d638: e037883a mov sp,fp d63c: df000017 ldw fp,0(sp) d640: dec00104 addi sp,sp,4 d644: f800283a ret 0000d648 <altera_avalon_jtag_uart_ioctl>: /* ----------------------------------------------------------- */ int altera_avalon_jtag_uart_ioctl(altera_avalon_jtag_uart_state* sp, int req, void* arg) { d648: defff804 addi sp,sp,-32 d64c: df000715 stw fp,28(sp) d650: df000704 addi fp,sp,28 d654: e13ffb15 stw r4,-20(fp) d658: e17ffc15 stw r5,-16(fp) d65c: e1bffd15 stw r6,-12(fp) int rc = -ENOTTY; d660: 00bff9c4 movi r2,-25 d664: e0bffa15 stw r2,-24(fp) switch (req) d668: e0bffc17 ldw r2,-16(fp) d66c: e0bfff15 stw r2,-4(fp) d670: e0ffff17 ldw r3,-4(fp) d674: 189a8060 cmpeqi r2,r3,27137 d678: 1000041e bne r2,zero,d68c <altera_avalon_jtag_uart_ioctl+0x44> d67c: e0ffff17 ldw r3,-4(fp) d680: 189a80a0 cmpeqi r2,r3,27138 d684: 10001b1e bne r2,zero,d6f4 <altera_avalon_jtag_uart_ioctl+0xac> d688: 00002706 br d728 <altera_avalon_jtag_uart_ioctl+0xe0> { case TIOCSTIMEOUT: /* Set the time to wait until assuming host is not connected */ if (sp->timeout != INT_MAX) d68c: e0bffb17 ldw r2,-20(fp) d690: 10c00117 ldw r3,4(r2) d694: 00a00034 movhi r2,32768 d698: 10bfffc4 addi r2,r2,-1 d69c: 18802226 beq r3,r2,d728 <altera_avalon_jtag_uart_ioctl+0xe0> { int timeout = *((int *)arg); d6a0: e0bffd17 ldw r2,-12(fp) d6a4: 10800017 ldw r2,0(r2) d6a8: e0bff915 stw r2,-28(fp) sp->timeout = (timeout >= 2 && timeout < INT_MAX) ? timeout : INT_MAX - 1; d6ac: e0bff917 ldw r2,-28(fp) d6b0: 10800090 cmplti r2,r2,2 d6b4: 1000071e bne r2,zero,d6d4 <altera_avalon_jtag_uart_ioctl+0x8c> d6b8: e0fff917 ldw r3,-28(fp) d6bc: 00a00034 movhi r2,32768 d6c0: 10bfffc4 addi r2,r2,-1 d6c4: 18800326 beq r3,r2,d6d4 <altera_avalon_jtag_uart_ioctl+0x8c> d6c8: e0bff917 ldw r2,-28(fp) d6cc: e0bffe15 stw r2,-8(fp) d6d0: 00000306 br d6e0 <altera_avalon_jtag_uart_ioctl+0x98> d6d4: 00e00034 movhi r3,32768 d6d8: 18ffff84 addi r3,r3,-2 d6dc: e0fffe15 stw r3,-8(fp) d6e0: e0bffb17 ldw r2,-20(fp) d6e4: e0fffe17 ldw r3,-8(fp) d6e8: 10c00115 stw r3,4(r2) rc = 0; d6ec: e03ffa15 stw zero,-24(fp) } break; d6f0: 00000d06 br d728 <altera_avalon_jtag_uart_ioctl+0xe0> case TIOCGCONNECTED: /* Find out whether host is connected */ if (sp->timeout != INT_MAX) d6f4: e0bffb17 ldw r2,-20(fp) d6f8: 10c00117 ldw r3,4(r2) d6fc: 00a00034 movhi r2,32768 d700: 10bfffc4 addi r2,r2,-1 d704: 18800826 beq r3,r2,d728 <altera_avalon_jtag_uart_ioctl+0xe0> { *((int *)arg) = (sp->host_inactive < sp->timeout) ? 1 : 0; d708: e13ffd17 ldw r4,-12(fp) d70c: e0bffb17 ldw r2,-20(fp) d710: 10c00917 ldw r3,36(r2) d714: e0bffb17 ldw r2,-20(fp) d718: 10800117 ldw r2,4(r2) d71c: 1885803a cmpltu r2,r3,r2 d720: 20800015 stw r2,0(r4) rc = 0; d724: e03ffa15 stw zero,-24(fp) default: break; } return rc; d728: e0bffa17 ldw r2,-24(fp) } d72c: e037883a mov sp,fp d730: df000017 ldw fp,0(sp) d734: dec00104 addi sp,sp,4 d738: f800283a ret 0000d73c <altera_avalon_jtag_uart_read>: /* ----------------------------------------------------------- */ int altera_avalon_jtag_uart_read(altera_avalon_jtag_uart_state* sp, char * buffer, int space, int flags) { d73c: defff204 addi sp,sp,-56 d740: dfc00d15 stw ra,52(sp) d744: df000c15 stw fp,48(sp) d748: df000c04 addi fp,sp,48 d74c: e13ffb15 stw r4,-20(fp) d750: e17ffc15 stw r5,-16(fp) d754: e1bffd15 stw r6,-12(fp) d758: e1fffe15 stw r7,-8(fp) char * ptr = buffer; d75c: e0bffc17 ldw r2,-16(fp) d760: e0bffa15 stw r2,-24(fp) * When running in a multi threaded environment, obtain the "read_lock" * semaphore. This ensures that reading from the device is thread-safe. */ ALT_SEM_PEND (sp->read_lock, 0); while (space > 0) d764: 00004806 br d888 <altera_avalon_jtag_uart_read+0x14c> unsigned int in, out; /* Read as much data as possible */ do { in = sp->rx_in; d768: e0bffb17 ldw r2,-20(fp) d76c: 10800a17 ldw r2,40(r2) d770: e0bff715 stw r2,-36(fp) out = sp->rx_out; d774: e0bffb17 ldw r2,-20(fp) d778: 10800b17 ldw r2,44(r2) d77c: e0bff615 stw r2,-40(fp) if (in >= out) d780: e0fff717 ldw r3,-36(fp) d784: e0bff617 ldw r2,-40(fp) d788: 18800536 bltu r3,r2,d7a0 <altera_avalon_jtag_uart_read+0x64> n = in - out; d78c: e0bff717 ldw r2,-36(fp) d790: e0fff617 ldw r3,-40(fp) d794: 10c5c83a sub r2,r2,r3 d798: e0bff815 stw r2,-32(fp) d79c: 00000406 br d7b0 <altera_avalon_jtag_uart_read+0x74> else n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out; d7a0: 00820004 movi r2,2048 d7a4: e0fff617 ldw r3,-40(fp) d7a8: 10c5c83a sub r2,r2,r3 d7ac: e0bff815 stw r2,-32(fp) if (n == 0) d7b0: e0bff817 ldw r2,-32(fp) d7b4: 1005003a cmpeq r2,r2,zero d7b8: 10001f1e bne r2,zero,d838 <altera_avalon_jtag_uart_read+0xfc> break; /* No more data available */ if (n > space) d7bc: e0fffd17 ldw r3,-12(fp) d7c0: e0bff817 ldw r2,-32(fp) d7c4: 1880022e bgeu r3,r2,d7d0 <altera_avalon_jtag_uart_read+0x94> n = space; d7c8: e0bffd17 ldw r2,-12(fp) d7cc: e0bff815 stw r2,-32(fp) memcpy(ptr, sp->rx_buf + out, n); d7d0: e0bffb17 ldw r2,-20(fp) d7d4: 10c00e04 addi r3,r2,56 d7d8: e0bff617 ldw r2,-40(fp) d7dc: 1887883a add r3,r3,r2 d7e0: e0bffa17 ldw r2,-24(fp) d7e4: 1009883a mov r4,r2 d7e8: 180b883a mov r5,r3 d7ec: e1bff817 ldw r6,-32(fp) d7f0: 00080140 call 8014 <memcpy> ptr += n; d7f4: e0fff817 ldw r3,-32(fp) d7f8: e0bffa17 ldw r2,-24(fp) d7fc: 10c5883a add r2,r2,r3 d800: e0bffa15 stw r2,-24(fp) space -= n; d804: e0fffd17 ldw r3,-12(fp) d808: e0bff817 ldw r2,-32(fp) d80c: 1885c83a sub r2,r3,r2 d810: e0bffd15 stw r2,-12(fp) sp->rx_out = (out + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN; d814: e0fff617 ldw r3,-40(fp) d818: e0bff817 ldw r2,-32(fp) d81c: 1885883a add r2,r3,r2 d820: 10c1ffcc andi r3,r2,2047 d824: e0bffb17 ldw r2,-20(fp) d828: 10c00b15 stw r3,44(r2) } while (space > 0); d82c: e0bffd17 ldw r2,-12(fp) d830: 10800048 cmpgei r2,r2,1 d834: 103fcc1e bne r2,zero,d768 <altera_avalon_jtag_uart_read+0x2c> /* If we read any data then return it */ if (ptr != buffer) d838: e0fffa17 ldw r3,-24(fp) d83c: e0bffc17 ldw r2,-16(fp) d840: 1880141e bne r3,r2,d894 <altera_avalon_jtag_uart_read+0x158> break; /* If in non-blocking mode then return error */ if (flags & O_NONBLOCK) d844: e0bffe17 ldw r2,-8(fp) d848: 1090000c andi r2,r2,16384 d84c: 1004c03a cmpne r2,r2,zero d850: 1000101e bne r2,zero,d894 <altera_avalon_jtag_uart_read+0x158> while (in == sp->rx_in && sp->host_inactive < sp->timeout) ; } #else /* No OS: Always spin */ while (in == sp->rx_in && sp->host_inactive < sp->timeout) d854: e0bffb17 ldw r2,-20(fp) d858: 10c00a17 ldw r3,40(r2) d85c: e0bff717 ldw r2,-36(fp) d860: 1880051e bne r3,r2,d878 <altera_avalon_jtag_uart_read+0x13c> d864: e0bffb17 ldw r2,-20(fp) d868: 10c00917 ldw r3,36(r2) d86c: e0bffb17 ldw r2,-20(fp) d870: 10800117 ldw r2,4(r2) d874: 18bff736 bltu r3,r2,d854 <altera_avalon_jtag_uart_read+0x118> ; #endif /* __ucosii__ */ if (in == sp->rx_in) d878: e0bffb17 ldw r2,-20(fp) d87c: 10c00a17 ldw r3,40(r2) d880: e0bff717 ldw r2,-36(fp) d884: 18800326 beq r3,r2,d894 <altera_avalon_jtag_uart_read+0x158> * When running in a multi threaded environment, obtain the "read_lock" * semaphore. This ensures that reading from the device is thread-safe. */ ALT_SEM_PEND (sp->read_lock, 0); while (space > 0) d888: e0bffd17 ldw r2,-12(fp) d88c: 10800048 cmpgei r2,r2,1 d890: 103fb51e bne r2,zero,d768 <altera_avalon_jtag_uart_read+0x2c> * semaphore so that other threads can access the buffer. */ ALT_SEM_POST (sp->read_lock); if (ptr != buffer) d894: e0fffa17 ldw r3,-24(fp) d898: e0bffc17 ldw r2,-16(fp) d89c: 18801926 beq r3,r2,d904 <altera_avalon_jtag_uart_read+0x1c8> static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); d8a0: 0005303a rdctl r2,status d8a4: e0bff515 stw r2,-44(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); d8a8: e0fff517 ldw r3,-44(fp) d8ac: 00bfff84 movi r2,-2 d8b0: 1884703a and r2,r3,r2 d8b4: 1001703a wrctl status,r2 return context; d8b8: e0bff517 ldw r2,-44(fp) { /* If we read any data then there is space in the buffer so enable interrupts */ context = alt_irq_disable_all(); d8bc: e0bff915 stw r2,-28(fp) sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK; d8c0: e0bffb17 ldw r2,-20(fp) d8c4: 10800817 ldw r2,32(r2) d8c8: 10c00054 ori r3,r2,1 d8cc: e0bffb17 ldw r2,-20(fp) d8d0: 10c00815 stw r3,32(r2) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable); d8d4: e0bffb17 ldw r2,-20(fp) d8d8: 10800017 ldw r2,0(r2) d8dc: 11000104 addi r4,r2,4 d8e0: e0bffb17 ldw r2,-20(fp) d8e4: 10800817 ldw r2,32(r2) d8e8: 1007883a mov r3,r2 d8ec: 2005883a mov r2,r4 d8f0: 10c00035 stwio r3,0(r2) d8f4: e0bff917 ldw r2,-28(fp) d8f8: e0bff415 stw r2,-48(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); d8fc: e0bff417 ldw r2,-48(fp) d900: 1001703a wrctl status,r2 alt_irq_enable_all(context); } if (ptr != buffer) d904: e0fffa17 ldw r3,-24(fp) d908: e0bffc17 ldw r2,-16(fp) d90c: 18800526 beq r3,r2,d924 <altera_avalon_jtag_uart_read+0x1e8> return ptr - buffer; d910: e0fffa17 ldw r3,-24(fp) d914: e0bffc17 ldw r2,-16(fp) d918: 1887c83a sub r3,r3,r2 d91c: e0ffff15 stw r3,-4(fp) d920: 00000906 br d948 <altera_avalon_jtag_uart_read+0x20c> else if (flags & O_NONBLOCK) d924: e0bffe17 ldw r2,-8(fp) d928: 1090000c andi r2,r2,16384 d92c: 1005003a cmpeq r2,r2,zero d930: 1000031e bne r2,zero,d940 <altera_avalon_jtag_uart_read+0x204> return -EWOULDBLOCK; d934: 00bffd44 movi r2,-11 d938: e0bfff15 stw r2,-4(fp) d93c: 00000206 br d948 <altera_avalon_jtag_uart_read+0x20c> else return -EIO; d940: 00bffec4 movi r2,-5 d944: e0bfff15 stw r2,-4(fp) d948: e0bfff17 ldw r2,-4(fp) } d94c: e037883a mov sp,fp d950: dfc00117 ldw ra,4(sp) d954: df000017 ldw fp,0(sp) d958: dec00204 addi sp,sp,8 d95c: f800283a ret 0000d960 <altera_avalon_jtag_uart_write>: /* ----------------------------------------------------------- */ int altera_avalon_jtag_uart_write(altera_avalon_jtag_uart_state* sp, const char * ptr, int count, int flags) { d960: defff204 addi sp,sp,-56 d964: dfc00d15 stw ra,52(sp) d968: df000c15 stw fp,48(sp) d96c: df000c04 addi fp,sp,48 d970: e13ffb15 stw r4,-20(fp) d974: e17ffc15 stw r5,-16(fp) d978: e1bffd15 stw r6,-12(fp) d97c: e1fffe15 stw r7,-8(fp) /* Remove warning at optimisation level 03 by seting out to 0 */ unsigned int in, out=0; d980: e03ff915 stw zero,-28(fp) unsigned int n; alt_irq_context context; const char * start = ptr; d984: e0bffc17 ldw r2,-16(fp) d988: e0bff615 stw r2,-40(fp) ALT_SEM_PEND (sp->write_lock, 0); do { /* Copy as much as we can into the transmit buffer */ while (count > 0) d98c: 00003a06 br da78 <altera_avalon_jtag_uart_write+0x118> { /* We need a stable value of the out pointer to calculate the space available */ in = sp->tx_in; d990: e0bffb17 ldw r2,-20(fp) d994: 10800c17 ldw r2,48(r2) d998: e0bffa15 stw r2,-24(fp) out = sp->tx_out; d99c: e0bffb17 ldw r2,-20(fp) d9a0: 10800d17 ldw r2,52(r2) d9a4: e0bff915 stw r2,-28(fp) if (in < out) d9a8: e0fffa17 ldw r3,-24(fp) d9ac: e0bff917 ldw r2,-28(fp) d9b0: 1880062e bgeu r3,r2,d9cc <altera_avalon_jtag_uart_write+0x6c> n = out - 1 - in; d9b4: e0fff917 ldw r3,-28(fp) d9b8: e0bffa17 ldw r2,-24(fp) d9bc: 1885c83a sub r2,r3,r2 d9c0: 10bfffc4 addi r2,r2,-1 d9c4: e0bff815 stw r2,-32(fp) d9c8: 00000c06 br d9fc <altera_avalon_jtag_uart_write+0x9c> else if (out > 0) d9cc: e0bff917 ldw r2,-28(fp) d9d0: 1005003a cmpeq r2,r2,zero d9d4: 1000051e bne r2,zero,d9ec <altera_avalon_jtag_uart_write+0x8c> n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in; d9d8: 00820004 movi r2,2048 d9dc: e0fffa17 ldw r3,-24(fp) d9e0: 10c5c83a sub r2,r2,r3 d9e4: e0bff815 stw r2,-32(fp) d9e8: 00000406 br d9fc <altera_avalon_jtag_uart_write+0x9c> else n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in; d9ec: 0081ffc4 movi r2,2047 d9f0: e0fffa17 ldw r3,-24(fp) d9f4: 10c5c83a sub r2,r2,r3 d9f8: e0bff815 stw r2,-32(fp) if (n == 0) d9fc: e0bff817 ldw r2,-32(fp) da00: 1005003a cmpeq r2,r2,zero da04: 10001f1e bne r2,zero,da84 <altera_avalon_jtag_uart_write+0x124> break; if (n > count) da08: e0fffd17 ldw r3,-12(fp) da0c: e0bff817 ldw r2,-32(fp) da10: 1880022e bgeu r3,r2,da1c <altera_avalon_jtag_uart_write+0xbc> n = count; da14: e0bffd17 ldw r2,-12(fp) da18: e0bff815 stw r2,-32(fp) memcpy(sp->tx_buf + in, ptr, n); da1c: e0bffb17 ldw r2,-20(fp) da20: 10c20e04 addi r3,r2,2104 da24: e0bffa17 ldw r2,-24(fp) da28: 1885883a add r2,r3,r2 da2c: e0fffc17 ldw r3,-16(fp) da30: 1009883a mov r4,r2 da34: 180b883a mov r5,r3 da38: e1bff817 ldw r6,-32(fp) da3c: 00080140 call 8014 <memcpy> ptr += n; da40: e0fff817 ldw r3,-32(fp) da44: e0bffc17 ldw r2,-16(fp) da48: 10c5883a add r2,r2,r3 da4c: e0bffc15 stw r2,-16(fp) count -= n; da50: e0fffd17 ldw r3,-12(fp) da54: e0bff817 ldw r2,-32(fp) da58: 1885c83a sub r2,r3,r2 da5c: e0bffd15 stw r2,-12(fp) sp->tx_in = (in + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN; da60: e0fffa17 ldw r3,-24(fp) da64: e0bff817 ldw r2,-32(fp) da68: 1885883a add r2,r3,r2 da6c: 10c1ffcc andi r3,r2,2047 da70: e0bffb17 ldw r2,-20(fp) da74: 10c00c15 stw r3,48(r2) ALT_SEM_PEND (sp->write_lock, 0); do { /* Copy as much as we can into the transmit buffer */ while (count > 0) da78: e0bffd17 ldw r2,-12(fp) da7c: 10800048 cmpgei r2,r2,1 da80: 103fc31e bne r2,zero,d990 <altera_avalon_jtag_uart_write+0x30> static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); da84: 0005303a rdctl r2,status da88: e0bff515 stw r2,-44(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); da8c: e0fff517 ldw r3,-44(fp) da90: 00bfff84 movi r2,-2 da94: 1884703a and r2,r3,r2 da98: 1001703a wrctl status,r2 return context; da9c: e0bff517 ldw r2,-44(fp) * to enable interrupts if there is no space left in the FIFO * * For now kick the interrupt routine every time to make it transmit * the data */ context = alt_irq_disable_all(); daa0: e0bff715 stw r2,-36(fp) sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK; daa4: e0bffb17 ldw r2,-20(fp) daa8: 10800817 ldw r2,32(r2) daac: 10c00094 ori r3,r2,2 dab0: e0bffb17 ldw r2,-20(fp) dab4: 10c00815 stw r3,32(r2) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable); dab8: e0bffb17 ldw r2,-20(fp) dabc: 10800017 ldw r2,0(r2) dac0: 11000104 addi r4,r2,4 dac4: e0bffb17 ldw r2,-20(fp) dac8: 10800817 ldw r2,32(r2) dacc: 1007883a mov r3,r2 dad0: 2005883a mov r2,r4 dad4: 10c00035 stwio r3,0(r2) dad8: e0bff717 ldw r2,-36(fp) dadc: e0bff415 stw r2,-48(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); dae0: e0bff417 ldw r2,-48(fp) dae4: 1001703a wrctl status,r2 /* * If there is any data left then either return now or block until * some has been sent */ /* consider: test whether there is anything there while doing this and delay for at most 2s. */ if (count > 0) dae8: e0bffd17 ldw r2,-12(fp) daec: 10800050 cmplti r2,r2,1 daf0: 1000111e bne r2,zero,db38 <altera_avalon_jtag_uart_write+0x1d8> { if (flags & O_NONBLOCK) daf4: e0bffe17 ldw r2,-8(fp) daf8: 1090000c andi r2,r2,16384 dafc: 1004c03a cmpne r2,r2,zero db00: 1000101e bne r2,zero,db44 <altera_avalon_jtag_uart_write+0x1e4> /* * No OS present: Always wait for data to be removed from buffer. Once * the interrupt routine has removed some data then we will be able to * insert some more. */ while (out == sp->tx_out && sp->host_inactive < sp->timeout) db04: e0bffb17 ldw r2,-20(fp) db08: 10c00d17 ldw r3,52(r2) db0c: e0bff917 ldw r2,-28(fp) db10: 1880051e bne r3,r2,db28 <altera_avalon_jtag_uart_write+0x1c8> db14: e0bffb17 ldw r2,-20(fp) db18: 10c00917 ldw r3,36(r2) db1c: e0bffb17 ldw r2,-20(fp) db20: 10800117 ldw r2,4(r2) db24: 18bff736 bltu r3,r2,db04 <altera_avalon_jtag_uart_write+0x1a4> ; #endif /* __ucosii__ */ if (out == sp->tx_out) db28: e0bffb17 ldw r2,-20(fp) db2c: 10c00d17 ldw r3,52(r2) db30: e0bff917 ldw r2,-28(fp) db34: 18800326 beq r3,r2,db44 <altera_avalon_jtag_uart_write+0x1e4> break; } } while (count > 0); db38: e0bffd17 ldw r2,-12(fp) db3c: 10800048 cmpgei r2,r2,1 db40: 103fcd1e bne r2,zero,da78 <altera_avalon_jtag_uart_write+0x118> * Now that access to the circular buffer is complete, release the write * semaphore so that other threads can access the buffer. */ ALT_SEM_POST (sp->write_lock); if (ptr != start) db44: e0fffc17 ldw r3,-16(fp) db48: e0bff617 ldw r2,-40(fp) db4c: 18800526 beq r3,r2,db64 <altera_avalon_jtag_uart_write+0x204> return ptr - start; db50: e0fffc17 ldw r3,-16(fp) db54: e0bff617 ldw r2,-40(fp) db58: 1887c83a sub r3,r3,r2 db5c: e0ffff15 stw r3,-4(fp) db60: 00000906 br db88 <altera_avalon_jtag_uart_write+0x228> else if (flags & O_NONBLOCK) db64: e0bffe17 ldw r2,-8(fp) db68: 1090000c andi r2,r2,16384 db6c: 1005003a cmpeq r2,r2,zero db70: 1000031e bne r2,zero,db80 <altera_avalon_jtag_uart_write+0x220> return -EWOULDBLOCK; db74: 00bffd44 movi r2,-11 db78: e0bfff15 stw r2,-4(fp) db7c: 00000206 br db88 <altera_avalon_jtag_uart_write+0x228> sp->tx_out = sp->tx_in = 0; return ptr - start + count; } #endif else return -EIO; /* Host not connected */ db80: 00bffec4 movi r2,-5 db84: e0bfff15 stw r2,-4(fp) db88: e0bfff17 ldw r2,-4(fp) } db8c: e037883a mov sp,fp db90: dfc00117 ldw ra,4(sp) db94: df000017 ldw fp,0(sp) db98: dec00204 addi sp,sp,8 db9c: f800283a ret 0000dba0 <lcd_write_command>: /* --------------------------------------------------------------------- */ static void lcd_write_command(altera_avalon_lcd_16207_state* sp, unsigned char command) { dba0: defffa04 addi sp,sp,-24 dba4: dfc00515 stw ra,20(sp) dba8: df000415 stw fp,16(sp) dbac: df000404 addi fp,sp,16 dbb0: e13ffe15 stw r4,-8(fp) dbb4: e17fff05 stb r5,-4(fp) unsigned int base = sp->base; dbb8: e0bffe17 ldw r2,-8(fp) dbbc: 10800017 ldw r2,0(r2) dbc0: e0bffd15 stw r2,-12(fp) /* We impose a timeout on the driver in case the LCD panel isn't connected. * The first time we call this function the timeout is approx 25ms * (assuming 5 cycles per loop and a 200MHz clock). Obviously systems * with slower clocks, or debug builds, or slower memory will take longer. */ int i = 1000000; dbc4: 008003f4 movhi r2,15 dbc8: 10909004 addi r2,r2,16960 dbcc: e0bffc15 stw r2,-16(fp) /* Don't bother if the LCD panel didn't work before */ if (sp->broken) dbd0: e0bffe17 ldw r2,-8(fp) dbd4: 10800803 ldbu r2,32(r2) dbd8: 10803fcc andi r2,r2,255 dbdc: 1080201c xori r2,r2,128 dbe0: 10bfe004 addi r2,r2,-128 dbe4: 1004c03a cmpne r2,r2,zero dbe8: 1000161e bne r2,zero,dc44 <lcd_write_command+0xa4> return; /* Wait until LCD isn't busy. */ while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK) dbec: 00000a06 br dc18 <lcd_write_command+0x78> if (--i == 0) dbf0: e0bffc17 ldw r2,-16(fp) dbf4: 10bfffc4 addi r2,r2,-1 dbf8: e0bffc15 stw r2,-16(fp) dbfc: e0bffc17 ldw r2,-16(fp) dc00: 1004c03a cmpne r2,r2,zero dc04: 1000041e bne r2,zero,dc18 <lcd_write_command+0x78> { sp->broken = 1; dc08: e0fffe17 ldw r3,-8(fp) dc0c: 00800044 movi r2,1 dc10: 18800805 stb r2,32(r3) return; dc14: 00000b06 br dc44 <lcd_write_command+0xa4> /* Don't bother if the LCD panel didn't work before */ if (sp->broken) return; /* Wait until LCD isn't busy. */ while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK) dc18: e0bffd17 ldw r2,-12(fp) dc1c: 10800104 addi r2,r2,4 dc20: 10800037 ldwio r2,0(r2) dc24: 1080200c andi r2,r2,128 dc28: 1004c03a cmpne r2,r2,zero dc2c: 103ff01e bne r2,zero,dbf0 <lcd_write_command+0x50> } /* Despite what it says in the datasheet, the LCD isn't ready to accept * a write immediately after it returns BUSY=0. Wait for 100us more. */ usleep(100); dc30: 01001904 movi r4,100 dc34: 000ce780 call ce78 <usleep> IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, command); dc38: e0bffd17 ldw r2,-12(fp) dc3c: e0ffff03 ldbu r3,-4(fp) dc40: 10c00035 stwio r3,0(r2) } dc44: e037883a mov sp,fp dc48: dfc00117 ldw ra,4(sp) dc4c: df000017 ldw fp,0(sp) dc50: dec00204 addi sp,sp,8 dc54: f800283a ret 0000dc58 <lcd_write_data>: /* --------------------------------------------------------------------- */ static void lcd_write_data(altera_avalon_lcd_16207_state* sp, unsigned char data) { dc58: defffa04 addi sp,sp,-24 dc5c: dfc00515 stw ra,20(sp) dc60: df000415 stw fp,16(sp) dc64: df000404 addi fp,sp,16 dc68: e13ffe15 stw r4,-8(fp) dc6c: e17fff05 stb r5,-4(fp) unsigned int base = sp->base; dc70: e0bffe17 ldw r2,-8(fp) dc74: 10800017 ldw r2,0(r2) dc78: e0bffd15 stw r2,-12(fp) /* We impose a timeout on the driver in case the LCD panel isn't connected. * The first time we call this function the timeout is approx 25ms * (assuming 5 cycles per loop and a 200MHz clock). Obviously systems * with slower clocks, or debug builds, or slower memory will take longer. */ int i = 1000000; dc7c: 008003f4 movhi r2,15 dc80: 10909004 addi r2,r2,16960 dc84: e0bffc15 stw r2,-16(fp) /* Don't bother if the LCD panel didn't work before */ if (sp->broken) dc88: e0bffe17 ldw r2,-8(fp) dc8c: 10800803 ldbu r2,32(r2) dc90: 10803fcc andi r2,r2,255 dc94: 1080201c xori r2,r2,128 dc98: 10bfe004 addi r2,r2,-128 dc9c: 1004c03a cmpne r2,r2,zero dca0: 10001d1e bne r2,zero,dd18 <lcd_write_data+0xc0> return; /* Wait until LCD isn't busy. */ while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK) dca4: 00000a06 br dcd0 <lcd_write_data+0x78> if (--i == 0) dca8: e0bffc17 ldw r2,-16(fp) dcac: 10bfffc4 addi r2,r2,-1 dcb0: e0bffc15 stw r2,-16(fp) dcb4: e0bffc17 ldw r2,-16(fp) dcb8: 1004c03a cmpne r2,r2,zero dcbc: 1000041e bne r2,zero,dcd0 <lcd_write_data+0x78> { sp->broken = 1; dcc0: e0fffe17 ldw r3,-8(fp) dcc4: 00800044 movi r2,1 dcc8: 18800805 stb r2,32(r3) return; dccc: 00001206 br dd18 <lcd_write_data+0xc0> /* Don't bother if the LCD panel didn't work before */ if (sp->broken) return; /* Wait until LCD isn't busy. */ while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK) dcd0: e0bffd17 ldw r2,-12(fp) dcd4: 10800104 addi r2,r2,4 dcd8: 10800037 ldwio r2,0(r2) dcdc: 1080200c andi r2,r2,128 dce0: 1004c03a cmpne r2,r2,zero dce4: 103ff01e bne r2,zero,dca8 <lcd_write_data+0x50> } /* Despite what it says in the datasheet, the LCD isn't ready to accept * a write immediately after it returns BUSY=0. Wait for 100us more. */ usleep(100); dce8: 01001904 movi r4,100 dcec: 000ce780 call ce78 <usleep> IOWR_ALTERA_AVALON_LCD_16207_DATA(base, data); dcf0: e0bffd17 ldw r2,-12(fp) dcf4: 10800204 addi r2,r2,8 dcf8: e0ffff03 ldbu r3,-4(fp) dcfc: 10c00035 stwio r3,0(r2) sp->address++; dd00: e0bffe17 ldw r2,-8(fp) dd04: 108008c3 ldbu r2,35(r2) dd08: 10800044 addi r2,r2,1 dd0c: 1007883a mov r3,r2 dd10: e0bffe17 ldw r2,-8(fp) dd14: 10c008c5 stb r3,35(r2) } dd18: e037883a mov sp,fp dd1c: dfc00117 ldw ra,4(sp) dd20: df000017 ldw fp,0(sp) dd24: dec00204 addi sp,sp,8 dd28: f800283a ret 0000dd2c <lcd_clear_screen>: /* --------------------------------------------------------------------- */ static void lcd_clear_screen(altera_avalon_lcd_16207_state* sp) { dd2c: defffb04 addi sp,sp,-20 dd30: dfc00415 stw ra,16(sp) dd34: df000315 stw fp,12(sp) dd38: dc000215 stw r16,8(sp) dd3c: df000204 addi fp,sp,8 dd40: e13fff15 stw r4,-4(fp) int y; lcd_write_command(sp, LCD_CMD_CLEAR); dd44: e13fff17 ldw r4,-4(fp) dd48: 01400044 movi r5,1 dd4c: 000dba00 call dba0 <lcd_write_command> sp->x = 0; dd50: e0bfff17 ldw r2,-4(fp) dd54: 10000845 stb zero,33(r2) sp->y = 0; dd58: e0bfff17 ldw r2,-4(fp) dd5c: 10000885 stb zero,34(r2) sp->address = 0; dd60: e0bfff17 ldw r2,-4(fp) dd64: 100008c5 stb zero,35(r2) for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) dd68: e03ffe15 stw zero,-8(fp) dd6c: 00001c06 br dde0 <lcd_clear_screen+0xb4> { memset(sp->line[y].data, ' ', sizeof(sp->line[0].data)); dd70: e13ffe17 ldw r4,-8(fp) dd74: 014018c4 movi r5,99 dd78: 0002c240 call 2c24 <__mulsi3> dd7c: 10c01004 addi r3,r2,64 dd80: e0bfff17 ldw r2,-4(fp) dd84: 1889883a add r4,r3,r2 dd88: 01400804 movi r5,32 dd8c: 01801444 movi r6,81 dd90: 00081940 call 8194 <memset> memset(sp->line[y].visible, ' ', sizeof(sp->line[0].visible)); dd94: e13ffe17 ldw r4,-8(fp) dd98: 014018c4 movi r5,99 dd9c: 0002c240 call 2c24 <__mulsi3> dda0: 10c00c04 addi r3,r2,48 dda4: e0bfff17 ldw r2,-4(fp) dda8: 1889883a add r4,r3,r2 ddac: 01400804 movi r5,32 ddb0: 01800404 movi r6,16 ddb4: 00081940 call 8194 <memset> sp->line[y].width = 0; ddb8: e13ffe17 ldw r4,-8(fp) ddbc: e43fff17 ldw r16,-4(fp) ddc0: 014018c4 movi r5,99 ddc4: 0002c240 call 2c24 <__mulsi3> ddc8: 1405883a add r2,r2,r16 ddcc: 10802404 addi r2,r2,144 ddd0: 10000045 stb zero,1(r2) sp->x = 0; sp->y = 0; sp->address = 0; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) ddd4: e0bffe17 ldw r2,-8(fp) ddd8: 10800044 addi r2,r2,1 dddc: e0bffe15 stw r2,-8(fp) dde0: e0bffe17 ldw r2,-8(fp) dde4: 10800090 cmplti r2,r2,2 dde8: 103fe11e bne r2,zero,dd70 <lcd_clear_screen+0x44> { memset(sp->line[y].data, ' ', sizeof(sp->line[0].data)); memset(sp->line[y].visible, ' ', sizeof(sp->line[0].visible)); sp->line[y].width = 0; } } ddec: e037883a mov sp,fp ddf0: dfc00217 ldw ra,8(sp) ddf4: df000117 ldw fp,4(sp) ddf8: dc000017 ldw r16,0(sp) ddfc: dec00304 addi sp,sp,12 de00: f800283a ret 0000de04 <lcd_repaint_screen>: /* --------------------------------------------------------------------- */ static void lcd_repaint_screen(altera_avalon_lcd_16207_state* sp) { de04: defff404 addi sp,sp,-48 de08: dfc00b15 stw ra,44(sp) de0c: df000a15 stw fp,40(sp) de10: dc800915 stw r18,36(sp) de14: dc400815 stw r17,32(sp) de18: dc000715 stw r16,28(sp) de1c: df000704 addi fp,sp,28 de20: e13fff15 stw r4,-4(fp) /* scrollpos controls how much the lines have scrolled round. The speed * each line scrolls at is controlled by its speed variable - while * scrolline lines will wrap at the position set by width */ int scrollpos = sp->scrollpos; de24: e0bfff17 ldw r2,-4(fp) de28: 10800943 ldbu r2,37(r2) de2c: 10803fcc andi r2,r2,255 de30: 1080201c xori r2,r2,128 de34: 10bfe004 addi r2,r2,-128 de38: e0bffc15 stw r2,-16(fp) for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) de3c: e03ffe15 stw zero,-8(fp) de40: 00006a06 br dfec <lcd_repaint_screen+0x1e8> { int width = sp->line[y].width; de44: e13ffe17 ldw r4,-8(fp) de48: e43fff17 ldw r16,-4(fp) de4c: 014018c4 movi r5,99 de50: 0002c240 call 2c24 <__mulsi3> de54: 1405883a add r2,r2,r16 de58: 10802404 addi r2,r2,144 de5c: 10800043 ldbu r2,1(r2) de60: 10803fcc andi r2,r2,255 de64: 1080201c xori r2,r2,128 de68: 10bfe004 addi r2,r2,-128 de6c: e0bffb15 stw r2,-20(fp) int offset = (scrollpos * sp->line[y].speed) >> 8; de70: e13ffe17 ldw r4,-8(fp) de74: e43fff17 ldw r16,-4(fp) de78: 014018c4 movi r5,99 de7c: 0002c240 call 2c24 <__mulsi3> de80: 1405883a add r2,r2,r16 de84: 10802404 addi r2,r2,144 de88: 10800083 ldbu r2,2(r2) de8c: 11003fcc andi r4,r2,255 de90: e17ffc17 ldw r5,-16(fp) de94: 0002c240 call 2c24 <__mulsi3> de98: 1005d23a srai r2,r2,8 de9c: e0bffa15 stw r2,-24(fp) if (offset >= width) dea0: e0fffa17 ldw r3,-24(fp) dea4: e0bffb17 ldw r2,-20(fp) dea8: 18800116 blt r3,r2,deb0 <lcd_repaint_screen+0xac> offset = 0; deac: e03ffa15 stw zero,-24(fp) for (x = 0 ; x < ALT_LCD_WIDTH ; x++) deb0: e03ffd15 stw zero,-12(fp) deb4: 00004706 br dfd4 <lcd_repaint_screen+0x1d0> { char c = sp->line[y].data[(x + offset) % width]; deb8: e47ffe17 ldw r17,-8(fp) debc: e0fffd17 ldw r3,-12(fp) dec0: e0bffa17 ldw r2,-24(fp) dec4: 1889883a add r4,r3,r2 dec8: e17ffb17 ldw r5,-20(fp) decc: 0002bb40 call 2bb4 <__modsi3> ded0: 1025883a mov r18,r2 ded4: e43fff17 ldw r16,-4(fp) ded8: 8809883a mov r4,r17 dedc: 014018c4 movi r5,99 dee0: 0002c240 call 2c24 <__mulsi3> dee4: 1405883a add r2,r2,r16 dee8: 1485883a add r2,r2,r18 deec: 10801004 addi r2,r2,64 def0: 10800003 ldbu r2,0(r2) def4: e0bff945 stb r2,-27(fp) /* Writing data takes 40us, so don't do it unless required */ if (sp->line[y].visible[x] != c) def8: e13ffe17 ldw r4,-8(fp) defc: e47ffd17 ldw r17,-12(fp) df00: e43fff17 ldw r16,-4(fp) df04: 014018c4 movi r5,99 df08: 0002c240 call 2c24 <__mulsi3> df0c: 1405883a add r2,r2,r16 df10: 1445883a add r2,r2,r17 df14: 10800c04 addi r2,r2,48 df18: 10800003 ldbu r2,0(r2) df1c: 10c03fcc andi r3,r2,255 df20: 18c0201c xori r3,r3,128 df24: 18ffe004 addi r3,r3,-128 df28: e0bff947 ldb r2,-27(fp) df2c: 18802626 beq r3,r2,dfc8 <lcd_repaint_screen+0x1c4> { unsigned char address = x + colstart[y]; df30: e0fffe17 ldw r3,-8(fp) df34: d0a00f04 addi r2,gp,-32708 df38: 1885883a add r2,r3,r2 df3c: 10800003 ldbu r2,0(r2) df40: 1007883a mov r3,r2 df44: e0bffd17 ldw r2,-12(fp) df48: 1885883a add r2,r3,r2 df4c: e0bff905 stb r2,-28(fp) if (address != sp->address) df50: e0fff903 ldbu r3,-28(fp) df54: e0bfff17 ldw r2,-4(fp) df58: 108008c3 ldbu r2,35(r2) df5c: 10803fcc andi r2,r2,255 df60: 1080201c xori r2,r2,128 df64: 10bfe004 addi r2,r2,-128 df68: 18800926 beq r3,r2,df90 <lcd_repaint_screen+0x18c> { lcd_write_command(sp, LCD_CMD_WRITE_DATA | address); df6c: e0fff903 ldbu r3,-28(fp) df70: 00bfe004 movi r2,-128 df74: 1884b03a or r2,r3,r2 df78: 11403fcc andi r5,r2,255 df7c: e13fff17 ldw r4,-4(fp) df80: 000dba00 call dba0 <lcd_write_command> sp->address = address; df84: e0fff903 ldbu r3,-28(fp) df88: e0bfff17 ldw r2,-4(fp) df8c: 10c008c5 stb r3,35(r2) } lcd_write_data(sp, c); df90: e0bff943 ldbu r2,-27(fp) df94: 11403fcc andi r5,r2,255 df98: e13fff17 ldw r4,-4(fp) df9c: 000dc580 call dc58 <lcd_write_data> sp->line[y].visible[x] = c; dfa0: e13ffe17 ldw r4,-8(fp) dfa4: e47ffd17 ldw r17,-12(fp) dfa8: e43fff17 ldw r16,-4(fp) dfac: 014018c4 movi r5,99 dfb0: 0002c240 call 2c24 <__mulsi3> dfb4: 1405883a add r2,r2,r16 dfb8: 1445883a add r2,r2,r17 dfbc: 10c00c04 addi r3,r2,48 dfc0: e0bff943 ldbu r2,-27(fp) dfc4: 18800005 stb r2,0(r3) int width = sp->line[y].width; int offset = (scrollpos * sp->line[y].speed) >> 8; if (offset >= width) offset = 0; for (x = 0 ; x < ALT_LCD_WIDTH ; x++) dfc8: e0bffd17 ldw r2,-12(fp) dfcc: 10800044 addi r2,r2,1 dfd0: e0bffd15 stw r2,-12(fp) dfd4: e0bffd17 ldw r2,-12(fp) dfd8: 10800410 cmplti r2,r2,16 dfdc: 103fb61e bne r2,zero,deb8 <lcd_repaint_screen+0xb4> * scrolline lines will wrap at the position set by width */ int scrollpos = sp->scrollpos; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) dfe0: e0bffe17 ldw r2,-8(fp) dfe4: 10800044 addi r2,r2,1 dfe8: e0bffe15 stw r2,-8(fp) dfec: e0bffe17 ldw r2,-8(fp) dff0: 10800090 cmplti r2,r2,2 dff4: 103f931e bne r2,zero,de44 <lcd_repaint_screen+0x40> lcd_write_data(sp, c); sp->line[y].visible[x] = c; } } } } dff8: e037883a mov sp,fp dffc: dfc00417 ldw ra,16(sp) e000: df000317 ldw fp,12(sp) e004: dc800217 ldw r18,8(sp) e008: dc400117 ldw r17,4(sp) e00c: dc000017 ldw r16,0(sp) e010: dec00504 addi sp,sp,20 e014: f800283a ret 0000e018 <lcd_scroll_up>: /* --------------------------------------------------------------------- */ static void lcd_scroll_up(altera_avalon_lcd_16207_state* sp) { e018: defffb04 addi sp,sp,-20 e01c: dfc00415 stw ra,16(sp) e020: df000315 stw fp,12(sp) e024: dc000215 stw r16,8(sp) e028: df000204 addi fp,sp,8 e02c: e13fff15 stw r4,-4(fp) int y; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) e030: e03ffe15 stw zero,-8(fp) e034: 00002106 br e0bc <lcd_scroll_up+0xa4> { if (y < ALT_LCD_HEIGHT-1) e038: e0bffe17 ldw r2,-8(fp) e03c: 10800048 cmpgei r2,r2,1 e040: 1000121e bne r2,zero,e08c <lcd_scroll_up+0x74> memcpy(sp->line[y].data, sp->line[y+1].data, ALT_LCD_VIRTUAL_WIDTH); e044: e13ffe17 ldw r4,-8(fp) e048: 014018c4 movi r5,99 e04c: 0002c240 call 2c24 <__mulsi3> e050: 10c01004 addi r3,r2,64 e054: e0bfff17 ldw r2,-4(fp) e058: 18a1883a add r16,r3,r2 e05c: e0bffe17 ldw r2,-8(fp) e060: 11000044 addi r4,r2,1 e064: 014018c4 movi r5,99 e068: 0002c240 call 2c24 <__mulsi3> e06c: 10c01004 addi r3,r2,64 e070: e0bfff17 ldw r2,-4(fp) e074: 1885883a add r2,r3,r2 e078: 8009883a mov r4,r16 e07c: 100b883a mov r5,r2 e080: 01801404 movi r6,80 e084: 00080140 call 8014 <memcpy> e088: 00000906 br e0b0 <lcd_scroll_up+0x98> else memset(sp->line[y].data, ' ', ALT_LCD_VIRTUAL_WIDTH); e08c: e13ffe17 ldw r4,-8(fp) e090: 014018c4 movi r5,99 e094: 0002c240 call 2c24 <__mulsi3> e098: 10c01004 addi r3,r2,64 e09c: e0bfff17 ldw r2,-4(fp) e0a0: 1889883a add r4,r3,r2 e0a4: 01400804 movi r5,32 e0a8: 01801404 movi r6,80 e0ac: 00081940 call 8194 <memset> static void lcd_scroll_up(altera_avalon_lcd_16207_state* sp) { int y; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) e0b0: e0bffe17 ldw r2,-8(fp) e0b4: 10800044 addi r2,r2,1 e0b8: e0bffe15 stw r2,-8(fp) e0bc: e0bffe17 ldw r2,-8(fp) e0c0: 10800090 cmplti r2,r2,2 e0c4: 103fdc1e bne r2,zero,e038 <lcd_scroll_up+0x20> memcpy(sp->line[y].data, sp->line[y+1].data, ALT_LCD_VIRTUAL_WIDTH); else memset(sp->line[y].data, ' ', ALT_LCD_VIRTUAL_WIDTH); } sp->y--; e0c8: e0bfff17 ldw r2,-4(fp) e0cc: 10800883 ldbu r2,34(r2) e0d0: 10bfffc4 addi r2,r2,-1 e0d4: 1007883a mov r3,r2 e0d8: e0bfff17 ldw r2,-4(fp) e0dc: 10c00885 stb r3,34(r2) } e0e0: e037883a mov sp,fp e0e4: dfc00217 ldw ra,8(sp) e0e8: df000117 ldw fp,4(sp) e0ec: dc000017 ldw r16,0(sp) e0f0: dec00304 addi sp,sp,12 e0f4: f800283a ret 0000e0f8 <lcd_handle_escape>: /* --------------------------------------------------------------------- */ static void lcd_handle_escape(altera_avalon_lcd_16207_state* sp, char c) { e0f8: defff804 addi sp,sp,-32 e0fc: dfc00715 stw ra,28(sp) e100: df000615 stw fp,24(sp) e104: df000604 addi fp,sp,24 e108: e13ffd15 stw r4,-12(fp) e10c: e17ffe05 stb r5,-8(fp) int parm1 = 0, parm2 = 0; e110: e03ffc15 stw zero,-16(fp) e114: e03ffb15 stw zero,-20(fp) if (sp->escape[0] == '[') e118: e0bffd17 ldw r2,-12(fp) e11c: 10800a03 ldbu r2,40(r2) e120: 10803fcc andi r2,r2,255 e124: 1080201c xori r2,r2,128 e128: 10bfe004 addi r2,r2,-128 e12c: 108016d8 cmpnei r2,r2,91 e130: 10004d1e bne r2,zero,e268 <lcd_handle_escape+0x170> { char * ptr = sp->escape+1; e134: e0bffd17 ldw r2,-12(fp) e138: 10800a04 addi r2,r2,40 e13c: 10800044 addi r2,r2,1 e140: e0bffa15 stw r2,-24(fp) while (isdigit(*ptr)) e144: 00000f06 br e184 <lcd_handle_escape+0x8c> parm1 = (parm1 * 10) + (*ptr++ - '0'); e148: e13ffc17 ldw r4,-16(fp) e14c: 01400284 movi r5,10 e150: 0002c240 call 2c24 <__mulsi3> e154: 1007883a mov r3,r2 e158: e0bffa17 ldw r2,-24(fp) e15c: 10800003 ldbu r2,0(r2) e160: 10803fcc andi r2,r2,255 e164: 1080201c xori r2,r2,128 e168: 10bfe004 addi r2,r2,-128 e16c: 1885883a add r2,r3,r2 e170: 10bff404 addi r2,r2,-48 e174: e0bffc15 stw r2,-16(fp) e178: e0bffa17 ldw r2,-24(fp) e17c: 10800044 addi r2,r2,1 e180: e0bffa15 stw r2,-24(fp) int parm1 = 0, parm2 = 0; if (sp->escape[0] == '[') { char * ptr = sp->escape+1; while (isdigit(*ptr)) e184: e0bffa17 ldw r2,-24(fp) e188: 10800003 ldbu r2,0(r2) e18c: 10803fcc andi r2,r2,255 e190: 1080201c xori r2,r2,128 e194: 10bfe004 addi r2,r2,-128 e198: 1007883a mov r3,r2 e19c: 00800074 movhi r2,1 e1a0: 10887d04 addi r2,r2,8692 e1a4: 10800017 ldw r2,0(r2) e1a8: 1885883a add r2,r3,r2 e1ac: 10800003 ldbu r2,0(r2) e1b0: 10803fcc andi r2,r2,255 e1b4: 1080010c andi r2,r2,4 e1b8: 1004c03a cmpne r2,r2,zero e1bc: 103fe21e bne r2,zero,e148 <lcd_handle_escape+0x50> parm1 = (parm1 * 10) + (*ptr++ - '0'); if (*ptr == ';') e1c0: e0bffa17 ldw r2,-24(fp) e1c4: 10800003 ldbu r2,0(r2) e1c8: 10803fcc andi r2,r2,255 e1cc: 1080201c xori r2,r2,128 e1d0: 10bfe004 addi r2,r2,-128 e1d4: 10800ed8 cmpnei r2,r2,59 e1d8: 1000251e bne r2,zero,e270 <lcd_handle_escape+0x178> { ptr++; e1dc: e0bffa17 ldw r2,-24(fp) e1e0: 10800044 addi r2,r2,1 e1e4: e0bffa15 stw r2,-24(fp) while (isdigit(*ptr)) e1e8: 00000f06 br e228 <lcd_handle_escape+0x130> parm2 = (parm2 * 10) + (*ptr++ - '0'); e1ec: e13ffb17 ldw r4,-20(fp) e1f0: 01400284 movi r5,10 e1f4: 0002c240 call 2c24 <__mulsi3> e1f8: 1007883a mov r3,r2 e1fc: e0bffa17 ldw r2,-24(fp) e200: 10800003 ldbu r2,0(r2) e204: 10803fcc andi r2,r2,255 e208: 1080201c xori r2,r2,128 e20c: 10bfe004 addi r2,r2,-128 e210: 1885883a add r2,r3,r2 e214: 10bff404 addi r2,r2,-48 e218: e0bffb15 stw r2,-20(fp) e21c: e0bffa17 ldw r2,-24(fp) e220: 10800044 addi r2,r2,1 e224: e0bffa15 stw r2,-24(fp) parm1 = (parm1 * 10) + (*ptr++ - '0'); if (*ptr == ';') { ptr++; while (isdigit(*ptr)) e228: e0bffa17 ldw r2,-24(fp) e22c: 10800003 ldbu r2,0(r2) e230: 10803fcc andi r2,r2,255 e234: 1080201c xori r2,r2,128 e238: 10bfe004 addi r2,r2,-128 e23c: 1007883a mov r3,r2 e240: 00800074 movhi r2,1 e244: 10887d04 addi r2,r2,8692 e248: 10800017 ldw r2,0(r2) e24c: 1885883a add r2,r3,r2 e250: 10800003 ldbu r2,0(r2) e254: 10803fcc andi r2,r2,255 e258: 1080010c andi r2,r2,4 e25c: 1004c03a cmpne r2,r2,zero e260: 103fe21e bne r2,zero,e1ec <lcd_handle_escape+0xf4> e264: 00000206 br e270 <lcd_handle_escape+0x178> parm2 = (parm2 * 10) + (*ptr++ - '0'); } } else parm1 = -1; e268: 00bfffc4 movi r2,-1 e26c: e0bffc15 stw r2,-16(fp) switch (c) e270: e0bffe07 ldb r2,-8(fp) e274: e0bfff15 stw r2,-4(fp) e278: e0ffff17 ldw r3,-4(fp) e27c: 188012a0 cmpeqi r2,r3,74 e280: 10002f1e bne r2,zero,e340 <lcd_handle_escape+0x248> e284: e0ffff17 ldw r3,-4(fp) e288: 188012c8 cmpgei r2,r3,75 e28c: 1000041e bne r2,zero,e2a0 <lcd_handle_escape+0x1a8> e290: e0ffff17 ldw r3,-4(fp) e294: 18801220 cmpeqi r2,r3,72 e298: 1000081e bne r2,zero,e2bc <lcd_handle_escape+0x1c4> e29c: 00004a06 br e3c8 <lcd_handle_escape+0x2d0> e2a0: e0ffff17 ldw r3,-4(fp) e2a4: 188012e0 cmpeqi r2,r3,75 e2a8: 10002b1e bne r2,zero,e358 <lcd_handle_escape+0x260> e2ac: e0ffff17 ldw r3,-4(fp) e2b0: 188019a0 cmpeqi r2,r3,102 e2b4: 1000011e bne r2,zero,e2bc <lcd_handle_escape+0x1c4> e2b8: 00004306 br e3c8 <lcd_handle_escape+0x2d0> { case 'H': /* ESC '[' <y> ';' <x> 'H' : Move cursor to location */ case 'f': /* Same as above */ if (parm2 > 0) e2bc: e0bffb17 ldw r2,-20(fp) e2c0: 10800050 cmplti r2,r2,1 e2c4: 1000051e bne r2,zero,e2dc <lcd_handle_escape+0x1e4> sp->x = parm2 - 1; e2c8: e0bffb17 ldw r2,-20(fp) e2cc: 10bfffc4 addi r2,r2,-1 e2d0: 1007883a mov r3,r2 e2d4: e0bffd17 ldw r2,-12(fp) e2d8: 10c00845 stb r3,33(r2) if (parm1 > 0) e2dc: e0bffc17 ldw r2,-16(fp) e2e0: 10800050 cmplti r2,r2,1 e2e4: 1000381e bne r2,zero,e3c8 <lcd_handle_escape+0x2d0> { sp->y = parm1 - 1; e2e8: e0bffc17 ldw r2,-16(fp) e2ec: 10bfffc4 addi r2,r2,-1 e2f0: 1007883a mov r3,r2 e2f4: e0bffd17 ldw r2,-12(fp) e2f8: 10c00885 stb r3,34(r2) if (sp->y > ALT_LCD_HEIGHT * 2) e2fc: e0bffd17 ldw r2,-12(fp) e300: 10800883 ldbu r2,34(r2) e304: 10803fcc andi r2,r2,255 e308: 10800170 cmpltui r2,r2,5 e30c: 1000061e bne r2,zero,e328 <lcd_handle_escape+0x230> sp->y = ALT_LCD_HEIGHT * 2; e310: e0fffd17 ldw r3,-12(fp) e314: 00800104 movi r2,4 e318: 18800885 stb r2,34(r3) while (sp->y > ALT_LCD_HEIGHT) e31c: 00000206 br e328 <lcd_handle_escape+0x230> lcd_scroll_up(sp); e320: e13ffd17 ldw r4,-12(fp) e324: 000e0180 call e018 <lcd_scroll_up> if (parm1 > 0) { sp->y = parm1 - 1; if (sp->y > ALT_LCD_HEIGHT * 2) sp->y = ALT_LCD_HEIGHT * 2; while (sp->y > ALT_LCD_HEIGHT) e328: e0bffd17 ldw r2,-12(fp) e32c: 10800883 ldbu r2,34(r2) e330: 10803fcc andi r2,r2,255 e334: 108000e8 cmpgeui r2,r2,3 e338: 103ff91e bne r2,zero,e320 <lcd_handle_escape+0x228> lcd_scroll_up(sp); } break; e33c: 00002206 br e3c8 <lcd_handle_escape+0x2d0> /* ESC J is clear to beginning of line [unimplemented] * ESC [ 0 J is clear to bottom of screen [unimplemented] * ESC [ 1 J is clear to beginning of screen [unimplemented] * ESC [ 2 J is clear screen */ if (parm1 == 2) e340: e0bffc17 ldw r2,-16(fp) e344: 10800098 cmpnei r2,r2,2 e348: 10001f1e bne r2,zero,e3c8 <lcd_handle_escape+0x2d0> lcd_clear_screen(sp); e34c: e13ffd17 ldw r4,-12(fp) e350: 000dd2c0 call dd2c <lcd_clear_screen> break; e354: 00001c06 br e3c8 <lcd_handle_escape+0x2d0> /* ESC K is clear to end of line * ESC [ 0 K is clear to end of line * ESC [ 1 K is clear to beginning of line [unimplemented] * ESC [ 2 K is clear line [unimplemented] */ if (parm1 < 1) e358: e0bffc17 ldw r2,-16(fp) e35c: 10800048 cmpgei r2,r2,1 e360: 1000191e bne r2,zero,e3c8 <lcd_handle_escape+0x2d0> { if (sp->x < ALT_LCD_VIRTUAL_WIDTH) e364: e0bffd17 ldw r2,-12(fp) e368: 10800843 ldbu r2,33(r2) e36c: 10803fcc andi r2,r2,255 e370: 10801428 cmpgeui r2,r2,80 e374: 1000141e bne r2,zero,e3c8 <lcd_handle_escape+0x2d0> memset(sp->line[sp->y].data + sp->x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp->x); e378: e0bffd17 ldw r2,-12(fp) e37c: 10800883 ldbu r2,34(r2) e380: 11003fcc andi r4,r2,255 e384: 014018c4 movi r5,99 e388: 0002c240 call 2c24 <__mulsi3> e38c: 10c01004 addi r3,r2,64 e390: e0bffd17 ldw r2,-12(fp) e394: 1887883a add r3,r3,r2 e398: e0bffd17 ldw r2,-12(fp) e39c: 10800843 ldbu r2,33(r2) e3a0: 10803fcc andi r2,r2,255 e3a4: 1889883a add r4,r3,r2 e3a8: e0bffd17 ldw r2,-12(fp) e3ac: 10800843 ldbu r2,33(r2) e3b0: 10c03fcc andi r3,r2,255 e3b4: 00801404 movi r2,80 e3b8: 10c5c83a sub r2,r2,r3 e3bc: 100d883a mov r6,r2 e3c0: 01400804 movi r5,32 e3c4: 00081940 call 8194 <memset> } break; } } e3c8: e037883a mov sp,fp e3cc: dfc00117 ldw ra,4(sp) e3d0: df000017 ldw fp,0(sp) e3d4: dec00204 addi sp,sp,8 e3d8: f800283a ret 0000e3dc <altera_avalon_lcd_16207_write>: /* --------------------------------------------------------------------- */ int altera_avalon_lcd_16207_write(altera_avalon_lcd_16207_state* sp, const char* ptr, int len, int flags) { e3dc: defff004 addi sp,sp,-64 e3e0: dfc00f15 stw ra,60(sp) e3e4: df000e15 stw fp,56(sp) e3e8: dc800d15 stw r18,52(sp) e3ec: dc400c15 stw r17,48(sp) e3f0: dc000b15 stw r16,44(sp) e3f4: df000b04 addi fp,sp,44 e3f8: e13ffc15 stw r4,-16(fp) e3fc: e17ffd15 stw r5,-12(fp) e400: e1bffe15 stw r6,-8(fp) e404: e1ffff15 stw r7,-4(fp) const char* end = ptr + len; e408: e0bffe17 ldw r2,-8(fp) e40c: 1007883a mov r3,r2 e410: e0bffd17 ldw r2,-12(fp) e414: 10c5883a add r2,r2,r3 e418: e0bffb15 stw r2,-20(fp) ALT_SEM_PEND (sp->write_lock, 0); /* Tell the routine which is called off the timer interrupt that the * foreground routines are active so it must not repaint the display. */ sp->active = 1; e41c: e0fffc17 ldw r3,-16(fp) e420: 00800044 movi r2,1 e424: 188009c5 stb r2,39(r3) for ( ; ptr < end ; ptr++) e428: 0000a306 br e6b8 <altera_avalon_lcd_16207_write+0x2dc> { char c = *ptr; e42c: e0bffd17 ldw r2,-12(fp) e430: 10800003 ldbu r2,0(r2) e434: e0bff805 stb r2,-32(fp) if (sp->esccount >= 0) e438: e0bffc17 ldw r2,-16(fp) e43c: 10800903 ldbu r2,36(r2) e440: 10803fcc andi r2,r2,255 e444: 1080201c xori r2,r2,128 e448: 10bfe004 addi r2,r2,-128 e44c: 1004803a cmplt r2,r2,zero e450: 10003b1e bne r2,zero,e540 <altera_avalon_lcd_16207_write+0x164> { unsigned int esccount = sp->esccount; e454: e0bffc17 ldw r2,-16(fp) e458: 10800903 ldbu r2,36(r2) e45c: 10803fcc andi r2,r2,255 e460: 1080201c xori r2,r2,128 e464: 10bfe004 addi r2,r2,-128 e468: e0bff715 stw r2,-36(fp) /* Single character escape sequences can end with any character * Multi character escape sequences start with '[' and contain * digits and semicolons before terminating */ if ((esccount == 0 && c != '[') || e46c: e0bff717 ldw r2,-36(fp) e470: 1004c03a cmpne r2,r2,zero e474: 1000031e bne r2,zero,e484 <altera_avalon_lcd_16207_write+0xa8> e478: e0bff807 ldb r2,-32(fp) e47c: 108016d8 cmpnei r2,r2,91 e480: 1000111e bne r2,zero,e4c8 <altera_avalon_lcd_16207_write+0xec> e484: e0bff717 ldw r2,-36(fp) e488: 1005003a cmpeq r2,r2,zero e48c: 10001a1e bne r2,zero,e4f8 <altera_avalon_lcd_16207_write+0x11c> e490: e0bff807 ldb r2,-32(fp) e494: 1007883a mov r3,r2 e498: 00800074 movhi r2,1 e49c: 10887d04 addi r2,r2,8692 e4a0: 10800017 ldw r2,0(r2) e4a4: 1885883a add r2,r3,r2 e4a8: 10800003 ldbu r2,0(r2) e4ac: 10803fcc andi r2,r2,255 e4b0: 1080010c andi r2,r2,4 e4b4: 1004c03a cmpne r2,r2,zero e4b8: 10000f1e bne r2,zero,e4f8 <altera_avalon_lcd_16207_write+0x11c> e4bc: e0bff807 ldb r2,-32(fp) e4c0: 10800ee0 cmpeqi r2,r2,59 e4c4: 10000c1e bne r2,zero,e4f8 <altera_avalon_lcd_16207_write+0x11c> (esccount > 0 && !isdigit(c) && c != ';')) { sp->escape[esccount] = 0; e4c8: e0fff717 ldw r3,-36(fp) e4cc: e0bffc17 ldw r2,-16(fp) e4d0: 1885883a add r2,r3,r2 e4d4: 10800a04 addi r2,r2,40 e4d8: 10000005 stb zero,0(r2) lcd_handle_escape(sp, c); e4dc: e17ff807 ldb r5,-32(fp) e4e0: e13ffc17 ldw r4,-16(fp) e4e4: 000e0f80 call e0f8 <lcd_handle_escape> sp->esccount = -1; e4e8: e0fffc17 ldw r3,-16(fp) e4ec: 00bfffc4 movi r2,-1 e4f0: 18800905 stb r2,36(r3) /* Single character escape sequences can end with any character * Multi character escape sequences start with '[' and contain * digits and semicolons before terminating */ if ((esccount == 0 && c != '[') || e4f4: 00006d06 br e6ac <altera_avalon_lcd_16207_write+0x2d0> lcd_handle_escape(sp, c); sp->esccount = -1; } else if (sp->esccount < sizeof(sp->escape)-1) e4f8: e0bffc17 ldw r2,-16(fp) e4fc: 10800903 ldbu r2,36(r2) e500: 10803fcc andi r2,r2,255 e504: 108001e8 cmpgeui r2,r2,7 e508: 1000681e bne r2,zero,e6ac <altera_avalon_lcd_16207_write+0x2d0> { sp->escape[esccount] = c; e50c: e0fff717 ldw r3,-36(fp) e510: e0bffc17 ldw r2,-16(fp) e514: 1885883a add r2,r3,r2 e518: 10c00a04 addi r3,r2,40 e51c: e0bff803 ldbu r2,-32(fp) e520: 18800005 stb r2,0(r3) sp->esccount++; e524: e0bffc17 ldw r2,-16(fp) e528: 10800903 ldbu r2,36(r2) e52c: 10800044 addi r2,r2,1 e530: 1007883a mov r3,r2 e534: e0bffc17 ldw r2,-16(fp) e538: 10c00905 stb r3,36(r2) e53c: 00005b06 br e6ac <altera_avalon_lcd_16207_write+0x2d0> } } else if (c == 27) /* ESC */ e540: e0bff807 ldb r2,-32(fp) e544: 108006d8 cmpnei r2,r2,27 e548: 1000031e bne r2,zero,e558 <altera_avalon_lcd_16207_write+0x17c> { sp->esccount = 0; e54c: e0bffc17 ldw r2,-16(fp) e550: 10000905 stb zero,36(r2) e554: 00005506 br e6ac <altera_avalon_lcd_16207_write+0x2d0> } else if (c == '\r') e558: e0bff807 ldb r2,-32(fp) e55c: 10800358 cmpnei r2,r2,13 e560: 1000031e bne r2,zero,e570 <altera_avalon_lcd_16207_write+0x194> { sp->x = 0; e564: e0bffc17 ldw r2,-16(fp) e568: 10000845 stb zero,33(r2) e56c: 00004f06 br e6ac <altera_avalon_lcd_16207_write+0x2d0> } else if (c == '\n') e570: e0bff807 ldb r2,-32(fp) e574: 10800298 cmpnei r2,r2,10 e578: 1000101e bne r2,zero,e5bc <altera_avalon_lcd_16207_write+0x1e0> { sp->x = 0; e57c: e0bffc17 ldw r2,-16(fp) e580: 10000845 stb zero,33(r2) sp->y++; e584: e0bffc17 ldw r2,-16(fp) e588: 10800883 ldbu r2,34(r2) e58c: 10800044 addi r2,r2,1 e590: 1007883a mov r3,r2 e594: e0bffc17 ldw r2,-16(fp) e598: 10c00885 stb r3,34(r2) /* Let the cursor sit at X=0, Y=HEIGHT without scrolling so the user * can print two lines of data without losing one. */ if (sp->y > ALT_LCD_HEIGHT) e59c: e0bffc17 ldw r2,-16(fp) e5a0: 10800883 ldbu r2,34(r2) e5a4: 10803fcc andi r2,r2,255 e5a8: 108000f0 cmpltui r2,r2,3 e5ac: 10003f1e bne r2,zero,e6ac <altera_avalon_lcd_16207_write+0x2d0> lcd_scroll_up(sp); e5b0: e13ffc17 ldw r4,-16(fp) e5b4: 000e0180 call e018 <lcd_scroll_up> e5b8: 00003c06 br e6ac <altera_avalon_lcd_16207_write+0x2d0> } else if (c == '\b') e5bc: e0bff807 ldb r2,-32(fp) e5c0: 10800218 cmpnei r2,r2,8 e5c4: 10000c1e bne r2,zero,e5f8 <altera_avalon_lcd_16207_write+0x21c> { if (sp->x > 0) e5c8: e0bffc17 ldw r2,-16(fp) e5cc: 10800843 ldbu r2,33(r2) e5d0: 10803fcc andi r2,r2,255 e5d4: 1005003a cmpeq r2,r2,zero e5d8: 1000341e bne r2,zero,e6ac <altera_avalon_lcd_16207_write+0x2d0> sp->x--; e5dc: e0bffc17 ldw r2,-16(fp) e5e0: 10800843 ldbu r2,33(r2) e5e4: 10bfffc4 addi r2,r2,-1 e5e8: 1007883a mov r3,r2 e5ec: e0bffc17 ldw r2,-16(fp) e5f0: 10c00845 stb r3,33(r2) e5f4: 00002d06 br e6ac <altera_avalon_lcd_16207_write+0x2d0> } else if (isprint(c)) e5f8: e0bff807 ldb r2,-32(fp) e5fc: 1007883a mov r3,r2 e600: 00800074 movhi r2,1 e604: 10887d04 addi r2,r2,8692 e608: 10800017 ldw r2,0(r2) e60c: 1885883a add r2,r3,r2 e610: 10800003 ldbu r2,0(r2) e614: 10803fcc andi r2,r2,255 e618: 1080201c xori r2,r2,128 e61c: 10bfe004 addi r2,r2,-128 e620: 108025cc andi r2,r2,151 e624: 1005003a cmpeq r2,r2,zero e628: 1000201e bne r2,zero,e6ac <altera_avalon_lcd_16207_write+0x2d0> { /* If we didn't scroll on the last linefeed then we might need to do * it now. */ if (sp->y >= ALT_LCD_HEIGHT) e62c: e0bffc17 ldw r2,-16(fp) e630: 10800883 ldbu r2,34(r2) e634: 10803fcc andi r2,r2,255 e638: 108000b0 cmpltui r2,r2,2 e63c: 1000021e bne r2,zero,e648 <altera_avalon_lcd_16207_write+0x26c> lcd_scroll_up(sp); e640: e13ffc17 ldw r4,-16(fp) e644: 000e0180 call e018 <lcd_scroll_up> if (sp->x < ALT_LCD_VIRTUAL_WIDTH) e648: e0bffc17 ldw r2,-16(fp) e64c: 10800843 ldbu r2,33(r2) e650: 10803fcc andi r2,r2,255 e654: 10801428 cmpgeui r2,r2,80 e658: 10000e1e bne r2,zero,e694 <altera_avalon_lcd_16207_write+0x2b8> sp->line[sp->y].data[sp->x] = c; e65c: e0bffc17 ldw r2,-16(fp) e660: 10800883 ldbu r2,34(r2) e664: 11003fcc andi r4,r2,255 e668: e0bffc17 ldw r2,-16(fp) e66c: 10800843 ldbu r2,33(r2) e670: 14403fcc andi r17,r2,255 e674: e43ffc17 ldw r16,-16(fp) e678: 014018c4 movi r5,99 e67c: 0002c240 call 2c24 <__mulsi3> e680: 1405883a add r2,r2,r16 e684: 1445883a add r2,r2,r17 e688: 10c01004 addi r3,r2,64 e68c: e0bff803 ldbu r2,-32(fp) e690: 18800005 stb r2,0(r3) sp->x++; e694: e0bffc17 ldw r2,-16(fp) e698: 10800843 ldbu r2,33(r2) e69c: 10800044 addi r2,r2,1 e6a0: 1007883a mov r3,r2 e6a4: e0bffc17 ldw r2,-16(fp) e6a8: 10c00845 stb r3,33(r2) /* Tell the routine which is called off the timer interrupt that the * foreground routines are active so it must not repaint the display. */ sp->active = 1; for ( ; ptr < end ; ptr++) e6ac: e0bffd17 ldw r2,-12(fp) e6b0: 10800044 addi r2,r2,1 e6b4: e0bffd15 stw r2,-12(fp) e6b8: e0fffd17 ldw r3,-12(fp) e6bc: e0bffb17 ldw r2,-20(fp) e6c0: 18bf5a36 bltu r3,r2,e42c <altera_avalon_lcd_16207_write+0x50> sp->x++; } } /* Recalculate the scrolling parameters */ widthmax = ALT_LCD_WIDTH; e6c4: 00800404 movi r2,16 e6c8: e0bff915 stw r2,-28(fp) for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) e6cc: e03ffa15 stw zero,-24(fp) e6d0: 00003906 br e7b8 <altera_avalon_lcd_16207_write+0x3dc> { int width; for (width = ALT_LCD_VIRTUAL_WIDTH ; width > 0 ; width--) e6d4: 00801404 movi r2,80 e6d8: e0bff615 stw r2,-40(fp) e6dc: 00001206 br e728 <altera_avalon_lcd_16207_write+0x34c> if (sp->line[y].data[width-1] != ' ') e6e0: e13ffa17 ldw r4,-24(fp) e6e4: e0bff617 ldw r2,-40(fp) e6e8: 147fffc4 addi r17,r2,-1 e6ec: e43ffc17 ldw r16,-16(fp) e6f0: 014018c4 movi r5,99 e6f4: 0002c240 call 2c24 <__mulsi3> e6f8: 1405883a add r2,r2,r16 e6fc: 1445883a add r2,r2,r17 e700: 10801004 addi r2,r2,64 e704: 10800003 ldbu r2,0(r2) e708: 10803fcc andi r2,r2,255 e70c: 1080201c xori r2,r2,128 e710: 10bfe004 addi r2,r2,-128 e714: 10800818 cmpnei r2,r2,32 e718: 1000061e bne r2,zero,e734 <altera_avalon_lcd_16207_write+0x358> /* Recalculate the scrolling parameters */ widthmax = ALT_LCD_WIDTH; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) { int width; for (width = ALT_LCD_VIRTUAL_WIDTH ; width > 0 ; width--) e71c: e0bff617 ldw r2,-40(fp) e720: 10bfffc4 addi r2,r2,-1 e724: e0bff615 stw r2,-40(fp) e728: e0bff617 ldw r2,-40(fp) e72c: 10800048 cmpgei r2,r2,1 e730: 103feb1e bne r2,zero,e6e0 <altera_avalon_lcd_16207_write+0x304> /* The minimum width is the size of the LCD panel. If the real width * is long enough to require scrolling then add an extra space so the * end of the message doesn't run into the beginning of it. */ if (width <= ALT_LCD_WIDTH) e734: e0bff617 ldw r2,-40(fp) e738: 10800448 cmpgei r2,r2,17 e73c: 1000031e bne r2,zero,e74c <altera_avalon_lcd_16207_write+0x370> width = ALT_LCD_WIDTH; e740: 00800404 movi r2,16 e744: e0bff615 stw r2,-40(fp) e748: 00000306 br e758 <altera_avalon_lcd_16207_write+0x37c> else width++; e74c: e0bff617 ldw r2,-40(fp) e750: 10800044 addi r2,r2,1 e754: e0bff615 stw r2,-40(fp) sp->line[y].width = width; e758: e13ffa17 ldw r4,-24(fp) e75c: e0bff617 ldw r2,-40(fp) e760: 1023883a mov r17,r2 e764: e43ffc17 ldw r16,-16(fp) e768: 014018c4 movi r5,99 e76c: 0002c240 call 2c24 <__mulsi3> e770: 1405883a add r2,r2,r16 e774: 10802404 addi r2,r2,144 e778: 14400045 stb r17,1(r2) if (widthmax < width) e77c: e0fff917 ldw r3,-28(fp) e780: e0bff617 ldw r2,-40(fp) e784: 1880020e bge r3,r2,e790 <altera_avalon_lcd_16207_write+0x3b4> widthmax = width; e788: e0bff617 ldw r2,-40(fp) e78c: e0bff915 stw r2,-28(fp) sp->line[y].speed = 0; /* By default lines don't scroll */ e790: e13ffa17 ldw r4,-24(fp) e794: e43ffc17 ldw r16,-16(fp) e798: 014018c4 movi r5,99 e79c: 0002c240 call 2c24 <__mulsi3> e7a0: 1405883a add r2,r2,r16 e7a4: 10802404 addi r2,r2,144 e7a8: 10000085 stb zero,2(r2) } } /* Recalculate the scrolling parameters */ widthmax = ALT_LCD_WIDTH; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) e7ac: e0bffa17 ldw r2,-24(fp) e7b0: 10800044 addi r2,r2,1 e7b4: e0bffa15 stw r2,-24(fp) e7b8: e0bffa17 ldw r2,-24(fp) e7bc: 10800090 cmplti r2,r2,2 e7c0: 103fc41e bne r2,zero,e6d4 <altera_avalon_lcd_16207_write+0x2f8> if (widthmax < width) widthmax = width; sp->line[y].speed = 0; /* By default lines don't scroll */ } if (widthmax <= ALT_LCD_WIDTH) e7c4: e0bff917 ldw r2,-28(fp) e7c8: 10800448 cmpgei r2,r2,17 e7cc: 1000031e bne r2,zero,e7dc <altera_avalon_lcd_16207_write+0x400> sp->scrollmax = 0; e7d0: e0bffc17 ldw r2,-16(fp) e7d4: 10000985 stb zero,38(r2) e7d8: 00003106 br e8a0 <altera_avalon_lcd_16207_write+0x4c4> else { widthmax *= 2; e7dc: e0bff917 ldw r2,-28(fp) e7e0: 1085883a add r2,r2,r2 e7e4: e0bff915 stw r2,-28(fp) sp->scrollmax = widthmax; e7e8: e0bff917 ldw r2,-28(fp) e7ec: 1007883a mov r3,r2 e7f0: e0bffc17 ldw r2,-16(fp) e7f4: 10c00985 stb r3,38(r2) /* Now calculate how fast each of the other lines should go */ for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) e7f8: e03ffa15 stw zero,-24(fp) e7fc: 00002506 br e894 <altera_avalon_lcd_16207_write+0x4b8> if (sp->line[y].width > ALT_LCD_WIDTH) e800: e13ffa17 ldw r4,-24(fp) e804: e43ffc17 ldw r16,-16(fp) e808: 014018c4 movi r5,99 e80c: 0002c240 call 2c24 <__mulsi3> e810: 1405883a add r2,r2,r16 e814: 10802404 addi r2,r2,144 e818: 10800043 ldbu r2,1(r2) e81c: 10803fcc andi r2,r2,255 e820: 1080201c xori r2,r2,128 e824: 10bfe004 addi r2,r2,-128 e828: 10800450 cmplti r2,r2,17 e82c: 1000161e bne r2,zero,e888 <altera_avalon_lcd_16207_write+0x4ac> */ #if 1 /* This option makes all the lines scroll round at different speeds * which are chosen so that all the scrolls finish at the same time. */ sp->line[y].speed = 256 * sp->line[y].width / widthmax; e830: e4bffa17 ldw r18,-24(fp) e834: e13ffa17 ldw r4,-24(fp) e838: e43ffc17 ldw r16,-16(fp) e83c: 014018c4 movi r5,99 e840: 0002c240 call 2c24 <__mulsi3> e844: 1405883a add r2,r2,r16 e848: 10802404 addi r2,r2,144 e84c: 10800043 ldbu r2,1(r2) e850: 10803fcc andi r2,r2,255 e854: 1080201c xori r2,r2,128 e858: 10bfe004 addi r2,r2,-128 e85c: 1008923a slli r4,r2,8 e860: e17ff917 ldw r5,-28(fp) e864: 0002b540 call 2b54 <__divsi3> e868: 1023883a mov r17,r2 e86c: e43ffc17 ldw r16,-16(fp) e870: 9009883a mov r4,r18 e874: 014018c4 movi r5,99 e878: 0002c240 call 2c24 <__mulsi3> e87c: 1405883a add r2,r2,r16 e880: 10802404 addi r2,r2,144 e884: 14400085 stb r17,2(r2) { widthmax *= 2; sp->scrollmax = widthmax; /* Now calculate how fast each of the other lines should go */ for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) e888: e0bffa17 ldw r2,-24(fp) e88c: 10800044 addi r2,r2,1 e890: e0bffa15 stw r2,-24(fp) e894: e0bffa17 ldw r2,-24(fp) e898: 10800090 cmplti r2,r2,2 e89c: 103fd81e bne r2,zero,e800 <altera_avalon_lcd_16207_write+0x424> * (because active was set when the timer interrupt occurred). If there * has been a missed repaint then paint again. And again. etc. */ for ( ; ; ) { int old_scrollpos = sp->scrollpos; e8a0: e0bffc17 ldw r2,-16(fp) e8a4: 10800943 ldbu r2,37(r2) e8a8: 10803fcc andi r2,r2,255 e8ac: 1080201c xori r2,r2,128 e8b0: 10bfe004 addi r2,r2,-128 e8b4: e0bff515 stw r2,-44(fp) lcd_repaint_screen(sp); e8b8: e13ffc17 ldw r4,-16(fp) e8bc: 000de040 call de04 <lcd_repaint_screen> /* Let the timer routines repaint the display again */ sp->active = 0; e8c0: e0bffc17 ldw r2,-16(fp) e8c4: 100009c5 stb zero,39(r2) /* Have the timer routines tried to scroll while we were painting? * If not then we can exit */ if (sp->scrollpos == old_scrollpos) e8c8: e0bffc17 ldw r2,-16(fp) e8cc: 10800943 ldbu r2,37(r2) e8d0: 10c03fcc andi r3,r2,255 e8d4: 18c0201c xori r3,r3,128 e8d8: 18ffe004 addi r3,r3,-128 e8dc: e0bff517 ldw r2,-44(fp) e8e0: 18800426 beq r3,r2,e8f4 <altera_avalon_lcd_16207_write+0x518> break; /* We need to repaint again since the display scrolled while we were * painting last time */ sp->active = 1; e8e4: e0fffc17 ldw r3,-16(fp) e8e8: 00800044 movi r2,1 e8ec: 188009c5 stb r2,39(r3) } e8f0: 003feb06 br e8a0 <altera_avalon_lcd_16207_write+0x4c4> * semaphore so that other threads can access the buffer. */ ALT_SEM_POST (sp->write_lock); return len; e8f4: e0bffe17 ldw r2,-8(fp) } e8f8: e037883a mov sp,fp e8fc: dfc00417 ldw ra,16(sp) e900: df000317 ldw fp,12(sp) e904: dc800217 ldw r18,8(sp) e908: dc400117 ldw r17,4(sp) e90c: dc000017 ldw r16,0(sp) e910: dec00504 addi sp,sp,20 e914: f800283a ret 0000e918 <alt_lcd_16207_timeout>: /* * Timeout routine is called every second */ static alt_u32 alt_lcd_16207_timeout(void* context) { e918: defffc04 addi sp,sp,-16 e91c: dfc00315 stw ra,12(sp) e920: df000215 stw fp,8(sp) e924: df000204 addi fp,sp,8 e928: e13fff15 stw r4,-4(fp) altera_avalon_lcd_16207_state* sp = (altera_avalon_lcd_16207_state*)context; e92c: e0bfff17 ldw r2,-4(fp) e930: e0bffe15 stw r2,-8(fp) /* Update the scrolling position */ if (sp->scrollpos + 1 >= sp->scrollmax) e934: e0bffe17 ldw r2,-8(fp) e938: 10800943 ldbu r2,37(r2) e93c: 10803fcc andi r2,r2,255 e940: 1080201c xori r2,r2,128 e944: 10bfe004 addi r2,r2,-128 e948: 10c00044 addi r3,r2,1 e94c: e0bffe17 ldw r2,-8(fp) e950: 10800983 ldbu r2,38(r2) e954: 10803fcc andi r2,r2,255 e958: 1080201c xori r2,r2,128 e95c: 10bfe004 addi r2,r2,-128 e960: 18800316 blt r3,r2,e970 <alt_lcd_16207_timeout+0x58> sp->scrollpos = 0; e964: e0bffe17 ldw r2,-8(fp) e968: 10000945 stb zero,37(r2) e96c: 00000606 br e988 <alt_lcd_16207_timeout+0x70> else sp->scrollpos = sp->scrollpos + 1; e970: e0bffe17 ldw r2,-8(fp) e974: 10800943 ldbu r2,37(r2) e978: 10800044 addi r2,r2,1 e97c: 1007883a mov r3,r2 e980: e0bffe17 ldw r2,-8(fp) e984: 10c00945 stb r3,37(r2) /* Repaint the panel unless the foreground will do it again soon */ if (sp->scrollmax > 0 && !sp->active) e988: e0bffe17 ldw r2,-8(fp) e98c: 10800983 ldbu r2,38(r2) e990: 10803fcc andi r2,r2,255 e994: 1080201c xori r2,r2,128 e998: 10bfe004 addi r2,r2,-128 e99c: 10800050 cmplti r2,r2,1 e9a0: 1000091e bne r2,zero,e9c8 <alt_lcd_16207_timeout+0xb0> e9a4: e0bffe17 ldw r2,-8(fp) e9a8: 108009c3 ldbu r2,39(r2) e9ac: 10803fcc andi r2,r2,255 e9b0: 1080201c xori r2,r2,128 e9b4: 10bfe004 addi r2,r2,-128 e9b8: 1004c03a cmpne r2,r2,zero e9bc: 1000021e bne r2,zero,e9c8 <alt_lcd_16207_timeout+0xb0> lcd_repaint_screen(sp); e9c0: e13ffe17 ldw r4,-8(fp) e9c4: 000de040 call de04 <lcd_repaint_screen> return sp->period; e9c8: e0bffe17 ldw r2,-8(fp) e9cc: 10800717 ldw r2,28(r2) } e9d0: e037883a mov sp,fp e9d4: dfc00117 ldw ra,4(sp) e9d8: df000017 ldw fp,0(sp) e9dc: dec00204 addi sp,sp,8 e9e0: f800283a ret 0000e9e4 <altera_avalon_lcd_16207_init>: /* * Called at boot time to initialise the LCD driver */ void altera_avalon_lcd_16207_init(altera_avalon_lcd_16207_state* sp) { e9e4: defffc04 addi sp,sp,-16 e9e8: dfc00315 stw ra,12(sp) e9ec: df000215 stw fp,8(sp) e9f0: df000204 addi fp,sp,8 e9f4: e13fff15 stw r4,-4(fp) unsigned int base = sp->base; e9f8: e0bfff17 ldw r2,-4(fp) e9fc: 10800017 ldw r2,0(r2) ea00: e0bffe15 stw r2,-8(fp) /* Mark the device as functional */ sp->broken = 0; ea04: e0bfff17 ldw r2,-4(fp) ea08: 10000805 stb zero,32(r2) * the BUSY bit in the status register doesn't work until the display * has been reset three times. */ /* Wait for 15 ms then reset */ usleep(15000); ea0c: 010ea604 movi r4,15000 ea10: 000ce780 call ce78 <usleep> IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT); ea14: e0bffe17 ldw r2,-8(fp) ea18: 1007883a mov r3,r2 ea1c: 00800c04 movi r2,48 ea20: 18800035 stwio r2,0(r3) /* Wait for another 4.1ms and reset again */ usleep(4100); ea24: 01040104 movi r4,4100 ea28: 000ce780 call ce78 <usleep> IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT); ea2c: e0bffe17 ldw r2,-8(fp) ea30: 1007883a mov r3,r2 ea34: 00800c04 movi r2,48 ea38: 18800035 stwio r2,0(r3) /* Wait a further 1 ms and reset a third time */ usleep(1000); ea3c: 0100fa04 movi r4,1000 ea40: 000ce780 call ce78 <usleep> IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT); ea44: e0bffe17 ldw r2,-8(fp) ea48: 1007883a mov r3,r2 ea4c: 00800c04 movi r2,48 ea50: 18800035 stwio r2,0(r3) /* Setup interface parameters: 8 bit bus, 2 rows, 5x7 font */ lcd_write_command(sp, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT | LCD_CMD_TWO_LINE); ea54: e13fff17 ldw r4,-4(fp) ea58: 01400e04 movi r5,56 ea5c: 000dba00 call dba0 <lcd_write_command> /* Turn display off */ lcd_write_command(sp, LCD_CMD_ONOFF); ea60: e13fff17 ldw r4,-4(fp) ea64: 01400204 movi r5,8 ea68: 000dba00 call dba0 <lcd_write_command> /* Clear display */ lcd_clear_screen(sp); ea6c: e13fff17 ldw r4,-4(fp) ea70: 000dd2c0 call dd2c <lcd_clear_screen> /* Set mode: increment after writing, don't shift display */ lcd_write_command(sp, LCD_CMD_MODES | LCD_CMD_MODE_INC); ea74: e13fff17 ldw r4,-4(fp) ea78: 01400184 movi r5,6 ea7c: 000dba00 call dba0 <lcd_write_command> /* Turn display on */ lcd_write_command(sp, LCD_CMD_ONOFF | LCD_CMD_ENABLE_DISP); ea80: e13fff17 ldw r4,-4(fp) ea84: 01400304 movi r5,12 ea88: 000dba00 call dba0 <lcd_write_command> sp->esccount = -1; ea8c: e0ffff17 ldw r3,-4(fp) ea90: 00bfffc4 movi r2,-1 ea94: 18800905 stb r2,36(r3) memset(sp->escape, 0, sizeof(sp->escape)); ea98: e0bfff17 ldw r2,-4(fp) ea9c: 11000a04 addi r4,r2,40 eaa0: 000b883a mov r5,zero eaa4: 01800204 movi r6,8 eaa8: 00081940 call 8194 <memset> sp->scrollpos = 0; eaac: e0bfff17 ldw r2,-4(fp) eab0: 10000945 stb zero,37(r2) sp->scrollmax = 0; eab4: e0bfff17 ldw r2,-4(fp) eab8: 10000985 stb zero,38(r2) sp->active = 0; eabc: e0bfff17 ldw r2,-4(fp) eac0: 100009c5 stb zero,39(r2) eac4: 00800074 movhi r2,1 eac8: 108f8104 addi r2,r2,15876 eacc: 10800017 ldw r2,0(r2) ead0: 1009883a mov r4,r2 sp->period = alt_ticks_per_second() / 10; /* Call every 100ms */ ead4: 01400284 movi r5,10 ead8: 0002c140 call 2c14 <__udivsi3> eadc: 1007883a mov r3,r2 eae0: e0bfff17 ldw r2,-4(fp) eae4: 10c00715 stw r3,28(r2) alt_alarm_start(&sp->alarm, sp->period, &alt_lcd_16207_timeout, sp); eae8: e0bfff17 ldw r2,-4(fp) eaec: 11000104 addi r4,r2,4 eaf0: e0bfff17 ldw r2,-4(fp) eaf4: 10800717 ldw r2,28(r2) eaf8: 100b883a mov r5,r2 eafc: 01800074 movhi r6,1 eb00: 31ba4604 addi r6,r6,-5864 eb04: e1ffff17 ldw r7,-4(fp) eb08: 000eb780 call eb78 <alt_alarm_start> } eb0c: e037883a mov sp,fp eb10: dfc00117 ldw ra,4(sp) eb14: df000017 ldw fp,0(sp) eb18: dec00204 addi sp,sp,8 eb1c: f800283a ret 0000eb20 <altera_avalon_lcd_16207_write_fd>: extern int altera_avalon_lcd_16207_write(altera_avalon_lcd_16207_state* sp, const char* ptr, int count, int flags); int altera_avalon_lcd_16207_write_fd(alt_fd* fd, const char* buffer, int space) { eb20: defffa04 addi sp,sp,-24 eb24: dfc00515 stw ra,20(sp) eb28: df000415 stw fp,16(sp) eb2c: df000404 addi fp,sp,16 eb30: e13ffd15 stw r4,-12(fp) eb34: e17ffe15 stw r5,-8(fp) eb38: e1bfff15 stw r6,-4(fp) altera_avalon_lcd_16207_dev* dev = (altera_avalon_lcd_16207_dev*) fd->dev; eb3c: e0bffd17 ldw r2,-12(fp) eb40: 10800017 ldw r2,0(r2) eb44: e0bffc15 stw r2,-16(fp) return altera_avalon_lcd_16207_write(&dev->state, buffer, space, eb48: e0bffc17 ldw r2,-16(fp) eb4c: 11000a04 addi r4,r2,40 eb50: e0bffd17 ldw r2,-12(fp) eb54: 11c00217 ldw r7,8(r2) eb58: e17ffe17 ldw r5,-8(fp) eb5c: e1bfff17 ldw r6,-4(fp) eb60: 000e3dc0 call e3dc <altera_avalon_lcd_16207_write> fd->fd_flags); } eb64: e037883a mov sp,fp eb68: dfc00117 ldw ra,4(sp) eb6c: df000017 ldw fp,0(sp) eb70: dec00204 addi sp,sp,8 eb74: f800283a ret 0000eb78 <alt_alarm_start>: */ int alt_alarm_start (alt_alarm* alarm, alt_u32 nticks, alt_u32 (*callback) (void* context), void* context) { eb78: defff404 addi sp,sp,-48 eb7c: df000b15 stw fp,44(sp) eb80: df000b04 addi fp,sp,44 eb84: e13ffb15 stw r4,-20(fp) eb88: e17ffc15 stw r5,-16(fp) eb8c: e1bffd15 stw r6,-12(fp) eb90: e1fffe15 stw r7,-8(fp) alt_irq_context irq_context; alt_u32 current_nticks = 0; eb94: e03ff915 stw zero,-28(fp) eb98: 00800074 movhi r2,1 eb9c: 108f8104 addi r2,r2,15876 eba0: 10800017 ldw r2,0(r2) if (alt_ticks_per_second ()) eba4: 1005003a cmpeq r2,r2,zero eba8: 1000411e bne r2,zero,ecb0 <alt_alarm_start+0x138> { if (alarm) ebac: e0bffb17 ldw r2,-20(fp) ebb0: 1005003a cmpeq r2,r2,zero ebb4: 10003b1e bne r2,zero,eca4 <alt_alarm_start+0x12c> { alarm->callback = callback; ebb8: e0fffb17 ldw r3,-20(fp) ebbc: e0bffd17 ldw r2,-12(fp) ebc0: 18800315 stw r2,12(r3) alarm->context = context; ebc4: e0fffb17 ldw r3,-20(fp) ebc8: e0bffe17 ldw r2,-8(fp) ebcc: 18800515 stw r2,20(r3) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); ebd0: 0005303a rdctl r2,status ebd4: e0bff815 stw r2,-32(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); ebd8: e0fff817 ldw r3,-32(fp) ebdc: 00bfff84 movi r2,-2 ebe0: 1884703a and r2,r3,r2 ebe4: 1001703a wrctl status,r2 return context; ebe8: e0bff817 ldw r2,-32(fp) irq_context = alt_irq_disable_all (); ebec: e0bffa15 stw r2,-24(fp) * alt_nticks() returns the elapsed number of system clock ticks since reset. */ static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_nticks (void) { return _alt_nticks; ebf0: 00800074 movhi r2,1 ebf4: 108f8204 addi r2,r2,15880 ebf8: 10800017 ldw r2,0(r2) current_nticks = alt_nticks(); ebfc: e0bff915 stw r2,-28(fp) alarm->time = nticks + current_nticks + 1; ec00: e0fffc17 ldw r3,-16(fp) ec04: e0bff917 ldw r2,-28(fp) ec08: 1885883a add r2,r3,r2 ec0c: 10c00044 addi r3,r2,1 ec10: e0bffb17 ldw r2,-20(fp) ec14: 10c00215 stw r3,8(r2) /* * If the desired alarm time causes a roll-over, set the rollover * flag. This will prevent the subsequent tick event from causing * an alarm too early. */ if(alarm->time < current_nticks) ec18: e0bffb17 ldw r2,-20(fp) ec1c: 10c00217 ldw r3,8(r2) ec20: e0bff917 ldw r2,-28(fp) ec24: 1880042e bgeu r3,r2,ec38 <alt_alarm_start+0xc0> { alarm->rollover = 1; ec28: e0fffb17 ldw r3,-20(fp) ec2c: 00800044 movi r2,1 ec30: 18800405 stb r2,16(r3) ec34: 00000206 br ec40 <alt_alarm_start+0xc8> } else { alarm->rollover = 0; ec38: e0bffb17 ldw r2,-20(fp) ec3c: 10000405 stb zero,16(r2) } alt_llist_insert (&alt_alarm_list, &alarm->llist); ec40: e0fffb17 ldw r3,-20(fp) ec44: 00800074 movhi r2,1 ec48: 10888d04 addi r2,r2,8756 ec4c: e0bff615 stw r2,-40(fp) ec50: e0fff715 stw r3,-36(fp) */ static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list, alt_llist* entry) { entry->previous = list; ec54: e0fff717 ldw r3,-36(fp) ec58: e0bff617 ldw r2,-40(fp) ec5c: 18800115 stw r2,4(r3) entry->next = list->next; ec60: e0bff617 ldw r2,-40(fp) ec64: 10c00017 ldw r3,0(r2) ec68: e0bff717 ldw r2,-36(fp) ec6c: 10c00015 stw r3,0(r2) list->next->previous = entry; ec70: e0bff617 ldw r2,-40(fp) ec74: 10c00017 ldw r3,0(r2) ec78: e0bff717 ldw r2,-36(fp) ec7c: 18800115 stw r2,4(r3) list->next = entry; ec80: e0fff617 ldw r3,-40(fp) ec84: e0bff717 ldw r2,-36(fp) ec88: 18800015 stw r2,0(r3) ec8c: e0bffa17 ldw r2,-24(fp) ec90: e0bff515 stw r2,-44(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); ec94: e0bff517 ldw r2,-44(fp) ec98: 1001703a wrctl status,r2 alt_irq_enable_all (irq_context); return 0; ec9c: e03fff15 stw zero,-4(fp) eca0: 00000506 br ecb8 <alt_alarm_start+0x140> } else { return -EINVAL; eca4: 00bffa84 movi r2,-22 eca8: e0bfff15 stw r2,-4(fp) ecac: 00000206 br ecb8 <alt_alarm_start+0x140> } } else { return -ENOTSUP; ecb0: 00bfde84 movi r2,-134 ecb4: e0bfff15 stw r2,-4(fp) ecb8: e0bfff17 ldw r2,-4(fp) } } ecbc: e037883a mov sp,fp ecc0: df000017 ldw fp,0(sp) ecc4: dec00104 addi sp,sp,4 ecc8: f800283a ret 0000eccc <alt_busy_sleep>: #include "alt_types.h" #include "priv/alt_busy_sleep.h" unsigned int alt_busy_sleep (unsigned int us) { eccc: defffa04 addi sp,sp,-24 ecd0: dfc00515 stw ra,20(sp) ecd4: df000415 stw fp,16(sp) ecd8: df000404 addi fp,sp,16 ecdc: e13fff15 stw r4,-4(fp) int big_loops; alt_u32 cycles_per_loop; if (!strcmp(NIOS2_CPU_IMPLEMENTATION,"tiny")) { cycles_per_loop = 9; ece0: 00800244 movi r2,9 ece4: e0bffc15 stw r2,-16(fp) { cycles_per_loop = 3; } big_loops = us / (INT_MAX/ ece8: e13ffc17 ldw r4,-16(fp) ecec: 014003f4 movhi r5,15 ecf0: 29509004 addi r5,r5,16960 ecf4: 0002c240 call 2c24 <__mulsi3> ecf8: 100b883a mov r5,r2 ecfc: 0100bef4 movhi r4,763 ed00: 213c2004 addi r4,r4,-3968 ed04: 0002c140 call 2c14 <__udivsi3> ed08: 100b883a mov r5,r2 ed0c: 01200034 movhi r4,32768 ed10: 213fffc4 addi r4,r4,-1 ed14: 0002c140 call 2c14 <__udivsi3> ed18: 100b883a mov r5,r2 ed1c: e13fff17 ldw r4,-4(fp) ed20: 0002c140 call 2c14 <__udivsi3> ed24: e0bffd15 stw r2,-12(fp) (ALT_CPU_FREQ/(cycles_per_loop * 1000000))); if (big_loops) ed28: e0bffd17 ldw r2,-12(fp) ed2c: 1005003a cmpeq r2,r2,zero ed30: 10002a1e bne r2,zero,eddc <alt_busy_sleep+0x110> { for(i=0;i<big_loops;i++) ed34: e03ffe15 stw zero,-8(fp) ed38: 00001706 br ed98 <alt_busy_sleep+0xcc> /* * Do NOT Try to single step the asm statement below * (single step will never return) * Step out of this function or set a breakpoint after the asm statements */ __asm__ volatile ( ed3c: 00a00034 movhi r2,32768 ed40: 10bfffc4 addi r2,r2,-1 ed44: 10bfffc4 addi r2,r2,-1 ed48: 103ffe1e bne r2,zero,ed44 <alt_busy_sleep+0x78> "\n1:" "\n\t.pushsection .debug_alt_sim_info" "\n\t.int 4, 0, 0b, 1b" "\n\t.popsection" :: "r" (INT_MAX)); us -= (INT_MAX/(ALT_CPU_FREQ/ ed4c: e13ffc17 ldw r4,-16(fp) ed50: 014003f4 movhi r5,15 ed54: 29509004 addi r5,r5,16960 ed58: 0002c240 call 2c24 <__mulsi3> ed5c: 100b883a mov r5,r2 ed60: 0100bef4 movhi r4,763 ed64: 213c2004 addi r4,r4,-3968 ed68: 0002c140 call 2c14 <__udivsi3> ed6c: 100b883a mov r5,r2 ed70: 01200034 movhi r4,32768 ed74: 213fffc4 addi r4,r4,-1 ed78: 0002c140 call 2c14 <__udivsi3> ed7c: 1007883a mov r3,r2 ed80: e0bfff17 ldw r2,-4(fp) ed84: 10c5c83a sub r2,r2,r3 ed88: e0bfff15 stw r2,-4(fp) big_loops = us / (INT_MAX/ (ALT_CPU_FREQ/(cycles_per_loop * 1000000))); if (big_loops) { for(i=0;i<big_loops;i++) ed8c: e0bffe17 ldw r2,-8(fp) ed90: 10800044 addi r2,r2,1 ed94: e0bffe15 stw r2,-8(fp) ed98: e0fffe17 ldw r3,-8(fp) ed9c: e0bffd17 ldw r2,-12(fp) eda0: 18bfe616 blt r3,r2,ed3c <alt_busy_sleep+0x70> /* * Do NOT Try to single step the asm statement below * (single step will never return) * Step out of this function or set a breakpoint after the asm statements */ __asm__ volatile ( eda4: e13ffc17 ldw r4,-16(fp) eda8: 014003f4 movhi r5,15 edac: 29509004 addi r5,r5,16960 edb0: 0002c240 call 2c24 <__mulsi3> edb4: 100b883a mov r5,r2 edb8: 0100bef4 movhi r4,763 edbc: 213c2004 addi r4,r4,-3968 edc0: 0002c140 call 2c14 <__udivsi3> edc4: 1009883a mov r4,r2 edc8: e17fff17 ldw r5,-4(fp) edcc: 0002c240 call 2c24 <__mulsi3> edd0: 10bfffc4 addi r2,r2,-1 edd4: 103ffe1e bne r2,zero,edd0 <alt_busy_sleep+0x104> edd8: 00000d06 br ee10 <alt_busy_sleep+0x144> /* * Do NOT Try to single step the asm statement below * (single step will never return) * Step out of this function or set a breakpoint after the asm statements */ __asm__ volatile ( eddc: e13ffc17 ldw r4,-16(fp) ede0: 014003f4 movhi r5,15 ede4: 29509004 addi r5,r5,16960 ede8: 0002c240 call 2c24 <__mulsi3> edec: 100b883a mov r5,r2 edf0: 0100bef4 movhi r4,763 edf4: 213c2004 addi r4,r4,-3968 edf8: 0002c140 call 2c14 <__udivsi3> edfc: 1009883a mov r4,r2 ee00: e17fff17 ldw r5,-4(fp) ee04: 0002c240 call 2c24 <__mulsi3> ee08: 10bfffc4 addi r2,r2,-1 ee0c: 00bffe16 blt zero,r2,ee08 <alt_busy_sleep+0x13c> "\n\t.int 4, 0, 0b, 1b" "\n\t.popsection" :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000)))); } #endif /* #ifndef ALT_SIM_OPTIMIZE */ return 0; ee10: 0005883a mov r2,zero } ee14: e037883a mov sp,fp ee18: dfc00117 ldw ra,4(sp) ee1c: df000017 ldw fp,0(sp) ee20: dec00204 addi sp,sp,8 ee24: f800283a ret 0000ee28 <alt_dcache_flush_all>: /* * alt_dcache_flush_all() is called to flush the entire data cache. */ void alt_dcache_flush_all (void) { ee28: deffff04 addi sp,sp,-4 ee2c: df000015 stw fp,0(sp) ee30: d839883a mov fp,sp for (i = (char*) 0; i < (char*) NIOS2_DCACHE_SIZE; i+= NIOS2_DCACHE_LINE_SIZE) { __asm__ volatile ("flushd (%0)" :: "r" (i)); } #endif /* NIOS2_DCACHE_SIZE > 0 */ } ee34: e037883a mov sp,fp ee38: df000017 ldw fp,0(sp) ee3c: dec00104 addi sp,sp,4 ee40: f800283a ret 0000ee44 <alt_dev_llist_insert>: /* * */ int alt_dev_llist_insert (alt_dev_llist* dev, alt_llist* list) { ee44: defff904 addi sp,sp,-28 ee48: dfc00615 stw ra,24(sp) ee4c: df000515 stw fp,20(sp) ee50: df000504 addi fp,sp,20 ee54: e13ffd15 stw r4,-12(fp) ee58: e17ffe15 stw r5,-8(fp) /* * check that the device exists, and that it has a valid name. */ if (!dev || !dev->name) ee5c: e0bffd17 ldw r2,-12(fp) ee60: 1005003a cmpeq r2,r2,zero ee64: 1000041e bne r2,zero,ee78 <alt_dev_llist_insert+0x34> ee68: e0bffd17 ldw r2,-12(fp) ee6c: 10800217 ldw r2,8(r2) ee70: 1004c03a cmpne r2,r2,zero ee74: 1000071e bne r2,zero,ee94 <alt_dev_llist_insert+0x50> { ALT_ERRNO = EINVAL; ee78: 000eef80 call eef8 <alt_get_errno> ee7c: 1007883a mov r3,r2 ee80: 00800584 movi r2,22 ee84: 18800015 stw r2,0(r3) return -EINVAL; ee88: 00bffa84 movi r2,-22 ee8c: e0bfff15 stw r2,-4(fp) ee90: 00001306 br eee0 <alt_dev_llist_insert+0x9c> /* * register the device. */ alt_llist_insert(list, &dev->llist); ee94: e0fffd17 ldw r3,-12(fp) ee98: e0bffe17 ldw r2,-8(fp) ee9c: e0bffb15 stw r2,-20(fp) eea0: e0fffc15 stw r3,-16(fp) */ static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list, alt_llist* entry) { entry->previous = list; eea4: e0fffc17 ldw r3,-16(fp) eea8: e0bffb17 ldw r2,-20(fp) eeac: 18800115 stw r2,4(r3) entry->next = list->next; eeb0: e0bffb17 ldw r2,-20(fp) eeb4: 10c00017 ldw r3,0(r2) eeb8: e0bffc17 ldw r2,-16(fp) eebc: 10c00015 stw r3,0(r2) list->next->previous = entry; eec0: e0bffb17 ldw r2,-20(fp) eec4: 10c00017 ldw r3,0(r2) eec8: e0bffc17 ldw r2,-16(fp) eecc: 18800115 stw r2,4(r3) list->next = entry; eed0: e0fffb17 ldw r3,-20(fp) eed4: e0bffc17 ldw r2,-16(fp) eed8: 18800015 stw r2,0(r3) return 0; eedc: e03fff15 stw zero,-4(fp) eee0: e0bfff17 ldw r2,-4(fp) } eee4: e037883a mov sp,fp eee8: dfc00117 ldw ra,4(sp) eeec: df000017 ldw fp,0(sp) eef0: dec00204 addi sp,sp,8 eef4: f800283a ret 0000eef8 <alt_get_errno>: #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { eef8: defffd04 addi sp,sp,-12 eefc: dfc00215 stw ra,8(sp) ef00: df000115 stw fp,4(sp) ef04: df000104 addi fp,sp,4 return ((alt_errno) ? alt_errno() : &errno); ef08: 00800074 movhi r2,1 ef0c: 10888904 addi r2,r2,8740 ef10: 10800017 ldw r2,0(r2) ef14: 1005003a cmpeq r2,r2,zero ef18: 1000061e bne r2,zero,ef34 <alt_get_errno+0x3c> ef1c: 00800074 movhi r2,1 ef20: 10888904 addi r2,r2,8740 ef24: 10800017 ldw r2,0(r2) ef28: 103ee83a callr r2 ef2c: e0bfff15 stw r2,-4(fp) ef30: 00000306 br ef40 <alt_get_errno+0x48> ef34: 00800074 movhi r2,1 ef38: 108f7c04 addi r2,r2,15856 ef3c: e0bfff15 stw r2,-4(fp) ef40: e0bfff17 ldw r2,-4(fp) } ef44: e037883a mov sp,fp ef48: dfc00117 ldw ra,4(sp) ef4c: df000017 ldw fp,0(sp) ef50: dec00204 addi sp,sp,8 ef54: f800283a ret 0000ef58 <_do_ctors>: /* * Run the C++ static constructors. */ void _do_ctors(void) { ef58: defffd04 addi sp,sp,-12 ef5c: dfc00215 stw ra,8(sp) ef60: df000115 stw fp,4(sp) ef64: df000104 addi fp,sp,4 constructor* ctor; for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--) ef68: 00bfff04 movi r2,-4 ef6c: 00c00074 movhi r3,1 ef70: 18ffe404 addi r3,r3,-112 ef74: 1885883a add r2,r3,r2 ef78: e0bfff15 stw r2,-4(fp) ef7c: 00000606 br ef98 <_do_ctors+0x40> (*ctor) (); ef80: e0bfff17 ldw r2,-4(fp) ef84: 10800017 ldw r2,0(r2) ef88: 103ee83a callr r2 void _do_ctors(void) { constructor* ctor; for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--) ef8c: e0bfff17 ldw r2,-4(fp) ef90: 10bfff04 addi r2,r2,-4 ef94: e0bfff15 stw r2,-4(fp) ef98: e0ffff17 ldw r3,-4(fp) ef9c: 00800074 movhi r2,1 efa0: 10bfe304 addi r2,r2,-116 efa4: 18bff62e bgeu r3,r2,ef80 <_do_ctors+0x28> (*ctor) (); } efa8: e037883a mov sp,fp efac: dfc00117 ldw ra,4(sp) efb0: df000017 ldw fp,0(sp) efb4: dec00204 addi sp,sp,8 efb8: f800283a ret 0000efbc <_do_dtors>: /* * Run the C++ static destructors. */ void _do_dtors(void) { efbc: defffd04 addi sp,sp,-12 efc0: dfc00215 stw ra,8(sp) efc4: df000115 stw fp,4(sp) efc8: df000104 addi fp,sp,4 destructor* dtor; for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--) efcc: 00bfff04 movi r2,-4 efd0: 00c00074 movhi r3,1 efd4: 18ffe404 addi r3,r3,-112 efd8: 1885883a add r2,r3,r2 efdc: e0bfff15 stw r2,-4(fp) efe0: 00000606 br effc <_do_dtors+0x40> (*dtor) (); efe4: e0bfff17 ldw r2,-4(fp) efe8: 10800017 ldw r2,0(r2) efec: 103ee83a callr r2 void _do_dtors(void) { destructor* dtor; for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--) eff0: e0bfff17 ldw r2,-4(fp) eff4: 10bfff04 addi r2,r2,-4 eff8: e0bfff15 stw r2,-4(fp) effc: e0ffff17 ldw r3,-4(fp) f000: 00800074 movhi r2,1 f004: 10bfe404 addi r2,r2,-112 f008: 18bff62e bgeu r3,r2,efe4 <_do_dtors+0x28> (*dtor) (); } f00c: e037883a mov sp,fp f010: dfc00117 ldw ra,4(sp) f014: df000017 ldw fp,0(sp) f018: dec00204 addi sp,sp,8 f01c: f800283a ret 0000f020 <alt_icache_flush_all>: /* * alt_icache_flush_all() is called to flush the entire instruction cache. */ void alt_icache_flush_all (void) { f020: deffff04 addi sp,sp,-4 f024: df000015 stw fp,0(sp) f028: d839883a mov fp,sp #if NIOS2_ICACHE_SIZE > 0 alt_icache_flush (0, NIOS2_ICACHE_SIZE); #endif } f02c: e037883a mov sp,fp f030: df000017 ldw fp,0(sp) f034: dec00104 addi sp,sp,4 f038: f800283a ret 0000f03c <alt_ic_isr_register>: * @param irq IRQ number * @return 0 if successful, else error (-1) */ int alt_ic_isr_register(alt_u32 ic_id, alt_u32 irq, alt_isr_func isr, void *isr_context, void *flags) { f03c: defff904 addi sp,sp,-28 f040: dfc00615 stw ra,24(sp) f044: df000515 stw fp,20(sp) f048: df000504 addi fp,sp,20 f04c: e13ffc15 stw r4,-16(fp) f050: e17ffd15 stw r5,-12(fp) f054: e1bffe15 stw r6,-8(fp) f058: e1ffff15 stw r7,-4(fp) return alt_iic_isr_register(ic_id, irq, isr, isr_context, flags); f05c: e0800217 ldw r2,8(fp) f060: d8800015 stw r2,0(sp) f064: e13ffc17 ldw r4,-16(fp) f068: e17ffd17 ldw r5,-12(fp) f06c: e1bffe17 ldw r6,-8(fp) f070: e1ffff17 ldw r7,-4(fp) f074: 000f2100 call f210 <alt_iic_isr_register> } f078: e037883a mov sp,fp f07c: dfc00117 ldw ra,4(sp) f080: df000017 ldw fp,0(sp) f084: dec00204 addi sp,sp,8 f088: f800283a ret 0000f08c <alt_ic_irq_enable>: * @param ic_id Ignored. * @param irq IRQ number * @return 0 if successful, else error (-1) */ int alt_ic_irq_enable (alt_u32 ic_id, alt_u32 irq) { f08c: defff904 addi sp,sp,-28 f090: df000615 stw fp,24(sp) f094: df000604 addi fp,sp,24 f098: e13ffe15 stw r4,-8(fp) f09c: e17fff15 stw r5,-4(fp) f0a0: e0bfff17 ldw r2,-4(fp) f0a4: e0bffc15 stw r2,-16(fp) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); f0a8: 0005303a rdctl r2,status f0ac: e0bffb15 stw r2,-20(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); f0b0: e0fffb17 ldw r3,-20(fp) f0b4: 00bfff84 movi r2,-2 f0b8: 1884703a and r2,r3,r2 f0bc: 1001703a wrctl status,r2 return context; f0c0: e0bffb17 ldw r2,-20(fp) static ALT_INLINE int ALT_ALWAYS_INLINE alt_irq_enable (alt_u32 id) { alt_irq_context status; extern volatile alt_u32 alt_irq_active; status = alt_irq_disable_all (); f0c4: e0bffd15 stw r2,-12(fp) alt_irq_active |= (1 << id); f0c8: e0fffc17 ldw r3,-16(fp) f0cc: 00800044 movi r2,1 f0d0: 10c4983a sll r2,r2,r3 f0d4: 1007883a mov r3,r2 f0d8: 00800074 movhi r2,1 f0dc: 108f8004 addi r2,r2,15872 f0e0: 10800017 ldw r2,0(r2) f0e4: 1886b03a or r3,r3,r2 f0e8: 00800074 movhi r2,1 f0ec: 108f8004 addi r2,r2,15872 f0f0: 10c00015 stw r3,0(r2) NIOS2_WRITE_IENABLE (alt_irq_active); f0f4: 00800074 movhi r2,1 f0f8: 108f8004 addi r2,r2,15872 f0fc: 10800017 ldw r2,0(r2) f100: 100170fa wrctl ienable,r2 f104: e0bffd17 ldw r2,-12(fp) f108: e0bffa15 stw r2,-24(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); f10c: e0bffa17 ldw r2,-24(fp) f110: 1001703a wrctl status,r2 alt_irq_enable_all(status); return 0; f114: 0005883a mov r2,zero return alt_irq_enable(irq); } f118: e037883a mov sp,fp f11c: df000017 ldw fp,0(sp) f120: dec00104 addi sp,sp,4 f124: f800283a ret 0000f128 <alt_ic_irq_disable>: * @param ic_id Ignored. * @param irq IRQ number * @return 0 if successful, else error (-1) */ int alt_ic_irq_disable(alt_u32 ic_id, alt_u32 irq) { f128: defff904 addi sp,sp,-28 f12c: df000615 stw fp,24(sp) f130: df000604 addi fp,sp,24 f134: e13ffe15 stw r4,-8(fp) f138: e17fff15 stw r5,-4(fp) f13c: e0bfff17 ldw r2,-4(fp) f140: e0bffc15 stw r2,-16(fp) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); f144: 0005303a rdctl r2,status f148: e0bffb15 stw r2,-20(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); f14c: e0fffb17 ldw r3,-20(fp) f150: 00bfff84 movi r2,-2 f154: 1884703a and r2,r3,r2 f158: 1001703a wrctl status,r2 return context; f15c: e0bffb17 ldw r2,-20(fp) static ALT_INLINE int ALT_ALWAYS_INLINE alt_irq_disable (alt_u32 id) { alt_irq_context status; extern volatile alt_u32 alt_irq_active; status = alt_irq_disable_all (); f160: e0bffd15 stw r2,-12(fp) alt_irq_active &= ~(1 << id); f164: e0fffc17 ldw r3,-16(fp) f168: 00800044 movi r2,1 f16c: 10c4983a sll r2,r2,r3 f170: 0084303a nor r2,zero,r2 f174: 1007883a mov r3,r2 f178: 00800074 movhi r2,1 f17c: 108f8004 addi r2,r2,15872 f180: 10800017 ldw r2,0(r2) f184: 1886703a and r3,r3,r2 f188: 00800074 movhi r2,1 f18c: 108f8004 addi r2,r2,15872 f190: 10c00015 stw r3,0(r2) NIOS2_WRITE_IENABLE (alt_irq_active); f194: 00800074 movhi r2,1 f198: 108f8004 addi r2,r2,15872 f19c: 10800017 ldw r2,0(r2) f1a0: 100170fa wrctl ienable,r2 f1a4: e0bffd17 ldw r2,-12(fp) f1a8: e0bffa15 stw r2,-24(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); f1ac: e0bffa17 ldw r2,-24(fp) f1b0: 1001703a wrctl status,r2 alt_irq_enable_all(status); return 0; f1b4: 0005883a mov r2,zero return alt_irq_disable(irq); } f1b8: e037883a mov sp,fp f1bc: df000017 ldw fp,0(sp) f1c0: dec00104 addi sp,sp,4 f1c4: f800283a ret 0000f1c8 <alt_ic_irq_enabled>: * @param irq IRQ number * @return Zero if corresponding interrupt is disabled and * non-zero otherwise. */ alt_u32 alt_ic_irq_enabled(alt_u32 ic_id, alt_u32 irq) { f1c8: defffc04 addi sp,sp,-16 f1cc: df000315 stw fp,12(sp) f1d0: df000304 addi fp,sp,12 f1d4: e13ffe15 stw r4,-8(fp) f1d8: e17fff15 stw r5,-4(fp) alt_u32 irq_enabled; NIOS2_READ_IENABLE(irq_enabled); f1dc: 000530fa rdctl r2,ienable f1e0: e0bffd15 stw r2,-12(fp) return (irq_enabled & (1 << irq)) ? 1: 0; f1e4: e0ffff17 ldw r3,-4(fp) f1e8: 00800044 movi r2,1 f1ec: 10c4983a sll r2,r2,r3 f1f0: 1007883a mov r3,r2 f1f4: e0bffd17 ldw r2,-12(fp) f1f8: 1884703a and r2,r3,r2 f1fc: 1004c03a cmpne r2,r2,zero } f200: e037883a mov sp,fp f204: df000017 ldw fp,0(sp) f208: dec00104 addi sp,sp,4 f20c: f800283a ret 0000f210 <alt_iic_isr_register>: * @param flags * @return 0 if successful, else error (-1) */ int alt_iic_isr_register(alt_u32 ic_id, alt_u32 irq, alt_isr_func isr, void *isr_context, void *flags) { f210: defff404 addi sp,sp,-48 f214: dfc00b15 stw ra,44(sp) f218: df000a15 stw fp,40(sp) f21c: df000a04 addi fp,sp,40 f220: e13ffb15 stw r4,-20(fp) f224: e17ffc15 stw r5,-16(fp) f228: e1bffd15 stw r6,-12(fp) f22c: e1fffe15 stw r7,-8(fp) int rc = -EINVAL; f230: 00bffa84 movi r2,-22 f234: e0bffa15 stw r2,-24(fp) int id = irq; /* IRQ interpreted as the interrupt ID. */ f238: e0bffc17 ldw r2,-16(fp) f23c: e0bff915 stw r2,-28(fp) alt_irq_context status; if (id < ALT_NIRQ) f240: e0bff917 ldw r2,-28(fp) f244: 10800808 cmpgei r2,r2,32 f248: 1000291e bne r2,zero,f2f0 <alt_iic_isr_register+0xe0> static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); f24c: 0005303a rdctl r2,status f250: e0bff715 stw r2,-36(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); f254: e0fff717 ldw r3,-36(fp) f258: 00bfff84 movi r2,-2 f25c: 1884703a and r2,r3,r2 f260: 1001703a wrctl status,r2 return context; f264: e0bff717 ldw r2,-36(fp) * interrupts are disabled while the handler tables are updated to ensure * that an interrupt doesn't occur while the tables are in an inconsistant * state. */ status = alt_irq_disable_all(); f268: e0bff815 stw r2,-32(fp) alt_irq[id].handler = isr; f26c: e0bff917 ldw r2,-28(fp) f270: 00c00074 movhi r3,1 f274: 18d0d104 addi r3,r3,17220 f278: 100490fa slli r2,r2,3 f27c: 10c7883a add r3,r2,r3 f280: e0bffd17 ldw r2,-12(fp) f284: 18800015 stw r2,0(r3) alt_irq[id].context = isr_context; f288: e0bff917 ldw r2,-28(fp) f28c: 00c00074 movhi r3,1 f290: 18d0d104 addi r3,r3,17220 f294: 100490fa slli r2,r2,3 f298: 10c5883a add r2,r2,r3 f29c: 10c00104 addi r3,r2,4 f2a0: e0bffe17 ldw r2,-8(fp) f2a4: 18800015 stw r2,0(r3) rc = (isr) ? alt_ic_irq_enable(ic_id, id) : alt_ic_irq_disable(ic_id, id); f2a8: e0bffd17 ldw r2,-12(fp) f2ac: 1005003a cmpeq r2,r2,zero f2b0: 1000051e bne r2,zero,f2c8 <alt_iic_isr_register+0xb8> f2b4: e17ff917 ldw r5,-28(fp) f2b8: e13ffb17 ldw r4,-20(fp) f2bc: 000f08c0 call f08c <alt_ic_irq_enable> f2c0: e0bfff15 stw r2,-4(fp) f2c4: 00000406 br f2d8 <alt_iic_isr_register+0xc8> f2c8: e17ff917 ldw r5,-28(fp) f2cc: e13ffb17 ldw r4,-20(fp) f2d0: 000f1280 call f128 <alt_ic_irq_disable> f2d4: e0bfff15 stw r2,-4(fp) f2d8: e0bfff17 ldw r2,-4(fp) f2dc: e0bffa15 stw r2,-24(fp) f2e0: e0bff817 ldw r2,-32(fp) f2e4: e0bff615 stw r2,-40(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); f2e8: e0bff617 ldw r2,-40(fp) f2ec: 1001703a wrctl status,r2 alt_irq_enable_all(status); } return rc; f2f0: e0bffa17 ldw r2,-24(fp) } f2f4: e037883a mov sp,fp f2f8: dfc00117 ldw ra,4(sp) f2fc: df000017 ldw fp,0(sp) f300: dec00204 addi sp,sp,8 f304: f800283a ret 0000f308 <alt_open_fd>: * If the device can not be succesfully opened, then the input file descriptor * remains unchanged. */ static void alt_open_fd(alt_fd* fd, const char* name, int flags, int mode) { f308: defff804 addi sp,sp,-32 f30c: dfc00715 stw ra,28(sp) f310: df000615 stw fp,24(sp) f314: dc000515 stw r16,20(sp) f318: df000504 addi fp,sp,20 f31c: e13ffc15 stw r4,-16(fp) f320: e17ffd15 stw r5,-12(fp) f324: e1bffe15 stw r6,-8(fp) f328: e1ffff15 stw r7,-4(fp) int old; old = open (name, flags, mode); f32c: e13ffd17 ldw r4,-12(fp) f330: e17ffe17 ldw r5,-8(fp) f334: e1bfff17 ldw r6,-4(fp) f338: 000f5500 call f550 <open> f33c: e0bffb15 stw r2,-20(fp) if (old >= 0) f340: e0bffb17 ldw r2,-20(fp) f344: 1004803a cmplt r2,r2,zero f348: 10001f1e bne r2,zero,f3c8 <alt_open_fd+0xc0> { fd->dev = alt_fd_list[old].dev; f34c: e13ffb17 ldw r4,-20(fp) f350: 04000074 movhi r16,1 f354: 8403bc04 addi r16,r16,3824 f358: 01400304 movi r5,12 f35c: 0002c240 call 2c24 <__mulsi3> f360: 1405883a add r2,r2,r16 f364: 10c00017 ldw r3,0(r2) f368: e0bffc17 ldw r2,-16(fp) f36c: 10c00015 stw r3,0(r2) fd->priv = alt_fd_list[old].priv; f370: e13ffb17 ldw r4,-20(fp) f374: 04000074 movhi r16,1 f378: 8403bc04 addi r16,r16,3824 f37c: 01400304 movi r5,12 f380: 0002c240 call 2c24 <__mulsi3> f384: 1405883a add r2,r2,r16 f388: 10800104 addi r2,r2,4 f38c: 10c00017 ldw r3,0(r2) f390: e0bffc17 ldw r2,-16(fp) f394: 10c00115 stw r3,4(r2) fd->fd_flags = alt_fd_list[old].fd_flags; f398: e13ffb17 ldw r4,-20(fp) f39c: 04000074 movhi r16,1 f3a0: 8403bc04 addi r16,r16,3824 f3a4: 01400304 movi r5,12 f3a8: 0002c240 call 2c24 <__mulsi3> f3ac: 1405883a add r2,r2,r16 f3b0: 10800204 addi r2,r2,8 f3b4: 10c00017 ldw r3,0(r2) f3b8: e0bffc17 ldw r2,-16(fp) f3bc: 10c00215 stw r3,8(r2) alt_release_fd (old); f3c0: e13ffb17 ldw r4,-20(fp) f3c4: 000cd440 call cd44 <alt_release_fd> } } f3c8: e037883a mov sp,fp f3cc: dfc00217 ldw ra,8(sp) f3d0: df000117 ldw fp,4(sp) f3d4: dc000017 ldw r16,0(sp) f3d8: dec00304 addi sp,sp,12 f3dc: f800283a ret 0000f3e0 <alt_io_redirect>: */ void alt_io_redirect(const char* stdout_dev, const char* stdin_dev, const char* stderr_dev) { f3e0: defffb04 addi sp,sp,-20 f3e4: dfc00415 stw ra,16(sp) f3e8: df000315 stw fp,12(sp) f3ec: df000304 addi fp,sp,12 f3f0: e13ffd15 stw r4,-12(fp) f3f4: e17ffe15 stw r5,-8(fp) f3f8: e1bfff15 stw r6,-4(fp) /* Redirect the channels */ alt_open_fd (&alt_fd_list[STDOUT_FILENO], stdout_dev, O_WRONLY, 0777); f3fc: 01000074 movhi r4,1 f400: 2103bf04 addi r4,r4,3836 f404: e17ffd17 ldw r5,-12(fp) f408: 01800044 movi r6,1 f40c: 01c07fc4 movi r7,511 f410: 000f3080 call f308 <alt_open_fd> alt_open_fd (&alt_fd_list[STDIN_FILENO], stdin_dev, O_RDONLY, 0777); f414: 01000074 movhi r4,1 f418: 2103bc04 addi r4,r4,3824 f41c: e17ffe17 ldw r5,-8(fp) f420: 000d883a mov r6,zero f424: 01c07fc4 movi r7,511 f428: 000f3080 call f308 <alt_open_fd> alt_open_fd (&alt_fd_list[STDERR_FILENO], stderr_dev, O_WRONLY, 0777); f42c: 01000074 movhi r4,1 f430: 2103c204 addi r4,r4,3848 f434: e17fff17 ldw r5,-4(fp) f438: 01800044 movi r6,1 f43c: 01c07fc4 movi r7,511 f440: 000f3080 call f308 <alt_open_fd> } f444: e037883a mov sp,fp f448: dfc00117 ldw ra,4(sp) f44c: df000017 ldw fp,0(sp) f450: dec00204 addi sp,sp,8 f454: f800283a ret 0000f458 <alt_file_locked>: * performed for devices. Filesystems are required to handle the ioctl() call * themselves, and report the error from the filesystems open() function. */ static int alt_file_locked (alt_fd* fd) { f458: defffa04 addi sp,sp,-24 f45c: dfc00515 stw ra,20(sp) f460: df000415 stw fp,16(sp) f464: dc000315 stw r16,12(sp) f468: df000304 addi fp,sp,12 f46c: e13ffe15 stw r4,-8(fp) /* * Mark the file descriptor as belonging to a device. */ fd->fd_flags |= ALT_FD_DEV; f470: e0bffe17 ldw r2,-8(fp) f474: 10800217 ldw r2,8(r2) f478: 10d00034 orhi r3,r2,16384 f47c: e0bffe17 ldw r2,-8(fp) f480: 10c00215 stw r3,8(r2) /* * Loop through all current file descriptors searching for one that's locked * for exclusive access. If a match is found, generate an error. */ for (i = 0; i <= alt_max_fd; i++) f484: e03ffd15 stw zero,-12(fp) f488: 00002306 br f518 <alt_file_locked+0xc0> { if ((alt_fd_list[i].dev == fd->dev) && f48c: e13ffd17 ldw r4,-12(fp) f490: 04000074 movhi r16,1 f494: 8403bc04 addi r16,r16,3824 f498: 01400304 movi r5,12 f49c: 0002c240 call 2c24 <__mulsi3> f4a0: 1405883a add r2,r2,r16 f4a4: 10c00017 ldw r3,0(r2) f4a8: e0bffe17 ldw r2,-8(fp) f4ac: 10800017 ldw r2,0(r2) f4b0: 1880161e bne r3,r2,f50c <alt_file_locked+0xb4> f4b4: e13ffd17 ldw r4,-12(fp) f4b8: 04000074 movhi r16,1 f4bc: 8403bc04 addi r16,r16,3824 f4c0: 01400304 movi r5,12 f4c4: 0002c240 call 2c24 <__mulsi3> f4c8: 1405883a add r2,r2,r16 f4cc: 10800204 addi r2,r2,8 f4d0: 10800017 ldw r2,0(r2) f4d4: 1004403a cmpge r2,r2,zero f4d8: 10000c1e bne r2,zero,f50c <alt_file_locked+0xb4> f4dc: e13ffd17 ldw r4,-12(fp) f4e0: 01400304 movi r5,12 f4e4: 0002c240 call 2c24 <__mulsi3> f4e8: 1007883a mov r3,r2 f4ec: 00800074 movhi r2,1 f4f0: 1083bc04 addi r2,r2,3824 f4f4: 1887883a add r3,r3,r2 f4f8: e0bffe17 ldw r2,-8(fp) f4fc: 18800326 beq r3,r2,f50c <alt_file_locked+0xb4> (alt_fd_list[i].fd_flags & ALT_FD_EXCL) && (&alt_fd_list[i] != fd)) { return -EACCES; f500: 00bffcc4 movi r2,-13 f504: e0bfff15 stw r2,-4(fp) f508: 00000a06 br f534 <alt_file_locked+0xdc> /* * Loop through all current file descriptors searching for one that's locked * for exclusive access. If a match is found, generate an error. */ for (i = 0; i <= alt_max_fd; i++) f50c: e0bffd17 ldw r2,-12(fp) f510: 10800044 addi r2,r2,1 f514: e0bffd15 stw r2,-12(fp) f518: 00800074 movhi r2,1 f51c: 10888804 addi r2,r2,8736 f520: 10800017 ldw r2,0(r2) f524: 1007883a mov r3,r2 f528: e0bffd17 ldw r2,-12(fp) f52c: 18bfd72e bgeu r3,r2,f48c <alt_file_locked+0x34> } } /* The device is not locked */ return 0; f530: e03fff15 stw zero,-4(fp) f534: e0bfff17 ldw r2,-4(fp) } f538: e037883a mov sp,fp f53c: dfc00217 ldw ra,8(sp) f540: df000117 ldw fp,4(sp) f544: dc000017 ldw r16,0(sp) f548: dec00304 addi sp,sp,12 f54c: f800283a ret 0000f550 <open>: * * ALT_OPEN is mapped onto the open() system call in alt_syscall.h */ int ALT_OPEN (const char* file, int flags, int mode) { f550: defff404 addi sp,sp,-48 f554: dfc00b15 stw ra,44(sp) f558: df000a15 stw fp,40(sp) f55c: df000a04 addi fp,sp,40 f560: e13ffb15 stw r4,-20(fp) f564: e17ffc15 stw r5,-16(fp) f568: e1bffd15 stw r6,-12(fp) alt_dev* dev; alt_fd* fd; int index = -1; f56c: 00bfffc4 movi r2,-1 f570: e0bff815 stw r2,-32(fp) int status = -ENODEV; f574: 00bffb44 movi r2,-19 f578: e0bff715 stw r2,-36(fp) int isafs = 0; f57c: e03ff615 stw zero,-40(fp) /* * Check the device list, to see if a device with a matching name is * registered. */ if (!(dev = alt_find_dev (file, &alt_dev_list))) f580: e13ffb17 ldw r4,-20(fp) f584: 01400074 movhi r5,1 f588: 29488604 addi r5,r5,8728 f58c: 000f9000 call f900 <alt_find_dev> f590: e0bffa15 stw r2,-24(fp) f594: e0bffa17 ldw r2,-24(fp) f598: 1004c03a cmpne r2,r2,zero f59c: 1000051e bne r2,zero,f5b4 <open+0x64> { /* No matching device, so try the filesystem list */ dev = alt_find_file (file); f5a0: e13ffb17 ldw r4,-20(fp) f5a4: 000f9940 call f994 <alt_find_file> f5a8: e0bffa15 stw r2,-24(fp) isafs = 1; f5ac: 00800044 movi r2,1 f5b0: e0bff615 stw r2,-40(fp) /* * If a matching device or filesystem is found, allocate a file descriptor. */ if (dev) f5b4: e0bffa17 ldw r2,-24(fp) f5b8: 1005003a cmpeq r2,r2,zero f5bc: 1000311e bne r2,zero,f684 <open+0x134> { if ((index = alt_get_fd (dev)) < 0) f5c0: e13ffa17 ldw r4,-24(fp) f5c4: 000fab40 call fab4 <alt_get_fd> f5c8: e0bff815 stw r2,-32(fp) f5cc: e0bff817 ldw r2,-32(fp) f5d0: 1004403a cmpge r2,r2,zero f5d4: 1000031e bne r2,zero,f5e4 <open+0x94> { status = index; f5d8: e0bff817 ldw r2,-32(fp) f5dc: e0bff715 stw r2,-36(fp) f5e0: 00002a06 br f68c <open+0x13c> } else { fd = &alt_fd_list[index]; f5e4: e13ff817 ldw r4,-32(fp) f5e8: 01400304 movi r5,12 f5ec: 0002c240 call 2c24 <__mulsi3> f5f0: 1007883a mov r3,r2 f5f4: 00800074 movhi r2,1 f5f8: 1083bc04 addi r2,r2,3824 f5fc: 1885883a add r2,r3,r2 f600: e0bff915 stw r2,-28(fp) fd->fd_flags = (flags & ~ALT_FD_FLAGS_MASK); f604: e0fffc17 ldw r3,-16(fp) f608: 00900034 movhi r2,16384 f60c: 10bfffc4 addi r2,r2,-1 f610: 1886703a and r3,r3,r2 f614: e0bff917 ldw r2,-28(fp) f618: 10c00215 stw r3,8(r2) /* If this is a device, ensure it isn't already locked */ if (isafs || ((status = alt_file_locked (fd)) >= 0)) f61c: e0bff617 ldw r2,-40(fp) f620: 1004c03a cmpne r2,r2,zero f624: 1000061e bne r2,zero,f640 <open+0xf0> f628: e13ff917 ldw r4,-28(fp) f62c: 000f4580 call f458 <alt_file_locked> f630: e0bff715 stw r2,-36(fp) f634: e0bff717 ldw r2,-36(fp) f638: 1004803a cmplt r2,r2,zero f63c: 1000131e bne r2,zero,f68c <open+0x13c> /* * If the device or filesystem provides an open() callback function, * call it now to perform any device/filesystem specific operations. */ status = (dev->open) ? dev->open(fd, file, flags, mode): 0; f640: e0bffa17 ldw r2,-24(fp) f644: 10800317 ldw r2,12(r2) f648: 1005003a cmpeq r2,r2,zero f64c: 1000091e bne r2,zero,f674 <open+0x124> f650: e0bffa17 ldw r2,-24(fp) f654: 10800317 ldw r2,12(r2) f658: e13ff917 ldw r4,-28(fp) f65c: e17ffb17 ldw r5,-20(fp) f660: e1bffc17 ldw r6,-16(fp) f664: e1fffd17 ldw r7,-12(fp) f668: 103ee83a callr r2 f66c: e0bfff15 stw r2,-4(fp) f670: 00000106 br f678 <open+0x128> f674: e03fff15 stw zero,-4(fp) f678: e0bfff17 ldw r2,-4(fp) f67c: e0bff715 stw r2,-36(fp) f680: 00000206 br f68c <open+0x13c> } } } else { status = -ENODEV; f684: 00bffb44 movi r2,-19 f688: e0bff715 stw r2,-36(fp) } /* Allocation failed, so clean up and return an error */ if (status < 0) f68c: e0bff717 ldw r2,-36(fp) f690: 1004403a cmpge r2,r2,zero f694: 1000091e bne r2,zero,f6bc <open+0x16c> { alt_release_fd (index); f698: e13ff817 ldw r4,-32(fp) f69c: 000cd440 call cd44 <alt_release_fd> ALT_ERRNO = -status; f6a0: 000f6dc0 call f6dc <alt_get_errno> f6a4: e0fff717 ldw r3,-36(fp) f6a8: 00c7c83a sub r3,zero,r3 f6ac: 10c00015 stw r3,0(r2) return -1; f6b0: 00bfffc4 movi r2,-1 f6b4: e0bffe15 stw r2,-8(fp) f6b8: 00000206 br f6c4 <open+0x174> } /* return the reference upon success */ return index; f6bc: e0bff817 ldw r2,-32(fp) f6c0: e0bffe15 stw r2,-8(fp) f6c4: e0bffe17 ldw r2,-8(fp) } f6c8: e037883a mov sp,fp f6cc: dfc00117 ldw ra,4(sp) f6d0: df000017 ldw fp,0(sp) f6d4: dec00204 addi sp,sp,8 f6d8: f800283a ret 0000f6dc <alt_get_errno>: #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { f6dc: defffd04 addi sp,sp,-12 f6e0: dfc00215 stw ra,8(sp) f6e4: df000115 stw fp,4(sp) f6e8: df000104 addi fp,sp,4 return ((alt_errno) ? alt_errno() : &errno); f6ec: 00800074 movhi r2,1 f6f0: 10888904 addi r2,r2,8740 f6f4: 10800017 ldw r2,0(r2) f6f8: 1005003a cmpeq r2,r2,zero f6fc: 1000061e bne r2,zero,f718 <alt_get_errno+0x3c> f700: 00800074 movhi r2,1 f704: 10888904 addi r2,r2,8740 f708: 10800017 ldw r2,0(r2) f70c: 103ee83a callr r2 f710: e0bfff15 stw r2,-4(fp) f714: 00000306 br f724 <alt_get_errno+0x48> f718: 00800074 movhi r2,1 f71c: 108f7c04 addi r2,r2,15856 f720: e0bfff15 stw r2,-4(fp) f724: e0bfff17 ldw r2,-4(fp) } f728: e037883a mov sp,fp f72c: dfc00117 ldw ra,4(sp) f730: df000017 ldw fp,0(sp) f734: dec00204 addi sp,sp,8 f738: f800283a ret 0000f73c <alt_alarm_stop>: * alarms. Alternatively an alarm can unregister itself by returning zero when * the alarm executes. */ void alt_alarm_stop (alt_alarm* alarm) { f73c: defffa04 addi sp,sp,-24 f740: df000515 stw fp,20(sp) f744: df000504 addi fp,sp,20 f748: e13fff15 stw r4,-4(fp) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); f74c: 0005303a rdctl r2,status f750: e0bffd15 stw r2,-12(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); f754: e0fffd17 ldw r3,-12(fp) f758: 00bfff84 movi r2,-2 f75c: 1884703a and r2,r3,r2 f760: 1001703a wrctl status,r2 return context; f764: e0bffd17 ldw r2,-12(fp) alt_irq_context irq_context; irq_context = alt_irq_disable_all(); f768: e0bffe15 stw r2,-8(fp) alt_llist_remove (&alarm->llist); f76c: e0bfff17 ldw r2,-4(fp) f770: e0bffc15 stw r2,-16(fp) * input argument is the element to remove. */ static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_remove(alt_llist* entry) { entry->next->previous = entry->previous; f774: e0bffc17 ldw r2,-16(fp) f778: 10c00017 ldw r3,0(r2) f77c: e0bffc17 ldw r2,-16(fp) f780: 10800117 ldw r2,4(r2) f784: 18800115 stw r2,4(r3) entry->previous->next = entry->next; f788: e0bffc17 ldw r2,-16(fp) f78c: 10c00117 ldw r3,4(r2) f790: e0bffc17 ldw r2,-16(fp) f794: 10800017 ldw r2,0(r2) f798: 18800015 stw r2,0(r3) /* * Set the entry to point to itself, so that any further calls to * alt_llist_remove() are harmless. */ entry->previous = entry; f79c: e0fffc17 ldw r3,-16(fp) f7a0: e0bffc17 ldw r2,-16(fp) f7a4: 18800115 stw r2,4(r3) entry->next = entry; f7a8: e0fffc17 ldw r3,-16(fp) f7ac: e0bffc17 ldw r2,-16(fp) f7b0: 18800015 stw r2,0(r3) f7b4: e0bffe17 ldw r2,-8(fp) f7b8: e0bffb15 stw r2,-20(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); f7bc: e0bffb17 ldw r2,-20(fp) f7c0: 1001703a wrctl status,r2 alt_irq_enable_all (irq_context); } f7c4: e037883a mov sp,fp f7c8: df000017 ldw fp,0(sp) f7cc: dec00104 addi sp,sp,4 f7d0: f800283a ret 0000f7d4 <alt_tick>: * * alt_tick() is expected to run at interrupt level. */ void alt_tick (void) { f7d4: defffb04 addi sp,sp,-20 f7d8: dfc00415 stw ra,16(sp) f7dc: df000315 stw fp,12(sp) f7e0: df000304 addi fp,sp,12 alt_alarm* next; alt_alarm* alarm = (alt_alarm*) alt_alarm_list.next; f7e4: d0a01117 ldw r2,-32700(gp) f7e8: e0bffe15 stw r2,-8(fp) alt_u32 next_callback; /* update the tick counter */ _alt_nticks++; f7ec: d0a70617 ldw r2,-25576(gp) f7f0: 10800044 addi r2,r2,1 f7f4: d0a70615 stw r2,-25576(gp) /* process the registered callbacks */ while (alarm != (alt_alarm*) &alt_alarm_list) f7f8: 00003106 br f8c0 <alt_tick+0xec> { next = (alt_alarm*) alarm->llist.next; f7fc: e0bffe17 ldw r2,-8(fp) f800: 10800017 ldw r2,0(r2) f804: e0bfff15 stw r2,-4(fp) /* * Upon the tick-counter rolling over it is safe to clear the * roll-over flag; once the flag is cleared this (or subsequnt) * tick events are enabled to generate an alarm event. */ if ((alarm->rollover) && (_alt_nticks == 0)) f808: e0bffe17 ldw r2,-8(fp) f80c: 10800403 ldbu r2,16(r2) f810: 10803fcc andi r2,r2,255 f814: 1005003a cmpeq r2,r2,zero f818: 1000051e bne r2,zero,f830 <alt_tick+0x5c> f81c: d0a70617 ldw r2,-25576(gp) f820: 1004c03a cmpne r2,r2,zero f824: 1000021e bne r2,zero,f830 <alt_tick+0x5c> { alarm->rollover = 0; f828: e0bffe17 ldw r2,-8(fp) f82c: 10000405 stb zero,16(r2) } /* if the alarm period has expired, make the callback */ if ((alarm->time <= _alt_nticks) && (alarm->rollover == 0)) f830: e0bffe17 ldw r2,-8(fp) f834: 10c00217 ldw r3,8(r2) f838: d0a70617 ldw r2,-25576(gp) f83c: 10c01e36 bltu r2,r3,f8b8 <alt_tick+0xe4> f840: e0bffe17 ldw r2,-8(fp) f844: 10800403 ldbu r2,16(r2) f848: 10803fcc andi r2,r2,255 f84c: 1004c03a cmpne r2,r2,zero f850: 1000191e bne r2,zero,f8b8 <alt_tick+0xe4> { next_callback = alarm->callback (alarm->context); f854: e0bffe17 ldw r2,-8(fp) f858: 10c00317 ldw r3,12(r2) f85c: e0bffe17 ldw r2,-8(fp) f860: 11000517 ldw r4,20(r2) f864: 183ee83a callr r3 f868: e0bffd15 stw r2,-12(fp) /* deactivate the alarm if the return value is zero */ if (next_callback == 0) f86c: e0bffd17 ldw r2,-12(fp) f870: 1004c03a cmpne r2,r2,zero f874: 1000031e bne r2,zero,f884 <alt_tick+0xb0> { alt_alarm_stop (alarm); f878: e13ffe17 ldw r4,-8(fp) f87c: 000f73c0 call f73c <alt_alarm_stop> f880: 00000d06 br f8b8 <alt_tick+0xe4> } else { alarm->time += next_callback; f884: e0bffe17 ldw r2,-8(fp) f888: 10c00217 ldw r3,8(r2) f88c: e0bffd17 ldw r2,-12(fp) f890: 1887883a add r3,r3,r2 f894: e0bffe17 ldw r2,-8(fp) f898: 10c00215 stw r3,8(r2) /* * If the desired alarm time causes a roll-over, set the rollover * flag. This will prevent the subsequent tick event from causing * an alarm too early. */ if(alarm->time < _alt_nticks) f89c: e0bffe17 ldw r2,-8(fp) f8a0: 10c00217 ldw r3,8(r2) f8a4: d0a70617 ldw r2,-25576(gp) f8a8: 1880032e bgeu r3,r2,f8b8 <alt_tick+0xe4> { alarm->rollover = 1; f8ac: e0fffe17 ldw r3,-8(fp) f8b0: 00800044 movi r2,1 f8b4: 18800405 stb r2,16(r3) } } } alarm = next; f8b8: e0bfff17 ldw r2,-4(fp) f8bc: e0bffe15 stw r2,-8(fp) _alt_nticks++; /* process the registered callbacks */ while (alarm != (alt_alarm*) &alt_alarm_list) f8c0: d0e01104 addi r3,gp,-32700 f8c4: e0bffe17 ldw r2,-8(fp) f8c8: 10ffcc1e bne r2,r3,f7fc <alt_tick+0x28> /* * Update the operating system specific timer facilities. */ ALT_OS_TIME_TICK(); } f8cc: e037883a mov sp,fp f8d0: dfc00117 ldw ra,4(sp) f8d4: df000017 ldw fp,0(sp) f8d8: dec00204 addi sp,sp,8 f8dc: f800283a ret 0000f8e0 <altera_nios2_qsys_irq_init>: /* * To initialize the internal interrupt controller, just clear the IENABLE * register so that all possible IRQs are disabled. */ void altera_nios2_qsys_irq_init(void) { f8e0: deffff04 addi sp,sp,-4 f8e4: df000015 stw fp,0(sp) f8e8: d839883a mov fp,sp NIOS2_WRITE_IENABLE(0); f8ec: 000170fa wrctl ienable,zero } f8f0: e037883a mov sp,fp f8f4: df000017 ldw fp,0(sp) f8f8: dec00104 addi sp,sp,4 f8fc: f800283a ret 0000f900 <alt_find_dev>: * "name" must be an exact match for the devices registered name for a match to * be found. */ alt_dev* alt_find_dev(const char* name, alt_llist* llist) { f900: defff904 addi sp,sp,-28 f904: dfc00615 stw ra,24(sp) f908: df000515 stw fp,20(sp) f90c: df000504 addi fp,sp,20 f910: e13ffd15 stw r4,-12(fp) f914: e17ffe15 stw r5,-8(fp) alt_dev* next = (alt_dev*) llist->next; f918: e0bffe17 ldw r2,-8(fp) f91c: 10800017 ldw r2,0(r2) f920: e0bffc15 stw r2,-16(fp) alt_32 len; len = strlen(name) + 1; f924: e13ffd17 ldw r4,-12(fp) f928: 0002d300 call 2d30 <strlen> f92c: 10800044 addi r2,r2,1 f930: e0bffb15 stw r2,-20(fp) /* * Check each list entry in turn, until a match is found, or we reach the * end of the list (i.e. next winds up pointing back to the list head). */ while (next != (alt_dev*) llist) f934: 00000d06 br f96c <alt_find_dev+0x6c> /* * memcmp() is used here rather than strcmp() in order to reduce the size * of the executable. */ if (!memcmp (next->name, name, len)) f938: e0bffc17 ldw r2,-16(fp) f93c: 11000217 ldw r4,8(r2) f940: e1bffb17 ldw r6,-20(fp) f944: e17ffd17 ldw r5,-12(fp) f948: 000fbd00 call fbd0 <memcmp> f94c: 1004c03a cmpne r2,r2,zero f950: 1000031e bne r2,zero,f960 <alt_find_dev+0x60> { /* match found */ return next; f954: e0bffc17 ldw r2,-16(fp) f958: e0bfff15 stw r2,-4(fp) f95c: 00000706 br f97c <alt_find_dev+0x7c> } next = (alt_dev*) next->llist.next; f960: e0bffc17 ldw r2,-16(fp) f964: 10800017 ldw r2,0(r2) f968: e0bffc15 stw r2,-16(fp) /* * Check each list entry in turn, until a match is found, or we reach the * end of the list (i.e. next winds up pointing back to the list head). */ while (next != (alt_dev*) llist) f96c: e0fffe17 ldw r3,-8(fp) f970: e0bffc17 ldw r2,-16(fp) f974: 10fff01e bne r2,r3,f938 <alt_find_dev+0x38> next = (alt_dev*) next->llist.next; } /* No match found */ return NULL; f978: e03fff15 stw zero,-4(fp) f97c: e0bfff17 ldw r2,-4(fp) } f980: e037883a mov sp,fp f984: dfc00117 ldw ra,4(sp) f988: df000017 ldw fp,0(sp) f98c: dec00204 addi sp,sp,8 f990: f800283a ret 0000f994 <alt_find_file>: * either '/' or '\0' is the prefix of the filename. For example the filename: * "/myfilesystem/junk.txt" would match: "/myfilesystem", but not: "/myfile". */ alt_dev* alt_find_file (const char* name) { f994: defffa04 addi sp,sp,-24 f998: dfc00515 stw ra,20(sp) f99c: df000415 stw fp,16(sp) f9a0: df000404 addi fp,sp,16 f9a4: e13ffe15 stw r4,-8(fp) alt_dev* next = (alt_dev*) alt_fs_list.next; f9a8: 00800074 movhi r2,1 f9ac: 10888404 addi r2,r2,8720 f9b0: 10800017 ldw r2,0(r2) f9b4: e0bffd15 stw r2,-12(fp) /* * Check each list entry in turn, until a match is found, or we reach the * end of the list (i.e. next winds up pointing back to the list head). */ while (next != (alt_dev*) &alt_fs_list) f9b8: 00003306 br fa88 <alt_find_file+0xf4> { len = strlen(next->name); f9bc: e0bffd17 ldw r2,-12(fp) f9c0: 11000217 ldw r4,8(r2) f9c4: 0002d300 call 2d30 <strlen> f9c8: e0bffc15 stw r2,-16(fp) if (next->name[len-1] == '/') f9cc: e0bffd17 ldw r2,-12(fp) f9d0: 10c00217 ldw r3,8(r2) f9d4: e0bffc17 ldw r2,-16(fp) f9d8: 1885883a add r2,r3,r2 f9dc: 10bfffc4 addi r2,r2,-1 f9e0: 10800003 ldbu r2,0(r2) f9e4: 10803fcc andi r2,r2,255 f9e8: 1080201c xori r2,r2,128 f9ec: 10bfe004 addi r2,r2,-128 f9f0: 10800bd8 cmpnei r2,r2,47 f9f4: 1000031e bne r2,zero,fa04 <alt_find_file+0x70> { len -= 1; f9f8: e0bffc17 ldw r2,-16(fp) f9fc: 10bfffc4 addi r2,r2,-1 fa00: e0bffc15 stw r2,-16(fp) } if (((name[len] == '/') || (name[len] == '\0')) && fa04: e0bffc17 ldw r2,-16(fp) fa08: 1007883a mov r3,r2 fa0c: e0bffe17 ldw r2,-8(fp) fa10: 1885883a add r2,r3,r2 fa14: 10800003 ldbu r2,0(r2) fa18: 10803fcc andi r2,r2,255 fa1c: 1080201c xori r2,r2,128 fa20: 10bfe004 addi r2,r2,-128 fa24: 10800be0 cmpeqi r2,r2,47 fa28: 10000a1e bne r2,zero,fa54 <alt_find_file+0xc0> fa2c: e0bffc17 ldw r2,-16(fp) fa30: 1007883a mov r3,r2 fa34: e0bffe17 ldw r2,-8(fp) fa38: 1885883a add r2,r3,r2 fa3c: 10800003 ldbu r2,0(r2) fa40: 10803fcc andi r2,r2,255 fa44: 1080201c xori r2,r2,128 fa48: 10bfe004 addi r2,r2,-128 fa4c: 1004c03a cmpne r2,r2,zero fa50: 10000a1e bne r2,zero,fa7c <alt_find_file+0xe8> fa54: e0bffd17 ldw r2,-12(fp) fa58: 11000217 ldw r4,8(r2) fa5c: e1bffc17 ldw r6,-16(fp) fa60: e17ffe17 ldw r5,-8(fp) fa64: 000fbd00 call fbd0 <memcmp> fa68: 1004c03a cmpne r2,r2,zero fa6c: 1000031e bne r2,zero,fa7c <alt_find_file+0xe8> !memcmp (next->name, name, len)) { /* match found */ return next; fa70: e0bffd17 ldw r2,-12(fp) fa74: e0bfff15 stw r2,-4(fp) fa78: 00000806 br fa9c <alt_find_file+0x108> } next = (alt_dev*) next->llist.next; fa7c: e0bffd17 ldw r2,-12(fp) fa80: 10800017 ldw r2,0(r2) fa84: e0bffd15 stw r2,-12(fp) /* * Check each list entry in turn, until a match is found, or we reach the * end of the list (i.e. next winds up pointing back to the list head). */ while (next != (alt_dev*) &alt_fs_list) fa88: 00c00074 movhi r3,1 fa8c: 18c88404 addi r3,r3,8720 fa90: e0bffd17 ldw r2,-12(fp) fa94: 10ffc91e bne r2,r3,f9bc <alt_find_file+0x28> next = (alt_dev*) next->llist.next; } /* No match found */ return NULL; fa98: e03fff15 stw zero,-4(fp) fa9c: e0bfff17 ldw r2,-4(fp) } faa0: e037883a mov sp,fp faa4: dfc00117 ldw ra,4(sp) faa8: df000017 ldw fp,0(sp) faac: dec00204 addi sp,sp,8 fab0: f800283a ret 0000fab4 <alt_get_fd>: * the offset of the file descriptor within the file descriptor array). A * negative value indicates failure. */ int alt_get_fd (alt_dev* dev) { fab4: defffa04 addi sp,sp,-24 fab8: dfc00515 stw ra,20(sp) fabc: df000415 stw fp,16(sp) fac0: dc000315 stw r16,12(sp) fac4: df000304 addi fp,sp,12 fac8: e13fff15 stw r4,-4(fp) alt_32 i; int rc = -EMFILE; facc: 00bffa04 movi r2,-24 fad0: e0bffd15 stw r2,-12(fp) * indicates the highest file descriptor ever allocated. This is used to * improve efficency when searching the file descriptor list, and * therefore reduce contention on the alt_fd_list_lock semaphore. */ for (i = 0; i < ALT_MAX_FD; i++) fad4: e03ffe15 stw zero,-8(fp) fad8: 00002006 br fb5c <alt_get_fd+0xa8> { if (!alt_fd_list[i].dev) fadc: e13ffe17 ldw r4,-8(fp) fae0: 04000074 movhi r16,1 fae4: 8403bc04 addi r16,r16,3824 fae8: 01400304 movi r5,12 faec: 0002c240 call 2c24 <__mulsi3> faf0: 1405883a add r2,r2,r16 faf4: 10800017 ldw r2,0(r2) faf8: 1004c03a cmpne r2,r2,zero fafc: 1000141e bne r2,zero,fb50 <alt_get_fd+0x9c> { alt_fd_list[i].dev = dev; fb00: e13ffe17 ldw r4,-8(fp) fb04: 04000074 movhi r16,1 fb08: 8403bc04 addi r16,r16,3824 fb0c: 01400304 movi r5,12 fb10: 0002c240 call 2c24 <__mulsi3> fb14: 1407883a add r3,r2,r16 fb18: e0bfff17 ldw r2,-4(fp) fb1c: 18800015 stw r2,0(r3) if (i > alt_max_fd) fb20: 00800074 movhi r2,1 fb24: 10888804 addi r2,r2,8736 fb28: 10c00017 ldw r3,0(r2) fb2c: e0bffe17 ldw r2,-8(fp) fb30: 1880040e bge r3,r2,fb44 <alt_get_fd+0x90> { alt_max_fd = i; fb34: 00c00074 movhi r3,1 fb38: 18c88804 addi r3,r3,8736 fb3c: e0bffe17 ldw r2,-8(fp) fb40: 18800015 stw r2,0(r3) } rc = i; fb44: e0bffe17 ldw r2,-8(fp) fb48: e0bffd15 stw r2,-12(fp) goto alt_get_fd_exit; fb4c: 00000606 br fb68 <alt_get_fd+0xb4> * indicates the highest file descriptor ever allocated. This is used to * improve efficency when searching the file descriptor list, and * therefore reduce contention on the alt_fd_list_lock semaphore. */ for (i = 0; i < ALT_MAX_FD; i++) fb50: e0bffe17 ldw r2,-8(fp) fb54: 10800044 addi r2,r2,1 fb58: e0bffe15 stw r2,-8(fp) fb5c: e0bffe17 ldw r2,-8(fp) fb60: 10800810 cmplti r2,r2,32 fb64: 103fdd1e bne r2,zero,fadc <alt_get_fd+0x28> * file descriptor pool. */ ALT_SEM_POST(alt_fd_list_lock); return rc; fb68: e0bffd17 ldw r2,-12(fp) } fb6c: e037883a mov sp,fp fb70: dfc00217 ldw ra,8(sp) fb74: df000117 ldw fp,4(sp) fb78: dc000017 ldw r16,0(sp) fb7c: dec00304 addi sp,sp,12 fb80: f800283a ret 0000fb84 <atexit>: fb84: 200b883a mov r5,r4 fb88: 000d883a mov r6,zero fb8c: 0009883a mov r4,zero fb90: 000f883a mov r7,zero fb94: 000fc441 jmpi fc44 <__register_exitproc> 0000fb98 <exit>: fb98: defffe04 addi sp,sp,-8 fb9c: 000b883a mov r5,zero fba0: dc000015 stw r16,0(sp) fba4: dfc00115 stw ra,4(sp) fba8: 2021883a mov r16,r4 fbac: 000fd7c0 call fd7c <__call_exitprocs> fbb0: 00800074 movhi r2,1 fbb4: 10887f04 addi r2,r2,8700 fbb8: 11000017 ldw r4,0(r2) fbbc: 20800f17 ldw r2,60(r4) fbc0: 10000126 beq r2,zero,fbc8 <exit+0x30> fbc4: 103ee83a callr r2 fbc8: 8009883a mov r4,r16 fbcc: 000ff6c0 call ff6c <_exit> 0000fbd0 <memcmp>: fbd0: 00c000c4 movi r3,3 fbd4: 1980032e bgeu r3,r6,fbe4 <memcmp+0x14> fbd8: 2144b03a or r2,r4,r5 fbdc: 10c4703a and r2,r2,r3 fbe0: 10000f26 beq r2,zero,fc20 <memcmp+0x50> fbe4: 31ffffc4 addi r7,r6,-1 fbe8: 3000061e bne r6,zero,fc04 <memcmp+0x34> fbec: 00000a06 br fc18 <memcmp+0x48> fbf0: 39ffffc4 addi r7,r7,-1 fbf4: 00bfffc4 movi r2,-1 fbf8: 21000044 addi r4,r4,1 fbfc: 29400044 addi r5,r5,1 fc00: 38800526 beq r7,r2,fc18 <memcmp+0x48> fc04: 20c00003 ldbu r3,0(r4) fc08: 28800003 ldbu r2,0(r5) fc0c: 18bff826 beq r3,r2,fbf0 <memcmp+0x20> fc10: 1885c83a sub r2,r3,r2 fc14: f800283a ret fc18: 0005883a mov r2,zero fc1c: f800283a ret fc20: 180f883a mov r7,r3 fc24: 20c00017 ldw r3,0(r4) fc28: 28800017 ldw r2,0(r5) fc2c: 18bfed1e bne r3,r2,fbe4 <memcmp+0x14> fc30: 31bfff04 addi r6,r6,-4 fc34: 21000104 addi r4,r4,4 fc38: 29400104 addi r5,r5,4 fc3c: 39bff936 bltu r7,r6,fc24 <memcmp+0x54> fc40: 003fe806 br fbe4 <memcmp+0x14> 0000fc44 <__register_exitproc>: fc44: defffa04 addi sp,sp,-24 fc48: 00800074 movhi r2,1 fc4c: 10887f04 addi r2,r2,8700 fc50: dc000015 stw r16,0(sp) fc54: 14000017 ldw r16,0(r2) fc58: dd000415 stw r20,16(sp) fc5c: 2829883a mov r20,r5 fc60: 81405217 ldw r5,328(r16) fc64: dcc00315 stw r19,12(sp) fc68: dc800215 stw r18,8(sp) fc6c: dc400115 stw r17,4(sp) fc70: dfc00515 stw ra,20(sp) fc74: 2023883a mov r17,r4 fc78: 3027883a mov r19,r6 fc7c: 3825883a mov r18,r7 fc80: 28002526 beq r5,zero,fd18 <__register_exitproc+0xd4> fc84: 29000117 ldw r4,4(r5) fc88: 008007c4 movi r2,31 fc8c: 11002716 blt r2,r4,fd2c <__register_exitproc+0xe8> fc90: 8800101e bne r17,zero,fcd4 <__register_exitproc+0x90> fc94: 2105883a add r2,r4,r4 fc98: 1085883a add r2,r2,r2 fc9c: 20c00044 addi r3,r4,1 fca0: 1145883a add r2,r2,r5 fca4: 0009883a mov r4,zero fca8: 15000215 stw r20,8(r2) fcac: 28c00115 stw r3,4(r5) fcb0: 2005883a mov r2,r4 fcb4: dfc00517 ldw ra,20(sp) fcb8: dd000417 ldw r20,16(sp) fcbc: dcc00317 ldw r19,12(sp) fcc0: dc800217 ldw r18,8(sp) fcc4: dc400117 ldw r17,4(sp) fcc8: dc000017 ldw r16,0(sp) fccc: dec00604 addi sp,sp,24 fcd0: f800283a ret fcd4: 29802204 addi r6,r5,136 fcd8: 00800044 movi r2,1 fcdc: 110e983a sll r7,r2,r4 fce0: 30c04017 ldw r3,256(r6) fce4: 2105883a add r2,r4,r4 fce8: 1085883a add r2,r2,r2 fcec: 1185883a add r2,r2,r6 fcf0: 19c6b03a or r3,r3,r7 fcf4: 14802015 stw r18,128(r2) fcf8: 14c00015 stw r19,0(r2) fcfc: 00800084 movi r2,2 fd00: 30c04015 stw r3,256(r6) fd04: 88bfe31e bne r17,r2,fc94 <__register_exitproc+0x50> fd08: 30804117 ldw r2,260(r6) fd0c: 11c4b03a or r2,r2,r7 fd10: 30804115 stw r2,260(r6) fd14: 003fdf06 br fc94 <__register_exitproc+0x50> fd18: 00800074 movhi r2,1 fd1c: 10911104 addi r2,r2,17476 fd20: 100b883a mov r5,r2 fd24: 80805215 stw r2,328(r16) fd28: 003fd606 br fc84 <__register_exitproc+0x40> fd2c: 00800034 movhi r2,0 fd30: 10800004 addi r2,r2,0 fd34: 1000021e bne r2,zero,fd40 <__register_exitproc+0xfc> fd38: 013fffc4 movi r4,-1 fd3c: 003fdc06 br fcb0 <__register_exitproc+0x6c> fd40: 01006404 movi r4,400 fd44: 103ee83a callr r2 fd48: 1007883a mov r3,r2 fd4c: 103ffa26 beq r2,zero,fd38 <__register_exitproc+0xf4> fd50: 80805217 ldw r2,328(r16) fd54: 180b883a mov r5,r3 fd58: 18000115 stw zero,4(r3) fd5c: 18800015 stw r2,0(r3) fd60: 80c05215 stw r3,328(r16) fd64: 18006215 stw zero,392(r3) fd68: 18006315 stw zero,396(r3) fd6c: 0009883a mov r4,zero fd70: 883fc826 beq r17,zero,fc94 <__register_exitproc+0x50> fd74: 003fd706 br fcd4 <__register_exitproc+0x90> 0000fd78 <register_fini>: fd78: f800283a ret 0000fd7c <__call_exitprocs>: fd7c: 00800074 movhi r2,1 fd80: 10887f04 addi r2,r2,8700 fd84: 10800017 ldw r2,0(r2) fd88: defff304 addi sp,sp,-52 fd8c: df000b15 stw fp,44(sp) fd90: d8800115 stw r2,4(sp) fd94: 00800034 movhi r2,0 fd98: 10800004 addi r2,r2,0 fd9c: 1005003a cmpeq r2,r2,zero fda0: d8800215 stw r2,8(sp) fda4: d8800117 ldw r2,4(sp) fda8: dd400815 stw r21,32(sp) fdac: dd000715 stw r20,28(sp) fdb0: 10805204 addi r2,r2,328 fdb4: dfc00c15 stw ra,48(sp) fdb8: ddc00a15 stw r23,40(sp) fdbc: dd800915 stw r22,36(sp) fdc0: dcc00615 stw r19,24(sp) fdc4: dc800515 stw r18,20(sp) fdc8: dc400415 stw r17,16(sp) fdcc: dc000315 stw r16,12(sp) fdd0: 282b883a mov r21,r5 fdd4: 2039883a mov fp,r4 fdd8: d8800015 stw r2,0(sp) fddc: 2829003a cmpeq r20,r5,zero fde0: d8800117 ldw r2,4(sp) fde4: 14405217 ldw r17,328(r2) fde8: 88001026 beq r17,zero,fe2c <__call_exitprocs+0xb0> fdec: ddc00017 ldw r23,0(sp) fdf0: 88800117 ldw r2,4(r17) fdf4: 8c802204 addi r18,r17,136 fdf8: 143fffc4 addi r16,r2,-1 fdfc: 80000916 blt r16,zero,fe24 <__call_exitprocs+0xa8> fe00: 05bfffc4 movi r22,-1 fe04: a000151e bne r20,zero,fe5c <__call_exitprocs+0xe0> fe08: 8409883a add r4,r16,r16 fe0c: 2105883a add r2,r4,r4 fe10: 1485883a add r2,r2,r18 fe14: 10c02017 ldw r3,128(r2) fe18: a8c01126 beq r21,r3,fe60 <__call_exitprocs+0xe4> fe1c: 843fffc4 addi r16,r16,-1 fe20: 85bff81e bne r16,r22,fe04 <__call_exitprocs+0x88> fe24: d8800217 ldw r2,8(sp) fe28: 10003126 beq r2,zero,fef0 <__call_exitprocs+0x174> fe2c: dfc00c17 ldw ra,48(sp) fe30: df000b17 ldw fp,44(sp) fe34: ddc00a17 ldw r23,40(sp) fe38: dd800917 ldw r22,36(sp) fe3c: dd400817 ldw r21,32(sp) fe40: dd000717 ldw r20,28(sp) fe44: dcc00617 ldw r19,24(sp) fe48: dc800517 ldw r18,20(sp) fe4c: dc400417 ldw r17,16(sp) fe50: dc000317 ldw r16,12(sp) fe54: dec00d04 addi sp,sp,52 fe58: f800283a ret fe5c: 8409883a add r4,r16,r16 fe60: 88c00117 ldw r3,4(r17) fe64: 2105883a add r2,r4,r4 fe68: 1445883a add r2,r2,r17 fe6c: 18ffffc4 addi r3,r3,-1 fe70: 11800217 ldw r6,8(r2) fe74: 1c001526 beq r3,r16,fecc <__call_exitprocs+0x150> fe78: 10000215 stw zero,8(r2) fe7c: 303fe726 beq r6,zero,fe1c <__call_exitprocs+0xa0> fe80: 00c00044 movi r3,1 fe84: 1c06983a sll r3,r3,r16 fe88: 90804017 ldw r2,256(r18) fe8c: 8cc00117 ldw r19,4(r17) fe90: 1884703a and r2,r3,r2 fe94: 10001426 beq r2,zero,fee8 <__call_exitprocs+0x16c> fe98: 90804117 ldw r2,260(r18) fe9c: 1884703a and r2,r3,r2 fea0: 10000c1e bne r2,zero,fed4 <__call_exitprocs+0x158> fea4: 2105883a add r2,r4,r4 fea8: 1485883a add r2,r2,r18 feac: 11400017 ldw r5,0(r2) feb0: e009883a mov r4,fp feb4: 303ee83a callr r6 feb8: 88800117 ldw r2,4(r17) febc: 98bfc81e bne r19,r2,fde0 <__call_exitprocs+0x64> fec0: b8800017 ldw r2,0(r23) fec4: 147fd526 beq r2,r17,fe1c <__call_exitprocs+0xa0> fec8: 003fc506 br fde0 <__call_exitprocs+0x64> fecc: 8c000115 stw r16,4(r17) fed0: 003fea06 br fe7c <__call_exitprocs+0x100> fed4: 2105883a add r2,r4,r4 fed8: 1485883a add r2,r2,r18 fedc: 11000017 ldw r4,0(r2) fee0: 303ee83a callr r6 fee4: 003ff406 br feb8 <__call_exitprocs+0x13c> fee8: 303ee83a callr r6 feec: 003ff206 br feb8 <__call_exitprocs+0x13c> fef0: 88800117 ldw r2,4(r17) fef4: 1000081e bne r2,zero,ff18 <__call_exitprocs+0x19c> fef8: 89000017 ldw r4,0(r17) fefc: 20000726 beq r4,zero,ff1c <__call_exitprocs+0x1a0> ff00: b9000015 stw r4,0(r23) ff04: 8809883a mov r4,r17 ff08: 00000000 call 0 <__alt_mem_onchip_memory> ff0c: bc400017 ldw r17,0(r23) ff10: 883fb71e bne r17,zero,fdf0 <__call_exitprocs+0x74> ff14: 003fc506 br fe2c <__call_exitprocs+0xb0> ff18: 89000017 ldw r4,0(r17) ff1c: 882f883a mov r23,r17 ff20: 2023883a mov r17,r4 ff24: 883fb21e bne r17,zero,fdf0 <__call_exitprocs+0x74> ff28: 003fc006 br fe2c <__call_exitprocs+0xb0> 0000ff2c <alt_sim_halt>: /* * Routine called on exit. */ static ALT_ALWAYS_INLINE void alt_sim_halt(int exit_code) { ff2c: defffd04 addi sp,sp,-12 ff30: df000215 stw fp,8(sp) ff34: df000204 addi fp,sp,8 ff38: e13fff15 stw r4,-4(fp) int r2 = exit_code; ff3c: e0bfff17 ldw r2,-4(fp) ff40: e0bffe15 stw r2,-8(fp) __asm__ volatile ("\n0:\n\taddi %0,%0, -1\n\tbgt %0,zero,0b" : : "r" (ALT_CPU_FREQ/100) ); /* Delay for >30ms */ __asm__ volatile ("break 2" : : "D02"(r2), "D03"(r3) ALT_GMON_DATA ); #else /* !DEBUG_STUB */ if (r2) { ff44: e0bffe17 ldw r2,-8(fp) ff48: 1005003a cmpeq r2,r2,zero ff4c: 1000021e bne r2,zero,ff58 <alt_sim_halt+0x2c> ALT_SIM_FAIL(); ff50: 002af070 cmpltui zero,zero,43969 ff54: 00000106 br ff5c <alt_sim_halt+0x30> } else { ALT_SIM_PASS(); ff58: 002af0b0 cmpltui zero,zero,43970 } #endif /* DEBUG_STUB */ } ff5c: e037883a mov sp,fp ff60: df000017 ldw fp,0(sp) ff64: dec00104 addi sp,sp,4 ff68: f800283a ret 0000ff6c <_exit>: * * ALT_EXIT is mapped onto the _exit() system call in alt_syscall.h */ void ALT_EXIT (int exit_code) { ff6c: defffd04 addi sp,sp,-12 ff70: dfc00215 stw ra,8(sp) ff74: df000115 stw fp,4(sp) ff78: df000104 addi fp,sp,4 ff7c: e13fff15 stw r4,-4(fp) ALT_OS_STOP(); /* Provide notification to the simulator that we've stopped */ ALT_LOG_PRINT_BOOT("[alt_exit.c] Calling ALT_SIM_HALT().\r\n"); ALT_SIM_HALT(exit_code); ff80: e13fff17 ldw r4,-4(fp) ff84: 000ff2c0 call ff2c <alt_sim_halt> /* spin forever, since there's no where to go back to */ ALT_LOG_PRINT_BOOT("[alt_exit.c] Spinning forever.\r\n"); while (1); ff88: 003fff06 br ff88 <_exit+0x1c> ff8c: 0000fd78 rdprs zero,zero,1013