<p><pre>

hello_world_0.elf:     file format elf32-littlenios2

Disassembly of section .entry:

00800000 &lt;__reset&gt;:
    /* Assume the instruction cache size is always a power of two. */
#if NIOS2_ICACHE_SIZE &gt; 0x8000
    movhi r2, %hi(NIOS2_ICACHE_SIZE)
#else
    movui r2, NIOS2_ICACHE_SIZE
  800000:    00840014     movui    r2,4096
#endif

0:
    initi r2
  800004:    1001483a     initi    r2
    addi r2, r2, -NIOS2_ICACHE_LINE_SIZE
  800008:    10bff804     addi    r2,r2,-32
    bgt r2, zero, 0b
  80000c:    00bffd16     blt    zero,r2,800004 &lt;__alt_mem_sdram+0x4&gt;
1:

    /*
     * The following debug information tells the ISS not to run the loop above
     * but to perform its actions using faster internal code.
     */
    .pushsection .debug_alt_sim_info
    .int 1, 1, 0b, 1b
    .popsection
#endif /* Initialize Instruction Cache */

/*
 * 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)
  800010:    00402034     movhi    at,128
    ori r1, r1, %lo(_start)
  800014:    08407214     ori    at,at,456
    jmp r1
  800018:    0800683a     jmp    at
  80001c:    00000000     call    0 &lt;__alt_mem_sdram-0x800000&gt;
Disassembly of section .exceptions:

00800020 &lt;alt_exception&gt;:
         * caller saved registers on the stack (See the Nios2 ABI
         * documentation for details).
         */

        addi  sp, sp, -76
  800020:    deffed04     addi    sp,sp,-76

#ifdef ALT_STACK_CHECK

        bltu  sp, et, .Lstack_overflow

#endif

#endif

        stw   ra,  0(sp)
  800024:    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)
  800028:    d8400215     stw    at,8(sp)
        stw   r2,  12(sp)
  80002c:    d8800315     stw    r2,12(sp)
        stw   r3,  16(sp)
  800030:    d8c00415     stw    r3,16(sp)
        stw   r4,  20(sp)
  800034:    d9000515     stw    r4,20(sp)
        stw   r5,  24(sp)
  800038:    d9400615     stw    r5,24(sp)
        stw   r6,  28(sp)
  80003c:    d9800715     stw    r6,28(sp)
        stw   r7,  32(sp)
  800040:    d9c00815     stw    r7,32(sp)

        rdctl r5, estatus
  800044:    000b307a     rdctl    r5,estatus

        stw   r8,  36(sp)
  800048:    da000915     stw    r8,36(sp)
        stw   r9,  40(sp)
  80004c:    da400a15     stw    r9,40(sp)
        stw   r10, 44(sp)
  800050:    da800b15     stw    r10,44(sp)
        stw   r11, 48(sp)
  800054:    dac00c15     stw    r11,48(sp)
        stw   r12, 52(sp)
  800058:    db000d15     stw    r12,52(sp)
        stw   r13, 56(sp)
  80005c:    db400e15     stw    r13,56(sp)
        stw   r14, 60(sp)
  800060:    db800f15     stw    r14,60(sp)
        stw   r15, 64(sp)
  800064:    dbc01015     stw    r15,64(sp)

        stw   r5,  68(sp)
  800068:    d9401115     stw    r5,68(sp)
        addi  r15, ea, -4 /* re-issue the interrupted instruction */
  80006c:    ebffff04     addi    r15,ea,-4
        stw   r15,  72(sp)
  800070:    dbc01215     stw    r15,72(sp)
        /*
         * Test to see if the exception was a software exception or caused 
         * by an external interrupt, and vector accordingly.
         */
        rdctl r4, ipending
  800074:    0009313a     rdctl    r4,ipending
        andi  r2, r5, 1
  800078:    2880004c     andi    r2,r5,1
        beq   r2, zero, .Lnot_irq
  80007c:    10000326     beq    r2,zero,80008c &lt;__ram_exceptions_start+0x6c&gt;
        beq   r4, zero, .Lnot_irq
  800080:    20000226     beq    r4,zero,80008c &lt;__ram_exceptions_start+0x6c&gt;
#endif /* ALT_CI_INTERRUPT_VECTOR_N */

        .section .exceptions.irqhandler, "xa"
        /*
         * Now that all necessary registers have been preserved, call 
         * alt_irq_handler() to process the interrupts.
         */

        call alt_irq_handler
  800084:    08000ec0     call    8000ec &lt;alt_irq_handler&gt;

        .section .exceptions.irqreturn, "xa"

        br    .Lexception_exit
  800088:    00000306     br    800098 &lt;__ram_exceptions_start+0x78&gt;

        /*
         * The interrupt testing code goes here.  If an interrupt is active
         * then it stores ea-4 into 72(sp), handles the interrupt and jumps to
         * .exceptions.exit.  If there is no interrupt then it continues
         */

        .section .exceptions.notirq, "xa"

        stw   ea,  72(sp) /* Return after the instruction which caused the exception */
  80008c:    df401215     stw    ea,72(sp)
        ldw   r2, -4(ea)
  800090:    e8bfff17     ldw    r2,-4(ea)

        /*
         * The other exception handling code goes here.
         */

        .section .exceptions.unknown

        /*
        *  If you get here then one of the following could have happened:
        *
        *  - Your program could have been compiled for a full-featured Nios II
        *    core, but it is running on a smaller core, and instruction emulation
        *    has been disabled by defining ALT_NO_INSTRUCTION_EMULATION.
        *
        *    You can work around the problem by re-enabling instruction emulation,
        *    or you can figure out why your program is being compiled for a system
        *    other than the one that it is running on.
        *
        *  - Your program has executed a trap instruction, but has not implemented
        *    a handler for this instruction.
        *
        *  - Your program has executed an illegal instruction (one which is not
        *    defined in the instruction set).
        *
        *  - Your hardware is broken and is generating spurious interrupts (a
        *    peripheral which deasserts its interrupt output before its interrupt
        *    handler has been executed will cause spurious interrupts).
        *
        */

#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
  800094:    003da03a     break    0

#else

        /*
        *  If there is no debug stub then a BREAK will probably cause a reboot.
        *  An infinate loop will probably be more useful.
        */
0:
        br   0b

#endif

        .section .exceptions.exit, "xa"

        /* 
         * 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)
  800098:    d9401117     ldw    r5,68(sp)
        ldw   ea,  72(sp)
  80009c:    df401217     ldw    ea,72(sp)
        ldw   ra,   0(sp)
  8000a0:    dfc00017     ldw    ra,0(sp)

        wrctl estatus, r5
  8000a4:    2801707a     wrctl    estatus,r5

        ldw   r1,   8(sp)
  8000a8:    d8400217     ldw    at,8(sp)
        ldw   r2,  12(sp)
  8000ac:    d8800317     ldw    r2,12(sp)
        ldw   r3,  16(sp)
  8000b0:    d8c00417     ldw    r3,16(sp)
        ldw   r4,  20(sp)
  8000b4:    d9000517     ldw    r4,20(sp)
        ldw   r5,  24(sp)
  8000b8:    d9400617     ldw    r5,24(sp)
        ldw   r6,  28(sp)
  8000bc:    d9800717     ldw    r6,28(sp)
        ldw   r7,  32(sp)
  8000c0:    d9c00817     ldw    r7,32(sp)

#ifdef ALT_EXCEPTION_STACK
#ifdef ALT_STACK_CHECK
        ldw   et, %gprel(alt_exception_old_stack_limit)(gp)
#endif
#endif

        ldw   r8,  36(sp)
  8000c4:    da000917     ldw    r8,36(sp)
        ldw   r9,  40(sp)
  8000c8:    da400a17     ldw    r9,40(sp)
        ldw   r10, 44(sp)
  8000cc:    da800b17     ldw    r10,44(sp)
        ldw   r11, 48(sp)
  8000d0:    dac00c17     ldw    r11,48(sp)
        ldw   r12, 52(sp)
  8000d4:    db000d17     ldw    r12,52(sp)
        ldw   r13, 56(sp)
  8000d8:    db400e17     ldw    r13,56(sp)
        ldw   r14, 60(sp)
  8000dc:    db800f17     ldw    r14,60(sp)
        ldw   r15, 64(sp)
  8000e0:    dbc01017     ldw    r15,64(sp)

#ifdef ALT_EXCEPTION_STACK

#ifdef ALT_STACK_CHECK
        stw   et, %gprel(alt_stack_limit_value)(gp)
        stw   zero, %gprel(alt_exception_old_stack_limit)(gp)
#endif

        ldw   sp,  76(sp)

#else
        addi  sp, sp, 76
  8000e4:    dec01304     addi    sp,sp,76

#endif

        /*
         * Return to the interrupted instruction.
         */

        eret
  8000e8:    e800083a     eret

008000ec &lt;alt_irq_handler&gt;:
 */

void alt_irq_handler (void) __attribute__ ((section (".exceptions")));
void alt_irq_handler (void)
{
  8000ec:    defff904     addi    sp,sp,-28
  8000f0:    dfc00615     stw    ra,24(sp)
  8000f4:    df000515     stw    fp,20(sp)
  8000f8:    d839883a     mov    fp,sp
static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void)
{
  alt_u32 active;

  NIOS2_READ_IPENDING (active);
  8000fc:    0005313a     rdctl    r2,ipending
  800100:    e0800415     stw    r2,16(fp)
  800104:    e0800417     ldw    r2,16(fp)
  800108:    e0800315     stw    r2,12(fp)
  80010c:    e0800317     ldw    r2,12(fp)
  800110:    e0800015     stw    r2,0(fp)
#ifdef ALT_CI_INTERRUPT_VECTOR
  alt_32 offset;
  char*  alt_irq_base = (char*)alt_irq;
#else
  alt_u32 active;
  alt_u32 mask;
  alt_u32 i;
#endif /* ALT_CI_INTERRUPT_VECTOR */
  
  /*
   * Notify the operating system that we are at interrupt level.
   */ 
  
  ALT_OS_INT_ENTER();

#ifdef ALT_CI_INTERRUPT_VECTOR
  /*
   * Call the interrupt vector custom instruction using the 
   * ALT_CI_INTERRUPT_VECTOR macro.
   * It returns the offset into the vector table of the lowest-valued pending
   * interrupt (corresponds to highest priority) or a negative value if none.
   * The custom instruction assumes that each table entry is eight bytes.
   */
  while ((offset = ALT_CI_INTERRUPT_VECTOR) &gt;= 0) {
    struct ALT_IRQ_HANDLER* handler_entry = 
      (struct ALT_IRQ_HANDLER*)(alt_irq_base + offset);

    handler_entry-&gt;handler(handler_entry-&gt;context, offset &gt;&gt; 3);
  }
#else
  /* 
   * Obtain from the interrupt controller a bit list of pending interrupts,
   * and then process the highest priority interrupt. This process loops, 
   * loading the active interrupt list on each pass until alt_irq_pending() 
   * return zero.
   * 
   * The maximum interrupt latency for the highest priority interrupt is
   * reduced by finding out which interrupts are pending as late as possible.
   * 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 ();

  do
  {
    i = 0;
  800114:    e0000215     stw    zero,8(fp)
    mask = 1;
  800118:    00800044     movi    r2,1
  80011c:    e0800115     stw    r2,4(fp)

    /*
     * Test each bit in turn looking for an active interrupt. Once one is 
     * found, the interrupt handler asigned by a call to alt_irq_register() is
     * called to clear the interrupt condition.
     */

    do
    {
      if (active &amp; mask)
  800120:    e0c00017     ldw    r3,0(fp)
  800124:    e0800117     ldw    r2,4(fp)
  800128:    1884703a     and    r2,r3,r2
  80012c:    1005003a     cmpeq    r2,r2,zero
  800130:    1000101e     bne    r2,zero,800174 &lt;alt_irq_handler+0x88&gt;
      { 
        alt_irq[i].handler(alt_irq[i].context, i); 
  800134:    00c02074     movhi    r3,129
  800138:    18fb6104     addi    r3,r3,-4732
  80013c:    e0800217     ldw    r2,8(fp)
  800140:    10800224     muli    r2,r2,8
  800144:    10c9883a     add    r4,r2,r3
  800148:    00c02074     movhi    r3,129
  80014c:    18fb6104     addi    r3,r3,-4732
  800150:    e0800217     ldw    r2,8(fp)
  800154:    10800224     muli    r2,r2,8
  800158:    10c5883a     add    r2,r2,r3
  80015c:    10800104     addi    r2,r2,4
  800160:    20c00017     ldw    r3,0(r4)
  800164:    11000017     ldw    r4,0(r2)
  800168:    e1400217     ldw    r5,8(fp)
  80016c:    183ee83a     callr    r3
        break;
  800170:    00000706     br    800190 &lt;alt_irq_handler+0xa4&gt;
      }
      mask &lt;&lt;= 1;
  800174:    e0800117     ldw    r2,4(fp)
  800178:    1085883a     add    r2,r2,r2
  80017c:    e0800115     stw    r2,4(fp)
      i++;
  800180:    e0800217     ldw    r2,8(fp)
  800184:    10800044     addi    r2,r2,1
  800188:    e0800215     stw    r2,8(fp)

    } while (1);
  80018c:    003fe406     br    800120 &lt;alt_irq_handler+0x34&gt;
static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void)
{
  alt_u32 active;

  NIOS2_READ_IPENDING (active);
  800190:    0005313a     rdctl    r2,ipending
  800194:    e0800315     stw    r2,12(fp)
  800198:    e0800317     ldw    r2,12(fp)
  80019c:    e0800415     stw    r2,16(fp)
  8001a0:    e0800417     ldw    r2,16(fp)
  8001a4:    e0800015     stw    r2,0(fp)

    active = alt_irq_pending ();
    
  } while (active);
  8001a8:    e0800017     ldw    r2,0(fp)
  8001ac:    1005003a     cmpeq    r2,r2,zero
  8001b0:    1000011e     bne    r2,zero,8001b8 &lt;alt_irq_handler+0xcc&gt;
  8001b4:    003fd706     br    800114 &lt;alt_irq_handler+0x28&gt;
#endif /* ALT_CI_INTERRUPT_VECTOR */

  /*
   * Notify the operating system that interrupt processing is complete.
   */ 

  ALT_OS_INT_EXIT();
}
  8001b8:    dfc00617     ldw    ra,24(sp)
  8001bc:    df000517     ldw    fp,20(sp)
  8001c0:    dec00704     addi    sp,sp,28
  8001c4:    f800283a     ret
Disassembly of section .text:

008001c8 &lt;_start&gt;:

    .size __reset, . - __reset
#endif /* Jump to _start */

/*
 * When not using exit, provide an _exit symbol to prevent unresolved
 * references to _exit from the linker script.
 */ 
#ifdef ALT_NO_EXIT
    .globl _exit
_exit:
#endif

/*************************************************************************\
|                          TEXT SECTION (.text)                           |
\*************************************************************************/

/*
 * Start of the .text section, and also the code entry point when
 * the code is executed by a bootloader rather than directly from reset.
 */
    .section .text
    .align 2

    .globl _start
    .type _start, @function
_start:

/*
 * Initialize the data cache if present (i.e. size &gt; 0) and not
 * optimizing for RTL simulation.
 * RTL simulations can ensure the data cache is already initialized
 * so skipping this loop speeds up RTL simulation.
 */

#if NIOS2_DCACHE_SIZE &gt; 0 &amp;&amp; !defined(ALT_SIM_OPTIMIZE)

    /* Assume the data cache size is always a power of two. */
#if NIOS2_DCACHE_SIZE &gt; 0x8000
    movhi r2, %hi(NIOS2_DCACHE_SIZE)
#else
    movui r2, NIOS2_DCACHE_SIZE
  8001c8:    00820014     movui    r2,2048
#endif

0:
    initd 0(r2)
  8001cc:    10000033     initd    0(r2)
    addi r2, r2, -NIOS2_DCACHE_LINE_SIZE
  8001d0:    10bff804     addi    r2,r2,-32
    bgt r2, zero, 0b
  8001d4:    00bffd16     blt    zero,r2,8001cc &lt;__ram_exceptions_end+0x4&gt;
1:

    /*
     * The following debug information tells the ISS not to run the loop above
     * but to perform its actions using faster internal code.
     */
    .pushsection .debug_alt_sim_info
    .int 2, 1, 0b, 1b
    .popsection

#endif /* Initialize Data Cache */

    /* Log that caches have been initialized. */
    ALT_LOG_PUTS(alt_log_msg_cache)

    /* Log that the stack pointer is about to be setup. */
    ALT_LOG_PUTS(alt_log_msg_stackpointer)
    
    /* 
     * 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)
  8001d8:    06c04034     movhi    sp,256
    ori sp, sp, %lo(__alt_stack_pointer)
  8001dc:    dec00014     ori    sp,sp,0

    /* Set up the global pointer. */
    movhi gp, %hi(_gp)
  8001e0:    06802074     movhi    gp,129
    ori gp, gp, %lo(_gp)
  8001e4:    d69b4114     ori    gp,gp,27908

/*
 * Clear the BSS if not optimizing for RTL simulation.
 *
 * This uses the symbols: __bss_start and __bss_end, which are defined 
 * by the linker script. They mark the begining and the end of the bss 
 * region. The linker script guarantees that these values are word aligned. 
 */
#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)
  8001e8:    00802034     movhi    r2,128
    ori r2, r2, %lo(__bss_start)
  8001ec:    10bb5e14     ori    r2,r2,60792

    movhi r3, %hi(__bss_end)
  8001f0:    00c02034     movhi    r3,128
    ori r3, r3, %lo(__bss_end)
  8001f4:    18fbe414     ori    r3,r3,61328

    beq r2, r3, 1f 
  8001f8:    10c00326     beq    r2,r3,800208 &lt;__ram_exceptions_end+0x40&gt;

0:
    stw zero, (r2)
  8001fc:    10000015     stw    zero,0(r2)
    addi r2, r2, 4
  800200:    10800104     addi    r2,r2,4
    bltu r2, r3, 0b
  800204:    10fffd36     bltu    r2,r3,8001fc &lt;__ram_exceptions_end+0x34&gt;

1:

    /*
     * The following debug information tells the ISS not to run the loop above
     * but to perform its actions using faster internal code.
     */
    .pushsection .debug_alt_sim_info
    .int 3, 1, 0b, 1b
    .popsection
#endif /* ALT_SIM_OPTIMIZE */

/*
 * The alt_load() facility is normally used when there is no bootloader.
 * It copies some sections into RAM so it acts like a mini-bootloader.
 */
#ifdef CALL_ALT_LOAD

#ifdef ALT_STACK_CHECK
    /*
     * If the user has selected stack checking then we need to set up a safe
     * value in the stack limit register so that the relocation functions
     * don't think the stack has overflowed (the contents of the rwdata
     * section aren't defined until alt_load() has been called).
     */
    mov   et, zero
#endif

    call alt_load
  800208:    0809bac0     call    809bac &lt;alt_load&gt;

#endif /* CALL_ALT_LOAD */

#ifdef ALT_STACK_CHECK
    /*
     * Set up the stack limit (if required).  The linker has set up the
     * copy of the variable which is in memory.
     */

    ldw   et, %gprel(alt_stack_limit_value)(gp)
#endif

    /* 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
  80020c:    0809dc80     call    809dc8 &lt;alt_main&gt;

00800210 &lt;alt_after_alt_main&gt;:

    /* Wait in infinite loop in case alt_main does return. */
alt_after_alt_main:
    br alt_after_alt_main
  800210:    003fff06     br    800210 &lt;alt_after_alt_main&gt;

00800214 &lt;main&gt;:

#include &lt;stdio.h&gt;

int main()
{
  800214:    defffb04     addi    sp,sp,-20
  800218:    dfc00415     stw    ra,16(sp)
  80021c:    df000315     stw    fp,12(sp)
  800220:    d839883a     mov    fp,sp
    char *buf = "University\nof Dayton";
  800224:    00802074     movhi    r2,129
  800228:    10b2e204     addi    r2,r2,-13432
  80022c:    e0800015     stw    r2,0(fp)
    int n = 533;
  800230:    00808544     movi    r2,533
  800234:    e0800115     stw    r2,4(fp)
    printf("Hello from Nios II!\n");
  800238:    01002074     movhi    r4,129
  80023c:    2132e804     addi    r4,r4,-13408
  800240:    08010dc0     call    8010dc &lt;printf&gt;
  
    FILE *lcd = fopen("/dev/lcd","w");
  800244:    01002074     movhi    r4,129
  800248:    2132ee04     addi    r4,r4,-13384
  80024c:    01402074     movhi    r5,129
  800250:    2972f104     addi    r5,r5,-13372
  800254:    08003780     call    800378 &lt;fopen&gt;
  800258:    e0800215     stw    r2,8(fp)
    fprintf(lcd,"ECE %d",n);
  80025c:    e1000217     ldw    r4,8(fp)
  800260:    01402074     movhi    r5,129
  800264:    2972f204     addi    r5,r5,-13368
  800268:    e1800117     ldw    r6,4(fp)
  80026c:    08003940     call    800394 &lt;fprintf&gt;
  

  return 0;
  800270:    0005883a     mov    r2,zero
}
  800274:    dfc00417     ldw    ra,16(sp)
  800278:    df000317     ldw    fp,12(sp)
  80027c:    dec00504     addi    sp,sp,20
  800280:    f800283a     ret

00800284 &lt;_fopen_r&gt;:
  800284:    defffa04     addi    sp,sp,-24
  800288:    dcc00115     stw    r19,4(sp)
  80028c:    2827883a     mov    r19,r5
  800290:    300b883a     mov    r5,r6
  800294:    d80d883a     mov    r6,sp
  800298:    dc400315     stw    r17,12(sp)
  80029c:    dc800215     stw    r18,8(sp)
  8002a0:    2023883a     mov    r17,r4
  8002a4:    dfc00515     stw    ra,20(sp)
  8002a8:    dc000415     stw    r16,16(sp)
  8002ac:    08053940     call    805394 &lt;__sflags&gt;
  8002b0:    1025883a     mov    r18,r2
  8002b4:    8809883a     mov    r4,r17
  8002b8:    0005883a     mov    r2,zero
  8002bc:    90002326     beq    r18,zero,80034c &lt;_fopen_r+0xc8&gt;
  8002c0:    08052b40     call    8052b4 &lt;__sfp&gt;
  8002c4:    1021883a     mov    r16,r2
  8002c8:    980b883a     mov    r5,r19
  8002cc:    8809883a     mov    r4,r17
  8002d0:    01c06d84     movi    r7,438
  8002d4:    0005883a     mov    r2,zero
  8002d8:    80001c26     beq    r16,zero,80034c &lt;_fopen_r+0xc8&gt;
  8002dc:    d9800017     ldw    r6,0(sp)
  8002e0:    08010780     call    801078 &lt;_open_r&gt;
  8002e4:    1007883a     mov    r3,r2
  8002e8:    9004d23a     srli    r2,r18,8
  8002ec:    1200004c     andi    r8,r2,1
  8002f0:    0005883a     mov    r2,zero
  8002f4:    18001e16     blt    r3,zero,800370 &lt;_fopen_r+0xec&gt;
  8002f8:    00802034     movhi    r2,128
  8002fc:    1084c604     addi    r2,r2,4888
  800300:    80c0038d     sth    r3,14(r16)
  800304:    00c02034     movhi    r3,128
  800308:    18c4e204     addi    r3,r3,5000
  80030c:    80800815     stw    r2,32(r16)
  800310:    80c00915     stw    r3,36(r16)
  800314:    00802034     movhi    r2,128
  800318:    10850304     addi    r2,r2,5132
  80031c:    00c02034     movhi    r3,128
  800320:    18c52104     addi    r3,r3,5252
  800324:    8809883a     mov    r4,r17
  800328:    800b883a     mov    r5,r16
  80032c:    000d883a     mov    r6,zero
  800330:    01c00084     movi    r7,2
  800334:    80800a15     stw    r2,40(r16)
  800338:    80c00b15     stw    r3,44(r16)
  80033c:    8480030d     sth    r18,12(r16)
  800340:    84000715     stw    r16,28(r16)
  800344:    4000081e     bne    r8,zero,800368 &lt;_fopen_r+0xe4&gt;
  800348:    8005883a     mov    r2,r16
  80034c:    dfc00517     ldw    ra,20(sp)
  800350:    dc000417     ldw    r16,16(sp)
  800354:    dc400317     ldw    r17,12(sp)
  800358:    dc800217     ldw    r18,8(sp)
  80035c:    dcc00117     ldw    r19,4(sp)
  800360:    dec00604     addi    sp,sp,24
  800364:    f800283a     ret
  800368:    08003b80     call    8003b8 &lt;_fseek_r&gt;
  80036c:    003ff606     br    800348 &lt;_fopen_r+0xc4&gt;
  800370:    8000030d     sth    zero,12(r16)
  800374:    003ff506     br    80034c &lt;_fopen_r+0xc8&gt;

00800378 &lt;fopen&gt;:
  800378:    2007883a     mov    r3,r4
  80037c:    d1200017     ldw    r4,-32768(gp)
  800380:    280d883a     mov    r6,r5
  800384:    02002034     movhi    r8,128
  800388:    4200a104     addi    r8,r8,644
  80038c:    180b883a     mov    r5,r3
  800390:    4000683a     jmp    r8

00800394 &lt;fprintf&gt;:
  800394:    defffd04     addi    sp,sp,-12
  800398:    dfc00015     stw    ra,0(sp)
  80039c:    d9800115     stw    r6,4(sp)
  8003a0:    d9c00215     stw    r7,8(sp)
  8003a4:    d9800104     addi    r6,sp,4
  8003a8:    08031b40     call    8031b4 &lt;__vfprintf_internal&gt;
  8003ac:    dfc00017     ldw    ra,0(sp)
  8003b0:    dec00304     addi    sp,sp,12
  8003b4:    f800283a     ret

008003b8 &lt;_fseek_r&gt;:
  8003b8:    d0e00017     ldw    r3,-32768(gp)
  8003bc:    deffe804     addi    sp,sp,-96
  8003c0:    dc001615     stw    r16,88(sp)
  8003c4:    dc401515     stw    r17,84(sp)
  8003c8:    dc801415     stw    r18,80(sp)
  8003cc:    dd801015     stw    r22,64(sp)
  8003d0:    dfc01715     stw    ra,92(sp)
  8003d4:    dcc01315     stw    r19,76(sp)
  8003d8:    dd001215     stw    r20,72(sp)
  8003dc:    dd401115     stw    r21,68(sp)
  8003e0:    ddc00f15     stw    r23,60(sp)
  8003e4:    18800e17     ldw    r2,56(r3)
  8003e8:    2023883a     mov    r17,r4
  8003ec:    2821883a     mov    r16,r5
  8003f0:    302d883a     mov    r22,r6
  8003f4:    3825883a     mov    r18,r7
  8003f8:    10004526     beq    r2,zero,800510 &lt;_fseek_r+0x158&gt;
  8003fc:    80c0030b     ldhu    r3,12(r16)
  800400:    1804d23a     srli    r2,r3,8
  800404:    1080004c     andi    r2,r2,1
  800408:    10000326     beq    r2,zero,800418 &lt;_fseek_r+0x60&gt;
  80040c:    1804d0fa     srli    r2,r3,3
  800410:    1080004c     andi    r2,r2,1
  800414:    10007b1e     bne    r2,zero,800604 &lt;_fseek_r+0x24c&gt;
  800418:    85000a17     ldw    r20,40(r16)
  80041c:    a000f126     beq    r20,zero,8007e4 &lt;_fseek_r+0x42c&gt;
  800420:    00800044     movi    r2,1
  800424:    90808226     beq    r18,r2,800630 &lt;_fseek_r+0x278&gt;
  800428:    14802816     blt    r2,r18,8004cc &lt;_fseek_r+0x114&gt;
  80042c:    9000291e     bne    r18,zero,8004d4 &lt;_fseek_r+0x11c&gt;
  800430:    81800417     ldw    r6,16(r16)
  800434:    002f883a     mov    r23,zero
  800438:    30009226     beq    r6,zero,800684 &lt;_fseek_r+0x2cc&gt;
  80043c:    8100030b     ldhu    r4,12(r16)
  800440:    20ffffcc     andi    r3,r4,65535
  800444:    1882068c     andi    r2,r3,2074
  800448:    1000081e     bne    r2,zero,80046c &lt;_fseek_r+0xb4&gt;
  80044c:    1804d2ba     srli    r2,r3,10
  800450:    1080004c     andi    r2,r2,1
  800454:    1000401e     bne    r2,zero,800558 &lt;_fseek_r+0x1a0&gt;
  800458:    00802034     movhi    r2,128
  80045c:    10850304     addi    r2,r2,5132
  800460:    a0802e26     beq    r20,r2,80051c &lt;_fseek_r+0x164&gt;
  800464:    20820014     ori    r2,r4,2048
  800468:    8080030d     sth    r2,12(r16)
  80046c:    8009883a     mov    r4,r16
  800470:    08050400     call    805040 &lt;fflush&gt;
  800474:    1000c01e     bne    r2,zero,800778 &lt;_fseek_r+0x3c0&gt;
  800478:    81000717     ldw    r4,28(r16)
  80047c:    b00b883a     mov    r5,r22
  800480:    900d883a     mov    r6,r18
  800484:    a03ee83a     callr    r20
  800488:    00ffffc4     movi    r3,-1
  80048c:    10c0ba26     beq    r2,r3,800778 &lt;_fseek_r+0x3c0&gt;
  800490:    81400c17     ldw    r5,48(r16)
  800494:    28000526     beq    r5,zero,8004ac &lt;_fseek_r+0xf4&gt;
  800498:    80801004     addi    r2,r16,64
  80049c:    28800226     beq    r5,r2,8004a8 &lt;_fseek_r+0xf0&gt;
  8004a0:    d1200017     ldw    r4,-32768(gp)
  8004a4:    08055600     call    805560 &lt;_free_r&gt;
  8004a8:    80000c15     stw    zero,48(r16)
  8004ac:    8080030b     ldhu    r2,12(r16)
  8004b0:    80c00417     ldw    r3,16(r16)
  8004b4:    80000115     stw    zero,4(r16)
  8004b8:    10bff7cc     andi    r2,r2,65503
  8004bc:    8080030d     sth    r2,12(r16)
  8004c0:    80c00015     stw    r3,0(r16)
  8004c4:    0007883a     mov    r3,zero
  8004c8:    00000506     br    8004e0 &lt;_fseek_r+0x128&gt;
  8004cc:    00800084     movi    r2,2
  8004d0:    90bfd726     beq    r18,r2,800430 &lt;_fseek_r+0x78&gt;
  8004d4:    00ffffc4     movi    r3,-1
  8004d8:    00800584     movi    r2,22
  8004dc:    88800015     stw    r2,0(r17)
  8004e0:    1805883a     mov    r2,r3
  8004e4:    dfc01717     ldw    ra,92(sp)
  8004e8:    dc001617     ldw    r16,88(sp)
  8004ec:    dc401517     ldw    r17,84(sp)
  8004f0:    dc801417     ldw    r18,80(sp)
  8004f4:    dcc01317     ldw    r19,76(sp)
  8004f8:    dd001217     ldw    r20,72(sp)
  8004fc:    dd401117     ldw    r21,68(sp)
  800500:    dd801017     ldw    r22,64(sp)
  800504:    ddc00f17     ldw    r23,60(sp)
  800508:    dec01804     addi    sp,sp,96
  80050c:    f800283a     ret
  800510:    1809883a     mov    r4,r3
  800514:    08051ac0     call    8051ac &lt;__sinit&gt;
  800518:    003fb806     br    8003fc &lt;_fseek_r+0x44&gt;
  80051c:    8140038f     ldh    r5,14(r16)
  800520:    283fd016     blt    r5,zero,800464 &lt;_fseek_r+0xac&gt;
  800524:    8809883a     mov    r4,r17
  800528:    d80d883a     mov    r6,sp
  80052c:    08008140     call    800814 &lt;_fstat_r&gt;
  800530:    10006b1e     bne    r2,zero,8006e0 &lt;_fseek_r+0x328&gt;
  800534:    d8800117     ldw    r2,4(sp)
  800538:    00e00014     movui    r3,32768
  80053c:    10bc000c     andi    r2,r2,61440
  800540:    10c0671e     bne    r2,r3,8006e0 &lt;_fseek_r+0x328&gt;
  800544:    8080030b     ldhu    r2,12(r16)
  800548:    00c10004     movi    r3,1024
  80054c:    80c01315     stw    r3,76(r16)
  800550:    10c4b03a     or    r2,r2,r3
  800554:    8080030d     sth    r2,12(r16)
  800558:    b02b883a     mov    r21,r22
  80055c:    90002c1e     bne    r18,zero,800610 &lt;_fseek_r+0x258&gt;
  800560:    b804c03a     cmpne    r2,r23,zero
  800564:    10004a1e     bne    r2,zero,800690 &lt;_fseek_r+0x2d8&gt;
  800568:    8100030b     ldhu    r4,12(r16)
  80056c:    2004d33a     srli    r2,r4,12
  800570:    1080004c     andi    r2,r2,1
  800574:    10009226     beq    r2,zero,8007c0 &lt;_fseek_r+0x408&gt;
  800578:    84c01417     ldw    r19,80(r16)
  80057c:    81c00117     ldw    r7,4(r16)
  800580:    81400c17     ldw    r5,48(r16)
  800584:    99e7c83a     sub    r19,r19,r7
  800588:    28004e1e     bne    r5,zero,8006c4 &lt;_fseek_r+0x30c&gt;
  80058c:    28007c26     beq    r5,zero,800780 &lt;_fseek_r+0x3c8&gt;
  800590:    80800e17     ldw    r2,56(r16)
  800594:    81800417     ldw    r6,16(r16)
  800598:    80c00f17     ldw    r3,60(r16)
  80059c:    99e7883a     add    r19,r19,r7
  8005a0:    11a3c83a     sub    r17,r2,r6
  8005a4:    9c67c83a     sub    r19,r19,r17
  8005a8:    88e3883a     add    r17,r17,r3
  8005ac:    2004d37a     srli    r2,r4,13
  8005b0:    1080004c     andi    r2,r2,1
  8005b4:    10004c1e     bne    r2,zero,8006e8 &lt;_fseek_r+0x330&gt;
  8005b8:    acc04b16     blt    r21,r19,8006e8 &lt;_fseek_r+0x330&gt;
  8005bc:    9c45883a     add    r2,r19,r17
  8005c0:    a880492e     bgeu    r21,r2,8006e8 &lt;_fseek_r+0x330&gt;
  8005c4:    acc5c83a     sub    r2,r21,r19
  8005c8:    8887c83a     sub    r3,r17,r2
  8005cc:    3085883a     add    r2,r6,r2
  8005d0:    80800015     stw    r2,0(r16)
  8005d4:    80c00115     stw    r3,4(r16)
  8005d8:    28000626     beq    r5,zero,8005f4 &lt;_fseek_r+0x23c&gt;
  8005dc:    80801004     addi    r2,r16,64
  8005e0:    28800326     beq    r5,r2,8005f0 &lt;_fseek_r+0x238&gt;
  8005e4:    d1200017     ldw    r4,-32768(gp)
  8005e8:    08055600     call    805560 &lt;_free_r&gt;
  8005ec:    8100030b     ldhu    r4,12(r16)
  8005f0:    80000c15     stw    zero,48(r16)
  8005f4:    20bff7cc     andi    r2,r4,65503
  8005f8:    0007883a     mov    r3,zero
  8005fc:    8080030d     sth    r2,12(r16)
  800600:    003fb706     br    8004e0 &lt;_fseek_r+0x128&gt;
  800604:    8009883a     mov    r4,r16
  800608:    08050400     call    805040 &lt;fflush&gt;
  80060c:    003f8206     br    800418 &lt;_fseek_r+0x60&gt;
  800610:    8140038f     ldh    r5,14(r16)
  800614:    8809883a     mov    r4,r17
  800618:    d80d883a     mov    r6,sp
  80061c:    08008140     call    800814 &lt;_fstat_r&gt;
  800620:    103f921e     bne    r2,zero,80046c &lt;_fseek_r+0xb4&gt;
  800624:    d8800417     ldw    r2,16(sp)
  800628:    15ab883a     add    r21,r2,r22
  80062c:    003fcc06     br    800560 &lt;_fseek_r+0x1a8&gt;
  800630:    8009883a     mov    r4,r16
  800634:    08050400     call    805040 &lt;fflush&gt;
  800638:    8100030b     ldhu    r4,12(r16)
  80063c:    20bfffcc     andi    r2,r4,65535
  800640:    1004d33a     srli    r2,r2,12
  800644:    1484703a     and    r2,r2,r18
  800648:    10005326     beq    r2,zero,800798 &lt;_fseek_r+0x3e0&gt;
  80064c:    84c01417     ldw    r19,80(r16)
  800650:    20ffffcc     andi    r3,r4,65535
  800654:    1804d0ba     srli    r2,r3,2
  800658:    1080004c     andi    r2,r2,1
  80065c:    10001026     beq    r2,zero,8006a0 &lt;_fseek_r+0x2e8&gt;
  800660:    81c00117     ldw    r7,4(r16)
  800664:    81400c17     ldw    r5,48(r16)
  800668:    99e7c83a     sub    r19,r19,r7
  80066c:    2800181e     bne    r5,zero,8006d0 &lt;_fseek_r+0x318&gt;
  800670:    81800417     ldw    r6,16(r16)
  800674:    b4ed883a     add    r22,r22,r19
  800678:    0025883a     mov    r18,zero
  80067c:    05c00044     movi    r23,1
  800680:    303f6e1e     bne    r6,zero,80043c &lt;_fseek_r+0x84&gt;
  800684:    8009883a     mov    r4,r16
  800688:    08008740     call    800874 &lt;__smakebuf&gt;
  80068c:    003f6b06     br    80043c &lt;_fseek_r+0x84&gt;
  800690:    8100030b     ldhu    r4,12(r16)
  800694:    81c00117     ldw    r7,4(r16)
  800698:    81400c17     ldw    r5,48(r16)
  80069c:    003fbb06     br    80058c &lt;_fseek_r+0x1d4&gt;
  8006a0:    1804d0fa     srli    r2,r3,3
  8006a4:    1080004c     andi    r2,r2,1
  8006a8:    103ff126     beq    r2,zero,800670 &lt;_fseek_r+0x2b8&gt;
  8006ac:    80800017     ldw    r2,0(r16)
  8006b0:    103fef26     beq    r2,zero,800670 &lt;_fseek_r+0x2b8&gt;
  8006b4:    81800417     ldw    r6,16(r16)
  8006b8:    1185c83a     sub    r2,r2,r6
  8006bc:    98a7883a     add    r19,r19,r2
  8006c0:    003fec06     br    800674 &lt;_fseek_r+0x2bc&gt;
  8006c4:    80800f17     ldw    r2,60(r16)
  8006c8:    98a7c83a     sub    r19,r19,r2
  8006cc:    003faf06     br    80058c &lt;_fseek_r+0x1d4&gt;
  8006d0:    80800f17     ldw    r2,60(r16)
  8006d4:    81800417     ldw    r6,16(r16)
  8006d8:    98a7c83a     sub    r19,r19,r2
  8006dc:    003fe506     br    800674 &lt;_fseek_r+0x2bc&gt;
  8006e0:    8100030b     ldhu    r4,12(r16)
  8006e4:    003f5f06     br    800464 &lt;_fseek_r+0xac&gt;
  8006e8:    80801317     ldw    r2,76(r16)
  8006ec:    81000717     ldw    r4,28(r16)
  8006f0:    000d883a     mov    r6,zero
  8006f4:    0085c83a     sub    r2,zero,r2
  8006f8:    1566703a     and    r19,r2,r21
  8006fc:    980b883a     mov    r5,r19
  800700:    a03ee83a     callr    r20
  800704:    00ffffc4     movi    r3,-1
  800708:    10ff5826     beq    r2,r3,80046c &lt;_fseek_r+0xb4&gt;
  80070c:    80800417     ldw    r2,16(r16)
  800710:    81400c17     ldw    r5,48(r16)
  800714:    80000115     stw    zero,4(r16)
  800718:    80800015     stw    r2,0(r16)
  80071c:    28000526     beq    r5,zero,800734 &lt;_fseek_r+0x37c&gt;
  800720:    80801004     addi    r2,r16,64
  800724:    28800226     beq    r5,r2,800730 &lt;_fseek_r+0x378&gt;
  800728:    d1200017     ldw    r4,-32768(gp)
  80072c:    08055600     call    805560 &lt;_free_r&gt;
  800730:    80000c15     stw    zero,48(r16)
  800734:    8080030b     ldhu    r2,12(r16)
  800738:    ace3c83a     sub    r17,r21,r19
  80073c:    10bff7cc     andi    r2,r2,65503
  800740:    8080030d     sth    r2,12(r16)
  800744:    883f5f26     beq    r17,zero,8004c4 &lt;_fseek_r+0x10c&gt;
  800748:    8009883a     mov    r4,r16
  80074c:    08011340     call    801134 &lt;__srefill&gt;
  800750:    103f461e     bne    r2,zero,80046c &lt;_fseek_r+0xb4&gt;
  800754:    80c00117     ldw    r3,4(r16)
  800758:    1c7f4436     bltu    r3,r17,80046c &lt;_fseek_r+0xb4&gt;
  80075c:    80800017     ldw    r2,0(r16)
  800760:    1c47c83a     sub    r3,r3,r17
  800764:    80c00115     stw    r3,4(r16)
  800768:    1445883a     add    r2,r2,r17
  80076c:    0007883a     mov    r3,zero
  800770:    80800015     stw    r2,0(r16)
  800774:    003f5a06     br    8004e0 &lt;_fseek_r+0x128&gt;
  800778:    00ffffc4     movi    r3,-1
  80077c:    003f5806     br    8004e0 &lt;_fseek_r+0x128&gt;
  800780:    80800017     ldw    r2,0(r16)
  800784:    81800417     ldw    r6,16(r16)
  800788:    11a3c83a     sub    r17,r2,r6
  80078c:    9c67c83a     sub    r19,r19,r17
  800790:    89e3883a     add    r17,r17,r7
  800794:    003f8506     br    8005ac &lt;_fseek_r+0x1f4&gt;
  800798:    81000717     ldw    r4,28(r16)
  80079c:    900d883a     mov    r6,r18
  8007a0:    000b883a     mov    r5,zero
  8007a4:    a03ee83a     callr    r20
  8007a8:    1027883a     mov    r19,r2
  8007ac:    1007883a     mov    r3,r2
  8007b0:    00bfffc4     movi    r2,-1
  8007b4:    98bf4a26     beq    r19,r2,8004e0 &lt;_fseek_r+0x128&gt;
  8007b8:    8100030b     ldhu    r4,12(r16)
  8007bc:    003fa406     br    800650 &lt;_fseek_r+0x298&gt;
  8007c0:    81000717     ldw    r4,28(r16)
  8007c4:    000b883a     mov    r5,zero
  8007c8:    01800044     movi    r6,1
  8007cc:    a03ee83a     callr    r20
  8007d0:    1027883a     mov    r19,r2
  8007d4:    00bfffc4     movi    r2,-1
  8007d8:    98bf2426     beq    r19,r2,80046c &lt;_fseek_r+0xb4&gt;
  8007dc:    8100030b     ldhu    r4,12(r16)
  8007e0:    003f6606     br    80057c &lt;_fseek_r+0x1c4&gt;
  8007e4:    00ffffc4     movi    r3,-1
  8007e8:    00800744     movi    r2,29
  8007ec:    003f3b06     br    8004dc &lt;_fseek_r+0x124&gt;

008007f0 &lt;fseek&gt;:
  8007f0:    2013883a     mov    r9,r4
  8007f4:    d1200017     ldw    r4,-32768(gp)
  8007f8:    2807883a     mov    r3,r5
  8007fc:    300f883a     mov    r7,r6
  800800:    480b883a     mov    r5,r9
  800804:    180d883a     mov    r6,r3
  800808:    02002034     movhi    r8,128
  80080c:    4200ee04     addi    r8,r8,952
  800810:    4000683a     jmp    r8

00800814 &lt;_fstat_r&gt;:
  800814:    defffe04     addi    sp,sp,-8
  800818:    dc000015     stw    r16,0(sp)
  80081c:    2021883a     mov    r16,r4
  800820:    2809883a     mov    r4,r5
  800824:    300b883a     mov    r5,r6
  800828:    dfc00115     stw    ra,4(sp)
  80082c:    d0201d15     stw    zero,-32652(gp)
  800830:    08099880     call    809988 &lt;fstat&gt;
  800834:    1007883a     mov    r3,r2
  800838:    00bfffc4     movi    r2,-1
  80083c:    18800526     beq    r3,r2,800854 &lt;_fstat_r+0x40&gt;
  800840:    1805883a     mov    r2,r3
  800844:    dfc00117     ldw    ra,4(sp)
  800848:    dc000017     ldw    r16,0(sp)
  80084c:    dec00204     addi    sp,sp,8
  800850:    f800283a     ret
  800854:    d0a01d17     ldw    r2,-32652(gp)
  800858:    103ff926     beq    r2,zero,800840 &lt;_fstat_r+0x2c&gt;
  80085c:    80800015     stw    r2,0(r16)
  800860:    1805883a     mov    r2,r3
  800864:    dfc00117     ldw    ra,4(sp)
  800868:    dc000017     ldw    r16,0(sp)
  80086c:    dec00204     addi    sp,sp,8
  800870:    f800283a     ret

00800874 &lt;__smakebuf&gt;:
  800874:    deffee04     addi    sp,sp,-72
  800878:    dc001015     stw    r16,64(sp)
  80087c:    dfc01115     stw    ra,68(sp)
  800880:    dc400f15     stw    r17,60(sp)
  800884:    20c0030b     ldhu    r3,12(r4)
  800888:    2021883a     mov    r16,r4
  80088c:    1804d07a     srli    r2,r3,1
  800890:    1080004c     andi    r2,r2,1
  800894:    10000a26     beq    r2,zero,8008c0 &lt;__smakebuf+0x4c&gt;
  800898:    20c010c4     addi    r3,r4,67
  80089c:    00800044     movi    r2,1
  8008a0:    20800515     stw    r2,20(r4)
  8008a4:    20c00415     stw    r3,16(r4)
  8008a8:    20c00015     stw    r3,0(r4)
  8008ac:    dfc01117     ldw    ra,68(sp)
  8008b0:    dc001017     ldw    r16,64(sp)
  8008b4:    dc400f17     ldw    r17,60(sp)
  8008b8:    dec01204     addi    sp,sp,72
  8008bc:    f800283a     ret
  8008c0:    2140038f     ldh    r5,14(r4)
  8008c4:    28001f16     blt    r5,zero,800944 &lt;__smakebuf+0xd0&gt;
  8008c8:    d1200017     ldw    r4,-32768(gp)
  8008cc:    d80d883a     mov    r6,sp
  8008d0:    08008140     call    800814 &lt;_fstat_r&gt;
  8008d4:    10001a16     blt    r2,zero,800940 &lt;__smakebuf+0xcc&gt;
  8008d8:    d8800117     ldw    r2,4(sp)
  8008dc:    00e00014     movui    r3,32768
  8008e0:    04410004     movi    r17,1024
  8008e4:    10bc000c     andi    r2,r2,61440
  8008e8:    11080020     cmpeqi    r4,r2,8192
  8008ec:    10c02c26     beq    r2,r3,8009a0 &lt;__smakebuf+0x12c&gt;
  8008f0:    8080030b     ldhu    r2,12(r16)
  8008f4:    10820014     ori    r2,r2,2048
  8008f8:    8080030d     sth    r2,12(r16)
  8008fc:    20001426     beq    r4,zero,800950 &lt;__smakebuf+0xdc&gt;
  800900:    8100038f     ldh    r4,14(r16)
  800904:    0809aa40     call    809aa4 &lt;isatty&gt;
  800908:    10001126     beq    r2,zero,800950 &lt;__smakebuf+0xdc&gt;
  80090c:    8080030b     ldhu    r2,12(r16)
  800910:    810010c4     addi    r4,r16,67
  800914:    00c00044     movi    r3,1
  800918:    10800094     ori    r2,r2,2
  80091c:    80c00515     stw    r3,20(r16)
  800920:    8080030d     sth    r2,12(r16)
  800924:    81000415     stw    r4,16(r16)
  800928:    81000015     stw    r4,0(r16)
  80092c:    dfc01117     ldw    ra,68(sp)
  800930:    dc001017     ldw    r16,64(sp)
  800934:    dc400f17     ldw    r17,60(sp)
  800938:    dec01204     addi    sp,sp,72
  80093c:    f800283a     ret
  800940:    80c0030b     ldhu    r3,12(r16)
  800944:    18820014     ori    r2,r3,2048
  800948:    04410004     movi    r17,1024
  80094c:    8080030d     sth    r2,12(r16)
  800950:    d1200017     ldw    r4,-32768(gp)
  800954:    01410004     movi    r5,1024
  800958:    08009c00     call    8009c0 &lt;_malloc_r&gt;
  80095c:    100b883a     mov    r5,r2
  800960:    103fea26     beq    r2,zero,80090c &lt;__smakebuf+0x98&gt;
  800964:    8080030b     ldhu    r2,12(r16)
  800968:    d0e00017     ldw    r3,-32768(gp)
  80096c:    01002034     movhi    r4,128
  800970:    21146204     addi    r4,r4,20872
  800974:    10802014     ori    r2,r2,128
  800978:    19000f15     stw    r4,60(r3)
  80097c:    84400515     stw    r17,20(r16)
  800980:    8080030d     sth    r2,12(r16)
  800984:    81400415     stw    r5,16(r16)
  800988:    81400015     stw    r5,0(r16)
  80098c:    dfc01117     ldw    ra,68(sp)
  800990:    dc001017     ldw    r16,64(sp)
  800994:    dc400f17     ldw    r17,60(sp)
  800998:    dec01204     addi    sp,sp,72
  80099c:    f800283a     ret
  8009a0:    80c00a17     ldw    r3,40(r16)
  8009a4:    00802034     movhi    r2,128
  8009a8:    10850304     addi    r2,r2,5132
  8009ac:    18bfd01e     bne    r3,r2,8008f0 &lt;__smakebuf+0x7c&gt;
  8009b0:    8080030b     ldhu    r2,12(r16)
  8009b4:    84401315     stw    r17,76(r16)
  8009b8:    1444b03a     or    r2,r2,r17
  8009bc:    003fce06     br    8008f8 &lt;__smakebuf+0x84&gt;

008009c0 &lt;_malloc_r&gt;:
  8009c0:    defff504     addi    sp,sp,-44
  8009c4:    28c002c4     addi    r3,r5,11
  8009c8:    00800584     movi    r2,22
  8009cc:    dc400715     stw    r17,28(sp)
  8009d0:    dc800615     stw    r18,24(sp)
  8009d4:    dfc00a15     stw    ra,40(sp)
  8009d8:    df000915     stw    fp,36(sp)
  8009dc:    dc000815     stw    r16,32(sp)
  8009e0:    dcc00515     stw    r19,20(sp)
  8009e4:    dd000415     stw    r20,16(sp)
  8009e8:    dd400315     stw    r21,12(sp)
  8009ec:    dd800215     stw    r22,8(sp)
  8009f0:    ddc00115     stw    r23,4(sp)
  8009f4:    2025883a     mov    r18,r4
  8009f8:    04400404     movi    r17,16
  8009fc:    10c0032e     bgeu    r2,r3,800a0c &lt;_malloc_r+0x4c&gt;
  800a00:    00bffe04     movi    r2,-8
  800a04:    18a2703a     and    r17,r3,r2
  800a08:    88000116     blt    r17,zero,800a10 &lt;_malloc_r+0x50&gt;
  800a0c:    89400d2e     bgeu    r17,r5,800a44 &lt;_malloc_r+0x84&gt;
  800a10:    0005883a     mov    r2,zero
  800a14:    dfc00a17     ldw    ra,40(sp)
  800a18:    df000917     ldw    fp,36(sp)
  800a1c:    dc000817     ldw    r16,32(sp)
  800a20:    dc400717     ldw    r17,28(sp)
  800a24:    dc800617     ldw    r18,24(sp)
  800a28:    dcc00517     ldw    r19,20(sp)
  800a2c:    dd000417     ldw    r20,16(sp)
  800a30:    dd400317     ldw    r21,12(sp)
  800a34:    dd800217     ldw    r22,8(sp)
  800a38:    ddc00117     ldw    r23,4(sp)
  800a3c:    dec00b04     addi    sp,sp,44
  800a40:    f800283a     ret
  800a44:    9009883a     mov    r4,r18
  800a48:    0809e340     call    809e34 &lt;__malloc_lock&gt;
  800a4c:    00807dc4     movi    r2,503
  800a50:    14401536     bltu    r2,r17,800aa8 &lt;_malloc_r+0xe8&gt;
  800a54:    03402074     movhi    r13,129
  800a58:    6b757204     addi    r13,r13,-10808
  800a5c:    8b4d883a     add    r6,r17,r13
  800a60:    34000317     ldw    r16,12(r6)
  800a64:    8812d0fa     srli    r9,r17,3
  800a68:    81803e26     beq    r16,r6,800b64 &lt;_malloc_r+0x1a4&gt;
  800a6c:    80c00117     ldw    r3,4(r16)
  800a70:    00bfff04     movi    r2,-4
  800a74:    82000317     ldw    r8,12(r16)
  800a78:    1886703a     and    r3,r3,r2
  800a7c:    80cb883a     add    r5,r16,r3
  800a80:    28800117     ldw    r2,4(r5)
  800a84:    81c00217     ldw    r7,8(r16)
  800a88:    9009883a     mov    r4,r18
  800a8c:    10800054     ori    r2,r2,1
  800a90:    41c00215     stw    r7,8(r8)
  800a94:    28800115     stw    r2,4(r5)
  800a98:    3a000315     stw    r8,12(r7)
  800a9c:    0809e500     call    809e50 &lt;__malloc_unlock&gt;
  800aa0:    80800204     addi    r2,r16,8
  800aa4:    003fdb06     br    800a14 &lt;_malloc_r+0x54&gt;
  800aa8:    8806d27a     srli    r3,r17,9
  800aac:    8812d0fa     srli    r9,r17,3
  800ab0:    18000926     beq    r3,zero,800ad8 &lt;_malloc_r+0x118&gt;
  800ab4:    00800104     movi    r2,4
  800ab8:    10c02f2e     bgeu    r2,r3,800b78 &lt;_malloc_r+0x1b8&gt;
  800abc:    00800504     movi    r2,20
  800ac0:    1a4016c4     addi    r9,r3,91
  800ac4:    10c0042e     bgeu    r2,r3,800ad8 &lt;_malloc_r+0x118&gt;
  800ac8:    00801504     movi    r2,84
  800acc:    10c11536     bltu    r2,r3,800f24 &lt;_malloc_r+0x564&gt;
  800ad0:    8804d33a     srli    r2,r17,12
  800ad4:    12401b84     addi    r9,r2,110
  800ad8:    480490fa     slli    r2,r9,3
  800adc:    03402074     movhi    r13,129
  800ae0:    6b757204     addi    r13,r13,-10808
  800ae4:    134b883a     add    r5,r2,r13
  800ae8:    2c000317     ldw    r16,12(r5)
  800aec:    81400926     beq    r16,r5,800b14 &lt;_malloc_r+0x154&gt;
  800af0:    01ffff04     movi    r7,-4
  800af4:    018003c4     movi    r6,15
  800af8:    80800117     ldw    r2,4(r16)
  800afc:    11c6703a     and    r3,r2,r7
  800b00:    1c49c83a     sub    r4,r3,r17
  800b04:    3100aa16     blt    r6,r4,800db0 &lt;_malloc_r+0x3f0&gt;
  800b08:    2000690e     bge    r4,zero,800cb0 &lt;_malloc_r+0x2f0&gt;
  800b0c:    84000317     ldw    r16,12(r16)
  800b10:    817ff91e     bne    r16,r5,800af8 &lt;_malloc_r+0x138&gt;
  800b14:    4a400044     addi    r9,r9,1
  800b18:    03002074     movhi    r12,129
  800b1c:    63357404     addi    r12,r12,-10800
  800b20:    64000217     ldw    r16,8(r12)
  800b24:    83002826     beq    r16,r12,800bc8 &lt;_malloc_r+0x208&gt;
  800b28:    80800117     ldw    r2,4(r16)
  800b2c:    00ffff04     movi    r3,-4
  800b30:    10c6703a     and    r3,r2,r3
  800b34:    1c49c83a     sub    r4,r3,r17
  800b38:    008003c4     movi    r2,15
  800b3c:    11006616     blt    r2,r4,800cd8 &lt;_malloc_r+0x318&gt;
  800b40:    63000315     stw    r12,12(r12)
  800b44:    63000215     stw    r12,8(r12)
  800b48:    20000e16     blt    r4,zero,800b84 &lt;_malloc_r+0x1c4&gt;
  800b4c:    80c7883a     add    r3,r16,r3
  800b50:    18800117     ldw    r2,4(r3)
  800b54:    9009883a     mov    r4,r18
  800b58:    10800054     ori    r2,r2,1
  800b5c:    18800115     stw    r2,4(r3)
  800b60:    003fce06     br    800a9c &lt;_malloc_r+0xdc&gt;
  800b64:    81800204     addi    r6,r16,8
  800b68:    34000317     ldw    r16,12(r6)
  800b6c:    81bfbf1e     bne    r16,r6,800a6c &lt;_malloc_r+0xac&gt;
  800b70:    4a400084     addi    r9,r9,2
  800b74:    003fe806     br    800b18 &lt;_malloc_r+0x158&gt;
  800b78:    8804d1ba     srli    r2,r17,6
  800b7c:    12400e04     addi    r9,r2,56
  800b80:    003fd506     br    800ad8 &lt;_malloc_r+0x118&gt;
  800b84:    00807fc4     movi    r2,511
  800b88:    10c09436     bltu    r2,r3,800ddc &lt;_malloc_r+0x41c&gt;
  800b8c:    1808d0fa     srli    r4,r3,3
  800b90:    61bffe04     addi    r6,r12,-8
  800b94:    00800044     movi    r2,1
  800b98:    200a90fa     slli    r5,r4,3
  800b9c:    2007d0ba     srai    r3,r4,2
  800ba0:    31000117     ldw    r4,4(r6)
  800ba4:    2991883a     add    r8,r5,r6
  800ba8:    41c00217     ldw    r7,8(r8)
  800bac:    10c4983a     sll    r2,r2,r3
  800bb0:    82000315     stw    r8,12(r16)
  800bb4:    81c00215     stw    r7,8(r16)
  800bb8:    2088b03a     or    r4,r4,r2
  800bbc:    3c000315     stw    r16,12(r7)
  800bc0:    31000115     stw    r4,4(r6)
  800bc4:    44000215     stw    r16,8(r8)
  800bc8:    4807883a     mov    r3,r9
  800bcc:    4800a616     blt    r9,zero,800e68 &lt;_malloc_r+0x4a8&gt;
  800bd0:    1807d0ba     srai    r3,r3,2
  800bd4:    03402074     movhi    r13,129
  800bd8:    6b757204     addi    r13,r13,-10808
  800bdc:    00800044     movi    r2,1
  800be0:    10ce983a     sll    r7,r2,r3
  800be4:    69000117     ldw    r4,4(r13)
  800be8:    21c04836     bltu    r4,r7,800d0c &lt;_malloc_r+0x34c&gt;
  800bec:    21c4703a     and    r2,r4,r7
  800bf0:    10000a1e     bne    r2,zero,800c1c &lt;_malloc_r+0x25c&gt;
  800bf4:    39cf883a     add    r7,r7,r7
  800bf8:    00bfff04     movi    r2,-4
  800bfc:    4884703a     and    r2,r9,r2
  800c00:    21c6703a     and    r3,r4,r7
  800c04:    12400104     addi    r9,r2,4
  800c08:    1800041e     bne    r3,zero,800c1c &lt;_malloc_r+0x25c&gt;
  800c0c:    39cf883a     add    r7,r7,r7
  800c10:    4a400104     addi    r9,r9,4
  800c14:    21c4703a     and    r2,r4,r7
  800c18:    103ffc26     beq    r2,zero,800c0c &lt;_malloc_r+0x24c&gt;
  800c1c:    480490fa     slli    r2,r9,3
  800c20:    4817883a     mov    r11,r9
  800c24:    134d883a     add    r6,r2,r13
  800c28:    300b883a     mov    r5,r6
  800c2c:    2c000317     ldw    r16,12(r5)
  800c30:    81400926     beq    r16,r5,800c58 &lt;_malloc_r+0x298&gt;
  800c34:    02bfff04     movi    r10,-4
  800c38:    020003c4     movi    r8,15
  800c3c:    80800117     ldw    r2,4(r16)
  800c40:    1286703a     and    r3,r2,r10
  800c44:    1c49c83a     sub    r4,r3,r17
  800c48:    41008016     blt    r8,r4,800e4c &lt;_malloc_r+0x48c&gt;
  800c4c:    2000180e     bge    r4,zero,800cb0 &lt;_malloc_r+0x2f0&gt;
  800c50:    84000317     ldw    r16,12(r16)
  800c54:    817ff91e     bne    r16,r5,800c3c &lt;_malloc_r+0x27c&gt;
  800c58:    4a400044     addi    r9,r9,1
  800c5c:    488000cc     andi    r2,r9,3
  800c60:    29400204     addi    r5,r5,8
  800c64:    103ff11e     bne    r2,zero,800c2c &lt;_malloc_r+0x26c&gt;
  800c68:    588000cc     andi    r2,r11,3
  800c6c:    31bffe04     addi    r6,r6,-8
  800c70:    5affffc4     addi    r11,r11,-1
  800c74:    1000e526     beq    r2,zero,80100c &lt;_malloc_r+0x64c&gt;
  800c78:    30800217     ldw    r2,8(r6)
  800c7c:    11bffa26     beq    r2,r6,800c68 &lt;_malloc_r+0x2a8&gt;
  800c80:    03402074     movhi    r13,129
  800c84:    6b757204     addi    r13,r13,-10808
  800c88:    39cf883a     add    r7,r7,r7
  800c8c:    68c00117     ldw    r3,4(r13)
  800c90:    19c01e36     bltu    r3,r7,800d0c &lt;_malloc_r+0x34c&gt;
  800c94:    3800031e     bne    r7,zero,800ca4 &lt;_malloc_r+0x2e4&gt;
  800c98:    00001c06     br    800d0c &lt;_malloc_r+0x34c&gt;
  800c9c:    39cf883a     add    r7,r7,r7
  800ca0:    4a400104     addi    r9,r9,4
  800ca4:    19c4703a     and    r2,r3,r7
  800ca8:    103ffc26     beq    r2,zero,800c9c &lt;_malloc_r+0x2dc&gt;
  800cac:    003fdb06     br    800c1c &lt;_malloc_r+0x25c&gt;
  800cb0:    80c7883a     add    r3,r16,r3
  800cb4:    18800117     ldw    r2,4(r3)
  800cb8:    82000317     ldw    r8,12(r16)
  800cbc:    81c00217     ldw    r7,8(r16)
  800cc0:    10800054     ori    r2,r2,1
  800cc4:    9009883a     mov    r4,r18
  800cc8:    18800115     stw    r2,4(r3)
  800ccc:    41c00215     stw    r7,8(r8)
  800cd0:    3a000315     stw    r8,12(r7)
  800cd4:    003f7106     br    800a9c &lt;_malloc_r+0xdc&gt;
  800cd8:    88800054     ori    r2,r17,1
  800cdc:    844b883a     add    r5,r16,r17
  800ce0:    80800115     stw    r2,4(r16)
  800ce4:    2905883a     add    r2,r5,r4
  800ce8:    20c00054     ori    r3,r4,1
  800cec:    61400315     stw    r5,12(r12)
  800cf0:    61400215     stw    r5,8(r12)
  800cf4:    11000015     stw    r4,0(r2)
  800cf8:    9009883a     mov    r4,r18
  800cfc:    2b000215     stw    r12,8(r5)
  800d00:    28c00115     stw    r3,4(r5)
  800d04:    2b000315     stw    r12,12(r5)
  800d08:    003f6406     br    800a9c &lt;_malloc_r+0xdc&gt;
  800d0c:    6d400217     ldw    r21,8(r13)
  800d10:    00bfff04     movi    r2,-4
  800d14:    a8c00117     ldw    r3,4(r21)
  800d18:    18ac703a     and    r22,r3,r2
  800d1c:    b449c83a     sub    r4,r22,r17
  800d20:    b4400236     bltu    r22,r17,800d2c &lt;_malloc_r+0x36c&gt;
  800d24:    008003c4     movi    r2,15
  800d28:    11002316     blt    r2,r4,800db8 &lt;_malloc_r+0x3f8&gt;
  800d2c:    d0a00417     ldw    r2,-32752(gp)
  800d30:    073fffc4     movi    fp,-1
  800d34:    b02f883a     mov    r23,r22
  800d38:    8887883a     add    r3,r17,r2
  800d3c:    d0a00317     ldw    r2,-32756(gp)
  800d40:    ada7883a     add    r19,r21,r22
  800d44:    1d000404     addi    r20,r3,16
  800d48:    17000326     beq    r2,fp,800d58 &lt;_malloc_r+0x398&gt;
  800d4c:    18c403c4     addi    r3,r3,4111
  800d50:    00bc0004     movi    r2,-4096
  800d54:    18a8703a     and    r20,r3,r2
  800d58:    9009883a     mov    r4,r18
  800d5c:    a00b883a     mov    r5,r20
  800d60:    db400015     stw    r13,0(sp)
  800d64:    08012cc0     call    8012cc &lt;_sbrk_r&gt;
  800d68:    1021883a     mov    r16,r2
  800d6c:    db400017     ldw    r13,0(sp)
  800d70:    17000426     beq    r2,fp,800d84 &lt;_malloc_r+0x3c4&gt;
  800d74:    14c03e2e     bgeu    r2,r19,800e70 &lt;_malloc_r+0x4b0&gt;
  800d78:    00802074     movhi    r2,129
  800d7c:    10b57204     addi    r2,r2,-10808
  800d80:    a8803b26     beq    r21,r2,800e70 &lt;_malloc_r+0x4b0&gt;
  800d84:    68800217     ldw    r2,8(r13)
  800d88:    013fff04     movi    r4,-4
  800d8c:    10c00117     ldw    r3,4(r2)
  800d90:    1906703a     and    r3,r3,r4
  800d94:    1c49c83a     sub    r4,r3,r17
  800d98:    1c400236     bltu    r3,r17,800da4 &lt;_malloc_r+0x3e4&gt;
  800d9c:    008003c4     movi    r2,15
  800da0:    11000516     blt    r2,r4,800db8 &lt;_malloc_r+0x3f8&gt;
  800da4:    9009883a     mov    r4,r18
  800da8:    0809e500     call    809e50 &lt;__malloc_unlock&gt;
  800dac:    003f1806     br    800a10 &lt;_malloc_r+0x50&gt;
  800db0:    4a7fffc4     addi    r9,r9,-1
  800db4:    003f5706     br    800b14 &lt;_malloc_r+0x154&gt;
  800db8:    6c000217     ldw    r16,8(r13)
  800dbc:    88800054     ori    r2,r17,1
  800dc0:    21000054     ori    r4,r4,1
  800dc4:    8447883a     add    r3,r16,r17
  800dc8:    80800115     stw    r2,4(r16)
  800dcc:    19000115     stw    r4,4(r3)
  800dd0:    9009883a     mov    r4,r18
  800dd4:    68c00215     stw    r3,8(r13)
  800dd8:    003f3006     br    800a9c &lt;_malloc_r+0xdc&gt;
  800ddc:    180ad27a     srli    r5,r3,9
  800de0:    1808d0fa     srli    r4,r3,3
  800de4:    28000426     beq    r5,zero,800df8 &lt;_malloc_r+0x438&gt;
  800de8:    00800104     movi    r2,4
  800dec:    11405836     bltu    r2,r5,800f50 &lt;_malloc_r+0x590&gt;
  800df0:    1804d1ba     srli    r2,r3,6
  800df4:    11000e04     addi    r4,r2,56
  800df8:    200490fa     slli    r2,r4,3
  800dfc:    01402074     movhi    r5,129
  800e00:    29757204     addi    r5,r5,-10808
  800e04:    1351883a     add    r8,r2,r13
  800e08:    41c00217     ldw    r7,8(r8)
  800e0c:    3a006d26     beq    r7,r8,800fc4 &lt;_malloc_r+0x604&gt;
  800e10:    38800117     ldw    r2,4(r7)
  800e14:    013fff04     movi    r4,-4
  800e18:    1104703a     and    r2,r2,r4
  800e1c:    1880052e     bgeu    r3,r2,800e34 &lt;_malloc_r+0x474&gt;
  800e20:    39c00217     ldw    r7,8(r7)
  800e24:    3a000326     beq    r7,r8,800e34 &lt;_malloc_r+0x474&gt;
  800e28:    38800117     ldw    r2,4(r7)
  800e2c:    1104703a     and    r2,r2,r4
  800e30:    18bffb36     bltu    r3,r2,800e20 &lt;_malloc_r+0x460&gt;
  800e34:    3a000317     ldw    r8,12(r7)
  800e38:    82000315     stw    r8,12(r16)
  800e3c:    81c00215     stw    r7,8(r16)
  800e40:    3c000315     stw    r16,12(r7)
  800e44:    44000215     stw    r16,8(r8)
  800e48:    003f5f06     br    800bc8 &lt;_malloc_r+0x208&gt;
  800e4c:    82000317     ldw    r8,12(r16)
  800e50:    81c00217     ldw    r7,8(r16)
  800e54:    88800054     ori    r2,r17,1
  800e58:    844b883a     add    r5,r16,r17
  800e5c:    41c00215     stw    r7,8(r8)
  800e60:    3a000315     stw    r8,12(r7)
  800e64:    003f9e06     br    800ce0 &lt;_malloc_r+0x320&gt;
  800e68:    48c000c4     addi    r3,r9,3
  800e6c:    003f5806     br    800bd0 &lt;_malloc_r+0x210&gt;
  800e70:    07002074     movhi    fp,129
  800e74:    e7356804     addi    fp,fp,-10848
  800e78:    e0800017     ldw    r2,0(fp)
  800e7c:    1505883a     add    r2,r2,r20
  800e80:    e0800015     stw    r2,0(fp)
  800e84:    84c05826     beq    r16,r19,800fe8 &lt;_malloc_r+0x628&gt;
  800e88:    d0e00317     ldw    r3,-32756(gp)
  800e8c:    00bfffc4     movi    r2,-1
  800e90:    18805326     beq    r3,r2,800fe0 &lt;_malloc_r+0x620&gt;
  800e94:    e0800017     ldw    r2,0(fp)
  800e98:    84c7c83a     sub    r3,r16,r19
  800e9c:    10c5883a     add    r2,r2,r3
  800ea0:    e0800015     stw    r2,0(fp)
  800ea4:    80c001cc     andi    r3,r16,7
  800ea8:    0027883a     mov    r19,zero
  800eac:    18000326     beq    r3,zero,800ebc &lt;_malloc_r+0x4fc&gt;
  800eb0:    00800204     movi    r2,8
  800eb4:    10e7c83a     sub    r19,r2,r3
  800eb8:    84e1883a     add    r16,r16,r19
  800ebc:    8505883a     add    r2,r16,r20
  800ec0:    1083ffcc     andi    r2,r2,4095
  800ec4:    00c40004     movi    r3,4096
  800ec8:    1887c83a     sub    r3,r3,r2
  800ecc:    98e7883a     add    r19,r19,r3
  800ed0:    9009883a     mov    r4,r18
  800ed4:    980b883a     mov    r5,r19
  800ed8:    db400015     stw    r13,0(sp)
  800edc:    08012cc0     call    8012cc &lt;_sbrk_r&gt;
  800ee0:    1007883a     mov    r3,r2
  800ee4:    00bfffc4     movi    r2,-1
  800ee8:    db400017     ldw    r13,0(sp)
  800eec:    18804e26     beq    r3,r2,801028 &lt;_malloc_r+0x668&gt;
  800ef0:    e0800017     ldw    r2,0(fp)
  800ef4:    1c07c83a     sub    r3,r3,r16
  800ef8:    1cc9883a     add    r4,r3,r19
  800efc:    14c5883a     add    r2,r2,r19
  800f00:    e0800015     stw    r2,0(fp)
  800f04:    6c000215     stw    r16,8(r13)
  800f08:    20800054     ori    r2,r4,1
  800f0c:    ab404426     beq    r21,r13,801020 &lt;_malloc_r+0x660&gt;
  800f10:    014003c4     movi    r5,15
  800f14:    2d801636     bltu    r5,r22,800f70 &lt;_malloc_r+0x5b0&gt;
  800f18:    00800044     movi    r2,1
  800f1c:    80800115     stw    r2,4(r16)
  800f20:    003f9806     br    800d84 &lt;_malloc_r+0x3c4&gt;
  800f24:    00805504     movi    r2,340
  800f28:    10c00336     bltu    r2,r3,800f38 &lt;_malloc_r+0x578&gt;
  800f2c:    8804d3fa     srli    r2,r17,15
  800f30:    12401dc4     addi    r9,r2,119
  800f34:    003ee806     br    800ad8 &lt;_malloc_r+0x118&gt;
  800f38:    00815504     movi    r2,1364
  800f3c:    02401f84     movi    r9,126
  800f40:    10fee536     bltu    r2,r3,800ad8 &lt;_malloc_r+0x118&gt;
  800f44:    8804d4ba     srli    r2,r17,18
  800f48:    12401f04     addi    r9,r2,124
  800f4c:    003ee206     br    800ad8 &lt;_malloc_r+0x118&gt;
  800f50:    00800504     movi    r2,20
  800f54:    290016c4     addi    r4,r5,91
  800f58:    117fa72e     bgeu    r2,r5,800df8 &lt;_malloc_r+0x438&gt;
  800f5c:    00801504     movi    r2,84
  800f60:    11403a36     bltu    r2,r5,80104c &lt;_malloc_r+0x68c&gt;
  800f64:    1804d33a     srli    r2,r3,12
  800f68:    11001b84     addi    r4,r2,110
  800f6c:    003fa206     br    800df8 &lt;_malloc_r+0x438&gt;
  800f70:    80800115     stw    r2,4(r16)
  800f74:    a8800117     ldw    r2,4(r21)
  800f78:    00fffe04     movi    r3,-8
  800f7c:    b13ffd04     addi    r4,r22,-12
  800f80:    20ee703a     and    r23,r4,r3
  800f84:    1080004c     andi    r2,r2,1
  800f88:    15c4b03a     or    r2,r2,r23
  800f8c:    a8800115     stw    r2,4(r21)
  800f90:    adc7883a     add    r3,r21,r23
  800f94:    00800144     movi    r2,5
  800f98:    18800215     stw    r2,8(r3)
  800f9c:    18800115     stw    r2,4(r3)
  800fa0:    2dc02436     bltu    r5,r23,801034 &lt;_malloc_r+0x674&gt;
  800fa4:    e0c00017     ldw    r3,0(fp)
  800fa8:    d0a00217     ldw    r2,-32760(gp)
  800fac:    10c0012e     bgeu    r2,r3,800fb4 &lt;_malloc_r+0x5f4&gt;
  800fb0:    d0e00215     stw    r3,-32760(gp)
  800fb4:    d0a00117     ldw    r2,-32764(gp)
  800fb8:    10ff722e     bgeu    r2,r3,800d84 &lt;_malloc_r+0x3c4&gt;
  800fbc:    d0e00115     stw    r3,-32764(gp)
  800fc0:    003f7006     br    800d84 &lt;_malloc_r+0x3c4&gt;
  800fc4:    2005d0ba     srai    r2,r4,2
  800fc8:    00c00044     movi    r3,1
  800fcc:    29000117     ldw    r4,4(r5)
  800fd0:    1886983a     sll    r3,r3,r2
  800fd4:    20c8b03a     or    r4,r4,r3
  800fd8:    29000115     stw    r4,4(r5)
  800fdc:    003f9606     br    800e38 &lt;_malloc_r+0x478&gt;
  800fe0:    d4200315     stw    r16,-32756(gp)
  800fe4:    003faf06     br    800ea4 &lt;_malloc_r+0x4e4&gt;
  800fe8:    8083ffcc     andi    r2,r16,4095
  800fec:    103fa61e     bne    r2,zero,800e88 &lt;_malloc_r+0x4c8&gt;
  800ff0:    00802074     movhi    r2,129
  800ff4:    10b57204     addi    r2,r2,-10808
  800ff8:    10c00217     ldw    r3,8(r2)
  800ffc:    a5c9883a     add    r4,r20,r23
  801000:    20800054     ori    r2,r4,1
  801004:    18800115     stw    r2,4(r3)
  801008:    003fe606     br    800fa4 &lt;_malloc_r+0x5e4&gt;
  80100c:    68800117     ldw    r2,4(r13)
  801010:    01c6303a     nor    r3,zero,r7
  801014:    10c4703a     and    r2,r2,r3
  801018:    68800115     stw    r2,4(r13)
  80101c:    003f1806     br    800c80 &lt;_malloc_r+0x2c0&gt;
  801020:    80800115     stw    r2,4(r16)
  801024:    003fdf06     br    800fa4 &lt;_malloc_r+0x5e4&gt;
  801028:    0027883a     mov    r19,zero
  80102c:    8007883a     mov    r3,r16
  801030:    003faf06     br    800ef0 &lt;_malloc_r+0x530&gt;
  801034:    a9400204     addi    r5,r21,8
  801038:    9009883a     mov    r4,r18
  80103c:    db400015     stw    r13,0(sp)
  801040:    08055600     call    805560 &lt;_free_r&gt;
  801044:    db400017     ldw    r13,0(sp)
  801048:    003fd606     br    800fa4 &lt;_malloc_r+0x5e4&gt;
  80104c:    00805504     movi    r2,340
  801050:    11400336     bltu    r2,r5,801060 &lt;_malloc_r+0x6a0&gt;
  801054:    1804d3fa     srli    r2,r3,15
  801058:    11001dc4     addi    r4,r2,119
  80105c:    003f6606     br    800df8 &lt;_malloc_r+0x438&gt;
  801060:    00815504     movi    r2,1364
  801064:    01001f84     movi    r4,126
  801068:    117f6336     bltu    r2,r5,800df8 &lt;_malloc_r+0x438&gt;
  80106c:    1804d4ba     srli    r2,r3,18
  801070:    11001f04     addi    r4,r2,124
  801074:    003f6006     br    800df8 &lt;_malloc_r+0x438&gt;

00801078 &lt;_open_r&gt;:
  801078:    defffe04     addi    sp,sp,-8
  80107c:    dc000015     stw    r16,0(sp)
  801080:    2021883a     mov    r16,r4
  801084:    2809883a     mov    r4,r5
  801088:    300b883a     mov    r5,r6
  80108c:    380d883a     mov    r6,r7
  801090:    dfc00115     stw    ra,4(sp)
  801094:    d0201d15     stw    zero,-32652(gp)
  801098:    0809f340     call    809f34 &lt;open&gt;
  80109c:    1007883a     mov    r3,r2
  8010a0:    00bfffc4     movi    r2,-1
  8010a4:    18800526     beq    r3,r2,8010bc &lt;_open_r+0x44&gt;
  8010a8:    1805883a     mov    r2,r3
  8010ac:    dfc00117     ldw    ra,4(sp)
  8010b0:    dc000017     ldw    r16,0(sp)
  8010b4:    dec00204     addi    sp,sp,8
  8010b8:    f800283a     ret
  8010bc:    d0a01d17     ldw    r2,-32652(gp)
  8010c0:    103ff926     beq    r2,zero,8010a8 &lt;_open_r+0x30&gt;
  8010c4:    80800015     stw    r2,0(r16)
  8010c8:    1805883a     mov    r2,r3
  8010cc:    dfc00117     ldw    ra,4(sp)
  8010d0:    dc000017     ldw    r16,0(sp)
  8010d4:    dec00204     addi    sp,sp,8
  8010d8:    f800283a     ret

008010dc &lt;printf&gt;:
  8010dc:    defffc04     addi    sp,sp,-16
  8010e0:    dfc00015     stw    ra,0(sp)
  8010e4:    d9400115     stw    r5,4(sp)
  8010e8:    d9800215     stw    r6,8(sp)
  8010ec:    d9c00315     stw    r7,12(sp)
  8010f0:    d0a00017     ldw    r2,-32768(gp)
  8010f4:    200b883a     mov    r5,r4
  8010f8:    d9800104     addi    r6,sp,4
  8010fc:    11000217     ldw    r4,8(r2)
  801100:    08031b40     call    8031b4 &lt;__vfprintf_internal&gt;
  801104:    dfc00017     ldw    ra,0(sp)
  801108:    dec00404     addi    sp,sp,16
  80110c:    f800283a     ret

00801110 &lt;lflush&gt;:
  801110:    2080030b     ldhu    r2,12(r4)
  801114:    00c00244     movi    r3,9
  801118:    1080024c     andi    r2,r2,9
  80111c:    10c00226     beq    r2,r3,801128 &lt;lflush+0x18&gt;
  801120:    0005883a     mov    r2,zero
  801124:    f800283a     ret
  801128:    02002034     movhi    r8,128
  80112c:    42141004     addi    r8,r8,20544
  801130:    4000683a     jmp    r8

00801134 &lt;__srefill&gt;:
  801134:    d0e00017     ldw    r3,-32768(gp)
  801138:    defffe04     addi    sp,sp,-8
  80113c:    dc000015     stw    r16,0(sp)
  801140:    dfc00115     stw    ra,4(sp)
  801144:    18800e17     ldw    r2,56(r3)
  801148:    2021883a     mov    r16,r4
  80114c:    10003c26     beq    r2,zero,801240 &lt;__srefill+0x10c&gt;
  801150:    8100030b     ldhu    r4,12(r16)
  801154:    20ffffcc     andi    r3,r4,65535
  801158:    1804d17a     srli    r2,r3,5
  80115c:    1080004c     andi    r2,r2,1
  801160:    10004f1e     bne    r2,zero,8012a0 &lt;__srefill+0x16c&gt;
  801164:    1804d0ba     srli    r2,r3,2
  801168:    1080004c     andi    r2,r2,1
  80116c:    1000211e     bne    r2,zero,8011f4 &lt;__srefill+0xc0&gt;
  801170:    1804d13a     srli    r2,r3,4
  801174:    80000115     stw    zero,4(r16)
  801178:    017fffc4     movi    r5,-1
  80117c:    1080004c     andi    r2,r2,1
  801180:    10001726     beq    r2,zero,8011e0 &lt;__srefill+0xac&gt;
  801184:    1804d0fa     srli    r2,r3,3
  801188:    1080004c     andi    r2,r2,1
  80118c:    1000391e     bne    r2,zero,801274 &lt;__srefill+0x140&gt;
  801190:    20800114     ori    r2,r4,4
  801194:    8080030d     sth    r2,12(r16)
  801198:    80800417     ldw    r2,16(r16)
  80119c:    10003026     beq    r2,zero,801260 &lt;__srefill+0x12c&gt;
  8011a0:    8080030b     ldhu    r2,12(r16)
  8011a4:    108000cc     andi    r2,r2,3
  8011a8:    1000281e     bne    r2,zero,80124c &lt;__srefill+0x118&gt;
  8011ac:    81400417     ldw    r5,16(r16)
  8011b0:    80c00817     ldw    r3,32(r16)
  8011b4:    81000717     ldw    r4,28(r16)
  8011b8:    81800517     ldw    r6,20(r16)
  8011bc:    81400015     stw    r5,0(r16)
  8011c0:    183ee83a     callr    r3
  8011c4:    1007883a     mov    r3,r2
  8011c8:    8080030b     ldhu    r2,12(r16)
  8011cc:    10b7ffcc     andi    r2,r2,57343
  8011d0:    00c0360e     bge    zero,r3,8012ac &lt;__srefill+0x178&gt;
  8011d4:    8080030d     sth    r2,12(r16)
  8011d8:    80c00115     stw    r3,4(r16)
  8011dc:    000b883a     mov    r5,zero
  8011e0:    2805883a     mov    r2,r5
  8011e4:    dfc00117     ldw    ra,4(sp)
  8011e8:    dc000017     ldw    r16,0(sp)
  8011ec:    dec00204     addi    sp,sp,8
  8011f0:    f800283a     ret
  8011f4:    81400c17     ldw    r5,48(r16)
  8011f8:    28001c26     beq    r5,zero,80126c &lt;__srefill+0x138&gt;
  8011fc:    80801004     addi    r2,r16,64
  801200:    28800326     beq    r5,r2,801210 &lt;__srefill+0xdc&gt;
  801204:    d1200017     ldw    r4,-32768(gp)
  801208:    80000115     stw    zero,4(r16)
  80120c:    08055600     call    805560 &lt;_free_r&gt;
  801210:    80800f17     ldw    r2,60(r16)
  801214:    80000c15     stw    zero,48(r16)
  801218:    80800115     stw    r2,4(r16)
  80121c:    103fde26     beq    r2,zero,801198 &lt;__srefill+0x64&gt;
  801220:    80800e17     ldw    r2,56(r16)
  801224:    000b883a     mov    r5,zero
  801228:    80800015     stw    r2,0(r16)
  80122c:    2805883a     mov    r2,r5
  801230:    dfc00117     ldw    ra,4(sp)
  801234:    dc000017     ldw    r16,0(sp)
  801238:    dec00204     addi    sp,sp,8
  80123c:    f800283a     ret
  801240:    1809883a     mov    r4,r3
  801244:    08051ac0     call    8051ac &lt;__sinit&gt;
  801248:    003fc106     br    801150 &lt;__srefill+0x1c&gt;
  80124c:    d1200017     ldw    r4,-32768(gp)
  801250:    01402034     movhi    r5,128
  801254:    29444404     addi    r5,r5,4368
  801258:    0805bb40     call    805bb4 &lt;_fwalk&gt;
  80125c:    003fd306     br    8011ac &lt;__srefill+0x78&gt;
  801260:    8009883a     mov    r4,r16
  801264:    08008740     call    800874 &lt;__smakebuf&gt;
  801268:    003fcd06     br    8011a0 &lt;__srefill+0x6c&gt;
  80126c:    80000115     stw    zero,4(r16)
  801270:    003fc906     br    801198 &lt;__srefill+0x64&gt;
  801274:    8009883a     mov    r4,r16
  801278:    08050400     call    805040 &lt;fflush&gt;
  80127c:    017fffc4     movi    r5,-1
  801280:    103fd71e     bne    r2,zero,8011e0 &lt;__srefill+0xac&gt;
  801284:    8080030b     ldhu    r2,12(r16)
  801288:    80000215     stw    zero,8(r16)
  80128c:    80000615     stw    zero,24(r16)
  801290:    10bffdcc     andi    r2,r2,65527
  801294:    1009883a     mov    r4,r2
  801298:    8080030d     sth    r2,12(r16)
  80129c:    003fbc06     br    801190 &lt;__srefill+0x5c&gt;
  8012a0:    017fffc4     movi    r5,-1
  8012a4:    80000115     stw    zero,4(r16)
  8012a8:    003fcd06     br    8011e0 &lt;__srefill+0xac&gt;
  8012ac:    1800051e     bne    r3,zero,8012c4 &lt;__srefill+0x190&gt;
  8012b0:    10800814     ori    r2,r2,32
  8012b4:    017fffc4     movi    r5,-1
  8012b8:    8080030d     sth    r2,12(r16)
  8012bc:    80000115     stw    zero,4(r16)
  8012c0:    003fc706     br    8011e0 &lt;__srefill+0xac&gt;
  8012c4:    10801014     ori    r2,r2,64
  8012c8:    003ffa06     br    8012b4 &lt;__srefill+0x180&gt;

008012cc &lt;_sbrk_r&gt;:
  8012cc:    defffe04     addi    sp,sp,-8
  8012d0:    dc000015     stw    r16,0(sp)
  8012d4:    2021883a     mov    r16,r4
  8012d8:    2809883a     mov    r4,r5
  8012dc:    dfc00115     stw    ra,4(sp)
  8012e0:    d0201d15     stw    zero,-32652(gp)
  8012e4:    080a2c00     call    80a2c0 &lt;sbrk&gt;
  8012e8:    1007883a     mov    r3,r2
  8012ec:    00bfffc4     movi    r2,-1
  8012f0:    18800526     beq    r3,r2,801308 &lt;_sbrk_r+0x3c&gt;
  8012f4:    1805883a     mov    r2,r3
  8012f8:    dfc00117     ldw    ra,4(sp)
  8012fc:    dc000017     ldw    r16,0(sp)
  801300:    dec00204     addi    sp,sp,8
  801304:    f800283a     ret
  801308:    d0a01d17     ldw    r2,-32652(gp)
  80130c:    103ff926     beq    r2,zero,8012f4 &lt;_sbrk_r+0x28&gt;
  801310:    80800015     stw    r2,0(r16)
  801314:    003ff706     br    8012f4 &lt;_sbrk_r+0x28&gt;

00801318 &lt;__sread&gt;:
  801318:    defffe04     addi    sp,sp,-8
  80131c:    dc000015     stw    r16,0(sp)
  801320:    dfc00115     stw    ra,4(sp)
  801324:    2021883a     mov    r16,r4
  801328:    2807883a     mov    r3,r5
  80132c:    d1200017     ldw    r4,-32768(gp)
  801330:    8140038f     ldh    r5,14(r16)
  801334:    300f883a     mov    r7,r6
  801338:    180d883a     mov    r6,r3
  80133c:    0806fd00     call    806fd0 &lt;_read_r&gt;
  801340:    1007883a     mov    r3,r2
  801344:    10000816     blt    r2,zero,801368 &lt;__sread+0x50&gt;
  801348:    80801417     ldw    r2,80(r16)
  80134c:    10c5883a     add    r2,r2,r3
  801350:    80801415     stw    r2,80(r16)
  801354:    1805883a     mov    r2,r3
  801358:    dfc00117     ldw    ra,4(sp)
  80135c:    dc000017     ldw    r16,0(sp)
  801360:    dec00204     addi    sp,sp,8
  801364:    f800283a     ret
  801368:    8080030b     ldhu    r2,12(r16)
  80136c:    10bbffcc     andi    r2,r2,61439
  801370:    8080030d     sth    r2,12(r16)
  801374:    1805883a     mov    r2,r3
  801378:    dfc00117     ldw    ra,4(sp)
  80137c:    dc000017     ldw    r16,0(sp)
  801380:    dec00204     addi    sp,sp,8
  801384:    f800283a     ret

00801388 &lt;__swrite&gt;:
  801388:    defffc04     addi    sp,sp,-16
  80138c:    dc000215     stw    r16,8(sp)
  801390:    dc400115     stw    r17,4(sp)
  801394:    dc800015     stw    r18,0(sp)
  801398:    dfc00315     stw    ra,12(sp)
  80139c:    20c0030b     ldhu    r3,12(r4)
  8013a0:    3025883a     mov    r18,r6
  8013a4:    2021883a     mov    r16,r4
  8013a8:    1804d23a     srli    r2,r3,8
  8013ac:    01c00084     movi    r7,2
  8013b0:    2823883a     mov    r17,r5
  8013b4:    1080004c     andi    r2,r2,1
  8013b8:    000d883a     mov    r6,zero
  8013bc:    10000e1e     bne    r2,zero,8013f8 &lt;__swrite+0x70&gt;
  8013c0:    8140038f     ldh    r5,14(r16)
  8013c4:    d1200017     ldw    r4,-32768(gp)
  8013c8:    18bbffcc     andi    r2,r3,61439
  8013cc:    880d883a     mov    r6,r17
  8013d0:    900f883a     mov    r7,r18
  8013d4:    02002034     movhi    r8,128
  8013d8:    420e1e04     addi    r8,r8,14456
  8013dc:    8080030d     sth    r2,12(r16)
  8013e0:    dfc00317     ldw    ra,12(sp)
  8013e4:    dc000217     ldw    r16,8(sp)
  8013e8:    dc400117     ldw    r17,4(sp)
  8013ec:    dc800017     ldw    r18,0(sp)
  8013f0:    dec00404     addi    sp,sp,16
  8013f4:    4000683a     jmp    r8
  8013f8:    d1200017     ldw    r4,-32768(gp)
  8013fc:    8140038f     ldh    r5,14(r16)
  801400:    0805d500     call    805d50 &lt;_lseek_r&gt;
  801404:    80c0030b     ldhu    r3,12(r16)
  801408:    003fed06     br    8013c0 &lt;__swrite+0x38&gt;

0080140c &lt;__sseek&gt;:
  80140c:    defffe04     addi    sp,sp,-8
  801410:    dc000015     stw    r16,0(sp)
  801414:    dfc00115     stw    ra,4(sp)
  801418:    2021883a     mov    r16,r4
  80141c:    2807883a     mov    r3,r5
  801420:    d1200017     ldw    r4,-32768(gp)
  801424:    8140038f     ldh    r5,14(r16)
  801428:    300f883a     mov    r7,r6
  80142c:    180d883a     mov    r6,r3
  801430:    0805d500     call    805d50 &lt;_lseek_r&gt;
  801434:    1007883a     mov    r3,r2
  801438:    00bfffc4     movi    r2,-1
  80143c:    18800926     beq    r3,r2,801464 &lt;__sseek+0x58&gt;
  801440:    8080030b     ldhu    r2,12(r16)
  801444:    80c01415     stw    r3,80(r16)
  801448:    10840014     ori    r2,r2,4096
  80144c:    8080030d     sth    r2,12(r16)
  801450:    1805883a     mov    r2,r3
  801454:    dfc00117     ldw    ra,4(sp)
  801458:    dc000017     ldw    r16,0(sp)
  80145c:    dec00204     addi    sp,sp,8
  801460:    f800283a     ret
  801464:    8080030b     ldhu    r2,12(r16)
  801468:    10bbffcc     andi    r2,r2,61439
  80146c:    8080030d     sth    r2,12(r16)
  801470:    1805883a     mov    r2,r3
  801474:    dfc00117     ldw    ra,4(sp)
  801478:    dc000017     ldw    r16,0(sp)
  80147c:    dec00204     addi    sp,sp,8
  801480:    f800283a     ret

00801484 &lt;__sclose&gt;:
  801484:    2140038f     ldh    r5,14(r4)
  801488:    d1200017     ldw    r4,-32768(gp)
  80148c:    02002034     movhi    r8,128
  801490:    420e7e04     addi    r8,r8,14840
  801494:    4000683a     jmp    r8

00801498 &lt;__sprint&gt;:
  801498:    defffe04     addi    sp,sp,-8
  80149c:    dc000015     stw    r16,0(sp)
  8014a0:    dfc00115     stw    ra,4(sp)
  8014a4:    28800217     ldw    r2,8(r5)
  8014a8:    2821883a     mov    r16,r5
  8014ac:    0007883a     mov    r3,zero
  8014b0:    1000061e     bne    r2,zero,8014cc &lt;__sprint+0x34&gt;
  8014b4:    1805883a     mov    r2,r3
  8014b8:    28000115     stw    zero,4(r5)
  8014bc:    dfc00117     ldw    ra,4(sp)
  8014c0:    dc000017     ldw    r16,0(sp)
  8014c4:    dec00204     addi    sp,sp,8
  8014c8:    f800283a     ret
  8014cc:    08058180     call    805818 &lt;__sfvwrite&gt;
  8014d0:    1007883a     mov    r3,r2
  8014d4:    1805883a     mov    r2,r3
  8014d8:    80000115     stw    zero,4(r16)
  8014dc:    80000215     stw    zero,8(r16)
  8014e0:    dfc00117     ldw    ra,4(sp)
  8014e4:    dc000017     ldw    r16,0(sp)
  8014e8:    dec00204     addi    sp,sp,8
  8014ec:    f800283a     ret

008014f0 &lt;___vfprintf_internal_r&gt;:
  8014f0:    defe4a04     addi    sp,sp,-1752
  8014f4:    dc01b315     stw    r16,1740(sp)
  8014f8:    d9419e15     stw    r5,1656(sp)
  8014fc:    d9019d15     stw    r4,1652(sp)
  801500:    dfc1b515     stw    ra,1748(sp)
  801504:    df01b415     stw    fp,1744(sp)
  801508:    dc41b215     stw    r17,1736(sp)
  80150c:    dc81b115     stw    r18,1732(sp)
  801510:    dcc1b015     stw    r19,1728(sp)
  801514:    dd01af15     stw    r20,1724(sp)
  801518:    dd41ae15     stw    r21,1720(sp)
  80151c:    dd81ad15     stw    r22,1716(sp)
  801520:    ddc1ac15     stw    r23,1712(sp)
  801524:    3021883a     mov    r16,r6
  801528:    d9c19f15     stw    r7,1660(sp)
  80152c:    0805d400     call    805d40 &lt;localeconv&gt;
  801530:    d8c19e17     ldw    r3,1656(sp)
  801534:    10800017     ldw    r2,0(r2)
  801538:    000b883a     mov    r5,zero
  80153c:    1900030b     ldhu    r4,12(r3)
  801540:    d881a315     stw    r2,1676(sp)
  801544:    d941a415     stw    r5,1680(sp)
  801548:    20bfffcc     andi    r2,r4,65535
  80154c:    1004d0fa     srli    r2,r2,3
  801550:    d941a515     stw    r5,1684(sp)
  801554:    d801a615     stw    zero,1688(sp)
  801558:    1080005c     xori    r2,r2,1
  80155c:    1080004c     andi    r2,r2,1
  801560:    d801a915     stw    zero,1700(sp)
  801564:    d801aa15     stw    zero,1704(sp)
  801568:    1000421e     bne    r2,zero,801674 &lt;___vfprintf_internal_r+0x184&gt;
  80156c:    18800417     ldw    r2,16(r3)
  801570:    10004026     beq    r2,zero,801674 &lt;___vfprintf_internal_r+0x184&gt;
  801574:    20c0068c     andi    r3,r4,26
  801578:    00800284     movi    r2,10
  80157c:    18804626     beq    r3,r2,801698 &lt;___vfprintf_internal_r+0x1a8&gt;
  801580:    dc800904     addi    r18,sp,36
  801584:    802d883a     mov    r22,r16
  801588:    dc800615     stw    r18,24(sp)
  80158c:    d8000815     stw    zero,32(sp)
  801590:    d8000715     stw    zero,28(sp)
  801594:    d801a115     stw    zero,1668(sp)
  801598:    b1000003     ldbu    r4,0(r22)
  80159c:    b027883a     mov    r19,r22
  8015a0:    20803fcc     andi    r2,r4,255
  8015a4:    1080201c     xori    r2,r2,128
  8015a8:    10bfe004     addi    r2,r2,-128
  8015ac:    10000826     beq    r2,zero,8015d0 &lt;___vfprintf_internal_r+0xe0&gt;
  8015b0:    00c00944     movi    r3,37
  8015b4:    10c00626     beq    r2,r3,8015d0 &lt;___vfprintf_internal_r+0xe0&gt;
  8015b8:    b5800044     addi    r22,r22,1
  8015bc:    b1000003     ldbu    r4,0(r22)
  8015c0:    20803fcc     andi    r2,r4,255
  8015c4:    1080201c     xori    r2,r2,128
  8015c8:    10bfe004     addi    r2,r2,-128
  8015cc:    103ff91e     bne    r2,zero,8015b4 &lt;___vfprintf_internal_r+0xc4&gt;
  8015d0:    b4e3c83a     sub    r17,r22,r19
  8015d4:    88000f26     beq    r17,zero,801614 &lt;___vfprintf_internal_r+0x124&gt;
  8015d8:    d8800817     ldw    r2,32(sp)
  8015dc:    d8c00717     ldw    r3,28(sp)
  8015e0:    94c00015     stw    r19,0(r18)
  8015e4:    1445883a     add    r2,r2,r17
  8015e8:    18c00044     addi    r3,r3,1
  8015ec:    d8800815     stw    r2,32(sp)
  8015f0:    008001c4     movi    r2,7
  8015f4:    94400115     stw    r17,4(r18)
  8015f8:    d8c00715     stw    r3,28(sp)
  8015fc:    94800204     addi    r18,r18,8
  801600:    10c05b16     blt    r2,r3,801770 &lt;___vfprintf_internal_r+0x280&gt;
  801604:    d8c1a117     ldw    r3,1668(sp)
  801608:    b1000003     ldbu    r4,0(r22)
  80160c:    1c47883a     add    r3,r3,r17
  801610:    d8c1a115     stw    r3,1668(sp)
  801614:    20803fcc     andi    r2,r4,255
  801618:    1080201c     xori    r2,r2,128
  80161c:    10bfe004     addi    r2,r2,-128
  801620:    10037626     beq    r2,zero,8023fc &lt;___vfprintf_internal_r+0xf0c&gt;
  801624:    b5800044     addi    r22,r22,1
  801628:    b1000003     ldbu    r4,0(r22)
  80162c:    053fffc4     movi    r20,-1
  801630:    d801a015     stw    zero,1664(sp)
  801634:    d801a715     stw    zero,1692(sp)
  801638:    d801a215     stw    zero,1672(sp)
  80163c:    d8019c05     stb    zero,1648(sp)
  801640:    27003fcc     andi    fp,r4,255
  801644:    e700201c     xori    fp,fp,128
  801648:    e73fe004     addi    fp,fp,-128
  80164c:    b5800044     addi    r22,r22,1
  801650:    e0fff804     addi    r3,fp,-32
  801654:    00801604     movi    r2,88
  801658:    10c1a336     bltu    r2,r3,801ce8 &lt;___vfprintf_internal_r+0x7f8&gt;
  80165c:    180490ba     slli    r2,r3,2
  801660:    00c02074     movhi    r3,129
  801664:    18f2fd04     addi    r3,r3,-13324
  801668:    10c5883a     add    r2,r2,r3
  80166c:    11000017     ldw    r4,0(r2)
  801670:    2000683a     jmp    r4
  801674:    d9019e17     ldw    r4,1656(sp)
  801678:    08038dc0     call    8038dc &lt;__swsetup&gt;
  80167c:    00ffffc4     movi    r3,-1
  801680:    10002e1e     bne    r2,zero,80173c &lt;___vfprintf_internal_r+0x24c&gt;
  801684:    d9c19e17     ldw    r7,1656(sp)
  801688:    00800284     movi    r2,10
  80168c:    3900030b     ldhu    r4,12(r7)
  801690:    20c0068c     andi    r3,r4,26
  801694:    18bfba1e     bne    r3,r2,801580 &lt;___vfprintf_internal_r+0x90&gt;
  801698:    d8819e17     ldw    r2,1656(sp)
  80169c:    1280038b     ldhu    r10,14(r2)
  8016a0:    50bfffcc     andi    r2,r10,65535
  8016a4:    10a0001c     xori    r2,r2,32768
  8016a8:    10a00004     addi    r2,r2,-32768
  8016ac:    103fb416     blt    r2,zero,801580 &lt;___vfprintf_internal_r+0x90&gt;
  8016b0:    d8c19e17     ldw    r3,1656(sp)
  8016b4:    d9819f17     ldw    r6,1660(sp)
  8016b8:    dc407104     addi    r17,sp,452
  8016bc:    1a000717     ldw    r8,28(r3)
  8016c0:    1a400917     ldw    r9,36(r3)
  8016c4:    20bfff4c     andi    r2,r4,65533
  8016c8:    d8c08804     addi    r3,sp,544
  8016cc:    01c10004     movi    r7,1024
  8016d0:    800b883a     mov    r5,r16
  8016d4:    8809883a     mov    r4,r17
  8016d8:    d880740d     sth    r2,464(sp)
  8016dc:    da80748d     sth    r10,466(sp)
  8016e0:    da007815     stw    r8,480(sp)
  8016e4:    da407a15     stw    r9,488(sp)
  8016e8:    d8c07515     stw    r3,468(sp)
  8016ec:    d9c07615     stw    r7,472(sp)
  8016f0:    d8c07115     stw    r3,452(sp)
  8016f4:    d9c07315     stw    r7,460(sp)
  8016f8:    d8007715     stw    zero,476(sp)
  8016fc:    08031b40     call    8031b4 &lt;__vfprintf_internal&gt;
  801700:    1021883a     mov    r16,r2
  801704:    10000416     blt    r2,zero,801718 &lt;___vfprintf_internal_r+0x228&gt;
  801708:    8809883a     mov    r4,r17
  80170c:    08050400     call    805040 &lt;fflush&gt;
  801710:    10000126     beq    r2,zero,801718 &lt;___vfprintf_internal_r+0x228&gt;
  801714:    043fffc4     movi    r16,-1
  801718:    d880740b     ldhu    r2,464(sp)
  80171c:    1004d1ba     srli    r2,r2,6
  801720:    1080004c     andi    r2,r2,1
  801724:    10000426     beq    r2,zero,801738 &lt;___vfprintf_internal_r+0x248&gt;
  801728:    d9019e17     ldw    r4,1656(sp)
  80172c:    2080030b     ldhu    r2,12(r4)
  801730:    10801014     ori    r2,r2,64
  801734:    2080030d     sth    r2,12(r4)
  801738:    8007883a     mov    r3,r16
  80173c:    1805883a     mov    r2,r3
  801740:    dfc1b517     ldw    ra,1748(sp)
  801744:    df01b417     ldw    fp,1744(sp)
  801748:    dc01b317     ldw    r16,1740(sp)
  80174c:    dc41b217     ldw    r17,1736(sp)
  801750:    dc81b117     ldw    r18,1732(sp)
  801754:    dcc1b017     ldw    r19,1728(sp)
  801758:    dd01af17     ldw    r20,1724(sp)
  80175c:    dd41ae17     ldw    r21,1720(sp)
  801760:    dd81ad17     ldw    r22,1716(sp)
  801764:    ddc1ac17     ldw    r23,1712(sp)
  801768:    dec1b604     addi    sp,sp,1752
  80176c:    f800283a     ret
  801770:    d9019e17     ldw    r4,1656(sp)
  801774:    d9c00404     addi    r7,sp,16
  801778:    39400204     addi    r5,r7,8
  80177c:    08014980     call    801498 &lt;__sprint&gt;
  801780:    1003261e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  801784:    d8800404     addi    r2,sp,16
  801788:    14800504     addi    r18,r2,20
  80178c:    003f9d06     br    801604 &lt;___vfprintf_internal_r+0x114&gt;
  801790:    d901a017     ldw    r4,1664(sp)
  801794:    21000414     ori    r4,r4,16
  801798:    d901a015     stw    r4,1664(sp)
  80179c:    d941a017     ldw    r5,1664(sp)
  8017a0:    2804d17a     srli    r2,r5,5
  8017a4:    1080004c     andi    r2,r2,1
  8017a8:    10042026     beq    r2,zero,80282c &lt;___vfprintf_internal_r+0x133c&gt;
  8017ac:    d8819f17     ldw    r2,1660(sp)
  8017b0:    00c00044     movi    r3,1
  8017b4:    14000017     ldw    r16,0(r2)
  8017b8:    14400117     ldw    r17,4(r2)
  8017bc:    11c00204     addi    r7,r2,8
  8017c0:    d9c19f15     stw    r7,1660(sp)
  8017c4:    d8019c05     stb    zero,1648(sp)
  8017c8:    dd01a715     stw    r20,1692(sp)
  8017cc:    a0000416     blt    r20,zero,8017e0 &lt;___vfprintf_internal_r+0x2f0&gt;
  8017d0:    d941a017     ldw    r5,1664(sp)
  8017d4:    00bfdfc4     movi    r2,-129
  8017d8:    288a703a     and    r5,r5,r2
  8017dc:    d941a015     stw    r5,1664(sp)
  8017e0:    d9c00404     addi    r7,sp,16
  8017e4:    8444b03a     or    r2,r16,r17
  8017e8:    3cc06c04     addi    r19,r7,432
  8017ec:    1000021e     bne    r2,zero,8017f8 &lt;___vfprintf_internal_r+0x308&gt;
  8017f0:    d881a717     ldw    r2,1692(sp)
  8017f4:    10036b26     beq    r2,zero,8025a4 &lt;___vfprintf_internal_r+0x10b4&gt;
  8017f8:    18c03fcc     andi    r3,r3,255
  8017fc:    00800044     movi    r2,1
  801800:    1880ef26     beq    r3,r2,801bc0 &lt;___vfprintf_internal_r+0x6d0&gt;
  801804:    10c35616     blt    r2,r3,802560 &lt;___vfprintf_internal_r+0x1070&gt;
  801808:    1800f926     beq    r3,zero,801bf0 &lt;___vfprintf_internal_r+0x700&gt;
  80180c:    04c02074     movhi    r19,129
  801810:    9cf35604     addi    r19,r19,-12968
  801814:    9809883a     mov    r4,r19
  801818:    08076b40     call    8076b4 &lt;strlen&gt;
  80181c:    102f883a     mov    r23,r2
  801820:    d881a717     ldw    r2,1692(sp)
  801824:    ddc1a815     stw    r23,1696(sp)
  801828:    b880010e     bge    r23,r2,801830 &lt;___vfprintf_internal_r+0x340&gt;
  80182c:    d881a815     stw    r2,1696(sp)
  801830:    d8c19c03     ldbu    r3,1648(sp)
  801834:    18024226     beq    r3,zero,802140 &lt;___vfprintf_internal_r+0xc50&gt;
  801838:    d901a817     ldw    r4,1696(sp)
  80183c:    21000044     addi    r4,r4,1
  801840:    d901a815     stw    r4,1696(sp)
  801844:    d881a017     ldw    r2,1664(sp)
  801848:    1080210c     andi    r2,r2,132
  80184c:    d881ab15     stw    r2,1708(sp)
  801850:    10002e1e     bne    r2,zero,80190c &lt;___vfprintf_internal_r+0x41c&gt;
  801854:    d941a217     ldw    r5,1672(sp)
  801858:    d901a817     ldw    r4,1696(sp)
  80185c:    2921c83a     sub    r16,r5,r4
  801860:    04002a0e     bge    zero,r16,80190c &lt;___vfprintf_internal_r+0x41c&gt;
  801864:    04400404     movi    r17,16
  801868:    8c001a0e     bge    r17,r16,8018d4 &lt;___vfprintf_internal_r+0x3e4&gt;
  80186c:    882b883a     mov    r21,r17
  801870:    050001c4     movi    r20,7
  801874:    00000206     br    801880 &lt;___vfprintf_internal_r+0x390&gt;
  801878:    843ffc04     addi    r16,r16,-16
  80187c:    ac00150e     bge    r21,r16,8018d4 &lt;___vfprintf_internal_r+0x3e4&gt;
  801880:    d8800817     ldw    r2,32(sp)
  801884:    d8c00717     ldw    r3,28(sp)
  801888:    01c02074     movhi    r7,129
  80188c:    39f2f504     addi    r7,r7,-13356
  801890:    10800404     addi    r2,r2,16
  801894:    18c00044     addi    r3,r3,1
  801898:    91c00015     stw    r7,0(r18)
  80189c:    94400115     stw    r17,4(r18)
  8018a0:    d8800815     stw    r2,32(sp)
  8018a4:    d8c00715     stw    r3,28(sp)
  8018a8:    94800204     addi    r18,r18,8
  8018ac:    a0fff20e     bge    r20,r3,801878 &lt;___vfprintf_internal_r+0x388&gt;
  8018b0:    d9019e17     ldw    r4,1656(sp)
  8018b4:    d8800404     addi    r2,sp,16
  8018b8:    11400204     addi    r5,r2,8
  8018bc:    08014980     call    801498 &lt;__sprint&gt;
  8018c0:    1002d61e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8018c4:    d8c00404     addi    r3,sp,16
  8018c8:    843ffc04     addi    r16,r16,-16
  8018cc:    1c800504     addi    r18,r3,20
  8018d0:    ac3feb16     blt    r21,r16,801880 &lt;___vfprintf_internal_r+0x390&gt;
  8018d4:    d8800817     ldw    r2,32(sp)
  8018d8:    d8c00717     ldw    r3,28(sp)
  8018dc:    01002074     movhi    r4,129
  8018e0:    2132f504     addi    r4,r4,-13356
  8018e4:    1405883a     add    r2,r2,r16
  8018e8:    18c00044     addi    r3,r3,1
  8018ec:    d8800815     stw    r2,32(sp)
  8018f0:    008001c4     movi    r2,7
  8018f4:    91000015     stw    r4,0(r18)
  8018f8:    94000115     stw    r16,4(r18)
  8018fc:    d8c00715     stw    r3,28(sp)
  801900:    94800204     addi    r18,r18,8
  801904:    10c38316     blt    r2,r3,802714 &lt;___vfprintf_internal_r+0x1224&gt;
  801908:    d8c19c03     ldbu    r3,1648(sp)
  80190c:    18803fcc     andi    r2,r3,255
  801910:    1080201c     xori    r2,r2,128
  801914:    10bfe004     addi    r2,r2,-128
  801918:    10021126     beq    r2,zero,802160 &lt;___vfprintf_internal_r+0xc70&gt;
  80191c:    d9000817     ldw    r4,32(sp)
  801920:    d9400717     ldw    r5,28(sp)
  801924:    d8819c04     addi    r2,sp,1648
  801928:    90800015     stw    r2,0(r18)
  80192c:    21000044     addi    r4,r4,1
  801930:    29400044     addi    r5,r5,1
  801934:    00c00044     movi    r3,1
  801938:    008001c4     movi    r2,7
  80193c:    90c00115     stw    r3,4(r18)
  801940:    d9000815     stw    r4,32(sp)
  801944:    94800204     addi    r18,r18,8
  801948:    d9400715     stw    r5,28(sp)
  80194c:    11431e16     blt    r2,r5,8025c8 &lt;___vfprintf_internal_r+0x10d8&gt;
  801950:    d8c1ab17     ldw    r3,1708(sp)
  801954:    00802004     movi    r2,128
  801958:    18821f26     beq    r3,r2,8021d8 &lt;___vfprintf_internal_r+0xce8&gt;
  80195c:    d8c1a717     ldw    r3,1692(sp)
  801960:    1de1c83a     sub    r16,r3,r23
  801964:    0400300e     bge    zero,r16,801a28 &lt;___vfprintf_internal_r+0x538&gt;
  801968:    04400404     movi    r17,16
  80196c:    8c001a0e     bge    r17,r16,8019d8 &lt;___vfprintf_internal_r+0x4e8&gt;
  801970:    882b883a     mov    r21,r17
  801974:    050001c4     movi    r20,7
  801978:    00000206     br    801984 &lt;___vfprintf_internal_r+0x494&gt;
  80197c:    843ffc04     addi    r16,r16,-16
  801980:    ac00150e     bge    r21,r16,8019d8 &lt;___vfprintf_internal_r+0x4e8&gt;
  801984:    d8800817     ldw    r2,32(sp)
  801988:    d8c00717     ldw    r3,28(sp)
  80198c:    01002074     movhi    r4,129
  801990:    2132f904     addi    r4,r4,-13340
  801994:    10800404     addi    r2,r2,16
  801998:    18c00044     addi    r3,r3,1
  80199c:    91000015     stw    r4,0(r18)
  8019a0:    94400115     stw    r17,4(r18)
  8019a4:    d8800815     stw    r2,32(sp)
  8019a8:    d8c00715     stw    r3,28(sp)
  8019ac:    94800204     addi    r18,r18,8
  8019b0:    a0fff20e     bge    r20,r3,80197c &lt;___vfprintf_internal_r+0x48c&gt;
  8019b4:    d9019e17     ldw    r4,1656(sp)
  8019b8:    d9c00404     addi    r7,sp,16
  8019bc:    39400204     addi    r5,r7,8
  8019c0:    08014980     call    801498 &lt;__sprint&gt;
  8019c4:    1002951e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8019c8:    d8800404     addi    r2,sp,16
  8019cc:    843ffc04     addi    r16,r16,-16
  8019d0:    14800504     addi    r18,r2,20
  8019d4:    ac3feb16     blt    r21,r16,801984 &lt;___vfprintf_internal_r+0x494&gt;
  8019d8:    d8800817     ldw    r2,32(sp)
  8019dc:    d8c00717     ldw    r3,28(sp)
  8019e0:    01002074     movhi    r4,129
  8019e4:    2132f904     addi    r4,r4,-13340
  8019e8:    1405883a     add    r2,r2,r16
  8019ec:    18c00044     addi    r3,r3,1
  8019f0:    d8800815     stw    r2,32(sp)
  8019f4:    008001c4     movi    r2,7
  8019f8:    91000015     stw    r4,0(r18)
  8019fc:    94000115     stw    r16,4(r18)
  801a00:    d8c00715     stw    r3,28(sp)
  801a04:    94800204     addi    r18,r18,8
  801a08:    10c0070e     bge    r2,r3,801a28 &lt;___vfprintf_internal_r+0x538&gt;
  801a0c:    d9019e17     ldw    r4,1656(sp)
  801a10:    d9c00404     addi    r7,sp,16
  801a14:    39400204     addi    r5,r7,8
  801a18:    08014980     call    801498 &lt;__sprint&gt;
  801a1c:    10027f1e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  801a20:    d8800404     addi    r2,sp,16
  801a24:    14800504     addi    r18,r2,20
  801a28:    d8c1a017     ldw    r3,1664(sp)
  801a2c:    04400044     movi    r17,1
  801a30:    1804d23a     srli    r2,r3,8
  801a34:    1444703a     and    r2,r2,r17
  801a38:    10021c1e     bne    r2,zero,8022ac &lt;___vfprintf_internal_r+0xdbc&gt;
  801a3c:    d8800817     ldw    r2,32(sp)
  801a40:    d8c00717     ldw    r3,28(sp)
  801a44:    94c00015     stw    r19,0(r18)
  801a48:    15c5883a     add    r2,r2,r23
  801a4c:    1c47883a     add    r3,r3,r17
  801a50:    d8800815     stw    r2,32(sp)
  801a54:    008001c4     movi    r2,7
  801a58:    95c00115     stw    r23,4(r18)
  801a5c:    d8c00715     stw    r3,28(sp)
  801a60:    94800204     addi    r18,r18,8
  801a64:    10c26216     blt    r2,r3,8023f0 &lt;___vfprintf_internal_r+0xf00&gt;
  801a68:    d8c1a017     ldw    r3,1664(sp)
  801a6c:    1804d0ba     srli    r2,r3,2
  801a70:    1080004c     andi    r2,r2,1
  801a74:    10003126     beq    r2,zero,801b3c &lt;___vfprintf_internal_r+0x64c&gt;
  801a78:    d941a217     ldw    r5,1672(sp)
  801a7c:    d901a817     ldw    r4,1696(sp)
  801a80:    2921c83a     sub    r16,r5,r4
  801a84:    04002d0e     bge    zero,r16,801b3c &lt;___vfprintf_internal_r+0x64c&gt;
  801a88:    04400404     movi    r17,16
  801a8c:    8c001a0e     bge    r17,r16,801af8 &lt;___vfprintf_internal_r+0x608&gt;
  801a90:    8829883a     mov    r20,r17
  801a94:    04c001c4     movi    r19,7
  801a98:    00000206     br    801aa4 &lt;___vfprintf_internal_r+0x5b4&gt;
  801a9c:    843ffc04     addi    r16,r16,-16
  801aa0:    a400150e     bge    r20,r16,801af8 &lt;___vfprintf_internal_r+0x608&gt;
  801aa4:    d8800817     ldw    r2,32(sp)
  801aa8:    d8c00717     ldw    r3,28(sp)
  801aac:    01c02074     movhi    r7,129
  801ab0:    39f2f504     addi    r7,r7,-13356
  801ab4:    10800404     addi    r2,r2,16
  801ab8:    18c00044     addi    r3,r3,1
  801abc:    91c00015     stw    r7,0(r18)
  801ac0:    94400115     stw    r17,4(r18)
  801ac4:    d8800815     stw    r2,32(sp)
  801ac8:    d8c00715     stw    r3,28(sp)
  801acc:    94800204     addi    r18,r18,8
  801ad0:    98fff20e     bge    r19,r3,801a9c &lt;___vfprintf_internal_r+0x5ac&gt;
  801ad4:    d9019e17     ldw    r4,1656(sp)
  801ad8:    d8800404     addi    r2,sp,16
  801adc:    11400204     addi    r5,r2,8
  801ae0:    08014980     call    801498 &lt;__sprint&gt;
  801ae4:    10024d1e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  801ae8:    d8c00404     addi    r3,sp,16
  801aec:    843ffc04     addi    r16,r16,-16
  801af0:    1c800504     addi    r18,r3,20
  801af4:    a43feb16     blt    r20,r16,801aa4 &lt;___vfprintf_internal_r+0x5b4&gt;
  801af8:    d8800817     ldw    r2,32(sp)
  801afc:    d8c00717     ldw    r3,28(sp)
  801b00:    01002074     movhi    r4,129
  801b04:    2132f504     addi    r4,r4,-13356
  801b08:    1405883a     add    r2,r2,r16
  801b0c:    18c00044     addi    r3,r3,1
  801b10:    d8800815     stw    r2,32(sp)
  801b14:    008001c4     movi    r2,7
  801b18:    91000015     stw    r4,0(r18)
  801b1c:    94000115     stw    r16,4(r18)
  801b20:    d8c00715     stw    r3,28(sp)
  801b24:    10c0050e     bge    r2,r3,801b3c &lt;___vfprintf_internal_r+0x64c&gt;
  801b28:    d9019e17     ldw    r4,1656(sp)
  801b2c:    d9c00404     addi    r7,sp,16
  801b30:    39400204     addi    r5,r7,8
  801b34:    08014980     call    801498 &lt;__sprint&gt;
  801b38:    1002381e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  801b3c:    d881a817     ldw    r2,1696(sp)
  801b40:    d8c1a217     ldw    r3,1672(sp)
  801b44:    10c0010e     bge    r2,r3,801b4c &lt;___vfprintf_internal_r+0x65c&gt;
  801b48:    1805883a     mov    r2,r3
  801b4c:    d901a117     ldw    r4,1668(sp)
  801b50:    2089883a     add    r4,r4,r2
  801b54:    d8800817     ldw    r2,32(sp)
  801b58:    d901a115     stw    r4,1668(sp)
  801b5c:    10023b1e     bne    r2,zero,80244c &lt;___vfprintf_internal_r+0xf5c&gt;
  801b60:    d8c1aa17     ldw    r3,1704(sp)
  801b64:    d8800404     addi    r2,sp,16
  801b68:    d8000715     stw    zero,28(sp)
  801b6c:    14800504     addi    r18,r2,20
  801b70:    183e8926     beq    r3,zero,801598 &lt;___vfprintf_internal_r+0xa8&gt;
  801b74:    1809883a     mov    r4,r3
  801b78:    0805dc80     call    805dc8 &lt;free&gt;
  801b7c:    d801aa15     stw    zero,1704(sp)
  801b80:    003e8506     br    801598 &lt;___vfprintf_internal_r+0xa8&gt;
  801b84:    8009883a     mov    r4,r16
  801b88:    880b883a     mov    r5,r17
  801b8c:    01800284     movi    r6,10
  801b90:    000f883a     mov    r7,zero
  801b94:    0807d400     call    807d40 &lt;__umoddi3&gt;
  801b98:    11000c04     addi    r4,r2,48
  801b9c:    9cffffc4     addi    r19,r19,-1
  801ba0:    99000005     stb    r4,0(r19)
  801ba4:    880b883a     mov    r5,r17
  801ba8:    8009883a     mov    r4,r16
  801bac:    01800284     movi    r6,10
  801bb0:    000f883a     mov    r7,zero
  801bb4:    08077e00     call    8077e0 &lt;__udivdi3&gt;
  801bb8:    1021883a     mov    r16,r2
  801bbc:    1823883a     mov    r17,r3
  801bc0:    88800068     cmpgeui    r2,r17,1
  801bc4:    103fef1e     bne    r2,zero,801b84 &lt;___vfprintf_internal_r+0x694&gt;
  801bc8:    8800021e     bne    r17,zero,801bd4 &lt;___vfprintf_internal_r+0x6e4&gt;
  801bcc:    00800244     movi    r2,9
  801bd0:    143fec36     bltu    r2,r16,801b84 &lt;___vfprintf_internal_r+0x694&gt;
  801bd4:    9cffffc4     addi    r19,r19,-1
  801bd8:    80800c04     addi    r2,r16,48
  801bdc:    98800005     stb    r2,0(r19)
  801be0:    d9400404     addi    r5,sp,16
  801be4:    2cc5c83a     sub    r2,r5,r19
  801be8:    15c06c04     addi    r23,r2,432
  801bec:    003f0c06     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  801bf0:    8008d0fa     srli    r4,r16,3
  801bf4:    880a977a     slli    r5,r17,29
  801bf8:    8806d0fa     srli    r3,r17,3
  801bfc:    818001cc     andi    r6,r16,7
  801c00:    2904b03a     or    r2,r5,r4
  801c04:    9cffffc4     addi    r19,r19,-1
  801c08:    31800c04     addi    r6,r6,48
  801c0c:    10c8b03a     or    r4,r2,r3
  801c10:    99800005     stb    r6,0(r19)
  801c14:    1021883a     mov    r16,r2
  801c18:    1823883a     mov    r17,r3
  801c1c:    203ff41e     bne    r4,zero,801bf0 &lt;___vfprintf_internal_r+0x700&gt;
  801c20:    d8c1a017     ldw    r3,1664(sp)
  801c24:    1880004c     andi    r2,r3,1
  801c28:    103fed26     beq    r2,zero,801be0 &lt;___vfprintf_internal_r+0x6f0&gt;
  801c2c:    00800c04     movi    r2,48
  801c30:    30bfeb26     beq    r6,r2,801be0 &lt;___vfprintf_internal_r+0x6f0&gt;
  801c34:    9cffffc4     addi    r19,r19,-1
  801c38:    003fe806     br    801bdc &lt;___vfprintf_internal_r+0x6ec&gt;
  801c3c:    d881a017     ldw    r2,1664(sp)
  801c40:    10800414     ori    r2,r2,16
  801c44:    d881a015     stw    r2,1664(sp)
  801c48:    d8c1a017     ldw    r3,1664(sp)
  801c4c:    1804d17a     srli    r2,r3,5
  801c50:    1080004c     andi    r2,r2,1
  801c54:    10030026     beq    r2,zero,802858 &lt;___vfprintf_internal_r+0x1368&gt;
  801c58:    d8819f17     ldw    r2,1660(sp)
  801c5c:    0007883a     mov    r3,zero
  801c60:    14000017     ldw    r16,0(r2)
  801c64:    14400117     ldw    r17,4(r2)
  801c68:    11000204     addi    r4,r2,8
  801c6c:    d9019f15     stw    r4,1660(sp)
  801c70:    003ed406     br    8017c4 &lt;___vfprintf_internal_r+0x2d4&gt;
  801c74:    d9c1a017     ldw    r7,1664(sp)
  801c78:    39c00414     ori    r7,r7,16
  801c7c:    d9c1a015     stw    r7,1664(sp)
  801c80:    d8c1a017     ldw    r3,1664(sp)
  801c84:    1804d17a     srli    r2,r3,5
  801c88:    1080004c     andi    r2,r2,1
  801c8c:    1002db26     beq    r2,zero,8027fc &lt;___vfprintf_internal_r+0x130c&gt;
  801c90:    d8819f17     ldw    r2,1660(sp)
  801c94:    14400117     ldw    r17,4(r2)
  801c98:    11000204     addi    r4,r2,8
  801c9c:    14000017     ldw    r16,0(r2)
  801ca0:    d9019f15     stw    r4,1660(sp)
  801ca4:    88011816     blt    r17,zero,802108 &lt;___vfprintf_internal_r+0xc18&gt;
  801ca8:    00c00044     movi    r3,1
  801cac:    003ec606     br    8017c8 &lt;___vfprintf_internal_r+0x2d8&gt;
  801cb0:    d8819f17     ldw    r2,1660(sp)
  801cb4:    d9c19f17     ldw    r7,1660(sp)
  801cb8:    10800017     ldw    r2,0(r2)
  801cbc:    39c00104     addi    r7,r7,4
  801cc0:    d9c19f15     stw    r7,1660(sp)
  801cc4:    d881a215     stw    r2,1672(sp)
  801cc8:    10010d0e     bge    r2,zero,802100 &lt;___vfprintf_internal_r+0xc10&gt;
  801ccc:    0085c83a     sub    r2,zero,r2
  801cd0:    d881a215     stw    r2,1672(sp)
  801cd4:    d881a017     ldw    r2,1664(sp)
  801cd8:    b1000003     ldbu    r4,0(r22)
  801cdc:    10800114     ori    r2,r2,4
  801ce0:    d881a015     stw    r2,1664(sp)
  801ce4:    003e5606     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  801ce8:    e001c426     beq    fp,zero,8023fc &lt;___vfprintf_internal_r+0xf0c&gt;
  801cec:    d9c00404     addi    r7,sp,16
  801cf0:    3cc01504     addi    r19,r7,84
  801cf4:    9f000005     stb    fp,0(r19)
  801cf8:    05c00044     movi    r23,1
  801cfc:    d8019c05     stb    zero,1648(sp)
  801d00:    003ec706     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  801d04:    d8819f17     ldw    r2,1660(sp)
  801d08:    14c00017     ldw    r19,0(r2)
  801d0c:    11400104     addi    r5,r2,4
  801d10:    d8019c05     stb    zero,1648(sp)
  801d14:    d9419f15     stw    r5,1660(sp)
  801d18:    9803e426     beq    r19,zero,802cac &lt;___vfprintf_internal_r+0x17bc&gt;
  801d1c:    008014c4     movi    r2,83
  801d20:    e0800426     beq    fp,r2,801d34 &lt;___vfprintf_internal_r+0x844&gt;
  801d24:    d9c1a017     ldw    r7,1664(sp)
  801d28:    3804d13a     srli    r2,r7,4
  801d2c:    1080004c     andi    r2,r2,1
  801d30:    10036026     beq    r2,zero,802ab4 &lt;___vfprintf_internal_r+0x15c4&gt;
  801d34:    d9019904     addi    r4,sp,1636
  801d38:    000b883a     mov    r5,zero
  801d3c:    01800204     movi    r6,8
  801d40:    dcc19b15     stw    r19,1644(sp)
  801d44:    0023883a     mov    r17,zero
  801d48:    002f883a     mov    r23,zero
  801d4c:    080606c0     call    80606c &lt;memset&gt;
  801d50:    a004ce16     blt    r20,zero,80308c &lt;___vfprintf_internal_r+0x1b9c&gt;
  801d54:    057fffc4     movi    r21,-1
  801d58:    880490ba     slli    r2,r17,2
  801d5c:    d8c19b17     ldw    r3,1644(sp)
  801d60:    10c5883a     add    r2,r2,r3
  801d64:    11800017     ldw    r6,0(r2)
  801d68:    30000b26     beq    r6,zero,801d98 &lt;___vfprintf_internal_r+0x8a8&gt;
  801d6c:    d9019d17     ldw    r4,1652(sp)
  801d70:    d8800404     addi    r2,sp,16
  801d74:    11401504     addi    r5,r2,84
  801d78:    d9c19904     addi    r7,sp,1636
  801d7c:    08032200     call    803220 &lt;_wcrtomb_r&gt;
  801d80:    1541a626     beq    r2,r21,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  801d84:    15c5883a     add    r2,r2,r23
  801d88:    a0800316     blt    r20,r2,801d98 &lt;___vfprintf_internal_r+0x8a8&gt;
  801d8c:    102f883a     mov    r23,r2
  801d90:    8c400044     addi    r17,r17,1
  801d94:    153ff01e     bne    r2,r20,801d58 &lt;___vfprintf_internal_r+0x868&gt;
  801d98:    b83ea126     beq    r23,zero,801820 &lt;___vfprintf_internal_r+0x330&gt;
  801d9c:    d9019d17     ldw    r4,1652(sp)
  801da0:    b9400044     addi    r5,r23,1
  801da4:    08009c00     call    8009c0 &lt;_malloc_r&gt;
  801da8:    d881aa15     stw    r2,1704(sp)
  801dac:    10019b26     beq    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  801db0:    d9019904     addi    r4,sp,1636
  801db4:    000b883a     mov    r5,zero
  801db8:    01800204     movi    r6,8
  801dbc:    080606c0     call    80606c &lt;memset&gt;
  801dc0:    d9019d17     ldw    r4,1652(sp)
  801dc4:    d941aa17     ldw    r5,1704(sp)
  801dc8:    d8819904     addi    r2,sp,1636
  801dcc:    b80f883a     mov    r7,r23
  801dd0:    d9819b04     addi    r6,sp,1644
  801dd4:    d8800015     stw    r2,0(sp)
  801dd8:    08032a80     call    8032a8 &lt;_wcsrtombs_r&gt;
  801ddc:    15c18f1e     bne    r2,r23,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  801de0:    d8c1aa17     ldw    r3,1704(sp)
  801de4:    1dc5883a     add    r2,r3,r23
  801de8:    1827883a     mov    r19,r3
  801dec:    10000005     stb    zero,0(r2)
  801df0:    003e8b06     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  801df4:    d8c1a017     ldw    r3,1664(sp)
  801df8:    1804d17a     srli    r2,r3,5
  801dfc:    1080004c     andi    r2,r2,1
  801e00:    10030426     beq    r2,zero,802a14 &lt;___vfprintf_internal_r+0x1524&gt;
  801e04:    d8819f17     ldw    r2,1660(sp)
  801e08:    d8c1a117     ldw    r3,1668(sp)
  801e0c:    11400017     ldw    r5,0(r2)
  801e10:    1809d7fa     srai    r4,r3,31
  801e14:    11c00104     addi    r7,r2,4
  801e18:    d9c19f15     stw    r7,1660(sp)
  801e1c:    29000115     stw    r4,4(r5)
  801e20:    28c00015     stw    r3,0(r5)
  801e24:    003ddc06     br    801598 &lt;___vfprintf_internal_r+0xa8&gt;
  801e28:    b7000007     ldb    fp,0(r22)
  801e2c:    00800a84     movi    r2,42
  801e30:    b5800044     addi    r22,r22,1
  801e34:    e084d726     beq    fp,r2,803194 &lt;___vfprintf_internal_r+0x1ca4&gt;
  801e38:    e0bff404     addi    r2,fp,-48
  801e3c:    00c00244     movi    r3,9
  801e40:    0021883a     mov    r16,zero
  801e44:    18800736     bltu    r3,r2,801e64 &lt;___vfprintf_internal_r+0x974&gt;
  801e48:    808002a4     muli    r2,r16,10
  801e4c:    1705883a     add    r2,r2,fp
  801e50:    b7000007     ldb    fp,0(r22)
  801e54:    143ff404     addi    r16,r2,-48
  801e58:    b5800044     addi    r22,r22,1
  801e5c:    e0bff404     addi    r2,fp,-48
  801e60:    18bff92e     bgeu    r3,r2,801e48 &lt;___vfprintf_internal_r+0x958&gt;
  801e64:    00bfffc4     movi    r2,-1
  801e68:    8029883a     mov    r20,r16
  801e6c:    80bdf80e     bge    r16,r2,801650 &lt;___vfprintf_internal_r+0x160&gt;
  801e70:    1029883a     mov    r20,r2
  801e74:    003df606     br    801650 &lt;___vfprintf_internal_r+0x160&gt;
  801e78:    b1000003     ldbu    r4,0(r22)
  801e7c:    00801b04     movi    r2,108
  801e80:    20c03fcc     andi    r3,r4,255
  801e84:    18c0201c     xori    r3,r3,128
  801e88:    18ffe004     addi    r3,r3,-128
  801e8c:    18835d26     beq    r3,r2,802c04 &lt;___vfprintf_internal_r+0x1714&gt;
  801e90:    d941a017     ldw    r5,1664(sp)
  801e94:    29400414     ori    r5,r5,16
  801e98:    d941a015     stw    r5,1664(sp)
  801e9c:    003de806     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  801ea0:    b1000003     ldbu    r4,0(r22)
  801ea4:    00800ac4     movi    r2,43
  801ea8:    d8819c05     stb    r2,1648(sp)
  801eac:    003de406     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  801eb0:    d9c1a017     ldw    r7,1664(sp)
  801eb4:    b1000003     ldbu    r4,0(r22)
  801eb8:    39c00814     ori    r7,r7,32
  801ebc:    d9c1a015     stw    r7,1664(sp)
  801ec0:    003ddf06     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  801ec4:    d8819f17     ldw    r2,1660(sp)
  801ec8:    01002074     movhi    r4,129
  801ecc:    21335d04     addi    r4,r4,-12940
  801ed0:    0023883a     mov    r17,zero
  801ed4:    11c00104     addi    r7,r2,4
  801ed8:    14000017     ldw    r16,0(r2)
  801edc:    d881a017     ldw    r2,1664(sp)
  801ee0:    00c00084     movi    r3,2
  801ee4:    07001e04     movi    fp,120
  801ee8:    10800094     ori    r2,r2,2
  801eec:    d9c19f15     stw    r7,1660(sp)
  801ef0:    d881a015     stw    r2,1664(sp)
  801ef4:    d901a915     stw    r4,1700(sp)
  801ef8:    003e3206     br    8017c4 &lt;___vfprintf_internal_r+0x2d4&gt;
  801efc:    d941a017     ldw    r5,1664(sp)
  801f00:    01002074     movhi    r4,129
  801f04:    21335d04     addi    r4,r4,-12940
  801f08:    d901a915     stw    r4,1700(sp)
  801f0c:    2804d17a     srli    r2,r5,5
  801f10:    1080004c     andi    r2,r2,1
  801f14:    10003526     beq    r2,zero,801fec &lt;___vfprintf_internal_r+0xafc&gt;
  801f18:    d8819f17     ldw    r2,1660(sp)
  801f1c:    14000017     ldw    r16,0(r2)
  801f20:    14400117     ldw    r17,4(r2)
  801f24:    11c00204     addi    r7,r2,8
  801f28:    d9c19f15     stw    r7,1660(sp)
  801f2c:    d8c1a017     ldw    r3,1664(sp)
  801f30:    1880004c     andi    r2,r3,1
  801f34:    00c00084     movi    r3,2
  801f38:    103e2226     beq    r2,zero,8017c4 &lt;___vfprintf_internal_r+0x2d4&gt;
  801f3c:    8444b03a     or    r2,r16,r17
  801f40:    103e2026     beq    r2,zero,8017c4 &lt;___vfprintf_internal_r+0x2d4&gt;
  801f44:    d901a017     ldw    r4,1664(sp)
  801f48:    21000094     ori    r4,r4,2
  801f4c:    d901a015     stw    r4,1664(sp)
  801f50:    003e1c06     br    8017c4 &lt;___vfprintf_internal_r+0x2d4&gt;
  801f54:    d941a017     ldw    r5,1664(sp)
  801f58:    b1000003     ldbu    r4,0(r22)
  801f5c:    29400054     ori    r5,r5,1
  801f60:    d941a015     stw    r5,1664(sp)
  801f64:    003db606     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  801f68:    d8800404     addi    r2,sp,16
  801f6c:    14c01504     addi    r19,r2,84
  801f70:    008010c4     movi    r2,67
  801f74:    e0800426     beq    fp,r2,801f88 &lt;___vfprintf_internal_r+0xa98&gt;
  801f78:    d8c1a017     ldw    r3,1664(sp)
  801f7c:    1804d13a     srli    r2,r3,4
  801f80:    1080004c     andi    r2,r2,1
  801f84:    1002c026     beq    r2,zero,802a88 &lt;___vfprintf_internal_r+0x1598&gt;
  801f88:    d9019204     addi    r4,sp,1608
  801f8c:    000b883a     mov    r5,zero
  801f90:    01800204     movi    r6,8
  801f94:    080606c0     call    80606c &lt;memset&gt;
  801f98:    d8c19f17     ldw    r3,1660(sp)
  801f9c:    d9019d17     ldw    r4,1652(sp)
  801fa0:    980b883a     mov    r5,r19
  801fa4:    19800017     ldw    r6,0(r3)
  801fa8:    d9c19204     addi    r7,sp,1608
  801fac:    08032200     call    803220 &lt;_wcrtomb_r&gt;
  801fb0:    d9019f17     ldw    r4,1660(sp)
  801fb4:    102f883a     mov    r23,r2
  801fb8:    00bfffc4     movi    r2,-1
  801fbc:    21000104     addi    r4,r4,4
  801fc0:    d9019f15     stw    r4,1660(sp)
  801fc4:    b8811526     beq    r23,r2,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  801fc8:    d8019c05     stb    zero,1648(sp)
  801fcc:    003e1406     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  801fd0:    d941a017     ldw    r5,1664(sp)
  801fd4:    00c02074     movhi    r3,129
  801fd8:    18f36204     addi    r3,r3,-12920
  801fdc:    d8c1a915     stw    r3,1700(sp)
  801fe0:    2804d17a     srli    r2,r5,5
  801fe4:    1080004c     andi    r2,r2,1
  801fe8:    103fcb1e     bne    r2,zero,801f18 &lt;___vfprintf_internal_r+0xa28&gt;
  801fec:    d8c1a017     ldw    r3,1664(sp)
  801ff0:    1804d13a     srli    r2,r3,4
  801ff4:    1080004c     andi    r2,r2,1
  801ff8:    10027c26     beq    r2,zero,8029ec &lt;___vfprintf_internal_r+0x14fc&gt;
  801ffc:    d8819f17     ldw    r2,1660(sp)
  802000:    0023883a     mov    r17,zero
  802004:    14000017     ldw    r16,0(r2)
  802008:    11000104     addi    r4,r2,4
  80200c:    d9019f15     stw    r4,1660(sp)
  802010:    003fc606     br    801f2c &lt;___vfprintf_internal_r+0xa3c&gt;
  802014:    d881a017     ldw    r2,1664(sp)
  802018:    b1000003     ldbu    r4,0(r22)
  80201c:    10801014     ori    r2,r2,64
  802020:    d881a015     stw    r2,1664(sp)
  802024:    003d8606     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  802028:    00bfffc4     movi    r2,-1
  80202c:    a082fb26     beq    r20,r2,802c1c &lt;___vfprintf_internal_r+0x172c&gt;
  802030:    008019c4     movi    r2,103
  802034:    e0829c26     beq    fp,r2,802aa8 &lt;___vfprintf_internal_r+0x15b8&gt;
  802038:    008011c4     movi    r2,71
  80203c:    e0829a26     beq    fp,r2,802aa8 &lt;___vfprintf_internal_r+0x15b8&gt;
  802040:    d9019f17     ldw    r4,1660(sp)
  802044:    20800017     ldw    r2,0(r4)
  802048:    20c00117     ldw    r3,4(r4)
  80204c:    21400204     addi    r5,r4,8
  802050:    d881a415     stw    r2,1680(sp)
  802054:    d8c1a515     stw    r3,1684(sp)
  802058:    d9419f15     stw    r5,1660(sp)
  80205c:    d901a417     ldw    r4,1680(sp)
  802060:    d941a517     ldw    r5,1684(sp)
  802064:    08075840     call    807584 &lt;isinf&gt;
  802068:    1002de26     beq    r2,zero,802be4 &lt;___vfprintf_internal_r+0x16f4&gt;
  80206c:    d901a417     ldw    r4,1680(sp)
  802070:    d941a517     ldw    r5,1684(sp)
  802074:    000d883a     mov    r6,zero
  802078:    000f883a     mov    r7,zero
  80207c:    0808ef00     call    808ef0 &lt;__ltdf2&gt;
  802080:    10002a16     blt    r2,zero,80212c &lt;___vfprintf_internal_r+0xc3c&gt;
  802084:    04c02074     movhi    r19,129
  802088:    9cf36704     addi    r19,r19,-12900
  80208c:    05c000c4     movi    r23,3
  802090:    003de306     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  802094:    d9c1a017     ldw    r7,1664(sp)
  802098:    b1000003     ldbu    r4,0(r22)
  80209c:    39c00214     ori    r7,r7,8
  8020a0:    d9c1a015     stw    r7,1664(sp)
  8020a4:    003d6606     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  8020a8:    d8819c07     ldb    r2,1648(sp)
  8020ac:    1000141e     bne    r2,zero,802100 &lt;___vfprintf_internal_r+0xc10&gt;
  8020b0:    b1000003     ldbu    r4,0(r22)
  8020b4:    00800804     movi    r2,32
  8020b8:    d8819c05     stb    r2,1648(sp)
  8020bc:    003d6006     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  8020c0:    0021883a     mov    r16,zero
  8020c4:    00c00244     movi    r3,9
  8020c8:    808002a4     muli    r2,r16,10
  8020cc:    1705883a     add    r2,r2,fp
  8020d0:    b7000007     ldb    fp,0(r22)
  8020d4:    143ff404     addi    r16,r2,-48
  8020d8:    b5800044     addi    r22,r22,1
  8020dc:    e0bff404     addi    r2,fp,-48
  8020e0:    18bff92e     bgeu    r3,r2,8020c8 &lt;___vfprintf_internal_r+0xbd8&gt;
  8020e4:    dc01a215     stw    r16,1672(sp)
  8020e8:    003d5906     br    801650 &lt;___vfprintf_internal_r+0x160&gt;
  8020ec:    d941a017     ldw    r5,1664(sp)
  8020f0:    b1000003     ldbu    r4,0(r22)
  8020f4:    29402014     ori    r5,r5,128
  8020f8:    d941a015     stw    r5,1664(sp)
  8020fc:    003d5006     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  802100:    b1000003     ldbu    r4,0(r22)
  802104:    003d4e06     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  802108:    880b883a     mov    r5,r17
  80210c:    8009883a     mov    r4,r16
  802110:    08077c00     call    8077c0 &lt;__negdi2&gt;
  802114:    1021883a     mov    r16,r2
  802118:    1823883a     mov    r17,r3
  80211c:    00800b44     movi    r2,45
  802120:    00c00044     movi    r3,1
  802124:    d8819c05     stb    r2,1648(sp)
  802128:    003da706     br    8017c8 &lt;___vfprintf_internal_r+0x2d8&gt;
  80212c:    00800b44     movi    r2,45
  802130:    04c02074     movhi    r19,129
  802134:    9cf36704     addi    r19,r19,-12900
  802138:    d8819c05     stb    r2,1648(sp)
  80213c:    003fd306     br    80208c &lt;___vfprintf_internal_r+0xb9c&gt;
  802140:    d941a017     ldw    r5,1664(sp)
  802144:    2804d07a     srli    r2,r5,1
  802148:    1080004c     andi    r2,r2,1
  80214c:    103dbd26     beq    r2,zero,801844 &lt;___vfprintf_internal_r+0x354&gt;
  802150:    d9c1a817     ldw    r7,1696(sp)
  802154:    39c00084     addi    r7,r7,2
  802158:    d9c1a815     stw    r7,1696(sp)
  80215c:    003db906     br    801844 &lt;___vfprintf_internal_r+0x354&gt;
  802160:    d941a017     ldw    r5,1664(sp)
  802164:    2804d07a     srli    r2,r5,1
  802168:    1080004c     andi    r2,r2,1
  80216c:    103df826     beq    r2,zero,801950 &lt;___vfprintf_internal_r+0x460&gt;
  802170:    d9000817     ldw    r4,32(sp)
  802174:    d9400717     ldw    r5,28(sp)
  802178:    00800c04     movi    r2,48
  80217c:    d9c00404     addi    r7,sp,16
  802180:    d8807005     stb    r2,448(sp)
  802184:    df007045     stb    fp,449(sp)
  802188:    38806c04     addi    r2,r7,432
  80218c:    90800015     stw    r2,0(r18)
  802190:    21000084     addi    r4,r4,2
  802194:    29400044     addi    r5,r5,1
  802198:    00c00084     movi    r3,2
  80219c:    008001c4     movi    r2,7
  8021a0:    90c00115     stw    r3,4(r18)
  8021a4:    d9000815     stw    r4,32(sp)
  8021a8:    94800204     addi    r18,r18,8
  8021ac:    d9400715     stw    r5,28(sp)
  8021b0:    117de70e     bge    r2,r5,801950 &lt;___vfprintf_internal_r+0x460&gt;
  8021b4:    d9019e17     ldw    r4,1656(sp)
  8021b8:    39400204     addi    r5,r7,8
  8021bc:    08014980     call    801498 &lt;__sprint&gt;
  8021c0:    1000961e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8021c4:    d8c1ab17     ldw    r3,1708(sp)
  8021c8:    d8800404     addi    r2,sp,16
  8021cc:    14800504     addi    r18,r2,20
  8021d0:    00802004     movi    r2,128
  8021d4:    18bde11e     bne    r3,r2,80195c &lt;___vfprintf_internal_r+0x46c&gt;
  8021d8:    d941a217     ldw    r5,1672(sp)
  8021dc:    d901a817     ldw    r4,1696(sp)
  8021e0:    2921c83a     sub    r16,r5,r4
  8021e4:    043ddd0e     bge    zero,r16,80195c &lt;___vfprintf_internal_r+0x46c&gt;
  8021e8:    04400404     movi    r17,16
  8021ec:    8c001a0e     bge    r17,r16,802258 &lt;___vfprintf_internal_r+0xd68&gt;
  8021f0:    882b883a     mov    r21,r17
  8021f4:    050001c4     movi    r20,7
  8021f8:    00000206     br    802204 &lt;___vfprintf_internal_r+0xd14&gt;
  8021fc:    843ffc04     addi    r16,r16,-16
  802200:    ac00150e     bge    r21,r16,802258 &lt;___vfprintf_internal_r+0xd68&gt;
  802204:    d8800817     ldw    r2,32(sp)
  802208:    d8c00717     ldw    r3,28(sp)
  80220c:    01c02074     movhi    r7,129
  802210:    39f2f904     addi    r7,r7,-13340
  802214:    10800404     addi    r2,r2,16
  802218:    18c00044     addi    r3,r3,1
  80221c:    91c00015     stw    r7,0(r18)
  802220:    94400115     stw    r17,4(r18)
  802224:    d8800815     stw    r2,32(sp)
  802228:    d8c00715     stw    r3,28(sp)
  80222c:    94800204     addi    r18,r18,8
  802230:    a0fff20e     bge    r20,r3,8021fc &lt;___vfprintf_internal_r+0xd0c&gt;
  802234:    d9019e17     ldw    r4,1656(sp)
  802238:    d8800404     addi    r2,sp,16
  80223c:    11400204     addi    r5,r2,8
  802240:    08014980     call    801498 &lt;__sprint&gt;
  802244:    1000751e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802248:    d8c00404     addi    r3,sp,16
  80224c:    843ffc04     addi    r16,r16,-16
  802250:    1c800504     addi    r18,r3,20
  802254:    ac3feb16     blt    r21,r16,802204 &lt;___vfprintf_internal_r+0xd14&gt;
  802258:    d8800817     ldw    r2,32(sp)
  80225c:    d8c00717     ldw    r3,28(sp)
  802260:    01002074     movhi    r4,129
  802264:    2132f904     addi    r4,r4,-13340
  802268:    1405883a     add    r2,r2,r16
  80226c:    18c00044     addi    r3,r3,1
  802270:    d8800815     stw    r2,32(sp)
  802274:    008001c4     movi    r2,7
  802278:    91000015     stw    r4,0(r18)
  80227c:    94000115     stw    r16,4(r18)
  802280:    d8c00715     stw    r3,28(sp)
  802284:    94800204     addi    r18,r18,8
  802288:    10fdb40e     bge    r2,r3,80195c &lt;___vfprintf_internal_r+0x46c&gt;
  80228c:    d9019e17     ldw    r4,1656(sp)
  802290:    d9c00404     addi    r7,sp,16
  802294:    39400204     addi    r5,r7,8
  802298:    08014980     call    801498 &lt;__sprint&gt;
  80229c:    10005f1e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8022a0:    d8800404     addi    r2,sp,16
  8022a4:    14800504     addi    r18,r2,20
  8022a8:    003dac06     br    80195c &lt;___vfprintf_internal_r+0x46c&gt;
  8022ac:    00801944     movi    r2,101
  8022b0:    17006c0e     bge    r2,fp,802464 &lt;___vfprintf_internal_r+0xf74&gt;
  8022b4:    d901a417     ldw    r4,1680(sp)
  8022b8:    d941a517     ldw    r5,1684(sp)
  8022bc:    000d883a     mov    r6,zero
  8022c0:    000f883a     mov    r7,zero
  8022c4:    0808cc00     call    808cc0 &lt;__eqdf2&gt;
  8022c8:    1000c71e     bne    r2,zero,8025e8 &lt;___vfprintf_internal_r+0x10f8&gt;
  8022cc:    d8800817     ldw    r2,32(sp)
  8022d0:    d9000717     ldw    r4,28(sp)
  8022d4:    00c02074     movhi    r3,129
  8022d8:    18f36804     addi    r3,r3,-12896
  8022dc:    10800044     addi    r2,r2,1
  8022e0:    21000044     addi    r4,r4,1
  8022e4:    04c001c4     movi    r19,7
  8022e8:    90c00015     stw    r3,0(r18)
  8022ec:    94400115     stw    r17,4(r18)
  8022f0:    d8800815     stw    r2,32(sp)
  8022f4:    d9000715     stw    r4,28(sp)
  8022f8:    94800204     addi    r18,r18,8
  8022fc:    9901da16     blt    r19,r4,802a68 &lt;___vfprintf_internal_r+0x1578&gt;
  802300:    dc019617     ldw    r16,1624(sp)
  802304:    d8819517     ldw    r2,1620(sp)
  802308:    14000316     blt    r2,r16,802318 &lt;___vfprintf_internal_r+0xe28&gt;
  80230c:    d941a017     ldw    r5,1664(sp)
  802310:    2880004c     andi    r2,r5,1
  802314:    103dd426     beq    r2,zero,801a68 &lt;___vfprintf_internal_r+0x578&gt;
  802318:    d8800817     ldw    r2,32(sp)
  80231c:    d8c00717     ldw    r3,28(sp)
  802320:    d9c1a317     ldw    r7,1676(sp)
  802324:    10800044     addi    r2,r2,1
  802328:    18c00044     addi    r3,r3,1
  80232c:    94400115     stw    r17,4(r18)
  802330:    91c00015     stw    r7,0(r18)
  802334:    d8800815     stw    r2,32(sp)
  802338:    d8c00715     stw    r3,28(sp)
  80233c:    94800204     addi    r18,r18,8
  802340:    98c1e716     blt    r19,r3,802ae0 &lt;___vfprintf_internal_r+0x15f0&gt;
  802344:    843fffc4     addi    r16,r16,-1
  802348:    043dc70e     bge    zero,r16,801a68 &lt;___vfprintf_internal_r+0x578&gt;
  80234c:    04400404     movi    r17,16
  802350:    8c001a0e     bge    r17,r16,8023bc &lt;___vfprintf_internal_r+0xecc&gt;
  802354:    9829883a     mov    r20,r19
  802358:    8827883a     mov    r19,r17
  80235c:    00000206     br    802368 &lt;___vfprintf_internal_r+0xe78&gt;
  802360:    843ffc04     addi    r16,r16,-16
  802364:    9c00150e     bge    r19,r16,8023bc &lt;___vfprintf_internal_r+0xecc&gt;
  802368:    d8800817     ldw    r2,32(sp)
  80236c:    d8c00717     ldw    r3,28(sp)
  802370:    01002074     movhi    r4,129
  802374:    2132f904     addi    r4,r4,-13340
  802378:    10800404     addi    r2,r2,16
  80237c:    18c00044     addi    r3,r3,1
  802380:    91000015     stw    r4,0(r18)
  802384:    94400115     stw    r17,4(r18)
  802388:    d8800815     stw    r2,32(sp)
  80238c:    d8c00715     stw    r3,28(sp)
  802390:    94800204     addi    r18,r18,8
  802394:    a0fff20e     bge    r20,r3,802360 &lt;___vfprintf_internal_r+0xe70&gt;
  802398:    d9019e17     ldw    r4,1656(sp)
  80239c:    d9c00404     addi    r7,sp,16
  8023a0:    39400204     addi    r5,r7,8
  8023a4:    08014980     call    801498 &lt;__sprint&gt;
  8023a8:    10001c1e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8023ac:    d8800404     addi    r2,sp,16
  8023b0:    843ffc04     addi    r16,r16,-16
  8023b4:    14800504     addi    r18,r2,20
  8023b8:    9c3feb16     blt    r19,r16,802368 &lt;___vfprintf_internal_r+0xe78&gt;
  8023bc:    d8800817     ldw    r2,32(sp)
  8023c0:    d8c00717     ldw    r3,28(sp)
  8023c4:    01002074     movhi    r4,129
  8023c8:    2132f904     addi    r4,r4,-13340
  8023cc:    1405883a     add    r2,r2,r16
  8023d0:    18c00044     addi    r3,r3,1
  8023d4:    d8800815     stw    r2,32(sp)
  8023d8:    008001c4     movi    r2,7
  8023dc:    91000015     stw    r4,0(r18)
  8023e0:    94000115     stw    r16,4(r18)
  8023e4:    d8c00715     stw    r3,28(sp)
  8023e8:    94800204     addi    r18,r18,8
  8023ec:    10fd9e0e     bge    r2,r3,801a68 &lt;___vfprintf_internal_r+0x578&gt;
  8023f0:    d9019e17     ldw    r4,1656(sp)
  8023f4:    d9c00404     addi    r7,sp,16
  8023f8:    00005306     br    802548 &lt;___vfprintf_internal_r+0x1058&gt;
  8023fc:    d8800817     ldw    r2,32(sp)
  802400:    10000526     beq    r2,zero,802418 &lt;___vfprintf_internal_r+0xf28&gt;
  802404:    d9000404     addi    r4,sp,16
  802408:    21400204     addi    r5,r4,8
  80240c:    d9019e17     ldw    r4,1656(sp)
  802410:    08014980     call    801498 &lt;__sprint&gt;
  802414:    1000011e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802418:    d8000715     stw    zero,28(sp)
  80241c:    d941aa17     ldw    r5,1704(sp)
  802420:    28000226     beq    r5,zero,80242c &lt;___vfprintf_internal_r+0xf3c&gt;
  802424:    2809883a     mov    r4,r5
  802428:    0805dc80     call    805dc8 &lt;free&gt;
  80242c:    d9c19e17     ldw    r7,1656(sp)
  802430:    d8c1a117     ldw    r3,1668(sp)
  802434:    3880030b     ldhu    r2,12(r7)
  802438:    1004d1ba     srli    r2,r2,6
  80243c:    1080004c     andi    r2,r2,1
  802440:    103cbe26     beq    r2,zero,80173c &lt;___vfprintf_internal_r+0x24c&gt;
  802444:    00ffffc4     movi    r3,-1
  802448:    003cbc06     br    80173c &lt;___vfprintf_internal_r+0x24c&gt;
  80244c:    d9019e17     ldw    r4,1656(sp)
  802450:    d9c00404     addi    r7,sp,16
  802454:    39400204     addi    r5,r7,8
  802458:    08014980     call    801498 &lt;__sprint&gt;
  80245c:    103dc026     beq    r2,zero,801b60 &lt;___vfprintf_internal_r+0x670&gt;
  802460:    003fee06     br    80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802464:    dc019617     ldw    r16,1624(sp)
  802468:    8c000316     blt    r17,r16,802478 &lt;___vfprintf_internal_r+0xf88&gt;
  80246c:    d941a017     ldw    r5,1664(sp)
  802470:    2880004c     andi    r2,r5,1
  802474:    10010326     beq    r2,zero,802884 &lt;___vfprintf_internal_r+0x1394&gt;
  802478:    98800003     ldbu    r2,0(r19)
  80247c:    d9000817     ldw    r4,32(sp)
  802480:    d9400717     ldw    r5,28(sp)
  802484:    00c00b84     movi    r3,46
  802488:    d9c00404     addi    r7,sp,16
  80248c:    d8807005     stb    r2,448(sp)
  802490:    d8c07045     stb    r3,449(sp)
  802494:    21000084     addi    r4,r4,2
  802498:    29400044     addi    r5,r5,1
  80249c:    38c06c04     addi    r3,r7,432
  8024a0:    00800084     movi    r2,2
  8024a4:    050001c4     movi    r20,7
  8024a8:    90c00015     stw    r3,0(r18)
  8024ac:    90800115     stw    r2,4(r18)
  8024b0:    d9000815     stw    r4,32(sp)
  8024b4:    9cc00044     addi    r19,r19,1
  8024b8:    94800204     addi    r18,r18,8
  8024bc:    d9400715     stw    r5,28(sp)
  8024c0:    04400404     movi    r17,16
  8024c4:    a1410216     blt    r20,r5,8028d0 &lt;___vfprintf_internal_r+0x13e0&gt;
  8024c8:    d901a417     ldw    r4,1680(sp)
  8024cc:    d941a517     ldw    r5,1684(sp)
  8024d0:    000d883a     mov    r6,zero
  8024d4:    000f883a     mov    r7,zero
  8024d8:    0808d4c0     call    808d4c &lt;__nedf2&gt;
  8024dc:    10009626     beq    r2,zero,802738 &lt;___vfprintf_internal_r+0x1248&gt;
  8024e0:    d8c00817     ldw    r3,32(sp)
  8024e4:    d9000717     ldw    r4,28(sp)
  8024e8:    80bfffc4     addi    r2,r16,-1
  8024ec:    1c07883a     add    r3,r3,r16
  8024f0:    18ffffc4     addi    r3,r3,-1
  8024f4:    21000044     addi    r4,r4,1
  8024f8:    94c00015     stw    r19,0(r18)
  8024fc:    90800115     stw    r2,4(r18)
  802500:    d8c00815     stw    r3,32(sp)
  802504:    94800204     addi    r18,r18,8
  802508:    d9000715     stw    r4,28(sp)
  80250c:    a100e816     blt    r20,r4,8028b0 &lt;___vfprintf_internal_r+0x13c0&gt;
  802510:    d8800817     ldw    r2,32(sp)
  802514:    d941a617     ldw    r5,1688(sp)
  802518:    d8c00717     ldw    r3,28(sp)
  80251c:    d9c00404     addi    r7,sp,16
  802520:    1145883a     add    r2,r2,r5
  802524:    18c00044     addi    r3,r3,1
  802528:    d8800815     stw    r2,32(sp)
  80252c:    008001c4     movi    r2,7
  802530:    91c00015     stw    r7,0(r18)
  802534:    91400115     stw    r5,4(r18)
  802538:    d8c00715     stw    r3,28(sp)
  80253c:    94800204     addi    r18,r18,8
  802540:    10fd490e     bge    r2,r3,801a68 &lt;___vfprintf_internal_r+0x578&gt;
  802544:    d9019e17     ldw    r4,1656(sp)
  802548:    39400204     addi    r5,r7,8
  80254c:    08014980     call    801498 &lt;__sprint&gt;
  802550:    103fb21e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802554:    d8800404     addi    r2,sp,16
  802558:    14800504     addi    r18,r2,20
  80255c:    003d4206     br    801a68 &lt;___vfprintf_internal_r+0x578&gt;
  802560:    00800084     movi    r2,2
  802564:    18bca91e     bne    r3,r2,80180c &lt;___vfprintf_internal_r+0x31c&gt;
  802568:    d9c1a917     ldw    r7,1700(sp)
  80256c:    800ad13a     srli    r5,r16,4
  802570:    880c973a     slli    r6,r17,28
  802574:    810003cc     andi    r4,r16,15
  802578:    21c9883a     add    r4,r4,r7
  80257c:    8806d13a     srli    r3,r17,4
  802580:    3144b03a     or    r2,r6,r5
  802584:    21400003     ldbu    r5,0(r4)
  802588:    9cffffc4     addi    r19,r19,-1
  80258c:    10c8b03a     or    r4,r2,r3
  802590:    1021883a     mov    r16,r2
  802594:    1823883a     mov    r17,r3
  802598:    99400005     stb    r5,0(r19)
  80259c:    203ff21e     bne    r4,zero,802568 &lt;___vfprintf_internal_r+0x1078&gt;
  8025a0:    003d8f06     br    801be0 &lt;___vfprintf_internal_r+0x6f0&gt;
  8025a4:    18803fcc     andi    r2,r3,255
  8025a8:    103d8d1e     bne    r2,zero,801be0 &lt;___vfprintf_internal_r+0x6f0&gt;
  8025ac:    d8c1a017     ldw    r3,1664(sp)
  8025b0:    1880004c     andi    r2,r3,1
  8025b4:    103d8a26     beq    r2,zero,801be0 &lt;___vfprintf_internal_r+0x6f0&gt;
  8025b8:    d9000404     addi    r4,sp,16
  8025bc:    24c06bc4     addi    r19,r4,431
  8025c0:    00800c04     movi    r2,48
  8025c4:    003d8506     br    801bdc &lt;___vfprintf_internal_r+0x6ec&gt;
  8025c8:    d9019e17     ldw    r4,1656(sp)
  8025cc:    d8c00404     addi    r3,sp,16
  8025d0:    19400204     addi    r5,r3,8
  8025d4:    08014980     call    801498 &lt;__sprint&gt;
  8025d8:    103f901e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8025dc:    d9000404     addi    r4,sp,16
  8025e0:    24800504     addi    r18,r4,20
  8025e4:    003cda06     br    801950 &lt;___vfprintf_internal_r+0x460&gt;
  8025e8:    d9819517     ldw    r6,1620(sp)
  8025ec:    0181450e     bge    zero,r6,802b04 &lt;___vfprintf_internal_r+0x1614&gt;
  8025f0:    dc019617     ldw    r16,1624(sp)
  8025f4:    3400be16     blt    r6,r16,8028f0 &lt;___vfprintf_internal_r+0x1400&gt;
  8025f8:    d8800817     ldw    r2,32(sp)
  8025fc:    d8c00717     ldw    r3,28(sp)
  802600:    050001c4     movi    r20,7
  802604:    1405883a     add    r2,r2,r16
  802608:    18c00044     addi    r3,r3,1
  80260c:    94c00015     stw    r19,0(r18)
  802610:    94000115     stw    r16,4(r18)
  802614:    d8800815     stw    r2,32(sp)
  802618:    d8c00715     stw    r3,28(sp)
  80261c:    94800204     addi    r18,r18,8
  802620:    a0c1a616     blt    r20,r3,802cbc &lt;___vfprintf_internal_r+0x17cc&gt;
  802624:    3421c83a     sub    r16,r6,r16
  802628:    0400280e     bge    zero,r16,8026cc &lt;___vfprintf_internal_r+0x11dc&gt;
  80262c:    04400404     movi    r17,16
  802630:    8c00190e     bge    r17,r16,802698 &lt;___vfprintf_internal_r+0x11a8&gt;
  802634:    8827883a     mov    r19,r17
  802638:    00000206     br    802644 &lt;___vfprintf_internal_r+0x1154&gt;
  80263c:    843ffc04     addi    r16,r16,-16
  802640:    9c00150e     bge    r19,r16,802698 &lt;___vfprintf_internal_r+0x11a8&gt;
  802644:    00c02074     movhi    r3,129
  802648:    18f2f904     addi    r3,r3,-13340
  80264c:    90c00015     stw    r3,0(r18)
  802650:    d8800817     ldw    r2,32(sp)
  802654:    d8c00717     ldw    r3,28(sp)
  802658:    94400115     stw    r17,4(r18)
  80265c:    10800404     addi    r2,r2,16
  802660:    18c00044     addi    r3,r3,1
  802664:    d8800815     stw    r2,32(sp)
  802668:    d8c00715     stw    r3,28(sp)
  80266c:    94800204     addi    r18,r18,8
  802670:    a0fff20e     bge    r20,r3,80263c &lt;___vfprintf_internal_r+0x114c&gt;
  802674:    d9019e17     ldw    r4,1656(sp)
  802678:    d9c00404     addi    r7,sp,16
  80267c:    39400204     addi    r5,r7,8
  802680:    08014980     call    801498 &lt;__sprint&gt;
  802684:    103f651e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802688:    d8800404     addi    r2,sp,16
  80268c:    843ffc04     addi    r16,r16,-16
  802690:    14800504     addi    r18,r2,20
  802694:    9c3feb16     blt    r19,r16,802644 &lt;___vfprintf_internal_r+0x1154&gt;
  802698:    d8800817     ldw    r2,32(sp)
  80269c:    d8c00717     ldw    r3,28(sp)
  8026a0:    01002074     movhi    r4,129
  8026a4:    2132f904     addi    r4,r4,-13340
  8026a8:    1405883a     add    r2,r2,r16
  8026ac:    18c00044     addi    r3,r3,1
  8026b0:    d8800815     stw    r2,32(sp)
  8026b4:    008001c4     movi    r2,7
  8026b8:    91000015     stw    r4,0(r18)
  8026bc:    94000115     stw    r16,4(r18)
  8026c0:    d8c00715     stw    r3,28(sp)
  8026c4:    94800204     addi    r18,r18,8
  8026c8:    10c1fa16     blt    r2,r3,802eb4 &lt;___vfprintf_internal_r+0x19c4&gt;
  8026cc:    d8c1a017     ldw    r3,1664(sp)
  8026d0:    1880004c     andi    r2,r3,1
  8026d4:    103ce426     beq    r2,zero,801a68 &lt;___vfprintf_internal_r+0x578&gt;
  8026d8:    d9000817     ldw    r4,32(sp)
  8026dc:    d9400717     ldw    r5,28(sp)
  8026e0:    00800044     movi    r2,1
  8026e4:    90800115     stw    r2,4(r18)
  8026e8:    21000044     addi    r4,r4,1
  8026ec:    29400044     addi    r5,r5,1
  8026f0:    00c02074     movhi    r3,129
  8026f4:    18f36904     addi    r3,r3,-12892
  8026f8:    008001c4     movi    r2,7
  8026fc:    90c00015     stw    r3,0(r18)
  802700:    d9000815     stw    r4,32(sp)
  802704:    94800204     addi    r18,r18,8
  802708:    d9400715     stw    r5,28(sp)
  80270c:    117cd60e     bge    r2,r5,801a68 &lt;___vfprintf_internal_r+0x578&gt;
  802710:    003f3706     br    8023f0 &lt;___vfprintf_internal_r+0xf00&gt;
  802714:    d9019e17     ldw    r4,1656(sp)
  802718:    d9c00404     addi    r7,sp,16
  80271c:    39400204     addi    r5,r7,8
  802720:    08014980     call    801498 &lt;__sprint&gt;
  802724:    103f3d1e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802728:    d8c19c03     ldbu    r3,1648(sp)
  80272c:    d8800404     addi    r2,sp,16
  802730:    14800504     addi    r18,r2,20
  802734:    003c7506     br    80190c &lt;___vfprintf_internal_r+0x41c&gt;
  802738:    843fffc4     addi    r16,r16,-1
  80273c:    043f740e     bge    zero,r16,802510 &lt;___vfprintf_internal_r+0x1020&gt;
  802740:    8c00190e     bge    r17,r16,8027a8 &lt;___vfprintf_internal_r+0x12b8&gt;
  802744:    a027883a     mov    r19,r20
  802748:    00000206     br    802754 &lt;___vfprintf_internal_r+0x1264&gt;
  80274c:    843ffc04     addi    r16,r16,-16
  802750:    8c00150e     bge    r17,r16,8027a8 &lt;___vfprintf_internal_r+0x12b8&gt;
  802754:    d8800817     ldw    r2,32(sp)
  802758:    d8c00717     ldw    r3,28(sp)
  80275c:    01402074     movhi    r5,129
  802760:    2972f904     addi    r5,r5,-13340
  802764:    10800404     addi    r2,r2,16
  802768:    18c00044     addi    r3,r3,1
  80276c:    91400015     stw    r5,0(r18)
  802770:    94400115     stw    r17,4(r18)
  802774:    d8800815     stw    r2,32(sp)
  802778:    d8c00715     stw    r3,28(sp)
  80277c:    94800204     addi    r18,r18,8
  802780:    98fff20e     bge    r19,r3,80274c &lt;___vfprintf_internal_r+0x125c&gt;
  802784:    d9019e17     ldw    r4,1656(sp)
  802788:    d9c00404     addi    r7,sp,16
  80278c:    39400204     addi    r5,r7,8
  802790:    08014980     call    801498 &lt;__sprint&gt;
  802794:    103f211e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802798:    d8800404     addi    r2,sp,16
  80279c:    843ffc04     addi    r16,r16,-16
  8027a0:    14800504     addi    r18,r2,20
  8027a4:    8c3feb16     blt    r17,r16,802754 &lt;___vfprintf_internal_r+0x1264&gt;
  8027a8:    d8800817     ldw    r2,32(sp)
  8027ac:    d8c00717     ldw    r3,28(sp)
  8027b0:    01002074     movhi    r4,129
  8027b4:    2132f904     addi    r4,r4,-13340
  8027b8:    1405883a     add    r2,r2,r16
  8027bc:    18c00044     addi    r3,r3,1
  8027c0:    d8800815     stw    r2,32(sp)
  8027c4:    008001c4     movi    r2,7
  8027c8:    91000015     stw    r4,0(r18)
  8027cc:    94000115     stw    r16,4(r18)
  8027d0:    d8c00715     stw    r3,28(sp)
  8027d4:    94800204     addi    r18,r18,8
  8027d8:    10ff4d0e     bge    r2,r3,802510 &lt;___vfprintf_internal_r+0x1020&gt;
  8027dc:    d9019e17     ldw    r4,1656(sp)
  8027e0:    d9c00404     addi    r7,sp,16
  8027e4:    39400204     addi    r5,r7,8
  8027e8:    08014980     call    801498 &lt;__sprint&gt;
  8027ec:    103f0b1e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8027f0:    d8800404     addi    r2,sp,16
  8027f4:    14800504     addi    r18,r2,20
  8027f8:    003f4506     br    802510 &lt;___vfprintf_internal_r+0x1020&gt;
  8027fc:    d941a017     ldw    r5,1664(sp)
  802800:    2804d13a     srli    r2,r5,4
  802804:    1080004c     andi    r2,r2,1
  802808:    10006526     beq    r2,zero,8029a0 &lt;___vfprintf_internal_r+0x14b0&gt;
  80280c:    d8819f17     ldw    r2,1660(sp)
  802810:    10c00017     ldw    r3,0(r2)
  802814:    11c00104     addi    r7,r2,4
  802818:    d9c19f15     stw    r7,1660(sp)
  80281c:    1823d7fa     srai    r17,r3,31
  802820:    1821883a     mov    r16,r3
  802824:    883d200e     bge    r17,zero,801ca8 &lt;___vfprintf_internal_r+0x7b8&gt;
  802828:    003e3706     br    802108 &lt;___vfprintf_internal_r+0xc18&gt;
  80282c:    d8c1a017     ldw    r3,1664(sp)
  802830:    1804d13a     srli    r2,r3,4
  802834:    1080004c     andi    r2,r2,1
  802838:    10008126     beq    r2,zero,802a40 &lt;___vfprintf_internal_r+0x1550&gt;
  80283c:    d8819f17     ldw    r2,1660(sp)
  802840:    0023883a     mov    r17,zero
  802844:    14000017     ldw    r16,0(r2)
  802848:    11000104     addi    r4,r2,4
  80284c:    d9019f15     stw    r4,1660(sp)
  802850:    00c00044     movi    r3,1
  802854:    003bdb06     br    8017c4 &lt;___vfprintf_internal_r+0x2d4&gt;
  802858:    d941a017     ldw    r5,1664(sp)
  80285c:    2804d13a     srli    r2,r5,4
  802860:    1080004c     andi    r2,r2,1
  802864:    10005726     beq    r2,zero,8029c4 &lt;___vfprintf_internal_r+0x14d4&gt;
  802868:    d8819f17     ldw    r2,1660(sp)
  80286c:    0023883a     mov    r17,zero
  802870:    14000017     ldw    r16,0(r2)
  802874:    11c00104     addi    r7,r2,4
  802878:    d9c19f15     stw    r7,1660(sp)
  80287c:    0007883a     mov    r3,zero
  802880:    003bd006     br    8017c4 &lt;___vfprintf_internal_r+0x2d4&gt;
  802884:    d8800817     ldw    r2,32(sp)
  802888:    d8c00717     ldw    r3,28(sp)
  80288c:    94c00015     stw    r19,0(r18)
  802890:    10800044     addi    r2,r2,1
  802894:    18c00044     addi    r3,r3,1
  802898:    d8800815     stw    r2,32(sp)
  80289c:    008001c4     movi    r2,7
  8028a0:    94400115     stw    r17,4(r18)
  8028a4:    d8c00715     stw    r3,28(sp)
  8028a8:    94800204     addi    r18,r18,8
  8028ac:    10ff180e     bge    r2,r3,802510 &lt;___vfprintf_internal_r+0x1020&gt;
  8028b0:    d9019e17     ldw    r4,1656(sp)
  8028b4:    d8c00404     addi    r3,sp,16
  8028b8:    19400204     addi    r5,r3,8
  8028bc:    08014980     call    801498 &lt;__sprint&gt;
  8028c0:    103ed61e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8028c4:    d9000404     addi    r4,sp,16
  8028c8:    24800504     addi    r18,r4,20
  8028cc:    003f1006     br    802510 &lt;___vfprintf_internal_r+0x1020&gt;
  8028d0:    d9019e17     ldw    r4,1656(sp)
  8028d4:    39400204     addi    r5,r7,8
  8028d8:    08014980     call    801498 &lt;__sprint&gt;
  8028dc:    103ecf1e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8028e0:    dc019617     ldw    r16,1624(sp)
  8028e4:    dc45883a     add    r2,sp,r17
  8028e8:    14800504     addi    r18,r2,20
  8028ec:    003ef606     br    8024c8 &lt;___vfprintf_internal_r+0xfd8&gt;
  8028f0:    d8800817     ldw    r2,32(sp)
  8028f4:    d8c00717     ldw    r3,28(sp)
  8028f8:    040001c4     movi    r16,7
  8028fc:    1185883a     add    r2,r2,r6
  802900:    18c00044     addi    r3,r3,1
  802904:    94c00015     stw    r19,0(r18)
  802908:    91800115     stw    r6,4(r18)
  80290c:    d8800815     stw    r2,32(sp)
  802910:    d8c00715     stw    r3,28(sp)
  802914:    94800204     addi    r18,r18,8
  802918:    80c0fb16     blt    r16,r3,802d08 &lt;___vfprintf_internal_r+0x1818&gt;
  80291c:    d8800817     ldw    r2,32(sp)
  802920:    d9000717     ldw    r4,28(sp)
  802924:    00c02074     movhi    r3,129
  802928:    18f36904     addi    r3,r3,-12892
  80292c:    10800044     addi    r2,r2,1
  802930:    21000044     addi    r4,r4,1
  802934:    90c00015     stw    r3,0(r18)
  802938:    94400115     stw    r17,4(r18)
  80293c:    d8800815     stw    r2,32(sp)
  802940:    99a7883a     add    r19,r19,r6
  802944:    94800204     addi    r18,r18,8
  802948:    d9000715     stw    r4,28(sp)
  80294c:    8100e516     blt    r16,r4,802ce4 &lt;___vfprintf_internal_r+0x17f4&gt;
  802950:    d8819617     ldw    r2,1624(sp)
  802954:    d8c00817     ldw    r3,32(sp)
  802958:    d9000717     ldw    r4,28(sp)
  80295c:    1185c83a     sub    r2,r2,r6
  802960:    1887883a     add    r3,r3,r2
  802964:    21000044     addi    r4,r4,1
  802968:    94c00015     stw    r19,0(r18)
  80296c:    90800115     stw    r2,4(r18)
  802970:    d8c00815     stw    r3,32(sp)
  802974:    d9000715     stw    r4,28(sp)
  802978:    94800204     addi    r18,r18,8
  80297c:    813c3a0e     bge    r16,r4,801a68 &lt;___vfprintf_internal_r+0x578&gt;
  802980:    d9019e17     ldw    r4,1656(sp)
  802984:    d8c00404     addi    r3,sp,16
  802988:    19400204     addi    r5,r3,8
  80298c:    08014980     call    801498 &lt;__sprint&gt;
  802990:    103ea21e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802994:    d9000404     addi    r4,sp,16
  802998:    24800504     addi    r18,r4,20
  80299c:    003c3206     br    801a68 &lt;___vfprintf_internal_r+0x578&gt;
  8029a0:    d8c1a017     ldw    r3,1664(sp)
  8029a4:    1804d1ba     srli    r2,r3,6
  8029a8:    1080004c     andi    r2,r2,1
  8029ac:    1000a326     beq    r2,zero,802c3c &lt;___vfprintf_internal_r+0x174c&gt;
  8029b0:    d8819f17     ldw    r2,1660(sp)
  8029b4:    10c0000f     ldh    r3,0(r2)
  8029b8:    11000104     addi    r4,r2,4
  8029bc:    d9019f15     stw    r4,1660(sp)
  8029c0:    003f9606     br    80281c &lt;___vfprintf_internal_r+0x132c&gt;
  8029c4:    d8c1a017     ldw    r3,1664(sp)
  8029c8:    1804d1ba     srli    r2,r3,6
  8029cc:    1080004c     andi    r2,r2,1
  8029d0:    1000b026     beq    r2,zero,802c94 &lt;___vfprintf_internal_r+0x17a4&gt;
  8029d4:    d8819f17     ldw    r2,1660(sp)
  8029d8:    0023883a     mov    r17,zero
  8029dc:    1400000b     ldhu    r16,0(r2)
  8029e0:    11000104     addi    r4,r2,4
  8029e4:    d9019f15     stw    r4,1660(sp)
  8029e8:    003fa406     br    80287c &lt;___vfprintf_internal_r+0x138c&gt;
  8029ec:    d941a017     ldw    r5,1664(sp)
  8029f0:    2804d1ba     srli    r2,r5,6
  8029f4:    1080004c     andi    r2,r2,1
  8029f8:    10008a26     beq    r2,zero,802c24 &lt;___vfprintf_internal_r+0x1734&gt;
  8029fc:    d8819f17     ldw    r2,1660(sp)
  802a00:    0023883a     mov    r17,zero
  802a04:    1400000b     ldhu    r16,0(r2)
  802a08:    11c00104     addi    r7,r2,4
  802a0c:    d9c19f15     stw    r7,1660(sp)
  802a10:    003d4606     br    801f2c &lt;___vfprintf_internal_r+0xa3c&gt;
  802a14:    d8c1a017     ldw    r3,1664(sp)
  802a18:    1804d13a     srli    r2,r3,4
  802a1c:    1080004c     andi    r2,r2,1
  802a20:    10008b26     beq    r2,zero,802c50 &lt;___vfprintf_internal_r+0x1760&gt;
  802a24:    d8819f17     ldw    r2,1660(sp)
  802a28:    d941a117     ldw    r5,1668(sp)
  802a2c:    10c00017     ldw    r3,0(r2)
  802a30:    11000104     addi    r4,r2,4
  802a34:    d9019f15     stw    r4,1660(sp)
  802a38:    19400015     stw    r5,0(r3)
  802a3c:    003ad606     br    801598 &lt;___vfprintf_internal_r+0xa8&gt;
  802a40:    d941a017     ldw    r5,1664(sp)
  802a44:    2804d1ba     srli    r2,r5,6
  802a48:    1080004c     andi    r2,r2,1
  802a4c:    10008b26     beq    r2,zero,802c7c &lt;___vfprintf_internal_r+0x178c&gt;
  802a50:    d8819f17     ldw    r2,1660(sp)
  802a54:    0023883a     mov    r17,zero
  802a58:    1400000b     ldhu    r16,0(r2)
  802a5c:    11c00104     addi    r7,r2,4
  802a60:    d9c19f15     stw    r7,1660(sp)
  802a64:    003f7a06     br    802850 &lt;___vfprintf_internal_r+0x1360&gt;
  802a68:    d9019e17     ldw    r4,1656(sp)
  802a6c:    d8c00404     addi    r3,sp,16
  802a70:    19400204     addi    r5,r3,8
  802a74:    08014980     call    801498 &lt;__sprint&gt;
  802a78:    103e681e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802a7c:    d9000404     addi    r4,sp,16
  802a80:    24800504     addi    r18,r4,20
  802a84:    003e1e06     br    802300 &lt;___vfprintf_internal_r+0xe10&gt;
  802a88:    d8819f17     ldw    r2,1660(sp)
  802a8c:    05c00044     movi    r23,1
  802a90:    10c00017     ldw    r3,0(r2)
  802a94:    11400104     addi    r5,r2,4
  802a98:    d9419f15     stw    r5,1660(sp)
  802a9c:    98c00005     stb    r3,0(r19)
  802aa0:    d8019c05     stb    zero,1648(sp)
  802aa4:    003b5e06     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  802aa8:    a03d651e     bne    r20,zero,802040 &lt;___vfprintf_internal_r+0xb50&gt;
  802aac:    05000044     movi    r20,1
  802ab0:    003d6306     br    802040 &lt;___vfprintf_internal_r+0xb50&gt;
  802ab4:    a03b5716     blt    r20,zero,801814 &lt;___vfprintf_internal_r+0x324&gt;
  802ab8:    9809883a     mov    r4,r19
  802abc:    000b883a     mov    r5,zero
  802ac0:    a00d883a     mov    r6,r20
  802ac4:    0805ddc0     call    805ddc &lt;memchr&gt;
  802ac8:    a02f883a     mov    r23,r20
  802acc:    103b5426     beq    r2,zero,801820 &lt;___vfprintf_internal_r+0x330&gt;
  802ad0:    14efc83a     sub    r23,r2,r19
  802ad4:    a5fb520e     bge    r20,r23,801820 &lt;___vfprintf_internal_r+0x330&gt;
  802ad8:    a02f883a     mov    r23,r20
  802adc:    003b5006     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  802ae0:    d9019e17     ldw    r4,1656(sp)
  802ae4:    d8800404     addi    r2,sp,16
  802ae8:    11400204     addi    r5,r2,8
  802aec:    08014980     call    801498 &lt;__sprint&gt;
  802af0:    103e4a1e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802af4:    dc019617     ldw    r16,1624(sp)
  802af8:    d8c00404     addi    r3,sp,16
  802afc:    1c800504     addi    r18,r3,20
  802b00:    003e1006     br    802344 &lt;___vfprintf_internal_r+0xe54&gt;
  802b04:    d8800817     ldw    r2,32(sp)
  802b08:    d9000717     ldw    r4,28(sp)
  802b0c:    00c02074     movhi    r3,129
  802b10:    18f36804     addi    r3,r3,-12896
  802b14:    10800044     addi    r2,r2,1
  802b18:    21000044     addi    r4,r4,1
  802b1c:    050001c4     movi    r20,7
  802b20:    90c00015     stw    r3,0(r18)
  802b24:    94400115     stw    r17,4(r18)
  802b28:    d8800815     stw    r2,32(sp)
  802b2c:    d9000715     stw    r4,28(sp)
  802b30:    94800204     addi    r18,r18,8
  802b34:    a100ee16     blt    r20,r4,802ef0 &lt;___vfprintf_internal_r+0x1a00&gt;
  802b38:    3000021e     bne    r6,zero,802b44 &lt;___vfprintf_internal_r+0x1654&gt;
  802b3c:    d8819617     ldw    r2,1624(sp)
  802b40:    103bc926     beq    r2,zero,801a68 &lt;___vfprintf_internal_r+0x578&gt;
  802b44:    d8800817     ldw    r2,32(sp)
  802b48:    d8c00717     ldw    r3,28(sp)
  802b4c:    d941a317     ldw    r5,1676(sp)
  802b50:    10800044     addi    r2,r2,1
  802b54:    18c00044     addi    r3,r3,1
  802b58:    94400115     stw    r17,4(r18)
  802b5c:    91400015     stw    r5,0(r18)
  802b60:    d8800815     stw    r2,32(sp)
  802b64:    d8c00715     stw    r3,28(sp)
  802b68:    94800204     addi    r18,r18,8
  802b6c:    a0c13416     blt    r20,r3,803040 &lt;___vfprintf_internal_r+0x1b50&gt;
  802b70:    01a1c83a     sub    r16,zero,r6
  802b74:    0400f40e     bge    zero,r16,802f48 &lt;___vfprintf_internal_r+0x1a58&gt;
  802b78:    04400404     movi    r17,16
  802b7c:    8c00e50e     bge    r17,r16,802f14 &lt;___vfprintf_internal_r+0x1a24&gt;
  802b80:    a02b883a     mov    r21,r20
  802b84:    8829883a     mov    r20,r17
  802b88:    00000206     br    802b94 &lt;___vfprintf_internal_r+0x16a4&gt;
  802b8c:    843ffc04     addi    r16,r16,-16
  802b90:    a400e00e     bge    r20,r16,802f14 &lt;___vfprintf_internal_r+0x1a24&gt;
  802b94:    00c02074     movhi    r3,129
  802b98:    18f2f904     addi    r3,r3,-13340
  802b9c:    90c00015     stw    r3,0(r18)
  802ba0:    d8800817     ldw    r2,32(sp)
  802ba4:    d8c00717     ldw    r3,28(sp)
  802ba8:    94400115     stw    r17,4(r18)
  802bac:    10800404     addi    r2,r2,16
  802bb0:    18c00044     addi    r3,r3,1
  802bb4:    d8800815     stw    r2,32(sp)
  802bb8:    d8c00715     stw    r3,28(sp)
  802bbc:    94800204     addi    r18,r18,8
  802bc0:    a8fff20e     bge    r21,r3,802b8c &lt;___vfprintf_internal_r+0x169c&gt;
  802bc4:    d9019e17     ldw    r4,1656(sp)
  802bc8:    d9c00404     addi    r7,sp,16
  802bcc:    39400204     addi    r5,r7,8
  802bd0:    08014980     call    801498 &lt;__sprint&gt;
  802bd4:    103e111e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802bd8:    d8800404     addi    r2,sp,16
  802bdc:    14800504     addi    r18,r2,20
  802be0:    003fea06     br    802b8c &lt;___vfprintf_internal_r+0x169c&gt;
  802be4:    d901a417     ldw    r4,1680(sp)
  802be8:    d941a517     ldw    r5,1684(sp)
  802bec:    08075c80     call    8075c8 &lt;isnan&gt;
  802bf0:    10004e26     beq    r2,zero,802d2c &lt;___vfprintf_internal_r+0x183c&gt;
  802bf4:    04c02074     movhi    r19,129
  802bf8:    9cf36a04     addi    r19,r19,-12888
  802bfc:    05c000c4     movi    r23,3
  802c00:    003b0706     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  802c04:    d8c1a017     ldw    r3,1664(sp)
  802c08:    b5800044     addi    r22,r22,1
  802c0c:    b1000003     ldbu    r4,0(r22)
  802c10:    18c00814     ori    r3,r3,32
  802c14:    d8c1a015     stw    r3,1664(sp)
  802c18:    003a8906     br    801640 &lt;___vfprintf_internal_r+0x150&gt;
  802c1c:    05000184     movi    r20,6
  802c20:    003d0706     br    802040 &lt;___vfprintf_internal_r+0xb50&gt;
  802c24:    d8819f17     ldw    r2,1660(sp)
  802c28:    0023883a     mov    r17,zero
  802c2c:    14000017     ldw    r16,0(r2)
  802c30:    10800104     addi    r2,r2,4
  802c34:    d8819f15     stw    r2,1660(sp)
  802c38:    003cbc06     br    801f2c &lt;___vfprintf_internal_r+0xa3c&gt;
  802c3c:    d8819f17     ldw    r2,1660(sp)
  802c40:    10c00017     ldw    r3,0(r2)
  802c44:    11400104     addi    r5,r2,4
  802c48:    d9419f15     stw    r5,1660(sp)
  802c4c:    003ef306     br    80281c &lt;___vfprintf_internal_r+0x132c&gt;
  802c50:    d9c1a017     ldw    r7,1664(sp)
  802c54:    3804d1ba     srli    r2,r7,6
  802c58:    1080004c     andi    r2,r2,1
  802c5c:    10009d26     beq    r2,zero,802ed4 &lt;___vfprintf_internal_r+0x19e4&gt;
  802c60:    d8819f17     ldw    r2,1660(sp)
  802c64:    d901a117     ldw    r4,1668(sp)
  802c68:    10c00017     ldw    r3,0(r2)
  802c6c:    10800104     addi    r2,r2,4
  802c70:    d8819f15     stw    r2,1660(sp)
  802c74:    1900000d     sth    r4,0(r3)
  802c78:    003a4706     br    801598 &lt;___vfprintf_internal_r+0xa8&gt;
  802c7c:    d8819f17     ldw    r2,1660(sp)
  802c80:    0023883a     mov    r17,zero
  802c84:    14000017     ldw    r16,0(r2)
  802c88:    10800104     addi    r2,r2,4
  802c8c:    d8819f15     stw    r2,1660(sp)
  802c90:    003eef06     br    802850 &lt;___vfprintf_internal_r+0x1360&gt;
  802c94:    d8819f17     ldw    r2,1660(sp)
  802c98:    0023883a     mov    r17,zero
  802c9c:    14000017     ldw    r16,0(r2)
  802ca0:    11400104     addi    r5,r2,4
  802ca4:    d9419f15     stw    r5,1660(sp)
  802ca8:    003ef406     br    80287c &lt;___vfprintf_internal_r+0x138c&gt;
  802cac:    04c02074     movhi    r19,129
  802cb0:    9cf36b04     addi    r19,r19,-12884
  802cb4:    05c00184     movi    r23,6
  802cb8:    003ad906     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  802cbc:    d9019e17     ldw    r4,1656(sp)
  802cc0:    d9c00404     addi    r7,sp,16
  802cc4:    39400204     addi    r5,r7,8
  802cc8:    08014980     call    801498 &lt;__sprint&gt;
  802ccc:    103dd31e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802cd0:    d9819517     ldw    r6,1620(sp)
  802cd4:    dc019617     ldw    r16,1624(sp)
  802cd8:    d8800404     addi    r2,sp,16
  802cdc:    14800504     addi    r18,r2,20
  802ce0:    003e5006     br    802624 &lt;___vfprintf_internal_r+0x1134&gt;
  802ce4:    d9019e17     ldw    r4,1656(sp)
  802ce8:    d9c00404     addi    r7,sp,16
  802cec:    39400204     addi    r5,r7,8
  802cf0:    08014980     call    801498 &lt;__sprint&gt;
  802cf4:    103dc91e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802cf8:    d9819517     ldw    r6,1620(sp)
  802cfc:    d8800404     addi    r2,sp,16
  802d00:    14800504     addi    r18,r2,20
  802d04:    003f1206     br    802950 &lt;___vfprintf_internal_r+0x1460&gt;
  802d08:    d9019e17     ldw    r4,1656(sp)
  802d0c:    d8c00404     addi    r3,sp,16
  802d10:    19400204     addi    r5,r3,8
  802d14:    08014980     call    801498 &lt;__sprint&gt;
  802d18:    103dc01e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802d1c:    d9819517     ldw    r6,1620(sp)
  802d20:    d9000404     addi    r4,sp,16
  802d24:    24800504     addi    r18,r4,20
  802d28:    003efc06     br    80291c &lt;___vfprintf_internal_r+0x142c&gt;
  802d2c:    d881a417     ldw    r2,1680(sp)
  802d30:    d8c1a017     ldw    r3,1664(sp)
  802d34:    d901a517     ldw    r4,1684(sp)
  802d38:    1021883a     mov    r16,r2
  802d3c:    18c04014     ori    r3,r3,256
  802d40:    00801984     movi    r2,102
  802d44:    d8c1a015     stw    r3,1664(sp)
  802d48:    2023883a     mov    r17,r4
  802d4c:    a02f883a     mov    r23,r20
  802d50:    d9819404     addi    r6,sp,1616
  802d54:    01c000c4     movi    r7,3
  802d58:    e0800526     beq    fp,r2,802d70 &lt;___vfprintf_internal_r+0x1880&gt;
  802d5c:    00801944     movi    r2,101
  802d60:    e0808626     beq    fp,r2,802f7c &lt;___vfprintf_internal_r+0x1a8c&gt;
  802d64:    00801144     movi    r2,69
  802d68:    e0808426     beq    fp,r2,802f7c &lt;___vfprintf_internal_r+0x1a8c&gt;
  802d6c:    01c00084     movi    r7,2
  802d70:    8800e316     blt    r17,zero,803100 &lt;___vfprintf_internal_r+0x1c10&gt;
  802d74:    30000005     stb    zero,0(r6)
  802d78:    d9019d17     ldw    r4,1652(sp)
  802d7c:    d8819704     addi    r2,sp,1628
  802d80:    d8800215     stw    r2,8(sp)
  802d84:    d8c19804     addi    r3,sp,1632
  802d88:    d8819504     addi    r2,sp,1620
  802d8c:    800b883a     mov    r5,r16
  802d90:    880d883a     mov    r6,r17
  802d94:    d8c00315     stw    r3,12(sp)
  802d98:    ddc00015     stw    r23,0(sp)
  802d9c:    d8800115     stw    r2,4(sp)
  802da0:    0803c500     call    803c50 &lt;_dtoa_r&gt;
  802da4:    102b883a     mov    r21,r2
  802da8:    008019c4     movi    r2,103
  802dac:    e0808d26     beq    fp,r2,802fe4 &lt;___vfprintf_internal_r+0x1af4&gt;
  802db0:    008011c4     movi    r2,71
  802db4:    e0808b26     beq    fp,r2,802fe4 &lt;___vfprintf_internal_r+0x1af4&gt;
  802db8:    00801984     movi    r2,102
  802dbc:    ade7883a     add    r19,r21,r23
  802dc0:    e080be26     beq    fp,r2,8030bc &lt;___vfprintf_internal_r+0x1bcc&gt;
  802dc4:    000d883a     mov    r6,zero
  802dc8:    000f883a     mov    r7,zero
  802dcc:    880b883a     mov    r5,r17
  802dd0:    8009883a     mov    r4,r16
  802dd4:    0808cc00     call    808cc0 &lt;__eqdf2&gt;
  802dd8:    1000a21e     bne    r2,zero,803064 &lt;___vfprintf_internal_r+0x1b74&gt;
  802ddc:    9805883a     mov    r2,r19
  802de0:    dcc19815     stw    r19,1632(sp)
  802de4:    14c0052e     bgeu    r2,r19,802dfc &lt;___vfprintf_internal_r+0x190c&gt;
  802de8:    00c00c04     movi    r3,48
  802dec:    10c00005     stb    r3,0(r2)
  802df0:    10800044     addi    r2,r2,1
  802df4:    d8819815     stw    r2,1632(sp)
  802df8:    14fffc36     bltu    r2,r19,802dec &lt;___vfprintf_internal_r+0x18fc&gt;
  802dfc:    1545c83a     sub    r2,r2,r21
  802e00:    00c019c4     movi    r3,103
  802e04:    d8819615     stw    r2,1624(sp)
  802e08:    a827883a     mov    r19,r21
  802e0c:    e0c06c26     beq    fp,r3,802fc0 &lt;___vfprintf_internal_r+0x1ad0&gt;
  802e10:    008011c4     movi    r2,71
  802e14:    e0806a26     beq    fp,r2,802fc0 &lt;___vfprintf_internal_r+0x1ad0&gt;
  802e18:    d9819517     ldw    r6,1620(sp)
  802e1c:    00801944     movi    r2,101
  802e20:    17005916     blt    r2,fp,802f88 &lt;___vfprintf_internal_r+0x1a98&gt;
  802e24:    31bfffc4     addi    r6,r6,-1
  802e28:    d9819515     stw    r6,1620(sp)
  802e2c:    df000405     stb    fp,16(sp)
  802e30:    3023883a     mov    r17,r6
  802e34:    dd000444     addi    r20,sp,17
  802e38:    3000cb16     blt    r6,zero,803168 &lt;___vfprintf_internal_r+0x1c78&gt;
  802e3c:    00800ac4     movi    r2,43
  802e40:    a0800005     stb    r2,0(r20)
  802e44:    d9000404     addi    r4,sp,16
  802e48:    00800244     movi    r2,9
  802e4c:    dd000484     addi    r20,sp,18
  802e50:    24018e04     addi    r16,r4,1592
  802e54:    1440680e     bge    r2,r17,802ff8 &lt;___vfprintf_internal_r+0x1b08&gt;
  802e58:    102b883a     mov    r21,r2
  802e5c:    8809883a     mov    r4,r17
  802e60:    01400284     movi    r5,10
  802e64:    08091ac0     call    8091ac &lt;__modsi3&gt;
  802e68:    10800c04     addi    r2,r2,48
  802e6c:    843fffc4     addi    r16,r16,-1
  802e70:    8809883a     mov    r4,r17
  802e74:    01400284     movi    r5,10
  802e78:    80800005     stb    r2,0(r16)
  802e7c:    080915c0     call    80915c &lt;__divsi3&gt;
  802e80:    1023883a     mov    r17,r2
  802e84:    a8bff516     blt    r21,r2,802e5c &lt;___vfprintf_internal_r+0x196c&gt;
  802e88:    843fffc4     addi    r16,r16,-1
  802e8c:    10800c04     addi    r2,r2,48
  802e90:    d9c00404     addi    r7,sp,16
  802e94:    39418e04     addi    r5,r7,1592
  802e98:    80800005     stb    r2,0(r16)
  802e9c:    81405c2e     bgeu    r16,r5,803010 &lt;___vfprintf_internal_r+0x1b20&gt;
  802ea0:    80800003     ldbu    r2,0(r16)
  802ea4:    84000044     addi    r16,r16,1
  802ea8:    a0800005     stb    r2,0(r20)
  802eac:    a5000044     addi    r20,r20,1
  802eb0:    003ffa06     br    802e9c &lt;___vfprintf_internal_r+0x19ac&gt;
  802eb4:    d9019e17     ldw    r4,1656(sp)
  802eb8:    d9c00404     addi    r7,sp,16
  802ebc:    39400204     addi    r5,r7,8
  802ec0:    08014980     call    801498 &lt;__sprint&gt;
  802ec4:    103d551e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802ec8:    d8800404     addi    r2,sp,16
  802ecc:    14800504     addi    r18,r2,20
  802ed0:    003dfe06     br    8026cc &lt;___vfprintf_internal_r+0x11dc&gt;
  802ed4:    d8819f17     ldw    r2,1660(sp)
  802ed8:    d9c1a117     ldw    r7,1668(sp)
  802edc:    10c00017     ldw    r3,0(r2)
  802ee0:    11400104     addi    r5,r2,4
  802ee4:    d9419f15     stw    r5,1660(sp)
  802ee8:    19c00015     stw    r7,0(r3)
  802eec:    0039aa06     br    801598 &lt;___vfprintf_internal_r+0xa8&gt;
  802ef0:    d9019e17     ldw    r4,1656(sp)
  802ef4:    d8c00404     addi    r3,sp,16
  802ef8:    19400204     addi    r5,r3,8
  802efc:    08014980     call    801498 &lt;__sprint&gt;
  802f00:    103d461e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  802f04:    d9819517     ldw    r6,1620(sp)
  802f08:    d9000404     addi    r4,sp,16
  802f0c:    24800504     addi    r18,r4,20
  802f10:    003f0906     br    802b38 &lt;___vfprintf_internal_r+0x1648&gt;
  802f14:    d8800817     ldw    r2,32(sp)
  802f18:    d8c00717     ldw    r3,28(sp)
  802f1c:    01002074     movhi    r4,129
  802f20:    2132f904     addi    r4,r4,-13340
  802f24:    1405883a     add    r2,r2,r16
  802f28:    18c00044     addi    r3,r3,1
  802f2c:    d8800815     stw    r2,32(sp)
  802f30:    008001c4     movi    r2,7
  802f34:    91000015     stw    r4,0(r18)
  802f38:    94000115     stw    r16,4(r18)
  802f3c:    d8c00715     stw    r3,28(sp)
  802f40:    94800204     addi    r18,r18,8
  802f44:    10c04916     blt    r2,r3,80306c &lt;___vfprintf_internal_r+0x1b7c&gt;
  802f48:    d9019617     ldw    r4,1624(sp)
  802f4c:    d8800817     ldw    r2,32(sp)
  802f50:    d8c00717     ldw    r3,28(sp)
  802f54:    94c00015     stw    r19,0(r18)
  802f58:    1105883a     add    r2,r2,r4
  802f5c:    18c00044     addi    r3,r3,1
  802f60:    d8800815     stw    r2,32(sp)
  802f64:    008001c4     movi    r2,7
  802f68:    91000115     stw    r4,4(r18)
  802f6c:    d8c00715     stw    r3,28(sp)
  802f70:    94800204     addi    r18,r18,8
  802f74:    10fabc0e     bge    r2,r3,801a68 &lt;___vfprintf_internal_r+0x578&gt;
  802f78:    003e8106     br    802980 &lt;___vfprintf_internal_r+0x1490&gt;
  802f7c:    a5c00044     addi    r23,r20,1
  802f80:    01c00084     movi    r7,2
  802f84:    003f7a06     br    802d70 &lt;___vfprintf_internal_r+0x1880&gt;
  802f88:    00801984     movi    r2,102
  802f8c:    e0806d26     beq    fp,r2,803144 &lt;___vfprintf_internal_r+0x1c54&gt;
  802f90:    d8819617     ldw    r2,1624(sp)
  802f94:    30806416     blt    r6,r2,803128 &lt;___vfprintf_internal_r+0x1c38&gt;
  802f98:    d9c1a017     ldw    r7,1664(sp)
  802f9c:    302f883a     mov    r23,r6
  802fa0:    3880004c     andi    r2,r7,1
  802fa4:    10000126     beq    r2,zero,802fac &lt;___vfprintf_internal_r+0x1abc&gt;
  802fa8:    35c00044     addi    r23,r6,1
  802fac:    d8819407     ldb    r2,1616(sp)
  802fb0:    103a1b26     beq    r2,zero,801820 &lt;___vfprintf_internal_r+0x330&gt;
  802fb4:    00800b44     movi    r2,45
  802fb8:    d8819c05     stb    r2,1648(sp)
  802fbc:    003a1806     br    801820 &lt;___vfprintf_internal_r+0x330&gt;
  802fc0:    d9819517     ldw    r6,1620(sp)
  802fc4:    00bfff04     movi    r2,-4
  802fc8:    1180010e     bge    r2,r6,802fd0 &lt;___vfprintf_internal_r+0x1ae0&gt;
  802fcc:    a1805b0e     bge    r20,r6,80313c &lt;___vfprintf_internal_r+0x1c4c&gt;
  802fd0:    00801944     movi    r2,101
  802fd4:    e0c00126     beq    fp,r3,802fdc &lt;___vfprintf_internal_r+0x1aec&gt;
  802fd8:    00801144     movi    r2,69
  802fdc:    1039883a     mov    fp,r2
  802fe0:    003f8e06     br    802e1c &lt;___vfprintf_internal_r+0x192c&gt;
  802fe4:    d8c1a017     ldw    r3,1664(sp)
  802fe8:    1880004c     andi    r2,r3,1
  802fec:    103f721e     bne    r2,zero,802db8 &lt;___vfprintf_internal_r+0x18c8&gt;
  802ff0:    d8819817     ldw    r2,1632(sp)
  802ff4:    003f8106     br    802dfc &lt;___vfprintf_internal_r+0x190c&gt;
  802ff8:    00800c04     movi    r2,48
  802ffc:    a0800005     stb    r2,0(r20)
  803000:    88c00c04     addi    r3,r17,48
  803004:    a5000044     addi    r20,r20,1
  803008:    a0c00005     stb    r3,0(r20)
  80300c:    a5000044     addi    r20,r20,1
  803010:    d8c19617     ldw    r3,1624(sp)
  803014:    d8800404     addi    r2,sp,16
  803018:    a085c83a     sub    r2,r20,r2
  80301c:    d881a615     stw    r2,1688(sp)
  803020:    10ef883a     add    r23,r2,r3
  803024:    00800044     movi    r2,1
  803028:    10c00316     blt    r2,r3,803038 &lt;___vfprintf_internal_r+0x1b48&gt;
  80302c:    d8c1a017     ldw    r3,1664(sp)
  803030:    1884703a     and    r2,r3,r2
  803034:    103fdd26     beq    r2,zero,802fac &lt;___vfprintf_internal_r+0x1abc&gt;
  803038:    bdc00044     addi    r23,r23,1
  80303c:    003fdb06     br    802fac &lt;___vfprintf_internal_r+0x1abc&gt;
  803040:    d9019e17     ldw    r4,1656(sp)
  803044:    d9c00404     addi    r7,sp,16
  803048:    39400204     addi    r5,r7,8
  80304c:    08014980     call    801498 &lt;__sprint&gt;
  803050:    103cf21e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  803054:    d9819517     ldw    r6,1620(sp)
  803058:    d8800404     addi    r2,sp,16
  80305c:    14800504     addi    r18,r2,20
  803060:    003ec306     br    802b70 &lt;___vfprintf_internal_r+0x1680&gt;
  803064:    d8819817     ldw    r2,1632(sp)
  803068:    003f5e06     br    802de4 &lt;___vfprintf_internal_r+0x18f4&gt;
  80306c:    d9019e17     ldw    r4,1656(sp)
  803070:    d9c00404     addi    r7,sp,16
  803074:    39400204     addi    r5,r7,8
  803078:    08014980     call    801498 &lt;__sprint&gt;
  80307c:    103ce71e     bne    r2,zero,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  803080:    d8800404     addi    r2,sp,16
  803084:    14800504     addi    r18,r2,20
  803088:    003faf06     br    802f48 &lt;___vfprintf_internal_r+0x1a58&gt;
  80308c:    d9019d17     ldw    r4,1652(sp)
  803090:    d8819904     addi    r2,sp,1636
  803094:    000b883a     mov    r5,zero
  803098:    d9819b04     addi    r6,sp,1644
  80309c:    000f883a     mov    r7,zero
  8030a0:    d8800015     stw    r2,0(sp)
  8030a4:    08032a80     call    8032a8 &lt;_wcsrtombs_r&gt;
  8030a8:    102f883a     mov    r23,r2
  8030ac:    00bfffc4     movi    r2,-1
  8030b0:    b8bcda26     beq    r23,r2,80241c &lt;___vfprintf_internal_r+0xf2c&gt;
  8030b4:    dcc19b15     stw    r19,1644(sp)
  8030b8:    003b3706     br    801d98 &lt;___vfprintf_internal_r+0x8a8&gt;
  8030bc:    a8c00007     ldb    r3,0(r21)
  8030c0:    00800c04     movi    r2,48
  8030c4:    18800326     beq    r3,r2,8030d4 &lt;___vfprintf_internal_r+0x1be4&gt;
  8030c8:    d8819517     ldw    r2,1620(sp)
  8030cc:    98a7883a     add    r19,r19,r2
  8030d0:    003f3c06     br    802dc4 &lt;___vfprintf_internal_r+0x18d4&gt;
  8030d4:    000d883a     mov    r6,zero
  8030d8:    000f883a     mov    r7,zero
  8030dc:    8009883a     mov    r4,r16
  8030e0:    880b883a     mov    r5,r17
  8030e4:    0808d4c0     call    808d4c &lt;__nedf2&gt;
  8030e8:    103ff726     beq    r2,zero,8030c8 &lt;___vfprintf_internal_r+0x1bd8&gt;
  8030ec:    00800044     movi    r2,1
  8030f0:    15c5c83a     sub    r2,r2,r23
  8030f4:    98a7883a     add    r19,r19,r2
  8030f8:    d8819515     stw    r2,1620(sp)
  8030fc:    003f3106     br    802dc4 &lt;___vfprintf_internal_r+0x18d4&gt;
  803100:    0005883a     mov    r2,zero
  803104:    00e00034     movhi    r3,32768
  803108:    18c00004     addi    r3,r3,0
  80310c:    1408f03a     xor    r4,r2,r16
  803110:    88caf03a     xor    r5,r17,r3
  803114:    00800b44     movi    r2,45
  803118:    2021883a     mov    r16,r4
  80311c:    2823883a     mov    r17,r5
  803120:    30800005     stb    r2,0(r6)
  803124:    003f1406     br    802d78 &lt;___vfprintf_internal_r+0x1888&gt;
  803128:    15c00044     addi    r23,r2,1
  80312c:    01bf9f16     blt    zero,r6,802fac &lt;___vfprintf_internal_r+0x1abc&gt;
  803130:    1185c83a     sub    r2,r2,r6
  803134:    15c00084     addi    r23,r2,2
  803138:    003f9c06     br    802fac &lt;___vfprintf_internal_r+0x1abc&gt;
  80313c:    1839883a     mov    fp,r3
  803140:    003f3606     br    802e1c &lt;___vfprintf_internal_r+0x192c&gt;
  803144:    01800c0e     bge    zero,r6,803178 &lt;___vfprintf_internal_r+0x1c88&gt;
  803148:    302f883a     mov    r23,r6
  80314c:    a000031e     bne    r20,zero,80315c &lt;___vfprintf_internal_r+0x1c6c&gt;
  803150:    d901a017     ldw    r4,1664(sp)
  803154:    2080004c     andi    r2,r4,1
  803158:    103f9426     beq    r2,zero,802fac &lt;___vfprintf_internal_r+0x1abc&gt;
  80315c:    a185883a     add    r2,r20,r6
  803160:    15c00044     addi    r23,r2,1
  803164:    003f9106     br    802fac &lt;___vfprintf_internal_r+0x1abc&gt;
  803168:    00800b44     movi    r2,45
  80316c:    01a3c83a     sub    r17,zero,r6
  803170:    a0800005     stb    r2,0(r20)
  803174:    003f3306     br    802e44 &lt;___vfprintf_internal_r+0x1954&gt;
  803178:    a000041e     bne    r20,zero,80318c &lt;___vfprintf_internal_r+0x1c9c&gt;
  80317c:    d941a017     ldw    r5,1664(sp)
  803180:    05c00044     movi    r23,1
  803184:    2880004c     andi    r2,r5,1
  803188:    103f8826     beq    r2,zero,802fac &lt;___vfprintf_internal_r+0x1abc&gt;
  80318c:    a5c00084     addi    r23,r20,2
  803190:    003f8606     br    802fac &lt;___vfprintf_internal_r+0x1abc&gt;
  803194:    d8819f17     ldw    r2,1660(sp)
  803198:    15000017     ldw    r20,0(r2)
  80319c:    10c00104     addi    r3,r2,4
  8031a0:    d8c19f15     stw    r3,1660(sp)
  8031a4:    a03bd60e     bge    r20,zero,802100 &lt;___vfprintf_internal_r+0xc10&gt;
  8031a8:    b1000003     ldbu    r4,0(r22)
  8031ac:    053fffc4     movi    r20,-1
  8031b0:    00392306     br    801640 &lt;___vfprintf_internal_r+0x150&gt;

008031b4 &lt;__vfprintf_internal&gt;:
  8031b4:    d0e00017     ldw    r3,-32768(gp)
  8031b8:    defffc04     addi    sp,sp,-16
  8031bc:    dc000215     stw    r16,8(sp)
  8031c0:    dc400115     stw    r17,4(sp)
  8031c4:    dc800015     stw    r18,0(sp)
  8031c8:    dfc00315     stw    ra,12(sp)
  8031cc:    18800e17     ldw    r2,56(r3)
  8031d0:    2023883a     mov    r17,r4
  8031d4:    2825883a     mov    r18,r5
  8031d8:    1809883a     mov    r4,r3
  8031dc:    3021883a     mov    r16,r6
  8031e0:    10000c26     beq    r2,zero,803214 &lt;__vfprintf_internal+0x60&gt;
  8031e4:    1809883a     mov    r4,r3
  8031e8:    880b883a     mov    r5,r17
  8031ec:    900d883a     mov    r6,r18
  8031f0:    800f883a     mov    r7,r16
  8031f4:    02002034     movhi    r8,128
  8031f8:    42053c04     addi    r8,r8,5360
  8031fc:    dfc00317     ldw    ra,12(sp)
  803200:    dc000217     ldw    r16,8(sp)
  803204:    dc400117     ldw    r17,4(sp)
  803208:    dc800017     ldw    r18,0(sp)
  80320c:    dec00404     addi    sp,sp,16
  803210:    4000683a     jmp    r8
  803214:    08051ac0     call    8051ac &lt;__sinit&gt;
  803218:    d0e00017     ldw    r3,-32768(gp)
  80321c:    003ff106     br    8031e4 &lt;__vfprintf_internal+0x30&gt;

00803220 &lt;_wcrtomb_r&gt;:
  803220:    defffa04     addi    sp,sp,-24
  803224:    dc000415     stw    r16,16(sp)
  803228:    dc400315     stw    r17,12(sp)
  80322c:    dfc00515     stw    ra,20(sp)
  803230:    2023883a     mov    r17,r4
  803234:    3821883a     mov    r16,r7
  803238:    28000b26     beq    r5,zero,803268 &lt;_wcrtomb_r+0x48&gt;
  80323c:    08034240     call    803424 &lt;_wctomb_r&gt;
  803240:    1007883a     mov    r3,r2
  803244:    1009883a     mov    r4,r2
  803248:    00bfffc4     movi    r2,-1
  80324c:    18800926     beq    r3,r2,803274 &lt;_wcrtomb_r+0x54&gt;
  803250:    2005883a     mov    r2,r4
  803254:    dfc00517     ldw    ra,20(sp)
  803258:    dc000417     ldw    r16,16(sp)
  80325c:    dc400317     ldw    r17,12(sp)
  803260:    dec00604     addi    sp,sp,24
  803264:    f800283a     ret
  803268:    d80b883a     mov    r5,sp
  80326c:    000d883a     mov    r6,zero
  803270:    003ff206     br    80323c &lt;_wcrtomb_r+0x1c&gt;
  803274:    80000015     stw    zero,0(r16)
  803278:    00802284     movi    r2,138
  80327c:    88800015     stw    r2,0(r17)
  803280:    003ff306     br    803250 &lt;_wcrtomb_r+0x30&gt;

00803284 &lt;wcrtomb&gt;:
  803284:    2013883a     mov    r9,r4
  803288:    d1200017     ldw    r4,-32768(gp)
  80328c:    2807883a     mov    r3,r5
  803290:    300f883a     mov    r7,r6
  803294:    480b883a     mov    r5,r9
  803298:    180d883a     mov    r6,r3
  80329c:    02002034     movhi    r8,128
  8032a0:    420c8804     addi    r8,r8,12832
  8032a4:    4000683a     jmp    r8

008032a8 &lt;_wcsrtombs_r&gt;:
  8032a8:    defff204     addi    sp,sp,-56
  8032ac:    dc000b15     stw    r16,44(sp)
  8032b0:    dc800915     stw    r18,36(sp)
  8032b4:    dd000715     stw    r20,28(sp)
  8032b8:    ddc00415     stw    r23,16(sp)
  8032bc:    dfc00d15     stw    ra,52(sp)
  8032c0:    df000c15     stw    fp,48(sp)
  8032c4:    dc400a15     stw    r17,40(sp)
  8032c8:    dcc00815     stw    r19,32(sp)
  8032cc:    dd400615     stw    r21,24(sp)
  8032d0:    dd800515     stw    r22,20(sp)
  8032d4:    2821883a     mov    r16,r5
  8032d8:    d9000315     stw    r4,12(sp)
  8032dc:    302f883a     mov    r23,r6
  8032e0:    3825883a     mov    r18,r7
  8032e4:    dd000e17     ldw    r20,56(sp)
  8032e8:    28002f26     beq    r5,zero,8033a8 &lt;_wcsrtombs_r+0x100&gt;
  8032ec:    002b883a     mov    r21,zero
  8032f0:    bc400017     ldw    r17,0(r23)
  8032f4:    04801f2e     bgeu    zero,r18,803374 &lt;_wcsrtombs_r+0xcc&gt;
  8032f8:    8039003a     cmpeq    fp,r16,zero
  8032fc:    89800017     ldw    r6,0(r17)
  803300:    d9000317     ldw    r4,12(sp)
  803304:    d80b883a     mov    r5,sp
  803308:    a00f883a     mov    r7,r20
  80330c:    a5800017     ldw    r22,0(r20)
  803310:    a4c00117     ldw    r19,4(r20)
  803314:    08032200     call    803220 &lt;_wcrtomb_r&gt;
  803318:    100b883a     mov    r5,r2
  80331c:    00bfffc4     movi    r2,-1
  803320:    28802626     beq    r5,r2,8033bc &lt;_wcsrtombs_r+0x114&gt;
  803324:    9145c83a     sub    r2,r18,r5
  803328:    15402136     bltu    r2,r21,8033b0 &lt;_wcsrtombs_r+0x108&gt;
  80332c:    2c80202e     bgeu    r5,r18,8033b0 &lt;_wcsrtombs_r+0x108&gt;
  803330:    a96b883a     add    r21,r21,r5
  803334:    e0000b1e     bne    fp,zero,803364 &lt;_wcsrtombs_r+0xbc&gt;
  803338:    0009883a     mov    r4,zero
  80333c:    0140060e     bge    zero,r5,803358 &lt;_wcsrtombs_r+0xb0&gt;
  803340:    d905883a     add    r2,sp,r4
  803344:    10c00003     ldbu    r3,0(r2)
  803348:    21000044     addi    r4,r4,1
  80334c:    80c00005     stb    r3,0(r16)
  803350:    84000044     addi    r16,r16,1
  803354:    217ffa16     blt    r4,r5,803340 &lt;_wcsrtombs_r+0x98&gt;
  803358:    b8800017     ldw    r2,0(r23)
  80335c:    10800104     addi    r2,r2,4
  803360:    b8800015     stw    r2,0(r23)
  803364:    88800017     ldw    r2,0(r17)
  803368:    8c400104     addi    r17,r17,4
  80336c:    10001926     beq    r2,zero,8033d4 &lt;_wcsrtombs_r+0x12c&gt;
  803370:    acbfe236     bltu    r21,r18,8032fc &lt;_wcsrtombs_r+0x54&gt;
  803374:    a805883a     mov    r2,r21
  803378:    dfc00d17     ldw    ra,52(sp)
  80337c:    df000c17     ldw    fp,48(sp)
  803380:    dc000b17     ldw    r16,44(sp)
  803384:    dc400a17     ldw    r17,40(sp)
  803388:    dc800917     ldw    r18,36(sp)
  80338c:    dcc00817     ldw    r19,32(sp)
  803390:    dd000717     ldw    r20,28(sp)
  803394:    dd400617     ldw    r21,24(sp)
  803398:    dd800517     ldw    r22,20(sp)
  80339c:    ddc00417     ldw    r23,16(sp)
  8033a0:    dec00e04     addi    sp,sp,56
  8033a4:    f800283a     ret
  8033a8:    04bfffc4     movi    r18,-1
  8033ac:    003fcf06     br    8032ec &lt;_wcsrtombs_r+0x44&gt;
  8033b0:    a4c00115     stw    r19,4(r20)
  8033b4:    a5800015     stw    r22,0(r20)
  8033b8:    003fee06     br    803374 &lt;_wcsrtombs_r+0xcc&gt;
  8033bc:    d8c00317     ldw    r3,12(sp)
  8033c0:    00802284     movi    r2,138
  8033c4:    18800015     stw    r2,0(r3)
  8033c8:    2805883a     mov    r2,r5
  8033cc:    a0000015     stw    zero,0(r20)
  8033d0:    003fe906     br    803378 &lt;_wcsrtombs_r+0xd0&gt;
  8033d4:    e000011e     bne    fp,zero,8033dc &lt;_wcsrtombs_r+0x134&gt;
  8033d8:    b8000015     stw    zero,0(r23)
  8033dc:    a8bfffc4     addi    r2,r21,-1
  8033e0:    a0000015     stw    zero,0(r20)
  8033e4:    003fe406     br    803378 &lt;_wcsrtombs_r+0xd0&gt;

008033e8 &lt;wcsrtombs&gt;:
  8033e8:    d0e00017     ldw    r3,-32768(gp)
  8033ec:    defffe04     addi    sp,sp,-8
  8033f0:    2013883a     mov    r9,r4
  8033f4:    2817883a     mov    r11,r5
  8033f8:    301b883a     mov    r13,r6
  8033fc:    d9c00015     stw    r7,0(sp)
  803400:    1809883a     mov    r4,r3
  803404:    480b883a     mov    r5,r9
  803408:    580d883a     mov    r6,r11
  80340c:    680f883a     mov    r7,r13
  803410:    dfc00115     stw    ra,4(sp)
  803414:    08032a80     call    8032a8 &lt;_wcsrtombs_r&gt;
  803418:    dfc00117     ldw    ra,4(sp)
  80341c:    dec00204     addi    sp,sp,8
  803420:    f800283a     ret

00803424 &lt;_wctomb_r&gt;:
  803424:    defffb04     addi    sp,sp,-20
  803428:    01002074     movhi    r4,129
  80342c:    21367404     addi    r4,r4,-9776
  803430:    dc000315     stw    r16,12(sp)
  803434:    dc400215     stw    r17,8(sp)
  803438:    dc800115     stw    r18,4(sp)
  80343c:    dcc00015     stw    r19,0(sp)
  803440:    2821883a     mov    r16,r5
  803444:    dfc00415     stw    ra,16(sp)
  803448:    3023883a     mov    r17,r6
  80344c:    3827883a     mov    r19,r7
  803450:    04800044     movi    r18,1
  803454:    08076b40     call    8076b4 &lt;strlen&gt;
  803458:    8006c03a     cmpne    r3,r16,zero
  80345c:    90800c36     bltu    r18,r2,803490 &lt;_wctomb_r+0x6c&gt;
  803460:    0011883a     mov    r8,zero
  803464:    18000226     beq    r3,zero,803470 &lt;_wctomb_r+0x4c&gt;
  803468:    84400005     stb    r17,0(r16)
  80346c:    02000044     movi    r8,1
  803470:    4005883a     mov    r2,r8
  803474:    dfc00417     ldw    ra,16(sp)
  803478:    dc000317     ldw    r16,12(sp)
  80347c:    dc400217     ldw    r17,8(sp)
  803480:    dc800117     ldw    r18,4(sp)
  803484:    dcc00017     ldw    r19,0(sp)
  803488:    dec00504     addi    sp,sp,20
  80348c:    f800283a     ret
  803490:    01002074     movhi    r4,129
  803494:    21367404     addi    r4,r4,-9776
  803498:    01402074     movhi    r5,129
  80349c:    29736d04     addi    r5,r5,-12876
  8034a0:    08075fc0     call    8075fc &lt;strcmp&gt;
  8034a4:    10003a1e     bne    r2,zero,803590 &lt;_wctomb_r+0x16c&gt;
  8034a8:    0011883a     mov    r8,zero
  8034ac:    803ff026     beq    r16,zero,803470 &lt;_wctomb_r+0x4c&gt;
  8034b0:    00801fc4     movi    r2,127
  8034b4:    9011883a     mov    r8,r18
  8034b8:    1440630e     bge    r2,r17,803648 &lt;_wctomb_r+0x224&gt;
  8034bc:    88ffe004     addi    r3,r17,-128
  8034c0:    0081dfc4     movi    r2,1919
  8034c4:    027fe004     movi    r9,-128
  8034c8:    10c0b42e     bgeu    r2,r3,80379c &lt;_wctomb_r+0x378&gt;
  8034cc:    88fe0004     addi    r3,r17,-2048
  8034d0:    00bdffd4     movui    r2,63487
  8034d4:    10c05e2e     bgeu    r2,r3,803650 &lt;_wctomb_r+0x22c&gt;
  8034d8:    00bffff4     movhi    r2,65535
  8034dc:    10800004     addi    r2,r2,0
  8034e0:    8885883a     add    r2,r17,r2
  8034e4:    00c007f4     movhi    r3,31
  8034e8:    18ffffc4     addi    r3,r3,-1
  8034ec:    1880b52e     bgeu    r3,r2,8037c4 &lt;_wctomb_r+0x3a0&gt;
  8034f0:    00bff834     movhi    r2,65504
  8034f4:    10800004     addi    r2,r2,0
  8034f8:    8885883a     add    r2,r17,r2
  8034fc:    00c0f834     movhi    r3,992
  803500:    18ffffc4     addi    r3,r3,-1
  803504:    1880c32e     bgeu    r3,r2,803814 &lt;_wctomb_r+0x3f0&gt;
  803508:    00810034     movhi    r2,1024
  80350c:    10bfffc4     addi    r2,r2,-1
  803510:    023fffc4     movi    r8,-1
  803514:    147fd60e     bge    r2,r17,803470 &lt;_wctomb_r+0x4c&gt;
  803518:    88d0002c     andhi    r3,r17,16384
  80351c:    1807d7ba     srai    r3,r3,30
  803520:    890fc02c     andhi    r4,r17,16128
  803524:    2009d63a     srai    r4,r4,24
  803528:    89403f2c     andhi    r5,r17,252
  80352c:    00bfff04     movi    r2,-4
  803530:    280bd4ba     srai    r5,r5,18
  803534:    880cd33a     srli    r6,r17,12
  803538:    1886b03a     or    r3,r3,r2
  80353c:    89c3f00c     andi    r7,r17,4032
  803540:    80c00005     stb    r3,0(r16)
  803544:    2248b03a     or    r4,r4,r9
  803548:    84000044     addi    r16,r16,1
  80354c:    380fd1ba     srai    r7,r7,6
  803550:    81000005     stb    r4,0(r16)
  803554:    2a4ab03a     or    r5,r5,r9
  803558:    84000044     addi    r16,r16,1
  80355c:    31800fcc     andi    r6,r6,63
  803560:    81400005     stb    r5,0(r16)
  803564:    324cb03a     or    r6,r6,r9
  803568:    84000044     addi    r16,r16,1
  80356c:    88800fcc     andi    r2,r17,63
  803570:    81800005     stb    r6,0(r16)
  803574:    1244b03a     or    r2,r2,r9
  803578:    84000044     addi    r16,r16,1
  80357c:    3a4eb03a     or    r7,r7,r9
  803580:    02000184     movi    r8,6
  803584:    80800045     stb    r2,1(r16)
  803588:    81c00005     stb    r7,0(r16)
  80358c:    003fb806     br    803470 &lt;_wctomb_r+0x4c&gt;
  803590:    01002074     movhi    r4,129
  803594:    21367404     addi    r4,r4,-9776
  803598:    01402074     movhi    r5,129
  80359c:    29736f04     addi    r5,r5,-12868
  8035a0:    08075fc0     call    8075fc &lt;strcmp&gt;
  8035a4:    10003f1e     bne    r2,zero,8036a4 &lt;_wctomb_r+0x280&gt;
  8035a8:    8006c03a     cmpne    r3,r16,zero
  8035ac:    8809d23a     srai    r4,r17,8
  8035b0:    0011883a     mov    r8,zero
  8035b4:    183fae26     beq    r3,zero,803470 &lt;_wctomb_r+0x4c&gt;
  8035b8:    20803fcc     andi    r2,r4,255
  8035bc:    103fa826     beq    r2,zero,803460 &lt;_wctomb_r+0x3c&gt;
  8035c0:    20801fc4     addi    r2,r4,127
  8035c4:    10803fcc     andi    r2,r2,255
  8035c8:    00c00784     movi    r3,30
  8035cc:    1880042e     bgeu    r3,r2,8035e0 &lt;_wctomb_r+0x1bc&gt;
  8035d0:    20800804     addi    r2,r4,32
  8035d4:    10803fcc     andi    r2,r2,255
  8035d8:    00c003c4     movi    r3,15
  8035dc:    18804436     bltu    r3,r2,8036f0 &lt;_wctomb_r+0x2cc&gt;
  8035e0:    88bff004     addi    r2,r17,-64
  8035e4:    10803fcc     andi    r2,r2,255
  8035e8:    00c00f84     movi    r3,62
  8035ec:    1880042e     bgeu    r3,r2,803600 &lt;_wctomb_r+0x1dc&gt;
  8035f0:    88bfe004     addi    r2,r17,-128
  8035f4:    10803fcc     andi    r2,r2,255
  8035f8:    00c01f04     movi    r3,124
  8035fc:    18803c36     bltu    r3,r2,8036f0 &lt;_wctomb_r+0x2cc&gt;
  803600:    02000084     movi    r8,2
  803604:    84400045     stb    r17,1(r16)
  803608:    81000005     stb    r4,0(r16)
  80360c:    003f9806     br    803470 &lt;_wctomb_r+0x4c&gt;
  803610:    98800017     ldw    r2,0(r19)
  803614:    10000b26     beq    r2,zero,803644 &lt;_wctomb_r+0x220&gt;
  803618:    98000015     stw    zero,0(r19)
  80361c:    008006c4     movi    r2,27
  803620:    80800005     stb    r2,0(r16)
  803624:    84000044     addi    r16,r16,1
  803628:    00800a04     movi    r2,40
  80362c:    80800005     stb    r2,0(r16)
  803630:    84000044     addi    r16,r16,1
  803634:    00801084     movi    r2,66
  803638:    80800005     stb    r2,0(r16)
  80363c:    010000c4     movi    r4,3
  803640:    84000044     addi    r16,r16,1
  803644:    22000044     addi    r8,r4,1
  803648:    84400005     stb    r17,0(r16)
  80364c:    003f8806     br    803470 &lt;_wctomb_r+0x4c&gt;
  803650:    00bffff4     movhi    r2,65535
  803654:    108a0004     addi    r2,r2,10240
  803658:    8885883a     add    r2,r17,r2
  80365c:    00c1ffc4     movi    r3,2047
  803660:    023fffc4     movi    r8,-1
  803664:    18bf822e     bgeu    r3,r2,803470 &lt;_wctomb_r+0x4c&gt;
  803668:    88fc000c     andi    r3,r17,61440
  80366c:    1807d33a     srai    r3,r3,12
  803670:    8943f00c     andi    r5,r17,4032
  803674:    280bd1ba     srai    r5,r5,6
  803678:    00bff804     movi    r2,-32
  80367c:    1886b03a     or    r3,r3,r2
  803680:    89000fcc     andi    r4,r17,63
  803684:    80c00005     stb    r3,0(r16)
  803688:    2248b03a     or    r4,r4,r9
  80368c:    84000044     addi    r16,r16,1
  803690:    2a4ab03a     or    r5,r5,r9
  803694:    020000c4     movi    r8,3
  803698:    81000045     stb    r4,1(r16)
  80369c:    81400005     stb    r5,0(r16)
  8036a0:    003f7306     br    803470 &lt;_wctomb_r+0x4c&gt;
  8036a4:    01002074     movhi    r4,129
  8036a8:    21367404     addi    r4,r4,-9776
  8036ac:    01402074     movhi    r5,129
  8036b0:    29737104     addi    r5,r5,-12860
  8036b4:    08075fc0     call    8075fc &lt;strcmp&gt;
  8036b8:    1000131e     bne    r2,zero,803708 &lt;_wctomb_r+0x2e4&gt;
  8036bc:    8006c03a     cmpne    r3,r16,zero
  8036c0:    880bd23a     srai    r5,r17,8
  8036c4:    0011883a     mov    r8,zero
  8036c8:    183f6926     beq    r3,zero,803470 &lt;_wctomb_r+0x4c&gt;
  8036cc:    28803fcc     andi    r2,r5,255
  8036d0:    103f6326     beq    r2,zero,803460 &lt;_wctomb_r+0x3c&gt;
  8036d4:    01802804     movi    r6,160
  8036d8:    3080052e     bgeu    r6,r2,8036f0 &lt;_wctomb_r+0x2cc&gt;
  8036dc:    00c03fc4     movi    r3,255
  8036e0:    10c00326     beq    r2,r3,8036f0 &lt;_wctomb_r+0x2cc&gt;
  8036e4:    88803fcc     andi    r2,r17,255
  8036e8:    3080012e     bgeu    r6,r2,8036f0 &lt;_wctomb_r+0x2cc&gt;
  8036ec:    10c0021e     bne    r2,r3,8036f8 &lt;_wctomb_r+0x2d4&gt;
  8036f0:    023fffc4     movi    r8,-1
  8036f4:    003f5e06     br    803470 &lt;_wctomb_r+0x4c&gt;
  8036f8:    02000084     movi    r8,2
  8036fc:    84400045     stb    r17,1(r16)
  803700:    81400005     stb    r5,0(r16)
  803704:    003f5a06     br    803470 &lt;_wctomb_r+0x4c&gt;
  803708:    01002074     movhi    r4,129
  80370c:    21367404     addi    r4,r4,-9776
  803710:    01402074     movhi    r5,129
  803714:    29737304     addi    r5,r5,-12852
  803718:    08075fc0     call    8075fc &lt;strcmp&gt;
  80371c:    8006c03a     cmpne    r3,r16,zero
  803720:    103f4f1e     bne    r2,zero,803460 &lt;_wctomb_r+0x3c&gt;
  803724:    8807d23a     srai    r3,r17,8
  803728:    0009883a     mov    r4,zero
  80372c:    9011883a     mov    r8,r18
  803730:    803f4f26     beq    r16,zero,803470 &lt;_wctomb_r+0x4c&gt;
  803734:    18803fcc     andi    r2,r3,255
  803738:    103fb526     beq    r2,zero,803610 &lt;_wctomb_r+0x1ec&gt;
  80373c:    18bff7c4     addi    r2,r3,-33
  803740:    10803fcc     andi    r2,r2,255
  803744:    01401744     movi    r5,93
  803748:    28bfe936     bltu    r5,r2,8036f0 &lt;_wctomb_r+0x2cc&gt;
  80374c:    88bff7c4     addi    r2,r17,-33
  803750:    10803fcc     andi    r2,r2,255
  803754:    28bfe636     bltu    r5,r2,8036f0 &lt;_wctomb_r+0x2cc&gt;
  803758:    98800017     ldw    r2,0(r19)
  80375c:    10000b1e     bne    r2,zero,80378c &lt;_wctomb_r+0x368&gt;
  803760:    9c800015     stw    r18,0(r19)
  803764:    008006c4     movi    r2,27
  803768:    80800005     stb    r2,0(r16)
  80376c:    84000044     addi    r16,r16,1
  803770:    00800904     movi    r2,36
  803774:    80800005     stb    r2,0(r16)
  803778:    84000044     addi    r16,r16,1
  80377c:    00801084     movi    r2,66
  803780:    80800005     stb    r2,0(r16)
  803784:    010000c4     movi    r4,3
  803788:    84000044     addi    r16,r16,1
  80378c:    22000084     addi    r8,r4,2
  803790:    84400045     stb    r17,1(r16)
  803794:    80c00005     stb    r3,0(r16)
  803798:    003f3506     br    803470 &lt;_wctomb_r+0x4c&gt;
  80379c:    8901f00c     andi    r4,r17,1984
  8037a0:    2009d1ba     srai    r4,r4,6
  8037a4:    88c00fcc     andi    r3,r17,63
  8037a8:    00bff004     movi    r2,-64
  8037ac:    2088b03a     or    r4,r4,r2
  8037b0:    1a46b03a     or    r3,r3,r9
  8037b4:    02000084     movi    r8,2
  8037b8:    80c00045     stb    r3,1(r16)
  8037bc:    81000005     stb    r4,0(r16)
  8037c0:    003f2b06     br    803470 &lt;_wctomb_r+0x4c&gt;
  8037c4:    88c0072c     andhi    r3,r17,28
  8037c8:    1807d4ba     srai    r3,r3,18
  8037cc:    8808d33a     srli    r4,r17,12
  8037d0:    8943f00c     andi    r5,r17,4032
  8037d4:    00bffc04     movi    r2,-16
  8037d8:    280bd1ba     srai    r5,r5,6
  8037dc:    1886b03a     or    r3,r3,r2
  8037e0:    21000fcc     andi    r4,r4,63
  8037e4:    80c00005     stb    r3,0(r16)
  8037e8:    2248b03a     or    r4,r4,r9
  8037ec:    84000044     addi    r16,r16,1
  8037f0:    88800fcc     andi    r2,r17,63
  8037f4:    81000005     stb    r4,0(r16)
  8037f8:    1244b03a     or    r2,r2,r9
  8037fc:    84000044     addi    r16,r16,1
  803800:    2a4ab03a     or    r5,r5,r9
  803804:    02000104     movi    r8,4
  803808:    80800045     stb    r2,1(r16)
  80380c:    81400005     stb    r5,0(r16)
  803810:    003f1706     br    803470 &lt;_wctomb_r+0x4c&gt;
  803814:    88c0c02c     andhi    r3,r17,768
  803818:    1807d63a     srai    r3,r3,24
  80381c:    89003f2c     andhi    r4,r17,252
  803820:    2009d4ba     srai    r4,r4,18
  803824:    880ad33a     srli    r5,r17,12
  803828:    00bffe04     movi    r2,-8
  80382c:    8983f00c     andi    r6,r17,4032
  803830:    1886b03a     or    r3,r3,r2
  803834:    300dd1ba     srai    r6,r6,6
  803838:    80c00005     stb    r3,0(r16)
  80383c:    2248b03a     or    r4,r4,r9
  803840:    84000044     addi    r16,r16,1
  803844:    29400fcc     andi    r5,r5,63
  803848:    81000005     stb    r4,0(r16)
  80384c:    2a4ab03a     or    r5,r5,r9
  803850:    84000044     addi    r16,r16,1
  803854:    88800fcc     andi    r2,r17,63
  803858:    81400005     stb    r5,0(r16)
  80385c:    1244b03a     or    r2,r2,r9
  803860:    84000044     addi    r16,r16,1
  803864:    324cb03a     or    r6,r6,r9
  803868:    02000144     movi    r8,5
  80386c:    80800045     stb    r2,1(r16)
  803870:    81800005     stb    r6,0(r16)
  803874:    003efe06     br    803470 &lt;_wctomb_r+0x4c&gt;

00803878 &lt;_write_r&gt;:
  803878:    defffe04     addi    sp,sp,-8
  80387c:    dc000015     stw    r16,0(sp)
  803880:    2021883a     mov    r16,r4
  803884:    2809883a     mov    r4,r5
  803888:    300b883a     mov    r5,r6
  80388c:    380d883a     mov    r6,r7
  803890:    dfc00115     stw    ra,4(sp)
  803894:    d0201d15     stw    zero,-32652(gp)
  803898:    080a40c0     call    80a40c &lt;write&gt;
  80389c:    1007883a     mov    r3,r2
  8038a0:    00bfffc4     movi    r2,-1
  8038a4:    18800526     beq    r3,r2,8038bc &lt;_write_r+0x44&gt;
  8038a8:    1805883a     mov    r2,r3
  8038ac:    dfc00117     ldw    ra,4(sp)
  8038b0:    dc000017     ldw    r16,0(sp)
  8038b4:    dec00204     addi    sp,sp,8
  8038b8:    f800283a     ret
  8038bc:    d0a01d17     ldw    r2,-32652(gp)
  8038c0:    103ff926     beq    r2,zero,8038a8 &lt;_write_r+0x30&gt;
  8038c4:    80800015     stw    r2,0(r16)
  8038c8:    1805883a     mov    r2,r3
  8038cc:    dfc00117     ldw    ra,4(sp)
  8038d0:    dc000017     ldw    r16,0(sp)
  8038d4:    dec00204     addi    sp,sp,8
  8038d8:    f800283a     ret

008038dc &lt;__swsetup&gt;:
  8038dc:    d0e00017     ldw    r3,-32768(gp)
  8038e0:    defffe04     addi    sp,sp,-8
  8038e4:    dc000015     stw    r16,0(sp)
  8038e8:    dfc00115     stw    ra,4(sp)
  8038ec:    18800e17     ldw    r2,56(r3)
  8038f0:    2021883a     mov    r16,r4
  8038f4:    10003926     beq    r2,zero,8039dc &lt;__swsetup+0x100&gt;
  8038f8:    8180030b     ldhu    r6,12(r16)
  8038fc:    30ffffcc     andi    r3,r6,65535
  803900:    1804d0fa     srli    r2,r3,3
  803904:    1080004c     andi    r2,r2,1
  803908:    1000281e     bne    r2,zero,8039ac &lt;__swsetup+0xd0&gt;
  80390c:    1804d13a     srli    r2,r3,4
  803910:    013fffc4     movi    r4,-1
  803914:    1080004c     andi    r2,r2,1
  803918:    10001f26     beq    r2,zero,803998 &lt;__swsetup+0xbc&gt;
  80391c:    1804d0ba     srli    r2,r3,2
  803920:    1080004c     andi    r2,r2,1
  803924:    10003026     beq    r2,zero,8039e8 &lt;__swsetup+0x10c&gt;
  803928:    81400c17     ldw    r5,48(r16)
  80392c:    28000626     beq    r5,zero,803948 &lt;__swsetup+0x6c&gt;
  803930:    80801004     addi    r2,r16,64
  803934:    28800326     beq    r5,r2,803944 &lt;__swsetup+0x68&gt;
  803938:    d1200017     ldw    r4,-32768(gp)
  80393c:    08055600     call    805560 &lt;_free_r&gt;
  803940:    8180030b     ldhu    r6,12(r16)
  803944:    80000c15     stw    zero,48(r16)
  803948:    00bff6c4     movi    r2,-37
  80394c:    3084703a     and    r2,r6,r2
  803950:    80c00417     ldw    r3,16(r16)
  803954:    100d883a     mov    r6,r2
  803958:    8080030d     sth    r2,12(r16)
  80395c:    30800214     ori    r2,r6,8
  803960:    80000115     stw    zero,4(r16)
  803964:    80c00015     stw    r3,0(r16)
  803968:    8080030d     sth    r2,12(r16)
  80396c:    18001126     beq    r3,zero,8039b4 &lt;__swsetup+0xd8&gt;
  803970:    80c0030b     ldhu    r3,12(r16)
  803974:    1880004c     andi    r2,r3,1
  803978:    1000131e     bne    r2,zero,8039c8 &lt;__swsetup+0xec&gt;
  80397c:    1804d07a     srli    r2,r3,1
  803980:    0007883a     mov    r3,zero
  803984:    1080004c     andi    r2,r2,1
  803988:    1000011e     bne    r2,zero,803990 &lt;__swsetup+0xb4&gt;
  80398c:    80c00517     ldw    r3,20(r16)
  803990:    80c00215     stw    r3,8(r16)
  803994:    0009883a     mov    r4,zero
  803998:    2005883a     mov    r2,r4
  80399c:    dfc00117     ldw    ra,4(sp)
  8039a0:    dc000017     ldw    r16,0(sp)
  8039a4:    dec00204     addi    sp,sp,8
  8039a8:    f800283a     ret
  8039ac:    80c00417     ldw    r3,16(r16)
  8039b0:    183fef1e     bne    r3,zero,803970 &lt;__swsetup+0x94&gt;
  8039b4:    8009883a     mov    r4,r16
  8039b8:    08008740     call    800874 &lt;__smakebuf&gt;
  8039bc:    80c0030b     ldhu    r3,12(r16)
  8039c0:    1880004c     andi    r2,r3,1
  8039c4:    103fed26     beq    r2,zero,80397c &lt;__swsetup+0xa0&gt;
  8039c8:    80800517     ldw    r2,20(r16)
  8039cc:    80000215     stw    zero,8(r16)
  8039d0:    0085c83a     sub    r2,zero,r2
  8039d4:    80800615     stw    r2,24(r16)
  8039d8:    003fee06     br    803994 &lt;__swsetup+0xb8&gt;
  8039dc:    1809883a     mov    r4,r3
  8039e0:    08051ac0     call    8051ac &lt;__sinit&gt;
  8039e4:    003fc406     br    8038f8 &lt;__swsetup+0x1c&gt;
  8039e8:    80c00417     ldw    r3,16(r16)
  8039ec:    30800214     ori    r2,r6,8
  8039f0:    8080030d     sth    r2,12(r16)
  8039f4:    003fdd06     br    80396c &lt;__swsetup+0x90&gt;

008039f8 &lt;_close_r&gt;:
  8039f8:    defffe04     addi    sp,sp,-8
  8039fc:    dc000015     stw    r16,0(sp)
  803a00:    2021883a     mov    r16,r4
  803a04:    2809883a     mov    r4,r5
  803a08:    dfc00115     stw    ra,4(sp)
  803a0c:    d0201d15     stw    zero,-32652(gp)
  803a10:    080981c0     call    80981c &lt;close&gt;
  803a14:    1007883a     mov    r3,r2
  803a18:    00bfffc4     movi    r2,-1
  803a1c:    18800526     beq    r3,r2,803a34 &lt;_close_r+0x3c&gt;
  803a20:    1805883a     mov    r2,r3
  803a24:    dfc00117     ldw    ra,4(sp)
  803a28:    dc000017     ldw    r16,0(sp)
  803a2c:    dec00204     addi    sp,sp,8
  803a30:    f800283a     ret
  803a34:    d0a01d17     ldw    r2,-32652(gp)
  803a38:    103ff926     beq    r2,zero,803a20 &lt;_close_r+0x28&gt;
  803a3c:    80800015     stw    r2,0(r16)
  803a40:    1805883a     mov    r2,r3
  803a44:    dfc00117     ldw    ra,4(sp)
  803a48:    dc000017     ldw    r16,0(sp)
  803a4c:    dec00204     addi    sp,sp,8
  803a50:    f800283a     ret

00803a54 &lt;quorem&gt;:
  803a54:    defff504     addi    sp,sp,-44
  803a58:    dd800215     stw    r22,8(sp)
  803a5c:    ddc00115     stw    r23,4(sp)
  803a60:    dfc00a15     stw    ra,40(sp)
  803a64:    df000915     stw    fp,36(sp)
  803a68:    dc000815     stw    r16,32(sp)
  803a6c:    dc400715     stw    r17,28(sp)
  803a70:    dc800615     stw    r18,24(sp)
  803a74:    dcc00515     stw    r19,20(sp)
  803a78:    dd000415     stw    r20,16(sp)
  803a7c:    dd400315     stw    r21,12(sp)
  803a80:    2cc00417     ldw    r19,16(r5)
  803a84:    20800417     ldw    r2,16(r4)
  803a88:    202f883a     mov    r23,r4
  803a8c:    282d883a     mov    r22,r5
  803a90:    0007883a     mov    r3,zero
  803a94:    14c03c16     blt    r2,r19,803b88 &lt;quorem+0x134&gt;
  803a98:    9cffffc4     addi    r19,r19,-1
  803a9c:    980490ba     slli    r2,r19,2
  803aa0:    2c000504     addi    r16,r5,20
  803aa4:    25400504     addi    r21,r4,20
  803aa8:    1563883a     add    r17,r2,r21
  803aac:    1425883a     add    r18,r2,r16
  803ab0:    91400017     ldw    r5,0(r18)
  803ab4:    8f000017     ldw    fp,0(r17)
  803ab8:    dc000015     stw    r16,0(sp)
  803abc:    29400044     addi    r5,r5,1
  803ac0:    e009883a     mov    r4,fp
  803ac4:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  803ac8:    1029883a     mov    r20,r2
  803acc:    a811883a     mov    r8,r21
  803ad0:    10003a1e     bne    r2,zero,803bbc &lt;quorem+0x168&gt;
  803ad4:    b00b883a     mov    r5,r22
  803ad8:    b809883a     mov    r4,r23
  803adc:    08069640     call    806964 &lt;__mcmp&gt;
  803ae0:    10002816     blt    r2,zero,803b84 &lt;quorem+0x130&gt;
  803ae4:    dc000017     ldw    r16,0(sp)
  803ae8:    a5000044     addi    r20,r20,1
  803aec:    0013883a     mov    r9,zero
  803af0:    000d883a     mov    r6,zero
  803af4:    a811883a     mov    r8,r21
  803af8:    81000017     ldw    r4,0(r16)
  803afc:    40c00017     ldw    r3,0(r8)
  803b00:    84000104     addi    r16,r16,4
  803b04:    20bfffcc     andi    r2,r4,65535
  803b08:    118d883a     add    r6,r2,r6
  803b0c:    317fffcc     andi    r5,r6,65535
  803b10:    18bfffcc     andi    r2,r3,65535
  803b14:    300cd43a     srli    r6,r6,16
  803b18:    2008d43a     srli    r4,r4,16
  803b1c:    1145c83a     sub    r2,r2,r5
  803b20:    124f883a     add    r7,r2,r9
  803b24:    1806d43a     srli    r3,r3,16
  803b28:    2189883a     add    r4,r4,r6
  803b2c:    3813d43a     srai    r9,r7,16
  803b30:    20bfffcc     andi    r2,r4,65535
  803b34:    1887c83a     sub    r3,r3,r2
  803b38:    1a47883a     add    r3,r3,r9
  803b3c:    40c0008d     sth    r3,2(r8)
  803b40:    41c0000d     sth    r7,0(r8)
  803b44:    200cd43a     srli    r6,r4,16
  803b48:    42000104     addi    r8,r8,4
  803b4c:    1813d43a     srai    r9,r3,16
  803b50:    943fe92e     bgeu    r18,r16,803af8 &lt;quorem+0xa4&gt;
  803b54:    980490ba     slli    r2,r19,2
  803b58:    1563883a     add    r17,r2,r21
  803b5c:    88c00017     ldw    r3,0(r17)
  803b60:    8c7fff04     addi    r17,r17,-4
  803b64:    1800071e     bne    r3,zero,803b84 &lt;quorem+0x130&gt;
  803b68:    ac40052e     bgeu    r21,r17,803b80 &lt;quorem+0x12c&gt;
  803b6c:    88800017     ldw    r2,0(r17)
  803b70:    1000031e     bne    r2,zero,803b80 &lt;quorem+0x12c&gt;
  803b74:    8c7fff04     addi    r17,r17,-4
  803b78:    9cffffc4     addi    r19,r19,-1
  803b7c:    003ffa06     br    803b68 &lt;quorem+0x114&gt;
  803b80:    bcc00415     stw    r19,16(r23)
  803b84:    a007883a     mov    r3,r20
  803b88:    1805883a     mov    r2,r3
  803b8c:    dfc00a17     ldw    ra,40(sp)
  803b90:    df000917     ldw    fp,36(sp)
  803b94:    dc000817     ldw    r16,32(sp)
  803b98:    dc400717     ldw    r17,28(sp)
  803b9c:    dc800617     ldw    r18,24(sp)
  803ba0:    dcc00517     ldw    r19,20(sp)
  803ba4:    dd000417     ldw    r20,16(sp)
  803ba8:    dd400317     ldw    r21,12(sp)
  803bac:    dd800217     ldw    r22,8(sp)
  803bb0:    ddc00117     ldw    r23,4(sp)
  803bb4:    dec00b04     addi    sp,sp,44
  803bb8:    f800283a     ret
  803bbc:    0013883a     mov    r9,zero
  803bc0:    000d883a     mov    r6,zero
  803bc4:    81000017     ldw    r4,0(r16)
  803bc8:    41400017     ldw    r5,0(r8)
  803bcc:    84000104     addi    r16,r16,4
  803bd0:    20bfffcc     andi    r2,r4,65535
  803bd4:    1505383a     mul    r2,r2,r20
  803bd8:    2008d43a     srli    r4,r4,16
  803bdc:    28ffffcc     andi    r3,r5,65535
  803be0:    118d883a     add    r6,r2,r6
  803be4:    30bfffcc     andi    r2,r6,65535
  803be8:    2509383a     mul    r4,r4,r20
  803bec:    300cd43a     srli    r6,r6,16
  803bf0:    1887c83a     sub    r3,r3,r2
  803bf4:    1a4f883a     add    r7,r3,r9
  803bf8:    280ad43a     srli    r5,r5,16
  803bfc:    2189883a     add    r4,r4,r6
  803c00:    3813d43a     srai    r9,r7,16
  803c04:    20bfffcc     andi    r2,r4,65535
  803c08:    288bc83a     sub    r5,r5,r2
  803c0c:    2a47883a     add    r3,r5,r9
  803c10:    40c0008d     sth    r3,2(r8)
  803c14:    41c0000d     sth    r7,0(r8)
  803c18:    200cd43a     srli    r6,r4,16
  803c1c:    42000104     addi    r8,r8,4
  803c20:    1813d43a     srai    r9,r3,16
  803c24:    943fe72e     bgeu    r18,r16,803bc4 &lt;quorem+0x170&gt;
  803c28:    8c7fff04     addi    r17,r17,-4
  803c2c:    e03fa91e     bne    fp,zero,803ad4 &lt;quorem+0x80&gt;
  803c30:    ac40052e     bgeu    r21,r17,803c48 &lt;quorem+0x1f4&gt;
  803c34:    88800017     ldw    r2,0(r17)
  803c38:    1000031e     bne    r2,zero,803c48 &lt;quorem+0x1f4&gt;
  803c3c:    8c7fff04     addi    r17,r17,-4
  803c40:    9cffffc4     addi    r19,r19,-1
  803c44:    003ffa06     br    803c30 &lt;quorem+0x1dc&gt;
  803c48:    bcc00415     stw    r19,16(r23)
  803c4c:    003fa106     br    803ad4 &lt;quorem+0x80&gt;

00803c50 &lt;_dtoa_r&gt;:
  803c50:    deffdd04     addi    sp,sp,-140
  803c54:    df002115     stw    fp,132(sp)
  803c58:    dc002015     stw    r16,128(sp)
  803c5c:    dc801e15     stw    r18,120(sp)
  803c60:    dcc01d15     stw    r19,116(sp)
  803c64:    dfc02215     stw    ra,136(sp)
  803c68:    dc401f15     stw    r17,124(sp)
  803c6c:    dd001c15     stw    r20,112(sp)
  803c70:    dd401b15     stw    r21,108(sp)
  803c74:    dd801a15     stw    r22,104(sp)
  803c78:    ddc01915     stw    r23,100(sp)
  803c7c:    22001017     ldw    r8,64(r4)
  803c80:    2039883a     mov    fp,r4
  803c84:    2825883a     mov    r18,r5
  803c88:    d9c00315     stw    r7,12(sp)
  803c8c:    3027883a     mov    r19,r6
  803c90:    dc002517     ldw    r16,148(sp)
  803c94:    d8001515     stw    zero,84(sp)
  803c98:    4000241e     bne    r8,zero,803d2c &lt;_dtoa_r+0xdc&gt;
  803c9c:    98002d16     blt    r19,zero,803d54 &lt;_dtoa_r+0x104&gt;
  803ca0:    98dffc2c     andhi    r3,r19,32752
  803ca4:    009ffc34     movhi    r2,32752
  803ca8:    10800004     addi    r2,r2,0
  803cac:    80000015     stw    zero,0(r16)
  803cb0:    18803126     beq    r3,r2,803d78 &lt;_dtoa_r+0x128&gt;
  803cb4:    000d883a     mov    r6,zero
  803cb8:    000f883a     mov    r7,zero
  803cbc:    9009883a     mov    r4,r18
  803cc0:    980b883a     mov    r5,r19
  803cc4:    0808cc00     call    808cc0 &lt;__eqdf2&gt;
  803cc8:    10003c1e     bne    r2,zero,803dbc &lt;_dtoa_r+0x16c&gt;
  803ccc:    d8c02417     ldw    r3,144(sp)
  803cd0:    00800044     movi    r2,1
  803cd4:    01002074     movhi    r4,129
  803cd8:    21336804     addi    r4,r4,-12896
  803cdc:    18800015     stw    r2,0(r3)
  803ce0:    d8802617     ldw    r2,152(sp)
  803ce4:    d9001715     stw    r4,92(sp)
  803ce8:    10000326     beq    r2,zero,803cf8 &lt;_dtoa_r+0xa8&gt;
  803cec:    d8c02617     ldw    r3,152(sp)
  803cf0:    20800044     addi    r2,r4,1
  803cf4:    18800015     stw    r2,0(r3)
  803cf8:    d8801717     ldw    r2,92(sp)
  803cfc:    dfc02217     ldw    ra,136(sp)
  803d00:    df002117     ldw    fp,132(sp)
  803d04:    dc002017     ldw    r16,128(sp)
  803d08:    dc401f17     ldw    r17,124(sp)
  803d0c:    dc801e17     ldw    r18,120(sp)
  803d10:    dcc01d17     ldw    r19,116(sp)
  803d14:    dd001c17     ldw    r20,112(sp)
  803d18:    dd401b17     ldw    r21,108(sp)
  803d1c:    dd801a17     ldw    r22,104(sp)
  803d20:    ddc01917     ldw    r23,100(sp)
  803d24:    dec02304     addi    sp,sp,140
  803d28:    f800283a     ret
  803d2c:    20801117     ldw    r2,68(r4)
  803d30:    400b883a     mov    r5,r8
  803d34:    40800115     stw    r2,4(r8)
  803d38:    20c01117     ldw    r3,68(r4)
  803d3c:    00800044     movi    r2,1
  803d40:    10c4983a     sll    r2,r2,r3
  803d44:    40800215     stw    r2,8(r8)
  803d48:    08061b80     call    8061b8 &lt;_Bfree&gt;
  803d4c:    e0001015     stw    zero,64(fp)
  803d50:    983fd30e     bge    r19,zero,803ca0 &lt;_dtoa_r+0x50&gt;
  803d54:    00a00034     movhi    r2,32768
  803d58:    10bfffc4     addi    r2,r2,-1
  803d5c:    14e6703a     and    r19,r2,r19
  803d60:    00c00044     movi    r3,1
  803d64:    80c00015     stw    r3,0(r16)
  803d68:    009ffc34     movhi    r2,32752
  803d6c:    10800004     addi    r2,r2,0
  803d70:    98dffc2c     andhi    r3,r19,32752
  803d74:    18bfcf1e     bne    r3,r2,803cb4 &lt;_dtoa_r+0x64&gt;
  803d78:    d8c02417     ldw    r3,144(sp)
  803d7c:    0089c3c4     movi    r2,9999
  803d80:    18800015     stw    r2,0(r3)
  803d84:    9000a226     beq    r18,zero,804010 &lt;_dtoa_r+0x3c0&gt;
  803d88:    00802074     movhi    r2,129
  803d8c:    10b36a04     addi    r2,r2,-12888
  803d90:    d8801715     stw    r2,92(sp)
  803d94:    d8c02617     ldw    r3,152(sp)
  803d98:    183fd726     beq    r3,zero,803cf8 &lt;_dtoa_r+0xa8&gt;
  803d9c:    d9001717     ldw    r4,92(sp)
  803da0:    208000c7     ldb    r2,3(r4)
  803da4:    20c00204     addi    r3,r4,8
  803da8:    1000011e     bne    r2,zero,803db0 &lt;_dtoa_r+0x160&gt;
  803dac:    20c000c4     addi    r3,r4,3
  803db0:    d8802617     ldw    r2,152(sp)
  803db4:    10c00015     stw    r3,0(r2)
  803db8:    003fcf06     br    803cf8 &lt;_dtoa_r+0xa8&gt;
  803dbc:    d8800104     addi    r2,sp,4
  803dc0:    e009883a     mov    r4,fp
  803dc4:    900b883a     mov    r5,r18
  803dc8:    980d883a     mov    r6,r19
  803dcc:    d9c00204     addi    r7,sp,8
  803dd0:    d8800015     stw    r2,0(sp)
  803dd4:    0806cf80     call    806cf8 &lt;_d2b&gt;
  803dd8:    d8801415     stw    r2,80(sp)
  803ddc:    9804d53a     srli    r2,r19,20
  803de0:    1581ffcc     andi    r22,r2,2047
  803de4:    b000921e     bne    r22,zero,804030 &lt;_dtoa_r+0x3e0&gt;
  803de8:    ddc00117     ldw    r23,4(sp)
  803dec:    d8800217     ldw    r2,8(sp)
  803df0:    00c00804     movi    r3,32
  803df4:    b885883a     add    r2,r23,r2
  803df8:    15810c84     addi    r22,r2,1074
  803dfc:    1d81bb0e     bge    r3,r22,8044ec &lt;_dtoa_r+0x89c&gt;
  803e00:    00c01004     movi    r3,64
  803e04:    1d87c83a     sub    r3,r3,r22
  803e08:    10810484     addi    r2,r2,1042
  803e0c:    98c6983a     sll    r3,r19,r3
  803e10:    9084d83a     srl    r2,r18,r2
  803e14:    18a0b03a     or    r16,r3,r2
  803e18:    8009883a     mov    r4,r16
  803e1c:    0808f7c0     call    808f7c &lt;__floatsidf&gt;
  803e20:    1011883a     mov    r8,r2
  803e24:    1813883a     mov    r9,r3
  803e28:    8003bd16     blt    r16,zero,804d20 &lt;_dtoa_r+0x10d0&gt;
  803e2c:    00bf8434     movhi    r2,65040
  803e30:    10800004     addi    r2,r2,0
  803e34:    1247883a     add    r3,r2,r9
  803e38:    01000044     movi    r4,1
  803e3c:    da000f15     stw    r8,60(sp)
  803e40:    d8c01015     stw    r3,64(sp)
  803e44:    b5bef344     addi    r22,r22,-1075
  803e48:    d9001315     stw    r4,76(sp)
  803e4c:    d9401017     ldw    r5,64(sp)
  803e50:    d9000f17     ldw    r4,60(sp)
  803e54:    0005883a     mov    r2,zero
  803e58:    00cffe34     movhi    r3,16376
  803e5c:    18c00004     addi    r3,r3,0
  803e60:    180f883a     mov    r7,r3
  803e64:    100d883a     mov    r6,r2
  803e68:    08085f80     call    8085f8 &lt;__subdf3&gt;
  803e6c:    0218dbf4     movhi    r8,25455
  803e70:    4210d844     addi    r8,r8,17249
  803e74:    024ff4f4     movhi    r9,16339
  803e78:    4a61e9c4     addi    r9,r9,-30809
  803e7c:    480f883a     mov    r7,r9
  803e80:    400d883a     mov    r6,r8
  803e84:    180b883a     mov    r5,r3
  803e88:    1009883a     mov    r4,r2
  803e8c:    08086700     call    808670 &lt;__muldf3&gt;
  803e90:    0222d874     movhi    r8,35681
  803e94:    42322cc4     addi    r8,r8,-14157
  803e98:    024ff1f4     movhi    r9,16327
  803e9c:    4a628a04     addi    r9,r9,-30168
  803ea0:    480f883a     mov    r7,r9
  803ea4:    400d883a     mov    r6,r8
  803ea8:    180b883a     mov    r5,r3
  803eac:    1009883a     mov    r4,r2
  803eb0:    080858c0     call    80858c &lt;__adddf3&gt;
  803eb4:    b009883a     mov    r4,r22
  803eb8:    1021883a     mov    r16,r2
  803ebc:    1823883a     mov    r17,r3
  803ec0:    0808f7c0     call    808f7c &lt;__floatsidf&gt;
  803ec4:    021427f4     movhi    r8,20639
  803ec8:    421e7ec4     addi    r8,r8,31227
  803ecc:    024ff4f4     movhi    r9,16339
  803ed0:    4a5104c4     addi    r9,r9,17427
  803ed4:    480f883a     mov    r7,r9
  803ed8:    400d883a     mov    r6,r8
  803edc:    180b883a     mov    r5,r3
  803ee0:    1009883a     mov    r4,r2
  803ee4:    08086700     call    808670 &lt;__muldf3&gt;
  803ee8:    180f883a     mov    r7,r3
  803eec:    880b883a     mov    r5,r17
  803ef0:    100d883a     mov    r6,r2
  803ef4:    8009883a     mov    r4,r16
  803ef8:    080858c0     call    80858c &lt;__adddf3&gt;
  803efc:    1009883a     mov    r4,r2
  803f00:    180b883a     mov    r5,r3
  803f04:    1021883a     mov    r16,r2
  803f08:    1823883a     mov    r17,r3
  803f0c:    080904c0     call    80904c &lt;__fixdfsi&gt;
  803f10:    000d883a     mov    r6,zero
  803f14:    000f883a     mov    r7,zero
  803f18:    8009883a     mov    r4,r16
  803f1c:    880b883a     mov    r5,r17
  803f20:    d8800915     stw    r2,36(sp)
  803f24:    0808ef00     call    808ef0 &lt;__ltdf2&gt;
  803f28:    1002eb16     blt    r2,zero,804ad8 &lt;_dtoa_r+0xe88&gt;
  803f2c:    d9000917     ldw    r4,36(sp)
  803f30:    00c00044     movi    r3,1
  803f34:    00800584     movi    r2,22
  803f38:    d8c00b15     stw    r3,44(sp)
  803f3c:    11001036     bltu    r2,r4,803f80 &lt;_dtoa_r+0x330&gt;
  803f40:    200490fa     slli    r2,r4,3
  803f44:    00c02074     movhi    r3,129
  803f48:    18f3a104     addi    r3,r3,-12668
  803f4c:    900d883a     mov    r6,r18
  803f50:    10c5883a     add    r2,r2,r3
  803f54:    12000017     ldw    r8,0(r2)
  803f58:    12400117     ldw    r9,4(r2)
  803f5c:    980f883a     mov    r7,r19
  803f60:    4009883a     mov    r4,r8
  803f64:    480b883a     mov    r5,r9
  803f68:    0808dd80     call    808dd8 &lt;__gtdf2&gt;
  803f6c:    0080030e     bge    zero,r2,803f7c &lt;_dtoa_r+0x32c&gt;
  803f70:    d8800917     ldw    r2,36(sp)
  803f74:    10bfffc4     addi    r2,r2,-1
  803f78:    d8800915     stw    r2,36(sp)
  803f7c:    d8000b15     stw    zero,44(sp)
  803f80:    bd85c83a     sub    r2,r23,r22
  803f84:    147fffc4     addi    r17,r2,-1
  803f88:    8802cf16     blt    r17,zero,804ac8 &lt;_dtoa_r+0xe78&gt;
  803f8c:    dc400d15     stw    r17,52(sp)
  803f90:    d8000415     stw    zero,16(sp)
  803f94:    d8c00917     ldw    r3,36(sp)
  803f98:    1802c316     blt    r3,zero,804aa8 &lt;_dtoa_r+0xe58&gt;
  803f9c:    d9000d17     ldw    r4,52(sp)
  803fa0:    d8000515     stw    zero,20(sp)
  803fa4:    d8c00e15     stw    r3,56(sp)
  803fa8:    20c9883a     add    r4,r4,r3
  803fac:    d9000d15     stw    r4,52(sp)
  803fb0:    d8c00317     ldw    r3,12(sp)
  803fb4:    00800244     movi    r2,9
  803fb8:    10c0012e     bgeu    r2,r3,803fc0 &lt;_dtoa_r+0x370&gt;
  803fbc:    d8000315     stw    zero,12(sp)
  803fc0:    d9000317     ldw    r4,12(sp)
  803fc4:    00800144     movi    r2,5
  803fc8:    04000044     movi    r16,1
  803fcc:    1100030e     bge    r2,r4,803fdc &lt;_dtoa_r+0x38c&gt;
  803fd0:    213fff04     addi    r4,r4,-4
  803fd4:    d9000315     stw    r4,12(sp)
  803fd8:    0021883a     mov    r16,zero
  803fdc:    00ffffc4     movi    r3,-1
  803fe0:    d8c00615     stw    r3,24(sp)
  803fe4:    d8c00815     stw    r3,32(sp)
  803fe8:    d8c00317     ldw    r3,12(sp)
  803fec:    01000044     movi    r4,1
  803ff0:    d9000c15     stw    r4,48(sp)
  803ff4:    10c02136     bltu    r2,r3,80407c &lt;_dtoa_r+0x42c&gt;
  803ff8:    180490ba     slli    r2,r3,2
  803ffc:    00c02074     movhi    r3,129
  804000:    18f37804     addi    r3,r3,-12832
  804004:    10c5883a     add    r2,r2,r3
  804008:    11000017     ldw    r4,0(r2)
  80400c:    2000683a     jmp    r4
  804010:    00800434     movhi    r2,16
  804014:    10bfffc4     addi    r2,r2,-1
  804018:    01002074     movhi    r4,129
  80401c:    21337504     addi    r4,r4,-12844
  804020:    9884703a     and    r2,r19,r2
  804024:    d9001715     stw    r4,92(sp)
  804028:    103f5a26     beq    r2,zero,803d94 &lt;_dtoa_r+0x144&gt;
  80402c:    003f5606     br    803d88 &lt;_dtoa_r+0x138&gt;
  804030:    00800434     movhi    r2,16
  804034:    10bfffc4     addi    r2,r2,-1
  804038:    ddc00117     ldw    r23,4(sp)
  80403c:    14c6703a     and    r3,r2,r19
  804040:    190ffc34     orhi    r4,r3,16368
  804044:    b5bf0044     addi    r22,r22,-1023
  804048:    dc800f15     stw    r18,60(sp)
  80404c:    d9001015     stw    r4,64(sp)
  804050:    d8001315     stw    zero,76(sp)
  804054:    003f7d06     br    803e4c &lt;_dtoa_r+0x1fc&gt;
  804058:    d8000c15     stw    zero,48(sp)
  80405c:    d8c02317     ldw    r3,140(sp)
  804060:    d9000917     ldw    r4,36(sp)
  804064:    1905883a     add    r2,r3,r4
  804068:    15800044     addi    r22,r2,1
  80406c:    d8800815     stw    r2,32(sp)
  804070:    dd800615     stw    r22,24(sp)
  804074:    05800116     blt    zero,r22,80407c &lt;_dtoa_r+0x42c&gt;
  804078:    05800044     movi    r22,1
  80407c:    00800604     movi    r2,24
  804080:    e0001115     stw    zero,68(fp)
  804084:    04400104     movi    r17,4
  804088:    b0800636     bltu    r22,r2,8040a4 &lt;_dtoa_r+0x454&gt;
  80408c:    0007883a     mov    r3,zero
  804090:    8c63883a     add    r17,r17,r17
  804094:    18c00044     addi    r3,r3,1
  804098:    88800504     addi    r2,r17,20
  80409c:    b0bffc2e     bgeu    r22,r2,804090 &lt;_dtoa_r+0x440&gt;
  8040a0:    e0c01115     stw    r3,68(fp)
  8040a4:    e1401117     ldw    r5,68(fp)
  8040a8:    e009883a     mov    r4,fp
  8040ac:    08061080     call    806108 &lt;_Balloc&gt;
  8040b0:    d8c00617     ldw    r3,24(sp)
  8040b4:    d8801815     stw    r2,96(sp)
  8040b8:    e0801015     stw    r2,64(fp)
  8040bc:    d8801715     stw    r2,92(sp)
  8040c0:    00800384     movi    r2,14
  8040c4:    10c0a936     bltu    r2,r3,80436c &lt;_dtoa_r+0x71c&gt;
  8040c8:    8000a826     beq    r16,zero,80436c &lt;_dtoa_r+0x71c&gt;
  8040cc:    d8c00917     ldw    r3,36(sp)
  8040d0:    d9000617     ldw    r4,24(sp)
  8040d4:    dc800f15     stw    r18,60(sp)
  8040d8:    dcc01015     stw    r19,64(sp)
  8040dc:    d8c00a15     stw    r3,40(sp)
  8040e0:    d9000715     stw    r4,28(sp)
  8040e4:    05800084     movi    r22,2
  8040e8:    00c1240e     bge    zero,r3,80457c &lt;_dtoa_r+0x92c&gt;
  8040ec:    1823d13a     srai    r17,r3,4
  8040f0:    188003cc     andi    r2,r3,15
  8040f4:    100490fa     slli    r2,r2,3
  8040f8:    8808d13a     srli    r4,r17,4
  8040fc:    00c02074     movhi    r3,129
  804100:    18f3a104     addi    r3,r3,-12668
  804104:    10c5883a     add    r2,r2,r3
  804108:    2100004c     andi    r4,r4,1
  80410c:    15000017     ldw    r20,0(r2)
  804110:    15400117     ldw    r21,4(r2)
  804114:    20000d26     beq    r4,zero,80414c &lt;_dtoa_r+0x4fc&gt;
  804118:    01802074     movhi    r6,129
  80411c:    31b39704     addi    r6,r6,-12708
  804120:    30c00917     ldw    r3,36(r6)
  804124:    30800817     ldw    r2,32(r6)
  804128:    980b883a     mov    r5,r19
  80412c:    9009883a     mov    r4,r18
  804130:    180f883a     mov    r7,r3
  804134:    100d883a     mov    r6,r2
  804138:    0808a700     call    808a70 &lt;__divdf3&gt;
  80413c:    8c4003cc     andi    r17,r17,15
  804140:    058000c4     movi    r22,3
  804144:    1025883a     mov    r18,r2
  804148:    1827883a     mov    r19,r3
  80414c:    88001126     beq    r17,zero,804194 &lt;_dtoa_r+0x544&gt;
  804150:    04002074     movhi    r16,129
  804154:    84339704     addi    r16,r16,-12708
  804158:    8880004c     andi    r2,r17,1
  80415c:    10000a26     beq    r2,zero,804188 &lt;_dtoa_r+0x538&gt;
  804160:    80800017     ldw    r2,0(r16)
  804164:    80c00117     ldw    r3,4(r16)
  804168:    a80b883a     mov    r5,r21
  80416c:    a009883a     mov    r4,r20
  804170:    180f883a     mov    r7,r3
  804174:    100d883a     mov    r6,r2
  804178:    08086700     call    808670 &lt;__muldf3&gt;
  80417c:    b5800044     addi    r22,r22,1
  804180:    1029883a     mov    r20,r2
  804184:    182b883a     mov    r21,r3
  804188:    8823d07a     srai    r17,r17,1
  80418c:    84000204     addi    r16,r16,8
  804190:    883ff11e     bne    r17,zero,804158 &lt;_dtoa_r+0x508&gt;
  804194:    980b883a     mov    r5,r19
  804198:    9009883a     mov    r4,r18
  80419c:    a80f883a     mov    r7,r21
  8041a0:    a00d883a     mov    r6,r20
  8041a4:    0808a700     call    808a70 &lt;__divdf3&gt;
  8041a8:    1025883a     mov    r18,r2
  8041ac:    1827883a     mov    r19,r3
  8041b0:    d8c00b17     ldw    r3,44(sp)
  8041b4:    18000926     beq    r3,zero,8041dc &lt;_dtoa_r+0x58c&gt;
  8041b8:    0005883a     mov    r2,zero
  8041bc:    00cffc34     movhi    r3,16368
  8041c0:    18c00004     addi    r3,r3,0
  8041c4:    180f883a     mov    r7,r3
  8041c8:    9009883a     mov    r4,r18
  8041cc:    980b883a     mov    r5,r19
  8041d0:    100d883a     mov    r6,r2
  8041d4:    0808ef00     call    808ef0 &lt;__ltdf2&gt;
  8041d8:    10037816     blt    r2,zero,804fbc &lt;_dtoa_r+0x136c&gt;
  8041dc:    b009883a     mov    r4,r22
  8041e0:    0808f7c0     call    808f7c &lt;__floatsidf&gt;
  8041e4:    180b883a     mov    r5,r3
  8041e8:    1009883a     mov    r4,r2
  8041ec:    900d883a     mov    r6,r18
  8041f0:    980f883a     mov    r7,r19
  8041f4:    08086700     call    808670 &lt;__muldf3&gt;
  8041f8:    0011883a     mov    r8,zero
  8041fc:    02500734     movhi    r9,16412
  804200:    4a400004     addi    r9,r9,0
  804204:    180b883a     mov    r5,r3
  804208:    480f883a     mov    r7,r9
  80420c:    1009883a     mov    r4,r2
  804210:    400d883a     mov    r6,r8
  804214:    080858c0     call    80858c &lt;__adddf3&gt;
  804218:    d8801115     stw    r2,68(sp)
  80421c:    00bf3034     movhi    r2,64704
  804220:    10800004     addi    r2,r2,0
  804224:    18a9883a     add    r20,r3,r2
  804228:    d8800617     ldw    r2,24(sp)
  80422c:    dd001215     stw    r20,72(sp)
  804230:    10024e1e     bne    r2,zero,804b6c &lt;_dtoa_r+0xf1c&gt;
  804234:    00d00534     movhi    r3,16404
  804238:    18c00004     addi    r3,r3,0
  80423c:    980b883a     mov    r5,r19
  804240:    180f883a     mov    r7,r3
  804244:    9009883a     mov    r4,r18
  804248:    100d883a     mov    r6,r2
  80424c:    08085f80     call    8085f8 &lt;__subdf3&gt;
  804250:    d9801117     ldw    r6,68(sp)
  804254:    a00f883a     mov    r7,r20
  804258:    1009883a     mov    r4,r2
  80425c:    180b883a     mov    r5,r3
  804260:    1021883a     mov    r16,r2
  804264:    1823883a     mov    r17,r3
  804268:    d8001615     stw    zero,88(sp)
  80426c:    002f883a     mov    r23,zero
  804270:    0808dd80     call    808dd8 &lt;__gtdf2&gt;
  804274:    0080260e     bge    zero,r2,804310 &lt;_dtoa_r+0x6c0&gt;
  804278:    d8800917     ldw    r2,36(sp)
  80427c:    d8c01817     ldw    r3,96(sp)
  804280:    d9001817     ldw    r4,96(sp)
  804284:    10800044     addi    r2,r2,1
  804288:    18c00044     addi    r3,r3,1
  80428c:    d8800915     stw    r2,36(sp)
  804290:    d8c01715     stw    r3,92(sp)
  804294:    00800c44     movi    r2,49
  804298:    20800005     stb    r2,0(r4)
  80429c:    e009883a     mov    r4,fp
  8042a0:    b80b883a     mov    r5,r23
  8042a4:    08061b80     call    8061b8 &lt;_Bfree&gt;
  8042a8:    d9001617     ldw    r4,88(sp)
  8042ac:    20000926     beq    r4,zero,8042d4 &lt;_dtoa_r+0x684&gt;
  8042b0:    d8801517     ldw    r2,84(sp)
  8042b4:    10000426     beq    r2,zero,8042c8 &lt;_dtoa_r+0x678&gt;
  8042b8:    11000326     beq    r2,r4,8042c8 &lt;_dtoa_r+0x678&gt;
  8042bc:    100b883a     mov    r5,r2
  8042c0:    e009883a     mov    r4,fp
  8042c4:    08061b80     call    8061b8 &lt;_Bfree&gt;
  8042c8:    d9401617     ldw    r5,88(sp)
  8042cc:    e009883a     mov    r4,fp
  8042d0:    08061b80     call    8061b8 &lt;_Bfree&gt;
  8042d4:    d9401417     ldw    r5,80(sp)
  8042d8:    e009883a     mov    r4,fp
  8042dc:    08061b80     call    8061b8 &lt;_Bfree&gt;
  8042e0:    d8c01717     ldw    r3,92(sp)
  8042e4:    18000005     stb    zero,0(r3)
  8042e8:    d9000917     ldw    r4,36(sp)
  8042ec:    d8c02417     ldw    r3,144(sp)
  8042f0:    20800044     addi    r2,r4,1
  8042f4:    d9002617     ldw    r4,152(sp)
  8042f8:    18800015     stw    r2,0(r3)
  8042fc:    20000226     beq    r4,zero,804308 &lt;_dtoa_r+0x6b8&gt;
  804300:    d8801717     ldw    r2,92(sp)
  804304:    20800015     stw    r2,0(r4)
  804308:    d8801817     ldw    r2,96(sp)
  80430c:    003e7b06     br    803cfc &lt;_dtoa_r+0xac&gt;
  804310:    d9001117     ldw    r4,68(sp)
  804314:    000d883a     mov    r6,zero
  804318:    01e00034     movhi    r7,32768
  80431c:    39c00004     addi    r7,r7,0
  804320:    2184f03a     xor    r2,r4,r6
  804324:    d9001217     ldw    r4,72(sp)
  804328:    800d883a     mov    r6,r16
  80432c:    21c6f03a     xor    r3,r4,r7
  804330:    180b883a     mov    r5,r3
  804334:    1009883a     mov    r4,r2
  804338:    880f883a     mov    r7,r17
  80433c:    0808dd80     call    808dd8 &lt;__gtdf2&gt;
  804340:    00808a16     blt    zero,r2,80456c &lt;_dtoa_r+0x91c&gt;
  804344:    d9000f17     ldw    r4,60(sp)
  804348:    d8801017     ldw    r2,64(sp)
  80434c:    d8c00a17     ldw    r3,40(sp)
  804350:    2025883a     mov    r18,r4
  804354:    1027883a     mov    r19,r2
  804358:    d9000717     ldw    r4,28(sp)
  80435c:    d8801817     ldw    r2,96(sp)
  804360:    d8c00915     stw    r3,36(sp)
  804364:    d9000615     stw    r4,24(sp)
  804368:    d8801715     stw    r2,92(sp)
  80436c:    d8c00217     ldw    r3,8(sp)
  804370:    1800a716     blt    r3,zero,804610 &lt;_dtoa_r+0x9c0&gt;
  804374:    d9000917     ldw    r4,36(sp)
  804378:    00800384     movi    r2,14
  80437c:    1100a416     blt    r2,r4,804610 &lt;_dtoa_r+0x9c0&gt;
  804380:    200490fa     slli    r2,r4,3
  804384:    00c02074     movhi    r3,129
  804388:    18f3a104     addi    r3,r3,-12668
  80438c:    10c5883a     add    r2,r2,r3
  804390:    15000017     ldw    r20,0(r2)
  804394:    15400117     ldw    r21,4(r2)
  804398:    d8802317     ldw    r2,140(sp)
  80439c:    10006016     blt    r2,zero,804520 &lt;_dtoa_r+0x8d0&gt;
  8043a0:    05800044     movi    r22,1
  8043a4:    00001106     br    8043ec &lt;_dtoa_r+0x79c&gt;
  8043a8:    0005883a     mov    r2,zero
  8043ac:    00d00934     movhi    r3,16420
  8043b0:    18c00004     addi    r3,r3,0
  8043b4:    400d883a     mov    r6,r8
  8043b8:    180b883a     mov    r5,r3
  8043bc:    480f883a     mov    r7,r9
  8043c0:    1009883a     mov    r4,r2
  8043c4:    08086700     call    808670 &lt;__muldf3&gt;
  8043c8:    180b883a     mov    r5,r3
  8043cc:    000d883a     mov    r6,zero
  8043d0:    000f883a     mov    r7,zero
  8043d4:    1009883a     mov    r4,r2
  8043d8:    1025883a     mov    r18,r2
  8043dc:    1827883a     mov    r19,r3
  8043e0:    0808cc00     call    808cc0 &lt;__eqdf2&gt;
  8043e4:    103fbb26     beq    r2,zero,8042d4 &lt;_dtoa_r+0x684&gt;
  8043e8:    b5800044     addi    r22,r22,1
  8043ec:    a00d883a     mov    r6,r20
  8043f0:    a80f883a     mov    r7,r21
  8043f4:    9009883a     mov    r4,r18
  8043f8:    980b883a     mov    r5,r19
  8043fc:    0808a700     call    808a70 &lt;__divdf3&gt;
  804400:    180b883a     mov    r5,r3
  804404:    1009883a     mov    r4,r2
  804408:    080904c0     call    80904c &lt;__fixdfsi&gt;
  80440c:    1009883a     mov    r4,r2
  804410:    102f883a     mov    r23,r2
  804414:    0808f7c0     call    808f7c &lt;__floatsidf&gt;
  804418:    180b883a     mov    r5,r3
  80441c:    1009883a     mov    r4,r2
  804420:    a00d883a     mov    r6,r20
  804424:    a80f883a     mov    r7,r21
  804428:    08086700     call    808670 &lt;__muldf3&gt;
  80442c:    180f883a     mov    r7,r3
  804430:    9009883a     mov    r4,r18
  804434:    980b883a     mov    r5,r19
  804438:    100d883a     mov    r6,r2
  80443c:    08085f80     call    8085f8 &lt;__subdf3&gt;
  804440:    d9001717     ldw    r4,92(sp)
  804444:    1011883a     mov    r8,r2
  804448:    b8800c04     addi    r2,r23,48
  80444c:    20800005     stb    r2,0(r4)
  804450:    d8800617     ldw    r2,24(sp)
  804454:    21000044     addi    r4,r4,1
  804458:    1813883a     mov    r9,r3
  80445c:    d9001715     stw    r4,92(sp)
  804460:    b0bfd11e     bne    r22,r2,8043a8 &lt;_dtoa_r+0x758&gt;
  804464:    4009883a     mov    r4,r8
  804468:    180b883a     mov    r5,r3
  80446c:    400d883a     mov    r6,r8
  804470:    180f883a     mov    r7,r3
  804474:    080858c0     call    80858c &lt;__adddf3&gt;
  804478:    100d883a     mov    r6,r2
  80447c:    a009883a     mov    r4,r20
  804480:    a80b883a     mov    r5,r21
  804484:    180f883a     mov    r7,r3
  804488:    1021883a     mov    r16,r2
  80448c:    1823883a     mov    r17,r3
  804490:    0808ef00     call    808ef0 &lt;__ltdf2&gt;
  804494:    10000816     blt    r2,zero,8044b8 &lt;_dtoa_r+0x868&gt;
  804498:    a80b883a     mov    r5,r21
  80449c:    800d883a     mov    r6,r16
  8044a0:    880f883a     mov    r7,r17
  8044a4:    a009883a     mov    r4,r20
  8044a8:    0808cc00     call    808cc0 &lt;__eqdf2&gt;
  8044ac:    103f891e     bne    r2,zero,8042d4 &lt;_dtoa_r+0x684&gt;
  8044b0:    b880004c     andi    r2,r23,1
  8044b4:    103f8726     beq    r2,zero,8042d4 &lt;_dtoa_r+0x684&gt;
  8044b8:    d8c01717     ldw    r3,92(sp)
  8044bc:    00800e44     movi    r2,57
  8044c0:    18ffffc4     addi    r3,r3,-1
  8044c4:    d8c01715     stw    r3,92(sp)
  8044c8:    18c00007     ldb    r3,0(r3)
  8044cc:    1882341e     bne    r3,r2,804da0 &lt;_dtoa_r+0x1150&gt;
  8044d0:    d9001717     ldw    r4,92(sp)
  8044d4:    d8801817     ldw    r2,96(sp)
  8044d8:    20822b26     beq    r4,r2,804d88 &lt;_dtoa_r+0x1138&gt;
  8044dc:    213fffc4     addi    r4,r4,-1
  8044e0:    d9001715     stw    r4,92(sp)
  8044e4:    20800007     ldb    r2,0(r4)
  8044e8:    003ff806     br    8044cc &lt;_dtoa_r+0x87c&gt;
  8044ec:    1d85c83a     sub    r2,r3,r22
  8044f0:    90a0983a     sll    r16,r18,r2
  8044f4:    003e4806     br    803e18 &lt;_dtoa_r+0x1c8&gt;
  8044f8:    d8000c15     stw    zero,48(sp)
  8044fc:    d9002317     ldw    r4,140(sp)
  804500:    0102a70e     bge    zero,r4,804fa0 &lt;_dtoa_r+0x1350&gt;
  804504:    dd802317     ldw    r22,140(sp)
  804508:    dd800815     stw    r22,32(sp)
  80450c:    dd800615     stw    r22,24(sp)
  804510:    003eda06     br    80407c &lt;_dtoa_r+0x42c&gt;
  804514:    05800484     movi    r22,18
  804518:    d8002315     stw    zero,140(sp)
  80451c:    003ed706     br    80407c &lt;_dtoa_r+0x42c&gt;
  804520:    d8c00617     ldw    r3,24(sp)
  804524:    00ff9e16     blt    zero,r3,8043a0 &lt;_dtoa_r+0x750&gt;
  804528:    d8001615     stw    zero,88(sp)
  80452c:    002f883a     mov    r23,zero
  804530:    18000e16     blt    r3,zero,80456c &lt;_dtoa_r+0x91c&gt;
  804534:    0005883a     mov    r2,zero
  804538:    00d00534     movhi    r3,16404
  80453c:    18c00004     addi    r3,r3,0
  804540:    a80b883a     mov    r5,r21
  804544:    180f883a     mov    r7,r3
  804548:    a009883a     mov    r4,r20
  80454c:    100d883a     mov    r6,r2
  804550:    08086700     call    808670 &lt;__muldf3&gt;
  804554:    180b883a     mov    r5,r3
  804558:    980f883a     mov    r7,r19
  80455c:    1009883a     mov    r4,r2
  804560:    900d883a     mov    r6,r18
  804564:    0808e640     call    808e64 &lt;__gedf2&gt;
  804568:    103f4316     blt    r2,zero,804278 &lt;_dtoa_r+0x628&gt;
  80456c:    d9002317     ldw    r4,140(sp)
  804570:    0108303a     nor    r4,zero,r4
  804574:    d9000915     stw    r4,36(sp)
  804578:    003f4806     br    80429c &lt;_dtoa_r+0x64c&gt;
  80457c:    d8800917     ldw    r2,36(sp)
  804580:    00a9c83a     sub    r20,zero,r2
  804584:    a03f0a26     beq    r20,zero,8041b0 &lt;_dtoa_r+0x560&gt;
  804588:    a14003cc     andi    r5,r20,15
  80458c:    280a90fa     slli    r5,r5,3
  804590:    01002074     movhi    r4,129
  804594:    2133a104     addi    r4,r4,-12668
  804598:    a023d13a     srai    r17,r20,4
  80459c:    290b883a     add    r5,r5,r4
  8045a0:    28800017     ldw    r2,0(r5)
  8045a4:    28c00117     ldw    r3,4(r5)
  8045a8:    980f883a     mov    r7,r19
  8045ac:    900d883a     mov    r6,r18
  8045b0:    180b883a     mov    r5,r3
  8045b4:    1009883a     mov    r4,r2
  8045b8:    08086700     call    808670 &lt;__muldf3&gt;
  8045bc:    1025883a     mov    r18,r2
  8045c0:    1827883a     mov    r19,r3
  8045c4:    883efa26     beq    r17,zero,8041b0 &lt;_dtoa_r+0x560&gt;
  8045c8:    04002074     movhi    r16,129
  8045cc:    84339704     addi    r16,r16,-12708
  8045d0:    8880004c     andi    r2,r17,1
  8045d4:    10000a26     beq    r2,zero,804600 &lt;_dtoa_r+0x9b0&gt;
  8045d8:    80800017     ldw    r2,0(r16)
  8045dc:    80c00117     ldw    r3,4(r16)
  8045e0:    980f883a     mov    r7,r19
  8045e4:    900d883a     mov    r6,r18
  8045e8:    180b883a     mov    r5,r3
  8045ec:    1009883a     mov    r4,r2
  8045f0:    08086700     call    808670 &lt;__muldf3&gt;
  8045f4:    b5800044     addi    r22,r22,1
  8045f8:    1025883a     mov    r18,r2
  8045fc:    1827883a     mov    r19,r3
  804600:    8823d07a     srai    r17,r17,1
  804604:    84000204     addi    r16,r16,8
  804608:    883ff11e     bne    r17,zero,8045d0 &lt;_dtoa_r+0x980&gt;
  80460c:    003ee806     br    8041b0 &lt;_dtoa_r+0x560&gt;
  804610:    d9000c17     ldw    r4,48(sp)
  804614:    dd000417     ldw    r20,16(sp)
  804618:    dc000517     ldw    r16,20(sp)
  80461c:    202b003a     cmpeq    r21,r4,zero
  804620:    d8001515     stw    zero,84(sp)
  804624:    d8001615     stw    zero,88(sp)
  804628:    a800131e     bne    r21,zero,804678 &lt;_dtoa_r+0xa28&gt;
  80462c:    d9000317     ldw    r4,12(sp)
  804630:    00800044     movi    r2,1
  804634:    1101a216     blt    r2,r4,804cc0 &lt;_dtoa_r+0x1070&gt;
  804638:    d8801317     ldw    r2,76(sp)
  80463c:    1d810cc4     addi    r22,r3,1075
  804640:    1000031e     bne    r2,zero,804650 &lt;_dtoa_r+0xa00&gt;
  804644:    d8800117     ldw    r2,4(sp)
  804648:    00c00d84     movi    r3,54
  80464c:    18adc83a     sub    r22,r3,r2
  804650:    e009883a     mov    r4,fp
  804654:    01400044     movi    r5,1
  804658:    08064f00     call    8064f0 &lt;_i2b&gt;
  80465c:    d8801615     stw    r2,88(sp)
  804660:    d9000d17     ldw    r4,52(sp)
  804664:    d8800417     ldw    r2,16(sp)
  804668:    2589883a     add    r4,r4,r22
  80466c:    1585883a     add    r2,r2,r22
  804670:    d9000d15     stw    r4,52(sp)
  804674:    d8800415     stw    r2,16(sp)
  804678:    05000c0e     bge    zero,r20,8046ac &lt;_dtoa_r+0xa5c&gt;
  80467c:    d8c00d17     ldw    r3,52(sp)
  804680:    00c00a0e     bge    zero,r3,8046ac &lt;_dtoa_r+0xa5c&gt;
  804684:    182d883a     mov    r22,r3
  804688:    a0c0010e     bge    r20,r3,804690 &lt;_dtoa_r+0xa40&gt;
  80468c:    a02d883a     mov    r22,r20
  804690:    d9000d17     ldw    r4,52(sp)
  804694:    d8800417     ldw    r2,16(sp)
  804698:    a5a9c83a     sub    r20,r20,r22
  80469c:    2589c83a     sub    r4,r4,r22
  8046a0:    1585c83a     sub    r2,r2,r22
  8046a4:    d9000d15     stw    r4,52(sp)
  8046a8:    d8800415     stw    r2,16(sp)
  8046ac:    d8c00517     ldw    r3,20(sp)
  8046b0:    00c0130e     bge    zero,r3,804700 &lt;_dtoa_r+0xab0&gt;
  8046b4:    a801941e     bne    r21,zero,804d08 &lt;_dtoa_r+0x10b8&gt;
  8046b8:    04000e0e     bge    zero,r16,8046f4 &lt;_dtoa_r+0xaa4&gt;
  8046bc:    d9401617     ldw    r5,88(sp)
  8046c0:    e009883a     mov    r4,fp
  8046c4:    800d883a     mov    r6,r16
  8046c8:    08067000     call    806700 &lt;_pow5mult&gt;
  8046cc:    d9801417     ldw    r6,80(sp)
  8046d0:    e009883a     mov    r4,fp
  8046d4:    100b883a     mov    r5,r2
  8046d8:    d8801615     stw    r2,88(sp)
  8046dc:    080652c0     call    80652c &lt;_multiply&gt;
  8046e0:    d9401417     ldw    r5,80(sp)
  8046e4:    1023883a     mov    r17,r2
  8046e8:    e009883a     mov    r4,fp
  8046ec:    08061b80     call    8061b8 &lt;_Bfree&gt;
  8046f0:    dc401415     stw    r17,80(sp)
  8046f4:    d9000517     ldw    r4,20(sp)
  8046f8:    2423c83a     sub    r17,r4,r16
  8046fc:    8801af1e     bne    r17,zero,804dbc &lt;_dtoa_r+0x116c&gt;
  804700:    04000044     movi    r16,1
  804704:    e009883a     mov    r4,fp
  804708:    800b883a     mov    r5,r16
  80470c:    08064f00     call    8064f0 &lt;_i2b&gt;
  804710:    102f883a     mov    r23,r2
  804714:    d8800e17     ldw    r2,56(sp)
  804718:    0080050e     bge    zero,r2,804730 &lt;_dtoa_r+0xae0&gt;
  80471c:    b80b883a     mov    r5,r23
  804720:    e009883a     mov    r4,fp
  804724:    100d883a     mov    r6,r2
  804728:    08067000     call    806700 &lt;_pow5mult&gt;
  80472c:    102f883a     mov    r23,r2
  804730:    d8c00317     ldw    r3,12(sp)
  804734:    0023883a     mov    r17,zero
  804738:    80c00e16     blt    r16,r3,804774 &lt;_dtoa_r+0xb24&gt;
  80473c:    90000d1e     bne    r18,zero,804774 &lt;_dtoa_r+0xb24&gt;
  804740:    00800434     movhi    r2,16
  804744:    10bfffc4     addi    r2,r2,-1
  804748:    9884703a     and    r2,r19,r2
  80474c:    1000091e     bne    r2,zero,804774 &lt;_dtoa_r+0xb24&gt;
  804750:    989ffc2c     andhi    r2,r19,32752
  804754:    10000726     beq    r2,zero,804774 &lt;_dtoa_r+0xb24&gt;
  804758:    d9000417     ldw    r4,16(sp)
  80475c:    d8800d17     ldw    r2,52(sp)
  804760:    8023883a     mov    r17,r16
  804764:    21000044     addi    r4,r4,1
  804768:    10800044     addi    r2,r2,1
  80476c:    d9000415     stw    r4,16(sp)
  804770:    d8800d15     stw    r2,52(sp)
  804774:    d8c00e17     ldw    r3,56(sp)
  804778:    1800f41e     bne    r3,zero,804b4c &lt;_dtoa_r+0xefc&gt;
  80477c:    d8c00d17     ldw    r3,52(sp)
  804780:    18800044     addi    r2,r3,1
  804784:    158007cc     andi    r22,r2,31
  804788:    b0000226     beq    r22,zero,804794 &lt;_dtoa_r+0xb44&gt;
  80478c:    00800804     movi    r2,32
  804790:    15adc83a     sub    r22,r2,r22
  804794:    00800104     movi    r2,4
  804798:    1580b20e     bge    r2,r22,804a64 &lt;_dtoa_r+0xe14&gt;
  80479c:    d9000d17     ldw    r4,52(sp)
  8047a0:    d8800417     ldw    r2,16(sp)
  8047a4:    b5bfff04     addi    r22,r22,-4
  8047a8:    2589883a     add    r4,r4,r22
  8047ac:    1585883a     add    r2,r2,r22
  8047b0:    d9000d15     stw    r4,52(sp)
  8047b4:    d8800415     stw    r2,16(sp)
  8047b8:    a5a9883a     add    r20,r20,r22
  8047bc:    d8800417     ldw    r2,16(sp)
  8047c0:    0080050e     bge    zero,r2,8047d8 &lt;_dtoa_r+0xb88&gt;
  8047c4:    d9401417     ldw    r5,80(sp)
  8047c8:    100d883a     mov    r6,r2
  8047cc:    e009883a     mov    r4,fp
  8047d0:    080682c0     call    80682c &lt;_lshift&gt;
  8047d4:    d8801415     stw    r2,80(sp)
  8047d8:    d8c00d17     ldw    r3,52(sp)
  8047dc:    00c0050e     bge    zero,r3,8047f4 &lt;_dtoa_r+0xba4&gt;
  8047e0:    b80b883a     mov    r5,r23
  8047e4:    180d883a     mov    r6,r3
  8047e8:    e009883a     mov    r4,fp
  8047ec:    080682c0     call    80682c &lt;_lshift&gt;
  8047f0:    102f883a     mov    r23,r2
  8047f4:    d9000b17     ldw    r4,44(sp)
  8047f8:    2000c31e     bne    r4,zero,804b08 &lt;_dtoa_r+0xeb8&gt;
  8047fc:    d9000617     ldw    r4,24(sp)
  804800:    0101520e     bge    zero,r4,804d4c &lt;_dtoa_r+0x10fc&gt;
  804804:    05800044     movi    r22,1
  804808:    a8004d1e     bne    r21,zero,804940 &lt;_dtoa_r+0xcf0&gt;
  80480c:    0500050e     bge    zero,r20,804824 &lt;_dtoa_r+0xbd4&gt;
  804810:    d9401617     ldw    r5,88(sp)
  804814:    a00d883a     mov    r6,r20
  804818:    e009883a     mov    r4,fp
  80481c:    080682c0     call    80682c &lt;_lshift&gt;
  804820:    d8801615     stw    r2,88(sp)
  804824:    d8801617     ldw    r2,88(sp)
  804828:    d8801515     stw    r2,84(sp)
  80482c:    8801661e     bne    r17,zero,804dc8 &lt;_dtoa_r+0x1178&gt;
  804830:    94c0004c     andi    r19,r18,1
  804834:    05800044     movi    r22,1
  804838:    05400e44     movi    r21,57
  80483c:    d9001417     ldw    r4,80(sp)
  804840:    b80b883a     mov    r5,r23
  804844:    05000044     movi    r20,1
  804848:    0803a540     call    803a54 &lt;quorem&gt;
  80484c:    d9001417     ldw    r4,80(sp)
  804850:    d9401517     ldw    r5,84(sp)
  804854:    14800c04     addi    r18,r2,48
  804858:    08069640     call    806964 &lt;__mcmp&gt;
  80485c:    d9801617     ldw    r6,88(sp)
  804860:    e009883a     mov    r4,fp
  804864:    b80b883a     mov    r5,r23
  804868:    1023883a     mov    r17,r2
  80486c:    08069c80     call    8069c8 &lt;__mdiff&gt;
  804870:    1021883a     mov    r16,r2
  804874:    10800317     ldw    r2,12(r2)
  804878:    10006c26     beq    r2,zero,804a2c &lt;_dtoa_r+0xddc&gt;
  80487c:    800b883a     mov    r5,r16
  804880:    e009883a     mov    r4,fp
  804884:    08061b80     call    8061b8 &lt;_Bfree&gt;
  804888:    a000031e     bne    r20,zero,804898 &lt;_dtoa_r+0xc48&gt;
  80488c:    d9000317     ldw    r4,12(sp)
  804890:    2000011e     bne    r4,zero,804898 &lt;_dtoa_r+0xc48&gt;
  804894:    98005d26     beq    r19,zero,804a0c &lt;_dtoa_r+0xdbc&gt;
  804898:    88004a16     blt    r17,zero,8049c4 &lt;_dtoa_r+0xd74&gt;
  80489c:    8800031e     bne    r17,zero,8048ac &lt;_dtoa_r+0xc5c&gt;
  8048a0:    d8c00317     ldw    r3,12(sp)
  8048a4:    1800011e     bne    r3,zero,8048ac &lt;_dtoa_r+0xc5c&gt;
  8048a8:    98004626     beq    r19,zero,8049c4 &lt;_dtoa_r+0xd74&gt;
  8048ac:    0501a916     blt    zero,r20,804f54 &lt;_dtoa_r+0x1304&gt;
  8048b0:    d9001717     ldw    r4,92(sp)
  8048b4:    24800005     stb    r18,0(r4)
  8048b8:    d8800617     ldw    r2,24(sp)
  8048bc:    21000044     addi    r4,r4,1
  8048c0:    d9001715     stw    r4,92(sp)
  8048c4:    b0802926     beq    r22,r2,80496c &lt;_dtoa_r+0xd1c&gt;
  8048c8:    d9401417     ldw    r5,80(sp)
  8048cc:    e009883a     mov    r4,fp
  8048d0:    01800284     movi    r6,10
  8048d4:    000f883a     mov    r7,zero
  8048d8:    08061dc0     call    8061dc &lt;_multadd&gt;
  8048dc:    d8c01517     ldw    r3,84(sp)
  8048e0:    d9001617     ldw    r4,88(sp)
  8048e4:    d8801415     stw    r2,80(sp)
  8048e8:    19005526     beq    r3,r4,804a40 &lt;_dtoa_r+0xdf0&gt;
  8048ec:    d9401517     ldw    r5,84(sp)
  8048f0:    e009883a     mov    r4,fp
  8048f4:    01800284     movi    r6,10
  8048f8:    000f883a     mov    r7,zero
  8048fc:    08061dc0     call    8061dc &lt;_multadd&gt;
  804900:    d9401617     ldw    r5,88(sp)
  804904:    e009883a     mov    r4,fp
  804908:    01800284     movi    r6,10
  80490c:    000f883a     mov    r7,zero
  804910:    d8801515     stw    r2,84(sp)
  804914:    b5800044     addi    r22,r22,1
  804918:    08061dc0     call    8061dc &lt;_multadd&gt;
  80491c:    d8801615     stw    r2,88(sp)
  804920:    003fc606     br    80483c &lt;_dtoa_r+0xbec&gt;
  804924:    d9401417     ldw    r5,80(sp)
  804928:    e009883a     mov    r4,fp
  80492c:    01800284     movi    r6,10
  804930:    000f883a     mov    r7,zero
  804934:    08061dc0     call    8061dc &lt;_multadd&gt;
  804938:    d8801415     stw    r2,80(sp)
  80493c:    b5800044     addi    r22,r22,1
  804940:    d9001417     ldw    r4,80(sp)
  804944:    b80b883a     mov    r5,r23
  804948:    0803a540     call    803a54 &lt;quorem&gt;
  80494c:    14800c04     addi    r18,r2,48
  804950:    d8801717     ldw    r2,92(sp)
  804954:    14800005     stb    r18,0(r2)
  804958:    d8801717     ldw    r2,92(sp)
  80495c:    d8c00617     ldw    r3,24(sp)
  804960:    10800044     addi    r2,r2,1
  804964:    d8801715     stw    r2,92(sp)
  804968:    b0ffee16     blt    r22,r3,804924 &lt;_dtoa_r+0xcd4&gt;
  80496c:    d9401417     ldw    r5,80(sp)
  804970:    e009883a     mov    r4,fp
  804974:    01800044     movi    r6,1
  804978:    080682c0     call    80682c &lt;_lshift&gt;
  80497c:    1009883a     mov    r4,r2
  804980:    b80b883a     mov    r5,r23
  804984:    d8801415     stw    r2,80(sp)
  804988:    08069640     call    806964 &lt;__mcmp&gt;
  80498c:    0081770e     bge    zero,r2,804f6c &lt;_dtoa_r+0x131c&gt;
  804990:    d9001717     ldw    r4,92(sp)
  804994:    00800e44     movi    r2,57
  804998:    213fffc4     addi    r4,r4,-1
  80499c:    d9001715     stw    r4,92(sp)
  8049a0:    20c00007     ldb    r3,0(r4)
  8049a4:    1880391e     bne    r3,r2,804a8c &lt;_dtoa_r+0xe3c&gt;
  8049a8:    d8801717     ldw    r2,92(sp)
  8049ac:    d9001817     ldw    r4,96(sp)
  8049b0:    113e3126     beq    r2,r4,804278 &lt;_dtoa_r+0x628&gt;
  8049b4:    10bfffc4     addi    r2,r2,-1
  8049b8:    d8801715     stw    r2,92(sp)
  8049bc:    10800007     ldb    r2,0(r2)
  8049c0:    003ff806     br    8049a4 &lt;_dtoa_r+0xd54&gt;
  8049c4:    05000c0e     bge    zero,r20,8049f8 &lt;_dtoa_r+0xda8&gt;
  8049c8:    d9401417     ldw    r5,80(sp)
  8049cc:    e009883a     mov    r4,fp
  8049d0:    01800044     movi    r6,1
  8049d4:    080682c0     call    80682c &lt;_lshift&gt;
  8049d8:    1009883a     mov    r4,r2
  8049dc:    b80b883a     mov    r5,r23
  8049e0:    d8801415     stw    r2,80(sp)
  8049e4:    08069640     call    806964 &lt;__mcmp&gt;
  8049e8:    00818a0e     bge    zero,r2,805014 &lt;_dtoa_r+0x13c4&gt;
  8049ec:    94800044     addi    r18,r18,1
  8049f0:    00800e84     movi    r2,58
  8049f4:    90815826     beq    r18,r2,804f58 &lt;_dtoa_r+0x1308&gt;
  8049f8:    d9001717     ldw    r4,92(sp)
  8049fc:    24800005     stb    r18,0(r4)
  804a00:    21000044     addi    r4,r4,1
  804a04:    d9001715     stw    r4,92(sp)
  804a08:    003e2406     br    80429c &lt;_dtoa_r+0x64c&gt;
  804a0c:    95415226     beq    r18,r21,804f58 &lt;_dtoa_r+0x1308&gt;
  804a10:    0440010e     bge    zero,r17,804a18 &lt;_dtoa_r+0xdc8&gt;
  804a14:    94800044     addi    r18,r18,1
  804a18:    d8801717     ldw    r2,92(sp)
  804a1c:    14800005     stb    r18,0(r2)
  804a20:    10800044     addi    r2,r2,1
  804a24:    d8801715     stw    r2,92(sp)
  804a28:    003e1c06     br    80429c &lt;_dtoa_r+0x64c&gt;
  804a2c:    d9001417     ldw    r4,80(sp)
  804a30:    800b883a     mov    r5,r16
  804a34:    08069640     call    806964 &lt;__mcmp&gt;
  804a38:    1029883a     mov    r20,r2
  804a3c:    003f8f06     br    80487c &lt;_dtoa_r+0xc2c&gt;
  804a40:    200b883a     mov    r5,r4
  804a44:    01800284     movi    r6,10
  804a48:    e009883a     mov    r4,fp
  804a4c:    000f883a     mov    r7,zero
  804a50:    08061dc0     call    8061dc &lt;_multadd&gt;
  804a54:    b5800044     addi    r22,r22,1
  804a58:    d8801615     stw    r2,88(sp)
  804a5c:    d8801515     stw    r2,84(sp)
  804a60:    003f7606     br    80483c &lt;_dtoa_r+0xbec&gt;
  804a64:    008000c4     movi    r2,3
  804a68:    15bf5416     blt    r2,r22,8047bc &lt;_dtoa_r+0xb6c&gt;
  804a6c:    d8c00d17     ldw    r3,52(sp)
  804a70:    d9000417     ldw    r4,16(sp)
  804a74:    b5800704     addi    r22,r22,28
  804a78:    1d87883a     add    r3,r3,r22
  804a7c:    2589883a     add    r4,r4,r22
  804a80:    d8c00d15     stw    r3,52(sp)
  804a84:    d9000415     stw    r4,16(sp)
  804a88:    003f4b06     br    8047b8 &lt;_dtoa_r+0xb68&gt;
  804a8c:    d8c01717     ldw    r3,92(sp)
  804a90:    18800003     ldbu    r2,0(r3)
  804a94:    19000044     addi    r4,r3,1
  804a98:    d9001715     stw    r4,92(sp)
  804a9c:    10800044     addi    r2,r2,1
  804aa0:    18800005     stb    r2,0(r3)
  804aa4:    003dfd06     br    80429c &lt;_dtoa_r+0x64c&gt;
  804aa8:    d8800417     ldw    r2,16(sp)
  804aac:    d8c00917     ldw    r3,36(sp)
  804ab0:    d8000e15     stw    zero,56(sp)
  804ab4:    10c5c83a     sub    r2,r2,r3
  804ab8:    00c9c83a     sub    r4,zero,r3
  804abc:    d8800415     stw    r2,16(sp)
  804ac0:    d9000515     stw    r4,20(sp)
  804ac4:    003d3a06     br    803fb0 &lt;_dtoa_r+0x360&gt;
  804ac8:    0463c83a     sub    r17,zero,r17
  804acc:    dc400415     stw    r17,16(sp)
  804ad0:    d8000d15     stw    zero,52(sp)
  804ad4:    003d2f06     br    803f94 &lt;_dtoa_r+0x344&gt;
  804ad8:    d9000917     ldw    r4,36(sp)
  804adc:    0808f7c0     call    808f7c &lt;__floatsidf&gt;
  804ae0:    180b883a     mov    r5,r3
  804ae4:    800d883a     mov    r6,r16
  804ae8:    880f883a     mov    r7,r17
  804aec:    1009883a     mov    r4,r2
  804af0:    0808d4c0     call    808d4c &lt;__nedf2&gt;
  804af4:    103d0d26     beq    r2,zero,803f2c &lt;_dtoa_r+0x2dc&gt;
  804af8:    d8800917     ldw    r2,36(sp)
  804afc:    10bfffc4     addi    r2,r2,-1
  804b00:    d8800915     stw    r2,36(sp)
  804b04:    003d0906     br    803f2c &lt;_dtoa_r+0x2dc&gt;
  804b08:    d9001417     ldw    r4,80(sp)
  804b0c:    b80b883a     mov    r5,r23
  804b10:    08069640     call    806964 &lt;__mcmp&gt;
  804b14:    103f390e     bge    r2,zero,8047fc &lt;_dtoa_r+0xbac&gt;
  804b18:    d9401417     ldw    r5,80(sp)
  804b1c:    e009883a     mov    r4,fp
  804b20:    01800284     movi    r6,10
  804b24:    000f883a     mov    r7,zero
  804b28:    08061dc0     call    8061dc &lt;_multadd&gt;
  804b2c:    d8801415     stw    r2,80(sp)
  804b30:    d8800917     ldw    r2,36(sp)
  804b34:    10bfffc4     addi    r2,r2,-1
  804b38:    d8800915     stw    r2,36(sp)
  804b3c:    a8013926     beq    r21,zero,805024 &lt;_dtoa_r+0x13d4&gt;
  804b40:    d8c00817     ldw    r3,32(sp)
  804b44:    d8c00615     stw    r3,24(sp)
  804b48:    003f2c06     br    8047fc &lt;_dtoa_r+0xbac&gt;
  804b4c:    b8800417     ldw    r2,16(r23)
  804b50:    100490ba     slli    r2,r2,2
  804b54:    15c5883a     add    r2,r2,r23
  804b58:    11000417     ldw    r4,16(r2)
  804b5c:    08063d40     call    8063d4 &lt;_hi0bits&gt;
  804b60:    d9000d17     ldw    r4,52(sp)
  804b64:    2085c83a     sub    r2,r4,r2
  804b68:    003f0606     br    804784 &lt;_dtoa_r+0xb34&gt;
  804b6c:    d8800c17     ldw    r2,48(sp)
  804b70:    1000a626     beq    r2,zero,804e0c &lt;_dtoa_r+0x11bc&gt;
  804b74:    d8c00617     ldw    r3,24(sp)
  804b78:    01002074     movhi    r4,129
  804b7c:    21339f04     addi    r4,r4,-12676
  804b80:    0005883a     mov    r2,zero
  804b84:    180c90fa     slli    r6,r3,3
  804b88:    00cff834     movhi    r3,16352
  804b8c:    18c00004     addi    r3,r3,0
  804b90:    180b883a     mov    r5,r3
  804b94:    310d883a     add    r6,r6,r4
  804b98:    32400117     ldw    r9,4(r6)
  804b9c:    32000017     ldw    r8,0(r6)
  804ba0:    1009883a     mov    r4,r2
  804ba4:    480f883a     mov    r7,r9
  804ba8:    400d883a     mov    r6,r8
  804bac:    0808a700     call    808a70 &lt;__divdf3&gt;
  804bb0:    d9801117     ldw    r6,68(sp)
  804bb4:    180b883a     mov    r5,r3
  804bb8:    a00f883a     mov    r7,r20
  804bbc:    1009883a     mov    r4,r2
  804bc0:    08085f80     call    8085f8 &lt;__subdf3&gt;
  804bc4:    002d883a     mov    r22,zero
  804bc8:    d8801115     stw    r2,68(sp)
  804bcc:    d8c01215     stw    r3,72(sp)
  804bd0:    00001106     br    804c18 &lt;_dtoa_r+0xfc8&gt;
  804bd4:    d9c01217     ldw    r7,72(sp)
  804bd8:    d9801117     ldw    r6,68(sp)
  804bdc:    04500934     movhi    r17,16420
  804be0:    8c400004     addi    r17,r17,0
  804be4:    0021883a     mov    r16,zero
  804be8:    8009883a     mov    r4,r16
  804bec:    880b883a     mov    r5,r17
  804bf0:    08086700     call    808670 &lt;__muldf3&gt;
  804bf4:    0009883a     mov    r4,zero
  804bf8:    880b883a     mov    r5,r17
  804bfc:    a00d883a     mov    r6,r20
  804c00:    a80f883a     mov    r7,r21
  804c04:    d8801115     stw    r2,68(sp)
  804c08:    d8c01215     stw    r3,72(sp)
  804c0c:    08086700     call    808670 &lt;__muldf3&gt;
  804c10:    1025883a     mov    r18,r2
  804c14:    1827883a     mov    r19,r3
  804c18:    980b883a     mov    r5,r19
  804c1c:    9009883a     mov    r4,r18
  804c20:    080904c0     call    80904c &lt;__fixdfsi&gt;
  804c24:    1009883a     mov    r4,r2
  804c28:    102f883a     mov    r23,r2
  804c2c:    0808f7c0     call    808f7c &lt;__floatsidf&gt;
  804c30:    980b883a     mov    r5,r19
  804c34:    180f883a     mov    r7,r3
  804c38:    9009883a     mov    r4,r18
  804c3c:    100d883a     mov    r6,r2
  804c40:    08085f80     call    8085f8 &lt;__subdf3&gt;
  804c44:    182b883a     mov    r21,r3
  804c48:    d8c01717     ldw    r3,92(sp)
  804c4c:    1029883a     mov    r20,r2
  804c50:    b8800c04     addi    r2,r23,48
  804c54:    18800005     stb    r2,0(r3)
  804c58:    d9801117     ldw    r6,68(sp)
  804c5c:    d9c01217     ldw    r7,72(sp)
  804c60:    18c00044     addi    r3,r3,1
  804c64:    a009883a     mov    r4,r20
  804c68:    a80b883a     mov    r5,r21
  804c6c:    d8c01715     stw    r3,92(sp)
  804c70:    0808ef00     call    808ef0 &lt;__ltdf2&gt;
  804c74:    103d9716     blt    r2,zero,8042d4 &lt;_dtoa_r+0x684&gt;
  804c78:    0005883a     mov    r2,zero
  804c7c:    00cffc34     movhi    r3,16368
  804c80:    18c00004     addi    r3,r3,0
  804c84:    180b883a     mov    r5,r3
  804c88:    1009883a     mov    r4,r2
  804c8c:    a00d883a     mov    r6,r20
  804c90:    a80f883a     mov    r7,r21
  804c94:    08085f80     call    8085f8 &lt;__subdf3&gt;
  804c98:    d9801117     ldw    r6,68(sp)
  804c9c:    d9c01217     ldw    r7,72(sp)
  804ca0:    180b883a     mov    r5,r3
  804ca4:    1009883a     mov    r4,r2
  804ca8:    0808ef00     call    808ef0 &lt;__ltdf2&gt;
  804cac:    103e0216     blt    r2,zero,8044b8 &lt;_dtoa_r+0x868&gt;
  804cb0:    d9000617     ldw    r4,24(sp)
  804cb4:    b5800044     addi    r22,r22,1
  804cb8:    b13fc616     blt    r22,r4,804bd4 &lt;_dtoa_r+0xf84&gt;
  804cbc:    003da106     br    804344 &lt;_dtoa_r+0x6f4&gt;
  804cc0:    d8c00617     ldw    r3,24(sp)
  804cc4:    d9000517     ldw    r4,20(sp)
  804cc8:    1c7fffc4     addi    r17,r3,-1
  804ccc:    2461c83a     sub    r16,r4,r17
  804cd0:    2440070e     bge    r4,r17,804cf0 &lt;_dtoa_r+0x10a0&gt;
  804cd4:    d8800e17     ldw    r2,56(sp)
  804cd8:    8923c83a     sub    r17,r17,r4
  804cdc:    2449883a     add    r4,r4,r17
  804ce0:    1445883a     add    r2,r2,r17
  804ce4:    d9000515     stw    r4,20(sp)
  804ce8:    d8800e15     stw    r2,56(sp)
  804cec:    0021883a     mov    r16,zero
  804cf0:    dd800617     ldw    r22,24(sp)
  804cf4:    b03e560e     bge    r22,zero,804650 &lt;_dtoa_r+0xa00&gt;
  804cf8:    d8c00417     ldw    r3,16(sp)
  804cfc:    1da9c83a     sub    r20,r3,r22
  804d00:    002d883a     mov    r22,zero
  804d04:    003e5206     br    804650 &lt;_dtoa_r+0xa00&gt;
  804d08:    d9401417     ldw    r5,80(sp)
  804d0c:    d9800517     ldw    r6,20(sp)
  804d10:    e009883a     mov    r4,fp
  804d14:    08067000     call    806700 &lt;_pow5mult&gt;
  804d18:    d8801415     stw    r2,80(sp)
  804d1c:    003e7806     br    804700 &lt;_dtoa_r+0xab0&gt;
  804d20:    0005883a     mov    r2,zero
  804d24:    00d07c34     movhi    r3,16880
  804d28:    18c00004     addi    r3,r3,0
  804d2c:    480b883a     mov    r5,r9
  804d30:    4009883a     mov    r4,r8
  804d34:    180f883a     mov    r7,r3
  804d38:    100d883a     mov    r6,r2
  804d3c:    080858c0     call    80858c &lt;__adddf3&gt;
  804d40:    1011883a     mov    r8,r2
  804d44:    1813883a     mov    r9,r3
  804d48:    003c3806     br    803e2c &lt;_dtoa_r+0x1dc&gt;
  804d4c:    d8c00317     ldw    r3,12(sp)
  804d50:    00800084     movi    r2,2
  804d54:    10feab0e     bge    r2,r3,804804 &lt;_dtoa_r+0xbb4&gt;
  804d58:    203e0416     blt    r4,zero,80456c &lt;_dtoa_r+0x91c&gt;
  804d5c:    b80b883a     mov    r5,r23
  804d60:    e009883a     mov    r4,fp
  804d64:    01800144     movi    r6,5
  804d68:    000f883a     mov    r7,zero
  804d6c:    08061dc0     call    8061dc &lt;_multadd&gt;
  804d70:    d9001417     ldw    r4,80(sp)
  804d74:    100b883a     mov    r5,r2
  804d78:    102f883a     mov    r23,r2
  804d7c:    08069640     call    806964 &lt;__mcmp&gt;
  804d80:    00bd3d16     blt    zero,r2,804278 &lt;_dtoa_r+0x628&gt;
  804d84:    003df906     br    80456c &lt;_dtoa_r+0x91c&gt;
  804d88:    d8800917     ldw    r2,36(sp)
  804d8c:    d8c01817     ldw    r3,96(sp)
  804d90:    10800044     addi    r2,r2,1
  804d94:    d8800915     stw    r2,36(sp)
  804d98:    00800c04     movi    r2,48
  804d9c:    18800005     stb    r2,0(r3)
  804da0:    d8c01717     ldw    r3,92(sp)
  804da4:    18800003     ldbu    r2,0(r3)
  804da8:    19000044     addi    r4,r3,1
  804dac:    d9001715     stw    r4,92(sp)
  804db0:    10800044     addi    r2,r2,1
  804db4:    18800005     stb    r2,0(r3)
  804db8:    003d4606     br    8042d4 &lt;_dtoa_r+0x684&gt;
  804dbc:    d9401417     ldw    r5,80(sp)
  804dc0:    880d883a     mov    r6,r17
  804dc4:    003fd206     br    804d10 &lt;_dtoa_r+0x10c0&gt;
  804dc8:    11400117     ldw    r5,4(r2)
  804dcc:    e009883a     mov    r4,fp
  804dd0:    08061080     call    806108 &lt;_Balloc&gt;
  804dd4:    d8c01517     ldw    r3,84(sp)
  804dd8:    11000304     addi    r4,r2,12
  804ddc:    d8801615     stw    r2,88(sp)
  804de0:    19800417     ldw    r6,16(r3)
  804de4:    19400304     addi    r5,r3,12
  804de8:    300c90ba     slli    r6,r6,2
  804dec:    31800204     addi    r6,r6,8
  804df0:    0805ea80     call    805ea8 &lt;memcpy&gt;
  804df4:    d9401617     ldw    r5,88(sp)
  804df8:    e009883a     mov    r4,fp
  804dfc:    01800044     movi    r6,1
  804e00:    080682c0     call    80682c &lt;_lshift&gt;
  804e04:    d8801615     stw    r2,88(sp)
  804e08:    003e8906     br    804830 &lt;_dtoa_r+0xbe0&gt;
  804e0c:    d8c00617     ldw    r3,24(sp)
  804e10:    01002074     movhi    r4,129
  804e14:    21339f04     addi    r4,r4,-12676
  804e18:    d9801117     ldw    r6,68(sp)
  804e1c:    180a90fa     slli    r5,r3,3
  804e20:    a00f883a     mov    r7,r20
  804e24:    05800044     movi    r22,1
  804e28:    290b883a     add    r5,r5,r4
  804e2c:    28800017     ldw    r2,0(r5)
  804e30:    28c00117     ldw    r3,4(r5)
  804e34:    1009883a     mov    r4,r2
  804e38:    180b883a     mov    r5,r3
  804e3c:    08086700     call    808670 &lt;__muldf3&gt;
  804e40:    d8801115     stw    r2,68(sp)
  804e44:    d8c01215     stw    r3,72(sp)
  804e48:    00000b06     br    804e78 &lt;_dtoa_r+0x1228&gt;
  804e4c:    0005883a     mov    r2,zero
  804e50:    00d00934     movhi    r3,16420
  804e54:    18c00004     addi    r3,r3,0
  804e58:    800d883a     mov    r6,r16
  804e5c:    180b883a     mov    r5,r3
  804e60:    880f883a     mov    r7,r17
  804e64:    1009883a     mov    r4,r2
  804e68:    08086700     call    808670 &lt;__muldf3&gt;
  804e6c:    1025883a     mov    r18,r2
  804e70:    b5800044     addi    r22,r22,1
  804e74:    1827883a     mov    r19,r3
  804e78:    980b883a     mov    r5,r19
  804e7c:    9009883a     mov    r4,r18
  804e80:    080904c0     call    80904c &lt;__fixdfsi&gt;
  804e84:    1009883a     mov    r4,r2
  804e88:    102f883a     mov    r23,r2
  804e8c:    0808f7c0     call    808f7c &lt;__floatsidf&gt;
  804e90:    980b883a     mov    r5,r19
  804e94:    9009883a     mov    r4,r18
  804e98:    180f883a     mov    r7,r3
  804e9c:    100d883a     mov    r6,r2
  804ea0:    08085f80     call    8085f8 &lt;__subdf3&gt;
  804ea4:    1823883a     mov    r17,r3
  804ea8:    d8c01717     ldw    r3,92(sp)
  804eac:    1021883a     mov    r16,r2
  804eb0:    b8800c04     addi    r2,r23,48
  804eb4:    18800005     stb    r2,0(r3)
  804eb8:    d9000617     ldw    r4,24(sp)
  804ebc:    18c00044     addi    r3,r3,1
  804ec0:    d8c01715     stw    r3,92(sp)
  804ec4:    b13fe11e     bne    r22,r4,804e4c &lt;_dtoa_r+0x11fc&gt;
  804ec8:    d9801117     ldw    r6,68(sp)
  804ecc:    d9c01217     ldw    r7,72(sp)
  804ed0:    0029883a     mov    r20,zero
  804ed4:    054ff834     movhi    r21,16352
  804ed8:    ad400004     addi    r21,r21,0
  804edc:    a009883a     mov    r4,r20
  804ee0:    a80b883a     mov    r5,r21
  804ee4:    080858c0     call    80858c &lt;__adddf3&gt;
  804ee8:    180b883a     mov    r5,r3
  804eec:    1009883a     mov    r4,r2
  804ef0:    800d883a     mov    r6,r16
  804ef4:    880f883a     mov    r7,r17
  804ef8:    0808ef00     call    808ef0 &lt;__ltdf2&gt;
  804efc:    103d6e16     blt    r2,zero,8044b8 &lt;_dtoa_r+0x868&gt;
  804f00:    d9c01217     ldw    r7,72(sp)
  804f04:    d9801117     ldw    r6,68(sp)
  804f08:    0009883a     mov    r4,zero
  804f0c:    a80b883a     mov    r5,r21
  804f10:    08085f80     call    8085f8 &lt;__subdf3&gt;
  804f14:    180b883a     mov    r5,r3
  804f18:    800d883a     mov    r6,r16
  804f1c:    880f883a     mov    r7,r17
  804f20:    1009883a     mov    r4,r2
  804f24:    0808dd80     call    808dd8 &lt;__gtdf2&gt;
  804f28:    00bd060e     bge    zero,r2,804344 &lt;_dtoa_r+0x6f4&gt;
  804f2c:    00c00c04     movi    r3,48
  804f30:    d8801717     ldw    r2,92(sp)
  804f34:    10bfffc4     addi    r2,r2,-1
  804f38:    d8801715     stw    r2,92(sp)
  804f3c:    10800007     ldb    r2,0(r2)
  804f40:    10fffb26     beq    r2,r3,804f30 &lt;_dtoa_r+0x12e0&gt;
  804f44:    d8c01717     ldw    r3,92(sp)
  804f48:    18c00044     addi    r3,r3,1
  804f4c:    d8c01715     stw    r3,92(sp)
  804f50:    003ce006     br    8042d4 &lt;_dtoa_r+0x684&gt;
  804f54:    9540151e     bne    r18,r21,804fac &lt;_dtoa_r+0x135c&gt;
  804f58:    d8801717     ldw    r2,92(sp)
  804f5c:    15400005     stb    r21,0(r2)
  804f60:    10800044     addi    r2,r2,1
  804f64:    d8801715     stw    r2,92(sp)
  804f68:    003e8906     br    804990 &lt;_dtoa_r+0xd40&gt;
  804f6c:    1000021e     bne    r2,zero,804f78 &lt;_dtoa_r+0x1328&gt;
  804f70:    9080004c     andi    r2,r18,1
  804f74:    103e861e     bne    r2,zero,804990 &lt;_dtoa_r+0xd40&gt;
  804f78:    00c00c04     movi    r3,48
  804f7c:    d8801717     ldw    r2,92(sp)
  804f80:    10bfffc4     addi    r2,r2,-1
  804f84:    d8801715     stw    r2,92(sp)
  804f88:    10800007     ldb    r2,0(r2)
  804f8c:    10fffb26     beq    r2,r3,804f7c &lt;_dtoa_r+0x132c&gt;
  804f90:    d8c01717     ldw    r3,92(sp)
  804f94:    18c00044     addi    r3,r3,1
  804f98:    d8c01715     stw    r3,92(sp)
  804f9c:    003cbf06     br    80429c &lt;_dtoa_r+0x64c&gt;
  804fa0:    00800044     movi    r2,1
  804fa4:    d8802315     stw    r2,140(sp)
  804fa8:    003d5606     br    804504 &lt;_dtoa_r+0x8b4&gt;
  804fac:    d8c01717     ldw    r3,92(sp)
  804fb0:    90800044     addi    r2,r18,1
  804fb4:    18800005     stb    r2,0(r3)
  804fb8:    003ff606     br    804f94 &lt;_dtoa_r+0x1344&gt;
  804fbc:    d9000617     ldw    r4,24(sp)
  804fc0:    013c860e     bge    zero,r4,8041dc &lt;_dtoa_r+0x58c&gt;
  804fc4:    d8800817     ldw    r2,32(sp)
  804fc8:    00bcde0e     bge    zero,r2,804344 &lt;_dtoa_r+0x6f4&gt;
  804fcc:    0005883a     mov    r2,zero
  804fd0:    00d00934     movhi    r3,16420
  804fd4:    18c00004     addi    r3,r3,0
  804fd8:    980f883a     mov    r7,r19
  804fdc:    180b883a     mov    r5,r3
  804fe0:    900d883a     mov    r6,r18
  804fe4:    1009883a     mov    r4,r2
  804fe8:    08086700     call    808670 &lt;__muldf3&gt;
  804fec:    180b883a     mov    r5,r3
  804ff0:    d8c00917     ldw    r3,36(sp)
  804ff4:    d9000817     ldw    r4,32(sp)
  804ff8:    1025883a     mov    r18,r2
  804ffc:    18ffffc4     addi    r3,r3,-1
  805000:    2827883a     mov    r19,r5
  805004:    b5800044     addi    r22,r22,1
  805008:    d8c00915     stw    r3,36(sp)
  80500c:    d9000615     stw    r4,24(sp)
  805010:    003c7206     br    8041dc &lt;_dtoa_r+0x58c&gt;
  805014:    103e781e     bne    r2,zero,8049f8 &lt;_dtoa_r+0xda8&gt;
  805018:    9080004c     andi    r2,r18,1
  80501c:    103e7626     beq    r2,zero,8049f8 &lt;_dtoa_r+0xda8&gt;
  805020:    003e7206     br    8049ec &lt;_dtoa_r+0xd9c&gt;
  805024:    d9401617     ldw    r5,88(sp)
  805028:    e009883a     mov    r4,fp
  80502c:    01800284     movi    r6,10
  805030:    000f883a     mov    r7,zero
  805034:    08061dc0     call    8061dc &lt;_multadd&gt;
  805038:    d8801615     stw    r2,88(sp)
  80503c:    003ec006     br    804b40 &lt;_dtoa_r+0xef0&gt;

00805040 &lt;fflush&gt;:
  805040:    defffc04     addi    sp,sp,-16
  805044:    dc400115     stw    r17,4(sp)
  805048:    dfc00315     stw    ra,12(sp)
  80504c:    dc000215     stw    r16,8(sp)
  805050:    dc800015     stw    r18,0(sp)
  805054:    2023883a     mov    r17,r4
  805058:    20002a26     beq    r4,zero,805104 &lt;fflush+0xc4&gt;
  80505c:    d1200017     ldw    r4,-32768(gp)
  805060:    20800e17     ldw    r2,56(r4)
  805064:    10002526     beq    r2,zero,8050fc &lt;fflush+0xbc&gt;
  805068:    88c0030f     ldh    r3,12(r17)
  80506c:    1804d0fa     srli    r2,r3,3
  805070:    1080005c     xori    r2,r2,1
  805074:    1080004c     andi    r2,r2,1
  805078:    1000181e     bne    r2,zero,8050dc &lt;fflush+0x9c&gt;
  80507c:    8c800417     ldw    r18,16(r17)
  805080:    90001626     beq    r18,zero,8050dc &lt;fflush+0x9c&gt;
  805084:    88800017     ldw    r2,0(r17)
  805088:    18c000cc     andi    r3,r3,3
  80508c:    8c800015     stw    r18,0(r17)
  805090:    14a1c83a     sub    r16,r2,r18
  805094:    0005883a     mov    r2,zero
  805098:    1800011e     bne    r3,zero,8050a0 &lt;fflush+0x60&gt;
  80509c:    88800517     ldw    r2,20(r17)
  8050a0:    88800215     stw    r2,8(r17)
  8050a4:    04000d0e     bge    zero,r16,8050dc &lt;fflush+0x9c&gt;
  8050a8:    88c00917     ldw    r3,36(r17)
  8050ac:    89000717     ldw    r4,28(r17)
  8050b0:    900b883a     mov    r5,r18
  8050b4:    800d883a     mov    r6,r16
  8050b8:    183ee83a     callr    r3
  8050bc:    80a1c83a     sub    r16,r16,r2
  8050c0:    90a5883a     add    r18,r18,r2
  8050c4:    00bff716     blt    zero,r2,8050a4 &lt;fflush+0x64&gt;
  8050c8:    8880030b     ldhu    r2,12(r17)
  8050cc:    00ffffc4     movi    r3,-1
  8050d0:    10801014     ori    r2,r2,64
  8050d4:    8880030d     sth    r2,12(r17)
  8050d8:    00000106     br    8050e0 &lt;fflush+0xa0&gt;
  8050dc:    0007883a     mov    r3,zero
  8050e0:    1805883a     mov    r2,r3
  8050e4:    dfc00317     ldw    ra,12(sp)
  8050e8:    dc000217     ldw    r16,8(sp)
  8050ec:    dc400117     ldw    r17,4(sp)
  8050f0:    dc800017     ldw    r18,0(sp)
  8050f4:    dec00404     addi    sp,sp,16
  8050f8:    f800283a     ret
  8050fc:    08051ac0     call    8051ac &lt;__sinit&gt;
  805100:    003fd906     br    805068 &lt;fflush+0x28&gt;
  805104:    d1200017     ldw    r4,-32768(gp)
  805108:    01402034     movhi    r5,128
  80510c:    29541004     addi    r5,r5,20544
  805110:    02002034     movhi    r8,128
  805114:    4216ed04     addi    r8,r8,23476
  805118:    dfc00317     ldw    ra,12(sp)
  80511c:    dc000217     ldw    r16,8(sp)
  805120:    dc400117     ldw    r17,4(sp)
  805124:    dc800017     ldw    r18,0(sp)
  805128:    dec00404     addi    sp,sp,16
  80512c:    4000683a     jmp    r8

00805130 &lt;std&gt;:
  805130:    00802034     movhi    r2,128
  805134:    10852104     addi    r2,r2,5252
  805138:    20800b15     stw    r2,44(r4)
  80513c:    00802034     movhi    r2,128
  805140:    1084e204     addi    r2,r2,5000
  805144:    20800915     stw    r2,36(r4)
  805148:    00c02034     movhi    r3,128
  80514c:    18c4c604     addi    r3,r3,4888
  805150:    00802034     movhi    r2,128
  805154:    10850304     addi    r2,r2,5132
  805158:    2140030d     sth    r5,12(r4)
  80515c:    2180038d     sth    r6,14(r4)
  805160:    20c00815     stw    r3,32(r4)
  805164:    20800a15     stw    r2,40(r4)
  805168:    20000015     stw    zero,0(r4)
  80516c:    20000115     stw    zero,4(r4)
  805170:    20000215     stw    zero,8(r4)
  805174:    20000415     stw    zero,16(r4)
  805178:    20000515     stw    zero,20(r4)
  80517c:    20000615     stw    zero,24(r4)
  805180:    21000715     stw    r4,28(r4)
  805184:    f800283a     ret

00805188 &lt;_cleanup_r&gt;:
  805188:    01402034     movhi    r5,128
  80518c:    29541004     addi    r5,r5,20544
  805190:    02002034     movhi    r8,128
  805194:    4216ed04     addi    r8,r8,23476
  805198:    4000683a     jmp    r8

0080519c &lt;_cleanup&gt;:
  80519c:    d1200017     ldw    r4,-32768(gp)
  8051a0:    02002034     movhi    r8,128
  8051a4:    42146204     addi    r8,r8,20872
  8051a8:    4000683a     jmp    r8

008051ac &lt;__sinit&gt;:
  8051ac:    defffc04     addi    sp,sp,-16
  8051b0:    dfc00315     stw    ra,12(sp)
  8051b4:    dc400215     stw    r17,8(sp)
  8051b8:    dcc00115     stw    r19,4(sp)
  8051bc:    dd400015     stw    r21,0(sp)
  8051c0:    2023883a     mov    r17,r4
  8051c4:    21000117     ldw    r4,4(r4)
  8051c8:    00802034     movhi    r2,128
  8051cc:    10946204     addi    r2,r2,20872
  8051d0:    00c000c4     movi    r3,3
  8051d4:    05400044     movi    r21,1
  8051d8:    89409a04     addi    r5,r17,616
  8051dc:    88800f15     stw    r2,60(r17)
  8051e0:    88c09815     stw    r3,608(r17)
  8051e4:    89409915     stw    r5,612(r17)
  8051e8:    880f883a     mov    r7,r17
  8051ec:    8d400e15     stw    r21,56(r17)
  8051f0:    88009715     stw    zero,604(r17)
  8051f4:    01400104     movi    r5,4
  8051f8:    000d883a     mov    r6,zero
  8051fc:    08051300     call    805130 &lt;std&gt;
  805200:    89000217     ldw    r4,8(r17)
  805204:    04c00284     movi    r19,10
  805208:    a80d883a     mov    r6,r21
  80520c:    980b883a     mov    r5,r19
  805210:    880f883a     mov    r7,r17
  805214:    08051300     call    805130 &lt;std&gt;
  805218:    89000317     ldw    r4,12(r17)
  80521c:    980b883a     mov    r5,r19
  805220:    880f883a     mov    r7,r17
  805224:    01800084     movi    r6,2
  805228:    02002034     movhi    r8,128
  80522c:    42144c04     addi    r8,r8,20784
  805230:    dfc00317     ldw    ra,12(sp)
  805234:    dc400217     ldw    r17,8(sp)
  805238:    dcc00117     ldw    r19,4(sp)
  80523c:    dd400017     ldw    r21,0(sp)
  805240:    dec00404     addi    sp,sp,16
  805244:    4000683a     jmp    r8

00805248 &lt;__sfmoreglue&gt;:
  805248:    defffc04     addi    sp,sp,-16
  80524c:    dc400115     stw    r17,4(sp)
  805250:    2c401724     muli    r17,r5,92
  805254:    dc800015     stw    r18,0(sp)
  805258:    2825883a     mov    r18,r5
  80525c:    89400304     addi    r5,r17,12
  805260:    dc000215     stw    r16,8(sp)
  805264:    dfc00315     stw    ra,12(sp)
  805268:    08009c00     call    8009c0 &lt;_malloc_r&gt;
  80526c:    10c00304     addi    r3,r2,12
  805270:    1021883a     mov    r16,r2
  805274:    1809883a     mov    r4,r3
  805278:    880d883a     mov    r6,r17
  80527c:    000b883a     mov    r5,zero
  805280:    0005883a     mov    r2,zero
  805284:    80000526     beq    r16,zero,80529c &lt;__sfmoreglue+0x54&gt;
  805288:    84800115     stw    r18,4(r16)
  80528c:    80000015     stw    zero,0(r16)
  805290:    80c00215     stw    r3,8(r16)
  805294:    080606c0     call    80606c &lt;memset&gt;
  805298:    8005883a     mov    r2,r16
  80529c:    dfc00317     ldw    ra,12(sp)
  8052a0:    dc000217     ldw    r16,8(sp)
  8052a4:    dc400117     ldw    r17,4(sp)
  8052a8:    dc800017     ldw    r18,0(sp)
  8052ac:    dec00404     addi    sp,sp,16
  8052b0:    f800283a     ret

008052b4 &lt;__sfp&gt;:
  8052b4:    d0e00017     ldw    r3,-32768(gp)
  8052b8:    defffd04     addi    sp,sp,-12
  8052bc:    dc400015     stw    r17,0(sp)
  8052c0:    dfc00215     stw    ra,8(sp)
  8052c4:    dc000115     stw    r16,4(sp)
  8052c8:    18800e17     ldw    r2,56(r3)
  8052cc:    2023883a     mov    r17,r4
  8052d0:    10000e26     beq    r2,zero,80530c &lt;__sfp+0x58&gt;
  8052d4:    1c009704     addi    r16,r3,604
  8052d8:    80c00117     ldw    r3,4(r16)
  8052dc:    81000217     ldw    r4,8(r16)
  8052e0:    18ffffc4     addi    r3,r3,-1
  8052e4:    18000516     blt    r3,zero,8052fc &lt;__sfp+0x48&gt;
  8052e8:    2080030f     ldh    r2,12(r4)
  8052ec:    18ffffc4     addi    r3,r3,-1
  8052f0:    10001326     beq    r2,zero,805340 &lt;__sfp+0x8c&gt;
  8052f4:    21001704     addi    r4,r4,92
  8052f8:    183ffb0e     bge    r3,zero,8052e8 &lt;__sfp+0x34&gt;
  8052fc:    80800017     ldw    r2,0(r16)
  805300:    10000626     beq    r2,zero,80531c &lt;__sfp+0x68&gt;
  805304:    1021883a     mov    r16,r2
  805308:    003ff306     br    8052d8 &lt;__sfp+0x24&gt;
  80530c:    1809883a     mov    r4,r3
  805310:    08051ac0     call    8051ac &lt;__sinit&gt;
  805314:    d0e00017     ldw    r3,-32768(gp)
  805318:    003fee06     br    8052d4 &lt;__sfp+0x20&gt;
  80531c:    8809883a     mov    r4,r17
  805320:    01400104     movi    r5,4
  805324:    08052480     call    805248 &lt;__sfmoreglue&gt;
  805328:    80800015     stw    r2,0(r16)
  80532c:    103ff51e     bne    r2,zero,805304 &lt;__sfp+0x50&gt;
  805330:    00800304     movi    r2,12
  805334:    0007883a     mov    r3,zero
  805338:    88800015     stw    r2,0(r17)
  80533c:    00000f06     br    80537c &lt;__sfp+0xc8&gt;
  805340:    00ffffc4     movi    r3,-1
  805344:    00800044     movi    r2,1
  805348:    20c0038d     sth    r3,14(r4)
  80534c:    2080030d     sth    r2,12(r4)
  805350:    20000015     stw    zero,0(r4)
  805354:    20000215     stw    zero,8(r4)
  805358:    20000115     stw    zero,4(r4)
  80535c:    20000415     stw    zero,16(r4)
  805360:    20000515     stw    zero,20(r4)
  805364:    20000615     stw    zero,24(r4)
  805368:    20000c15     stw    zero,48(r4)
  80536c:    20000d15     stw    zero,52(r4)
  805370:    20001115     stw    zero,68(r4)
  805374:    20001215     stw    zero,72(r4)
  805378:    2007883a     mov    r3,r4
  80537c:    1805883a     mov    r2,r3
  805380:    dfc00217     ldw    ra,8(sp)
  805384:    dc000117     ldw    r16,4(sp)
  805388:    dc400017     ldw    r17,0(sp)
  80538c:    dec00304     addi    sp,sp,12
  805390:    f800283a     ret

00805394 &lt;__sflags&gt;:
  805394:    28c00007     ldb    r3,0(r5)
  805398:    00801c84     movi    r2,114
  80539c:    18801426     beq    r3,r2,8053f0 &lt;__sflags+0x5c&gt;
  8053a0:    10c0070e     bge    r2,r3,8053c0 &lt;__sflags+0x2c&gt;
  8053a4:    00801dc4     movi    r2,119
  8053a8:    18802026     beq    r3,r2,80542c &lt;__sflags+0x98&gt;
  8053ac:    0007883a     mov    r3,zero
  8053b0:    00800584     movi    r2,22
  8053b4:    20800015     stw    r2,0(r4)
  8053b8:    1805883a     mov    r2,r3
  8053bc:    f800283a     ret
  8053c0:    00801844     movi    r2,97
  8053c4:    18bff91e     bne    r3,r2,8053ac &lt;__sflags+0x18&gt;
  8053c8:    28800047     ldb    r2,1(r5)
  8053cc:    02004204     movi    r8,264
  8053d0:    01c00044     movi    r7,1
  8053d4:    01008204     movi    r4,520
  8053d8:    10000a1e     bne    r2,zero,805404 &lt;__sflags+0x70&gt;
  8053dc:    3904b03a     or    r2,r7,r4
  8053e0:    30800015     stw    r2,0(r6)
  8053e4:    4007883a     mov    r3,r8
  8053e8:    1805883a     mov    r2,r3
  8053ec:    f800283a     ret
  8053f0:    02000104     movi    r8,4
  8053f4:    000f883a     mov    r7,zero
  8053f8:    0009883a     mov    r4,zero
  8053fc:    28800047     ldb    r2,1(r5)
  805400:    103ff626     beq    r2,zero,8053dc &lt;__sflags+0x48&gt;
  805404:    00c00ac4     movi    r3,43
  805408:    10c00226     beq    r2,r3,805414 &lt;__sflags+0x80&gt;
  80540c:    28800087     ldb    r2,2(r5)
  805410:    10fff21e     bne    r2,r3,8053dc &lt;__sflags+0x48&gt;
  805414:    02000404     movi    r8,16
  805418:    01c00084     movi    r7,2
  80541c:    3904b03a     or    r2,r7,r4
  805420:    4007883a     mov    r3,r8
  805424:    30800015     stw    r2,0(r6)
  805428:    003fef06     br    8053e8 &lt;__sflags+0x54&gt;
  80542c:    02000204     movi    r8,8
  805430:    01c00044     movi    r7,1
  805434:    01018004     movi    r4,1536
  805438:    003ff006     br    8053fc &lt;__sflags+0x68&gt;

0080543c &lt;_malloc_trim_r&gt;:
  80543c:    defffb04     addi    sp,sp,-20
  805440:    dcc00015     stw    r19,0(sp)
  805444:    04c02074     movhi    r19,129
  805448:    9cf57204     addi    r19,r19,-10808
  80544c:    dc000315     stw    r16,12(sp)
  805450:    dc400215     stw    r17,8(sp)
  805454:    dc800115     stw    r18,4(sp)
  805458:    2823883a     mov    r17,r5
  80545c:    2021883a     mov    r16,r4
  805460:    dfc00415     stw    ra,16(sp)
  805464:    0809e340     call    809e34 &lt;__malloc_lock&gt;
  805468:    98800217     ldw    r2,8(r19)
  80546c:    8009883a     mov    r4,r16
  805470:    000b883a     mov    r5,zero
  805474:    10c00117     ldw    r3,4(r2)
  805478:    00bfff04     movi    r2,-4
  80547c:    18a4703a     and    r18,r3,r2
  805480:    9463c83a     sub    r17,r18,r17
  805484:    8c43fbc4     addi    r17,r17,4079
  805488:    8822d33a     srli    r17,r17,12
  80548c:    00840004     movi    r2,4096
  805490:    8c7fffc4     addi    r17,r17,-1
  805494:    8822933a     slli    r17,r17,12
  805498:    88800616     blt    r17,r2,8054b4 &lt;_malloc_trim_r+0x78&gt;
  80549c:    08012cc0     call    8012cc &lt;_sbrk_r&gt;
  8054a0:    98c00217     ldw    r3,8(r19)
  8054a4:    8009883a     mov    r4,r16
  8054a8:    044bc83a     sub    r5,zero,r17
  8054ac:    1c87883a     add    r3,r3,r18
  8054b0:    18800926     beq    r3,r2,8054d8 &lt;_malloc_trim_r+0x9c&gt;
  8054b4:    0809e500     call    809e50 &lt;__malloc_unlock&gt;
  8054b8:    0005883a     mov    r2,zero
  8054bc:    dfc00417     ldw    ra,16(sp)
  8054c0:    dc000317     ldw    r16,12(sp)
  8054c4:    dc400217     ldw    r17,8(sp)
  8054c8:    dc800117     ldw    r18,4(sp)
  8054cc:    dcc00017     ldw    r19,0(sp)
  8054d0:    dec00504     addi    sp,sp,20
  8054d4:    f800283a     ret
  8054d8:    8009883a     mov    r4,r16
  8054dc:    08012cc0     call    8012cc &lt;_sbrk_r&gt;
  8054e0:    944dc83a     sub    r6,r18,r17
  8054e4:    00ffffc4     movi    r3,-1
  8054e8:    8009883a     mov    r4,r16
  8054ec:    000b883a     mov    r5,zero
  8054f0:    01c02074     movhi    r7,129
  8054f4:    39f56804     addi    r7,r7,-10848
  8054f8:    31800054     ori    r6,r6,1
  8054fc:    10c00926     beq    r2,r3,805524 &lt;_malloc_trim_r+0xe8&gt;
  805500:    38800017     ldw    r2,0(r7)
  805504:    98c00217     ldw    r3,8(r19)
  805508:    8009883a     mov    r4,r16
  80550c:    1445c83a     sub    r2,r2,r17
  805510:    38800015     stw    r2,0(r7)
  805514:    19800115     stw    r6,4(r3)
  805518:    0809e500     call    809e50 &lt;__malloc_unlock&gt;
  80551c:    00800044     movi    r2,1
  805520:    003fe606     br    8054bc &lt;_malloc_trim_r+0x80&gt;
  805524:    08012cc0     call    8012cc &lt;_sbrk_r&gt;
  805528:    99400217     ldw    r5,8(r19)
  80552c:    100d883a     mov    r6,r2
  805530:    8009883a     mov    r4,r16
  805534:    1165c83a     sub    r18,r2,r5
  805538:    008003c4     movi    r2,15
  80553c:    90c00054     ori    r3,r18,1
  805540:    14bfdc0e     bge    r2,r18,8054b4 &lt;_malloc_trim_r+0x78&gt;
  805544:    28c00115     stw    r3,4(r5)
  805548:    d0e00317     ldw    r3,-32756(gp)
  80554c:    00802074     movhi    r2,129
  805550:    10b56804     addi    r2,r2,-10848
  805554:    30c7c83a     sub    r3,r6,r3
  805558:    10c00015     stw    r3,0(r2)
  80555c:    003fd506     br    8054b4 &lt;_malloc_trim_r+0x78&gt;

00805560 &lt;_free_r&gt;:
  805560:    defffd04     addi    sp,sp,-12
  805564:    dc000115     stw    r16,4(sp)
  805568:    dc400015     stw    r17,0(sp)
  80556c:    dfc00215     stw    ra,8(sp)
  805570:    2821883a     mov    r16,r5
  805574:    2023883a     mov    r17,r4
  805578:    28003226     beq    r5,zero,805644 &lt;_free_r+0xe4&gt;
  80557c:    0809e340     call    809e34 &lt;__malloc_lock&gt;
  805580:    82bffe04     addi    r10,r16,-8
  805584:    51400117     ldw    r5,4(r10)
  805588:    00bfff84     movi    r2,-2
  80558c:    03002074     movhi    r12,129
  805590:    63357204     addi    r12,r12,-10808
  805594:    2892703a     and    r9,r5,r2
  805598:    524d883a     add    r6,r10,r9
  80559c:    30c00117     ldw    r3,4(r6)
  8055a0:    61000217     ldw    r4,8(r12)
  8055a4:    00bfff04     movi    r2,-4
  8055a8:    1896703a     and    r11,r3,r2
  8055ac:    21804e26     beq    r4,r6,8056e8 &lt;_free_r+0x188&gt;
  8055b0:    2880004c     andi    r2,r5,1
  8055b4:    32c00115     stw    r11,4(r6)
  8055b8:    000b883a     mov    r5,zero
  8055bc:    1000091e     bne    r2,zero,8055e4 &lt;_free_r+0x84&gt;
  8055c0:    50c00017     ldw    r3,0(r10)
  8055c4:    60800204     addi    r2,r12,8
  8055c8:    50d5c83a     sub    r10,r10,r3
  8055cc:    51000217     ldw    r4,8(r10)
  8055d0:    48d3883a     add    r9,r9,r3
  8055d4:    20807426     beq    r4,r2,8057a8 &lt;_free_r+0x248&gt;
  8055d8:    52000317     ldw    r8,12(r10)
  8055dc:    41000215     stw    r4,8(r8)
  8055e0:    22000315     stw    r8,12(r4)
  8055e4:    32c7883a     add    r3,r6,r11
  8055e8:    18800117     ldw    r2,4(r3)
  8055ec:    2808c03a     cmpne    r4,r5,zero
  8055f0:    1080004c     andi    r2,r2,1
  8055f4:    1000061e     bne    r2,zero,805610 &lt;_free_r+0xb0&gt;
  8055f8:    4ad3883a     add    r9,r9,r11
  8055fc:    20001626     beq    r4,zero,805658 &lt;_free_r+0xf8&gt;
  805600:    30c00217     ldw    r3,8(r6)
  805604:    32000317     ldw    r8,12(r6)
  805608:    40c00215     stw    r3,8(r8)
  80560c:    1a000315     stw    r8,12(r3)
  805610:    48800054     ori    r2,r9,1
  805614:    5247883a     add    r3,r10,r9
  805618:    50800115     stw    r2,4(r10)
  80561c:    1a400015     stw    r9,0(r3)
  805620:    20001726     beq    r4,zero,805680 &lt;_free_r+0x120&gt;
  805624:    8809883a     mov    r4,r17
  805628:    02002074     movhi    r8,129
  80562c:    42279404     addi    r8,r8,-25008
  805630:    dfc00217     ldw    ra,8(sp)
  805634:    dc000117     ldw    r16,4(sp)
  805638:    dc400017     ldw    r17,0(sp)
  80563c:    dec00304     addi    sp,sp,12
  805640:    4000683a     jmp    r8
  805644:    dfc00217     ldw    ra,8(sp)
  805648:    dc000117     ldw    r16,4(sp)
  80564c:    dc400017     ldw    r17,0(sp)
  805650:    dec00304     addi    sp,sp,12
  805654:    f800283a     ret
  805658:    30c00217     ldw    r3,8(r6)
  80565c:    00802074     movhi    r2,129
  805660:    10b57404     addi    r2,r2,-10800
  805664:    18bfe71e     bne    r3,r2,805604 &lt;_free_r+0xa4&gt;
  805668:    1a800315     stw    r10,12(r3)
  80566c:    1a800215     stw    r10,8(r3)
  805670:    01000044     movi    r4,1
  805674:    50c00215     stw    r3,8(r10)
  805678:    50c00315     stw    r3,12(r10)
  80567c:    003fe406     br    805610 &lt;_free_r+0xb0&gt;
  805680:    00807fc4     movi    r2,511
  805684:    12402b36     bltu    r2,r9,805734 &lt;_free_r+0x1d4&gt;
  805688:    4806d0fa     srli    r3,r9,3
  80568c:    01802074     movhi    r6,129
  805690:    31b57204     addi    r6,r6,-10808
  805694:    00800044     movi    r2,1
  805698:    180890fa     slli    r4,r3,3
  80569c:    1807d0ba     srai    r3,r3,2
  8056a0:    31400117     ldw    r5,4(r6)
  8056a4:    2191883a     add    r8,r4,r6
  8056a8:    41c00217     ldw    r7,8(r8)
  8056ac:    10c4983a     sll    r2,r2,r3
  8056b0:    52000315     stw    r8,12(r10)
  8056b4:    51c00215     stw    r7,8(r10)
  8056b8:    288ab03a     or    r5,r5,r2
  8056bc:    3a800315     stw    r10,12(r7)
  8056c0:    31400115     stw    r5,4(r6)
  8056c4:    42800215     stw    r10,8(r8)
  8056c8:    8809883a     mov    r4,r17
  8056cc:    02002074     movhi    r8,129
  8056d0:    42279404     addi    r8,r8,-25008
  8056d4:    dfc00217     ldw    ra,8(sp)
  8056d8:    dc000117     ldw    r16,4(sp)
  8056dc:    dc400017     ldw    r17,0(sp)
  8056e0:    dec00304     addi    sp,sp,12
  8056e4:    4000683a     jmp    r8
  8056e8:    2880004c     andi    r2,r5,1
  8056ec:    4ad3883a     add    r9,r9,r11
  8056f0:    1000071e     bne    r2,zero,805710 &lt;_free_r+0x1b0&gt;
  8056f4:    50c00017     ldw    r3,0(r10)
  8056f8:    50d5c83a     sub    r10,r10,r3
  8056fc:    52000317     ldw    r8,12(r10)
  805700:    51c00217     ldw    r7,8(r10)
  805704:    48d3883a     add    r9,r9,r3
  805708:    41c00215     stw    r7,8(r8)
  80570c:    3a000315     stw    r8,12(r7)
  805710:    d0a00517     ldw    r2,-32748(gp)
  805714:    48c00054     ori    r3,r9,1
  805718:    62800215     stw    r10,8(r12)
  80571c:    50c00115     stw    r3,4(r10)
  805720:    48bfc036     bltu    r9,r2,805624 &lt;_free_r+0xc4&gt;
  805724:    d1600417     ldw    r5,-32752(gp)
  805728:    8809883a     mov    r4,r17
  80572c:    080543c0     call    80543c &lt;_malloc_trim_r&gt;
  805730:    003fbc06     br    805624 &lt;_free_r+0xc4&gt;
  805734:    4808d27a     srli    r4,r9,9
  805738:    4806d0fa     srli    r3,r9,3
  80573c:    2000151e     bne    r4,zero,805794 &lt;_free_r+0x234&gt;
  805740:    180490fa     slli    r2,r3,3
  805744:    01402074     movhi    r5,129
  805748:    29757204     addi    r5,r5,-10808
  80574c:    1311883a     add    r8,r2,r12
  805750:    41c00217     ldw    r7,8(r8)
  805754:    3a001e26     beq    r7,r8,8057d0 &lt;_free_r+0x270&gt;
  805758:    38800117     ldw    r2,4(r7)
  80575c:    00ffff04     movi    r3,-4
  805760:    10c4703a     and    r2,r2,r3
  805764:    4880052e     bgeu    r9,r2,80577c &lt;_free_r+0x21c&gt;
  805768:    39c00217     ldw    r7,8(r7)
  80576c:    3a000326     beq    r7,r8,80577c &lt;_free_r+0x21c&gt;
  805770:    38800117     ldw    r2,4(r7)
  805774:    10c4703a     and    r2,r2,r3
  805778:    48bffb36     bltu    r9,r2,805768 &lt;_free_r+0x208&gt;
  80577c:    3a000317     ldw    r8,12(r7)
  805780:    52000315     stw    r8,12(r10)
  805784:    51c00215     stw    r7,8(r10)
  805788:    3a800315     stw    r10,12(r7)
  80578c:    42800215     stw    r10,8(r8)
  805790:    003fcd06     br    8056c8 &lt;_free_r+0x168&gt;
  805794:    00800104     movi    r2,4
  805798:    11000536     bltu    r2,r4,8057b0 &lt;_free_r+0x250&gt;
  80579c:    4804d1ba     srli    r2,r9,6
  8057a0:    10c00e04     addi    r3,r2,56
  8057a4:    003fe606     br    805740 &lt;_free_r+0x1e0&gt;
  8057a8:    01400044     movi    r5,1
  8057ac:    003f8d06     br    8055e4 &lt;_free_r+0x84&gt;
  8057b0:    00800504     movi    r2,20
  8057b4:    20c016c4     addi    r3,r4,91
  8057b8:    113fe12e     bgeu    r2,r4,805740 &lt;_free_r+0x1e0&gt;
  8057bc:    00801504     movi    r2,84
  8057c0:    11000a36     bltu    r2,r4,8057ec &lt;_free_r+0x28c&gt;
  8057c4:    4804d33a     srli    r2,r9,12
  8057c8:    10c01b84     addi    r3,r2,110
  8057cc:    003fdc06     br    805740 &lt;_free_r+0x1e0&gt;
  8057d0:    1805d0ba     srai    r2,r3,2
  8057d4:    00c00044     movi    r3,1
  8057d8:    29000117     ldw    r4,4(r5)
  8057dc:    1886983a     sll    r3,r3,r2
  8057e0:    20c8b03a     or    r4,r4,r3
  8057e4:    29000115     stw    r4,4(r5)
  8057e8:    003fe506     br    805780 &lt;_free_r+0x220&gt;
  8057ec:    00805504     movi    r2,340
  8057f0:    11000336     bltu    r2,r4,805800 &lt;_free_r+0x2a0&gt;
  8057f4:    4804d3fa     srli    r2,r9,15
  8057f8:    10c01dc4     addi    r3,r2,119
  8057fc:    003fd006     br    805740 &lt;_free_r+0x1e0&gt;
  805800:    00815504     movi    r2,1364
  805804:    00c01f84     movi    r3,126
  805808:    113fcd36     bltu    r2,r4,805740 &lt;_free_r+0x1e0&gt;
  80580c:    4804d4ba     srli    r2,r9,18
  805810:    10c01f04     addi    r3,r2,124
  805814:    003fca06     br    805740 &lt;_free_r+0x1e0&gt;

00805818 &lt;__sfvwrite&gt;:
  805818:    defff704     addi    sp,sp,-36
  80581c:    dd000315     stw    r20,12(sp)
  805820:    dd400215     stw    r21,8(sp)
  805824:    dfc00815     stw    ra,32(sp)
  805828:    dc000715     stw    r16,28(sp)
  80582c:    dc400615     stw    r17,24(sp)
  805830:    dc800515     stw    r18,20(sp)
  805834:    dcc00415     stw    r19,16(sp)
  805838:    dd800115     stw    r22,4(sp)
  80583c:    ddc00015     stw    r23,0(sp)
  805840:    2c000217     ldw    r16,8(r5)
  805844:    282b883a     mov    r21,r5
  805848:    2029883a     mov    r20,r4
  80584c:    0007883a     mov    r3,zero
  805850:    80002826     beq    r16,zero,8058f4 &lt;__sfvwrite+0xdc&gt;
  805854:    20c0030b     ldhu    r3,12(r4)
  805858:    18bfffcc     andi    r2,r3,65535
  80585c:    1004d0fa     srli    r2,r2,3
  805860:    1080005c     xori    r2,r2,1
  805864:    1080004c     andi    r2,r2,1
  805868:    1000021e     bne    r2,zero,805874 &lt;__sfvwrite+0x5c&gt;
  80586c:    20800417     ldw    r2,16(r4)
  805870:    1000041e     bne    r2,zero,805884 &lt;__sfvwrite+0x6c&gt;
  805874:    08038dc0     call    8038dc &lt;__swsetup&gt;
  805878:    00ffffc4     movi    r3,-1
  80587c:    10001d1e     bne    r2,zero,8058f4 &lt;__sfvwrite+0xdc&gt;
  805880:    a0c0030b     ldhu    r3,12(r20)
  805884:    193fffcc     andi    r4,r3,65535
  805888:    2004d07a     srli    r2,r4,1
  80588c:    ac800017     ldw    r18,0(r21)
  805890:    0021883a     mov    r16,zero
  805894:    1080004c     andi    r2,r2,1
  805898:    10002226     beq    r2,zero,805924 &lt;__sfvwrite+0x10c&gt;
  80589c:    8000041e     bne    r16,zero,8058b0 &lt;__sfvwrite+0x98&gt;
  8058a0:    94000117     ldw    r16,4(r18)
  8058a4:    94c00017     ldw    r19,0(r18)
  8058a8:    94800204     addi    r18,r18,8
  8058ac:    803ffc26     beq    r16,zero,8058a0 &lt;__sfvwrite+0x88&gt;
  8058b0:    00810004     movi    r2,1024
  8058b4:    a1000717     ldw    r4,28(r20)
  8058b8:    800d883a     mov    r6,r16
  8058bc:    1400012e     bgeu    r2,r16,8058c4 &lt;__sfvwrite+0xac&gt;
  8058c0:    100d883a     mov    r6,r2
  8058c4:    a0c00917     ldw    r3,36(r20)
  8058c8:    980b883a     mov    r5,r19
  8058cc:    183ee83a     callr    r3
  8058d0:    1023883a     mov    r17,r2
  8058d4:    00806d0e     bge    zero,r2,805a8c &lt;__sfvwrite+0x274&gt;
  8058d8:    a8800217     ldw    r2,8(r21)
  8058dc:    9c67883a     add    r19,r19,r17
  8058e0:    8461c83a     sub    r16,r16,r17
  8058e4:    1445c83a     sub    r2,r2,r17
  8058e8:    a8800215     stw    r2,8(r21)
  8058ec:    103feb1e     bne    r2,zero,80589c &lt;__sfvwrite+0x84&gt;
  8058f0:    0007883a     mov    r3,zero
  8058f4:    1805883a     mov    r2,r3
  8058f8:    dfc00817     ldw    ra,32(sp)
  8058fc:    dc000717     ldw    r16,28(sp)
  805900:    dc400617     ldw    r17,24(sp)
  805904:    dc800517     ldw    r18,20(sp)
  805908:    dcc00417     ldw    r19,16(sp)
  80590c:    dd000317     ldw    r20,12(sp)
  805910:    dd400217     ldw    r21,8(sp)
  805914:    dd800117     ldw    r22,4(sp)
  805918:    ddc00017     ldw    r23,0(sp)
  80591c:    dec00904     addi    sp,sp,36
  805920:    f800283a     ret
  805924:    2080004c     andi    r2,r4,1
  805928:    002f883a     mov    r23,zero
  80592c:    1000481e     bne    r2,zero,805a50 &lt;__sfvwrite+0x238&gt;
  805930:    8000041e     bne    r16,zero,805944 &lt;__sfvwrite+0x12c&gt;
  805934:    94000117     ldw    r16,4(r18)
  805938:    94c00017     ldw    r19,0(r18)
  80593c:    94800204     addi    r18,r18,8
  805940:    803ffc26     beq    r16,zero,805934 &lt;__sfvwrite+0x11c&gt;
  805944:    18ffffcc     andi    r3,r3,65535
  805948:    1804d27a     srli    r2,r3,9
  80594c:    a4400217     ldw    r17,8(r20)
  805950:    1080004c     andi    r2,r2,1
  805954:    10006326     beq    r2,zero,805ae4 &lt;__sfvwrite+0x2cc&gt;
  805958:    8c00032e     bgeu    r17,r16,805968 &lt;__sfvwrite+0x150&gt;
  80595c:    1804d1fa     srli    r2,r3,7
  805960:    1080004c     andi    r2,r2,1
  805964:    10004e1e     bne    r2,zero,805aa0 &lt;__sfvwrite+0x288&gt;
  805968:    8440012e     bgeu    r16,r17,805970 &lt;__sfvwrite+0x158&gt;
  80596c:    8023883a     mov    r17,r16
  805970:    a1000017     ldw    r4,0(r20)
  805974:    880d883a     mov    r6,r17
  805978:    980b883a     mov    r5,r19
  80597c:    0805f640     call    805f64 &lt;memmove&gt;
  805980:    a0c00217     ldw    r3,8(r20)
  805984:    a0800017     ldw    r2,0(r20)
  805988:    1c47c83a     sub    r3,r3,r17
  80598c:    1445883a     add    r2,r2,r17
  805990:    8023883a     mov    r17,r16
  805994:    a0c00215     stw    r3,8(r20)
  805998:    a0800015     stw    r2,0(r20)
  80599c:    a8800217     ldw    r2,8(r21)
  8059a0:    9c67883a     add    r19,r19,r17
  8059a4:    8461c83a     sub    r16,r16,r17
  8059a8:    1445c83a     sub    r2,r2,r17
  8059ac:    a8800215     stw    r2,8(r21)
  8059b0:    103fcf26     beq    r2,zero,8058f0 &lt;__sfvwrite+0xd8&gt;
  8059b4:    a0c0030b     ldhu    r3,12(r20)
  8059b8:    003fdd06     br    805930 &lt;__sfvwrite+0x118&gt;
  8059bc:    b804c03a     cmpne    r2,r23,zero
  8059c0:    1000091e     bne    r2,zero,8059e8 &lt;__sfvwrite+0x1d0&gt;
  8059c4:    9809883a     mov    r4,r19
  8059c8:    01400284     movi    r5,10
  8059cc:    800d883a     mov    r6,r16
  8059d0:    0805ddc0     call    805ddc &lt;memchr&gt;
  8059d4:    85800044     addi    r22,r16,1
  8059d8:    10000226     beq    r2,zero,8059e4 &lt;__sfvwrite+0x1cc&gt;
  8059dc:    14c5c83a     sub    r2,r2,r19
  8059e0:    15800044     addi    r22,r2,1
  8059e4:    05c00044     movi    r23,1
  8059e8:    b00b883a     mov    r5,r22
  8059ec:    8580012e     bgeu    r16,r22,8059f4 &lt;__sfvwrite+0x1dc&gt;
  8059f0:    800b883a     mov    r5,r16
  8059f4:    a0c00217     ldw    r3,8(r20)
  8059f8:    a1c00517     ldw    r7,20(r20)
  8059fc:    a1000017     ldw    r4,0(r20)
  805a00:    a0800417     ldw    r2,16(r20)
  805a04:    19e3883a     add    r17,r3,r7
  805a08:    1100012e     bgeu    r2,r4,805a10 &lt;__sfvwrite+0x1f8&gt;
  805a0c:    89401616     blt    r17,r5,805a68 &lt;__sfvwrite+0x250&gt;
  805a10:    29c04c16     blt    r5,r7,805b44 &lt;__sfvwrite+0x32c&gt;
  805a14:    a0c00917     ldw    r3,36(r20)
  805a18:    a1000717     ldw    r4,28(r20)
  805a1c:    380d883a     mov    r6,r7
  805a20:    980b883a     mov    r5,r19
  805a24:    183ee83a     callr    r3
  805a28:    1023883a     mov    r17,r2
  805a2c:    0080170e     bge    zero,r2,805a8c &lt;__sfvwrite+0x274&gt;
  805a30:    b46dc83a     sub    r22,r22,r17
  805a34:    b0005026     beq    r22,zero,805b78 &lt;__sfvwrite+0x360&gt;
  805a38:    a8800217     ldw    r2,8(r21)
  805a3c:    9c67883a     add    r19,r19,r17
  805a40:    8461c83a     sub    r16,r16,r17
  805a44:    1445c83a     sub    r2,r2,r17
  805a48:    a8800215     stw    r2,8(r21)
  805a4c:    103fa826     beq    r2,zero,8058f0 &lt;__sfvwrite+0xd8&gt;
  805a50:    803fda1e     bne    r16,zero,8059bc &lt;__sfvwrite+0x1a4&gt;
  805a54:    94000117     ldw    r16,4(r18)
  805a58:    94c00017     ldw    r19,0(r18)
  805a5c:    94800204     addi    r18,r18,8
  805a60:    803ffc26     beq    r16,zero,805a54 &lt;__sfvwrite+0x23c&gt;
  805a64:    003fd706     br    8059c4 &lt;__sfvwrite+0x1ac&gt;
  805a68:    980b883a     mov    r5,r19
  805a6c:    880d883a     mov    r6,r17
  805a70:    0805f640     call    805f64 &lt;memmove&gt;
  805a74:    a0c00017     ldw    r3,0(r20)
  805a78:    a009883a     mov    r4,r20
  805a7c:    1c47883a     add    r3,r3,r17
  805a80:    a0c00015     stw    r3,0(r20)
  805a84:    08050400     call    805040 &lt;fflush&gt;
  805a88:    103fe926     beq    r2,zero,805a30 &lt;__sfvwrite+0x218&gt;
  805a8c:    a080030b     ldhu    r2,12(r20)
  805a90:    00ffffc4     movi    r3,-1
  805a94:    10801014     ori    r2,r2,64
  805a98:    a080030d     sth    r2,12(r20)
  805a9c:    003f9506     br    8058f4 &lt;__sfvwrite+0xdc&gt;
  805aa0:    a0800417     ldw    r2,16(r20)
  805aa4:    a0c00017     ldw    r3,0(r20)
  805aa8:    d1200017     ldw    r4,-32768(gp)
  805aac:    100b883a     mov    r5,r2
  805ab0:    18a3c83a     sub    r17,r3,r2
  805ab4:    8c2d883a     add    r22,r17,r16
  805ab8:    b00d883a     mov    r6,r22
  805abc:    08070340     call    807034 &lt;_realloc_r&gt;
  805ac0:    1009883a     mov    r4,r2
  805ac4:    103ff126     beq    r2,zero,805a8c &lt;__sfvwrite+0x274&gt;
  805ac8:    1445883a     add    r2,r2,r17
  805acc:    8023883a     mov    r17,r16
  805ad0:    a0800015     stw    r2,0(r20)
  805ad4:    a5800515     stw    r22,20(r20)
  805ad8:    a1000415     stw    r4,16(r20)
  805adc:    a4000215     stw    r16,8(r20)
  805ae0:    003fa106     br    805968 &lt;__sfvwrite+0x150&gt;
  805ae4:    a1000017     ldw    r4,0(r20)
  805ae8:    a0800417     ldw    r2,16(r20)
  805aec:    1100012e     bgeu    r2,r4,805af4 &lt;__sfvwrite+0x2dc&gt;
  805af0:    8c002636     bltu    r17,r16,805b8c &lt;__sfvwrite+0x374&gt;
  805af4:    a4400517     ldw    r17,20(r20)
  805af8:    84400836     bltu    r16,r17,805b1c &lt;__sfvwrite+0x304&gt;
  805afc:    a0c00917     ldw    r3,36(r20)
  805b00:    a1000717     ldw    r4,28(r20)
  805b04:    880d883a     mov    r6,r17
  805b08:    980b883a     mov    r5,r19
  805b0c:    183ee83a     callr    r3
  805b10:    1023883a     mov    r17,r2
  805b14:    00bfa116     blt    zero,r2,80599c &lt;__sfvwrite+0x184&gt;
  805b18:    003fdc06     br    805a8c &lt;__sfvwrite+0x274&gt;
  805b1c:    a1000017     ldw    r4,0(r20)
  805b20:    980b883a     mov    r5,r19
  805b24:    800d883a     mov    r6,r16
  805b28:    0805f640     call    805f64 &lt;memmove&gt;
  805b2c:    a0c00217     ldw    r3,8(r20)
  805b30:    a0800017     ldw    r2,0(r20)
  805b34:    8023883a     mov    r17,r16
  805b38:    1c07c83a     sub    r3,r3,r16
  805b3c:    1405883a     add    r2,r2,r16
  805b40:    003f9406     br    805994 &lt;__sfvwrite+0x17c&gt;
  805b44:    a1000017     ldw    r4,0(r20)
  805b48:    2823883a     mov    r17,r5
  805b4c:    880d883a     mov    r6,r17
  805b50:    980b883a     mov    r5,r19
  805b54:    0805f640     call    805f64 &lt;memmove&gt;
  805b58:    a0c00217     ldw    r3,8(r20)
  805b5c:    a0800017     ldw    r2,0(r20)
  805b60:    b46dc83a     sub    r22,r22,r17
  805b64:    1c47c83a     sub    r3,r3,r17
  805b68:    1445883a     add    r2,r2,r17
  805b6c:    a0c00215     stw    r3,8(r20)
  805b70:    a0800015     stw    r2,0(r20)
  805b74:    b03fb01e     bne    r22,zero,805a38 &lt;__sfvwrite+0x220&gt;
  805b78:    a009883a     mov    r4,r20
  805b7c:    08050400     call    805040 &lt;fflush&gt;
  805b80:    103fc21e     bne    r2,zero,805a8c &lt;__sfvwrite+0x274&gt;
  805b84:    002f883a     mov    r23,zero
  805b88:    003fab06     br    805a38 &lt;__sfvwrite+0x220&gt;
  805b8c:    980b883a     mov    r5,r19
  805b90:    880d883a     mov    r6,r17
  805b94:    0805f640     call    805f64 &lt;memmove&gt;
  805b98:    a0c00017     ldw    r3,0(r20)
  805b9c:    a009883a     mov    r4,r20
  805ba0:    1c47883a     add    r3,r3,r17
  805ba4:    a0c00015     stw    r3,0(r20)
  805ba8:    08050400     call    805040 &lt;fflush&gt;
  805bac:    103f7b26     beq    r2,zero,80599c &lt;__sfvwrite+0x184&gt;
  805bb0:    003fb606     br    805a8c &lt;__sfvwrite+0x274&gt;

00805bb4 &lt;_fwalk&gt;:
  805bb4:    d0a00017     ldw    r2,-32768(gp)
  805bb8:    defffa04     addi    sp,sp,-24
  805bbc:    dcc00115     stw    r19,4(sp)
  805bc0:    dd000015     stw    r20,0(sp)
  805bc4:    dfc00515     stw    ra,20(sp)
  805bc8:    dc000415     stw    r16,16(sp)
  805bcc:    dc400315     stw    r17,12(sp)
  805bd0:    dc800215     stw    r18,8(sp)
  805bd4:    2829883a     mov    r20,r5
  805bd8:    0027883a     mov    r19,zero
  805bdc:    20801126     beq    r4,r2,805c24 &lt;_fwalk+0x70&gt;
  805be0:    24809704     addi    r18,r4,604
  805be4:    90000f26     beq    r18,zero,805c24 &lt;_fwalk+0x70&gt;
  805be8:    94400117     ldw    r17,4(r18)
  805bec:    94000217     ldw    r16,8(r18)
  805bf0:    8c7fffc4     addi    r17,r17,-1
  805bf4:    88000816     blt    r17,zero,805c18 &lt;_fwalk+0x64&gt;
  805bf8:    8080030f     ldh    r2,12(r16)
  805bfc:    8009883a     mov    r4,r16
  805c00:    8c7fffc4     addi    r17,r17,-1
  805c04:    84001704     addi    r16,r16,92
  805c08:    103ffa26     beq    r2,zero,805bf4 &lt;_fwalk+0x40&gt;
  805c0c:    a03ee83a     callr    r20
  805c10:    98a6b03a     or    r19,r19,r2
  805c14:    883ff80e     bge    r17,zero,805bf8 &lt;_fwalk+0x44&gt;
  805c18:    94800017     ldw    r18,0(r18)
  805c1c:    903ff21e     bne    r18,zero,805be8 &lt;_fwalk+0x34&gt;
  805c20:    d0a00017     ldw    r2,-32768(gp)
  805c24:    14809704     addi    r18,r2,604
  805c28:    90000e26     beq    r18,zero,805c64 &lt;_fwalk+0xb0&gt;
  805c2c:    94400117     ldw    r17,4(r18)
  805c30:    94000217     ldw    r16,8(r18)
  805c34:    8c7fffc4     addi    r17,r17,-1
  805c38:    88000816     blt    r17,zero,805c5c &lt;_fwalk+0xa8&gt;
  805c3c:    8080030f     ldh    r2,12(r16)
  805c40:    8009883a     mov    r4,r16
  805c44:    8c7fffc4     addi    r17,r17,-1
  805c48:    84001704     addi    r16,r16,92
  805c4c:    103ffa26     beq    r2,zero,805c38 &lt;_fwalk+0x84&gt;
  805c50:    a03ee83a     callr    r20
  805c54:    98a6b03a     or    r19,r19,r2
  805c58:    883ff80e     bge    r17,zero,805c3c &lt;_fwalk+0x88&gt;
  805c5c:    94800017     ldw    r18,0(r18)
  805c60:    903ff21e     bne    r18,zero,805c2c &lt;_fwalk+0x78&gt;
  805c64:    9805883a     mov    r2,r19
  805c68:    dfc00517     ldw    ra,20(sp)
  805c6c:    dc000417     ldw    r16,16(sp)
  805c70:    dc400317     ldw    r17,12(sp)
  805c74:    dc800217     ldw    r18,8(sp)
  805c78:    dcc00117     ldw    r19,4(sp)
  805c7c:    dd000017     ldw    r20,0(sp)
  805c80:    dec00604     addi    sp,sp,24
  805c84:    f800283a     ret

00805c88 &lt;_setlocale_r&gt;:
  805c88:    defffc04     addi    sp,sp,-16
  805c8c:    dc000215     stw    r16,8(sp)
  805c90:    dc400115     stw    r17,4(sp)
  805c94:    dc800015     stw    r18,0(sp)
  805c98:    2023883a     mov    r17,r4
  805c9c:    2825883a     mov    r18,r5
  805ca0:    dfc00315     stw    ra,12(sp)
  805ca4:    3021883a     mov    r16,r6
  805ca8:    3009883a     mov    r4,r6
  805cac:    01402074     movhi    r5,129
  805cb0:    2972f404     addi    r5,r5,-13360
  805cb4:    30000726     beq    r6,zero,805cd4 &lt;_setlocale_r+0x4c&gt;
  805cb8:    08075fc0     call    8075fc &lt;strcmp&gt;
  805cbc:    8009883a     mov    r4,r16
  805cc0:    01402074     movhi    r5,129
  805cc4:    29736604     addi    r5,r5,-12904
  805cc8:    10000b1e     bne    r2,zero,805cf8 &lt;_setlocale_r+0x70&gt;
  805ccc:    8c000d15     stw    r16,52(r17)
  805cd0:    8c800c15     stw    r18,48(r17)
  805cd4:    00c02074     movhi    r3,129
  805cd8:    18f2f404     addi    r3,r3,-13360
  805cdc:    1805883a     mov    r2,r3
  805ce0:    dfc00317     ldw    ra,12(sp)
  805ce4:    dc000217     ldw    r16,8(sp)
  805ce8:    dc400117     ldw    r17,4(sp)
  805cec:    dc800017     ldw    r18,0(sp)
  805cf0:    dec00404     addi    sp,sp,16
  805cf4:    f800283a     ret
  805cf8:    08075fc0     call    8075fc &lt;strcmp&gt;
  805cfc:    0007883a     mov    r3,zero
  805d00:    103ff61e     bne    r2,zero,805cdc &lt;_setlocale_r+0x54&gt;
  805d04:    8c000d15     stw    r16,52(r17)
  805d08:    8c800c15     stw    r18,48(r17)
  805d0c:    003ff106     br    805cd4 &lt;_setlocale_r+0x4c&gt;

00805d10 &lt;__locale_charset&gt;:
  805d10:    d0a00a17     ldw    r2,-32728(gp)
  805d14:    f800283a     ret

00805d18 &lt;_localeconv_r&gt;:
  805d18:    00802074     movhi    r2,129
  805d1c:    10b38104     addi    r2,r2,-12796
  805d20:    f800283a     ret

00805d24 &lt;setlocale&gt;:
  805d24:    2007883a     mov    r3,r4
  805d28:    d1200017     ldw    r4,-32768(gp)
  805d2c:    280d883a     mov    r6,r5
  805d30:    02002034     movhi    r8,128
  805d34:    42172204     addi    r8,r8,23688
  805d38:    180b883a     mov    r5,r3
  805d3c:    4000683a     jmp    r8

00805d40 &lt;localeconv&gt;:
  805d40:    d1200017     ldw    r4,-32768(gp)
  805d44:    02002034     movhi    r8,128
  805d48:    42174604     addi    r8,r8,23832
  805d4c:    4000683a     jmp    r8

00805d50 &lt;_lseek_r&gt;:
  805d50:    defffe04     addi    sp,sp,-8
  805d54:    dc000015     stw    r16,0(sp)
  805d58:    2021883a     mov    r16,r4
  805d5c:    2809883a     mov    r4,r5
  805d60:    300b883a     mov    r5,r6
  805d64:    380d883a     mov    r6,r7
  805d68:    dfc00115     stw    ra,4(sp)
  805d6c:    d0201d15     stw    zero,-32652(gp)
  805d70:    0809c900     call    809c90 &lt;lseek&gt;
  805d74:    1007883a     mov    r3,r2
  805d78:    00bfffc4     movi    r2,-1
  805d7c:    18800526     beq    r3,r2,805d94 &lt;_lseek_r+0x44&gt;
  805d80:    1805883a     mov    r2,r3
  805d84:    dfc00117     ldw    ra,4(sp)
  805d88:    dc000017     ldw    r16,0(sp)
  805d8c:    dec00204     addi    sp,sp,8
  805d90:    f800283a     ret
  805d94:    d0a01d17     ldw    r2,-32652(gp)
  805d98:    103ff926     beq    r2,zero,805d80 &lt;_lseek_r+0x30&gt;
  805d9c:    80800015     stw    r2,0(r16)
  805da0:    1805883a     mov    r2,r3
  805da4:    dfc00117     ldw    ra,4(sp)
  805da8:    dc000017     ldw    r16,0(sp)
  805dac:    dec00204     addi    sp,sp,8
  805db0:    f800283a     ret

00805db4 &lt;malloc&gt;:
  805db4:    200b883a     mov    r5,r4
  805db8:    d1200017     ldw    r4,-32768(gp)
  805dbc:    02002034     movhi    r8,128
  805dc0:    42027004     addi    r8,r8,2496
  805dc4:    4000683a     jmp    r8

00805dc8 &lt;free&gt;:
  805dc8:    200b883a     mov    r5,r4
  805dcc:    d1200017     ldw    r4,-32768(gp)
  805dd0:    02002034     movhi    r8,128
  805dd4:    42155804     addi    r8,r8,21856
  805dd8:    4000683a     jmp    r8

00805ddc &lt;memchr&gt;:
  805ddc:    020000c4     movi    r8,3
  805de0:    29403fcc     andi    r5,r5,255
  805de4:    4180022e     bgeu    r8,r6,805df0 &lt;memchr+0x14&gt;
  805de8:    2204703a     and    r2,r4,r8
  805dec:    10000b26     beq    r2,zero,805e1c &lt;memchr+0x40&gt;
  805df0:    31bfffc4     addi    r6,r6,-1
  805df4:    00bfffc4     movi    r2,-1
  805df8:    30800626     beq    r6,r2,805e14 &lt;memchr+0x38&gt;
  805dfc:    1007883a     mov    r3,r2
  805e00:    20800003     ldbu    r2,0(r4)
  805e04:    31bfffc4     addi    r6,r6,-1
  805e08:    11402526     beq    r2,r5,805ea0 &lt;memchr+0xc4&gt;
  805e0c:    21000044     addi    r4,r4,1
  805e10:    30fffb1e     bne    r6,r3,805e00 &lt;memchr+0x24&gt;
  805e14:    0005883a     mov    r2,zero
  805e18:    f800283a     ret
  805e1c:    200f883a     mov    r7,r4
  805e20:    0013883a     mov    r9,zero
  805e24:    0007883a     mov    r3,zero
  805e28:    4804923a     slli    r2,r9,8
  805e2c:    18c00044     addi    r3,r3,1
  805e30:    1153883a     add    r9,r2,r5
  805e34:    40fffc2e     bgeu    r8,r3,805e28 &lt;memchr+0x4c&gt;
  805e38:    028000c4     movi    r10,3
  805e3c:    5180162e     bgeu    r10,r6,805e98 &lt;memchr+0xbc&gt;
  805e40:    033fbff4     movhi    r12,65279
  805e44:    633fbfc4     addi    r12,r12,-257
  805e48:    02e02074     movhi    r11,32897
  805e4c:    5ae02004     addi    r11,r11,-32640
  805e50:    38800017     ldw    r2,0(r7)
  805e54:    1244f03a     xor    r2,r2,r9
  805e58:    0086303a     nor    r3,zero,r2
  805e5c:    1305883a     add    r2,r2,r12
  805e60:    10c4703a     and    r2,r2,r3
  805e64:    12c4703a     and    r2,r2,r11
  805e68:    10000826     beq    r2,zero,805e8c &lt;memchr+0xb0&gt;
  805e6c:    3809883a     mov    r4,r7
  805e70:    0007883a     mov    r3,zero
  805e74:    020000c4     movi    r8,3
  805e78:    20800003     ldbu    r2,0(r4)
  805e7c:    18c00044     addi    r3,r3,1
  805e80:    11400726     beq    r2,r5,805ea0 &lt;memchr+0xc4&gt;
  805e84:    21000044     addi    r4,r4,1
  805e88:    40fffb2e     bgeu    r8,r3,805e78 &lt;memchr+0x9c&gt;
  805e8c:    31bfff04     addi    r6,r6,-4
  805e90:    39c00104     addi    r7,r7,4
  805e94:    51bfee36     bltu    r10,r6,805e50 &lt;memchr+0x74&gt;
  805e98:    3809883a     mov    r4,r7
  805e9c:    003fd406     br    805df0 &lt;memchr+0x14&gt;
  805ea0:    2005883a     mov    r2,r4
  805ea4:    f800283a     ret

00805ea8 &lt;memcpy&gt;:
  805ea8:    020003c4     movi    r8,15
  805eac:    2007883a     mov    r3,r4
  805eb0:    4180032e     bgeu    r8,r6,805ec0 &lt;memcpy+0x18&gt;
  805eb4:    2904b03a     or    r2,r5,r4
  805eb8:    108000cc     andi    r2,r2,3
  805ebc:    10000c26     beq    r2,zero,805ef0 &lt;memcpy+0x48&gt;
  805ec0:    31bfffc4     addi    r6,r6,-1
  805ec4:    00bfffc4     movi    r2,-1
  805ec8:    30800726     beq    r6,r2,805ee8 &lt;memcpy+0x40&gt;
  805ecc:    100f883a     mov    r7,r2
  805ed0:    28800003     ldbu    r2,0(r5)
  805ed4:    31bfffc4     addi    r6,r6,-1
  805ed8:    29400044     addi    r5,r5,1
  805edc:    18800005     stb    r2,0(r3)
  805ee0:    18c00044     addi    r3,r3,1
  805ee4:    31fffa1e     bne    r6,r7,805ed0 &lt;memcpy+0x28&gt;
  805ee8:    2005883a     mov    r2,r4
  805eec:    f800283a     ret
  805ef0:    200f883a     mov    r7,r4
  805ef4:    28800017     ldw    r2,0(r5)
  805ef8:    29400104     addi    r5,r5,4
  805efc:    31bffc04     addi    r6,r6,-16
  805f00:    38800015     stw    r2,0(r7)
  805f04:    28c00017     ldw    r3,0(r5)
  805f08:    39c00104     addi    r7,r7,4
  805f0c:    29400104     addi    r5,r5,4
  805f10:    38c00015     stw    r3,0(r7)
  805f14:    28800017     ldw    r2,0(r5)
  805f18:    39c00104     addi    r7,r7,4
  805f1c:    29400104     addi    r5,r5,4
  805f20:    38800015     stw    r2,0(r7)
  805f24:    28c00017     ldw    r3,0(r5)
  805f28:    39c00104     addi    r7,r7,4
  805f2c:    29400104     addi    r5,r5,4
  805f30:    38c00015     stw    r3,0(r7)
  805f34:    39c00104     addi    r7,r7,4
  805f38:    41bfee36     bltu    r8,r6,805ef4 &lt;memcpy+0x4c&gt;
  805f3c:    00c000c4     movi    r3,3
  805f40:    1980062e     bgeu    r3,r6,805f5c &lt;memcpy+0xb4&gt;
  805f44:    28800017     ldw    r2,0(r5)
  805f48:    31bfff04     addi    r6,r6,-4
  805f4c:    29400104     addi    r5,r5,4
  805f50:    38800015     stw    r2,0(r7)
  805f54:    39c00104     addi    r7,r7,4
  805f58:    19bffa36     bltu    r3,r6,805f44 &lt;memcpy+0x9c&gt;
  805f5c:    3807883a     mov    r3,r7
  805f60:    003fd706     br    805ec0 &lt;memcpy+0x18&gt;

00805f64 &lt;memmove&gt;:
  805f64:    2811883a     mov    r8,r5
  805f68:    2007883a     mov    r3,r4
  805f6c:    300f883a     mov    r7,r6
  805f70:    29000f2e     bgeu    r5,r4,805fb0 &lt;memmove+0x4c&gt;
  805f74:    2985883a     add    r2,r5,r6
  805f78:    20800d2e     bgeu    r4,r2,805fb0 &lt;memmove+0x4c&gt;
  805f7c:    2187883a     add    r3,r4,r6
  805f80:    31ffffc4     addi    r7,r6,-1
  805f84:    01bfffc4     movi    r6,-1
  805f88:    100b883a     mov    r5,r2
  805f8c:    39800626     beq    r7,r6,805fa8 &lt;memmove+0x44&gt;
  805f90:    297fffc4     addi    r5,r5,-1
  805f94:    28800003     ldbu    r2,0(r5)
  805f98:    18ffffc4     addi    r3,r3,-1
  805f9c:    39ffffc4     addi    r7,r7,-1
  805fa0:    18800005     stb    r2,0(r3)
  805fa4:    39bffa1e     bne    r7,r6,805f90 &lt;memmove+0x2c&gt;
  805fa8:    2005883a     mov    r2,r4
  805fac:    f800283a     ret
  805fb0:    024003c4     movi    r9,15
  805fb4:    49800c36     bltu    r9,r6,805fe8 &lt;memmove+0x84&gt;
  805fb8:    39ffffc4     addi    r7,r7,-1
  805fbc:    00bfffc4     movi    r2,-1
  805fc0:    38bff926     beq    r7,r2,805fa8 &lt;memmove+0x44&gt;
  805fc4:    100d883a     mov    r6,r2
  805fc8:    28800003     ldbu    r2,0(r5)
  805fcc:    39ffffc4     addi    r7,r7,-1
  805fd0:    29400044     addi    r5,r5,1
  805fd4:    18800005     stb    r2,0(r3)
  805fd8:    18c00044     addi    r3,r3,1
  805fdc:    39bffa1e     bne    r7,r6,805fc8 &lt;memmove+0x64&gt;
  805fe0:    2005883a     mov    r2,r4
  805fe4:    f800283a     ret
  805fe8:    4104b03a     or    r2,r8,r4
  805fec:    108000cc     andi    r2,r2,3
  805ff0:    103ff11e     bne    r2,zero,805fb8 &lt;memmove+0x54&gt;
  805ff4:    400b883a     mov    r5,r8
  805ff8:    200d883a     mov    r6,r4
  805ffc:    28800017     ldw    r2,0(r5)
  806000:    29400104     addi    r5,r5,4
  806004:    39fffc04     addi    r7,r7,-16
  806008:    30800015     stw    r2,0(r6)
  80600c:    28c00017     ldw    r3,0(r5)
  806010:    31800104     addi    r6,r6,4
  806014:    29400104     addi    r5,r5,4
  806018:    30c00015     stw    r3,0(r6)
  80601c:    28800017     ldw    r2,0(r5)
  806020:    31800104     addi    r6,r6,4
  806024:    29400104     addi    r5,r5,4
  806028:    30800015     stw    r2,0(r6)
  80602c:    28c00017     ldw    r3,0(r5)
  806030:    31800104     addi    r6,r6,4
  806034:    29400104     addi    r5,r5,4
  806038:    30c00015     stw    r3,0(r6)
  80603c:    31800104     addi    r6,r6,4
  806040:    49ffee36     bltu    r9,r7,805ffc &lt;memmove+0x98&gt;
  806044:    00c000c4     movi    r3,3
  806048:    19c0062e     bgeu    r3,r7,806064 &lt;memmove+0x100&gt;
  80604c:    28800017     ldw    r2,0(r5)
  806050:    39ffff04     addi    r7,r7,-4
  806054:    29400104     addi    r5,r5,4
  806058:    30800015     stw    r2,0(r6)
  80605c:    31800104     addi    r6,r6,4
  806060:    19fffa36     bltu    r3,r7,80604c &lt;memmove+0xe8&gt;
  806064:    3007883a     mov    r3,r6
  806068:    003fd306     br    805fb8 &lt;memmove+0x54&gt;

0080606c &lt;memset&gt;:
  80606c:    008000c4     movi    r2,3
  806070:    29403fcc     andi    r5,r5,255
  806074:    2007883a     mov    r3,r4
  806078:    11801a2e     bgeu    r2,r6,8060e4 &lt;memset+0x78&gt;
  80607c:    2084703a     and    r2,r4,r2
  806080:    1000181e     bne    r2,zero,8060e4 &lt;memset+0x78&gt;
  806084:    2806923a     slli    r3,r5,8
  806088:    200f883a     mov    r7,r4
  80608c:    1946b03a     or    r3,r3,r5
  806090:    1804943a     slli    r2,r3,16
  806094:    1886b03a     or    r3,r3,r2
  806098:    008003c4     movi    r2,15
  80609c:    11800a2e     bgeu    r2,r6,8060c8 &lt;memset+0x5c&gt;
  8060a0:    38c00015     stw    r3,0(r7)
  8060a4:    39c00104     addi    r7,r7,4
  8060a8:    38c00015     stw    r3,0(r7)
  8060ac:    39c00104     addi    r7,r7,4
  8060b0:    38c00015     stw    r3,0(r7)
  8060b4:    39c00104     addi    r7,r7,4
  8060b8:    38c00015     stw    r3,0(r7)
  8060bc:    31bffc04     addi    r6,r6,-16
  8060c0:    39c00104     addi    r7,r7,4
  8060c4:    11bff636     bltu    r2,r6,8060a0 &lt;memset+0x34&gt;
  8060c8:    008000c4     movi    r2,3
  8060cc:    1180042e     bgeu    r2,r6,8060e0 &lt;memset+0x74&gt;
  8060d0:    38c00015     stw    r3,0(r7)
  8060d4:    31bfff04     addi    r6,r6,-4
  8060d8:    39c00104     addi    r7,r7,4
  8060dc:    11bffc36     bltu    r2,r6,8060d0 &lt;memset+0x64&gt;
  8060e0:    3807883a     mov    r3,r7
  8060e4:    31bfffc4     addi    r6,r6,-1
  8060e8:    00bfffc4     movi    r2,-1
  8060ec:    30800426     beq    r6,r2,806100 &lt;memset+0x94&gt;
  8060f0:    19400005     stb    r5,0(r3)
  8060f4:    31bfffc4     addi    r6,r6,-1
  8060f8:    18c00044     addi    r3,r3,1
  8060fc:    30bffc1e     bne    r6,r2,8060f0 &lt;memset+0x84&gt;
  806100:    2005883a     mov    r2,r4
  806104:    f800283a     ret

00806108 &lt;_Balloc&gt;:
  806108:    defffc04     addi    sp,sp,-16
  80610c:    dc000215     stw    r16,8(sp)
  806110:    dc400115     stw    r17,4(sp)
  806114:    dfc00315     stw    ra,12(sp)
  806118:    dc800015     stw    r18,0(sp)
  80611c:    20c01317     ldw    r3,76(r4)
  806120:    2823883a     mov    r17,r5
  806124:    2021883a     mov    r16,r4
  806128:    01800404     movi    r6,16
  80612c:    01400104     movi    r5,4
  806130:    18001426     beq    r3,zero,806184 &lt;_Balloc+0x7c&gt;
  806134:    01400044     movi    r5,1
  806138:    880490ba     slli    r2,r17,2
  80613c:    2c64983a     sll    r18,r5,r17
  806140:    8009883a     mov    r4,r16
  806144:    10cf883a     add    r7,r2,r3
  806148:    900c90ba     slli    r6,r18,2
  80614c:    38c00017     ldw    r3,0(r7)
  806150:    31800504     addi    r6,r6,20
  806154:    18001126     beq    r3,zero,80619c &lt;_Balloc+0x94&gt;
  806158:    18800017     ldw    r2,0(r3)
  80615c:    38800015     stw    r2,0(r7)
  806160:    18000415     stw    zero,16(r3)
  806164:    18000315     stw    zero,12(r3)
  806168:    1805883a     mov    r2,r3
  80616c:    dfc00317     ldw    ra,12(sp)
  806170:    dc000217     ldw    r16,8(sp)
  806174:    dc400117     ldw    r17,4(sp)
  806178:    dc800017     ldw    r18,0(sp)
  80617c:    dec00404     addi    sp,sp,16
  806180:    f800283a     ret
  806184:    08077100     call    807710 &lt;_calloc_r&gt;
  806188:    1007883a     mov    r3,r2
  80618c:    80801315     stw    r2,76(r16)
  806190:    0005883a     mov    r2,zero
  806194:    183fe71e     bne    r3,zero,806134 &lt;_Balloc+0x2c&gt;
  806198:    003ff406     br    80616c &lt;_Balloc+0x64&gt;
  80619c:    08077100     call    807710 &lt;_calloc_r&gt;
  8061a0:    1007883a     mov    r3,r2
  8061a4:    0005883a     mov    r2,zero
  8061a8:    183ff026     beq    r3,zero,80616c &lt;_Balloc+0x64&gt;
  8061ac:    1c400115     stw    r17,4(r3)
  8061b0:    1c800215     stw    r18,8(r3)
  8061b4:    003fea06     br    806160 &lt;_Balloc+0x58&gt;

008061b8 &lt;_Bfree&gt;:
  8061b8:    28000726     beq    r5,zero,8061d8 &lt;_Bfree+0x20&gt;
  8061bc:    28800117     ldw    r2,4(r5)
  8061c0:    21001317     ldw    r4,76(r4)
  8061c4:    100490ba     slli    r2,r2,2
  8061c8:    1105883a     add    r2,r2,r4
  8061cc:    10c00017     ldw    r3,0(r2)
  8061d0:    28c00015     stw    r3,0(r5)
  8061d4:    11400015     stw    r5,0(r2)
  8061d8:    f800283a     ret

008061dc &lt;_multadd&gt;:
  8061dc:    defffa04     addi    sp,sp,-24
  8061e0:    dc000415     stw    r16,16(sp)
  8061e4:    dcc00115     stw    r19,4(sp)
  8061e8:    dd000015     stw    r20,0(sp)
  8061ec:    dfc00515     stw    ra,20(sp)
  8061f0:    dc400315     stw    r17,12(sp)
  8061f4:    dc800215     stw    r18,8(sp)
  8061f8:    2c800417     ldw    r18,16(r5)
  8061fc:    3821883a     mov    r16,r7
  806200:    2827883a     mov    r19,r5
  806204:    2029883a     mov    r20,r4
  806208:    2a000504     addi    r8,r5,20
  80620c:    000f883a     mov    r7,zero
  806210:    40800017     ldw    r2,0(r8)
  806214:    39c00044     addi    r7,r7,1
  806218:    10ffffcc     andi    r3,r2,65535
  80621c:    1987383a     mul    r3,r3,r6
  806220:    1004d43a     srli    r2,r2,16
  806224:    1c07883a     add    r3,r3,r16
  806228:    180ad43a     srli    r5,r3,16
  80622c:    1185383a     mul    r2,r2,r6
  806230:    18ffffcc     andi    r3,r3,65535
  806234:    1145883a     add    r2,r2,r5
  806238:    1008943a     slli    r4,r2,16
  80623c:    1020d43a     srli    r16,r2,16
  806240:    20c9883a     add    r4,r4,r3
  806244:    41000015     stw    r4,0(r8)
  806248:    42000104     addi    r8,r8,4
  80624c:    3cbff016     blt    r7,r18,806210 &lt;_multadd+0x34&gt;
  806250:    80000726     beq    r16,zero,806270 &lt;_multadd+0x94&gt;
  806254:    98800217     ldw    r2,8(r19)
  806258:    90800e0e     bge    r18,r2,806294 &lt;_multadd+0xb8&gt;
  80625c:    900490ba     slli    r2,r18,2
  806260:    94800044     addi    r18,r18,1
  806264:    9c800415     stw    r18,16(r19)
  806268:    14c5883a     add    r2,r2,r19
  80626c:    14000515     stw    r16,20(r2)
  806270:    9805883a     mov    r2,r19
  806274:    dfc00517     ldw    ra,20(sp)
  806278:    dc000417     ldw    r16,16(sp)
  80627c:    dc400317     ldw    r17,12(sp)
  806280:    dc800217     ldw    r18,8(sp)
  806284:    dcc00117     ldw    r19,4(sp)
  806288:    dd000017     ldw    r20,0(sp)
  80628c:    dec00604     addi    sp,sp,24
  806290:    f800283a     ret
  806294:    99400117     ldw    r5,4(r19)
  806298:    a009883a     mov    r4,r20
  80629c:    29400044     addi    r5,r5,1
  8062a0:    08061080     call    806108 &lt;_Balloc&gt;
  8062a4:    99800417     ldw    r6,16(r19)
  8062a8:    99400304     addi    r5,r19,12
  8062ac:    11000304     addi    r4,r2,12
  8062b0:    300c90ba     slli    r6,r6,2
  8062b4:    1023883a     mov    r17,r2
  8062b8:    31800204     addi    r6,r6,8
  8062bc:    0805ea80     call    805ea8 &lt;memcpy&gt;
  8062c0:    980b883a     mov    r5,r19
  8062c4:    a009883a     mov    r4,r20
  8062c8:    08061b80     call    8061b8 &lt;_Bfree&gt;
  8062cc:    8827883a     mov    r19,r17
  8062d0:    003fe206     br    80625c &lt;_multadd+0x80&gt;

008062d4 &lt;_s2b&gt;:
  8062d4:    defffa04     addi    sp,sp,-24
  8062d8:    dc000415     stw    r16,16(sp)
  8062dc:    dc800215     stw    r18,8(sp)
  8062e0:    2821883a     mov    r16,r5
  8062e4:    2025883a     mov    r18,r4
  8062e8:    01400244     movi    r5,9
  8062ec:    39000204     addi    r4,r7,8
  8062f0:    dcc00115     stw    r19,4(sp)
  8062f4:    dd000015     stw    r20,0(sp)
  8062f8:    dfc00515     stw    ra,20(sp)
  8062fc:    dc400315     stw    r17,12(sp)
  806300:    3829883a     mov    r20,r7
  806304:    3027883a     mov    r19,r6
  806308:    080915c0     call    80915c &lt;__divsi3&gt;
  80630c:    00c00044     movi    r3,1
  806310:    000b883a     mov    r5,zero
  806314:    1880030e     bge    r3,r2,806324 &lt;_s2b+0x50&gt;
  806318:    18c7883a     add    r3,r3,r3
  80631c:    29400044     addi    r5,r5,1
  806320:    18bffd16     blt    r3,r2,806318 &lt;_s2b+0x44&gt;
  806324:    9009883a     mov    r4,r18
  806328:    08061080     call    806108 &lt;_Balloc&gt;
  80632c:    1009883a     mov    r4,r2
  806330:    d8800617     ldw    r2,24(sp)
  806334:    00c00044     movi    r3,1
  806338:    04400244     movi    r17,9
  80633c:    20800515     stw    r2,20(r4)
  806340:    20c00415     stw    r3,16(r4)
  806344:    8cc0210e     bge    r17,r19,8063cc &lt;_s2b+0xf8&gt;
  806348:    8461883a     add    r16,r16,r17
  80634c:    81c00007     ldb    r7,0(r16)
  806350:    200b883a     mov    r5,r4
  806354:    01800284     movi    r6,10
  806358:    9009883a     mov    r4,r18
  80635c:    39fff404     addi    r7,r7,-48
  806360:    08061dc0     call    8061dc &lt;_multadd&gt;
  806364:    8c400044     addi    r17,r17,1
  806368:    1009883a     mov    r4,r2
  80636c:    84000044     addi    r16,r16,1
  806370:    8cfff616     blt    r17,r19,80634c &lt;_s2b+0x78&gt;
  806374:    84000044     addi    r16,r16,1
  806378:    8d000b0e     bge    r17,r20,8063a8 &lt;_s2b+0xd4&gt;
  80637c:    a463c83a     sub    r17,r20,r17
  806380:    81c00007     ldb    r7,0(r16)
  806384:    200b883a     mov    r5,r4
  806388:    01800284     movi    r6,10
  80638c:    9009883a     mov    r4,r18
  806390:    39fff404     addi    r7,r7,-48
  806394:    08061dc0     call    8061dc &lt;_multadd&gt;
  806398:    8c7fffc4     addi    r17,r17,-1
  80639c:    1009883a     mov    r4,r2
  8063a0:    84000044     addi    r16,r16,1
  8063a4:    883ff61e     bne    r17,zero,806380 &lt;_s2b+0xac&gt;
  8063a8:    2005883a     mov    r2,r4
  8063ac:    dfc00517     ldw    ra,20(sp)
  8063b0:    dc000417     ldw    r16,16(sp)
  8063b4:    dc400317     ldw    r17,12(sp)
  8063b8:    dc800217     ldw    r18,8(sp)
  8063bc:    dcc00117     ldw    r19,4(sp)
  8063c0:    dd000017     ldw    r20,0(sp)
  8063c4:    dec00604     addi    sp,sp,24
  8063c8:    f800283a     ret
  8063cc:    84000284     addi    r16,r16,10
  8063d0:    003fe906     br    806378 &lt;_s2b+0xa4&gt;

008063d4 &lt;_hi0bits&gt;:
  8063d4:    20bfffec     andhi    r2,r4,65535
  8063d8:    0007883a     mov    r3,zero
  8063dc:    1000021e     bne    r2,zero,8063e8 &lt;_hi0bits+0x14&gt;
  8063e0:    2008943a     slli    r4,r4,16
  8063e4:    00c00404     movi    r3,16
  8063e8:    20bfc02c     andhi    r2,r4,65280
  8063ec:    1000021e     bne    r2,zero,8063f8 &lt;_hi0bits+0x24&gt;
  8063f0:    2008923a     slli    r4,r4,8
  8063f4:    18c00204     addi    r3,r3,8
  8063f8:    20bc002c     andhi    r2,r4,61440
  8063fc:    1000021e     bne    r2,zero,806408 &lt;_hi0bits+0x34&gt;
  806400:    2008913a     slli    r4,r4,4
  806404:    18c00104     addi    r3,r3,4
  806408:    20b0002c     andhi    r2,r4,49152
  80640c:    1000021e     bne    r2,zero,806418 &lt;_hi0bits+0x44&gt;
  806410:    200890ba     slli    r4,r4,2
  806414:    18c00084     addi    r3,r3,2
  806418:    20000516     blt    r4,zero,806430 &lt;_hi0bits+0x5c&gt;
  80641c:    2004d7ba     srli    r2,r4,30
  806420:    18c00044     addi    r3,r3,1
  806424:    01000804     movi    r4,32
  806428:    1080004c     andi    r2,r2,1
  80642c:    10000126     beq    r2,zero,806434 &lt;_hi0bits+0x60&gt;
  806430:    1809883a     mov    r4,r3
  806434:    2005883a     mov    r2,r4
  806438:    f800283a     ret

0080643c &lt;_lo0bits&gt;:
  80643c:    20c00017     ldw    r3,0(r4)
  806440:    188001cc     andi    r2,r3,7
  806444:    10000a26     beq    r2,zero,806470 &lt;_lo0bits+0x34&gt;
  806448:    1880004c     andi    r2,r3,1
  80644c:    000b883a     mov    r5,zero
  806450:    1000051e     bne    r2,zero,806468 &lt;_lo0bits+0x2c&gt;
  806454:    180cd07a     srli    r6,r3,1
  806458:    3080004c     andi    r2,r6,1
  80645c:    10002026     beq    r2,zero,8064e0 &lt;_lo0bits+0xa4&gt;
  806460:    01400044     movi    r5,1
  806464:    21800015     stw    r6,0(r4)
  806468:    2805883a     mov    r2,r5
  80646c:    f800283a     ret
  806470:    18bfffcc     andi    r2,r3,65535
  806474:    000d883a     mov    r6,zero
  806478:    10001626     beq    r2,zero,8064d4 &lt;_lo0bits+0x98&gt;
  80647c:    18803fcc     andi    r2,r3,255
  806480:    1000021e     bne    r2,zero,80648c &lt;_lo0bits+0x50&gt;
  806484:    1806d23a     srli    r3,r3,8
  806488:    31800204     addi    r6,r6,8
  80648c:    188003cc     andi    r2,r3,15
  806490:    1000021e     bne    r2,zero,80649c &lt;_lo0bits+0x60&gt;
  806494:    1806d13a     srli    r3,r3,4
  806498:    31800104     addi    r6,r6,4
  80649c:    188000cc     andi    r2,r3,3
  8064a0:    1000021e     bne    r2,zero,8064ac &lt;_lo0bits+0x70&gt;
  8064a4:    1806d0ba     srli    r3,r3,2
  8064a8:    31800084     addi    r6,r6,2
  8064ac:    1880004c     andi    r2,r3,1
  8064b0:    1000041e     bne    r2,zero,8064c4 &lt;_lo0bits+0x88&gt;
  8064b4:    1806d07a     srli    r3,r3,1
  8064b8:    31800044     addi    r6,r6,1
  8064bc:    01400804     movi    r5,32
  8064c0:    183fe926     beq    r3,zero,806468 &lt;_lo0bits+0x2c&gt;
  8064c4:    300b883a     mov    r5,r6
  8064c8:    2805883a     mov    r2,r5
  8064cc:    20c00015     stw    r3,0(r4)
  8064d0:    f800283a     ret
  8064d4:    1806d43a     srli    r3,r3,16
  8064d8:    01800404     movi    r6,16
  8064dc:    003fe706     br    80647c &lt;_lo0bits+0x40&gt;
  8064e0:    1804d0ba     srli    r2,r3,2
  8064e4:    01400084     movi    r5,2
  8064e8:    20800015     stw    r2,0(r4)
  8064ec:    003fde06     br    806468 &lt;_lo0bits+0x2c&gt;

008064f0 &lt;_i2b&gt;:
  8064f0:    defffd04     addi    sp,sp,-12
  8064f4:    dc000115     stw    r16,4(sp)
  8064f8:    04000044     movi    r16,1
  8064fc:    dc800015     stw    r18,0(sp)
  806500:    2825883a     mov    r18,r5
  806504:    800b883a     mov    r5,r16
  806508:    dfc00215     stw    ra,8(sp)
  80650c:    08061080     call    806108 &lt;_Balloc&gt;
  806510:    14000415     stw    r16,16(r2)
  806514:    14800515     stw    r18,20(r2)
  806518:    dfc00217     ldw    ra,8(sp)
  80651c:    dc000117     ldw    r16,4(sp)
  806520:    dc800017     ldw    r18,0(sp)
  806524:    dec00304     addi    sp,sp,12
  806528:    f800283a     ret

0080652c &lt;_multiply&gt;:
  80652c:    defff804     addi    sp,sp,-32
  806530:    dc000615     stw    r16,24(sp)
  806534:    dfc00715     stw    ra,28(sp)
  806538:    dc400515     stw    r17,20(sp)
  80653c:    dc800415     stw    r18,16(sp)
  806540:    dcc00315     stw    r19,12(sp)
  806544:    dd000215     stw    r20,8(sp)
  806548:    dd400115     stw    r21,4(sp)
  80654c:    2cc00417     ldw    r19,16(r5)
  806550:    34800417     ldw    r18,16(r6)
  806554:    2821883a     mov    r16,r5
  806558:    9c80040e     bge    r19,r18,80656c &lt;_multiply+0x40&gt;
  80655c:    9027883a     mov    r19,r18
  806560:    2c800417     ldw    r18,16(r5)
  806564:    3021883a     mov    r16,r6
  806568:    280d883a     mov    r6,r5
  80656c:    80800217     ldw    r2,8(r16)
  806570:    9ca3883a     add    r17,r19,r18
  806574:    81400117     ldw    r5,4(r16)
  806578:    1440010e     bge    r2,r17,806580 &lt;_multiply+0x54&gt;
  80657c:    29400044     addi    r5,r5,1
  806580:    882a90ba     slli    r21,r17,2
  806584:    d9800015     stw    r6,0(sp)
  806588:    08061080     call    806108 &lt;_Balloc&gt;
  80658c:    13800504     addi    r14,r2,20
  806590:    ab9b883a     add    r13,r21,r14
  806594:    1029883a     mov    r20,r2
  806598:    7011883a     mov    r8,r14
  80659c:    d9800017     ldw    r6,0(sp)
  8065a0:    7340032e     bgeu    r14,r13,8065b0 &lt;_multiply+0x84&gt;
  8065a4:    40000015     stw    zero,0(r8)
  8065a8:    42000104     addi    r8,r8,4
  8065ac:    437ffd36     bltu    r8,r13,8065a4 &lt;_multiply+0x78&gt;
  8065b0:    900490ba     slli    r2,r18,2
  8065b4:    980690ba     slli    r3,r19,2
  8065b8:    31800504     addi    r6,r6,20
  8065bc:    83400504     addi    r13,r16,20
  8065c0:    119f883a     add    r15,r2,r6
  8065c4:    1b57883a     add    r11,r3,r13
  8065c8:    7019883a     mov    r12,r14
  8065cc:    33c0392e     bgeu    r6,r15,8066b4 &lt;_multiply+0x188&gt;
  8065d0:    30800017     ldw    r2,0(r6)
  8065d4:    12bfffcc     andi    r10,r2,65535
  8065d8:    50001826     beq    r10,zero,80663c &lt;_multiply+0x110&gt;
  8065dc:    6811883a     mov    r8,r13
  8065e0:    600f883a     mov    r7,r12
  8065e4:    0013883a     mov    r9,zero
  8065e8:    41000017     ldw    r4,0(r8)
  8065ec:    39400017     ldw    r5,0(r7)
  8065f0:    42000104     addi    r8,r8,4
  8065f4:    20bfffcc     andi    r2,r4,65535
  8065f8:    1285383a     mul    r2,r2,r10
  8065fc:    2008d43a     srli    r4,r4,16
  806600:    28ffffcc     andi    r3,r5,65535
  806604:    10c5883a     add    r2,r2,r3
  806608:    1245883a     add    r2,r2,r9
  80660c:    2289383a     mul    r4,r4,r10
  806610:    280ad43a     srli    r5,r5,16
  806614:    1012d43a     srli    r9,r2,16
  806618:    3880000d     sth    r2,0(r7)
  80661c:    2149883a     add    r4,r4,r5
  806620:    2245883a     add    r2,r4,r9
  806624:    3880008d     sth    r2,2(r7)
  806628:    1012d43a     srli    r9,r2,16
  80662c:    39c00104     addi    r7,r7,4
  806630:    42ffed36     bltu    r8,r11,8065e8 &lt;_multiply+0xbc&gt;
  806634:    3a400015     stw    r9,0(r7)
  806638:    30800017     ldw    r2,0(r6)
  80663c:    1014d43a     srli    r10,r2,16
  806640:    50001926     beq    r10,zero,8066a8 &lt;_multiply+0x17c&gt;
  806644:    60800017     ldw    r2,0(r12)
  806648:    600f883a     mov    r7,r12
  80664c:    6811883a     mov    r8,r13
  806650:    0013883a     mov    r9,zero
  806654:    1009883a     mov    r4,r2
  806658:    40c00017     ldw    r3,0(r8)
  80665c:    3880000d     sth    r2,0(r7)
  806660:    2008d43a     srli    r4,r4,16
  806664:    18bfffcc     andi    r2,r3,65535
  806668:    1285383a     mul    r2,r2,r10
  80666c:    1806d43a     srli    r3,r3,16
  806670:    42000104     addi    r8,r8,4
  806674:    1105883a     add    r2,r2,r4
  806678:    1245883a     add    r2,r2,r9
  80667c:    3880008d     sth    r2,2(r7)
  806680:    39c00104     addi    r7,r7,4
  806684:    39000017     ldw    r4,0(r7)
  806688:    1a87383a     mul    r3,r3,r10
  80668c:    1012d43a     srli    r9,r2,16
  806690:    20bfffcc     andi    r2,r4,65535
  806694:    1887883a     add    r3,r3,r2
  806698:    1a45883a     add    r2,r3,r9
  80669c:    1012d43a     srli    r9,r2,16
  8066a0:    42ffed36     bltu    r8,r11,806658 &lt;_multiply+0x12c&gt;
  8066a4:    38800015     stw    r2,0(r7)
  8066a8:    31800104     addi    r6,r6,4
  8066ac:    63000104     addi    r12,r12,4
  8066b0:    33ffc736     bltu    r6,r15,8065d0 &lt;_multiply+0xa4&gt;
  8066b4:    ab8f883a     add    r7,r21,r14
  8066b8:    0440060e     bge    zero,r17,8066d4 &lt;_multiply+0x1a8&gt;
  8066bc:    39ffff04     addi    r7,r7,-4
  8066c0:    38800017     ldw    r2,0(r7)
  8066c4:    1000031e     bne    r2,zero,8066d4 &lt;_multiply+0x1a8&gt;
  8066c8:    8c7fffc4     addi    r17,r17,-1
  8066cc:    39ffff04     addi    r7,r7,-4
  8066d0:    047ffb16     blt    zero,r17,8066c0 &lt;_multiply+0x194&gt;
  8066d4:    a005883a     mov    r2,r20
  8066d8:    a4400415     stw    r17,16(r20)
  8066dc:    dfc00717     ldw    ra,28(sp)
  8066e0:    dc000617     ldw    r16,24(sp)
  8066e4:    dc400517     ldw    r17,20(sp)
  8066e8:    dc800417     ldw    r18,16(sp)
  8066ec:    dcc00317     ldw    r19,12(sp)
  8066f0:    dd000217     ldw    r20,8(sp)
  8066f4:    dd400117     ldw    r21,4(sp)
  8066f8:    dec00804     addi    sp,sp,32
  8066fc:    f800283a     ret

00806700 &lt;_pow5mult&gt;:
  806700:    defffa04     addi    sp,sp,-24
  806704:    308000cc     andi    r2,r6,3
  806708:    dc800215     stw    r18,8(sp)
  80670c:    dcc00115     stw    r19,4(sp)
  806710:    dd000015     stw    r20,0(sp)
  806714:    dfc00515     stw    ra,20(sp)
  806718:    dc000415     stw    r16,16(sp)
  80671c:    dc400315     stw    r17,12(sp)
  806720:    3025883a     mov    r18,r6
  806724:    2027883a     mov    r19,r4
  806728:    2829883a     mov    r20,r5
  80672c:    10002a1e     bne    r2,zero,8067d8 &lt;_pow5mult+0xd8&gt;
  806730:    9025d0ba     srai    r18,r18,2
  806734:    90001f26     beq    r18,zero,8067b4 &lt;_pow5mult+0xb4&gt;
  806738:    9c001217     ldw    r16,72(r19)
  80673c:    80003426     beq    r16,zero,806810 &lt;_pow5mult+0x110&gt;
  806740:    9080004c     andi    r2,r18,1
  806744:    800d883a     mov    r6,r16
  806748:    9809883a     mov    r4,r19
  80674c:    a00b883a     mov    r5,r20
  806750:    9025d07a     srai    r18,r18,1
  806754:    10000d1e     bne    r2,zero,80678c &lt;_pow5mult+0x8c&gt;
  806758:    800b883a     mov    r5,r16
  80675c:    800d883a     mov    r6,r16
  806760:    9809883a     mov    r4,r19
  806764:    90001326     beq    r18,zero,8067b4 &lt;_pow5mult+0xb4&gt;
  806768:    80800017     ldw    r2,0(r16)
  80676c:    10002326     beq    r2,zero,8067fc &lt;_pow5mult+0xfc&gt;
  806770:    1021883a     mov    r16,r2
  806774:    9080004c     andi    r2,r18,1
  806778:    800d883a     mov    r6,r16
  80677c:    9809883a     mov    r4,r19
  806780:    a00b883a     mov    r5,r20
  806784:    9025d07a     srai    r18,r18,1
  806788:    103ff326     beq    r2,zero,806758 &lt;_pow5mult+0x58&gt;
  80678c:    080652c0     call    80652c &lt;_multiply&gt;
  806790:    a00b883a     mov    r5,r20
  806794:    9809883a     mov    r4,r19
  806798:    1023883a     mov    r17,r2
  80679c:    08061b80     call    8061b8 &lt;_Bfree&gt;
  8067a0:    8829883a     mov    r20,r17
  8067a4:    800b883a     mov    r5,r16
  8067a8:    800d883a     mov    r6,r16
  8067ac:    9809883a     mov    r4,r19
  8067b0:    903fed1e     bne    r18,zero,806768 &lt;_pow5mult+0x68&gt;
  8067b4:    a005883a     mov    r2,r20
  8067b8:    dfc00517     ldw    ra,20(sp)
  8067bc:    dc000417     ldw    r16,16(sp)
  8067c0:    dc400317     ldw    r17,12(sp)
  8067c4:    dc800217     ldw    r18,8(sp)
  8067c8:    dcc00117     ldw    r19,4(sp)
  8067cc:    dd000017     ldw    r20,0(sp)
  8067d0:    dec00604     addi    sp,sp,24
  8067d4:    f800283a     ret
  8067d8:    100490ba     slli    r2,r2,2
  8067dc:    00c02074     movhi    r3,129
  8067e0:    18f3d204     addi    r3,r3,-12472
  8067e4:    000f883a     mov    r7,zero
  8067e8:    10c5883a     add    r2,r2,r3
  8067ec:    11800017     ldw    r6,0(r2)
  8067f0:    08061dc0     call    8061dc &lt;_multadd&gt;
  8067f4:    1029883a     mov    r20,r2
  8067f8:    003fcd06     br    806730 &lt;_pow5mult+0x30&gt;
  8067fc:    080652c0     call    80652c &lt;_multiply&gt;
  806800:    80800015     stw    r2,0(r16)
  806804:    1021883a     mov    r16,r2
  806808:    10000015     stw    zero,0(r2)
  80680c:    003fd906     br    806774 &lt;_pow5mult+0x74&gt;
  806810:    9809883a     mov    r4,r19
  806814:    01409c44     movi    r5,625
  806818:    08064f00     call    8064f0 &lt;_i2b&gt;
  80681c:    98801215     stw    r2,72(r19)
  806820:    1021883a     mov    r16,r2
  806824:    10000015     stw    zero,0(r2)
  806828:    003fc506     br    806740 &lt;_pow5mult+0x40&gt;

0080682c &lt;_lshift&gt;:
  80682c:    defff904     addi    sp,sp,-28
  806830:    dc000515     stw    r16,20(sp)
  806834:    dc400415     stw    r17,16(sp)
  806838:    dc800315     stw    r18,12(sp)
  80683c:    dcc00215     stw    r19,8(sp)
  806840:    dd400015     stw    r21,0(sp)
  806844:    dfc00615     stw    ra,24(sp)
  806848:    dd000115     stw    r20,4(sp)
  80684c:    28800417     ldw    r2,16(r5)
  806850:    3023d17a     srai    r17,r6,5
  806854:    28c00217     ldw    r3,8(r5)
  806858:    2827883a     mov    r19,r5
  80685c:    1445883a     add    r2,r2,r17
  806860:    14800044     addi    r18,r2,1
  806864:    3021883a     mov    r16,r6
  806868:    202b883a     mov    r21,r4
  80686c:    29400117     ldw    r5,4(r5)
  806870:    1c80030e     bge    r3,r18,806880 &lt;_lshift+0x54&gt;
  806874:    18c7883a     add    r3,r3,r3
  806878:    29400044     addi    r5,r5,1
  80687c:    1cbffd16     blt    r3,r18,806874 &lt;_lshift+0x48&gt;
  806880:    a809883a     mov    r4,r21
  806884:    08061080     call    806108 &lt;_Balloc&gt;
  806888:    1029883a     mov    r20,r2
  80688c:    11800504     addi    r6,r2,20
  806890:    0440050e     bge    zero,r17,8068a8 &lt;_lshift+0x7c&gt;
  806894:    8807883a     mov    r3,r17
  806898:    18ffffc4     addi    r3,r3,-1
  80689c:    30000015     stw    zero,0(r6)
  8068a0:    31800104     addi    r6,r6,4
  8068a4:    183ffc1e     bne    r3,zero,806898 &lt;_lshift+0x6c&gt;
  8068a8:    98800417     ldw    r2,16(r19)
  8068ac:    99000504     addi    r4,r19,20
  8068b0:    840007cc     andi    r16,r16,31
  8068b4:    100490ba     slli    r2,r2,2
  8068b8:    110f883a     add    r7,r2,r4
  8068bc:    80001e26     beq    r16,zero,806938 &lt;_lshift+0x10c&gt;
  8068c0:    00800804     movi    r2,32
  8068c4:    140bc83a     sub    r5,r2,r16
  8068c8:    0007883a     mov    r3,zero
  8068cc:    20800017     ldw    r2,0(r4)
  8068d0:    1404983a     sll    r2,r2,r16
  8068d4:    10c4b03a     or    r2,r2,r3
  8068d8:    30800015     stw    r2,0(r6)
  8068dc:    20c00017     ldw    r3,0(r4)
  8068e0:    21000104     addi    r4,r4,4
  8068e4:    31800104     addi    r6,r6,4
  8068e8:    1946d83a     srl    r3,r3,r5
  8068ec:    21fff736     bltu    r4,r7,8068cc &lt;_lshift+0xa0&gt;
  8068f0:    30c00015     stw    r3,0(r6)
  8068f4:    18000126     beq    r3,zero,8068fc &lt;_lshift+0xd0&gt;
  8068f8:    94800044     addi    r18,r18,1
  8068fc:    90bfffc4     addi    r2,r18,-1
  806900:    a0800415     stw    r2,16(r20)
  806904:    a809883a     mov    r4,r21
  806908:    980b883a     mov    r5,r19
  80690c:    08061b80     call    8061b8 &lt;_Bfree&gt;
  806910:    a005883a     mov    r2,r20
  806914:    dfc00617     ldw    ra,24(sp)
  806918:    dc000517     ldw    r16,20(sp)
  80691c:    dc400417     ldw    r17,16(sp)
  806920:    dc800317     ldw    r18,12(sp)
  806924:    dcc00217     ldw    r19,8(sp)
  806928:    dd000117     ldw    r20,4(sp)
  80692c:    dd400017     ldw    r21,0(sp)
  806930:    dec00704     addi    sp,sp,28
  806934:    f800283a     ret
  806938:    20800017     ldw    r2,0(r4)
  80693c:    21000104     addi    r4,r4,4
  806940:    30800015     stw    r2,0(r6)
  806944:    31800104     addi    r6,r6,4
  806948:    21ffec2e     bgeu    r4,r7,8068fc &lt;_lshift+0xd0&gt;
  80694c:    20800017     ldw    r2,0(r4)
  806950:    21000104     addi    r4,r4,4
  806954:    30800015     stw    r2,0(r6)
  806958:    31800104     addi    r6,r6,4
  80695c:    21fff636     bltu    r4,r7,806938 &lt;_lshift+0x10c&gt;
  806960:    003fe606     br    8068fc &lt;_lshift+0xd0&gt;

00806964 &lt;__mcmp&gt;:
  806964:    20800417     ldw    r2,16(r4)
  806968:    28c00417     ldw    r3,16(r5)
  80696c:    10c5c83a     sub    r2,r2,r3
  806970:    100d883a     mov    r6,r2
  806974:    10000c1e     bne    r2,zero,8069a8 &lt;__mcmp+0x44&gt;
  806978:    180690ba     slli    r3,r3,2
  80697c:    21000504     addi    r4,r4,20
  806980:    28800504     addi    r2,r5,20
  806984:    1885883a     add    r2,r3,r2
  806988:    1907883a     add    r3,r3,r4
  80698c:    18ffff04     addi    r3,r3,-4
  806990:    10bfff04     addi    r2,r2,-4
  806994:    19800017     ldw    r6,0(r3)
  806998:    11400017     ldw    r5,0(r2)
  80699c:    3140041e     bne    r6,r5,8069b0 &lt;__mcmp+0x4c&gt;
  8069a0:    20fffa36     bltu    r4,r3,80698c &lt;__mcmp+0x28&gt;
  8069a4:    000d883a     mov    r6,zero
  8069a8:    3005883a     mov    r2,r6
  8069ac:    f800283a     ret
  8069b0:    00bfffc4     movi    r2,-1
  8069b4:    31400136     bltu    r6,r5,8069bc &lt;__mcmp+0x58&gt;
  8069b8:    00800044     movi    r2,1
  8069bc:    100d883a     mov    r6,r2
  8069c0:    3005883a     mov    r2,r6
  8069c4:    f800283a     ret

008069c8 &lt;__mdiff&gt;:
  8069c8:    defffb04     addi    sp,sp,-20
  8069cc:    dc400215     stw    r17,8(sp)
  8069d0:    2823883a     mov    r17,r5
  8069d4:    dcc00015     stw    r19,0(sp)
  8069d8:    300b883a     mov    r5,r6
  8069dc:    2027883a     mov    r19,r4
  8069e0:    8809883a     mov    r4,r17
  8069e4:    dc800115     stw    r18,4(sp)
  8069e8:    dfc00415     stw    ra,16(sp)
  8069ec:    dc000315     stw    r16,12(sp)
  8069f0:    3025883a     mov    r18,r6
  8069f4:    08069640     call    806964 &lt;__mcmp&gt;
  8069f8:    10004026     beq    r2,zero,806afc &lt;__mdiff+0x134&gt;
  8069fc:    10004e16     blt    r2,zero,806b38 &lt;__mdiff+0x170&gt;
  806a00:    0021883a     mov    r16,zero
  806a04:    89400117     ldw    r5,4(r17)
  806a08:    9809883a     mov    r4,r19
  806a0c:    08061080     call    806108 &lt;_Balloc&gt;
  806a10:    1019883a     mov    r12,r2
  806a14:    8a800417     ldw    r10,16(r17)
  806a18:    90800417     ldw    r2,16(r18)
  806a1c:    8a000504     addi    r8,r17,20
  806a20:    500690ba     slli    r3,r10,2
  806a24:    100490ba     slli    r2,r2,2
  806a28:    91800504     addi    r6,r18,20
  806a2c:    64000315     stw    r16,12(r12)
  806a30:    1a1b883a     add    r13,r3,r8
  806a34:    1197883a     add    r11,r2,r6
  806a38:    61c00504     addi    r7,r12,20
  806a3c:    0013883a     mov    r9,zero
  806a40:    41000017     ldw    r4,0(r8)
  806a44:    31400017     ldw    r5,0(r6)
  806a48:    31800104     addi    r6,r6,4
  806a4c:    20bfffcc     andi    r2,r4,65535
  806a50:    28ffffcc     andi    r3,r5,65535
  806a54:    10c5c83a     sub    r2,r2,r3
  806a58:    1245883a     add    r2,r2,r9
  806a5c:    2008d43a     srli    r4,r4,16
  806a60:    280ad43a     srli    r5,r5,16
  806a64:    1013d43a     srai    r9,r2,16
  806a68:    3880000d     sth    r2,0(r7)
  806a6c:    2149c83a     sub    r4,r4,r5
  806a70:    2247883a     add    r3,r4,r9
  806a74:    38c0008d     sth    r3,2(r7)
  806a78:    42000104     addi    r8,r8,4
  806a7c:    39c00104     addi    r7,r7,4
  806a80:    1813d43a     srai    r9,r3,16
  806a84:    32ffee36     bltu    r6,r11,806a40 &lt;__mdiff+0x78&gt;
  806a88:    43400c2e     bgeu    r8,r13,806abc &lt;__mdiff+0xf4&gt;
  806a8c:    40c00017     ldw    r3,0(r8)
  806a90:    42000104     addi    r8,r8,4
  806a94:    18bfffcc     andi    r2,r3,65535
  806a98:    1245883a     add    r2,r2,r9
  806a9c:    1013d43a     srai    r9,r2,16
  806aa0:    1806d43a     srli    r3,r3,16
  806aa4:    3880000d     sth    r2,0(r7)
  806aa8:    1a47883a     add    r3,r3,r9
  806aac:    38c0008d     sth    r3,2(r7)
  806ab0:    1813d43a     srai    r9,r3,16
  806ab4:    39c00104     addi    r7,r7,4
  806ab8:    437ff436     bltu    r8,r13,806a8c &lt;__mdiff+0xc4&gt;
  806abc:    39ffff04     addi    r7,r7,-4
  806ac0:    38800017     ldw    r2,0(r7)
  806ac4:    1000041e     bne    r2,zero,806ad8 &lt;__mdiff+0x110&gt;
  806ac8:    39ffff04     addi    r7,r7,-4
  806acc:    38800017     ldw    r2,0(r7)
  806ad0:    52bfffc4     addi    r10,r10,-1
  806ad4:    103ffc26     beq    r2,zero,806ac8 &lt;__mdiff+0x100&gt;
  806ad8:    6005883a     mov    r2,r12
  806adc:    62800415     stw    r10,16(r12)
  806ae0:    dfc00417     ldw    ra,16(sp)
  806ae4:    dc000317     ldw    r16,12(sp)
  806ae8:    dc400217     ldw    r17,8(sp)
  806aec:    dc800117     ldw    r18,4(sp)
  806af0:    dcc00017     ldw    r19,0(sp)
  806af4:    dec00504     addi    sp,sp,20
  806af8:    f800283a     ret
  806afc:    9809883a     mov    r4,r19
  806b00:    000b883a     mov    r5,zero
  806b04:    08061080     call    806108 &lt;_Balloc&gt;
  806b08:    1019883a     mov    r12,r2
  806b0c:    00800044     movi    r2,1
  806b10:    60800415     stw    r2,16(r12)
  806b14:    6005883a     mov    r2,r12
  806b18:    60000515     stw    zero,20(r12)
  806b1c:    dfc00417     ldw    ra,16(sp)
  806b20:    dc000317     ldw    r16,12(sp)
  806b24:    dc400217     ldw    r17,8(sp)
  806b28:    dc800117     ldw    r18,4(sp)
  806b2c:    dcc00017     ldw    r19,0(sp)
  806b30:    dec00504     addi    sp,sp,20
  806b34:    f800283a     ret
  806b38:    8819883a     mov    r12,r17
  806b3c:    04000044     movi    r16,1
  806b40:    9023883a     mov    r17,r18
  806b44:    6025883a     mov    r18,r12
  806b48:    003fae06     br    806a04 &lt;__mdiff+0x3c&gt;

00806b4c &lt;_ulp&gt;:
  806b4c:    295ffc2c     andhi    r5,r5,32752
  806b50:    013f3034     movhi    r4,64704
  806b54:    21000004     addi    r4,r4,0
  806b58:    290b883a     add    r5,r5,r4
  806b5c:    0145c83a     sub    r2,zero,r5
  806b60:    000d883a     mov    r6,zero
  806b64:    280f883a     mov    r7,r5
  806b68:    0140030e     bge    zero,r5,806b78 &lt;_ulp+0x2c&gt;
  806b6c:    3005883a     mov    r2,r6
  806b70:    3807883a     mov    r3,r7
  806b74:    f800283a     ret
  806b78:    100bd53a     srai    r5,r2,20
  806b7c:    008004c4     movi    r2,19
  806b80:    01000044     movi    r4,1
  806b84:    11400c0e     bge    r2,r5,806bb8 &lt;_ulp+0x6c&gt;
  806b88:    008007c4     movi    r2,31
  806b8c:    297ffb04     addi    r5,r5,-20
  806b90:    1147c83a     sub    r3,r2,r5
  806b94:    00800784     movi    r2,30
  806b98:    000f883a     mov    r7,zero
  806b9c:    11400216     blt    r2,r5,806ba8 &lt;_ulp+0x5c&gt;
  806ba0:    00800044     movi    r2,1
  806ba4:    10c8983a     sll    r4,r2,r3
  806ba8:    200d883a     mov    r6,r4
  806bac:    3005883a     mov    r2,r6
  806bb0:    3807883a     mov    r3,r7
  806bb4:    f800283a     ret
  806bb8:    00800234     movhi    r2,8
  806bbc:    10800004     addi    r2,r2,0
  806bc0:    114fd83a     sra    r7,r2,r5
  806bc4:    000d883a     mov    r6,zero
  806bc8:    3005883a     mov    r2,r6
  806bcc:    3807883a     mov    r3,r7
  806bd0:    f800283a     ret

00806bd4 &lt;_b2d&gt;:
  806bd4:    defff904     addi    sp,sp,-28
  806bd8:    dc000515     stw    r16,20(sp)
  806bdc:    dc400415     stw    r17,16(sp)
  806be0:    dd400015     stw    r21,0(sp)
  806be4:    dfc00615     stw    ra,24(sp)
  806be8:    dc800315     stw    r18,12(sp)
  806bec:    dcc00215     stw    r19,8(sp)
  806bf0:    dd000115     stw    r20,4(sp)
  806bf4:    20800417     ldw    r2,16(r4)
  806bf8:    25400504     addi    r21,r4,20
  806bfc:    2823883a     mov    r17,r5
  806c00:    100490ba     slli    r2,r2,2
  806c04:    1561883a     add    r16,r2,r21
  806c08:    843fff04     addi    r16,r16,-4
  806c0c:    85000017     ldw    r20,0(r16)
  806c10:    a009883a     mov    r4,r20
  806c14:    08063d40     call    8063d4 &lt;_hi0bits&gt;
  806c18:    100b883a     mov    r5,r2
  806c1c:    00800804     movi    r2,32
  806c20:    1145c83a     sub    r2,r2,r5
  806c24:    00c00284     movi    r3,10
  806c28:    88800015     stw    r2,0(r17)
  806c2c:    1940240e     bge    r3,r5,806cc0 &lt;_b2d+0xec&gt;
  806c30:    0009883a     mov    r4,zero
  806c34:    ac001136     bltu    r21,r16,806c7c &lt;_b2d+0xa8&gt;
  806c38:    297ffd44     addi    r5,r5,-11
  806c3c:    28001326     beq    r5,zero,806c8c &lt;_b2d+0xb8&gt;
  806c40:    00800804     movi    r2,32
  806c44:    1145c83a     sub    r2,r2,r5
  806c48:    a146983a     sll    r3,r20,r5
  806c4c:    2084d83a     srl    r2,r4,r2
  806c50:    0029883a     mov    r20,zero
  806c54:    1886b03a     or    r3,r3,r2
  806c58:    1ccffc34     orhi    r19,r3,16368
  806c5c:    ac00012e     bgeu    r21,r16,806c64 &lt;_b2d+0x90&gt;
  806c60:    853fff17     ldw    r20,-4(r16)
  806c64:    00800804     movi    r2,32
  806c68:    1145c83a     sub    r2,r2,r5
  806c6c:    a084d83a     srl    r2,r20,r2
  806c70:    2146983a     sll    r3,r4,r5
  806c74:    18a4b03a     or    r18,r3,r2
  806c78:    00000606     br    806c94 &lt;_b2d+0xc0&gt;
  806c7c:    843fff04     addi    r16,r16,-4
  806c80:    297ffd44     addi    r5,r5,-11
  806c84:    81000017     ldw    r4,0(r16)
  806c88:    283fed1e     bne    r5,zero,806c40 &lt;_b2d+0x6c&gt;
  806c8c:    a4cffc34     orhi    r19,r20,16368
  806c90:    2025883a     mov    r18,r4
  806c94:    9005883a     mov    r2,r18
  806c98:    9807883a     mov    r3,r19
  806c9c:    dfc00617     ldw    ra,24(sp)
  806ca0:    dc000517     ldw    r16,20(sp)
  806ca4:    dc400417     ldw    r17,16(sp)
  806ca8:    dc800317     ldw    r18,12(sp)
  806cac:    dcc00217     ldw    r19,8(sp)
  806cb0:    dd000117     ldw    r20,4(sp)
  806cb4:    dd400017     ldw    r21,0(sp)
  806cb8:    dec00704     addi    sp,sp,28
  806cbc:    f800283a     ret
  806cc0:    008002c4     movi    r2,11
  806cc4:    1145c83a     sub    r2,r2,r5
  806cc8:    a084d83a     srl    r2,r20,r2
  806ccc:    0009883a     mov    r4,zero
  806cd0:    14cffc34     orhi    r19,r2,16368
  806cd4:    ac00012e     bgeu    r21,r16,806cdc &lt;_b2d+0x108&gt;
  806cd8:    813fff17     ldw    r4,-4(r16)
  806cdc:    00c002c4     movi    r3,11
  806ce0:    1947c83a     sub    r3,r3,r5
  806ce4:    28800544     addi    r2,r5,21
  806ce8:    a084983a     sll    r2,r20,r2
  806cec:    20c6d83a     srl    r3,r4,r3
  806cf0:    18a4b03a     or    r18,r3,r2
  806cf4:    003fe706     br    806c94 &lt;_b2d+0xc0&gt;

00806cf8 &lt;_d2b&gt;:
  806cf8:    defff404     addi    sp,sp,-48
  806cfc:    dd000515     stw    r20,20(sp)
  806d00:    05000044     movi    r20,1
  806d04:    dc000915     stw    r16,36(sp)
  806d08:    2821883a     mov    r16,r5
  806d0c:    a00b883a     mov    r5,r20
  806d10:    df000a15     stw    fp,40(sp)
  806d14:    dc400815     stw    r17,32(sp)
  806d18:    dc800715     stw    r18,28(sp)
  806d1c:    3023883a     mov    r17,r6
  806d20:    dcc00615     stw    r19,24(sp)
  806d24:    dd400415     stw    r21,16(sp)
  806d28:    dd800315     stw    r22,12(sp)
  806d2c:    ddc00215     stw    r23,8(sp)
  806d30:    dfc00b15     stw    ra,44(sp)
  806d34:    382f883a     mov    r23,r7
  806d38:    df000c17     ldw    fp,48(sp)
  806d3c:    08061080     call    806108 &lt;_Balloc&gt;
  806d40:    1027883a     mov    r19,r2
  806d44:    00e00034     movhi    r3,32768
  806d48:    18ffffc4     addi    r3,r3,-1
  806d4c:    00800434     movhi    r2,16
  806d50:    10bfffc4     addi    r2,r2,-1
  806d54:    8888703a     and    r4,r17,r2
  806d58:    1c62703a     and    r17,r3,r17
  806d5c:    882cd53a     srli    r22,r17,20
  806d60:    9c800504     addi    r18,r19,20
  806d64:    b02b003a     cmpeq    r21,r22,zero
  806d68:    a800011e     bne    r21,zero,806d70 &lt;_d2b+0x78&gt;
  806d6c:    21000434     orhi    r4,r4,16
  806d70:    d9000115     stw    r4,4(sp)
  806d74:    80002226     beq    r16,zero,806e00 &lt;_d2b+0x108&gt;
  806d78:    d809883a     mov    r4,sp
  806d7c:    dc000015     stw    r16,0(sp)
  806d80:    080643c0     call    80643c &lt;_lo0bits&gt;
  806d84:    100d883a     mov    r6,r2
  806d88:    10002f1e     bne    r2,zero,806e48 &lt;_d2b+0x150&gt;
  806d8c:    d8800017     ldw    r2,0(sp)
  806d90:    90800015     stw    r2,0(r18)
  806d94:    d9000117     ldw    r4,4(sp)
  806d98:    2005003a     cmpeq    r2,r4,zero
  806d9c:    00c00084     movi    r3,2
  806da0:    1885c83a     sub    r2,r3,r2
  806da4:    100b883a     mov    r5,r2
  806da8:    91000115     stw    r4,4(r18)
  806dac:    98800415     stw    r2,16(r19)
  806db0:    a8001b1e     bne    r21,zero,806e20 &lt;_d2b+0x128&gt;
  806db4:    b185883a     add    r2,r22,r6
  806db8:    10bef344     addi    r2,r2,-1075
  806dbc:    00c00d44     movi    r3,53
  806dc0:    b8800015     stw    r2,0(r23)
  806dc4:    1987c83a     sub    r3,r3,r6
  806dc8:    e0c00015     stw    r3,0(fp)
  806dcc:    9805883a     mov    r2,r19
  806dd0:    dfc00b17     ldw    ra,44(sp)
  806dd4:    df000a17     ldw    fp,40(sp)
  806dd8:    dc000917     ldw    r16,36(sp)
  806ddc:    dc400817     ldw    r17,32(sp)
  806de0:    dc800717     ldw    r18,28(sp)
  806de4:    dcc00617     ldw    r19,24(sp)
  806de8:    dd000517     ldw    r20,20(sp)
  806dec:    dd400417     ldw    r21,16(sp)
  806df0:    dd800317     ldw    r22,12(sp)
  806df4:    ddc00217     ldw    r23,8(sp)
  806df8:    dec00c04     addi    sp,sp,48
  806dfc:    f800283a     ret
  806e00:    d9000104     addi    r4,sp,4
  806e04:    080643c0     call    80643c &lt;_lo0bits&gt;
  806e08:    d8c00117     ldw    r3,4(sp)
  806e0c:    9d000415     stw    r20,16(r19)
  806e10:    a00b883a     mov    r5,r20
  806e14:    90c00015     stw    r3,0(r18)
  806e18:    11800804     addi    r6,r2,32
  806e1c:    a83fe526     beq    r21,zero,806db4 &lt;_d2b+0xbc&gt;
  806e20:    280490ba     slli    r2,r5,2
  806e24:    30fef384     addi    r3,r6,-1074
  806e28:    2820917a     slli    r16,r5,5
  806e2c:    1485883a     add    r2,r2,r18
  806e30:    113fff17     ldw    r4,-4(r2)
  806e34:    b8c00015     stw    r3,0(r23)
  806e38:    08063d40     call    8063d4 &lt;_hi0bits&gt;
  806e3c:    80a1c83a     sub    r16,r16,r2
  806e40:    e4000015     stw    r16,0(fp)
  806e44:    003fe106     br    806dcc &lt;_d2b+0xd4&gt;
  806e48:    00c00804     movi    r3,32
  806e4c:    1887c83a     sub    r3,r3,r2
  806e50:    d8800117     ldw    r2,4(sp)
  806e54:    d9000017     ldw    r4,0(sp)
  806e58:    10c4983a     sll    r2,r2,r3
  806e5c:    1104b03a     or    r2,r2,r4
  806e60:    90800015     stw    r2,0(r18)
  806e64:    d8c00117     ldw    r3,4(sp)
  806e68:    1988d83a     srl    r4,r3,r6
  806e6c:    d9000115     stw    r4,4(sp)
  806e70:    003fc906     br    806d98 &lt;_d2b+0xa0&gt;

00806e74 &lt;_ratio&gt;:
  806e74:    defff904     addi    sp,sp,-28
  806e78:    dc400515     stw    r17,20(sp)
  806e7c:    2823883a     mov    r17,r5
  806e80:    d80b883a     mov    r5,sp
  806e84:    dfc00615     stw    ra,24(sp)
  806e88:    dc800415     stw    r18,16(sp)
  806e8c:    dcc00315     stw    r19,12(sp)
  806e90:    2025883a     mov    r18,r4
  806e94:    dd000215     stw    r20,8(sp)
  806e98:    0806bd40     call    806bd4 &lt;_b2d&gt;
  806e9c:    8809883a     mov    r4,r17
  806ea0:    d9400104     addi    r5,sp,4
  806ea4:    1027883a     mov    r19,r2
  806ea8:    1829883a     mov    r20,r3
  806eac:    0806bd40     call    806bd4 &lt;_b2d&gt;
  806eb0:    89000417     ldw    r4,16(r17)
  806eb4:    91c00417     ldw    r7,16(r18)
  806eb8:    d9800117     ldw    r6,4(sp)
  806ebc:    1813883a     mov    r9,r3
  806ec0:    390fc83a     sub    r7,r7,r4
  806ec4:    1009883a     mov    r4,r2
  806ec8:    d8800017     ldw    r2,0(sp)
  806ecc:    380e917a     slli    r7,r7,5
  806ed0:    2011883a     mov    r8,r4
  806ed4:    1185c83a     sub    r2,r2,r6
  806ed8:    11c5883a     add    r2,r2,r7
  806edc:    100c953a     slli    r6,r2,20
  806ee0:    00800d0e     bge    zero,r2,806f18 &lt;_ratio+0xa4&gt;
  806ee4:    3529883a     add    r20,r6,r20
  806ee8:    a00b883a     mov    r5,r20
  806eec:    480f883a     mov    r7,r9
  806ef0:    9809883a     mov    r4,r19
  806ef4:    400d883a     mov    r6,r8
  806ef8:    0808a700     call    808a70 &lt;__divdf3&gt;
  806efc:    dfc00617     ldw    ra,24(sp)
  806f00:    dc400517     ldw    r17,20(sp)
  806f04:    dc800417     ldw    r18,16(sp)
  806f08:    dcc00317     ldw    r19,12(sp)
  806f0c:    dd000217     ldw    r20,8(sp)
  806f10:    dec00704     addi    sp,sp,28
  806f14:    f800283a     ret
  806f18:    1993c83a     sub    r9,r3,r6
  806f1c:    003ff206     br    806ee8 &lt;_ratio+0x74&gt;

00806f20 &lt;_mprec_log10&gt;:
  806f20:    defffe04     addi    sp,sp,-8
  806f24:    008005c4     movi    r2,23
  806f28:    dc000015     stw    r16,0(sp)
  806f2c:    dfc00115     stw    ra,4(sp)
  806f30:    2021883a     mov    r16,r4
  806f34:    0011883a     mov    r8,zero
  806f38:    024ffc34     movhi    r9,16368
  806f3c:    4a400004     addi    r9,r9,0
  806f40:    11000e16     blt    r2,r4,806f7c &lt;_mprec_log10+0x5c&gt;
  806f44:    200490fa     slli    r2,r4,3
  806f48:    01402074     movhi    r5,129
  806f4c:    2973a104     addi    r5,r5,-12668
  806f50:    1145883a     add    r2,r2,r5
  806f54:    10c00017     ldw    r3,0(r2)
  806f58:    11000117     ldw    r4,4(r2)
  806f5c:    180d883a     mov    r6,r3
  806f60:    200f883a     mov    r7,r4
  806f64:    3807883a     mov    r3,r7
  806f68:    3005883a     mov    r2,r6
  806f6c:    dfc00117     ldw    ra,4(sp)
  806f70:    dc000017     ldw    r16,0(sp)
  806f74:    dec00204     addi    sp,sp,8
  806f78:    f800283a     ret
  806f7c:    04000c0e     bge    zero,r16,806fb0 &lt;_mprec_log10+0x90&gt;
  806f80:    0005883a     mov    r2,zero
  806f84:    00d00934     movhi    r3,16420
  806f88:    18c00004     addi    r3,r3,0
  806f8c:    480b883a     mov    r5,r9
  806f90:    4009883a     mov    r4,r8
  806f94:    180f883a     mov    r7,r3
  806f98:    100d883a     mov    r6,r2
  806f9c:    08086700     call    808670 &lt;__muldf3&gt;
  806fa0:    843fffc4     addi    r16,r16,-1
  806fa4:    1011883a     mov    r8,r2
  806fa8:    1813883a     mov    r9,r3
  806fac:    043ff416     blt    zero,r16,806f80 &lt;_mprec_log10+0x60&gt;
  806fb0:    400d883a     mov    r6,r8
  806fb4:    480f883a     mov    r7,r9
  806fb8:    3807883a     mov    r3,r7
  806fbc:    3005883a     mov    r2,r6
  806fc0:    dfc00117     ldw    ra,4(sp)
  806fc4:    dc000017     ldw    r16,0(sp)
  806fc8:    dec00204     addi    sp,sp,8
  806fcc:    f800283a     ret

00806fd0 &lt;_read_r&gt;:
  806fd0:    defffe04     addi    sp,sp,-8
  806fd4:    dc000015     stw    r16,0(sp)
  806fd8:    2021883a     mov    r16,r4
  806fdc:    2809883a     mov    r4,r5
  806fe0:    300b883a     mov    r5,r6
  806fe4:    380d883a     mov    r6,r7
  806fe8:    dfc00115     stw    ra,4(sp)
  806fec:    d0201d15     stw    zero,-32652(gp)
  806ff0:    080a0fc0     call    80a0fc &lt;read&gt;
  806ff4:    1007883a     mov    r3,r2
  806ff8:    00bfffc4     movi    r2,-1
  806ffc:    18800526     beq    r3,r2,807014 &lt;_read_r+0x44&gt;
  807000:    1805883a     mov    r2,r3
  807004:    dfc00117     ldw    ra,4(sp)
  807008:    dc000017     ldw    r16,0(sp)
  80700c:    dec00204     addi    sp,sp,8
  807010:    f800283a     ret
  807014:    d0a01d17     ldw    r2,-32652(gp)
  807018:    103ff926     beq    r2,zero,807000 &lt;_read_r+0x30&gt;
  80701c:    80800015     stw    r2,0(r16)
  807020:    1805883a     mov    r2,r3
  807024:    dfc00117     ldw    ra,4(sp)
  807028:    dc000017     ldw    r16,0(sp)
  80702c:    dec00204     addi    sp,sp,8
  807030:    f800283a     ret

00807034 &lt;_realloc_r&gt;:
  807034:    defff404     addi    sp,sp,-48
  807038:    dc400815     stw    r17,32(sp)
  80703c:    dd800315     stw    r22,12(sp)
  807040:    dfc00b15     stw    ra,44(sp)
  807044:    df000a15     stw    fp,40(sp)
  807048:    dc000915     stw    r16,36(sp)
  80704c:    dc800715     stw    r18,28(sp)
  807050:    dcc00615     stw    r19,24(sp)
  807054:    dd000515     stw    r20,20(sp)
  807058:    dd400415     stw    r21,16(sp)
  80705c:    ddc00215     stw    r23,8(sp)
  807060:    2823883a     mov    r17,r5
  807064:    202d883a     mov    r22,r4
  807068:    28007826     beq    r5,zero,80724c &lt;_realloc_r+0x218&gt;
  80706c:    2c3ffe04     addi    r16,r5,-8
  807070:    d9800115     stw    r6,4(sp)
  807074:    0809e340     call    809e34 &lt;__malloc_lock&gt;
  807078:    81400117     ldw    r5,4(r16)
  80707c:    d9800117     ldw    r6,4(sp)
  807080:    00bfff04     movi    r2,-4
  807084:    28a4703a     and    r18,r5,r2
  807088:    30c002c4     addi    r3,r6,11
  80708c:    00800584     movi    r2,22
  807090:    8027883a     mov    r19,r16
  807094:    9013883a     mov    r9,r18
  807098:    05000404     movi    r20,16
  80709c:    10c05b36     bltu    r2,r3,80720c &lt;_realloc_r+0x1d8&gt;
  8070a0:    a1805d36     bltu    r20,r6,807218 &lt;_realloc_r+0x1e4&gt;
  8070a4:    9500a80e     bge    r18,r20,807348 &lt;_realloc_r+0x314&gt;
  8070a8:    07002074     movhi    fp,129
  8070ac:    e7357204     addi    fp,fp,-10808
  8070b0:    e2000217     ldw    r8,8(fp)
  8070b4:    8489883a     add    r4,r16,r18
  8070b8:    e015883a     mov    r10,fp
  8070bc:    4100c326     beq    r8,r4,8073cc &lt;_realloc_r+0x398&gt;
  8070c0:    21c00117     ldw    r7,4(r4)
  8070c4:    00bfff84     movi    r2,-2
  8070c8:    3884703a     and    r2,r7,r2
  8070cc:    1105883a     add    r2,r2,r4
  8070d0:    10c00117     ldw    r3,4(r2)
  8070d4:    18c0004c     andi    r3,r3,1
  8070d8:    1800b91e     bne    r3,zero,8073c0 &lt;_realloc_r+0x38c&gt;
  8070dc:    00bfff04     movi    r2,-4
  8070e0:    388e703a     and    r7,r7,r2
  8070e4:    4100c526     beq    r8,r4,8073fc &lt;_realloc_r+0x3c8&gt;
  8070e8:    3c85883a     add    r2,r7,r18
  8070ec:    1500bd0e     bge    r2,r20,8073e4 &lt;_realloc_r+0x3b0&gt;
  8070f0:    2880004c     andi    r2,r5,1
  8070f4:    10000e1e     bne    r2,zero,807130 &lt;_realloc_r+0xfc&gt;
  8070f8:    80800017     ldw    r2,0(r16)
  8070fc:    80afc83a     sub    r23,r16,r2
  807100:    b8c00117     ldw    r3,4(r23)
  807104:    00bfff04     movi    r2,-4
  807108:    188a703a     and    r5,r3,r2
  80710c:    20000526     beq    r4,zero,807124 &lt;_realloc_r+0xf0&gt;
  807110:    e0800217     ldw    r2,8(fp)
  807114:    1100cf26     beq    r2,r4,807454 &lt;_realloc_r+0x420&gt;
  807118:    3945883a     add    r2,r7,r5
  80711c:    1485883a     add    r2,r2,r18
  807120:    1500590e     bge    r2,r20,807288 &lt;_realloc_r+0x254&gt;
  807124:    b8000226     beq    r23,zero,807130 &lt;_realloc_r+0xfc&gt;
  807128:    2c87883a     add    r3,r5,r18
  80712c:    1d00c10e     bge    r3,r20,807434 &lt;_realloc_r+0x400&gt;
  807130:    300b883a     mov    r5,r6
  807134:    b009883a     mov    r4,r22
  807138:    08009c00     call    8009c0 &lt;_malloc_r&gt;
  80713c:    102b883a     mov    r21,r2
  807140:    10010d26     beq    r2,zero,807578 &lt;_realloc_r+0x544&gt;
  807144:    98800117     ldw    r2,4(r19)
  807148:    00ffff84     movi    r3,-2
  80714c:    ac3ffe04     addi    r16,r21,-8
  807150:    10c4703a     and    r2,r2,r3
  807154:    14c5883a     add    r2,r2,r19
  807158:    8080fd26     beq    r16,r2,807550 &lt;_realloc_r+0x51c&gt;
  80715c:    91bfff04     addi    r6,r18,-4
  807160:    00800904     movi    r2,36
  807164:    11809b36     bltu    r2,r6,8073d4 &lt;_realloc_r+0x3a0&gt;
  807168:    008004c4     movi    r2,19
  80716c:    880b883a     mov    r5,r17
  807170:    a809883a     mov    r4,r21
  807174:    1180162e     bgeu    r2,r6,8071d0 &lt;_realloc_r+0x19c&gt;
  807178:    88800017     ldw    r2,0(r17)
  80717c:    89400204     addi    r5,r17,8
  807180:    a9000204     addi    r4,r21,8
  807184:    a8800015     stw    r2,0(r21)
  807188:    88c00117     ldw    r3,4(r17)
  80718c:    008006c4     movi    r2,27
  807190:    a8c00115     stw    r3,4(r21)
  807194:    11800e2e     bgeu    r2,r6,8071d0 &lt;_realloc_r+0x19c&gt;
  807198:    28800017     ldw    r2,0(r5)
  80719c:    89400404     addi    r5,r17,16
  8071a0:    20800015     stw    r2,0(r4)
  8071a4:    88c00317     ldw    r3,12(r17)
  8071a8:    008008c4     movi    r2,35
  8071ac:    a9000404     addi    r4,r21,16
  8071b0:    a8c00315     stw    r3,12(r21)
  8071b4:    1180062e     bgeu    r2,r6,8071d0 &lt;_realloc_r+0x19c&gt;
  8071b8:    28800017     ldw    r2,0(r5)
  8071bc:    89400604     addi    r5,r17,24
  8071c0:    20800015     stw    r2,0(r4)
  8071c4:    88c00517     ldw    r3,20(r17)
  8071c8:    a9000604     addi    r4,r21,24
  8071cc:    a8c00515     stw    r3,20(r21)
  8071d0:    28800017     ldw    r2,0(r5)
  8071d4:    29400104     addi    r5,r5,4
  8071d8:    20800015     stw    r2,0(r4)
  8071dc:    28c00017     ldw    r3,0(r5)
  8071e0:    21000104     addi    r4,r4,4
  8071e4:    20c00015     stw    r3,0(r4)
  8071e8:    28800117     ldw    r2,4(r5)
  8071ec:    20800115     stw    r2,4(r4)
  8071f0:    b009883a     mov    r4,r22
  8071f4:    880b883a     mov    r5,r17
  8071f8:    08055600     call    805560 &lt;_free_r&gt;
  8071fc:    b009883a     mov    r4,r22
  807200:    0809e500     call    809e50 &lt;__malloc_unlock&gt;
  807204:    a805883a     mov    r2,r21
  807208:    00000406     br    80721c &lt;_realloc_r+0x1e8&gt;
  80720c:    00bffe04     movi    r2,-8
  807210:    18a8703a     and    r20,r3,r2
  807214:    a03fa20e     bge    r20,zero,8070a0 &lt;_realloc_r+0x6c&gt;
  807218:    0005883a     mov    r2,zero
  80721c:    dfc00b17     ldw    ra,44(sp)
  807220:    df000a17     ldw    fp,40(sp)
  807224:    dc000917     ldw    r16,36(sp)
  807228:    dc400817     ldw    r17,32(sp)
  80722c:    dc800717     ldw    r18,28(sp)
  807230:    dcc00617     ldw    r19,24(sp)
  807234:    dd000517     ldw    r20,20(sp)
  807238:    dd400417     ldw    r21,16(sp)
  80723c:    dd800317     ldw    r22,12(sp)
  807240:    ddc00217     ldw    r23,8(sp)
  807244:    dec00c04     addi    sp,sp,48
  807248:    f800283a     ret
  80724c:    300b883a     mov    r5,r6
  807250:    02002034     movhi    r8,128
  807254:    42027004     addi    r8,r8,2496
  807258:    dfc00b17     ldw    ra,44(sp)
  80725c:    df000a17     ldw    fp,40(sp)
  807260:    dc000917     ldw    r16,36(sp)
  807264:    dc400817     ldw    r17,32(sp)
  807268:    dc800717     ldw    r18,28(sp)
  80726c:    dcc00617     ldw    r19,24(sp)
  807270:    dd000517     ldw    r20,20(sp)
  807274:    dd400417     ldw    r21,16(sp)
  807278:    dd800317     ldw    r22,12(sp)
  80727c:    ddc00217     ldw    r23,8(sp)
  807280:    dec00c04     addi    sp,sp,48
  807284:    4000683a     jmp    r8
  807288:    21400217     ldw    r5,8(r4)
  80728c:    21000317     ldw    r4,12(r4)
  807290:    b821883a     mov    r16,r23
  807294:    49bfff04     addi    r6,r9,-4
  807298:    21400215     stw    r5,8(r4)
  80729c:    29000315     stw    r4,12(r5)
  8072a0:    b9000317     ldw    r4,12(r23)
  8072a4:    b9400217     ldw    r5,8(r23)
  8072a8:    1025883a     mov    r18,r2
  8072ac:    21400215     stw    r5,8(r4)
  8072b0:    29000315     stw    r4,12(r5)
  8072b4:    00800904     movi    r2,36
  8072b8:    85400204     addi    r21,r16,8
  8072bc:    1180a036     bltu    r2,r6,807540 &lt;_realloc_r+0x50c&gt;
  8072c0:    008004c4     movi    r2,19
  8072c4:    880f883a     mov    r7,r17
  8072c8:    a809883a     mov    r4,r21
  8072cc:    1180162e     bgeu    r2,r6,807328 &lt;_realloc_r+0x2f4&gt;
  8072d0:    88800017     ldw    r2,0(r17)
  8072d4:    89c00204     addi    r7,r17,8
  8072d8:    81000404     addi    r4,r16,16
  8072dc:    a8800015     stw    r2,0(r21)
  8072e0:    88c00117     ldw    r3,4(r17)
  8072e4:    008006c4     movi    r2,27
  8072e8:    80c00315     stw    r3,12(r16)
  8072ec:    11800e2e     bgeu    r2,r6,807328 &lt;_realloc_r+0x2f4&gt;
  8072f0:    38800017     ldw    r2,0(r7)
  8072f4:    89c00404     addi    r7,r17,16
  8072f8:    20800015     stw    r2,0(r4)
  8072fc:    88c00317     ldw    r3,12(r17)
  807300:    008008c4     movi    r2,35
  807304:    81000604     addi    r4,r16,24
  807308:    80c00515     stw    r3,20(r16)
  80730c:    1180062e     bgeu    r2,r6,807328 &lt;_realloc_r+0x2f4&gt;
  807310:    38800017     ldw    r2,0(r7)
  807314:    89c00604     addi    r7,r17,24
  807318:    20800015     stw    r2,0(r4)
  80731c:    88c00517     ldw    r3,20(r17)
  807320:    81000804     addi    r4,r16,32
  807324:    80c00715     stw    r3,28(r16)
  807328:    38800017     ldw    r2,0(r7)
  80732c:    39c00104     addi    r7,r7,4
  807330:    20800015     stw    r2,0(r4)
  807334:    38c00017     ldw    r3,0(r7)
  807338:    21000104     addi    r4,r4,4
  80733c:    20c00015     stw    r3,0(r4)
  807340:    38800117     ldw    r2,4(r7)
  807344:    20800115     stw    r2,4(r4)
  807348:    950dc83a     sub    r6,r18,r20
  80734c:    008003c4     movi    r2,15
  807350:    11800c36     bltu    r2,r6,807384 &lt;_realloc_r+0x350&gt;
  807354:    80800117     ldw    r2,4(r16)
  807358:    8489883a     add    r4,r16,r18
  80735c:    1080004c     andi    r2,r2,1
  807360:    1484b03a     or    r2,r2,r18
  807364:    80800115     stw    r2,4(r16)
  807368:    20c00117     ldw    r3,4(r4)
  80736c:    18c00054     ori    r3,r3,1
  807370:    20c00115     stw    r3,4(r4)
  807374:    b009883a     mov    r4,r22
  807378:    0809e500     call    809e50 &lt;__malloc_unlock&gt;
  80737c:    80800204     addi    r2,r16,8
  807380:    003fa606     br    80721c &lt;_realloc_r+0x1e8&gt;
  807384:    80800117     ldw    r2,4(r16)
  807388:    850b883a     add    r5,r16,r20
  80738c:    31000054     ori    r4,r6,1
  807390:    1080004c     andi    r2,r2,1
  807394:    1504b03a     or    r2,r2,r20
  807398:    80800115     stw    r2,4(r16)
  80739c:    29000115     stw    r4,4(r5)
  8073a0:    2987883a     add    r3,r5,r6
  8073a4:    18800117     ldw    r2,4(r3)
  8073a8:    29400204     addi    r5,r5,8
  8073ac:    b009883a     mov    r4,r22
  8073b0:    10800054     ori    r2,r2,1
  8073b4:    18800115     stw    r2,4(r3)
  8073b8:    08055600     call    805560 &lt;_free_r&gt;
  8073bc:    003fed06     br    807374 &lt;_realloc_r+0x340&gt;
  8073c0:    0009883a     mov    r4,zero
  8073c4:    000f883a     mov    r7,zero
  8073c8:    003f4906     br    8070f0 &lt;_realloc_r+0xbc&gt;
  8073cc:    21c00117     ldw    r7,4(r4)
  8073d0:    003f4206     br    8070dc &lt;_realloc_r+0xa8&gt;
  8073d4:    a809883a     mov    r4,r21
  8073d8:    880b883a     mov    r5,r17
  8073dc:    0805ea80     call    805ea8 &lt;memcpy&gt;
  8073e0:    003f8306     br    8071f0 &lt;_realloc_r+0x1bc&gt;
  8073e4:    21400217     ldw    r5,8(r4)
  8073e8:    21000317     ldw    r4,12(r4)
  8073ec:    1025883a     mov    r18,r2
  8073f0:    21400215     stw    r5,8(r4)
  8073f4:    29000315     stw    r4,12(r5)
  8073f8:    003fd306     br    807348 &lt;_realloc_r+0x314&gt;
  8073fc:    3c87883a     add    r3,r7,r18
  807400:    a0800404     addi    r2,r20,16
  807404:    18bf3a16     blt    r3,r2,8070f0 &lt;_realloc_r+0xbc&gt;
  807408:    1d05c83a     sub    r2,r3,r20
  80740c:    850b883a     add    r5,r16,r20
  807410:    10800054     ori    r2,r2,1
  807414:    28800115     stw    r2,4(r5)
  807418:    80c00117     ldw    r3,4(r16)
  80741c:    51400215     stw    r5,8(r10)
  807420:    b009883a     mov    r4,r22
  807424:    18c0004c     andi    r3,r3,1
  807428:    1d0ab03a     or    r5,r3,r20
  80742c:    81400115     stw    r5,4(r16)
  807430:    003fd106     br    807378 &lt;_realloc_r+0x344&gt;
  807434:    b9000317     ldw    r4,12(r23)
  807438:    b9400217     ldw    r5,8(r23)
  80743c:    b821883a     mov    r16,r23
  807440:    49bfff04     addi    r6,r9,-4
  807444:    1825883a     mov    r18,r3
  807448:    21400215     stw    r5,8(r4)
  80744c:    29000315     stw    r4,12(r5)
  807450:    003f9806     br    8072b4 &lt;_realloc_r+0x280&gt;
  807454:    3945883a     add    r2,r7,r5
  807458:    1485883a     add    r2,r2,r18
  80745c:    a0c00404     addi    r3,r20,16
  807460:    d8800015     stw    r2,0(sp)
  807464:    10ff2f16     blt    r2,r3,807124 &lt;_realloc_r+0xf0&gt;
  807468:    b9000317     ldw    r4,12(r23)
  80746c:    b9400217     ldw    r5,8(r23)
  807470:    49bfff04     addi    r6,r9,-4
  807474:    00800904     movi    r2,36
  807478:    21400215     stw    r5,8(r4)
  80747c:    29000315     stw    r4,12(r5)
  807480:    bd400204     addi    r21,r23,8
  807484:    11803836     bltu    r2,r6,807568 &lt;_realloc_r+0x534&gt;
  807488:    008004c4     movi    r2,19
  80748c:    880f883a     mov    r7,r17
  807490:    a809883a     mov    r4,r21
  807494:    1180162e     bgeu    r2,r6,8074f0 &lt;_realloc_r+0x4bc&gt;
  807498:    88800017     ldw    r2,0(r17)
  80749c:    89c00204     addi    r7,r17,8
  8074a0:    b9000404     addi    r4,r23,16
  8074a4:    a8800015     stw    r2,0(r21)
  8074a8:    88c00117     ldw    r3,4(r17)
  8074ac:    008006c4     movi    r2,27
  8074b0:    b8c00315     stw    r3,12(r23)
  8074b4:    11800e2e     bgeu    r2,r6,8074f0 &lt;_realloc_r+0x4bc&gt;
  8074b8:    38800017     ldw    r2,0(r7)
  8074bc:    89c00404     addi    r7,r17,16
  8074c0:    20800015     stw    r2,0(r4)
  8074c4:    88c00317     ldw    r3,12(r17)
  8074c8:    008008c4     movi    r2,35
  8074cc:    b9000604     addi    r4,r23,24
  8074d0:    b8c00515     stw    r3,20(r23)
  8074d4:    1180062e     bgeu    r2,r6,8074f0 &lt;_realloc_r+0x4bc&gt;
  8074d8:    38800017     ldw    r2,0(r7)
  8074dc:    89c00604     addi    r7,r17,24
  8074e0:    20800015     stw    r2,0(r4)
  8074e4:    88c00517     ldw    r3,20(r17)
  8074e8:    b9000804     addi    r4,r23,32
  8074ec:    b8c00715     stw    r3,28(r23)
  8074f0:    38800017     ldw    r2,0(r7)
  8074f4:    39c00104     addi    r7,r7,4
  8074f8:    20800015     stw    r2,0(r4)
  8074fc:    38c00017     ldw    r3,0(r7)
  807500:    21000104     addi    r4,r4,4
  807504:    20c00015     stw    r3,0(r4)
  807508:    38800117     ldw    r2,4(r7)
  80750c:    20800115     stw    r2,4(r4)
  807510:    d8c00017     ldw    r3,0(sp)
  807514:    bd0b883a     add    r5,r23,r20
  807518:    b009883a     mov    r4,r22
  80751c:    1d05c83a     sub    r2,r3,r20
  807520:    10800054     ori    r2,r2,1
  807524:    28800115     stw    r2,4(r5)
  807528:    b8c00117     ldw    r3,4(r23)
  80752c:    e1400215     stw    r5,8(fp)
  807530:    18c0004c     andi    r3,r3,1
  807534:    1d06b03a     or    r3,r3,r20
  807538:    b8c00115     stw    r3,4(r23)
  80753c:    003f3006     br    807200 &lt;_realloc_r+0x1cc&gt;
  807540:    a809883a     mov    r4,r21
  807544:    880b883a     mov    r5,r17
  807548:    0805ea80     call    805ea8 &lt;memcpy&gt;
  80754c:    003f7e06     br    807348 &lt;_realloc_r+0x314&gt;
  807550:    80800117     ldw    r2,4(r16)
  807554:    00ffff04     movi    r3,-4
  807558:    9821883a     mov    r16,r19
  80755c:    10c4703a     and    r2,r2,r3
  807560:    90a5883a     add    r18,r18,r2
  807564:    003f7806     br    807348 &lt;_realloc_r+0x314&gt;
  807568:    880b883a     mov    r5,r17
  80756c:    a809883a     mov    r4,r21
  807570:    0805ea80     call    805ea8 &lt;memcpy&gt;
  807574:    003fe606     br    807510 &lt;_realloc_r+0x4dc&gt;
  807578:    b009883a     mov    r4,r22
  80757c:    0809e500     call    809e50 &lt;__malloc_unlock&gt;
  807580:    003f2506     br    807218 &lt;_realloc_r+0x1e4&gt;

00807584 &lt;isinf&gt;:
  807584:    200d883a     mov    r6,r4
  807588:    0109c83a     sub    r4,zero,r4
  80758c:    2188b03a     or    r4,r4,r6
  807590:    2008d7fa     srli    r4,r4,31
  807594:    00a00034     movhi    r2,32768
  807598:    10bfffc4     addi    r2,r2,-1
  80759c:    288a703a     and    r5,r5,r2
  8075a0:    290ab03a     or    r5,r5,r4
  8075a4:    009ffc34     movhi    r2,32752
  8075a8:    10800004     addi    r2,r2,0
  8075ac:    114bc83a     sub    r5,r2,r5
  8075b0:    0145c83a     sub    r2,zero,r5
  8075b4:    1144b03a     or    r2,r2,r5
  8075b8:    1004d7fa     srli    r2,r2,31
  8075bc:    00c00044     movi    r3,1
  8075c0:    1885c83a     sub    r2,r3,r2
  8075c4:    f800283a     ret

008075c8 &lt;isnan&gt;:
  8075c8:    200d883a     mov    r6,r4
  8075cc:    0109c83a     sub    r4,zero,r4
  8075d0:    2188b03a     or    r4,r4,r6
  8075d4:    2008d7fa     srli    r4,r4,31
  8075d8:    00e00034     movhi    r3,32768
  8075dc:    18ffffc4     addi    r3,r3,-1
  8075e0:    28c4703a     and    r2,r5,r3
  8075e4:    1104b03a     or    r2,r2,r4
  8075e8:    00dffc34     movhi    r3,32752
  8075ec:    18c00004     addi    r3,r3,0
  8075f0:    1885c83a     sub    r2,r3,r2
  8075f4:    1004d7fa     srli    r2,r2,31
  8075f8:    f800283a     ret

008075fc &lt;strcmp&gt;:
  8075fc:    2144b03a     or    r2,r4,r5
  807600:    108000cc     andi    r2,r2,3
  807604:    1000031e     bne    r2,zero,807614 &lt;strcmp+0x18&gt;
  807608:    20c00017     ldw    r3,0(r4)
  80760c:    28800017     ldw    r2,0(r5)
  807610:    18801626     beq    r3,r2,80766c &lt;strcmp+0x70&gt;
  807614:    20c00003     ldbu    r3,0(r4)
  807618:    19803fcc     andi    r6,r3,255
  80761c:    3180201c     xori    r6,r6,128
  807620:    31bfe004     addi    r6,r6,-128
  807624:    30000c26     beq    r6,zero,807658 &lt;strcmp+0x5c&gt;
  807628:    29c00003     ldbu    r7,0(r5)
  80762c:    38803fcc     andi    r2,r7,255
  807630:    1080201c     xori    r2,r2,128
  807634:    10bfe004     addi    r2,r2,-128
  807638:    3080081e     bne    r6,r2,80765c &lt;strcmp+0x60&gt;
  80763c:    21000044     addi    r4,r4,1
  807640:    20c00003     ldbu    r3,0(r4)
  807644:    29400044     addi    r5,r5,1
  807648:    19803fcc     andi    r6,r3,255
  80764c:    3180201c     xori    r6,r6,128
  807650:    31bfe004     addi    r6,r6,-128
  807654:    303ff41e     bne    r6,zero,807628 &lt;strcmp+0x2c&gt;
  807658:    29c00003     ldbu    r7,0(r5)
  80765c:    18c03fcc     andi    r3,r3,255
  807660:    38803fcc     andi    r2,r7,255
  807664:    1885c83a     sub    r2,r3,r2
  807668:    f800283a     ret
  80766c:    180d883a     mov    r6,r3
  807670:    023fbff4     movhi    r8,65279
  807674:    423fbfc4     addi    r8,r8,-257
  807678:    01e02074     movhi    r7,32897
  80767c:    39e02004     addi    r7,r7,-32640
  807680:    0186303a     nor    r3,zero,r6
  807684:    3205883a     add    r2,r6,r8
  807688:    10c4703a     and    r2,r2,r3
  80768c:    11c4703a     and    r2,r2,r7
  807690:    21000104     addi    r4,r4,4
  807694:    29400104     addi    r5,r5,4
  807698:    1000041e     bne    r2,zero,8076ac &lt;strcmp+0xb0&gt;
  80769c:    21800017     ldw    r6,0(r4)
  8076a0:    28800017     ldw    r2,0(r5)
  8076a4:    30bff626     beq    r6,r2,807680 &lt;strcmp+0x84&gt;
  8076a8:    003fda06     br    807614 &lt;strcmp+0x18&gt;
  8076ac:    0005883a     mov    r2,zero
  8076b0:    f800283a     ret

008076b4 &lt;strlen&gt;:
  8076b4:    208000cc     andi    r2,r4,3
  8076b8:    200f883a     mov    r7,r4
  8076bc:    1000101e     bne    r2,zero,807700 &lt;strlen+0x4c&gt;
  8076c0:    20800017     ldw    r2,0(r4)
  8076c4:    01bfbff4     movhi    r6,65279
  8076c8:    31bfbfc4     addi    r6,r6,-257
  8076cc:    01602074     movhi    r5,32897
  8076d0:    29602004     addi    r5,r5,-32640
  8076d4:    00000206     br    8076e0 &lt;strlen+0x2c&gt;
  8076d8:    21000104     addi    r4,r4,4
  8076dc:    20800017     ldw    r2,0(r4)
  8076e0:    0086303a     nor    r3,zero,r2
  8076e4:    1185883a     add    r2,r2,r6
  8076e8:    10c4703a     and    r2,r2,r3
  8076ec:    1144703a     and    r2,r2,r5
  8076f0:    103ff926     beq    r2,zero,8076d8 &lt;strlen+0x24&gt;
  8076f4:    20800007     ldb    r2,0(r4)
  8076f8:    10000326     beq    r2,zero,807708 &lt;strlen+0x54&gt;
  8076fc:    21000044     addi    r4,r4,1
  807700:    20800007     ldb    r2,0(r4)
  807704:    103ffd1e     bne    r2,zero,8076fc &lt;strlen+0x48&gt;
  807708:    21c5c83a     sub    r2,r4,r7
  80770c:    f800283a     ret

00807710 &lt;_calloc_r&gt;:
  807710:    298b383a     mul    r5,r5,r6
  807714:    defffe04     addi    sp,sp,-8
  807718:    dc000015     stw    r16,0(sp)
  80771c:    dfc00115     stw    ra,4(sp)
  807720:    08009c00     call    8009c0 &lt;_malloc_r&gt;
  807724:    1021883a     mov    r16,r2
  807728:    0005883a     mov    r2,zero
  80772c:    80001e26     beq    r16,zero,8077a8 &lt;_calloc_r+0x98&gt;
  807730:    80bfff17     ldw    r2,-4(r16)
  807734:    00ffff04     movi    r3,-4
  807738:    8009883a     mov    r4,r16
  80773c:    10c4703a     and    r2,r2,r3
  807740:    10cf883a     add    r7,r2,r3
  807744:    00800904     movi    r2,36
  807748:    380d883a     mov    r6,r7
  80774c:    000b883a     mov    r5,zero
  807750:    11c01936     bltu    r2,r7,8077b8 &lt;_calloc_r+0xa8&gt;
  807754:    008004c4     movi    r2,19
  807758:    8007883a     mov    r3,r16
  80775c:    11c00d2e     bgeu    r2,r7,807794 &lt;_calloc_r+0x84&gt;
  807760:    008006c4     movi    r2,27
  807764:    80000015     stw    zero,0(r16)
  807768:    80000115     stw    zero,4(r16)
  80776c:    80c00204     addi    r3,r16,8
  807770:    11c0082e     bgeu    r2,r7,807794 &lt;_calloc_r+0x84&gt;
  807774:    18000015     stw    zero,0(r3)
  807778:    008008c4     movi    r2,35
  80777c:    80c00404     addi    r3,r16,16
  807780:    80000315     stw    zero,12(r16)
  807784:    11c0032e     bgeu    r2,r7,807794 &lt;_calloc_r+0x84&gt;
  807788:    18000015     stw    zero,0(r3)
  80778c:    80000515     stw    zero,20(r16)
  807790:    80c00604     addi    r3,r16,24
  807794:    18000015     stw    zero,0(r3)
  807798:    18c00104     addi    r3,r3,4
  80779c:    18000115     stw    zero,4(r3)
  8077a0:    18000015     stw    zero,0(r3)
  8077a4:    8005883a     mov    r2,r16
  8077a8:    dfc00117     ldw    ra,4(sp)
  8077ac:    dc000017     ldw    r16,0(sp)
  8077b0:    dec00204     addi    sp,sp,8
  8077b4:    f800283a     ret
  8077b8:    080606c0     call    80606c &lt;memset&gt;
  8077bc:    003ff906     br    8077a4 &lt;_calloc_r+0x94&gt;

008077c0 &lt;__negdi2&gt;:
  8077c0:    280f883a     mov    r7,r5
  8077c4:    010bc83a     sub    r5,zero,r4
  8077c8:    2808c03a     cmpne    r4,r5,zero
  8077cc:    01d3c83a     sub    r9,zero,r7
  8077d0:    4913c83a     sub    r9,r9,r4
  8077d4:    2805883a     mov    r2,r5
  8077d8:    4807883a     mov    r3,r9
  8077dc:    f800283a     ret

008077e0 &lt;__udivdi3&gt;:
  8077e0:    defff604     addi    sp,sp,-40
  8077e4:    dc000715     stw    r16,28(sp)
  8077e8:    dc800515     stw    r18,20(sp)
  8077ec:    dcc00415     stw    r19,16(sp)
  8077f0:    dd800115     stw    r22,4(sp)
  8077f4:    dfc00915     stw    ra,36(sp)
  8077f8:    df000815     stw    fp,32(sp)
  8077fc:    dc400615     stw    r17,24(sp)
  807800:    dd000315     stw    r20,12(sp)
  807804:    dd400215     stw    r21,8(sp)
  807808:    ddc00015     stw    r23,0(sp)
  80780c:    3019883a     mov    r12,r6
  807810:    3821883a     mov    r16,r7
  807814:    202d883a     mov    r22,r4
  807818:    2827883a     mov    r19,r5
  80781c:    3025883a     mov    r18,r6
  807820:    3800411e     bne    r7,zero,807928 &lt;__udivdi3+0x148&gt;
  807824:    2980662e     bgeu    r5,r6,8079c0 &lt;__udivdi3+0x1e0&gt;
  807828:    00bfffd4     movui    r2,65535
  80782c:    1181022e     bgeu    r2,r6,807c38 &lt;__udivdi3+0x458&gt;
  807830:    00804034     movhi    r2,256
  807834:    10bfffc4     addi    r2,r2,-1
  807838:    01c00404     movi    r7,16
  80783c:    1180012e     bgeu    r2,r6,807844 &lt;__udivdi3+0x64&gt;
  807840:    01c00604     movi    r7,24
  807844:    61c4d83a     srl    r2,r12,r7
  807848:    01002074     movhi    r4,129
  80784c:    2133db04     addi    r4,r4,-12436
  807850:    01400804     movi    r5,32
  807854:    1105883a     add    r2,r2,r4
  807858:    10c00003     ldbu    r3,0(r2)
  80785c:    19c7883a     add    r3,r3,r7
  807860:    28cfc83a     sub    r7,r5,r3
  807864:    38000626     beq    r7,zero,807880 &lt;__udivdi3+0xa0&gt;
  807868:    29c5c83a     sub    r2,r5,r7
  80786c:    b084d83a     srl    r2,r22,r2
  807870:    99c6983a     sll    r3,r19,r7
  807874:    b1ec983a     sll    r22,r22,r7
  807878:    91e4983a     sll    r18,r18,r7
  80787c:    18a6b03a     or    r19,r3,r2
  807880:    9028d43a     srli    r20,r18,16
  807884:    9809883a     mov    r4,r19
  807888:    957fffcc     andi    r21,r18,65535
  80788c:    a00b883a     mov    r5,r20
  807890:    08092080     call    809208 &lt;__umodsi3&gt;
  807894:    9809883a     mov    r4,r19
  807898:    a00b883a     mov    r5,r20
  80789c:    1023883a     mov    r17,r2
  8078a0:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  8078a4:    1027883a     mov    r19,r2
  8078a8:    8806943a     slli    r3,r17,16
  8078ac:    b004d43a     srli    r2,r22,16
  8078b0:    9d4b383a     mul    r5,r19,r21
  8078b4:    18a2b03a     or    r17,r3,r2
  8078b8:    8940042e     bgeu    r17,r5,8078cc &lt;__udivdi3+0xec&gt;
  8078bc:    8ca3883a     add    r17,r17,r18
  8078c0:    9cffffc4     addi    r19,r19,-1
  8078c4:    8c800136     bltu    r17,r18,8078cc &lt;__udivdi3+0xec&gt;
  8078c8:    89411736     bltu    r17,r5,807d28 &lt;__udivdi3+0x548&gt;
  8078cc:    8963c83a     sub    r17,r17,r5
  8078d0:    8809883a     mov    r4,r17
  8078d4:    a00b883a     mov    r5,r20
  8078d8:    08092080     call    809208 &lt;__umodsi3&gt;
  8078dc:    8809883a     mov    r4,r17
  8078e0:    a00b883a     mov    r5,r20
  8078e4:    1021883a     mov    r16,r2
  8078e8:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  8078ec:    8006943a     slli    r3,r16,16
  8078f0:    154b383a     mul    r5,r2,r21
  8078f4:    1009883a     mov    r4,r2
  8078f8:    b0bfffcc     andi    r2,r22,65535
  8078fc:    18a0b03a     or    r16,r3,r2
  807900:    8140052e     bgeu    r16,r5,807918 &lt;__udivdi3+0x138&gt;
  807904:    84a1883a     add    r16,r16,r18
  807908:    213fffc4     addi    r4,r4,-1
  80790c:    84800236     bltu    r16,r18,807918 &lt;__udivdi3+0x138&gt;
  807910:    8140012e     bgeu    r16,r5,807918 &lt;__udivdi3+0x138&gt;
  807914:    213fffc4     addi    r4,r4,-1
  807918:    9804943a     slli    r2,r19,16
  80791c:    0029883a     mov    r20,zero
  807920:    1110b03a     or    r8,r2,r4
  807924:    00000306     br    807934 &lt;__udivdi3+0x154&gt;
  807928:    0011883a     mov    r8,zero
  80792c:    29c00f2e     bgeu    r5,r7,80796c &lt;__udivdi3+0x18c&gt;
  807930:    0029883a     mov    r20,zero
  807934:    4005883a     mov    r2,r8
  807938:    a007883a     mov    r3,r20
  80793c:    dfc00917     ldw    ra,36(sp)
  807940:    df000817     ldw    fp,32(sp)
  807944:    dc000717     ldw    r16,28(sp)
  807948:    dc400617     ldw    r17,24(sp)
  80794c:    dc800517     ldw    r18,20(sp)
  807950:    dcc00417     ldw    r19,16(sp)
  807954:    dd000317     ldw    r20,12(sp)
  807958:    dd400217     ldw    r21,8(sp)
  80795c:    dd800117     ldw    r22,4(sp)
  807960:    ddc00017     ldw    r23,0(sp)
  807964:    dec00a04     addi    sp,sp,40
  807968:    f800283a     ret
  80796c:    00bfffd4     movui    r2,65535
  807970:    11c0592e     bgeu    r2,r7,807ad8 &lt;__udivdi3+0x2f8&gt;
  807974:    00804034     movhi    r2,256
  807978:    10bfffc4     addi    r2,r2,-1
  80797c:    01400404     movi    r5,16
  807980:    11c0012e     bgeu    r2,r7,807988 &lt;__udivdi3+0x1a8&gt;
  807984:    01400604     movi    r5,24
  807988:    8144d83a     srl    r2,r16,r5
  80798c:    01002074     movhi    r4,129
  807990:    2133db04     addi    r4,r4,-12436
  807994:    01800804     movi    r6,32
  807998:    1105883a     add    r2,r2,r4
  80799c:    10c00003     ldbu    r3,0(r2)
  8079a0:    1947883a     add    r3,r3,r5
  8079a4:    30cfc83a     sub    r7,r6,r3
  8079a8:    3800571e     bne    r7,zero,807b08 &lt;__udivdi3+0x328&gt;
  8079ac:    84c00236     bltu    r16,r19,8079b8 &lt;__udivdi3+0x1d8&gt;
  8079b0:    0011883a     mov    r8,zero
  8079b4:    b4bfde36     bltu    r22,r18,807930 &lt;__udivdi3+0x150&gt;
  8079b8:    02000044     movi    r8,1
  8079bc:    003fdc06     br    807930 &lt;__udivdi3+0x150&gt;
  8079c0:    30003926     beq    r6,zero,807aa8 &lt;__udivdi3+0x2c8&gt;
  8079c4:    00bfffd4     movui    r2,65535
  8079c8:    14803d36     bltu    r2,r18,807ac0 &lt;__udivdi3+0x2e0&gt;
  8079cc:    00803fc4     movi    r2,255
  8079d0:    148b803a     cmpltu    r5,r2,r18
  8079d4:    280a90fa     slli    r5,r5,3
  8079d8:    9144d83a     srl    r2,r18,r5
  8079dc:    01002074     movhi    r4,129
  8079e0:    2133db04     addi    r4,r4,-12436
  8079e4:    01800804     movi    r6,32
  8079e8:    1105883a     add    r2,r2,r4
  8079ec:    10c00003     ldbu    r3,0(r2)
  8079f0:    1947883a     add    r3,r3,r5
  8079f4:    30cfc83a     sub    r7,r6,r3
  8079f8:    3800931e     bne    r7,zero,807c48 &lt;__udivdi3+0x468&gt;
  8079fc:    902ad43a     srli    r21,r18,16
  807a00:    9ca7c83a     sub    r19,r19,r18
  807a04:    05000044     movi    r20,1
  807a08:    95ffffcc     andi    r23,r18,65535
  807a0c:    9809883a     mov    r4,r19
  807a10:    a80b883a     mov    r5,r21
  807a14:    08092080     call    809208 &lt;__umodsi3&gt;
  807a18:    9809883a     mov    r4,r19
  807a1c:    a80b883a     mov    r5,r21
  807a20:    1023883a     mov    r17,r2
  807a24:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807a28:    1027883a     mov    r19,r2
  807a2c:    8806943a     slli    r3,r17,16
  807a30:    b004d43a     srli    r2,r22,16
  807a34:    9dcb383a     mul    r5,r19,r23
  807a38:    18a2b03a     or    r17,r3,r2
  807a3c:    8940042e     bgeu    r17,r5,807a50 &lt;__udivdi3+0x270&gt;
  807a40:    8ca3883a     add    r17,r17,r18
  807a44:    9cffffc4     addi    r19,r19,-1
  807a48:    8c800136     bltu    r17,r18,807a50 &lt;__udivdi3+0x270&gt;
  807a4c:    8940b936     bltu    r17,r5,807d34 &lt;__udivdi3+0x554&gt;
  807a50:    8963c83a     sub    r17,r17,r5
  807a54:    8809883a     mov    r4,r17
  807a58:    a80b883a     mov    r5,r21
  807a5c:    08092080     call    809208 &lt;__umodsi3&gt;
  807a60:    8809883a     mov    r4,r17
  807a64:    a80b883a     mov    r5,r21
  807a68:    1021883a     mov    r16,r2
  807a6c:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807a70:    8006943a     slli    r3,r16,16
  807a74:    15cb383a     mul    r5,r2,r23
  807a78:    1009883a     mov    r4,r2
  807a7c:    b0bfffcc     andi    r2,r22,65535
  807a80:    18a0b03a     or    r16,r3,r2
  807a84:    8140052e     bgeu    r16,r5,807a9c &lt;__udivdi3+0x2bc&gt;
  807a88:    84a1883a     add    r16,r16,r18
  807a8c:    213fffc4     addi    r4,r4,-1
  807a90:    84800236     bltu    r16,r18,807a9c &lt;__udivdi3+0x2bc&gt;
  807a94:    8140012e     bgeu    r16,r5,807a9c &lt;__udivdi3+0x2bc&gt;
  807a98:    213fffc4     addi    r4,r4,-1
  807a9c:    9804943a     slli    r2,r19,16
  807aa0:    1110b03a     or    r8,r2,r4
  807aa4:    003fa306     br    807934 &lt;__udivdi3+0x154&gt;
  807aa8:    01000044     movi    r4,1
  807aac:    000b883a     mov    r5,zero
  807ab0:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807ab4:    1025883a     mov    r18,r2
  807ab8:    00bfffd4     movui    r2,65535
  807abc:    14bfc32e     bgeu    r2,r18,8079cc &lt;__udivdi3+0x1ec&gt;
  807ac0:    00804034     movhi    r2,256
  807ac4:    10bfffc4     addi    r2,r2,-1
  807ac8:    01400404     movi    r5,16
  807acc:    14bfc22e     bgeu    r2,r18,8079d8 &lt;__udivdi3+0x1f8&gt;
  807ad0:    01400604     movi    r5,24
  807ad4:    003fc006     br    8079d8 &lt;__udivdi3+0x1f8&gt;
  807ad8:    00803fc4     movi    r2,255
  807adc:    11cb803a     cmpltu    r5,r2,r7
  807ae0:    280a90fa     slli    r5,r5,3
  807ae4:    01002074     movhi    r4,129
  807ae8:    2133db04     addi    r4,r4,-12436
  807aec:    01800804     movi    r6,32
  807af0:    8144d83a     srl    r2,r16,r5
  807af4:    1105883a     add    r2,r2,r4
  807af8:    10c00003     ldbu    r3,0(r2)
  807afc:    1947883a     add    r3,r3,r5
  807b00:    30cfc83a     sub    r7,r6,r3
  807b04:    383fa926     beq    r7,zero,8079ac &lt;__udivdi3+0x1cc&gt;
  807b08:    31c9c83a     sub    r4,r6,r7
  807b0c:    81c6983a     sll    r3,r16,r7
  807b10:    9104d83a     srl    r2,r18,r4
  807b14:    9928d83a     srl    r20,r19,r4
  807b18:    b10cd83a     srl    r6,r22,r4
  807b1c:    18a0b03a     or    r16,r3,r2
  807b20:    802ad43a     srli    r21,r16,16
  807b24:    99c4983a     sll    r2,r19,r7
  807b28:    a009883a     mov    r4,r20
  807b2c:    a80b883a     mov    r5,r21
  807b30:    11a6b03a     or    r19,r2,r6
  807b34:    b1ec983a     sll    r22,r22,r7
  807b38:    91e4983a     sll    r18,r18,r7
  807b3c:    08092080     call    809208 &lt;__umodsi3&gt;
  807b40:    a009883a     mov    r4,r20
  807b44:    a80b883a     mov    r5,r21
  807b48:    1023883a     mov    r17,r2
  807b4c:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807b50:    102f883a     mov    r23,r2
  807b54:    8806943a     slli    r3,r17,16
  807b58:    873fffcc     andi    fp,r16,65535
  807b5c:    9804d43a     srli    r2,r19,16
  807b60:    bf13383a     mul    r9,r23,fp
  807b64:    18a2b03a     or    r17,r3,r2
  807b68:    8a40062e     bgeu    r17,r9,807b84 &lt;__udivdi3+0x3a4&gt;
  807b6c:    8c23883a     add    r17,r17,r16
  807b70:    bdffffc4     addi    r23,r23,-1
  807b74:    8c000336     bltu    r17,r16,807b84 &lt;__udivdi3+0x3a4&gt;
  807b78:    8a40022e     bgeu    r17,r9,807b84 &lt;__udivdi3+0x3a4&gt;
  807b7c:    bdffffc4     addi    r23,r23,-1
  807b80:    8c23883a     add    r17,r17,r16
  807b84:    8a63c83a     sub    r17,r17,r9
  807b88:    8809883a     mov    r4,r17
  807b8c:    a80b883a     mov    r5,r21
  807b90:    08092080     call    809208 &lt;__umodsi3&gt;
  807b94:    a80b883a     mov    r5,r21
  807b98:    8809883a     mov    r4,r17
  807b9c:    1029883a     mov    r20,r2
  807ba0:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807ba4:    a006943a     slli    r3,r20,16
  807ba8:    1713383a     mul    r9,r2,fp
  807bac:    100b883a     mov    r5,r2
  807bb0:    98bfffcc     andi    r2,r19,65535
  807bb4:    18a8b03a     or    r20,r3,r2
  807bb8:    a240032e     bgeu    r20,r9,807bc8 &lt;__udivdi3+0x3e8&gt;
  807bbc:    a429883a     add    r20,r20,r16
  807bc0:    297fffc4     addi    r5,r5,-1
  807bc4:    a400542e     bgeu    r20,r16,807d18 &lt;__udivdi3+0x538&gt;
  807bc8:    b808943a     slli    r4,r23,16
  807bcc:    90ffffcc     andi    r3,r18,65535
  807bd0:    900cd43a     srli    r6,r18,16
  807bd4:    2150b03a     or    r8,r4,r5
  807bd8:    40bfffcc     andi    r2,r8,65535
  807bdc:    10d5383a     mul    r10,r2,r3
  807be0:    400ad43a     srli    r5,r8,16
  807be4:    118f383a     mul    r7,r2,r6
  807be8:    5008d43a     srli    r4,r10,16
  807bec:    28c7383a     mul    r3,r5,r3
  807bf0:    a269c83a     sub    r20,r20,r9
  807bf4:    390f883a     add    r7,r7,r4
  807bf8:    38cf883a     add    r7,r7,r3
  807bfc:    298b383a     mul    r5,r5,r6
  807c00:    38c0032e     bgeu    r7,r3,807c10 &lt;__udivdi3+0x430&gt;
  807c04:    00800074     movhi    r2,1
  807c08:    10800004     addi    r2,r2,0
  807c0c:    288b883a     add    r5,r5,r2
  807c10:    3804d43a     srli    r2,r7,16
  807c14:    3808943a     slli    r4,r7,16
  807c18:    50ffffcc     andi    r3,r10,65535
  807c1c:    1145883a     add    r2,r2,r5
  807c20:    20c7883a     add    r3,r4,r3
  807c24:    a0800236     bltu    r20,r2,807c30 &lt;__udivdi3+0x450&gt;
  807c28:    153f411e     bne    r2,r20,807930 &lt;__udivdi3+0x150&gt;
  807c2c:    b0ff402e     bgeu    r22,r3,807930 &lt;__udivdi3+0x150&gt;
  807c30:    423fffc4     addi    r8,r8,-1
  807c34:    003f3e06     br    807930 &lt;__udivdi3+0x150&gt;
  807c38:    00803fc4     movi    r2,255
  807c3c:    118f803a     cmpltu    r7,r2,r6
  807c40:    380e90fa     slli    r7,r7,3
  807c44:    003eff06     br    807844 &lt;__udivdi3+0x64&gt;
  807c48:    91e4983a     sll    r18,r18,r7
  807c4c:    31c9c83a     sub    r4,r6,r7
  807c50:    9928d83a     srl    r20,r19,r4
  807c54:    902ad43a     srli    r21,r18,16
  807c58:    b106d83a     srl    r3,r22,r4
  807c5c:    99c4983a     sll    r2,r19,r7
  807c60:    a009883a     mov    r4,r20
  807c64:    a80b883a     mov    r5,r21
  807c68:    10e6b03a     or    r19,r2,r3
  807c6c:    b1ec983a     sll    r22,r22,r7
  807c70:    08092080     call    809208 &lt;__umodsi3&gt;
  807c74:    a009883a     mov    r4,r20
  807c78:    a80b883a     mov    r5,r21
  807c7c:    1021883a     mov    r16,r2
  807c80:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807c84:    1029883a     mov    r20,r2
  807c88:    8006943a     slli    r3,r16,16
  807c8c:    95ffffcc     andi    r23,r18,65535
  807c90:    9804d43a     srli    r2,r19,16
  807c94:    a5d1383a     mul    r8,r20,r23
  807c98:    18a0b03a     or    r16,r3,r2
  807c9c:    8200062e     bgeu    r16,r8,807cb8 &lt;__udivdi3+0x4d8&gt;
  807ca0:    84a1883a     add    r16,r16,r18
  807ca4:    a53fffc4     addi    r20,r20,-1
  807ca8:    84800336     bltu    r16,r18,807cb8 &lt;__udivdi3+0x4d8&gt;
  807cac:    8200022e     bgeu    r16,r8,807cb8 &lt;__udivdi3+0x4d8&gt;
  807cb0:    a53fffc4     addi    r20,r20,-1
  807cb4:    84a1883a     add    r16,r16,r18
  807cb8:    8221c83a     sub    r16,r16,r8
  807cbc:    8009883a     mov    r4,r16
  807cc0:    a80b883a     mov    r5,r21
  807cc4:    08092080     call    809208 &lt;__umodsi3&gt;
  807cc8:    8009883a     mov    r4,r16
  807ccc:    a80b883a     mov    r5,r21
  807cd0:    1023883a     mov    r17,r2
  807cd4:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807cd8:    8806943a     slli    r3,r17,16
  807cdc:    15d1383a     mul    r8,r2,r23
  807ce0:    1009883a     mov    r4,r2
  807ce4:    98bfffcc     andi    r2,r19,65535
  807ce8:    18a2b03a     or    r17,r3,r2
  807cec:    8a00062e     bgeu    r17,r8,807d08 &lt;__udivdi3+0x528&gt;
  807cf0:    8ca3883a     add    r17,r17,r18
  807cf4:    213fffc4     addi    r4,r4,-1
  807cf8:    8c800336     bltu    r17,r18,807d08 &lt;__udivdi3+0x528&gt;
  807cfc:    8a00022e     bgeu    r17,r8,807d08 &lt;__udivdi3+0x528&gt;
  807d00:    213fffc4     addi    r4,r4,-1
  807d04:    8ca3883a     add    r17,r17,r18
  807d08:    a004943a     slli    r2,r20,16
  807d0c:    8a27c83a     sub    r19,r17,r8
  807d10:    1128b03a     or    r20,r2,r4
  807d14:    003f3d06     br    807a0c &lt;__udivdi3+0x22c&gt;
  807d18:    a27fab2e     bgeu    r20,r9,807bc8 &lt;__udivdi3+0x3e8&gt;
  807d1c:    a429883a     add    r20,r20,r16
  807d20:    297fffc4     addi    r5,r5,-1
  807d24:    003fa806     br    807bc8 &lt;__udivdi3+0x3e8&gt;
  807d28:    9cffffc4     addi    r19,r19,-1
  807d2c:    8ca3883a     add    r17,r17,r18
  807d30:    003ee606     br    8078cc &lt;__udivdi3+0xec&gt;
  807d34:    9cffffc4     addi    r19,r19,-1
  807d38:    8ca3883a     add    r17,r17,r18
  807d3c:    003f4406     br    807a50 &lt;__udivdi3+0x270&gt;

00807d40 &lt;__umoddi3&gt;:
  807d40:    defff004     addi    sp,sp,-64
  807d44:    df000e15     stw    fp,56(sp)
  807d48:    dc000d15     stw    r16,52(sp)
  807d4c:    dd000915     stw    r20,36(sp)
  807d50:    dd400815     stw    r21,32(sp)
  807d54:    dfc00f15     stw    ra,60(sp)
  807d58:    dc400c15     stw    r17,48(sp)
  807d5c:    dc800b15     stw    r18,44(sp)
  807d60:    dcc00a15     stw    r19,40(sp)
  807d64:    dd800715     stw    r22,28(sp)
  807d68:    ddc00615     stw    r23,24(sp)
  807d6c:    3019883a     mov    r12,r6
  807d70:    3821883a     mov    r16,r7
  807d74:    2829883a     mov    r20,r5
  807d78:    302b883a     mov    r21,r6
  807d7c:    2039883a     mov    fp,r4
  807d80:    38001d1e     bne    r7,zero,807df8 &lt;__umoddi3+0xb8&gt;
  807d84:    2980472e     bgeu    r5,r6,807ea4 &lt;__umoddi3+0x164&gt;
  807d88:    00bfffd4     movui    r2,65535
  807d8c:    1180902e     bgeu    r2,r6,807fd0 &lt;__umoddi3+0x290&gt;
  807d90:    00804034     movhi    r2,256
  807d94:    10bfffc4     addi    r2,r2,-1
  807d98:    01c00404     movi    r7,16
  807d9c:    1180012e     bgeu    r2,r6,807da4 &lt;__umoddi3+0x64&gt;
  807da0:    01c00604     movi    r7,24
  807da4:    61c4d83a     srl    r2,r12,r7
  807da8:    01002074     movhi    r4,129
  807dac:    2133db04     addi    r4,r4,-12436
  807db0:    01400804     movi    r5,32
  807db4:    1105883a     add    r2,r2,r4
  807db8:    10c00003     ldbu    r3,0(r2)
  807dbc:    19c7883a     add    r3,r3,r7
  807dc0:    28c7c83a     sub    r3,r5,r3
  807dc4:    d8c00315     stw    r3,12(sp)
  807dc8:    18000726     beq    r3,zero,807de8 &lt;__umoddi3+0xa8&gt;
  807dcc:    d9000317     ldw    r4,12(sp)
  807dd0:    28c5c83a     sub    r2,r5,r3
  807dd4:    e084d83a     srl    r2,fp,r2
  807dd8:    a0c6983a     sll    r3,r20,r3
  807ddc:    a92a983a     sll    r21,r21,r4
  807de0:    e138983a     sll    fp,fp,r4
  807de4:    18a8b03a     or    r20,r3,r2
  807de8:    a82cd43a     srli    r22,r21,16
  807dec:    a009883a     mov    r4,r20
  807df0:    adffffcc     andi    r23,r21,65535
  807df4:    00003f06     br    807ef4 &lt;__umoddi3+0x1b4&gt;
  807df8:    29c0122e     bgeu    r5,r7,807e44 &lt;__umoddi3+0x104&gt;
  807dfc:    d9000015     stw    r4,0(sp)
  807e00:    d9400115     stw    r5,4(sp)
  807e04:    d9000017     ldw    r4,0(sp)
  807e08:    d9400117     ldw    r5,4(sp)
  807e0c:    2005883a     mov    r2,r4
  807e10:    2807883a     mov    r3,r5
  807e14:    dfc00f17     ldw    ra,60(sp)
  807e18:    df000e17     ldw    fp,56(sp)
  807e1c:    dc000d17     ldw    r16,52(sp)
  807e20:    dc400c17     ldw    r17,48(sp)
  807e24:    dc800b17     ldw    r18,44(sp)
  807e28:    dcc00a17     ldw    r19,40(sp)
  807e2c:    dd000917     ldw    r20,36(sp)
  807e30:    dd400817     ldw    r21,32(sp)
  807e34:    dd800717     ldw    r22,28(sp)
  807e38:    ddc00617     ldw    r23,24(sp)
  807e3c:    dec01004     addi    sp,sp,64
  807e40:    f800283a     ret
  807e44:    00bfffd4     movui    r2,65535
  807e48:    11c05d2e     bgeu    r2,r7,807fc0 &lt;__umoddi3+0x280&gt;
  807e4c:    00804034     movhi    r2,256
  807e50:    10bfffc4     addi    r2,r2,-1
  807e54:    01400404     movi    r5,16
  807e58:    11c0012e     bgeu    r2,r7,807e60 &lt;__umoddi3+0x120&gt;
  807e5c:    01400604     movi    r5,24
  807e60:    8144d83a     srl    r2,r16,r5
  807e64:    01002074     movhi    r4,129
  807e68:    2133db04     addi    r4,r4,-12436
  807e6c:    01800804     movi    r6,32
  807e70:    1105883a     add    r2,r2,r4
  807e74:    10c00003     ldbu    r3,0(r2)
  807e78:    1947883a     add    r3,r3,r5
  807e7c:    30c7c83a     sub    r3,r6,r3
  807e80:    d8c00315     stw    r3,12(sp)
  807e84:    18005c1e     bne    r3,zero,807ff8 &lt;__umoddi3+0x2b8&gt;
  807e88:    85005536     bltu    r16,r20,807fe0 &lt;__umoddi3+0x2a0&gt;
  807e8c:    e540542e     bgeu    fp,r21,807fe0 &lt;__umoddi3+0x2a0&gt;
  807e90:    d83fdc26     beq    sp,zero,807e04 &lt;__umoddi3+0xc4&gt;
  807e94:    e025883a     mov    r18,fp
  807e98:    dd000115     stw    r20,4(sp)
  807e9c:    dc800015     stw    r18,0(sp)
  807ea0:    003fd806     br    807e04 &lt;__umoddi3+0xc4&gt;
  807ea4:    30003a26     beq    r6,zero,807f90 &lt;__umoddi3+0x250&gt;
  807ea8:    00bfffd4     movui    r2,65535
  807eac:    15403e36     bltu    r2,r21,807fa8 &lt;__umoddi3+0x268&gt;
  807eb0:    00803fc4     movi    r2,255
  807eb4:    154b803a     cmpltu    r5,r2,r21
  807eb8:    280a90fa     slli    r5,r5,3
  807ebc:    a944d83a     srl    r2,r21,r5
  807ec0:    01002074     movhi    r4,129
  807ec4:    2133db04     addi    r4,r4,-12436
  807ec8:    01800804     movi    r6,32
  807ecc:    1105883a     add    r2,r2,r4
  807ed0:    10c00003     ldbu    r3,0(r2)
  807ed4:    1947883a     add    r3,r3,r5
  807ed8:    30c7c83a     sub    r3,r6,r3
  807edc:    d8c00315     stw    r3,12(sp)
  807ee0:    1800a41e     bne    r3,zero,808174 &lt;__umoddi3+0x434&gt;
  807ee4:    a82cd43a     srli    r22,r21,16
  807ee8:    a569c83a     sub    r20,r20,r21
  807eec:    adffffcc     andi    r23,r21,65535
  807ef0:    a009883a     mov    r4,r20
  807ef4:    b00b883a     mov    r5,r22
  807ef8:    08092080     call    809208 &lt;__umodsi3&gt;
  807efc:    a009883a     mov    r4,r20
  807f00:    b00b883a     mov    r5,r22
  807f04:    1021883a     mov    r16,r2
  807f08:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807f0c:    e006d43a     srli    r3,fp,16
  807f10:    8008943a     slli    r4,r16,16
  807f14:    15cb383a     mul    r5,r2,r23
  807f18:    20e0b03a     or    r16,r4,r3
  807f1c:    8140042e     bgeu    r16,r5,807f30 &lt;__umoddi3+0x1f0&gt;
  807f20:    8561883a     add    r16,r16,r21
  807f24:    85400236     bltu    r16,r21,807f30 &lt;__umoddi3+0x1f0&gt;
  807f28:    8140012e     bgeu    r16,r5,807f30 &lt;__umoddi3+0x1f0&gt;
  807f2c:    8561883a     add    r16,r16,r21
  807f30:    8161c83a     sub    r16,r16,r5
  807f34:    8009883a     mov    r4,r16
  807f38:    b00b883a     mov    r5,r22
  807f3c:    08092080     call    809208 &lt;__umodsi3&gt;
  807f40:    b00b883a     mov    r5,r22
  807f44:    8009883a     mov    r4,r16
  807f48:    1023883a     mov    r17,r2
  807f4c:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807f50:    8806943a     slli    r3,r17,16
  807f54:    15cb383a     mul    r5,r2,r23
  807f58:    e0bfffcc     andi    r2,fp,65535
  807f5c:    18a2b03a     or    r17,r3,r2
  807f60:    8940042e     bgeu    r17,r5,807f74 &lt;__umoddi3+0x234&gt;
  807f64:    8d63883a     add    r17,r17,r21
  807f68:    8d400236     bltu    r17,r21,807f74 &lt;__umoddi3+0x234&gt;
  807f6c:    8940012e     bgeu    r17,r5,807f74 &lt;__umoddi3+0x234&gt;
  807f70:    8d63883a     add    r17,r17,r21
  807f74:    8979c83a     sub    fp,r17,r5
  807f78:    d83fa226     beq    sp,zero,807e04 &lt;__umoddi3+0xc4&gt;
  807f7c:    d8c00317     ldw    r3,12(sp)
  807f80:    d8000115     stw    zero,4(sp)
  807f84:    e0e4d83a     srl    r18,fp,r3
  807f88:    dc800015     stw    r18,0(sp)
  807f8c:    003f9d06     br    807e04 &lt;__umoddi3+0xc4&gt;
  807f90:    01000044     movi    r4,1
  807f94:    000b883a     mov    r5,zero
  807f98:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  807f9c:    102b883a     mov    r21,r2
  807fa0:    00bfffd4     movui    r2,65535
  807fa4:    157fc22e     bgeu    r2,r21,807eb0 &lt;__umoddi3+0x170&gt;
  807fa8:    00804034     movhi    r2,256
  807fac:    10bfffc4     addi    r2,r2,-1
  807fb0:    01400404     movi    r5,16
  807fb4:    157fc12e     bgeu    r2,r21,807ebc &lt;__umoddi3+0x17c&gt;
  807fb8:    01400604     movi    r5,24
  807fbc:    003fbf06     br    807ebc &lt;__umoddi3+0x17c&gt;
  807fc0:    00803fc4     movi    r2,255
  807fc4:    11cb803a     cmpltu    r5,r2,r7
  807fc8:    280a90fa     slli    r5,r5,3
  807fcc:    003fa406     br    807e60 &lt;__umoddi3+0x120&gt;
  807fd0:    00803fc4     movi    r2,255
  807fd4:    118f803a     cmpltu    r7,r2,r6
  807fd8:    380e90fa     slli    r7,r7,3
  807fdc:    003f7106     br    807da4 &lt;__umoddi3+0x64&gt;
  807fe0:    e549c83a     sub    r4,fp,r21
  807fe4:    e105803a     cmpltu    r2,fp,r4
  807fe8:    a407c83a     sub    r3,r20,r16
  807fec:    18a9c83a     sub    r20,r3,r2
  807ff0:    2039883a     mov    fp,r4
  807ff4:    003fa606     br    807e90 &lt;__umoddi3+0x150&gt;
  807ff8:    d9000317     ldw    r4,12(sp)
  807ffc:    310dc83a     sub    r6,r6,r4
  808000:    a984d83a     srl    r2,r21,r6
  808004:    8106983a     sll    r3,r16,r4
  808008:    d9800215     stw    r6,8(sp)
  80800c:    a1aed83a     srl    r23,r20,r6
  808010:    18a0b03a     or    r16,r3,r2
  808014:    8004d43a     srli    r2,r16,16
  808018:    d8c00217     ldw    r3,8(sp)
  80801c:    a10c983a     sll    r6,r20,r4
  808020:    d8800415     stw    r2,16(sp)
  808024:    d9400417     ldw    r5,16(sp)
  808028:    e0c4d83a     srl    r2,fp,r3
  80802c:    b809883a     mov    r4,r23
  808030:    30a8b03a     or    r20,r6,r2
  808034:    08092080     call    809208 &lt;__umodsi3&gt;
  808038:    d9400417     ldw    r5,16(sp)
  80803c:    b809883a     mov    r4,r23
  808040:    1023883a     mov    r17,r2
  808044:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  808048:    102f883a     mov    r23,r2
  80804c:    813fffcc     andi    r4,r16,65535
  808050:    8806943a     slli    r3,r17,16
  808054:    a004d43a     srli    r2,r20,16
  808058:    d9000515     stw    r4,20(sp)
  80805c:    b90f383a     mul    r7,r23,r4
  808060:    d9000317     ldw    r4,12(sp)
  808064:    18a2b03a     or    r17,r3,r2
  808068:    a92a983a     sll    r21,r21,r4
  80806c:    e138983a     sll    fp,fp,r4
  808070:    89c0062e     bgeu    r17,r7,80808c &lt;__umoddi3+0x34c&gt;
  808074:    8c23883a     add    r17,r17,r16
  808078:    bdffffc4     addi    r23,r23,-1
  80807c:    8c000336     bltu    r17,r16,80808c &lt;__umoddi3+0x34c&gt;
  808080:    89c0022e     bgeu    r17,r7,80808c &lt;__umoddi3+0x34c&gt;
  808084:    bdffffc4     addi    r23,r23,-1
  808088:    8c23883a     add    r17,r17,r16
  80808c:    d9400417     ldw    r5,16(sp)
  808090:    89e3c83a     sub    r17,r17,r7
  808094:    8809883a     mov    r4,r17
  808098:    08092080     call    809208 &lt;__umodsi3&gt;
  80809c:    d9400417     ldw    r5,16(sp)
  8080a0:    8809883a     mov    r4,r17
  8080a4:    102d883a     mov    r22,r2
  8080a8:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  8080ac:    100b883a     mov    r5,r2
  8080b0:    d8800517     ldw    r2,20(sp)
  8080b4:    b006943a     slli    r3,r22,16
  8080b8:    288f383a     mul    r7,r5,r2
  8080bc:    a0bfffcc     andi    r2,r20,65535
  8080c0:    18acb03a     or    r22,r3,r2
  8080c4:    b1c0032e     bgeu    r22,r7,8080d4 &lt;__umoddi3+0x394&gt;
  8080c8:    b42d883a     add    r22,r22,r16
  8080cc:    297fffc4     addi    r5,r5,-1
  8080d0:    b4005e2e     bgeu    r22,r16,80824c &lt;__umoddi3+0x50c&gt;
  8080d4:    b804943a     slli    r2,r23,16
  8080d8:    a93fffcc     andi    r4,r21,65535
  8080dc:    a80cd43a     srli    r6,r21,16
  8080e0:    1144b03a     or    r2,r2,r5
  8080e4:    10ffffcc     andi    r3,r2,65535
  8080e8:    1911383a     mul    r8,r3,r4
  8080ec:    1004d43a     srli    r2,r2,16
  8080f0:    1987383a     mul    r3,r3,r6
  8080f4:    400ad43a     srli    r5,r8,16
  8080f8:    1109383a     mul    r4,r2,r4
  8080fc:    b1edc83a     sub    r22,r22,r7
  808100:    1947883a     add    r3,r3,r5
  808104:    1907883a     add    r3,r3,r4
  808108:    118b383a     mul    r5,r2,r6
  80810c:    b029883a     mov    r20,r22
  808110:    1900032e     bgeu    r3,r4,808120 &lt;__umoddi3+0x3e0&gt;
  808114:    00800074     movhi    r2,1
  808118:    10800004     addi    r2,r2,0
  80811c:    288b883a     add    r5,r5,r2
  808120:    1804d43a     srli    r2,r3,16
  808124:    1808943a     slli    r4,r3,16
  808128:    40ffffcc     andi    r3,r8,65535
  80812c:    1145883a     add    r2,r2,r5
  808130:    20cb883a     add    r5,r4,r3
  808134:    a0803f36     bltu    r20,r2,808234 &lt;__umoddi3+0x4f4&gt;
  808138:    15003d26     beq    r2,r20,808230 &lt;__umoddi3+0x4f0&gt;
  80813c:    d83f3126     beq    sp,zero,807e04 &lt;__umoddi3+0xc4&gt;
  808140:    e147c83a     sub    r3,fp,r5
  808144:    b089c83a     sub    r4,r22,r2
  808148:    e0c5803a     cmpltu    r2,fp,r3
  80814c:    20a9c83a     sub    r20,r4,r2
  808150:    d8800317     ldw    r2,12(sp)
  808154:    d9000217     ldw    r4,8(sp)
  808158:    1886d83a     srl    r3,r3,r2
  80815c:    a10a983a     sll    r5,r20,r4
  808160:    a084d83a     srl    r2,r20,r2
  808164:    28e4b03a     or    r18,r5,r3
  808168:    d8800115     stw    r2,4(sp)
  80816c:    dc800015     stw    r18,0(sp)
  808170:    003f2406     br    807e04 &lt;__umoddi3+0xc4&gt;
  808174:    d8800317     ldw    r2,12(sp)
  808178:    a8aa983a     sll    r21,r21,r2
  80817c:    308dc83a     sub    r6,r6,r2
  808180:    a1aed83a     srl    r23,r20,r6
  808184:    a82cd43a     srli    r22,r21,16
  808188:    e186d83a     srl    r3,fp,r6
  80818c:    a084983a     sll    r2,r20,r2
  808190:    b809883a     mov    r4,r23
  808194:    b00b883a     mov    r5,r22
  808198:    10e8b03a     or    r20,r2,r3
  80819c:    d9800215     stw    r6,8(sp)
  8081a0:    08092080     call    809208 &lt;__umodsi3&gt;
  8081a4:    b809883a     mov    r4,r23
  8081a8:    b00b883a     mov    r5,r22
  8081ac:    1021883a     mov    r16,r2
  8081b0:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  8081b4:    adffffcc     andi    r23,r21,65535
  8081b8:    8008943a     slli    r4,r16,16
  8081bc:    a006d43a     srli    r3,r20,16
  8081c0:    15cf383a     mul    r7,r2,r23
  8081c4:    d8800317     ldw    r2,12(sp)
  8081c8:    20e0b03a     or    r16,r4,r3
  8081cc:    e0b8983a     sll    fp,fp,r2
  8081d0:    81c0042e     bgeu    r16,r7,8081e4 &lt;__umoddi3+0x4a4&gt;
  8081d4:    8561883a     add    r16,r16,r21
  8081d8:    85400236     bltu    r16,r21,8081e4 &lt;__umoddi3+0x4a4&gt;
  8081dc:    81c0012e     bgeu    r16,r7,8081e4 &lt;__umoddi3+0x4a4&gt;
  8081e0:    8561883a     add    r16,r16,r21
  8081e4:    81e1c83a     sub    r16,r16,r7
  8081e8:    8009883a     mov    r4,r16
  8081ec:    b00b883a     mov    r5,r22
  8081f0:    08092080     call    809208 &lt;__umodsi3&gt;
  8081f4:    8009883a     mov    r4,r16
  8081f8:    b00b883a     mov    r5,r22
  8081fc:    1023883a     mov    r17,r2
  808200:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  808204:    8806943a     slli    r3,r17,16
  808208:    15cf383a     mul    r7,r2,r23
  80820c:    a0bfffcc     andi    r2,r20,65535
  808210:    18a2b03a     or    r17,r3,r2
  808214:    89c0042e     bgeu    r17,r7,808228 &lt;__umoddi3+0x4e8&gt;
  808218:    8d63883a     add    r17,r17,r21
  80821c:    8d400236     bltu    r17,r21,808228 &lt;__umoddi3+0x4e8&gt;
  808220:    89c0012e     bgeu    r17,r7,808228 &lt;__umoddi3+0x4e8&gt;
  808224:    8d63883a     add    r17,r17,r21
  808228:    89e9c83a     sub    r20,r17,r7
  80822c:    003f3006     br    807ef0 &lt;__umoddi3+0x1b0&gt;
  808230:    e17fc22e     bgeu    fp,r5,80813c &lt;__umoddi3+0x3fc&gt;
  808234:    2d49c83a     sub    r4,r5,r21
  808238:    1407c83a     sub    r3,r2,r16
  80823c:    2905803a     cmpltu    r2,r5,r4
  808240:    1885c83a     sub    r2,r3,r2
  808244:    200b883a     mov    r5,r4
  808248:    003fbc06     br    80813c &lt;__umoddi3+0x3fc&gt;
  80824c:    b1ffa12e     bgeu    r22,r7,8080d4 &lt;__umoddi3+0x394&gt;
  808250:    297fffc4     addi    r5,r5,-1
  808254:    b42d883a     add    r22,r22,r16
  808258:    003f9e06     br    8080d4 &lt;__umoddi3+0x394&gt;

0080825c &lt;_fpadd_parts&gt;:
  80825c:    defffc04     addi    sp,sp,-16
  808260:    dc000215     stw    r16,8(sp)
  808264:    dfc00315     stw    ra,12(sp)
  808268:    dc400115     stw    r17,4(sp)
  80826c:    dc800015     stw    r18,0(sp)
  808270:    20c00017     ldw    r3,0(r4)
  808274:    00800044     movi    r2,1
  808278:    3021883a     mov    r16,r6
  80827c:    2019883a     mov    r12,r4
  808280:    281b883a     mov    r13,r5
  808284:    200d883a     mov    r6,r4
  808288:    10c05d2e     bgeu    r2,r3,808400 &lt;_fpadd_parts+0x1a4&gt;
  80828c:    29000017     ldw    r4,0(r5)
  808290:    280d883a     mov    r6,r5
  808294:    11005a2e     bgeu    r2,r4,808400 &lt;_fpadd_parts+0x1a4&gt;
  808298:    18800118     cmpnei    r2,r3,4
  80829c:    10005f26     beq    r2,zero,80841c &lt;_fpadd_parts+0x1c0&gt;
  8082a0:    20800118     cmpnei    r2,r4,4
  8082a4:    280d883a     mov    r6,r5
  8082a8:    10005526     beq    r2,zero,808400 &lt;_fpadd_parts+0x1a4&gt;
  8082ac:    20800098     cmpnei    r2,r4,2
  8082b0:    10008026     beq    r2,zero,8084b4 &lt;_fpadd_parts+0x258&gt;
  8082b4:    18800098     cmpnei    r2,r3,2
  8082b8:    280d883a     mov    r6,r5
  8082bc:    10005026     beq    r2,zero,808400 &lt;_fpadd_parts+0x1a4&gt;
  8082c0:    63c00217     ldw    r15,8(r12)
  8082c4:    2b800217     ldw    r14,8(r5)
  8082c8:    62800317     ldw    r10,12(r12)
  8082cc:    2a000317     ldw    r8,12(r5)
  8082d0:    7b87c83a     sub    r3,r15,r14
  8082d4:    62c00417     ldw    r11,16(r12)
  8082d8:    2a400417     ldw    r9,16(r5)
  8082dc:    18009c16     blt    r3,zero,808550 &lt;_fpadd_parts+0x2f4&gt;
  8082e0:    00800fc4     movi    r2,63
  8082e4:    10c0500e     bge    r2,r3,808428 &lt;_fpadd_parts+0x1cc&gt;
  8082e8:    73c0950e     bge    r14,r15,808540 &lt;_fpadd_parts+0x2e4&gt;
  8082ec:    0011883a     mov    r8,zero
  8082f0:    0013883a     mov    r9,zero
  8082f4:    61400117     ldw    r5,4(r12)
  8082f8:    68800117     ldw    r2,4(r13)
  8082fc:    28808626     beq    r5,r2,808518 &lt;_fpadd_parts+0x2bc&gt;
  808300:    28008126     beq    r5,zero,808508 &lt;_fpadd_parts+0x2ac&gt;
  808304:    4285c83a     sub    r2,r8,r10
  808308:    4089803a     cmpltu    r4,r8,r2
  80830c:    4ac7c83a     sub    r3,r9,r11
  808310:    1909c83a     sub    r4,r3,r4
  808314:    100d883a     mov    r6,r2
  808318:    20008f16     blt    r4,zero,808558 &lt;_fpadd_parts+0x2fc&gt;
  80831c:    7823883a     mov    r17,r15
  808320:    781d883a     mov    r14,r15
  808324:    81000415     stw    r4,16(r16)
  808328:    80000115     stw    zero,4(r16)
  80832c:    80800315     stw    r2,12(r16)
  808330:    80800317     ldw    r2,12(r16)
  808334:    80c00417     ldw    r3,16(r16)
  808338:    013fffc4     movi    r4,-1
  80833c:    110f883a     add    r7,r2,r4
  808340:    388d803a     cmpltu    r6,r7,r2
  808344:    1911883a     add    r8,r3,r4
  808348:    02440034     movhi    r9,4096
  80834c:    4a7fffc4     addi    r9,r9,-1
  808350:    3211883a     add    r8,r6,r8
  808354:    4a001536     bltu    r9,r8,8083ac &lt;_fpadd_parts+0x150&gt;
  808358:    42408926     beq    r8,r9,808580 &lt;_fpadd_parts+0x324&gt;
  80835c:    481f883a     mov    r15,r9
  808360:    04bfff84     movi    r18,-2
  808364:    80800317     ldw    r2,12(r16)
  808368:    80c00417     ldw    r3,16(r16)
  80836c:    013fffc4     movi    r4,-1
  808370:    1091883a     add    r8,r2,r2
  808374:    1016d7fa     srli    r11,r2,31
  808378:    18d5883a     add    r10,r3,r3
  80837c:    4119883a     add    r12,r8,r4
  808380:    6205803a     cmpltu    r2,r12,r8
  808384:    5a92b03a     or    r9,r11,r10
  808388:    491b883a     add    r13,r9,r4
  80838c:    7123883a     add    r17,r14,r4
  808390:    135b883a     add    r13,r2,r13
  808394:    881d883a     mov    r14,r17
  808398:    82000315     stw    r8,12(r16)
  80839c:    82400415     stw    r9,16(r16)
  8083a0:    7b400236     bltu    r15,r13,8083ac &lt;_fpadd_parts+0x150&gt;
  8083a4:    7b7fef1e     bne    r15,r13,808364 &lt;_fpadd_parts+0x108&gt;
  8083a8:    933fee2e     bgeu    r18,r12,808364 &lt;_fpadd_parts+0x108&gt;
  8083ac:    83400417     ldw    r13,16(r16)
  8083b0:    008000c4     movi    r2,3
  8083b4:    00c80034     movhi    r3,8192
  8083b8:    18ffffc4     addi    r3,r3,-1
  8083bc:    83000317     ldw    r12,12(r16)
  8083c0:    80800015     stw    r2,0(r16)
  8083c4:    1b404d2e     bgeu    r3,r13,8084fc &lt;_fpadd_parts+0x2a0&gt;
  8083c8:    01800044     movi    r6,1
  8083cc:    6184d83a     srl    r2,r12,r6
  8083d0:    680697fa     slli    r3,r13,31
  8083d4:    6992d83a     srl    r9,r13,r6
  8083d8:    1890b03a     or    r8,r3,r2
  8083dc:    6184703a     and    r2,r12,r6
  8083e0:    0007883a     mov    r3,zero
  8083e4:    718d883a     add    r6,r14,r6
  8083e8:    1208b03a     or    r4,r2,r8
  8083ec:    1a4ab03a     or    r5,r3,r9
  8083f0:    81800215     stw    r6,8(r16)
  8083f4:    81400415     stw    r5,16(r16)
  8083f8:    81000315     stw    r4,12(r16)
  8083fc:    800d883a     mov    r6,r16
  808400:    3005883a     mov    r2,r6
  808404:    dfc00317     ldw    ra,12(sp)
  808408:    dc000217     ldw    r16,8(sp)
  80840c:    dc400117     ldw    r17,4(sp)
  808410:    dc800017     ldw    r18,0(sp)
  808414:    dec00404     addi    sp,sp,16
  808418:    f800283a     ret
  80841c:    20c01f26     beq    r4,r3,80849c &lt;_fpadd_parts+0x240&gt;
  808420:    600d883a     mov    r6,r12
  808424:    003ff606     br    808400 &lt;_fpadd_parts+0x1a4&gt;
  808428:    73c00d0e     bge    r14,r15,808460 &lt;_fpadd_parts+0x204&gt;
  80842c:    7b9dc83a     sub    r14,r15,r14
  808430:    480697fa     slli    r3,r9,31
  808434:    4004d07a     srli    r2,r8,1
  808438:    01000044     movi    r4,1
  80843c:    490ed83a     srl    r7,r9,r4
  808440:    188cb03a     or    r6,r3,r2
  808444:    73bfffc4     addi    r14,r14,-1
  808448:    4104703a     and    r2,r8,r4
  80844c:    0007883a     mov    r3,zero
  808450:    1190b03a     or    r8,r2,r6
  808454:    19d2b03a     or    r9,r3,r7
  808458:    703ff51e     bne    r14,zero,808430 &lt;_fpadd_parts+0x1d4&gt;
  80845c:    781d883a     mov    r14,r15
  808460:    7bbfa40e     bge    r15,r14,8082f4 &lt;_fpadd_parts+0x98&gt;
  808464:    73dfc83a     sub    r15,r14,r15
  808468:    580697fa     slli    r3,r11,31
  80846c:    5004d07a     srli    r2,r10,1
  808470:    01000044     movi    r4,1
  808474:    590ed83a     srl    r7,r11,r4
  808478:    188cb03a     or    r6,r3,r2
  80847c:    7bffffc4     addi    r15,r15,-1
  808480:    5104703a     and    r2,r10,r4
  808484:    0007883a     mov    r3,zero
  808488:    1194b03a     or    r10,r2,r6
  80848c:    19d6b03a     or    r11,r3,r7
  808490:    783ff51e     bne    r15,zero,808468 &lt;_fpadd_parts+0x20c&gt;
  808494:    701f883a     mov    r15,r14
  808498:    003f9606     br    8082f4 &lt;_fpadd_parts+0x98&gt;
  80849c:    28c00117     ldw    r3,4(r5)
  8084a0:    60800117     ldw    r2,4(r12)
  8084a4:    01802074     movhi    r6,129
  8084a8:    31b3d604     addi    r6,r6,-12456
  8084ac:    10ffd41e     bne    r2,r3,808400 &lt;_fpadd_parts+0x1a4&gt;
  8084b0:    003fdb06     br    808420 &lt;_fpadd_parts+0x1c4&gt;
  8084b4:    600d883a     mov    r6,r12
  8084b8:    193fd11e     bne    r3,r4,808400 &lt;_fpadd_parts+0x1a4&gt;
  8084bc:    60800017     ldw    r2,0(r12)
  8084c0:    60c00117     ldw    r3,4(r12)
  8084c4:    61000217     ldw    r4,8(r12)
  8084c8:    80800015     stw    r2,0(r16)
  8084cc:    60800317     ldw    r2,12(r12)
  8084d0:    80c00115     stw    r3,4(r16)
  8084d4:    60c00417     ldw    r3,16(r12)
  8084d8:    81000215     stw    r4,8(r16)
  8084dc:    80800315     stw    r2,12(r16)
  8084e0:    80c00415     stw    r3,16(r16)
  8084e4:    60800117     ldw    r2,4(r12)
  8084e8:    28c00117     ldw    r3,4(r5)
  8084ec:    800d883a     mov    r6,r16
  8084f0:    10c4703a     and    r2,r2,r3
  8084f4:    80800115     stw    r2,4(r16)
  8084f8:    003fc106     br    808400 &lt;_fpadd_parts+0x1a4&gt;
  8084fc:    800d883a     mov    r6,r16
  808500:    84400215     stw    r17,8(r16)
  808504:    003fbe06     br    808400 &lt;_fpadd_parts+0x1a4&gt;
  808508:    5205c83a     sub    r2,r10,r8
  80850c:    5089803a     cmpltu    r4,r10,r2
  808510:    5a47c83a     sub    r3,r11,r9
  808514:    003f7e06     br    808310 &lt;_fpadd_parts+0xb4&gt;
  808518:    5205883a     add    r2,r10,r8
  80851c:    1289803a     cmpltu    r4,r2,r10
  808520:    5a47883a     add    r3,r11,r9
  808524:    20c9883a     add    r4,r4,r3
  808528:    7823883a     mov    r17,r15
  80852c:    781d883a     mov    r14,r15
  808530:    81400115     stw    r5,4(r16)
  808534:    80800315     stw    r2,12(r16)
  808538:    81000415     stw    r4,16(r16)
  80853c:    003f9b06     br    8083ac &lt;_fpadd_parts+0x150&gt;
  808540:    0015883a     mov    r10,zero
  808544:    701f883a     mov    r15,r14
  808548:    0017883a     mov    r11,zero
  80854c:    003f6906     br    8082f4 &lt;_fpadd_parts+0x98&gt;
  808550:    00c7c83a     sub    r3,zero,r3
  808554:    003f6206     br    8082e0 &lt;_fpadd_parts+0x84&gt;
  808558:    00800044     movi    r2,1
  80855c:    200b883a     mov    r5,r4
  808560:    80800115     stw    r2,4(r16)
  808564:    3009883a     mov    r4,r6
  808568:    7823883a     mov    r17,r15
  80856c:    08077c00     call    8077c0 &lt;__negdi2&gt;
  808570:    881d883a     mov    r14,r17
  808574:    80c00415     stw    r3,16(r16)
  808578:    80800315     stw    r2,12(r16)
  80857c:    003f6c06     br    808330 &lt;_fpadd_parts+0xd4&gt;
  808580:    00bfff84     movi    r2,-2
  808584:    11ff752e     bgeu    r2,r7,80835c &lt;_fpadd_parts+0x100&gt;
  808588:    003f8806     br    8083ac &lt;_fpadd_parts+0x150&gt;

0080858c &lt;__adddf3&gt;:
  80858c:    deffeb04     addi    sp,sp,-84
  808590:    2011883a     mov    r8,r4
  808594:    dc401315     stw    r17,76(sp)
  808598:    d9401015     stw    r5,64(sp)
  80859c:    d9000f04     addi    r4,sp,60
  8085a0:    d80b883a     mov    r5,sp
  8085a4:    dc400504     addi    r17,sp,20
  8085a8:    dfc01415     stw    ra,80(sp)
  8085ac:    d9c01215     stw    r7,72(sp)
  8085b0:    da000f15     stw    r8,60(sp)
  8085b4:    d9801115     stw    r6,68(sp)
  8085b8:    08095900     call    809590 &lt;__unpack_d&gt;
  8085bc:    d9001104     addi    r4,sp,68
  8085c0:    880b883a     mov    r5,r17
  8085c4:    08095900     call    809590 &lt;__unpack_d&gt;
  8085c8:    d9800a04     addi    r6,sp,40
  8085cc:    d809883a     mov    r4,sp
  8085d0:    880b883a     mov    r5,r17
  8085d4:    080825c0     call    80825c &lt;_fpadd_parts&gt;
  8085d8:    1009883a     mov    r4,r2
  8085dc:    08092f80     call    8092f8 &lt;__pack_d&gt;
  8085e0:    1009883a     mov    r4,r2
  8085e4:    2005883a     mov    r2,r4
  8085e8:    dfc01417     ldw    ra,80(sp)
  8085ec:    dc401317     ldw    r17,76(sp)
  8085f0:    dec01504     addi    sp,sp,84
  8085f4:    f800283a     ret

008085f8 &lt;__subdf3&gt;:
  8085f8:    deffeb04     addi    sp,sp,-84
  8085fc:    2011883a     mov    r8,r4
  808600:    dc401315     stw    r17,76(sp)
  808604:    d9401015     stw    r5,64(sp)
  808608:    d9000f04     addi    r4,sp,60
  80860c:    d80b883a     mov    r5,sp
  808610:    dc400504     addi    r17,sp,20
  808614:    dfc01415     stw    ra,80(sp)
  808618:    d9c01215     stw    r7,72(sp)
  80861c:    da000f15     stw    r8,60(sp)
  808620:    d9801115     stw    r6,68(sp)
  808624:    08095900     call    809590 &lt;__unpack_d&gt;
  808628:    d9001104     addi    r4,sp,68
  80862c:    880b883a     mov    r5,r17
  808630:    08095900     call    809590 &lt;__unpack_d&gt;
  808634:    d8800617     ldw    r2,24(sp)
  808638:    880b883a     mov    r5,r17
  80863c:    d809883a     mov    r4,sp
  808640:    d9800a04     addi    r6,sp,40
  808644:    1080005c     xori    r2,r2,1
  808648:    d8800615     stw    r2,24(sp)
  80864c:    080825c0     call    80825c &lt;_fpadd_parts&gt;
  808650:    1009883a     mov    r4,r2
  808654:    08092f80     call    8092f8 &lt;__pack_d&gt;
  808658:    1009883a     mov    r4,r2
  80865c:    2005883a     mov    r2,r4
  808660:    dfc01417     ldw    ra,80(sp)
  808664:    dc401317     ldw    r17,76(sp)
  808668:    dec01504     addi    sp,sp,84
  80866c:    f800283a     ret

00808670 &lt;__muldf3&gt;:
  808670:    deffe004     addi    sp,sp,-128
  808674:    2011883a     mov    r8,r4
  808678:    df001e15     stw    fp,120(sp)
  80867c:    d9401015     stw    r5,64(sp)
  808680:    d9000f04     addi    r4,sp,60
  808684:    d80b883a     mov    r5,sp
  808688:    df000504     addi    fp,sp,20
  80868c:    dfc01f15     stw    ra,124(sp)
  808690:    ddc01715     stw    r23,92(sp)
  808694:    d9c01215     stw    r7,72(sp)
  808698:    da000f15     stw    r8,60(sp)
  80869c:    d9801115     stw    r6,68(sp)
  8086a0:    dc001d15     stw    r16,116(sp)
  8086a4:    dc401c15     stw    r17,112(sp)
  8086a8:    dc801b15     stw    r18,108(sp)
  8086ac:    dcc01a15     stw    r19,104(sp)
  8086b0:    dd001915     stw    r20,100(sp)
  8086b4:    dd401815     stw    r21,96(sp)
  8086b8:    08095900     call    809590 &lt;__unpack_d&gt;
  8086bc:    d9001104     addi    r4,sp,68
  8086c0:    e00b883a     mov    r5,fp
  8086c4:    08095900     call    809590 &lt;__unpack_d&gt;
  8086c8:    d8c00017     ldw    r3,0(sp)
  8086cc:    05c00044     movi    r23,1
  8086d0:    b8c00e2e     bgeu    r23,r3,80870c &lt;__muldf3+0x9c&gt;
  8086d4:    e1000017     ldw    r4,0(fp)
  8086d8:    b9000636     bltu    r23,r4,8086f4 &lt;__muldf3+0x84&gt;
  8086dc:    d8c00617     ldw    r3,24(sp)
  8086e0:    d8800117     ldw    r2,4(sp)
  8086e4:    e009883a     mov    r4,fp
  8086e8:    10c4c03a     cmpne    r2,r2,r3
  8086ec:    d8800615     stw    r2,24(sp)
  8086f0:    00000b06     br    808720 &lt;__muldf3+0xb0&gt;
  8086f4:    18800118     cmpnei    r2,r3,4
  8086f8:    1000171e     bne    r2,zero,808758 &lt;__muldf3+0xe8&gt;
  8086fc:    20800098     cmpnei    r2,r4,2
  808700:    01002074     movhi    r4,129
  808704:    2133d604     addi    r4,r4,-12456
  808708:    10000526     beq    r2,zero,808720 &lt;__muldf3+0xb0&gt;
  80870c:    d8800117     ldw    r2,4(sp)
  808710:    d8c00617     ldw    r3,24(sp)
  808714:    d809883a     mov    r4,sp
  808718:    10c4c03a     cmpne    r2,r2,r3
  80871c:    d8800115     stw    r2,4(sp)
  808720:    08092f80     call    8092f8 &lt;__pack_d&gt;
  808724:    1009883a     mov    r4,r2
  808728:    2005883a     mov    r2,r4
  80872c:    dfc01f17     ldw    ra,124(sp)
  808730:    df001e17     ldw    fp,120(sp)
  808734:    dc001d17     ldw    r16,116(sp)
  808738:    dc401c17     ldw    r17,112(sp)
  80873c:    dc801b17     ldw    r18,108(sp)
  808740:    dcc01a17     ldw    r19,104(sp)
  808744:    dd001917     ldw    r20,100(sp)
  808748:    dd401817     ldw    r21,96(sp)
  80874c:    ddc01717     ldw    r23,92(sp)
  808750:    dec02004     addi    sp,sp,128
  808754:    f800283a     ret
  808758:    20800118     cmpnei    r2,r4,4
  80875c:    10009a26     beq    r2,zero,8089c8 &lt;__muldf3+0x358&gt;
  808760:    18800098     cmpnei    r2,r3,2
  808764:    103fe926     beq    r2,zero,80870c &lt;__muldf3+0x9c&gt;
  808768:    20800098     cmpnei    r2,r4,2
  80876c:    103fdb26     beq    r2,zero,8086dc &lt;__muldf3+0x6c&gt;
  808770:    dc000317     ldw    r16,12(sp)
  808774:    dc800817     ldw    r18,32(sp)
  808778:    0013883a     mov    r9,zero
  80877c:    0007883a     mov    r3,zero
  808780:    dcc00917     ldw    r19,36(sp)
  808784:    480f883a     mov    r7,r9
  808788:    9009883a     mov    r4,r18
  80878c:    800d883a     mov    r6,r16
  808790:    180b883a     mov    r5,r3
  808794:    08092180     call    809218 &lt;__muldi3&gt;
  808798:    dc400417     ldw    r17,16(sp)
  80879c:    0013883a     mov    r9,zero
  8087a0:    0017883a     mov    r11,zero
  8087a4:    480b883a     mov    r5,r9
  8087a8:    580f883a     mov    r7,r11
  8087ac:    9809883a     mov    r4,r19
  8087b0:    800d883a     mov    r6,r16
  8087b4:    dc401315     stw    r17,76(sp)
  8087b8:    d8801515     stw    r2,84(sp)
  8087bc:    d8c01615     stw    r3,88(sp)
  8087c0:    08092180     call    809218 &lt;__muldi3&gt;
  8087c4:    d9401317     ldw    r5,76(sp)
  8087c8:    0017883a     mov    r11,zero
  8087cc:    0013883a     mov    r9,zero
  8087d0:    2811883a     mov    r8,r5
  8087d4:    0009883a     mov    r4,zero
  8087d8:    580b883a     mov    r5,r11
  8087dc:    400d883a     mov    r6,r8
  8087e0:    480f883a     mov    r7,r9
  8087e4:    d9001415     stw    r4,80(sp)
  8087e8:    9009883a     mov    r4,r18
  8087ec:    9829883a     mov    r20,r19
  8087f0:    1025883a     mov    r18,r2
  8087f4:    1827883a     mov    r19,r3
  8087f8:    08092180     call    809218 &lt;__muldi3&gt;
  8087fc:    d9801317     ldw    r6,76(sp)
  808800:    1009883a     mov    r4,r2
  808804:    180b883a     mov    r5,r3
  808808:    0013883a     mov    r9,zero
  80880c:    0007883a     mov    r3,zero
  808810:    2021883a     mov    r16,r4
  808814:    2823883a     mov    r17,r5
  808818:    a009883a     mov    r4,r20
  80881c:    480b883a     mov    r5,r9
  808820:    180f883a     mov    r7,r3
  808824:    08092180     call    809218 &lt;__muldi3&gt;
  808828:    9409883a     add    r4,r18,r16
  80882c:    2491803a     cmpltu    r8,r4,r18
  808830:    9c4b883a     add    r5,r19,r17
  808834:    4151883a     add    r8,r8,r5
  808838:    2013883a     mov    r9,r4
  80883c:    4015883a     mov    r10,r8
  808840:    101f883a     mov    r15,r2
  808844:    0017883a     mov    r11,zero
  808848:    1821883a     mov    r16,r3
  80884c:    0019883a     mov    r12,zero
  808850:    44c0622e     bgeu    r8,r19,8089dc &lt;__muldf3+0x36c&gt;
  808854:    0005883a     mov    r2,zero
  808858:    5889883a     add    r4,r11,r2
  80885c:    22cd803a     cmpltu    r6,r4,r11
  808860:    35cd883a     add    r6,r6,r23
  808864:    2017883a     mov    r11,r4
  808868:    3019883a     mov    r12,r6
  80886c:    d9001517     ldw    r4,84(sp)
  808870:    d9801617     ldw    r6,88(sp)
  808874:    0025883a     mov    r18,zero
  808878:    2485883a     add    r2,r4,r18
  80887c:    200b883a     mov    r5,r4
  808880:    3247883a     add    r3,r6,r9
  808884:    1109803a     cmpltu    r4,r2,r4
  808888:    20c9883a     add    r4,r4,r3
  80888c:    101b883a     mov    r13,r2
  808890:    201d883a     mov    r14,r4
  808894:    21806136     bltu    r4,r6,808a1c &lt;__muldf3+0x3ac&gt;
  808898:    33805f26     beq    r6,r14,808a18 &lt;__muldf3+0x3a8&gt;
  80889c:    53c5883a     add    r2,r10,r15
  8088a0:    000b883a     mov    r5,zero
  8088a4:    128d803a     cmpltu    r6,r2,r10
  8088a8:    2c07883a     add    r3,r5,r16
  8088ac:    5889883a     add    r4,r11,r2
  8088b0:    30c7883a     add    r3,r6,r3
  8088b4:    d8800217     ldw    r2,8(sp)
  8088b8:    e1c00217     ldw    r7,8(fp)
  8088bc:    60cb883a     add    r5,r12,r3
  8088c0:    e2000117     ldw    r8,4(fp)
  8088c4:    d8c00117     ldw    r3,4(sp)
  8088c8:    22cd803a     cmpltu    r6,r4,r11
  8088cc:    11c5883a     add    r2,r2,r7
  8088d0:    15000104     addi    r20,r2,4
  8088d4:    314d883a     add    r6,r6,r5
  8088d8:    1a06c03a     cmpne    r3,r3,r8
  8088dc:    00880034     movhi    r2,8192
  8088e0:    10bfffc4     addi    r2,r2,-1
  8088e4:    2013883a     mov    r9,r4
  8088e8:    3015883a     mov    r10,r6
  8088ec:    6817883a     mov    r11,r13
  8088f0:    d8c00b15     stw    r3,44(sp)
  8088f4:    7019883a     mov    r12,r14
  8088f8:    a027883a     mov    r19,r20
  8088fc:    1180182e     bgeu    r2,r6,808960 &lt;__muldf3+0x2f0&gt;
  808900:    1011883a     mov    r8,r2
  808904:    5804d07a     srli    r2,r11,1
  808908:    600697fa     slli    r3,r12,31
  80890c:    4808d07a     srli    r4,r9,1
  808910:    500a97fa     slli    r5,r10,31
  808914:    500ed07a     srli    r7,r10,1
  808918:    189eb03a     or    r15,r3,r2
  80891c:    00800044     movi    r2,1
  808920:    290cb03a     or    r6,r5,r4
  808924:    a0a9883a     add    r20,r20,r2
  808928:    4888703a     and    r4,r9,r2
  80892c:    6020d07a     srli    r16,r12,1
  808930:    001b883a     mov    r13,zero
  808934:    03a00034     movhi    r14,32768
  808938:    73800004     addi    r14,r14,0
  80893c:    3013883a     mov    r9,r6
  808940:    3815883a     mov    r10,r7
  808944:    a027883a     mov    r19,r20
  808948:    20000426     beq    r4,zero,80895c &lt;__muldf3+0x2ec&gt;
  80894c:    7b62b03a     or    r17,r15,r13
  808950:    83a4b03a     or    r18,r16,r14
  808954:    8817883a     mov    r11,r17
  808958:    9019883a     mov    r12,r18
  80895c:    42bfe936     bltu    r8,r10,808904 &lt;__muldf3+0x294&gt;
  808960:    00840034     movhi    r2,4096
  808964:    10bfffc4     addi    r2,r2,-1
  808968:    12801f36     bltu    r2,r10,8089e8 &lt;__muldf3+0x378&gt;
  80896c:    101f883a     mov    r15,r2
  808970:    00000306     br    808980 &lt;__muldf3+0x310&gt;
  808974:    6817883a     mov    r11,r13
  808978:    7019883a     mov    r12,r14
  80897c:    7a801a36     bltu    r15,r10,8089e8 &lt;__muldf3+0x378&gt;
  808980:    5806d7fa     srli    r3,r11,31
  808984:    6305883a     add    r2,r12,r12
  808988:    480ed7fa     srli    r7,r9,31
  80898c:    528d883a     add    r6,r10,r10
  808990:    01000044     movi    r4,1
  808994:    189cb03a     or    r14,r3,r2
  808998:    4904983a     sll    r2,r9,r4
  80899c:    3986b03a     or    r3,r7,r6
  8089a0:    99bfffc4     addi    r6,r19,-1
  8089a4:    5adb883a     add    r13,r11,r11
  8089a8:    3027883a     mov    r19,r6
  8089ac:    1013883a     mov    r9,r2
  8089b0:    1815883a     mov    r10,r3
  8089b4:    110eb03a     or    r7,r2,r4
  8089b8:    3029883a     mov    r20,r6
  8089bc:    603fed0e     bge    r12,zero,808974 &lt;__muldf3+0x304&gt;
  8089c0:    3813883a     mov    r9,r7
  8089c4:    003feb06     br    808974 &lt;__muldf3+0x304&gt;
  8089c8:    18800098     cmpnei    r2,r3,2
  8089cc:    01002074     movhi    r4,129
  8089d0:    2133d604     addi    r4,r4,-12456
  8089d4:    103f411e     bne    r2,zero,8086dc &lt;__muldf3+0x6c&gt;
  8089d8:    003f5106     br    808720 &lt;__muldf3+0xb0&gt;
  8089dc:    9a3fa31e     bne    r19,r8,80886c &lt;__muldf3+0x1fc&gt;
  8089e0:    24bfa22e     bgeu    r4,r18,80886c &lt;__muldf3+0x1fc&gt;
  8089e4:    003f9b06     br    808854 &lt;__muldf3+0x1e4&gt;
  8089e8:    00803fc4     movi    r2,255
  8089ec:    488c703a     and    r6,r9,r2
  8089f0:    00802004     movi    r2,128
  8089f4:    000f883a     mov    r7,zero
  8089f8:    dd000c15     stw    r20,48(sp)
  8089fc:    30800e26     beq    r6,r2,808a38 &lt;__muldf3+0x3c8&gt;
  808a00:    008000c4     movi    r2,3
  808a04:    d9000a04     addi    r4,sp,40
  808a08:    da800e15     stw    r10,56(sp)
  808a0c:    d8800a15     stw    r2,40(sp)
  808a10:    da400d15     stw    r9,52(sp)
  808a14:    003f4206     br    808720 &lt;__muldf3+0xb0&gt;
  808a18:    697fa02e     bgeu    r13,r5,80889c &lt;__muldf3+0x22c&gt;
  808a1c:    00800044     movi    r2,1
  808a20:    5889883a     add    r4,r11,r2
  808a24:    22cd803a     cmpltu    r6,r4,r11
  808a28:    330d883a     add    r6,r6,r12
  808a2c:    2017883a     mov    r11,r4
  808a30:    3019883a     mov    r12,r6
  808a34:    003f9906     br    80889c &lt;__muldf3+0x22c&gt;
  808a38:    383ff11e     bne    r7,zero,808a00 &lt;__muldf3+0x390&gt;
  808a3c:    500a963a     slli    r5,r10,24
  808a40:    4808d23a     srli    r4,r9,8
  808a44:    2904b03a     or    r2,r5,r4
  808a48:    1080004c     andi    r2,r2,1
  808a4c:    1000021e     bne    r2,zero,808a58 &lt;__muldf3+0x3e8&gt;
  808a50:    5b04b03a     or    r2,r11,r12
  808a54:    103fea26     beq    r2,zero,808a00 &lt;__muldf3+0x390&gt;
  808a58:    4989883a     add    r4,r9,r6
  808a5c:    224d803a     cmpltu    r6,r4,r9
  808a60:    328d883a     add    r6,r6,r10
  808a64:    2013883a     mov    r9,r4
  808a68:    3015883a     mov    r10,r6
  808a6c:    003fe406     br    808a00 &lt;__muldf3+0x390&gt;

00808a70 &lt;__divdf3&gt;:
  808a70:    deffea04     addi    sp,sp,-88
  808a74:    2011883a     mov    r8,r4
  808a78:    dc001415     stw    r16,80(sp)
  808a7c:    d9400b15     stw    r5,44(sp)
  808a80:    d9000a04     addi    r4,sp,40
  808a84:    d80b883a     mov    r5,sp
  808a88:    dc000504     addi    r16,sp,20
  808a8c:    dfc01515     stw    ra,84(sp)
  808a90:    d9c00d15     stw    r7,52(sp)
  808a94:    da000a15     stw    r8,40(sp)
  808a98:    d9800c15     stw    r6,48(sp)
  808a9c:    dc401315     stw    r17,76(sp)
  808aa0:    dc801215     stw    r18,72(sp)
  808aa4:    dcc01115     stw    r19,68(sp)
  808aa8:    dd001015     stw    r20,64(sp)
  808aac:    dd400f15     stw    r21,60(sp)
  808ab0:    dd800e15     stw    r22,56(sp)
  808ab4:    08095900     call    809590 &lt;__unpack_d&gt;
  808ab8:    d9000c04     addi    r4,sp,48
  808abc:    800b883a     mov    r5,r16
  808ac0:    08095900     call    809590 &lt;__unpack_d&gt;
  808ac4:    d9400017     ldw    r5,0(sp)
  808ac8:    00800044     movi    r2,1
  808acc:    d83f883a     mov    ra,sp
  808ad0:    d809883a     mov    r4,sp
  808ad4:    11404b2e     bgeu    r2,r5,808c04 &lt;__divdf3+0x194&gt;
  808ad8:    81800017     ldw    r6,0(r16)
  808adc:    8009883a     mov    r4,r16
  808ae0:    1180482e     bgeu    r2,r6,808c04 &lt;__divdf3+0x194&gt;
  808ae4:    d8c00117     ldw    r3,4(sp)
  808ae8:    d9000617     ldw    r4,24(sp)
  808aec:    28800120     cmpeqi    r2,r5,4
  808af0:    1906f03a     xor    r3,r3,r4
  808af4:    d8c00115     stw    r3,4(sp)
  808af8:    10004f1e     bne    r2,zero,808c38 &lt;__divdf3+0x1c8&gt;
  808afc:    288000a0     cmpeqi    r2,r5,2
  808b00:    10004d1e     bne    r2,zero,808c38 &lt;__divdf3+0x1c8&gt;
  808b04:    30800118     cmpnei    r2,r6,4
  808b08:    10005626     beq    r2,zero,808c64 &lt;__divdf3+0x1f4&gt;
  808b0c:    30800098     cmpnei    r2,r6,2
  808b10:    10005926     beq    r2,zero,808c78 &lt;__divdf3+0x208&gt;
  808b14:    d8c00217     ldw    r3,8(sp)
  808b18:    d8800717     ldw    r2,28(sp)
  808b1c:    da000417     ldw    r8,16(sp)
  808b20:    dd800917     ldw    r22,36(sp)
  808b24:    d9c00317     ldw    r7,12(sp)
  808b28:    dd400817     ldw    r21,32(sp)
  808b2c:    1893c83a     sub    r9,r3,r2
  808b30:    4580462e     bgeu    r8,r22,808c4c &lt;__divdf3+0x1dc&gt;
  808b34:    39c5883a     add    r2,r7,r7
  808b38:    11cd803a     cmpltu    r6,r2,r7
  808b3c:    4207883a     add    r3,r8,r8
  808b40:    30cd883a     add    r6,r6,r3
  808b44:    493fffc4     addi    r4,r9,-1
  808b48:    100f883a     mov    r7,r2
  808b4c:    3011883a     mov    r8,r6
  808b50:    d9000215     stw    r4,8(sp)
  808b54:    0009883a     mov    r4,zero
  808b58:    01440034     movhi    r5,4096
  808b5c:    29400004     addi    r5,r5,0
  808b60:    2144b03a     or    r2,r4,r5
  808b64:    0027883a     mov    r19,zero
  808b68:    0029883a     mov    r20,zero
  808b6c:    1000111e     bne    r2,zero,808bb4 &lt;__divdf3+0x144&gt;
  808b70:    00001c06     br    808be4 &lt;__divdf3+0x174&gt;
  808b74:    6827883a     mov    r19,r13
  808b78:    7029883a     mov    r20,r14
  808b7c:    580f883a     mov    r7,r11
  808b80:    1011883a     mov    r8,r2
  808b84:    2820d07a     srli    r16,r5,1
  808b88:    39d3883a     add    r9,r7,r7
  808b8c:    30deb03a     or    r15,r6,r3
  808b90:    49c5803a     cmpltu    r2,r9,r7
  808b94:    4215883a     add    r10,r8,r8
  808b98:    1285883a     add    r2,r2,r10
  808b9c:    7c06b03a     or    r3,r15,r16
  808ba0:    7809883a     mov    r4,r15
  808ba4:    800b883a     mov    r5,r16
  808ba8:    480f883a     mov    r7,r9
  808bac:    1011883a     mov    r8,r2
  808bb0:    18000c26     beq    r3,zero,808be4 &lt;__divdf3+0x174&gt;
  808bb4:    280c97fa     slli    r6,r5,31
  808bb8:    2006d07a     srli    r3,r4,1
  808bbc:    45bff136     bltu    r8,r22,808b84 &lt;__divdf3+0x114&gt;
  808bc0:    3d57c83a     sub    r11,r7,r21
  808bc4:    3ac5803a     cmpltu    r2,r7,r11
  808bc8:    4599c83a     sub    r12,r8,r22
  808bcc:    991ab03a     or    r13,r19,r4
  808bd0:    a15cb03a     or    r14,r20,r5
  808bd4:    6085c83a     sub    r2,r12,r2
  808bd8:    b23fe61e     bne    r22,r8,808b74 &lt;__divdf3+0x104&gt;
  808bdc:    3d7fe936     bltu    r7,r21,808b84 &lt;__divdf3+0x114&gt;
  808be0:    003fe406     br    808b74 &lt;__divdf3+0x104&gt;
  808be4:    00803fc4     movi    r2,255
  808be8:    9892703a     and    r9,r19,r2
  808bec:    00802004     movi    r2,128
  808bf0:    0015883a     mov    r10,zero
  808bf4:    48802426     beq    r9,r2,808c88 &lt;__divdf3+0x218&gt;
  808bf8:    fd000415     stw    r20,16(ra)
  808bfc:    fcc00315     stw    r19,12(ra)
  808c00:    f809883a     mov    r4,ra
  808c04:    08092f80     call    8092f8 &lt;__pack_d&gt;
  808c08:    1009883a     mov    r4,r2
  808c0c:    2005883a     mov    r2,r4
  808c10:    dfc01517     ldw    ra,84(sp)
  808c14:    dc001417     ldw    r16,80(sp)
  808c18:    dc401317     ldw    r17,76(sp)
  808c1c:    dc801217     ldw    r18,72(sp)
  808c20:    dcc01117     ldw    r19,68(sp)
  808c24:    dd001017     ldw    r20,64(sp)
  808c28:    dd400f17     ldw    r21,60(sp)
  808c2c:    dd800e17     ldw    r22,56(sp)
  808c30:    dec01604     addi    sp,sp,88
  808c34:    f800283a     ret
  808c38:    01002074     movhi    r4,129
  808c3c:    2133d604     addi    r4,r4,-12456
  808c40:    29bff026     beq    r5,r6,808c04 &lt;__divdf3+0x194&gt;
  808c44:    d809883a     mov    r4,sp
  808c48:    003fee06     br    808c04 &lt;__divdf3+0x194&gt;
  808c4c:    b2000226     beq    r22,r8,808c58 &lt;__divdf3+0x1e8&gt;
  808c50:    da400215     stw    r9,8(sp)
  808c54:    003fbf06     br    808b54 &lt;__divdf3+0xe4&gt;
  808c58:    3d7fb636     bltu    r7,r21,808b34 &lt;__divdf3+0xc4&gt;
  808c5c:    da400215     stw    r9,8(sp)
  808c60:    003fbc06     br    808b54 &lt;__divdf3+0xe4&gt;
  808c64:    d809883a     mov    r4,sp
  808c68:    d8000315     stw    zero,12(sp)
  808c6c:    d8000415     stw    zero,16(sp)
  808c70:    d8000215     stw    zero,8(sp)
  808c74:    003fe306     br    808c04 &lt;__divdf3+0x194&gt;
  808c78:    00800104     movi    r2,4
  808c7c:    d809883a     mov    r4,sp
  808c80:    d8800015     stw    r2,0(sp)
  808c84:    003fdf06     br    808c04 &lt;__divdf3+0x194&gt;
  808c88:    503fdb1e     bne    r10,zero,808bf8 &lt;__divdf3+0x188&gt;
  808c8c:    a00a963a     slli    r5,r20,24
  808c90:    9808d23a     srli    r4,r19,8
  808c94:    2904b03a     or    r2,r5,r4
  808c98:    1080004c     andi    r2,r2,1
  808c9c:    1000021e     bne    r2,zero,808ca8 &lt;__divdf3+0x238&gt;
  808ca0:    3a04b03a     or    r2,r7,r8
  808ca4:    103fd426     beq    r2,zero,808bf8 &lt;__divdf3+0x188&gt;
  808ca8:    9a49883a     add    r4,r19,r9
  808cac:    24cd803a     cmpltu    r6,r4,r19
  808cb0:    350d883a     add    r6,r6,r20
  808cb4:    2027883a     mov    r19,r4
  808cb8:    3029883a     mov    r20,r6
  808cbc:    003fce06     br    808bf8 &lt;__divdf3+0x188&gt;

00808cc0 &lt;__eqdf2&gt;:
  808cc0:    defff004     addi    sp,sp,-64
  808cc4:    2005883a     mov    r2,r4
  808cc8:    dc000e15     stw    r16,56(sp)
  808ccc:    d9400b15     stw    r5,44(sp)
  808cd0:    d9000a04     addi    r4,sp,40
  808cd4:    d80b883a     mov    r5,sp
  808cd8:    dc000504     addi    r16,sp,20
  808cdc:    d8800a15     stw    r2,40(sp)
  808ce0:    d9800c15     stw    r6,48(sp)
  808ce4:    dfc00f15     stw    ra,60(sp)
  808ce8:    d9c00d15     stw    r7,52(sp)
  808cec:    08095900     call    809590 &lt;__unpack_d&gt;
  808cf0:    d9000c04     addi    r4,sp,48
  808cf4:    800b883a     mov    r5,r16
  808cf8:    08095900     call    809590 &lt;__unpack_d&gt;
  808cfc:    d8800017     ldw    r2,0(sp)
  808d00:    00c00044     movi    r3,1
  808d04:    180d883a     mov    r6,r3
  808d08:    1880042e     bgeu    r3,r2,808d1c &lt;__eqdf2+0x5c&gt;
  808d0c:    80800017     ldw    r2,0(r16)
  808d10:    800b883a     mov    r5,r16
  808d14:    d809883a     mov    r4,sp
  808d18:    18800536     bltu    r3,r2,808d30 &lt;__eqdf2+0x70&gt;
  808d1c:    3005883a     mov    r2,r6
  808d20:    dfc00f17     ldw    ra,60(sp)
  808d24:    dc000e17     ldw    r16,56(sp)
  808d28:    dec01004     addi    sp,sp,64
  808d2c:    f800283a     ret
  808d30:    08096b80     call    8096b8 &lt;__fpcmp_parts_d&gt;
  808d34:    100d883a     mov    r6,r2
  808d38:    3005883a     mov    r2,r6
  808d3c:    dfc00f17     ldw    ra,60(sp)
  808d40:    dc000e17     ldw    r16,56(sp)
  808d44:    dec01004     addi    sp,sp,64
  808d48:    f800283a     ret

00808d4c &lt;__nedf2&gt;:
  808d4c:    defff004     addi    sp,sp,-64
  808d50:    2005883a     mov    r2,r4
  808d54:    dc000e15     stw    r16,56(sp)
  808d58:    d9400b15     stw    r5,44(sp)
  808d5c:    d9000a04     addi    r4,sp,40
  808d60:    d80b883a     mov    r5,sp
  808d64:    dc000504     addi    r16,sp,20
  808d68:    d8800a15     stw    r2,40(sp)
  808d6c:    d9800c15     stw    r6,48(sp)
  808d70:    dfc00f15     stw    ra,60(sp)
  808d74:    d9c00d15     stw    r7,52(sp)
  808d78:    08095900     call    809590 &lt;__unpack_d&gt;
  808d7c:    d9000c04     addi    r4,sp,48
  808d80:    800b883a     mov    r5,r16
  808d84:    08095900     call    809590 &lt;__unpack_d&gt;
  808d88:    d8800017     ldw    r2,0(sp)
  808d8c:    00c00044     movi    r3,1
  808d90:    180d883a     mov    r6,r3
  808d94:    1880042e     bgeu    r3,r2,808da8 &lt;__nedf2+0x5c&gt;
  808d98:    80800017     ldw    r2,0(r16)
  808d9c:    800b883a     mov    r5,r16
  808da0:    d809883a     mov    r4,sp
  808da4:    18800536     bltu    r3,r2,808dbc &lt;__nedf2+0x70&gt;
  808da8:    3005883a     mov    r2,r6
  808dac:    dfc00f17     ldw    ra,60(sp)
  808db0:    dc000e17     ldw    r16,56(sp)
  808db4:    dec01004     addi    sp,sp,64
  808db8:    f800283a     ret
  808dbc:    08096b80     call    8096b8 &lt;__fpcmp_parts_d&gt;
  808dc0:    100d883a     mov    r6,r2
  808dc4:    3005883a     mov    r2,r6
  808dc8:    dfc00f17     ldw    ra,60(sp)
  808dcc:    dc000e17     ldw    r16,56(sp)
  808dd0:    dec01004     addi    sp,sp,64
  808dd4:    f800283a     ret

00808dd8 &lt;__gtdf2&gt;:
  808dd8:    defff004     addi    sp,sp,-64
  808ddc:    2005883a     mov    r2,r4
  808de0:    dc000e15     stw    r16,56(sp)
  808de4:    d9400b15     stw    r5,44(sp)
  808de8:    d9000a04     addi    r4,sp,40
  808dec:    d80b883a     mov    r5,sp
  808df0:    dc000504     addi    r16,sp,20
  808df4:    d8800a15     stw    r2,40(sp)
  808df8:    d9800c15     stw    r6,48(sp)
  808dfc:    dfc00f15     stw    ra,60(sp)
  808e00:    d9c00d15     stw    r7,52(sp)
  808e04:    08095900     call    809590 &lt;__unpack_d&gt;
  808e08:    d9000c04     addi    r4,sp,48
  808e0c:    800b883a     mov    r5,r16
  808e10:    08095900     call    809590 &lt;__unpack_d&gt;
  808e14:    d8800017     ldw    r2,0(sp)
  808e18:    00c00044     movi    r3,1
  808e1c:    01bfffc4     movi    r6,-1
  808e20:    1880042e     bgeu    r3,r2,808e34 &lt;__gtdf2+0x5c&gt;
  808e24:    80800017     ldw    r2,0(r16)
  808e28:    800b883a     mov    r5,r16
  808e2c:    d809883a     mov    r4,sp
  808e30:    18800536     bltu    r3,r2,808e48 &lt;__gtdf2+0x70&gt;
  808e34:    3005883a     mov    r2,r6
  808e38:    dfc00f17     ldw    ra,60(sp)
  808e3c:    dc000e17     ldw    r16,56(sp)
  808e40:    dec01004     addi    sp,sp,64
  808e44:    f800283a     ret
  808e48:    08096b80     call    8096b8 &lt;__fpcmp_parts_d&gt;
  808e4c:    100d883a     mov    r6,r2
  808e50:    3005883a     mov    r2,r6
  808e54:    dfc00f17     ldw    ra,60(sp)
  808e58:    dc000e17     ldw    r16,56(sp)
  808e5c:    dec01004     addi    sp,sp,64
  808e60:    f800283a     ret

00808e64 &lt;__gedf2&gt;:
  808e64:    defff004     addi    sp,sp,-64
  808e68:    2005883a     mov    r2,r4
  808e6c:    dc000e15     stw    r16,56(sp)
  808e70:    d9400b15     stw    r5,44(sp)
  808e74:    d9000a04     addi    r4,sp,40
  808e78:    d80b883a     mov    r5,sp
  808e7c:    dc000504     addi    r16,sp,20
  808e80:    d8800a15     stw    r2,40(sp)
  808e84:    d9800c15     stw    r6,48(sp)
  808e88:    dfc00f15     stw    ra,60(sp)
  808e8c:    d9c00d15     stw    r7,52(sp)
  808e90:    08095900     call    809590 &lt;__unpack_d&gt;
  808e94:    d9000c04     addi    r4,sp,48
  808e98:    800b883a     mov    r5,r16
  808e9c:    08095900     call    809590 &lt;__unpack_d&gt;
  808ea0:    d8800017     ldw    r2,0(sp)
  808ea4:    00c00044     movi    r3,1
  808ea8:    01bfffc4     movi    r6,-1
  808eac:    1880042e     bgeu    r3,r2,808ec0 &lt;__gedf2+0x5c&gt;
  808eb0:    80800017     ldw    r2,0(r16)
  808eb4:    800b883a     mov    r5,r16
  808eb8:    d809883a     mov    r4,sp
  808ebc:    18800536     bltu    r3,r2,808ed4 &lt;__gedf2+0x70&gt;
  808ec0:    3005883a     mov    r2,r6
  808ec4:    dfc00f17     ldw    ra,60(sp)
  808ec8:    dc000e17     ldw    r16,56(sp)
  808ecc:    dec01004     addi    sp,sp,64
  808ed0:    f800283a     ret
  808ed4:    08096b80     call    8096b8 &lt;__fpcmp_parts_d&gt;
  808ed8:    100d883a     mov    r6,r2
  808edc:    3005883a     mov    r2,r6
  808ee0:    dfc00f17     ldw    ra,60(sp)
  808ee4:    dc000e17     ldw    r16,56(sp)
  808ee8:    dec01004     addi    sp,sp,64
  808eec:    f800283a     ret

00808ef0 &lt;__ltdf2&gt;:
  808ef0:    defff004     addi    sp,sp,-64
  808ef4:    2005883a     mov    r2,r4
  808ef8:    dc000e15     stw    r16,56(sp)
  808efc:    d9400b15     stw    r5,44(sp)
  808f00:    d9000a04     addi    r4,sp,40
  808f04:    d80b883a     mov    r5,sp
  808f08:    dc000504     addi    r16,sp,20
  808f0c:    d8800a15     stw    r2,40(sp)
  808f10:    d9800c15     stw    r6,48(sp)
  808f14:    dfc00f15     stw    ra,60(sp)
  808f18:    d9c00d15     stw    r7,52(sp)
  808f1c:    08095900     call    809590 &lt;__unpack_d&gt;
  808f20:    d9000c04     addi    r4,sp,48
  808f24:    800b883a     mov    r5,r16
  808f28:    08095900     call    809590 &lt;__unpack_d&gt;
  808f2c:    d8800017     ldw    r2,0(sp)
  808f30:    00c00044     movi    r3,1
  808f34:    180d883a     mov    r6,r3
  808f38:    1880042e     bgeu    r3,r2,808f4c &lt;__ltdf2+0x5c&gt;
  808f3c:    80800017     ldw    r2,0(r16)
  808f40:    800b883a     mov    r5,r16
  808f44:    d809883a     mov    r4,sp
  808f48:    18800536     bltu    r3,r2,808f60 &lt;__ltdf2+0x70&gt;
  808f4c:    3005883a     mov    r2,r6
  808f50:    dfc00f17     ldw    ra,60(sp)
  808f54:    dc000e17     ldw    r16,56(sp)
  808f58:    dec01004     addi    sp,sp,64
  808f5c:    f800283a     ret
  808f60:    08096b80     call    8096b8 &lt;__fpcmp_parts_d&gt;
  808f64:    100d883a     mov    r6,r2
  808f68:    3005883a     mov    r2,r6
  808f6c:    dfc00f17     ldw    ra,60(sp)
  808f70:    dc000e17     ldw    r16,56(sp)
  808f74:    dec01004     addi    sp,sp,64
  808f78:    f800283a     ret

00808f7c &lt;__floatsidf&gt;:
  808f7c:    2006d7fa     srli    r3,r4,31
  808f80:    defffa04     addi    sp,sp,-24
  808f84:    dfc00515     stw    ra,20(sp)
  808f88:    d8c00115     stw    r3,4(sp)
  808f8c:    20000b1e     bne    r4,zero,808fbc &lt;__floatsidf+0x40&gt;
  808f90:    00800084     movi    r2,2
  808f94:    d8800015     stw    r2,0(sp)
  808f98:    d809883a     mov    r4,sp
  808f9c:    08092f80     call    8092f8 &lt;__pack_d&gt;
  808fa0:    100d883a     mov    r6,r2
  808fa4:    180f883a     mov    r7,r3
  808fa8:    3807883a     mov    r3,r7
  808fac:    3005883a     mov    r2,r6
  808fb0:    dfc00517     ldw    ra,20(sp)
  808fb4:    dec00604     addi    sp,sp,24
  808fb8:    f800283a     ret
  808fbc:    02c00f04     movi    r11,60
  808fc0:    008000c4     movi    r2,3
  808fc4:    d8800015     stw    r2,0(sp)
  808fc8:    5815883a     mov    r10,r11
  808fcc:    18000426     beq    r3,zero,808fe0 &lt;__floatsidf+0x64&gt;
  808fd0:    00a00034     movhi    r2,32768
  808fd4:    10800004     addi    r2,r2,0
  808fd8:    20801726     beq    r4,r2,809038 &lt;__floatsidf+0xbc&gt;
  808fdc:    0109c83a     sub    r4,zero,r4
  808fe0:    2007d7fa     srai    r3,r4,31
  808fe4:    03040034     movhi    r12,4096
  808fe8:    633fffc4     addi    r12,r12,-1
  808fec:    d9000315     stw    r4,12(sp)
  808ff0:    d8c00415     stw    r3,16(sp)
  808ff4:    da400417     ldw    r9,16(sp)
  808ff8:    62400d36     bltu    r12,r9,809030 &lt;__floatsidf+0xb4&gt;
  808ffc:    d8800317     ldw    r2,12(sp)
  809000:    d8c00417     ldw    r3,16(sp)
  809004:    51bfffc4     addi    r6,r10,-1
  809008:    3015883a     mov    r10,r6
  80900c:    3017883a     mov    r11,r6
  809010:    100ed7fa     srli    r7,r2,31
  809014:    18cd883a     add    r6,r3,r3
  809018:    1089883a     add    r4,r2,r2
  80901c:    398ab03a     or    r5,r7,r6
  809020:    2813883a     mov    r9,r5
  809024:    d9000315     stw    r4,12(sp)
  809028:    d9400415     stw    r5,16(sp)
  80902c:    627ff32e     bgeu    r12,r9,808ffc &lt;__floatsidf+0x80&gt;
  809030:    dac00215     stw    r11,8(sp)
  809034:    003fd806     br    808f98 &lt;__floatsidf+0x1c&gt;
  809038:    000d883a     mov    r6,zero
  80903c:    01f07834     movhi    r7,49632
  809040:    39c00004     addi    r7,r7,0
  809044:    dac00215     stw    r11,8(sp)
  809048:    003fd706     br    808fa8 &lt;__floatsidf+0x2c&gt;

0080904c &lt;__fixdfsi&gt;:
  80904c:    defff804     addi    sp,sp,-32
  809050:    2005883a     mov    r2,r4
  809054:    d9400615     stw    r5,24(sp)
  809058:    d9000504     addi    r4,sp,20
  80905c:    d80b883a     mov    r5,sp
  809060:    d8800515     stw    r2,20(sp)
  809064:    dfc00715     stw    ra,28(sp)
  809068:    08095900     call    809590 &lt;__unpack_d&gt;
  80906c:    d8c00017     ldw    r3,0(sp)
  809070:    000b883a     mov    r5,zero
  809074:    18800098     cmpnei    r2,r3,2
  809078:    10000f26     beq    r2,zero,8090b8 &lt;__fixdfsi+0x6c&gt;
  80907c:    00800044     movi    r2,1
  809080:    10c00d2e     bgeu    r2,r3,8090b8 &lt;__fixdfsi+0x6c&gt;
  809084:    18800118     cmpnei    r2,r3,4
  809088:    10000526     beq    r2,zero,8090a0 &lt;__fixdfsi+0x54&gt;
  80908c:    d9000217     ldw    r4,8(sp)
  809090:    000b883a     mov    r5,zero
  809094:    20000816     blt    r4,zero,8090b8 &lt;__fixdfsi+0x6c&gt;
  809098:    00800784     movi    r2,30
  80909c:    11000a0e     bge    r2,r4,8090c8 &lt;__fixdfsi+0x7c&gt;
  8090a0:    d8800117     ldw    r2,4(sp)
  8090a4:    00e00034     movhi    r3,32768
  8090a8:    18c00004     addi    r3,r3,0
  8090ac:    1000011e     bne    r2,zero,8090b4 &lt;__fixdfsi+0x68&gt;
  8090b0:    18ffffc4     addi    r3,r3,-1
  8090b4:    180b883a     mov    r5,r3
  8090b8:    2805883a     mov    r2,r5
  8090bc:    dfc00717     ldw    ra,28(sp)
  8090c0:    dec00804     addi    sp,sp,32
  8090c4:    f800283a     ret
  8090c8:    d8800317     ldw    r2,12(sp)
  8090cc:    d8c00417     ldw    r3,16(sp)
  8090d0:    01800f04     movi    r6,60
  8090d4:    310dc83a     sub    r6,r6,r4
  8090d8:    180b883a     mov    r5,r3
  8090dc:    1009883a     mov    r4,r2
  8090e0:    08092a80     call    8092a8 &lt;__lshrdi3&gt;
  8090e4:    1007883a     mov    r3,r2
  8090e8:    d8800117     ldw    r2,4(sp)
  8090ec:    103ff126     beq    r2,zero,8090b4 &lt;__fixdfsi+0x68&gt;
  8090f0:    00c7c83a     sub    r3,zero,r3
  8090f4:    180b883a     mov    r5,r3
  8090f8:    003fef06     br    8090b8 &lt;__fixdfsi+0x6c&gt;

008090fc &lt;udivmodsi4&gt;:
  8090fc:    00800044     movi    r2,1
  809100:    000f883a     mov    r7,zero
  809104:    2900082e     bgeu    r5,r4,809128 &lt;udivmodsi4+0x2c&gt;
  809108:    28000716     blt    r5,zero,809128 &lt;udivmodsi4+0x2c&gt;
  80910c:    294b883a     add    r5,r5,r5
  809110:    1085883a     add    r2,r2,r2
  809114:    29000e2e     bgeu    r5,r4,809150 &lt;udivmodsi4+0x54&gt;
  809118:    1007003a     cmpeq    r3,r2,zero
  80911c:    1800081e     bne    r3,zero,809140 &lt;udivmodsi4+0x44&gt;
  809120:    283ffa0e     bge    r5,zero,80910c &lt;udivmodsi4+0x10&gt;
  809124:    1800061e     bne    r3,zero,809140 &lt;udivmodsi4+0x44&gt;
  809128:    21400236     bltu    r4,r5,809134 &lt;udivmodsi4+0x38&gt;
  80912c:    2149c83a     sub    r4,r4,r5
  809130:    388eb03a     or    r7,r7,r2
  809134:    1004d07a     srli    r2,r2,1
  809138:    280ad07a     srli    r5,r5,1
  80913c:    103ffa1e     bne    r2,zero,809128 &lt;udivmodsi4+0x2c&gt;
  809140:    3000011e     bne    r6,zero,809148 &lt;udivmodsi4+0x4c&gt;
  809144:    3809883a     mov    r4,r7
  809148:    2005883a     mov    r2,r4
  80914c:    f800283a     ret
  809150:    1007003a     cmpeq    r3,r2,zero
  809154:    183ff426     beq    r3,zero,809128 &lt;udivmodsi4+0x2c&gt;
  809158:    003ff906     br    809140 &lt;udivmodsi4+0x44&gt;

0080915c &lt;__divsi3&gt;:
  80915c:    defffe04     addi    sp,sp,-8
  809160:    dc000015     stw    r16,0(sp)
  809164:    dfc00115     stw    ra,4(sp)
  809168:    000d883a     mov    r6,zero
  80916c:    0021883a     mov    r16,zero
  809170:    20000816     blt    r4,zero,809194 &lt;__divsi3+0x38&gt;
  809174:    28000a16     blt    r5,zero,8091a0 &lt;__divsi3+0x44&gt;
  809178:    08090fc0     call    8090fc &lt;udivmodsi4&gt;
  80917c:    80000126     beq    r16,zero,809184 &lt;__divsi3+0x28&gt;
  809180:    0085c83a     sub    r2,zero,r2
  809184:    dfc00117     ldw    ra,4(sp)
  809188:    dc000017     ldw    r16,0(sp)
  80918c:    dec00204     addi    sp,sp,8
  809190:    f800283a     ret
  809194:    0109c83a     sub    r4,zero,r4
  809198:    0021003a     cmpeq    r16,zero,zero
  80919c:    283ff60e     bge    r5,zero,809178 &lt;__divsi3+0x1c&gt;
  8091a0:    014bc83a     sub    r5,zero,r5
  8091a4:    8021003a     cmpeq    r16,r16,zero
  8091a8:    003ff306     br    809178 &lt;__divsi3+0x1c&gt;

008091ac &lt;__modsi3&gt;:
  8091ac:    defffe04     addi    sp,sp,-8
  8091b0:    dc000015     stw    r16,0(sp)
  8091b4:    dfc00115     stw    ra,4(sp)
  8091b8:    01800044     movi    r6,1
  8091bc:    0021883a     mov    r16,zero
  8091c0:    20000816     blt    r4,zero,8091e4 &lt;__modsi3+0x38&gt;
  8091c4:    28000a16     blt    r5,zero,8091f0 &lt;__modsi3+0x44&gt;
  8091c8:    08090fc0     call    8090fc &lt;udivmodsi4&gt;
  8091cc:    80000126     beq    r16,zero,8091d4 &lt;__modsi3+0x28&gt;
  8091d0:    0085c83a     sub    r2,zero,r2
  8091d4:    dfc00117     ldw    ra,4(sp)
  8091d8:    dc000017     ldw    r16,0(sp)
  8091dc:    dec00204     addi    sp,sp,8
  8091e0:    f800283a     ret
  8091e4:    0109c83a     sub    r4,zero,r4
  8091e8:    3021883a     mov    r16,r6
  8091ec:    283ff60e     bge    r5,zero,8091c8 &lt;__modsi3+0x1c&gt;
  8091f0:    014bc83a     sub    r5,zero,r5
  8091f4:    003ff406     br    8091c8 &lt;__modsi3+0x1c&gt;

008091f8 &lt;__udivsi3&gt;:
  8091f8:    000d883a     mov    r6,zero
  8091fc:    02002074     movhi    r8,129
  809200:    42243f04     addi    r8,r8,-28420
  809204:    4000683a     jmp    r8

00809208 &lt;__umodsi3&gt;:
  809208:    01800044     movi    r6,1
  80920c:    02002074     movhi    r8,129
  809210:    42243f04     addi    r8,r8,-28420
  809214:    4000683a     jmp    r8

00809218 &lt;__muldi3&gt;:
  809218:    3019883a     mov    r12,r6
  80921c:    2015883a     mov    r10,r4
  809220:    2011883a     mov    r8,r4
  809224:    31bfffcc     andi    r6,r6,65535
  809228:    213fffcc     andi    r4,r4,65535
  80922c:    2813883a     mov    r9,r5
  809230:    6016d43a     srli    r11,r12,16
  809234:    218b383a     mul    r5,r4,r6
  809238:    5014d43a     srli    r10,r10,16
  80923c:    3807883a     mov    r3,r7
  809240:    22c9383a     mul    r4,r4,r11
  809244:    4b0f383a     mul    r7,r9,r12
  809248:    2b3fffcc     andi    r12,r5,65535
  80924c:    280ad43a     srli    r5,r5,16
  809250:    518d383a     mul    r6,r10,r6
  809254:    40d1383a     mul    r8,r8,r3
  809258:    2149883a     add    r4,r4,r5
  80925c:    2189883a     add    r4,r4,r6
  809260:    2004943a     slli    r2,r4,16
  809264:    deffff04     addi    sp,sp,-4
  809268:    dc000015     stw    r16,0(sp)
  80926c:    130b883a     add    r5,r2,r12
  809270:    41d3883a     add    r9,r8,r7
  809274:    2006d43a     srli    r3,r4,16
  809278:    52d5383a     mul    r10,r10,r11
  80927c:    281f883a     mov    r15,r5
  809280:    2180032e     bgeu    r4,r6,809290 &lt;__muldi3+0x78&gt;
  809284:    00800074     movhi    r2,1
  809288:    10800004     addi    r2,r2,0
  80928c:    5095883a     add    r10,r10,r2
  809290:    1a9d883a     add    r14,r3,r10
  809294:    4b87883a     add    r3,r9,r14
  809298:    7805883a     mov    r2,r15
  80929c:    dc000017     ldw    r16,0(sp)
  8092a0:    dec00104     addi    sp,sp,4
  8092a4:    f800283a     ret

008092a8 &lt;__lshrdi3&gt;:
  8092a8:    00800804     movi    r2,32
  8092ac:    119bc83a     sub    r13,r2,r6
  8092b0:    2013883a     mov    r9,r4
  8092b4:    2005883a     mov    r2,r4
  8092b8:    2815883a     mov    r10,r5
  8092bc:    30000826     beq    r6,zero,8092e0 &lt;__lshrdi3+0x38&gt;
  8092c0:    1186d83a     srl    r3,r2,r6
  8092c4:    0349c83a     sub    r4,zero,r13
  8092c8:    2b44983a     sll    r2,r5,r13
  8092cc:    0340070e     bge    zero,r13,8092ec &lt;__lshrdi3+0x44&gt;
  8092d0:    2998d83a     srl    r12,r5,r6
  8092d4:    1896b03a     or    r11,r3,r2
  8092d8:    5813883a     mov    r9,r11
  8092dc:    6015883a     mov    r10,r12
  8092e0:    5007883a     mov    r3,r10
  8092e4:    4805883a     mov    r2,r9
  8092e8:    f800283a     ret
  8092ec:    2916d83a     srl    r11,r5,r4
  8092f0:    0019883a     mov    r12,zero
  8092f4:    003ff806     br    8092d8 &lt;__lshrdi3+0x30&gt;

008092f8 &lt;__pack_d&gt;:
  8092f8:    defff604     addi    sp,sp,-40
  8092fc:    dcc00415     stw    r19,16(sp)
  809300:    dd000315     stw    r20,12(sp)
  809304:    dd400215     stw    r21,8(sp)
  809308:    dfc00915     stw    ra,36(sp)
  80930c:    df000815     stw    fp,32(sp)
  809310:    dc000715     stw    r16,28(sp)
  809314:    dc400615     stw    r17,24(sp)
  809318:    dc800515     stw    r18,20(sp)
  80931c:    dd800115     stw    r22,4(sp)
  809320:    ddc00015     stw    r23,0(sp)
  809324:    20c00017     ldw    r3,0(r4)
  809328:    05000044     movi    r20,1
  80932c:    24000317     ldw    r16,12(r4)
  809330:    0027883a     mov    r19,zero
  809334:    24400417     ldw    r17,16(r4)
  809338:    25c00117     ldw    r23,4(r4)
  80933c:    002b883a     mov    r21,zero
  809340:    a0c02636     bltu    r20,r3,8093dc &lt;__pack_d+0xe4&gt;
  809344:    0005883a     mov    r2,zero
  809348:    00c00234     movhi    r3,8
  80934c:    18c00004     addi    r3,r3,0
  809350:    8088b03a     or    r4,r16,r2
  809354:    88cab03a     or    r5,r17,r3
  809358:    2021883a     mov    r16,r4
  80935c:    2823883a     mov    r17,r5
  809360:    0541ffc4     movi    r21,2047
  809364:    a941ffcc     andi    r5,r21,2047
  809368:    00c00434     movhi    r3,16
  80936c:    18ffffc4     addi    r3,r3,-1
  809370:    88c6703a     and    r3,r17,r3
  809374:    280a953a     slli    r5,r5,20
  809378:    993ffc2c     andhi    r4,r19,65520
  80937c:    20e6b03a     or    r19,r4,r3
  809380:    00a00434     movhi    r2,32784
  809384:    10bfffc4     addi    r2,r2,-1
  809388:    b80697fa     slli    r3,r23,31
  80938c:    9884703a     and    r2,r19,r2
  809390:    1166b03a     or    r19,r2,r5
  809394:    01e00034     movhi    r7,32768
  809398:    39ffffc4     addi    r7,r7,-1
  80939c:    99ce703a     and    r7,r19,r7
  8093a0:    38ceb03a     or    r7,r7,r3
  8093a4:    8005883a     mov    r2,r16
  8093a8:    3807883a     mov    r3,r7
  8093ac:    dfc00917     ldw    ra,36(sp)
  8093b0:    df000817     ldw    fp,32(sp)
  8093b4:    dc000717     ldw    r16,28(sp)
  8093b8:    dc400617     ldw    r17,24(sp)
  8093bc:    dc800517     ldw    r18,20(sp)
  8093c0:    dcc00417     ldw    r19,16(sp)
  8093c4:    dd000317     ldw    r20,12(sp)
  8093c8:    dd400217     ldw    r21,8(sp)
  8093cc:    dd800117     ldw    r22,4(sp)
  8093d0:    ddc00017     ldw    r23,0(sp)
  8093d4:    dec00a04     addi    sp,sp,40
  8093d8:    f800283a     ret
  8093dc:    18800118     cmpnei    r2,r3,4
  8093e0:    10003726     beq    r2,zero,8094c0 &lt;__pack_d+0x1c8&gt;
  8093e4:    18800098     cmpnei    r2,r3,2
  8093e8:    10003926     beq    r2,zero,8094d0 &lt;__pack_d+0x1d8&gt;
  8093ec:    8444b03a     or    r2,r16,r17
  8093f0:    103fdc26     beq    r2,zero,809364 &lt;__pack_d+0x6c&gt;
  8093f4:    21000217     ldw    r4,8(r4)
  8093f8:    01bf0084     movi    r6,-1022
  8093fc:    21802e0e     bge    r4,r6,8094b8 &lt;__pack_d+0x1c0&gt;
  809400:    312dc83a     sub    r22,r6,r4
  809404:    00800e04     movi    r2,56
  809408:    15804e16     blt    r2,r22,809544 &lt;__pack_d+0x24c&gt;
  80940c:    a009883a     mov    r4,r20
  809410:    000b883a     mov    r5,zero
  809414:    b00d883a     mov    r6,r22
  809418:    08097cc0     call    8097cc &lt;__ashldi3&gt;
  80941c:    01bfffc4     movi    r6,-1
  809420:    1189883a     add    r4,r2,r6
  809424:    2095803a     cmpltu    r10,r4,r2
  809428:    198b883a     add    r5,r3,r6
  80942c:    514b883a     add    r5,r10,r5
  809430:    2404703a     and    r2,r4,r16
  809434:    2c46703a     and    r3,r5,r17
  809438:    10c4b03a     or    r2,r2,r3
  80943c:    0039883a     mov    fp,zero
  809440:    10000126     beq    r2,zero,809448 &lt;__pack_d+0x150&gt;
  809444:    a039883a     mov    fp,r20
  809448:    880b883a     mov    r5,r17
  80944c:    8009883a     mov    r4,r16
  809450:    b00d883a     mov    r6,r22
  809454:    08092a80     call    8092a8 &lt;__lshrdi3&gt;
  809458:    000b883a     mov    r5,zero
  80945c:    1720b03a     or    r16,r2,fp
  809460:    1962b03a     or    r17,r3,r5
  809464:    00803fc4     movi    r2,255
  809468:    8088703a     and    r4,r16,r2
  80946c:    00802004     movi    r2,128
  809470:    000b883a     mov    r5,zero
  809474:    20803626     beq    r4,r2,809550 &lt;__pack_d+0x258&gt;
  809478:    00801fc4     movi    r2,127
  80947c:    8089883a     add    r4,r16,r2
  809480:    240d803a     cmpltu    r6,r4,r16
  809484:    344d883a     add    r6,r6,r17
  809488:    3023883a     mov    r17,r6
  80948c:    300e963a     slli    r7,r6,24
  809490:    200cd23a     srli    r6,r4,8
  809494:    00840034     movhi    r2,4096
  809498:    10bfffc4     addi    r2,r2,-1
  80949c:    1440012e     bgeu    r2,r17,8094a4 &lt;__pack_d+0x1ac&gt;
  8094a0:    05400044     movi    r21,1
  8094a4:    3984b03a     or    r2,r7,r6
  8094a8:    8806d23a     srli    r3,r17,8
  8094ac:    1021883a     mov    r16,r2
  8094b0:    1823883a     mov    r17,r3
  8094b4:    003fab06     br    809364 &lt;__pack_d+0x6c&gt;
  8094b8:    0080ffc4     movi    r2,1023
  8094bc:    1100070e     bge    r2,r4,8094dc &lt;__pack_d+0x1e4&gt;
  8094c0:    0021883a     mov    r16,zero
  8094c4:    0541ffc4     movi    r21,2047
  8094c8:    0023883a     mov    r17,zero
  8094cc:    003fa506     br    809364 &lt;__pack_d+0x6c&gt;
  8094d0:    0021883a     mov    r16,zero
  8094d4:    0023883a     mov    r17,zero
  8094d8:    003fa206     br    809364 &lt;__pack_d+0x6c&gt;
  8094dc:    00803fc4     movi    r2,255
  8094e0:    808e703a     and    r7,r16,r2
  8094e4:    00802004     movi    r2,128
  8094e8:    0011883a     mov    r8,zero
  8094ec:    2540ffc4     addi    r21,r4,1023
  8094f0:    38801f26     beq    r7,r2,809570 &lt;__pack_d+0x278&gt;
  8094f4:    00801fc4     movi    r2,127
  8094f8:    8089883a     add    r4,r16,r2
  8094fc:    240d803a     cmpltu    r6,r4,r16
  809500:    344d883a     add    r6,r6,r17
  809504:    2021883a     mov    r16,r4
  809508:    3023883a     mov    r17,r6
  80950c:    00880034     movhi    r2,8192
  809510:    10bfffc4     addi    r2,r2,-1
  809514:    1440072e     bgeu    r2,r17,809534 &lt;__pack_d+0x23c&gt;
  809518:    880a97fa     slli    r5,r17,31
  80951c:    8008d07a     srli    r4,r16,1
  809520:    8806d07a     srli    r3,r17,1
  809524:    ad400044     addi    r21,r21,1
  809528:    2904b03a     or    r2,r5,r4
  80952c:    1021883a     mov    r16,r2
  809530:    1823883a     mov    r17,r3
  809534:    880a963a     slli    r5,r17,24
  809538:    8008d23a     srli    r4,r16,8
  80953c:    2904b03a     or    r2,r5,r4
  809540:    003fd906     br    8094a8 &lt;__pack_d+0x1b0&gt;
  809544:    0021883a     mov    r16,zero
  809548:    0023883a     mov    r17,zero
  80954c:    003fc506     br    809464 &lt;__pack_d+0x16c&gt;
  809550:    283fc91e     bne    r5,zero,809478 &lt;__pack_d+0x180&gt;
  809554:    880e963a     slli    r7,r17,24
  809558:    800cd23a     srli    r6,r16,8
  80955c:    3984b03a     or    r2,r7,r6
  809560:    1080004c     andi    r2,r2,1
  809564:    103fcb26     beq    r2,zero,809494 &lt;__pack_d+0x19c&gt;
  809568:    2005883a     mov    r2,r4
  80956c:    003fc306     br    80947c &lt;__pack_d+0x184&gt;
  809570:    403fe01e     bne    r8,zero,8094f4 &lt;__pack_d+0x1fc&gt;
  809574:    880a963a     slli    r5,r17,24
  809578:    8008d23a     srli    r4,r16,8
  80957c:    2904b03a     or    r2,r5,r4
  809580:    1080004c     andi    r2,r2,1
  809584:    103fe126     beq    r2,zero,80950c &lt;__pack_d+0x214&gt;
  809588:    3805883a     mov    r2,r7
  80958c:    003fda06     br    8094f8 &lt;__pack_d+0x200&gt;

00809590 &lt;__unpack_d&gt;:
  809590:    21800117     ldw    r6,4(r4)
  809594:    00800434     movhi    r2,16
  809598:    10bfffc4     addi    r2,r2,-1
  80959c:    22400017     ldw    r9,0(r4)
  8095a0:    3010d53a     srli    r8,r6,20
  8095a4:    3006d7fa     srli    r3,r6,31
  8095a8:    2817883a     mov    r11,r5
  8095ac:    4201ffcc     andi    r8,r8,2047
  8095b0:    28c00115     stw    r3,4(r5)
  8095b4:    3094703a     and    r10,r6,r2
  8095b8:    4000051e     bne    r8,zero,8095d0 &lt;__unpack_d+0x40&gt;
  8095bc:    4a84b03a     or    r2,r9,r10
  8095c0:    1000151e     bne    r2,zero,809618 &lt;__unpack_d+0x88&gt;
  8095c4:    00800084     movi    r2,2
  8095c8:    58800015     stw    r2,0(r11)
  8095cc:    f800283a     ret
  8095d0:    0081ffc4     movi    r2,2047
  8095d4:    40802a26     beq    r8,r2,809680 &lt;__unpack_d+0xf0&gt;
  8095d8:    480ad63a     srli    r5,r9,24
  8095dc:    5008923a     slli    r4,r10,8
  8095e0:    480c923a     slli    r6,r9,8
  8095e4:    0005883a     mov    r2,zero
  8095e8:    290eb03a     or    r7,r5,r4
  8095ec:    00c40034     movhi    r3,4096
  8095f0:    18c00004     addi    r3,r3,0
  8095f4:    3088b03a     or    r4,r6,r2
  8095f8:    423f0044     addi    r8,r8,-1023
  8095fc:    38cab03a     or    r5,r7,r3
  809600:    008000c4     movi    r2,3
  809604:    59400415     stw    r5,16(r11)
  809608:    5a000215     stw    r8,8(r11)
  80960c:    58800015     stw    r2,0(r11)
  809610:    59000315     stw    r4,12(r11)
  809614:    f800283a     ret
  809618:    5008923a     slli    r4,r10,8
  80961c:    480ad63a     srli    r5,r9,24
  809620:    4804923a     slli    r2,r9,8
  809624:    01bf0084     movi    r6,-1022
  809628:    2906b03a     or    r3,r5,r4
  80962c:    02040034     movhi    r8,4096
  809630:    423fffc4     addi    r8,r8,-1
  809634:    010000c4     movi    r4,3
  809638:    1815883a     mov    r10,r3
  80963c:    59000015     stw    r4,0(r11)
  809640:    1013883a     mov    r9,r2
  809644:    300f883a     mov    r7,r6
  809648:    42800936     bltu    r8,r10,809670 &lt;__unpack_d+0xe0&gt;
  80964c:    480ad7fa     srli    r5,r9,31
  809650:    5289883a     add    r4,r10,r10
  809654:    4a45883a     add    r2,r9,r9
  809658:    31bfffc4     addi    r6,r6,-1
  80965c:    2906b03a     or    r3,r5,r4
  809660:    300f883a     mov    r7,r6
  809664:    1013883a     mov    r9,r2
  809668:    1815883a     mov    r10,r3
  80966c:    42bff72e     bgeu    r8,r10,80964c &lt;__unpack_d+0xbc&gt;
  809670:    5a800415     stw    r10,16(r11)
  809674:    59c00215     stw    r7,8(r11)
  809678:    5a400315     stw    r9,12(r11)
  80967c:    f800283a     ret
  809680:    4a84b03a     or    r2,r9,r10
  809684:    1000021e     bne    r2,zero,809690 &lt;__unpack_d+0x100&gt;
  809688:    00800104     movi    r2,4
  80968c:    003fce06     br    8095c8 &lt;__unpack_d+0x38&gt;
  809690:    5004d4fa     srli    r2,r10,19
  809694:    1080004c     andi    r2,r2,1
  809698:    10000426     beq    r2,zero,8096ac &lt;__unpack_d+0x11c&gt;
  80969c:    00800044     movi    r2,1
  8096a0:    28800015     stw    r2,0(r5)
  8096a4:    5a800415     stw    r10,16(r11)
  8096a8:    003ff306     br    809678 &lt;__unpack_d+0xe8&gt;
  8096ac:    28000015     stw    zero,0(r5)
  8096b0:    5a800415     stw    r10,16(r11)
  8096b4:    003ff006     br    809678 &lt;__unpack_d+0xe8&gt;

008096b8 &lt;__fpcmp_parts_d&gt;:
  8096b8:    20c00017     ldw    r3,0(r4)
  8096bc:    00800044     movi    r2,1
  8096c0:    10c0022e     bgeu    r2,r3,8096cc &lt;__fpcmp_parts_d+0x14&gt;
  8096c4:    29800017     ldw    r6,0(r5)
  8096c8:    11800136     bltu    r2,r6,8096d0 &lt;__fpcmp_parts_d+0x18&gt;
  8096cc:    f800283a     ret
  8096d0:    18800118     cmpnei    r2,r3,4
  8096d4:    10001126     beq    r2,zero,80971c &lt;__fpcmp_parts_d+0x64&gt;
  8096d8:    18800118     cmpnei    r2,r3,4
  8096dc:    10001426     beq    r2,zero,809730 &lt;__fpcmp_parts_d+0x78&gt;
  8096e0:    30800118     cmpnei    r2,r6,4
  8096e4:    10002f26     beq    r2,zero,8097a4 &lt;__fpcmp_parts_d+0xec&gt;
  8096e8:    18800098     cmpnei    r2,r3,2
  8096ec:    10003226     beq    r2,zero,8097b8 &lt;__fpcmp_parts_d+0x100&gt;
  8096f0:    18800098     cmpnei    r2,r3,2
  8096f4:    10002b26     beq    r2,zero,8097a4 &lt;__fpcmp_parts_d+0xec&gt;
  8096f8:    30800098     cmpnei    r2,r6,2
  8096fc:    10000c26     beq    r2,zero,809730 &lt;__fpcmp_parts_d+0x78&gt;
  809700:    22000117     ldw    r8,4(r4)
  809704:    28800117     ldw    r2,4(r5)
  809708:    40800f26     beq    r8,r2,809748 &lt;__fpcmp_parts_d+0x90&gt;
  80970c:    00bfffc4     movi    r2,-1
  809710:    403fee1e     bne    r8,zero,8096cc &lt;__fpcmp_parts_d+0x14&gt;
  809714:    00800044     movi    r2,1
  809718:    f800283a     ret
  80971c:    30ffee1e     bne    r6,r3,8096d8 &lt;__fpcmp_parts_d+0x20&gt;
  809720:    28c00117     ldw    r3,4(r5)
  809724:    20800117     ldw    r2,4(r4)
  809728:    1885c83a     sub    r2,r3,r2
  80972c:    f800283a     ret
  809730:    20800117     ldw    r2,4(r4)
  809734:    00ffffc4     movi    r3,-1
  809738:    1000011e     bne    r2,zero,809740 &lt;__fpcmp_parts_d+0x88&gt;
  80973c:    00c00044     movi    r3,1
  809740:    1805883a     mov    r2,r3
  809744:    f800283a     ret
  809748:    20c00217     ldw    r3,8(r4)
  80974c:    28800217     ldw    r2,8(r5)
  809750:    10ffee16     blt    r2,r3,80970c &lt;__fpcmp_parts_d+0x54&gt;
  809754:    18800f16     blt    r3,r2,809794 &lt;__fpcmp_parts_d+0xdc&gt;
  809758:    21c00417     ldw    r7,16(r4)
  80975c:    28c00417     ldw    r3,16(r5)
  809760:    21800317     ldw    r6,12(r4)
  809764:    28800317     ldw    r2,12(r5)
  809768:    19ffe836     bltu    r3,r7,80970c &lt;__fpcmp_parts_d+0x54&gt;
  80976c:    38c01526     beq    r7,r3,8097c4 &lt;__fpcmp_parts_d+0x10c&gt;
  809770:    29c00417     ldw    r7,16(r5)
  809774:    20c00417     ldw    r3,16(r4)
  809778:    29800317     ldw    r6,12(r5)
  80977c:    20800317     ldw    r2,12(r4)
  809780:    19c00436     bltu    r3,r7,809794 &lt;__fpcmp_parts_d+0xdc&gt;
  809784:    38c00226     beq    r7,r3,809790 &lt;__fpcmp_parts_d+0xd8&gt;
  809788:    0005883a     mov    r2,zero
  80978c:    f800283a     ret
  809790:    11bffd2e     bgeu    r2,r6,809788 &lt;__fpcmp_parts_d+0xd0&gt;
  809794:    00800044     movi    r2,1
  809798:    403fcc1e     bne    r8,zero,8096cc &lt;__fpcmp_parts_d+0x14&gt;
  80979c:    00bfffc4     movi    r2,-1
  8097a0:    f800283a     ret
  8097a4:    28800117     ldw    r2,4(r5)
  8097a8:    00c00044     movi    r3,1
  8097ac:    103fe41e     bne    r2,zero,809740 &lt;__fpcmp_parts_d+0x88&gt;
  8097b0:    00ffffc4     movi    r3,-1
  8097b4:    003fe206     br    809740 &lt;__fpcmp_parts_d+0x88&gt;
  8097b8:    0005883a     mov    r2,zero
  8097bc:    30ffcc1e     bne    r6,r3,8096f0 &lt;__fpcmp_parts_d+0x38&gt;
  8097c0:    f800283a     ret
  8097c4:    11bfea2e     bgeu    r2,r6,809770 &lt;__fpcmp_parts_d+0xb8&gt;
  8097c8:    003fd006     br    80970c &lt;__fpcmp_parts_d+0x54&gt;

008097cc &lt;__ashldi3&gt;:
  8097cc:    00800804     movi    r2,32
  8097d0:    119bc83a     sub    r13,r2,r6
  8097d4:    2013883a     mov    r9,r4
  8097d8:    2005883a     mov    r2,r4
  8097dc:    2815883a     mov    r10,r5
  8097e0:    30000826     beq    r6,zero,809804 &lt;__ashldi3+0x38&gt;
  8097e4:    0349c83a     sub    r4,zero,r13
  8097e8:    2986983a     sll    r3,r5,r6
  8097ec:    1344d83a     srl    r2,r2,r13
  8097f0:    0340070e     bge    zero,r13,809810 &lt;__ashldi3+0x44&gt;
  8097f4:    4996983a     sll    r11,r9,r6
  8097f8:    1898b03a     or    r12,r3,r2
  8097fc:    5813883a     mov    r9,r11
  809800:    6015883a     mov    r10,r12
  809804:    5007883a     mov    r3,r10
  809808:    4805883a     mov    r2,r9
  80980c:    f800283a     ret
  809810:    4918983a     sll    r12,r9,r4
  809814:    0017883a     mov    r11,zero
  809818:    003ff806     br    8097fc &lt;__ashldi3+0x30&gt;

0080981c &lt;close&gt;:
 * ALT_CLOSE is mapped onto the close() system call in alt_syscall.h
 */
 
int ALT_CLOSE (int fildes)
{
  80981c:    defff804     addi    sp,sp,-32
  809820:    dfc00715     stw    ra,28(sp)
  809824:    df000615     stw    fp,24(sp)
  809828:    d839883a     mov    fp,sp
  80982c:    e1000015     stw    r4,0(fp)
  alt_fd* fd;
  int     rval;

  /*
   * 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 &lt; 0) ? NULL : &amp;alt_fd_list[fildes];
  809830:    e0800017     ldw    r2,0(fp)
  809834:    1004803a     cmplt    r2,r2,zero
  809838:    1000091e     bne    r2,zero,809860 &lt;close+0x44&gt;
  80983c:    e0800017     ldw    r2,0(fp)
  809840:    10800324     muli    r2,r2,12
  809844:    e0800415     stw    r2,16(fp)
  809848:    00802074     movhi    r2,129
  80984c:    10b68104     addi    r2,r2,-9724
  809850:    e0c00417     ldw    r3,16(fp)
  809854:    1887883a     add    r3,r3,r2
  809858:    e0c00415     stw    r3,16(fp)
  80985c:    00000106     br    809864 &lt;close+0x48&gt;
  809860:    e0000415     stw    zero,16(fp)
  809864:    e0800417     ldw    r2,16(fp)
  809868:    e0800115     stw    r2,4(fp)

  if (fd)
  80986c:    e0800117     ldw    r2,4(fp)
  809870:    1005003a     cmpeq    r2,r2,zero
  809874:    10001d1e     bne    r2,zero,8098ec &lt;close+0xd0&gt;
  {
    /*
     * If the associated file system/device has a close function, call it so 
     * that any necessary cleanup code can run.
     */

    rval = (fd-&gt;dev-&gt;close) ? fd-&gt;dev-&gt;close(fd) : 0;
  809878:    e0800117     ldw    r2,4(fp)
  80987c:    10800017     ldw    r2,0(r2)
  809880:    10800417     ldw    r2,16(r2)
  809884:    1005003a     cmpeq    r2,r2,zero
  809888:    1000071e     bne    r2,zero,8098a8 &lt;close+0x8c&gt;
  80988c:    e0800117     ldw    r2,4(fp)
  809890:    10800017     ldw    r2,0(r2)
  809894:    10800417     ldw    r2,16(r2)
  809898:    e1000117     ldw    r4,4(fp)
  80989c:    103ee83a     callr    r2
  8098a0:    e0800515     stw    r2,20(fp)
  8098a4:    00000106     br    8098ac &lt;close+0x90&gt;
  8098a8:    e0000515     stw    zero,20(fp)
  8098ac:    e0c00517     ldw    r3,20(fp)
  8098b0:    e0c00215     stw    r3,8(fp)

    /* Free the file descriptor structure and return. */

    alt_release_fd (fildes);
  8098b4:    e1000017     ldw    r4,0(fp)
  8098b8:    080a2640     call    80a264 &lt;alt_release_fd&gt;
    if (rval &lt; 0)
  8098bc:    e0800217     ldw    r2,8(fp)
  8098c0:    1004403a     cmpge    r2,r2,zero
  8098c4:    1000071e     bne    r2,zero,8098e4 &lt;close+0xc8&gt;
    {
      ALT_ERRNO = -rval;
  8098c8:    08099180     call    809918 &lt;alt_get_errno&gt;
  8098cc:    e0c00217     ldw    r3,8(fp)
  8098d0:    00c7c83a     sub    r3,zero,r3
  8098d4:    10c00015     stw    r3,0(r2)
      return -1;
  8098d8:    00bfffc4     movi    r2,-1
  8098dc:    e0800315     stw    r2,12(fp)
  8098e0:    00000806     br    809904 &lt;close+0xe8&gt;
    }
    return 0;
  8098e4:    e0000315     stw    zero,12(fp)
  8098e8:    00000606     br    809904 &lt;close+0xe8&gt;
  }
  else
  {
    ALT_ERRNO = EBADFD;
  8098ec:    08099180     call    809918 &lt;alt_get_errno&gt;
  8098f0:    1007883a     mov    r3,r2
  8098f4:    00801444     movi    r2,81
  8098f8:    18800015     stw    r2,0(r3)
    return -1;
  8098fc:    00ffffc4     movi    r3,-1
  809900:    e0c00315     stw    r3,12(fp)
  }
}
  809904:    e0800317     ldw    r2,12(fp)
  809908:    dfc00717     ldw    ra,28(sp)
  80990c:    df000617     ldw    fp,24(sp)
  809910:    dec00804     addi    sp,sp,32
  809914:    f800283a     ret

00809918 &lt;alt_get_errno&gt;:

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
  809918:    defffd04     addi    sp,sp,-12
  80991c:    dfc00215     stw    ra,8(sp)
  809920:    df000115     stw    fp,4(sp)
  809924:    d839883a     mov    fp,sp
  return ((alt_errno) ? alt_errno() : &amp;errno);
  809928:    d0a01017     ldw    r2,-32704(gp)
  80992c:    1005003a     cmpeq    r2,r2,zero
  809930:    1000041e     bne    r2,zero,809944 &lt;alt_get_errno+0x2c&gt;
  809934:    d0a01017     ldw    r2,-32704(gp)
  809938:    103ee83a     callr    r2
  80993c:    e0800015     stw    r2,0(fp)
  809940:    00000206     br    80994c &lt;alt_get_errno+0x34&gt;
  809944:    d0a01d04     addi    r2,gp,-32652
  809948:    e0800015     stw    r2,0(fp)
  80994c:    e0800017     ldw    r2,0(fp)
}
  809950:    dfc00217     ldw    ra,8(sp)
  809954:    df000117     ldw    fp,4(sp)
  809958:    dec00304     addi    sp,sp,12
  80995c:    f800283a     ret

00809960 &lt;alt_dev_null_write&gt;:
 * indicates that the data has been successfully transmitted.
 */

static int alt_dev_null_write (alt_fd* fd, const char* ptr, int len)
{
  809960:    defffc04     addi    sp,sp,-16
  809964:    df000315     stw    fp,12(sp)
  809968:    d839883a     mov    fp,sp
  80996c:    e1000015     stw    r4,0(fp)
  809970:    e1400115     stw    r5,4(fp)
  809974:    e1800215     stw    r6,8(fp)
  return len;
  809978:    e0800217     ldw    r2,8(fp)
}
  80997c:    df000317     ldw    fp,12(sp)
  809980:    dec00404     addi    sp,sp,16
  809984:    f800283a     ret

00809988 &lt;fstat&gt;:

#else /* !ALT_USE_DIRECT_DRIVERS */

int ALT_FSTAT (int file, struct stat *st)
{
  809988:    defff904     addi    sp,sp,-28
  80998c:    dfc00615     stw    ra,24(sp)
  809990:    df000515     stw    fp,20(sp)
  809994:    d839883a     mov    fp,sp
  809998:    e1000015     stw    r4,0(fp)
  80999c:    e1400115     stw    r5,4(fp)
  alt_fd*  fd;

  /*
   * 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 &lt; 0) ? NULL : &amp;alt_fd_list[file];
  8099a0:    e0800017     ldw    r2,0(fp)
  8099a4:    1004803a     cmplt    r2,r2,zero
  8099a8:    1000091e     bne    r2,zero,8099d0 &lt;fstat+0x48&gt;
  8099ac:    e0800017     ldw    r2,0(fp)
  8099b0:    10800324     muli    r2,r2,12
  8099b4:    e0800415     stw    r2,16(fp)
  8099b8:    00802074     movhi    r2,129
  8099bc:    10b68104     addi    r2,r2,-9724
  8099c0:    e0c00417     ldw    r3,16(fp)
  8099c4:    1887883a     add    r3,r3,r2
  8099c8:    e0c00415     stw    r3,16(fp)
  8099cc:    00000106     br    8099d4 &lt;fstat+0x4c&gt;
  8099d0:    e0000415     stw    zero,16(fp)
  8099d4:    e0800417     ldw    r2,16(fp)
  8099d8:    e0800215     stw    r2,8(fp)
  
  if (fd)
  8099dc:    e0800217     ldw    r2,8(fp)
  8099e0:    1005003a     cmpeq    r2,r2,zero
  8099e4:    1000121e     bne    r2,zero,809a30 &lt;fstat+0xa8&gt;
  {
    /* Call the drivers fstat() function to fill out the "st" structure. */

    if (fd-&gt;dev-&gt;fstat)
  8099e8:    e0800217     ldw    r2,8(fp)
  8099ec:    10800017     ldw    r2,0(r2)
  8099f0:    10800817     ldw    r2,32(r2)
  8099f4:    1005003a     cmpeq    r2,r2,zero
  8099f8:    1000081e     bne    r2,zero,809a1c &lt;fstat+0x94&gt;
    {
      return fd-&gt;dev-&gt;fstat(fd, st);
  8099fc:    e0800217     ldw    r2,8(fp)
  809a00:    10800017     ldw    r2,0(r2)
  809a04:    10800817     ldw    r2,32(r2)
  809a08:    e1000217     ldw    r4,8(fp)
  809a0c:    e1400117     ldw    r5,4(fp)
  809a10:    103ee83a     callr    r2
  809a14:    e0800315     stw    r2,12(fp)
  809a18:    00000b06     br    809a48 &lt;fstat+0xc0&gt;
    }

    /* 
     * If no function is provided, mark the fd as belonging to a character 
     * device.
     */
 
    else
    {
      st-&gt;st_mode = _IFCHR;
  809a1c:    e0c00117     ldw    r3,4(fp)
  809a20:    00880004     movi    r2,8192
  809a24:    18800115     stw    r2,4(r3)
      return 0;
  809a28:    e0000315     stw    zero,12(fp)
  809a2c:    00000606     br    809a48 &lt;fstat+0xc0&gt;
    }
  }
  else
  {
    ALT_ERRNO = EBADFD;
  809a30:    0809a5c0     call    809a5c &lt;alt_get_errno&gt;
  809a34:    1007883a     mov    r3,r2
  809a38:    00801444     movi    r2,81
  809a3c:    18800015     stw    r2,0(r3)
    return -1;
  809a40:    00ffffc4     movi    r3,-1
  809a44:    e0c00315     stw    r3,12(fp)
  }
}
  809a48:    e0800317     ldw    r2,12(fp)
  809a4c:    dfc00617     ldw    ra,24(sp)
  809a50:    df000517     ldw    fp,20(sp)
  809a54:    dec00704     addi    sp,sp,28
  809a58:    f800283a     ret

00809a5c &lt;alt_get_errno&gt;:

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
  809a5c:    defffd04     addi    sp,sp,-12
  809a60:    dfc00215     stw    ra,8(sp)
  809a64:    df000115     stw    fp,4(sp)
  809a68:    d839883a     mov    fp,sp
  return ((alt_errno) ? alt_errno() : &amp;errno);
  809a6c:    d0a01017     ldw    r2,-32704(gp)
  809a70:    1005003a     cmpeq    r2,r2,zero
  809a74:    1000041e     bne    r2,zero,809a88 &lt;alt_get_errno+0x2c&gt;
  809a78:    d0a01017     ldw    r2,-32704(gp)
  809a7c:    103ee83a     callr    r2
  809a80:    e0800015     stw    r2,0(fp)
  809a84:    00000206     br    809a90 &lt;alt_get_errno+0x34&gt;
  809a88:    d0a01d04     addi    r2,gp,-32652
  809a8c:    e0800015     stw    r2,0(fp)
  809a90:    e0800017     ldw    r2,0(fp)
}
  809a94:    dfc00217     ldw    ra,8(sp)
  809a98:    df000117     ldw    fp,4(sp)
  809a9c:    dec00304     addi    sp,sp,12
  809aa0:    f800283a     ret

00809aa4 &lt;isatty&gt;:
 * ALT_ISATTY is mapped onto the isatty() system call in alt_syscall.h
 */
 
int ALT_ISATTY (int file)
{
  809aa4:    deffeb04     addi    sp,sp,-84
  809aa8:    dfc01415     stw    ra,80(sp)
  809aac:    df001315     stw    fp,76(sp)
  809ab0:    d839883a     mov    fp,sp
  809ab4:    e1000015     stw    r4,0(fp)
  alt_fd*     fd;
  struct stat stat;

  /*
   * 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 &lt; 0) ? NULL : &amp;alt_fd_list[file];
  809ab8:    e0800017     ldw    r2,0(fp)
  809abc:    1004803a     cmplt    r2,r2,zero
  809ac0:    1000091e     bne    r2,zero,809ae8 &lt;isatty+0x44&gt;
  809ac4:    e0800017     ldw    r2,0(fp)
  809ac8:    10800324     muli    r2,r2,12
  809acc:    e0801215     stw    r2,72(fp)
  809ad0:    00802074     movhi    r2,129
  809ad4:    10b68104     addi    r2,r2,-9724
  809ad8:    e0c01217     ldw    r3,72(fp)
  809adc:    1887883a     add    r3,r3,r2
  809ae0:    e0c01215     stw    r3,72(fp)
  809ae4:    00000106     br    809aec &lt;isatty+0x48&gt;
  809ae8:    e0001215     stw    zero,72(fp)
  809aec:    e0801217     ldw    r2,72(fp)
  809af0:    e0800115     stw    r2,4(fp)
  
  if (fd)
  809af4:    e0800117     ldw    r2,4(fp)
  809af8:    1005003a     cmpeq    r2,r2,zero
  809afc:    10000f1e     bne    r2,zero,809b3c &lt;isatty+0x98&gt;
  {
    /*
     * If a device driver does not provide an fstat() function, then it is 
     * treated as a terminal device by default.
     */

    if (!fd-&gt;dev-&gt;fstat)
  809b00:    e0800117     ldw    r2,4(fp)
  809b04:    10800017     ldw    r2,0(r2)
  809b08:    10800817     ldw    r2,32(r2)
  809b0c:    1004c03a     cmpne    r2,r2,zero
  809b10:    1000031e     bne    r2,zero,809b20 &lt;isatty+0x7c&gt;
    {
      return 1;
  809b14:    00c00044     movi    r3,1
  809b18:    e0c01115     stw    r3,68(fp)
  809b1c:    00000c06     br    809b50 &lt;isatty+0xac&gt;
    }

    /*
     * If a driver does provide an implementation of the fstat() function, then
     * this is called so that the device can identify itself.
     */ 

    else
    {
      fstat (file, &amp;stat);
  809b20:    e1400204     addi    r5,fp,8
  809b24:    e1000017     ldw    r4,0(fp)
  809b28:    08099880     call    809988 &lt;fstat&gt;
      return (stat.st_mode == _IFCHR) ? 1 : 0;
  809b2c:    e0800317     ldw    r2,12(fp)
  809b30:    10880020     cmpeqi    r2,r2,8192
  809b34:    e0801115     stw    r2,68(fp)
  809b38:    00000506     br    809b50 &lt;isatty+0xac&gt;
    }
  }
  else
  {
    ALT_ERRNO = EBADFD;
  809b3c:    0809b640     call    809b64 &lt;alt_get_errno&gt;
  809b40:    1007883a     mov    r3,r2
  809b44:    00801444     movi    r2,81
  809b48:    18800015     stw    r2,0(r3)
    return 0;
  809b4c:    e0001115     stw    zero,68(fp)
  }
}
  809b50:    e0801117     ldw    r2,68(fp)
  809b54:    dfc01417     ldw    ra,80(sp)
  809b58:    df001317     ldw    fp,76(sp)
  809b5c:    dec01504     addi    sp,sp,84
  809b60:    f800283a     ret

00809b64 &lt;alt_get_errno&gt;:

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
  809b64:    defffd04     addi    sp,sp,-12
  809b68:    dfc00215     stw    ra,8(sp)
  809b6c:    df000115     stw    fp,4(sp)
  809b70:    d839883a     mov    fp,sp
  return ((alt_errno) ? alt_errno() : &amp;errno);
  809b74:    d0a01017     ldw    r2,-32704(gp)
  809b78:    1005003a     cmpeq    r2,r2,zero
  809b7c:    1000041e     bne    r2,zero,809b90 &lt;alt_get_errno+0x2c&gt;
  809b80:    d0a01017     ldw    r2,-32704(gp)
  809b84:    103ee83a     callr    r2
  809b88:    e0800015     stw    r2,0(fp)
  809b8c:    00000206     br    809b98 &lt;alt_get_errno+0x34&gt;
  809b90:    d0a01d04     addi    r2,gp,-32652
  809b94:    e0800015     stw    r2,0(fp)
  809b98:    e0800017     ldw    r2,0(fp)
}
  809b9c:    dfc00217     ldw    ra,8(sp)
  809ba0:    df000117     ldw    fp,4(sp)
  809ba4:    dec00304     addi    sp,sp,12
  809ba8:    f800283a     ret

00809bac &lt;alt_load&gt;:
 * RAM any sections that are required.
 */  

void alt_load (void)
{
  809bac:    defffe04     addi    sp,sp,-8
  809bb0:    dfc00115     stw    ra,4(sp)
  809bb4:    df000015     stw    fp,0(sp)
  809bb8:    d839883a     mov    fp,sp
  /* 
   * Copy the .rwdata section. 
   */

  alt_load_section (&amp;__flash_rwdata_start, 
  809bbc:    01002074     movhi    r4,129
  809bc0:    21348904     addi    r4,r4,-11740
  809bc4:    01402074     movhi    r5,129
  809bc8:    29748904     addi    r5,r5,-11740
  809bcc:    01802074     movhi    r6,129
  809bd0:    31bb5e04     addi    r6,r6,-4744
  809bd4:    0809c280     call    809c28 &lt;alt_load_section&gt;
                        &amp;__ram_rwdata_start,
                        &amp;__ram_rwdata_end);

  /*
   * Copy the exception handler.
   */

  alt_load_section (&amp;__flash_exceptions_start, 
  809bd8:    01002034     movhi    r4,128
  809bdc:    21000804     addi    r4,r4,32
  809be0:    01402034     movhi    r5,128
  809be4:    29400804     addi    r5,r5,32
  809be8:    01802034     movhi    r6,128
  809bec:    31807204     addi    r6,r6,456
  809bf0:    0809c280     call    809c28 &lt;alt_load_section&gt;
                        &amp;__ram_exceptions_start,
                        &amp;__ram_exceptions_end);

  /*
   * Copy the .rodata section.
   */

  alt_load_section (&amp;__flash_rodata_start, 
  809bf4:    01002074     movhi    r4,129
  809bf8:    2132e204     addi    r4,r4,-13432
  809bfc:    01402074     movhi    r5,129
  809c00:    2972e204     addi    r5,r5,-13432
  809c04:    01802074     movhi    r6,129
  809c08:    31b48904     addi    r6,r6,-11740
  809c0c:    0809c280     call    809c28 &lt;alt_load_section&gt;
                        &amp;__ram_rodata_start,
                        &amp;__ram_rodata_end);
  
  /*
   * Now ensure that the caches are in synch.
   */
  
  alt_dcache_flush_all();
  809c10:    080bed00     call    80bed0 &lt;alt_dcache_flush_all&gt;
  alt_icache_flush_all();
  809c14:    080c2d80     call    80c2d8 &lt;alt_icache_flush_all&gt;
}
  809c18:    dfc00117     ldw    ra,4(sp)
  809c1c:    df000017     ldw    fp,0(sp)
  809c20:    dec00204     addi    sp,sp,8
  809c24:    f800283a     ret

00809c28 &lt;alt_load_section&gt;:

static void ALT_INLINE alt_load_section (alt_u32* from, 
                                         alt_u32* to, 
                                         alt_u32* end)
{
  809c28:    defffc04     addi    sp,sp,-16
  809c2c:    df000315     stw    fp,12(sp)
  809c30:    d839883a     mov    fp,sp
  809c34:    e1000015     stw    r4,0(fp)
  809c38:    e1400115     stw    r5,4(fp)
  809c3c:    e1800215     stw    r6,8(fp)
  if (to != from)
  809c40:    e0c00117     ldw    r3,4(fp)
  809c44:    e0800017     ldw    r2,0(fp)
  809c48:    18800e26     beq    r3,r2,809c84 &lt;alt_load_section+0x5c&gt;
  {
    while( to != end )
  809c4c:    e0c00117     ldw    r3,4(fp)
  809c50:    e0800217     ldw    r2,8(fp)
  809c54:    18800b26     beq    r3,r2,809c84 &lt;alt_load_section+0x5c&gt;
    {
      *to++ = *from++;
  809c58:    e1400104     addi    r5,fp,4
  809c5c:    28c00017     ldw    r3,0(r5)
  809c60:    e0800017     ldw    r2,0(fp)
  809c64:    11000017     ldw    r4,0(r2)
  809c68:    10800104     addi    r2,r2,4
  809c6c:    e0800015     stw    r2,0(fp)
  809c70:    1805883a     mov    r2,r3
  809c74:    11000015     stw    r4,0(r2)
  809c78:    18c00104     addi    r3,r3,4
  809c7c:    28c00015     stw    r3,0(r5)
  809c80:    003ff206     br    809c4c &lt;alt_load_section+0x24&gt;
    }
  }
}
  809c84:    df000317     ldw    fp,12(sp)
  809c88:    dec00404     addi    sp,sp,16
  809c8c:    f800283a     ret

00809c90 &lt;lseek&gt;:
 *
 */

off_t ALT_LSEEK (int file, off_t ptr, int dir)
{
  809c90:    defff804     addi    sp,sp,-32
  809c94:    dfc00715     stw    ra,28(sp)
  809c98:    df000615     stw    fp,24(sp)
  809c9c:    d839883a     mov    fp,sp
  809ca0:    e1000015     stw    r4,0(fp)
  809ca4:    e1400115     stw    r5,4(fp)
  809ca8:    e1800215     stw    r6,8(fp)
  alt_fd* fd;
  off_t   rc = 0; 
  809cac:    e0000415     stw    zero,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 = (file &lt; 0) ? NULL : &amp;alt_fd_list[file];
  809cb0:    e0800017     ldw    r2,0(fp)
  809cb4:    1004803a     cmplt    r2,r2,zero
  809cb8:    1000091e     bne    r2,zero,809ce0 &lt;lseek+0x50&gt;
  809cbc:    e0800017     ldw    r2,0(fp)
  809cc0:    10800324     muli    r2,r2,12
  809cc4:    e0800515     stw    r2,20(fp)
  809cc8:    00802074     movhi    r2,129
  809ccc:    10b68104     addi    r2,r2,-9724
  809cd0:    e0c00517     ldw    r3,20(fp)
  809cd4:    1887883a     add    r3,r3,r2
  809cd8:    e0c00515     stw    r3,20(fp)
  809cdc:    00000106     br    809ce4 &lt;lseek+0x54&gt;
  809ce0:    e0000515     stw    zero,20(fp)
  809ce4:    e0800517     ldw    r2,20(fp)
  809ce8:    e0800315     stw    r2,12(fp)
  
  if (fd) 
  809cec:    e0800317     ldw    r2,12(fp)
  809cf0:    1005003a     cmpeq    r2,r2,zero
  809cf4:    1000111e     bne    r2,zero,809d3c &lt;lseek+0xac&gt;
  {
    /*
     * If the device driver provides an implementation of the lseek() function,
     * then call that to process the request.
     */
 
    if (fd-&gt;dev-&gt;lseek)
  809cf8:    e0800317     ldw    r2,12(fp)
  809cfc:    10800017     ldw    r2,0(r2)
  809d00:    10800717     ldw    r2,28(r2)
  809d04:    1005003a     cmpeq    r2,r2,zero
  809d08:    1000091e     bne    r2,zero,809d30 &lt;lseek+0xa0&gt;
    {
      rc = fd-&gt;dev-&gt;lseek(fd, ptr, dir);
  809d0c:    e0800317     ldw    r2,12(fp)
  809d10:    10800017     ldw    r2,0(r2)
  809d14:    10800717     ldw    r2,28(r2)
  809d18:    e1000317     ldw    r4,12(fp)
  809d1c:    e1400117     ldw    r5,4(fp)
  809d20:    e1800217     ldw    r6,8(fp)
  809d24:    103ee83a     callr    r2
  809d28:    e0800415     stw    r2,16(fp)
  809d2c:    00000506     br    809d44 &lt;lseek+0xb4&gt;
    }
    /*
     * Otherwise return an error.
     */

    else
    {
      rc = -ENOTSUP;
  809d30:    00bfde84     movi    r2,-134
  809d34:    e0800415     stw    r2,16(fp)
  809d38:    00000206     br    809d44 &lt;lseek+0xb4&gt;
    }
  }
  else  
  {
    rc = -EBADFD;
  809d3c:    00bfebc4     movi    r2,-81
  809d40:    e0800415     stw    r2,16(fp)
  }

  if (rc &lt; 0)
  809d44:    e0800417     ldw    r2,16(fp)
  809d48:    1004403a     cmpge    r2,r2,zero
  809d4c:    1000071e     bne    r2,zero,809d6c &lt;lseek+0xdc&gt;
  {
    ALT_ERRNO = -rc;
  809d50:    0809d800     call    809d80 &lt;alt_get_errno&gt;
  809d54:    1007883a     mov    r3,r2
  809d58:    e0800417     ldw    r2,16(fp)
  809d5c:    0085c83a     sub    r2,zero,r2
  809d60:    18800015     stw    r2,0(r3)
    rc = -1;
  809d64:    00bfffc4     movi    r2,-1
  809d68:    e0800415     stw    r2,16(fp)
  }

  return rc;
  809d6c:    e0800417     ldw    r2,16(fp)
}
  809d70:    dfc00717     ldw    ra,28(sp)
  809d74:    df000617     ldw    fp,24(sp)
  809d78:    dec00804     addi    sp,sp,32
  809d7c:    f800283a     ret

00809d80 &lt;alt_get_errno&gt;:

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
  809d80:    defffd04     addi    sp,sp,-12
  809d84:    dfc00215     stw    ra,8(sp)
  809d88:    df000115     stw    fp,4(sp)
  809d8c:    d839883a     mov    fp,sp
  return ((alt_errno) ? alt_errno() : &amp;errno);
  809d90:    d0a01017     ldw    r2,-32704(gp)
  809d94:    1005003a     cmpeq    r2,r2,zero
  809d98:    1000041e     bne    r2,zero,809dac &lt;alt_get_errno+0x2c&gt;
  809d9c:    d0a01017     ldw    r2,-32704(gp)
  809da0:    103ee83a     callr    r2
  809da4:    e0800015     stw    r2,0(fp)
  809da8:    00000206     br    809db4 &lt;alt_get_errno+0x34&gt;
  809dac:    d0a01d04     addi    r2,gp,-32652
  809db0:    e0800015     stw    r2,0(fp)
  809db4:    e0800017     ldw    r2,0(fp)
}
  809db8:    dfc00217     ldw    ra,8(sp)
  809dbc:    df000117     ldw    fp,4(sp)
  809dc0:    dec00304     addi    sp,sp,12
  809dc4:    f800283a     ret

00809dc8 &lt;alt_main&gt;:
 * the users application, i.e. main().
 */

void alt_main (void)
{
  809dc8:    defffd04     addi    sp,sp,-12
  809dcc:    dfc00215     stw    ra,8(sp)
  809dd0:    df000115     stw    fp,4(sp)
  809dd4:    d839883a     mov    fp,sp
 */

static ALT_INLINE void ALT_ALWAYS_INLINE 
       alt_irq_init (const void* base)
{
  809dd8:    e0000015     stw    zero,0(fp)
  NIOS2_WRITE_IENABLE (0);
  809ddc:    000170fa     wrctl    ienable,zero
  NIOS2_WRITE_STATUS (NIOS2_STATUS_PIE_MSK);
  809de0:    00800044     movi    r2,1
  809de4:    1001703a     wrctl    status,r2
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  809de8:    e0000015     stw    zero,0(fp)

  /* 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 (ALT_IRQ_BASE);

  /* Initialize the operating system */
  ALT_LOG_PRINT_BOOT("[alt_main.c] Done alt_irq_init, calling alt_os_init.\r\n");
  ALT_OS_INIT();

  /*
   * Initialize the semaphore used to control access to the file descriptor
   * list.
   */

  ALT_LOG_PRINT_BOOT("[alt_main.c] Done OS Init, calling alt_sem_create.\r\n");
  ALT_SEM_CREATE (&amp;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();
  809dec:    080a3740     call    80a374 &lt;alt_sys_init&gt;
  ALT_LOG_PRINT_BOOT("[alt_main.c] Done alt_sys_init.\r\n");

#if !defined(ALT_USE_DIRECT_DRIVERS) &amp;&amp; (defined(ALT_STDIN_PRESENT) || defined(ALT_STDOUT_PRESENT) || defined(ALT_STDERR_PRESENT))

  /*
   * Redirect stdio to the apropriate devices now that the devices have
   * been initialized. This is only done if the user has requested these
   * 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);
  809df0:    01002074     movhi    r4,129
  809df4:    21341e04     addi    r4,r4,-12168
  809df8:    01402074     movhi    r5,129
  809dfc:    29741e04     addi    r5,r5,-12168
  809e00:    01802074     movhi    r6,129
  809e04:    31b41e04     addi    r6,r6,-12168
  809e08:    080c3c40     call    80c3c4 &lt;alt_io_redirect&gt;
#endif

#ifndef ALT_NO_C_PLUS_PLUS
  /* 
   * Call the C++ constructors 
   */

  ALT_LOG_PRINT_BOOT("[alt_main.c] Calling C++ constructors.\r\n");
  _do_ctors ();
  809e0c:    080c0080     call    80c008 &lt;_do_ctors&gt;
#endif /* ALT_NO_C_PLUS_PLUS */

#if !defined(ALT_NO_C_PLUS_PLUS) &amp;&amp; !defined(ALT_NO_CLEAN_EXIT) &amp;&amp; !defined(ALT_NO_EXIT)
  /*
   * Set the C++ destructors to be called at system shutdown. This is only done
   * if a clean exit has been requested (i.e. the exit() function has not been
   * 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);
  809e10:    01002074     movhi    r4,129
  809e14:    21301804     addi    r4,r4,-16288
  809e18:    080c9480     call    80c948 &lt;atexit&gt;
#endif

  /*
   * Finally, call main(). The return code is then passed to a subsequent
   * call to exit() unless the application is never supposed to exit.
   */

  ALT_LOG_PRINT_BOOT("[alt_main.c] Calling main.\r\n");

#ifdef ALT_NO_EXIT
  main (alt_argc, alt_argv, alt_envp);
#else
  exit (main (alt_argc, alt_argv, alt_envp));
  809e1c:    d1201117     ldw    r4,-32700(gp)
  809e20:    d1601217     ldw    r5,-32696(gp)
  809e24:    d1a01317     ldw    r6,-32692(gp)
  809e28:    08002140     call    800214 &lt;main&gt;
  809e2c:    1009883a     mov    r4,r2
  809e30:    080c9e40     call    80c9e4 &lt;exit&gt;

00809e34 &lt;__malloc_lock&gt;:
 * this requires that malloc is never called by an interrupt service routine.
 */

void __malloc_lock ( struct _reent *_r )
{
  809e34:    defffe04     addi    sp,sp,-8
  809e38:    df000115     stw    fp,4(sp)
  809e3c:    d839883a     mov    fp,sp
  809e40:    e1000015     stw    r4,0(fp)
  809e44:    df000117     ldw    fp,4(sp)
  809e48:    dec00204     addi    sp,sp,8
  809e4c:    f800283a     ret

00809e50 &lt;__malloc_unlock&gt;:
}

/*
 *
 */

void __malloc_unlock ( struct _reent *_r )
{
  809e50:    defffe04     addi    sp,sp,-8
  809e54:    df000115     stw    fp,4(sp)
  809e58:    d839883a     mov    fp,sp
  809e5c:    e1000015     stw    r4,0(fp)
  809e60:    df000117     ldw    fp,4(sp)
  809e64:    dec00204     addi    sp,sp,8
  809e68:    f800283a     ret

00809e6c &lt;alt_file_locked&gt;:
 * themselves, and report the error from the filesystems open() function. 
 */ 

static int alt_file_locked (alt_fd* fd)
{
  809e6c:    defffc04     addi    sp,sp,-16
  809e70:    df000315     stw    fp,12(sp)
  809e74:    d839883a     mov    fp,sp
  809e78:    e1000015     stw    r4,0(fp)
  alt_u32 i;

  /*
   * Mark the file descriptor as belonging to a device.
   */

  fd-&gt;fd_flags |= ALT_FD_DEV;
  809e7c:    e0c00017     ldw    r3,0(fp)
  809e80:    e0800017     ldw    r2,0(fp)
  809e84:    10800217     ldw    r2,8(r2)
  809e88:    10900034     orhi    r2,r2,16384
  809e8c:    18800215     stw    r2,8(r3)

  /*
   * 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 &lt;= alt_max_fd; i++)
  809e90:    e0000115     stw    zero,4(fp)
  809e94:    d0e00f17     ldw    r3,-32708(gp)
  809e98:    e0800117     ldw    r2,4(fp)
  809e9c:    18802036     bltu    r3,r2,809f20 &lt;alt_file_locked+0xb4&gt;
  {
    if ((alt_fd_list[i].dev == fd-&gt;dev) &amp;&amp;
  809ea0:    00c02074     movhi    r3,129
  809ea4:    18f68104     addi    r3,r3,-9724
  809ea8:    e0800117     ldw    r2,4(fp)
  809eac:    10800324     muli    r2,r2,12
  809eb0:    10c5883a     add    r2,r2,r3
  809eb4:    e0c00017     ldw    r3,0(fp)
  809eb8:    11000017     ldw    r4,0(r2)
  809ebc:    18800017     ldw    r2,0(r3)
  809ec0:    2080131e     bne    r4,r2,809f10 &lt;alt_file_locked+0xa4&gt;
  809ec4:    00c02074     movhi    r3,129
  809ec8:    18f68104     addi    r3,r3,-9724
  809ecc:    e0800117     ldw    r2,4(fp)
  809ed0:    10800324     muli    r2,r2,12
  809ed4:    10c5883a     add    r2,r2,r3
  809ed8:    10800204     addi    r2,r2,8
  809edc:    10800017     ldw    r2,0(r2)
  809ee0:    1004403a     cmpge    r2,r2,zero
  809ee4:    10000a1e     bne    r2,zero,809f10 &lt;alt_file_locked+0xa4&gt;
  809ee8:    e0800117     ldw    r2,4(fp)
  809eec:    10c00324     muli    r3,r2,12
  809ef0:    00802074     movhi    r2,129
  809ef4:    10b68104     addi    r2,r2,-9724
  809ef8:    1887883a     add    r3,r3,r2
  809efc:    e0800017     ldw    r2,0(fp)
  809f00:    18800326     beq    r3,r2,809f10 &lt;alt_file_locked+0xa4&gt;
        (alt_fd_list[i].fd_flags &amp; ALT_FD_EXCL) &amp;&amp;
        (&amp;alt_fd_list[i] != fd))
    {
      return -EACCES;
  809f04:    00bffcc4     movi    r2,-13
  809f08:    e0800215     stw    r2,8(fp)
  809f0c:    00000506     br    809f24 &lt;alt_file_locked+0xb8&gt;
  809f10:    e0800117     ldw    r2,4(fp)
  809f14:    10800044     addi    r2,r2,1
  809f18:    e0800115     stw    r2,4(fp)
  809f1c:    003fdd06     br    809e94 &lt;alt_file_locked+0x28&gt;
    }
  }
  
  /* The device is not locked */
 
  return 0;
  809f20:    e0000215     stw    zero,8(fp)
}
  809f24:    e0800217     ldw    r2,8(fp)
  809f28:    df000317     ldw    fp,12(sp)
  809f2c:    dec00404     addi    sp,sp,16
  809f30:    f800283a     ret

00809f34 &lt;open&gt;:

/*
 * open() is called in order to get a file descriptor that reference the file
 * or device named "name". This descriptor can then be used to manipulate the
 * file/device using the standard system calls, e.g. write(), read(), ioctl()
 * etc.
 *
 * This is equivalent to the standard open() system call.
 *
 * ALT_OPEN is mapped onto the open() system call in alt_syscall.h
 */
 
int ALT_OPEN (const char* file, int flags, int mode)
{ 
  809f34:    defff404     addi    sp,sp,-48
  809f38:    dfc00b15     stw    ra,44(sp)
  809f3c:    df000a15     stw    fp,40(sp)
  809f40:    d839883a     mov    fp,sp
  809f44:    e1000015     stw    r4,0(fp)
  809f48:    e1400115     stw    r5,4(fp)
  809f4c:    e1800215     stw    r6,8(fp)
  alt_dev* dev;
  alt_fd*  fd;
  int index  = -1;
  809f50:    00bfffc4     movi    r2,-1
  809f54:    e0800515     stw    r2,20(fp)
  int status = -ENODEV;
  809f58:    00bffb44     movi    r2,-19
  809f5c:    e0800615     stw    r2,24(fp)
  int isafs = 0;
  809f60:    e0000715     stw    zero,28(fp)

  /* 
   * Check the device list, to see if a device with a matching name is 
   * registered.
   */
  
  if (!(dev = alt_find_dev (file, &amp;alt_dev_list)))
  809f64:    e1000017     ldw    r4,0(fp)
  809f68:    d1600d04     addi    r5,gp,-32716
  809f6c:    080c0b80     call    80c0b8 &lt;alt_find_dev&gt;
  809f70:    e0800315     stw    r2,12(fp)
  809f74:    e0800317     ldw    r2,12(fp)
  809f78:    1004c03a     cmpne    r2,r2,zero
  809f7c:    1000051e     bne    r2,zero,809f94 &lt;open+0x60&gt;
  {
    /* No matching device, so try the filesystem list */

    dev   = alt_find_file (file);
  809f80:    e1000017     ldw    r4,0(fp)
  809f84:    080c1480     call    80c148 &lt;alt_find_file&gt;
  809f88:    e0800315     stw    r2,12(fp)
    isafs = 1;
  809f8c:    00800044     movi    r2,1
  809f90:    e0800715     stw    r2,28(fp)
  }

  /* 
   * If a matching device or filesystem is found, allocate a file descriptor. 
   */

  if (dev)
  809f94:    e0800317     ldw    r2,12(fp)
  809f98:    1005003a     cmpeq    r2,r2,zero
  809f9c:    1000301e     bne    r2,zero,80a060 &lt;open+0x12c&gt;
  {
    if ((index = alt_get_fd (dev)) &lt; 0)
  809fa0:    e1000317     ldw    r4,12(fp)
  809fa4:    080c22c0     call    80c22c &lt;alt_get_fd&gt;
  809fa8:    e0800515     stw    r2,20(fp)
  809fac:    e0800517     ldw    r2,20(fp)
  809fb0:    1004403a     cmpge    r2,r2,zero
  809fb4:    1000031e     bne    r2,zero,809fc4 &lt;open+0x90&gt;
    {
      status = index;
  809fb8:    e0800517     ldw    r2,20(fp)
  809fbc:    e0800615     stw    r2,24(fp)
  809fc0:    00002906     br    80a068 &lt;open+0x134&gt;
    }
    else
    {
      fd = &amp;alt_fd_list[index];
  809fc4:    e0800517     ldw    r2,20(fp)
  809fc8:    10c00324     muli    r3,r2,12
  809fcc:    00802074     movhi    r2,129
  809fd0:    10b68104     addi    r2,r2,-9724
  809fd4:    1885883a     add    r2,r3,r2
  809fd8:    e0800415     stw    r2,16(fp)
      fd-&gt;fd_flags = (flags &amp; ~ALT_FD_FLAGS_MASK);
  809fdc:    e1000417     ldw    r4,16(fp)
  809fe0:    e0c00117     ldw    r3,4(fp)
  809fe4:    00900034     movhi    r2,16384
  809fe8:    10bfffc4     addi    r2,r2,-1
  809fec:    1884703a     and    r2,r3,r2
  809ff0:    20800215     stw    r2,8(r4)
      
      /* If this is a device, ensure it isn't already locked */

      if (isafs || ((status = alt_file_locked (fd)) &gt;= 0))
  809ff4:    e0800717     ldw    r2,28(fp)
  809ff8:    1004c03a     cmpne    r2,r2,zero
  809ffc:    1000071e     bne    r2,zero,80a01c &lt;open+0xe8&gt;
  80a000:    e1000417     ldw    r4,16(fp)
  80a004:    0809e6c0     call    809e6c &lt;alt_file_locked&gt;
  80a008:    e0800615     stw    r2,24(fp)
  80a00c:    e0800617     ldw    r2,24(fp)
  80a010:    1004403a     cmpge    r2,r2,zero
  80a014:    1000011e     bne    r2,zero,80a01c &lt;open+0xe8&gt;
  80a018:    00001306     br    80a068 &lt;open+0x134&gt;
      {
        /* 
         * If the device or filesystem provides an open() callback function,
         * call it now to perform any device/filesystem specific operations.
         */
    
        status = (dev-&gt;open) ? dev-&gt;open(fd, file, flags, mode): 0;
  80a01c:    e0800317     ldw    r2,12(fp)
  80a020:    10800317     ldw    r2,12(r2)
  80a024:    1005003a     cmpeq    r2,r2,zero
  80a028:    1000091e     bne    r2,zero,80a050 &lt;open+0x11c&gt;
  80a02c:    e0800317     ldw    r2,12(fp)
  80a030:    10800317     ldw    r2,12(r2)
  80a034:    e1000417     ldw    r4,16(fp)
  80a038:    e1400017     ldw    r5,0(fp)
  80a03c:    e1800117     ldw    r6,4(fp)
  80a040:    e1c00217     ldw    r7,8(fp)
  80a044:    103ee83a     callr    r2
  80a048:    e0800915     stw    r2,36(fp)
  80a04c:    00000106     br    80a054 &lt;open+0x120&gt;
  80a050:    e0000915     stw    zero,36(fp)
  80a054:    e0800917     ldw    r2,36(fp)
  80a058:    e0800615     stw    r2,24(fp)
  80a05c:    00000206     br    80a068 &lt;open+0x134&gt;
      }
    }
  }
  else
  {
    status = -ENODEV;
  80a060:    00bffb44     movi    r2,-19
  80a064:    e0800615     stw    r2,24(fp)
  }

  /* Allocation failed, so clean up and return an error */ 

  if (status &lt; 0)
  80a068:    e0800617     ldw    r2,24(fp)
  80a06c:    1004403a     cmpge    r2,r2,zero
  80a070:    1000091e     bne    r2,zero,80a098 &lt;open+0x164&gt;
  {
    alt_release_fd (index);  
  80a074:    e1000517     ldw    r4,20(fp)
  80a078:    080a2640     call    80a264 &lt;alt_release_fd&gt;
    ALT_ERRNO = -status;
  80a07c:    080a0b40     call    80a0b4 &lt;alt_get_errno&gt;
  80a080:    e0c00617     ldw    r3,24(fp)
  80a084:    00c7c83a     sub    r3,zero,r3
  80a088:    10c00015     stw    r3,0(r2)
    return -1;
  80a08c:    00bfffc4     movi    r2,-1
  80a090:    e0800815     stw    r2,32(fp)
  80a094:    00000206     br    80a0a0 &lt;open+0x16c&gt;
  }
  
  /* return the reference upon success */

  return index;
  80a098:    e0800517     ldw    r2,20(fp)
  80a09c:    e0800815     stw    r2,32(fp)
}
  80a0a0:    e0800817     ldw    r2,32(fp)
  80a0a4:    dfc00b17     ldw    ra,44(sp)
  80a0a8:    df000a17     ldw    fp,40(sp)
  80a0ac:    dec00c04     addi    sp,sp,48
  80a0b0:    f800283a     ret

0080a0b4 &lt;alt_get_errno&gt;:

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
  80a0b4:    defffd04     addi    sp,sp,-12
  80a0b8:    dfc00215     stw    ra,8(sp)
  80a0bc:    df000115     stw    fp,4(sp)
  80a0c0:    d839883a     mov    fp,sp
  return ((alt_errno) ? alt_errno() : &amp;errno);
  80a0c4:    d0a01017     ldw    r2,-32704(gp)
  80a0c8:    1005003a     cmpeq    r2,r2,zero
  80a0cc:    1000041e     bne    r2,zero,80a0e0 &lt;alt_get_errno+0x2c&gt;
  80a0d0:    d0a01017     ldw    r2,-32704(gp)
  80a0d4:    103ee83a     callr    r2
  80a0d8:    e0800015     stw    r2,0(fp)
  80a0dc:    00000206     br    80a0e8 &lt;alt_get_errno+0x34&gt;
  80a0e0:    d0a01d04     addi    r2,gp,-32652
  80a0e4:    e0800015     stw    r2,0(fp)
  80a0e8:    e0800017     ldw    r2,0(fp)
}
  80a0ec:    dfc00217     ldw    ra,8(sp)
  80a0f0:    df000117     ldw    fp,4(sp)
  80a0f4:    dec00304     addi    sp,sp,12
  80a0f8:    f800283a     ret

0080a0fc &lt;read&gt;:

#else /* !ALT_USE_DIRECT_DRIVERS */

int ALT_READ (int file, void *ptr, size_t len)
{
  80a0fc:    defff704     addi    sp,sp,-36
  80a100:    dfc00815     stw    ra,32(sp)
  80a104:    df000715     stw    fp,28(sp)
  80a108:    d839883a     mov    fp,sp
  80a10c:    e1000015     stw    r4,0(fp)
  80a110:    e1400115     stw    r5,4(fp)
  80a114:    e1800215     stw    r6,8(fp)
  alt_fd*  fd;
  int      rval;

  /*
   * 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 &lt; 0) ? NULL : &amp;alt_fd_list[file];
  80a118:    e0800017     ldw    r2,0(fp)
  80a11c:    1004803a     cmplt    r2,r2,zero
  80a120:    1000091e     bne    r2,zero,80a148 &lt;read+0x4c&gt;
  80a124:    e0800017     ldw    r2,0(fp)
  80a128:    10800324     muli    r2,r2,12
  80a12c:    e0800615     stw    r2,24(fp)
  80a130:    00802074     movhi    r2,129
  80a134:    10b68104     addi    r2,r2,-9724
  80a138:    e0c00617     ldw    r3,24(fp)
  80a13c:    1887883a     add    r3,r3,r2
  80a140:    e0c00615     stw    r3,24(fp)
  80a144:    00000106     br    80a14c &lt;read+0x50&gt;
  80a148:    e0000615     stw    zero,24(fp)
  80a14c:    e0800617     ldw    r2,24(fp)
  80a150:    e0800315     stw    r2,12(fp)
  
  if (fd)
  80a154:    e0800317     ldw    r2,12(fp)
  80a158:    1005003a     cmpeq    r2,r2,zero
  80a15c:    1000241e     bne    r2,zero,80a1f0 &lt;read+0xf4&gt;
  {
    /*
     * 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-&gt;fd_flags &amp; O_ACCMODE) != O_WRONLY) &amp;&amp; 
  80a160:    e0800317     ldw    r2,12(fp)
  80a164:    10800217     ldw    r2,8(r2)
  80a168:    108000cc     andi    r2,r2,3
  80a16c:    10800060     cmpeqi    r2,r2,1
  80a170:    10001a1e     bne    r2,zero,80a1dc &lt;read+0xe0&gt;
  80a174:    e0800317     ldw    r2,12(fp)
  80a178:    10800017     ldw    r2,0(r2)
  80a17c:    10800517     ldw    r2,20(r2)
  80a180:    1005003a     cmpeq    r2,r2,zero
  80a184:    1000151e     bne    r2,zero,80a1dc &lt;read+0xe0&gt;
        (fd-&gt;dev-&gt;read))
      {
        if ((rval = fd-&gt;dev-&gt;read(fd, ptr, len)) &lt; 0)
  80a188:    e0800317     ldw    r2,12(fp)
  80a18c:    10800017     ldw    r2,0(r2)
  80a190:    10800517     ldw    r2,20(r2)
  80a194:    e1000317     ldw    r4,12(fp)
  80a198:    e1400117     ldw    r5,4(fp)
  80a19c:    e1800217     ldw    r6,8(fp)
  80a1a0:    103ee83a     callr    r2
  80a1a4:    e0800415     stw    r2,16(fp)
  80a1a8:    e0800417     ldw    r2,16(fp)
  80a1ac:    1004403a     cmpge    r2,r2,zero
  80a1b0:    1000071e     bne    r2,zero,80a1d0 &lt;read+0xd4&gt;
        {
          ALT_ERRNO = -rval;
  80a1b4:    080a21c0     call    80a21c &lt;alt_get_errno&gt;
  80a1b8:    e0c00417     ldw    r3,16(fp)
  80a1bc:    00c7c83a     sub    r3,zero,r3
  80a1c0:    10c00015     stw    r3,0(r2)
          return -1;
  80a1c4:    00ffffc4     movi    r3,-1
  80a1c8:    e0c00515     stw    r3,20(fp)
  80a1cc:    00000e06     br    80a208 &lt;read+0x10c&gt;
        }
        return rval;
  80a1d0:    e0800417     ldw    r2,16(fp)
  80a1d4:    e0800515     stw    r2,20(fp)
  80a1d8:    00000b06     br    80a208 &lt;read+0x10c&gt;
      }
      else
      {
        ALT_ERRNO = EACCES;
  80a1dc:    080a21c0     call    80a21c &lt;alt_get_errno&gt;
  80a1e0:    1007883a     mov    r3,r2
  80a1e4:    00800344     movi    r2,13
  80a1e8:    18800015     stw    r2,0(r3)
  80a1ec:    00000406     br    80a200 &lt;read+0x104&gt;
      }
    }
  else
  {
    ALT_ERRNO = EBADFD;
  80a1f0:    080a21c0     call    80a21c &lt;alt_get_errno&gt;
  80a1f4:    1007883a     mov    r3,r2
  80a1f8:    00801444     movi    r2,81
  80a1fc:    18800015     stw    r2,0(r3)
  }
  return -1;
  80a200:    00bfffc4     movi    r2,-1
  80a204:    e0800515     stw    r2,20(fp)
}
  80a208:    e0800517     ldw    r2,20(fp)
  80a20c:    dfc00817     ldw    ra,32(sp)
  80a210:    df000717     ldw    fp,28(sp)
  80a214:    dec00904     addi    sp,sp,36
  80a218:    f800283a     ret

0080a21c &lt;alt_get_errno&gt;:

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
  80a21c:    defffd04     addi    sp,sp,-12
  80a220:    dfc00215     stw    ra,8(sp)
  80a224:    df000115     stw    fp,4(sp)
  80a228:    d839883a     mov    fp,sp
  return ((alt_errno) ? alt_errno() : &amp;errno);
  80a22c:    d0a01017     ldw    r2,-32704(gp)
  80a230:    1005003a     cmpeq    r2,r2,zero
  80a234:    1000041e     bne    r2,zero,80a248 &lt;alt_get_errno+0x2c&gt;
  80a238:    d0a01017     ldw    r2,-32704(gp)
  80a23c:    103ee83a     callr    r2
  80a240:    e0800015     stw    r2,0(fp)
  80a244:    00000206     br    80a250 &lt;alt_get_errno+0x34&gt;
  80a248:    d0a01d04     addi    r2,gp,-32652
  80a24c:    e0800015     stw    r2,0(fp)
  80a250:    e0800017     ldw    r2,0(fp)
}
  80a254:    dfc00217     ldw    ra,8(sp)
  80a258:    df000117     ldw    fp,4(sp)
  80a25c:    dec00304     addi    sp,sp,12
  80a260:    f800283a     ret

0080a264 &lt;alt_release_fd&gt;:
 * error cannont be released backed to the pool. They are always reserved.
 */

void alt_release_fd (int fd)
{
  80a264:    defffe04     addi    sp,sp,-8
  80a268:    df000115     stw    fp,4(sp)
  80a26c:    d839883a     mov    fp,sp
  80a270:    e1000015     stw    r4,0(fp)
  if (fd &gt; 2)
  80a274:    e0800017     ldw    r2,0(fp)
  80a278:    108000d0     cmplti    r2,r2,3
  80a27c:    10000d1e     bne    r2,zero,80a2b4 &lt;alt_release_fd+0x50&gt;
  {
    alt_fd_list[fd].fd_flags = 0;
  80a280:    00c02074     movhi    r3,129
  80a284:    18f68104     addi    r3,r3,-9724
  80a288:    e0800017     ldw    r2,0(fp)
  80a28c:    10800324     muli    r2,r2,12
  80a290:    10c5883a     add    r2,r2,r3
  80a294:    10800204     addi    r2,r2,8
  80a298:    10000015     stw    zero,0(r2)
    alt_fd_list[fd].dev      = 0;
  80a29c:    00c02074     movhi    r3,129
  80a2a0:    18f68104     addi    r3,r3,-9724
  80a2a4:    e0800017     ldw    r2,0(fp)
  80a2a8:    10800324     muli    r2,r2,12
  80a2ac:    10c5883a     add    r2,r2,r3
  80a2b0:    10000015     stw    zero,0(r2)
  }
}
  80a2b4:    df000117     ldw    fp,4(sp)
  80a2b8:    dec00204     addi    sp,sp,8
  80a2bc:    f800283a     ret

0080a2c0 &lt;sbrk&gt;:
 
caddr_t ALT_SBRK (int incr) __attribute__ ((no_instrument_function ));

caddr_t ALT_SBRK (int incr)
{ 
  80a2c0:    defff904     addi    sp,sp,-28
  80a2c4:    df000615     stw    fp,24(sp)
  80a2c8:    d839883a     mov    fp,sp
  80a2cc:    e1000015     stw    r4,0(fp)
       alt_irq_disable_all (void)
{
  alt_irq_context context;

  NIOS2_READ_STATUS (context);
  80a2d0:    0005303a     rdctl    r2,status
  80a2d4:    e0800415     stw    r2,16(fp)
  NIOS2_WRITE_STATUS (0);
  80a2d8:    0001703a     wrctl    status,zero
  80a2dc:    e0800417     ldw    r2,16(fp)
  80a2e0:    e0800315     stw    r2,12(fp)
  80a2e4:    e0800317     ldw    r2,12(fp)
  80a2e8:    e0800115     stw    r2,4(fp)
  alt_irq_context context;
  char *prev_heap_end; 

  context = alt_irq_disable_all();

  /* Always return data aligned on a word boundary */
  heap_end = (char *)(((unsigned int)heap_end + 3) &amp; ~3);
  80a2ec:    d0a01417     ldw    r2,-32688(gp)
  80a2f0:    10c000c4     addi    r3,r2,3
  80a2f4:    00bfff04     movi    r2,-4
  80a2f8:    1884703a     and    r2,r3,r2
  80a2fc:    d0a01415     stw    r2,-32688(gp)

#ifdef ALT_MAX_HEAP_BYTES
  /*  
   * User specified a maximum heap size.  Return -1 if it would
   * be exceeded by this sbrk call.
   */
  if (((heap_end + incr) - __alt_heap_start) &gt; ALT_MAX_HEAP_BYTES) {
    alt_irq_enable_all(context);
    return (caddr_t)-1;
  }
#else
  if ((heap_end + incr) &gt; __alt_heap_limit) {
  80a300:    d0e01417     ldw    r3,-32688(gp)
  80a304:    e0800017     ldw    r2,0(fp)
  80a308:    1887883a     add    r3,r3,r2
  80a30c:    00804034     movhi    r2,256
  80a310:    10800004     addi    r2,r2,0
  80a314:    10c0072e     bgeu    r2,r3,80a334 &lt;sbrk+0x74&gt;
 */

static ALT_INLINE void ALT_ALWAYS_INLINE 
       alt_irq_enable_all (alt_irq_context context)
{
  80a318:    e0800117     ldw    r2,4(fp)
  80a31c:    e0800415     stw    r2,16(fp)
  NIOS2_WRITE_STATUS (context);
  80a320:    e0800417     ldw    r2,16(fp)
  80a324:    1001703a     wrctl    status,r2
    alt_irq_enable_all(context);
    return (caddr_t)-1;
  80a328:    00bfffc4     movi    r2,-1
  80a32c:    e0800515     stw    r2,20(fp)
  80a330:    00000c06     br    80a364 &lt;sbrk+0xa4&gt;
  }
#endif

  prev_heap_end = heap_end; 
  80a334:    d0a01417     ldw    r2,-32688(gp)
  80a338:    e0800215     stw    r2,8(fp)
  heap_end += incr; 
  80a33c:    d0e01417     ldw    r3,-32688(gp)
  80a340:    e0800017     ldw    r2,0(fp)
  80a344:    1885883a     add    r2,r3,r2
  80a348:    d0a01415     stw    r2,-32688(gp)
 */

static ALT_INLINE void ALT_ALWAYS_INLINE 
       alt_irq_enable_all (alt_irq_context context)
{
  80a34c:    e0800117     ldw    r2,4(fp)
  80a350:    e0800415     stw    r2,16(fp)
  NIOS2_WRITE_STATUS (context);
  80a354:    e0800417     ldw    r2,16(fp)
  80a358:    1001703a     wrctl    status,r2

#ifdef ALT_STACK_CHECK
  /*
   * If the stack and heap are contiguous then extending the heap reduces the
   * space available for the stack.  If we are still using the default stack
   * then adjust the stack limit to note this, while checking for stack
   * pointer overflow. 
   * If the stack limit isn't pointing at the top of the heap then the code
   * is using a different stack so none of this needs to be done.
   */

  if (alt_stack_limit() == prev_heap_end)
  {
    if (alt_stack_pointer() &lt;= heap_end)
      alt_report_stack_overflow();

    alt_set_stack_limit(heap_end);
  }

#ifdef ALT_EXCEPTION_STACK
  /*
   * If we are executing from the exception stack then compare against the
   * stack we switched away from as well.  The exception stack is a fixed
   * size so doesn't need to be checked.
   */

  if (alt_exception_old_stack_limit == prev_heap_end)
  {
    if (alt_exception_old_stack_limit &lt;= heap_end)
      alt_report_stack_overflow();

    alt_exception_old_stack_limit = heap_end;
  }
#endif

#endif

  alt_irq_enable_all(context);

  return (caddr_t) prev_heap_end; 
  80a35c:    e0800217     ldw    r2,8(fp)
  80a360:    e0800515     stw    r2,20(fp)
} 
  80a364:    e0800517     ldw    r2,20(fp)
  80a368:    df000617     ldw    fp,24(sp)
  80a36c:    dec00704     addi    sp,sp,28
  80a370:    f800283a     ret

0080a374 &lt;alt_sys_init&gt;:
  80a374:    defffe04     addi    sp,sp,-8
  80a378:    dfc00115     stw    ra,4(sp)
  80a37c:    df000015     stw    fp,0(sp)
  80a380:    d839883a     mov    fp,sp
  80a384:    01004034     movhi    r4,256
  80a388:    21040004     addi    r4,r4,4096
  80a38c:    000b883a     mov    r5,zero
  80a390:    0180fa04     movi    r6,1000
  80a394:    080bd080     call    80bd08 &lt;alt_avalon_timer_sc_init&gt;
  80a398:    01002074     movhi    r4,129
  80a39c:    2136eb04     addi    r4,r4,-9300
  80a3a0:    01400044     movi    r5,1
  80a3a4:    080a6680     call    80a668 &lt;altera_avalon_jtag_uart_init&gt;
  80a3a8:    01002074     movhi    r4,129
  80a3ac:    2136e104     addi    r4,r4,-9340
  80a3b0:    080a3dc0     call    80a3dc &lt;alt_dev_reg&gt;
  80a3b4:    01002074     movhi    r4,129
  80a3b8:    213b0304     addi    r4,r4,-5108
  80a3bc:    080bb540     call    80bb54 &lt;altera_avalon_lcd_16207_init&gt;
  80a3c0:    01002074     movhi    r4,129
  80a3c4:    213af904     addi    r4,r4,-5148
  80a3c8:    080a3dc0     call    80a3dc &lt;alt_dev_reg&gt;
  80a3cc:    dfc00117     ldw    ra,4(sp)
  80a3d0:    df000017     ldw    fp,0(sp)
  80a3d4:    dec00204     addi    sp,sp,8
  80a3d8:    f800283a     ret

0080a3dc &lt;alt_dev_reg&gt;:

extern int alt_fs_reg  (alt_dev* dev); 

static ALT_INLINE int alt_dev_reg (alt_dev* dev)
{
  80a3dc:    defffd04     addi    sp,sp,-12
  80a3e0:    dfc00215     stw    ra,8(sp)
  80a3e4:    df000115     stw    fp,4(sp)
  80a3e8:    d839883a     mov    fp,sp
  80a3ec:    e1000015     stw    r4,0(fp)
  extern alt_llist alt_dev_list;

  return alt_dev_llist_insert ((alt_dev_llist*) dev, &amp;alt_dev_list);
  80a3f0:    e1000017     ldw    r4,0(fp)
  80a3f4:    d1600d04     addi    r5,gp,-32716
  80a3f8:    080bf100     call    80bf10 &lt;alt_dev_llist_insert&gt;
}
  80a3fc:    dfc00217     ldw    ra,8(sp)
  80a400:    df000117     ldw    fp,4(sp)
  80a404:    dec00304     addi    sp,sp,12
  80a408:    f800283a     ret

0080a40c &lt;write&gt;:

#else /* !ALT_USE_DIRECT_DRIVERS */

int ALT_WRITE (int file, const void *ptr, size_t len)
{
  80a40c:    defff704     addi    sp,sp,-36
  80a410:    dfc00815     stw    ra,32(sp)
  80a414:    df000715     stw    fp,28(sp)
  80a418:    d839883a     mov    fp,sp
  80a41c:    e1000015     stw    r4,0(fp)
  80a420:    e1400115     stw    r5,4(fp)
  80a424:    e1800215     stw    r6,8(fp)
  alt_fd*  fd;
  int      rval;

  /*
   * 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 &lt; 0) ? NULL : &amp;alt_fd_list[file];
  80a428:    e0800017     ldw    r2,0(fp)
  80a42c:    1004803a     cmplt    r2,r2,zero
  80a430:    1000091e     bne    r2,zero,80a458 &lt;write+0x4c&gt;
  80a434:    e0800017     ldw    r2,0(fp)
  80a438:    10800324     muli    r2,r2,12
  80a43c:    e0800615     stw    r2,24(fp)
  80a440:    00802074     movhi    r2,129
  80a444:    10b68104     addi    r2,r2,-9724
  80a448:    e0c00617     ldw    r3,24(fp)
  80a44c:    1887883a     add    r3,r3,r2
  80a450:    e0c00615     stw    r3,24(fp)
  80a454:    00000106     br    80a45c &lt;write+0x50&gt;
  80a458:    e0000615     stw    zero,24(fp)
  80a45c:    e0800617     ldw    r2,24(fp)
  80a460:    e0800315     stw    r2,12(fp)
  
  if (fd)
  80a464:    e0800317     ldw    r2,12(fp)
  80a468:    1005003a     cmpeq    r2,r2,zero
  80a46c:    1000241e     bne    r2,zero,80a500 &lt;write+0xf4&gt;
  {
    /*
     * 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-&gt;fd_flags &amp; O_ACCMODE) != O_RDONLY) &amp;&amp; fd-&gt;dev-&gt;write)
  80a470:    e0800317     ldw    r2,12(fp)
  80a474:    10800217     ldw    r2,8(r2)
  80a478:    108000cc     andi    r2,r2,3
  80a47c:    1005003a     cmpeq    r2,r2,zero
  80a480:    10001a1e     bne    r2,zero,80a4ec &lt;write+0xe0&gt;
  80a484:    e0800317     ldw    r2,12(fp)
  80a488:    10800017     ldw    r2,0(r2)
  80a48c:    10800617     ldw    r2,24(r2)
  80a490:    1005003a     cmpeq    r2,r2,zero
  80a494:    1000151e     bne    r2,zero,80a4ec &lt;write+0xe0&gt;
    {
      
      /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */
      ALT_LOG_WRITE_FUNCTION(ptr,len);

      if ((rval = fd-&gt;dev-&gt;write(fd, ptr, len)) &lt; 0)
  80a498:    e0800317     ldw    r2,12(fp)
  80a49c:    10800017     ldw    r2,0(r2)
  80a4a0:    10800617     ldw    r2,24(r2)
  80a4a4:    e1000317     ldw    r4,12(fp)
  80a4a8:    e1400117     ldw    r5,4(fp)
  80a4ac:    e1800217     ldw    r6,8(fp)
  80a4b0:    103ee83a     callr    r2
  80a4b4:    e0800415     stw    r2,16(fp)
  80a4b8:    e0800417     ldw    r2,16(fp)
  80a4bc:    1004403a     cmpge    r2,r2,zero
  80a4c0:    1000071e     bne    r2,zero,80a4e0 &lt;write+0xd4&gt;
      {
        ALT_ERRNO = -rval;
  80a4c4:    080a52c0     call    80a52c &lt;alt_get_errno&gt;
  80a4c8:    e0c00417     ldw    r3,16(fp)
  80a4cc:    00c7c83a     sub    r3,zero,r3
  80a4d0:    10c00015     stw    r3,0(r2)
        return -1;
  80a4d4:    00ffffc4     movi    r3,-1
  80a4d8:    e0c00515     stw    r3,20(fp)
  80a4dc:    00000e06     br    80a518 &lt;write+0x10c&gt;
      }
      return rval;
  80a4e0:    e0800417     ldw    r2,16(fp)
  80a4e4:    e0800515     stw    r2,20(fp)
  80a4e8:    00000b06     br    80a518 &lt;write+0x10c&gt;
    }
    else
    {
      ALT_ERRNO = EACCES;
  80a4ec:    080a52c0     call    80a52c &lt;alt_get_errno&gt;
  80a4f0:    1007883a     mov    r3,r2
  80a4f4:    00800344     movi    r2,13
  80a4f8:    18800015     stw    r2,0(r3)
  80a4fc:    00000406     br    80a510 &lt;write+0x104&gt;
    }
  }
  else  
  {
    ALT_ERRNO = EBADFD;
  80a500:    080a52c0     call    80a52c &lt;alt_get_errno&gt;
  80a504:    1007883a     mov    r3,r2
  80a508:    00801444     movi    r2,81
  80a50c:    18800015     stw    r2,0(r3)
  }
  return -1;
  80a510:    00bfffc4     movi    r2,-1
  80a514:    e0800515     stw    r2,20(fp)
}
  80a518:    e0800517     ldw    r2,20(fp)
  80a51c:    dfc00817     ldw    ra,32(sp)
  80a520:    df000717     ldw    fp,28(sp)
  80a524:    dec00904     addi    sp,sp,36
  80a528:    f800283a     ret

0080a52c &lt;alt_get_errno&gt;:

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
  80a52c:    defffd04     addi    sp,sp,-12
  80a530:    dfc00215     stw    ra,8(sp)
  80a534:    df000115     stw    fp,4(sp)
  80a538:    d839883a     mov    fp,sp
  return ((alt_errno) ? alt_errno() : &amp;errno);
  80a53c:    d0a01017     ldw    r2,-32704(gp)
  80a540:    1005003a     cmpeq    r2,r2,zero
  80a544:    1000041e     bne    r2,zero,80a558 &lt;alt_get_errno+0x2c&gt;
  80a548:    d0a01017     ldw    r2,-32704(gp)
  80a54c:    103ee83a     callr    r2
  80a550:    e0800015     stw    r2,0(fp)
  80a554:    00000206     br    80a560 &lt;alt_get_errno+0x34&gt;
  80a558:    d0a01d04     addi    r2,gp,-32652
  80a55c:    e0800015     stw    r2,0(fp)
  80a560:    e0800017     ldw    r2,0(fp)
}
  80a564:    dfc00217     ldw    ra,8(sp)
  80a568:    df000117     ldw    fp,4(sp)
  80a56c:    dec00304     addi    sp,sp,12
  80a570:    f800283a     ret

0080a574 &lt;altera_avalon_jtag_uart_read_fd&gt;:
 */

int 
altera_avalon_jtag_uart_read_fd(alt_fd* fd, char* buffer, int space)
{
  80a574:    defffa04     addi    sp,sp,-24
  80a578:    dfc00515     stw    ra,20(sp)
  80a57c:    df000415     stw    fp,16(sp)
  80a580:    d839883a     mov    fp,sp
  80a584:    e1000015     stw    r4,0(fp)
  80a588:    e1400115     stw    r5,4(fp)
  80a58c:    e1800215     stw    r6,8(fp)
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd-&gt;dev; 
  80a590:    e0800017     ldw    r2,0(fp)
  80a594:    10800017     ldw    r2,0(r2)
  80a598:    e0800315     stw    r2,12(fp)

    return altera_avalon_jtag_uart_read(&amp;dev-&gt;state, buffer, space,
  80a59c:    e0800317     ldw    r2,12(fp)
  80a5a0:    11000a04     addi    r4,r2,40
  80a5a4:    e0800017     ldw    r2,0(fp)
  80a5a8:    e1400117     ldw    r5,4(fp)
  80a5ac:    e1800217     ldw    r6,8(fp)
  80a5b0:    11c00217     ldw    r7,8(r2)
  80a5b4:    080aaf00     call    80aaf0 &lt;altera_avalon_jtag_uart_read&gt;
      fd-&gt;fd_flags);
}
  80a5b8:    dfc00517     ldw    ra,20(sp)
  80a5bc:    df000417     ldw    fp,16(sp)
  80a5c0:    dec00604     addi    sp,sp,24
  80a5c4:    f800283a     ret

0080a5c8 &lt;altera_avalon_jtag_uart_write_fd&gt;:

int 
altera_avalon_jtag_uart_write_fd(alt_fd* fd, const char* buffer, int space)
{
  80a5c8:    defffa04     addi    sp,sp,-24
  80a5cc:    dfc00515     stw    ra,20(sp)
  80a5d0:    df000415     stw    fp,16(sp)
  80a5d4:    d839883a     mov    fp,sp
  80a5d8:    e1000015     stw    r4,0(fp)
  80a5dc:    e1400115     stw    r5,4(fp)
  80a5e0:    e1800215     stw    r6,8(fp)
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd-&gt;dev; 
  80a5e4:    e0800017     ldw    r2,0(fp)
  80a5e8:    10800017     ldw    r2,0(r2)
  80a5ec:    e0800315     stw    r2,12(fp)

    return altera_avalon_jtag_uart_write(&amp;dev-&gt;state, buffer, space,
  80a5f0:    e0800317     ldw    r2,12(fp)
  80a5f4:    11000a04     addi    r4,r2,40
  80a5f8:    e0800017     ldw    r2,0(fp)
  80a5fc:    e1400117     ldw    r5,4(fp)
  80a600:    e1800217     ldw    r6,8(fp)
  80a604:    11c00217     ldw    r7,8(r2)
  80a608:    080ad200     call    80ad20 &lt;altera_avalon_jtag_uart_write&gt;
      fd-&gt;fd_flags);
}
  80a60c:    dfc00517     ldw    ra,20(sp)
  80a610:    df000417     ldw    fp,16(sp)
  80a614:    dec00604     addi    sp,sp,24
  80a618:    f800283a     ret

0080a61c &lt;altera_avalon_jtag_uart_ioctl_fd&gt;:

#ifndef ALTERA_AVALON_JTAG_UART_SMALL

int 
altera_avalon_jtag_uart_ioctl_fd(alt_fd* fd, int req, void* arg)
{
  80a61c:    defffa04     addi    sp,sp,-24
  80a620:    dfc00515     stw    ra,20(sp)
  80a624:    df000415     stw    fp,16(sp)
  80a628:    d839883a     mov    fp,sp
  80a62c:    e1000015     stw    r4,0(fp)
  80a630:    e1400115     stw    r5,4(fp)
  80a634:    e1800215     stw    r6,8(fp)
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd-&gt;dev;
  80a638:    e0800017     ldw    r2,0(fp)
  80a63c:    10800017     ldw    r2,0(r2)
  80a640:    e0800315     stw    r2,12(fp)

    return altera_avalon_jtag_uart_ioctl(&amp;dev-&gt;state, req, arg);
  80a644:    e0800317     ldw    r2,12(fp)
  80a648:    11000a04     addi    r4,r2,40
  80a64c:    e1400117     ldw    r5,4(fp)
  80a650:    e1800217     ldw    r6,8(fp)
  80a654:    080a9f80     call    80a9f8 &lt;altera_avalon_jtag_uart_ioctl&gt;
}
  80a658:    dfc00517     ldw    ra,20(sp)
  80a65c:    df000417     ldw    fp,16(sp)
  80a660:    dec00604     addi    sp,sp,24
  80a664:    f800283a     ret

0080a668 &lt;altera_avalon_jtag_uart_init&gt;:
 */

void 
altera_avalon_jtag_uart_init(altera_avalon_jtag_uart_state* sp, int irq)
{
  80a668:    defff804     addi    sp,sp,-32
  80a66c:    dfc00715     stw    ra,28(sp)
  80a670:    df000615     stw    fp,24(sp)
  80a674:    d839883a     mov    fp,sp
  80a678:    e1000015     stw    r4,0(fp)
  80a67c:    e1400115     stw    r5,4(fp)
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80a680:    e0000215     stw    zero,8(fp)
  80a684:    e0000315     stw    zero,12(fp)
  80a688:    e0000415     stw    zero,16(fp)
  ALT_FLAG_CREATE(&amp;sp-&gt;events, 0);
  ALT_SEM_CREATE(&amp;sp-&gt;read_lock, 1);
  ALT_SEM_CREATE(&amp;sp-&gt;write_lock, 1);

  /* enable read interrupts at the device */
  sp-&gt;irq_enable = ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
  80a68c:    e0c00017     ldw    r3,0(fp)
  80a690:    00800044     movi    r2,1
  80a694:    18800815     stw    r2,32(r3)

  IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp-&gt;base, sp-&gt;irq_enable); 
  80a698:    e0800017     ldw    r2,0(fp)
  80a69c:    10800017     ldw    r2,0(r2)
  80a6a0:    10800104     addi    r2,r2,4
  80a6a4:    1007883a     mov    r3,r2
  80a6a8:    e0800017     ldw    r2,0(fp)
  80a6ac:    10800817     ldw    r2,32(r2)
  80a6b0:    18800035     stwio    r2,0(r3)
  
  /* register the interrupt handler */
  alt_irq_register(irq, sp, altera_avalon_jtag_uart_irq);
  80a6b4:    e1000117     ldw    r4,4(fp)
  80a6b8:    e1400017     ldw    r5,0(fp)
  80a6bc:    01802074     movhi    r6,129
  80a6c0:    31a9c704     addi    r6,r6,-22756
  80a6c4:    080c4380     call    80c438 &lt;alt_irq_register&gt;

  /* Register an alarm to go off every second to check for presence of host */
  sp-&gt;host_inactive = 0;
  80a6c8:    e0800017     ldw    r2,0(fp)
  80a6cc:    10000915     stw    zero,36(r2)
 */

static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_ticks_per_second (void)
{
  return _alt_tick_rate;
  80a6d0:    d0a01817     ldw    r2,-32672(gp)
  80a6d4:    e0800515     stw    r2,20(fp)
  80a6d8:    e1400517     ldw    r5,20(fp)
  80a6dc:    e0800017     ldw    r2,0(fp)
  80a6e0:    11000204     addi    r4,r2,8
  80a6e4:    01802074     movhi    r6,129
  80a6e8:    31aa4d04     addi    r6,r6,-22220
  80a6ec:    e1c00017     ldw    r7,0(fp)
  80a6f0:    080bd880     call    80bd88 &lt;alt_alarm_start&gt;
  80a6f4:    1004403a     cmpge    r2,r2,zero
  80a6f8:    1000041e     bne    r2,zero,80a70c &lt;altera_avalon_jtag_uart_init+0xa4&gt;

  if (alt_alarm_start(&amp;sp-&gt;alarm, alt_ticks_per_second(), 
    &amp;altera_avalon_jtag_uart_timeout, sp) &lt; 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-&gt;timeout = INT_MAX;
  80a6fc:    e0c00017     ldw    r3,0(fp)
  80a700:    00a00034     movhi    r2,32768
  80a704:    10bfffc4     addi    r2,r2,-1
  80a708:    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-&gt;base);
}
  80a70c:    dfc00717     ldw    ra,28(sp)
  80a710:    df000617     ldw    fp,24(sp)
  80a714:    dec00804     addi    sp,sp,32
  80a718:    f800283a     ret

0080a71c &lt;altera_avalon_jtag_uart_irq&gt;:

/*
 * Interrupt routine
 */ 

static void 
altera_avalon_jtag_uart_irq(void* context, alt_u32 id)
{
  80a71c:    defff704     addi    sp,sp,-36
  80a720:    df000815     stw    fp,32(sp)
  80a724:    d839883a     mov    fp,sp
  80a728:    e1000015     stw    r4,0(fp)
  80a72c:    e1400115     stw    r5,4(fp)
  altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state*) context;
  80a730:    e0800017     ldw    r2,0(fp)
  80a734:    e0800215     stw    r2,8(fp)
  unsigned int base = sp-&gt;base;
  80a738:    e0800217     ldw    r2,8(fp)
  80a73c:    10800017     ldw    r2,0(r2)
  80a740:    e0800315     stw    r2,12(fp)

  /* 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);
  80a744:    e0800317     ldw    r2,12(fp)
  80a748:    10800104     addi    r2,r2,4
  80a74c:    10800037     ldwio    r2,0(r2)
  80a750:    e0800415     stw    r2,16(fp)

    /* Return once nothing more to do */
    if ((control &amp; (ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK | ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)) == 0)
  80a754:    e0800417     ldw    r2,16(fp)
  80a758:    1080c00c     andi    r2,r2,768
  80a75c:    1004c03a     cmpne    r2,r2,zero
  80a760:    1000011e     bne    r2,zero,80a768 &lt;altera_avalon_jtag_uart_irq+0x4c&gt;
      break;
  80a764:    00007006     br    80a928 &lt;altera_avalon_jtag_uart_irq+0x20c&gt;

    if (control &amp; ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK)
  80a768:    e0800417     ldw    r2,16(fp)
  80a76c:    1004d23a     srli    r2,r2,8
  80a770:    1080004c     andi    r2,r2,1
  80a774:    1005003a     cmpeq    r2,r2,zero
  80a778:    1000361e     bne    r2,zero,80a854 &lt;altera_avalon_jtag_uart_irq+0x138&gt;
    {
      /* 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 &lt;&lt; ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_OFST;
  80a77c:    00800074     movhi    r2,1
  80a780:    10800004     addi    r2,r2,0
  80a784:    e0800515     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-&gt;rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  80a788:    e0800217     ldw    r2,8(fp)
  80a78c:    10800a17     ldw    r2,40(r2)
  80a790:    10800044     addi    r2,r2,1
  80a794:    1081ffcc     andi    r2,r2,2047
  80a798:    e0800615     stw    r2,24(fp)
        if (next == sp-&gt;rx_out)
  80a79c:    e0800217     ldw    r2,8(fp)
  80a7a0:    10c00b17     ldw    r3,44(r2)
  80a7a4:    e0800617     ldw    r2,24(fp)
  80a7a8:    1880011e     bne    r3,r2,80a7b0 &lt;altera_avalon_jtag_uart_irq+0x94&gt;
          break;
  80a7ac:    00001906     br    80a814 &lt;altera_avalon_jtag_uart_irq+0xf8&gt;

        /* 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);
  80a7b0:    e0800317     ldw    r2,12(fp)
  80a7b4:    10800037     ldwio    r2,0(r2)
  80a7b8:    e0800515     stw    r2,20(fp)
        
        if ((data &amp; ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0)
  80a7bc:    e0800517     ldw    r2,20(fp)
  80a7c0:    1004d3fa     srli    r2,r2,15
  80a7c4:    1080005c     xori    r2,r2,1
  80a7c8:    1080004c     andi    r2,r2,1
  80a7cc:    1005003a     cmpeq    r2,r2,zero
  80a7d0:    1000011e     bne    r2,zero,80a7d8 &lt;altera_avalon_jtag_uart_irq+0xbc&gt;
          break;
  80a7d4:    00000f06     br    80a814 &lt;altera_avalon_jtag_uart_irq+0xf8&gt;

        sp-&gt;rx_buf[sp-&gt;rx_in] = (data &amp; ALTERA_AVALON_JTAG_UART_DATA_DATA_MSK) &gt;&gt; ALTERA_AVALON_JTAG_UART_DATA_DATA_OFST;
  80a7d8:    e0c00217     ldw    r3,8(fp)
  80a7dc:    e0800217     ldw    r2,8(fp)
  80a7e0:    10800a17     ldw    r2,40(r2)
  80a7e4:    1885883a     add    r2,r3,r2
  80a7e8:    10c00e04     addi    r3,r2,56
  80a7ec:    e0800517     ldw    r2,20(fp)
  80a7f0:    18800005     stb    r2,0(r3)
        sp-&gt;rx_in = (sp-&gt;rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  80a7f4:    e0c00217     ldw    r3,8(fp)
  80a7f8:    e0800217     ldw    r2,8(fp)
  80a7fc:    10800a17     ldw    r2,40(r2)
  80a800:    10800044     addi    r2,r2,1
  80a804:    1081ffcc     andi    r2,r2,2047
  80a808:    18800a15     stw    r2,40(r3)
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80a80c:    e0000715     stw    zero,28(fp)
  80a810:    003fdd06     br    80a788 &lt;altera_avalon_jtag_uart_irq+0x6c&gt;

        /* Post an event to notify jtag_uart_read that a character has been read */
        ALT_FLAG_POST (sp-&gt;events, ALT_JTAG_UART_READ_RDY, OS_FLAG_SET);
      }

      if (data &amp; ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_MSK)
  80a814:    e0800517     ldw    r2,20(fp)
  80a818:    10bfffec     andhi    r2,r2,65535
  80a81c:    1005003a     cmpeq    r2,r2,zero
  80a820:    10000c1e     bne    r2,zero,80a854 &lt;altera_avalon_jtag_uart_irq+0x138&gt;
      {
        /* If there is still data available here then the buffer is full 
         * so turn off receive interrupts until some space becomes available.
         */
        sp-&gt;irq_enable &amp;= ~ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
  80a824:    e1000217     ldw    r4,8(fp)
  80a828:    e0800217     ldw    r2,8(fp)
  80a82c:    10c00817     ldw    r3,32(r2)
  80a830:    00bfff84     movi    r2,-2
  80a834:    1884703a     and    r2,r3,r2
  80a838:    20800815     stw    r2,32(r4)
        IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(base, sp-&gt;irq_enable);
  80a83c:    e0800317     ldw    r2,12(fp)
  80a840:    10800104     addi    r2,r2,4
  80a844:    1007883a     mov    r3,r2
  80a848:    e0800217     ldw    r2,8(fp)
  80a84c:    10800817     ldw    r2,32(r2)
  80a850:    18800035     stwio    r2,0(r3)
      }
    }

    if (control &amp; ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)
  80a854:    e0800417     ldw    r2,16(fp)
  80a858:    1004d27a     srli    r2,r2,9
  80a85c:    1080004c     andi    r2,r2,1
  80a860:    1005003a     cmpeq    r2,r2,zero
  80a864:    103fb71e     bne    r2,zero,80a744 &lt;altera_avalon_jtag_uart_irq+0x28&gt;
    {
      /* process a write irq */
      unsigned int space = (control &amp; ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) &gt;&gt; ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST;
  80a868:    e0800417     ldw    r2,16(fp)
  80a86c:    10bfffec     andhi    r2,r2,65535
  80a870:    1004d43a     srli    r2,r2,16
  80a874:    e0800715     stw    r2,28(fp)

      while (space &gt; 0 &amp;&amp; sp-&gt;tx_out != sp-&gt;tx_in)
  80a878:    e0800717     ldw    r2,28(fp)
  80a87c:    1005003a     cmpeq    r2,r2,zero
  80a880:    1000181e     bne    r2,zero,80a8e4 &lt;altera_avalon_jtag_uart_irq+0x1c8&gt;
  80a884:    e0800217     ldw    r2,8(fp)
  80a888:    e0c00217     ldw    r3,8(fp)
  80a88c:    11000d17     ldw    r4,52(r2)
  80a890:    18800c17     ldw    r2,48(r3)
  80a894:    20801326     beq    r4,r2,80a8e4 &lt;altera_avalon_jtag_uart_irq+0x1c8&gt;
      {
        IOWR_ALTERA_AVALON_JTAG_UART_DATA(base, sp-&gt;tx_buf[sp-&gt;tx_out]);
  80a898:    e1000317     ldw    r4,12(fp)
  80a89c:    e0c00217     ldw    r3,8(fp)
  80a8a0:    e0800217     ldw    r2,8(fp)
  80a8a4:    10800d17     ldw    r2,52(r2)
  80a8a8:    1885883a     add    r2,r3,r2
  80a8ac:    10820e04     addi    r2,r2,2104
  80a8b0:    10800007     ldb    r2,0(r2)
  80a8b4:    20800035     stwio    r2,0(r4)

        sp-&gt;tx_out = (sp-&gt;tx_out + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  80a8b8:    e0c00217     ldw    r3,8(fp)
  80a8bc:    e0800217     ldw    r2,8(fp)
  80a8c0:    10800d17     ldw    r2,52(r2)
  80a8c4:    10800044     addi    r2,r2,1
  80a8c8:    1081ffcc     andi    r2,r2,2047
  80a8cc:    18800d15     stw    r2,52(r3)
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80a8d0:    e0000615     stw    zero,24(fp)

        /* Post an event to notify jtag_uart_write that a character has been written */
        ALT_FLAG_POST (sp-&gt;events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET);

        space--;
  80a8d4:    e0800717     ldw    r2,28(fp)
  80a8d8:    10bfffc4     addi    r2,r2,-1
  80a8dc:    e0800715     stw    r2,28(fp)
  80a8e0:    003fe506     br    80a878 &lt;altera_avalon_jtag_uart_irq+0x15c&gt;
      }

      if (space &gt; 0)
  80a8e4:    e0800717     ldw    r2,28(fp)
  80a8e8:    1005003a     cmpeq    r2,r2,zero
  80a8ec:    103f951e     bne    r2,zero,80a744 &lt;altera_avalon_jtag_uart_irq+0x28&gt;
      {
        /* If we don't have any more data available then turn off the TX interrupt */

        sp-&gt;irq_enable &amp;= ~ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK;
  80a8f0:    e1000217     ldw    r4,8(fp)
  80a8f4:    e0800217     ldw    r2,8(fp)
  80a8f8:    10c00817     ldw    r3,32(r2)
  80a8fc:    00bfff44     movi    r2,-3
  80a900:    1884703a     and    r2,r3,r2
  80a904:    20800815     stw    r2,32(r4)
        IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp-&gt;base, sp-&gt;irq_enable);
  80a908:    e0800217     ldw    r2,8(fp)
  80a90c:    10800017     ldw    r2,0(r2)
  80a910:    10800104     addi    r2,r2,4
  80a914:    1007883a     mov    r3,r2
  80a918:    e0800217     ldw    r2,8(fp)
  80a91c:    10800817     ldw    r2,32(r2)
  80a920:    18800035     stwio    r2,0(r3)
  80a924:    003f8706     br    80a744 &lt;altera_avalon_jtag_uart_irq+0x28&gt;
      }
    }
  }
}
  80a928:    df000817     ldw    fp,32(sp)
  80a92c:    dec00904     addi    sp,sp,36
  80a930:    f800283a     ret

0080a934 &lt;altera_avalon_jtag_uart_timeout&gt;:

/*
 * Timeout routine is called every second
 */

static alt_u32 
altera_avalon_jtag_uart_timeout(void* context) 
{
  80a934:    defffb04     addi    sp,sp,-20
  80a938:    df000415     stw    fp,16(sp)
  80a93c:    d839883a     mov    fp,sp
  80a940:    e1000015     stw    r4,0(fp)
  altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state *) context;
  80a944:    e0800017     ldw    r2,0(fp)
  80a948:    e0800115     stw    r2,4(fp)

  unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(sp-&gt;base);
  80a94c:    e0800117     ldw    r2,4(fp)
  80a950:    10800017     ldw    r2,0(r2)
  80a954:    10800104     addi    r2,r2,4
  80a958:    10800037     ldwio    r2,0(r2)
  80a95c:    e0800215     stw    r2,8(fp)

  if (control &amp; ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK)
  80a960:    e0800217     ldw    r2,8(fp)
  80a964:    1004d2ba     srli    r2,r2,10
  80a968:    1080004c     andi    r2,r2,1
  80a96c:    1005003a     cmpeq    r2,r2,zero
  80a970:    10000b1e     bne    r2,zero,80a9a0 &lt;altera_avalon_jtag_uart_timeout+0x6c&gt;
  {
    IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp-&gt;base, sp-&gt;irq_enable | ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK);
  80a974:    e0800117     ldw    r2,4(fp)
  80a978:    10800017     ldw    r2,0(r2)
  80a97c:    10800104     addi    r2,r2,4
  80a980:    1007883a     mov    r3,r2
  80a984:    e0800117     ldw    r2,4(fp)
  80a988:    10800817     ldw    r2,32(r2)
  80a98c:    10810014     ori    r2,r2,1024
  80a990:    18800035     stwio    r2,0(r3)
    sp-&gt;host_inactive = 0;
  80a994:    e0800117     ldw    r2,4(fp)
  80a998:    10000915     stw    zero,36(r2)
  80a99c:    00001006     br    80a9e0 &lt;altera_avalon_jtag_uart_timeout+0xac&gt;
  }
  else if (sp-&gt;host_inactive &lt; INT_MAX - 2) {
  80a9a0:    e0800117     ldw    r2,4(fp)
  80a9a4:    10c00917     ldw    r3,36(r2)
  80a9a8:    00a00034     movhi    r2,32768
  80a9ac:    10bfff04     addi    r2,r2,-4
  80a9b0:    10c00b36     bltu    r2,r3,80a9e0 &lt;altera_avalon_jtag_uart_timeout+0xac&gt;
    sp-&gt;host_inactive++;
  80a9b4:    e0c00117     ldw    r3,4(fp)
  80a9b8:    e0800117     ldw    r2,4(fp)
  80a9bc:    10800917     ldw    r2,36(r2)
  80a9c0:    10800044     addi    r2,r2,1
  80a9c4:    18800915     stw    r2,36(r3)
    
    if (sp-&gt;host_inactive &gt;= sp-&gt;timeout) {
  80a9c8:    e0800117     ldw    r2,4(fp)
  80a9cc:    e0c00117     ldw    r3,4(fp)
  80a9d0:    11000917     ldw    r4,36(r2)
  80a9d4:    18800117     ldw    r2,4(r3)
  80a9d8:    20800136     bltu    r4,r2,80a9e0 &lt;altera_avalon_jtag_uart_timeout+0xac&gt;
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80a9dc:    e0000315     stw    zero,12(fp)
 */

static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_ticks_per_second (void)
{
  return _alt_tick_rate;
  80a9e0:    d0a01817     ldw    r2,-32672(gp)
  80a9e4:    e0800315     stw    r2,12(fp)
  80a9e8:    e0800317     ldw    r2,12(fp)
      /* Post an event to indicate host is inactive (for jtag_uart_read */
      ALT_FLAG_POST (sp-&gt;events, ALT_JTAG_UART_TIMEOUT, OS_FLAG_SET);
    }
  }

  return alt_ticks_per_second();
}
  80a9ec:    df000417     ldw    fp,16(sp)
  80a9f0:    dec00504     addi    sp,sp,20
  80a9f4:    f800283a     ret

0080a9f8 &lt;altera_avalon_jtag_uart_ioctl&gt;:

int 
altera_avalon_jtag_uart_ioctl(altera_avalon_jtag_uart_state* sp, int req,
  void* arg)
{
  80a9f8:    defff704     addi    sp,sp,-36
  80a9fc:    df000815     stw    fp,32(sp)
  80aa00:    d839883a     mov    fp,sp
  80aa04:    e1000015     stw    r4,0(fp)
  80aa08:    e1400115     stw    r5,4(fp)
  80aa0c:    e1800215     stw    r6,8(fp)
  int rc = -ENOTTY;
  80aa10:    00bff9c4     movi    r2,-25
  80aa14:    e0800315     stw    r2,12(fp)

  switch (req)
  80aa18:    e0800117     ldw    r2,4(fp)
  80aa1c:    e0800715     stw    r2,28(fp)
  80aa20:    e0c00717     ldw    r3,28(fp)
  80aa24:    189a8060     cmpeqi    r2,r3,27137
  80aa28:    1000041e     bne    r2,zero,80aa3c &lt;altera_avalon_jtag_uart_ioctl+0x44&gt;
  80aa2c:    e0c00717     ldw    r3,28(fp)
  80aa30:    189a80a0     cmpeqi    r2,r3,27138
  80aa34:    10001d1e     bne    r2,zero,80aaac &lt;altera_avalon_jtag_uart_ioctl+0xb4&gt;
  80aa38:    00002906     br    80aae0 &lt;altera_avalon_jtag_uart_ioctl+0xe8&gt;
  {
  case TIOCSTIMEOUT:
    /* Set the time to wait until assuming host is not connected */
    if (sp-&gt;timeout != INT_MAX)
  80aa3c:    e0800017     ldw    r2,0(fp)
  80aa40:    10c00117     ldw    r3,4(r2)
  80aa44:    00a00034     movhi    r2,32768
  80aa48:    10bfffc4     addi    r2,r2,-1
  80aa4c:    18802426     beq    r3,r2,80aae0 &lt;altera_avalon_jtag_uart_ioctl+0xe8&gt;
    {
      int timeout = *((int *)arg);
  80aa50:    e0800217     ldw    r2,8(fp)
  80aa54:    10800017     ldw    r2,0(r2)
  80aa58:    e0800415     stw    r2,16(fp)
      sp-&gt;timeout = (timeout &gt;= 2 &amp;&amp; timeout &lt; INT_MAX) ? timeout : INT_MAX - 1;
  80aa5c:    e0800017     ldw    r2,0(fp)
  80aa60:    e0800515     stw    r2,20(fp)
  80aa64:    e0800417     ldw    r2,16(fp)
  80aa68:    10800090     cmplti    r2,r2,2
  80aa6c:    1000071e     bne    r2,zero,80aa8c &lt;altera_avalon_jtag_uart_ioctl+0x94&gt;
  80aa70:    e0c00417     ldw    r3,16(fp)
  80aa74:    00a00034     movhi    r2,32768
  80aa78:    10bfffc4     addi    r2,r2,-1
  80aa7c:    18800326     beq    r3,r2,80aa8c &lt;altera_avalon_jtag_uart_ioctl+0x94&gt;
  80aa80:    e0c00417     ldw    r3,16(fp)
  80aa84:    e0c00615     stw    r3,24(fp)
  80aa88:    00000306     br    80aa98 &lt;altera_avalon_jtag_uart_ioctl+0xa0&gt;
  80aa8c:    00a00034     movhi    r2,32768
  80aa90:    10bfff84     addi    r2,r2,-2
  80aa94:    e0800615     stw    r2,24(fp)
  80aa98:    e0c00617     ldw    r3,24(fp)
  80aa9c:    e0800517     ldw    r2,20(fp)
  80aaa0:    10c00115     stw    r3,4(r2)
      rc = 0;
  80aaa4:    e0000315     stw    zero,12(fp)
    }
    break;
  80aaa8:    00000d06     br    80aae0 &lt;altera_avalon_jtag_uart_ioctl+0xe8&gt;

  case TIOCGCONNECTED:
    /* Find out whether host is connected */
    if (sp-&gt;timeout != INT_MAX)
  80aaac:    e0800017     ldw    r2,0(fp)
  80aab0:    10c00117     ldw    r3,4(r2)
  80aab4:    00a00034     movhi    r2,32768
  80aab8:    10bfffc4     addi    r2,r2,-1
  80aabc:    18800826     beq    r3,r2,80aae0 &lt;altera_avalon_jtag_uart_ioctl+0xe8&gt;
    {
      *((int *)arg) = (sp-&gt;host_inactive &lt; sp-&gt;timeout) ? 1 : 0;
  80aac0:    e1400217     ldw    r5,8(fp)
  80aac4:    e0800017     ldw    r2,0(fp)
  80aac8:    e0c00017     ldw    r3,0(fp)
  80aacc:    11000917     ldw    r4,36(r2)
  80aad0:    18800117     ldw    r2,4(r3)
  80aad4:    2085803a     cmpltu    r2,r4,r2
  80aad8:    28800015     stw    r2,0(r5)
      rc = 0;
  80aadc:    e0000315     stw    zero,12(fp)
    }
    break;

  default:
    break;
  }

  return rc;
  80aae0:    e0800317     ldw    r2,12(fp)
}
  80aae4:    df000817     ldw    fp,32(sp)
  80aae8:    dec00904     addi    sp,sp,36
  80aaec:    f800283a     ret

0080aaf0 &lt;altera_avalon_jtag_uart_read&gt;:

int 
altera_avalon_jtag_uart_read(altera_avalon_jtag_uart_state* sp, 
  char * buffer, int space, int flags)
{
  80aaf0:    defff204     addi    sp,sp,-56
  80aaf4:    dfc00d15     stw    ra,52(sp)
  80aaf8:    df000c15     stw    fp,48(sp)
  80aafc:    d839883a     mov    fp,sp
  80ab00:    e1000015     stw    r4,0(fp)
  80ab04:    e1400115     stw    r5,4(fp)
  80ab08:    e1800215     stw    r6,8(fp)
  80ab0c:    e1c00315     stw    r7,12(fp)
  char * ptr = buffer;
  80ab10:    e0800117     ldw    r2,4(fp)
  80ab14:    e0800415     stw    r2,16(fp)
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80ab18:    e0000715     stw    zero,28(fp)

  alt_irq_context context;
  unsigned int n;

  /*
   * 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-&gt;read_lock, 0);

  while (space &gt; 0)
  80ab1c:    e0800217     ldw    r2,8(fp)
  80ab20:    10800050     cmplti    r2,r2,1
  80ab24:    10004c1e     bne    r2,zero,80ac58 &lt;altera_avalon_jtag_uart_read+0x168&gt;
  {
    unsigned int in, out;

    /* Read as much data as possible */
    do
    {
      in  = sp-&gt;rx_in;
  80ab28:    e0800017     ldw    r2,0(fp)
  80ab2c:    10800a17     ldw    r2,40(r2)
  80ab30:    e0800815     stw    r2,32(fp)
      out = sp-&gt;rx_out;
  80ab34:    e0800017     ldw    r2,0(fp)
  80ab38:    10800b17     ldw    r2,44(r2)
  80ab3c:    e0800915     stw    r2,36(fp)

      if (in &gt;= out)
  80ab40:    e0c00817     ldw    r3,32(fp)
  80ab44:    e0800917     ldw    r2,36(fp)
  80ab48:    18800536     bltu    r3,r2,80ab60 &lt;altera_avalon_jtag_uart_read+0x70&gt;
        n = in - out;
  80ab4c:    e0800817     ldw    r2,32(fp)
  80ab50:    e0c00917     ldw    r3,36(fp)
  80ab54:    10c5c83a     sub    r2,r2,r3
  80ab58:    e0800615     stw    r2,24(fp)
  80ab5c:    00000406     br    80ab70 &lt;altera_avalon_jtag_uart_read+0x80&gt;
      else
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out;
  80ab60:    00820004     movi    r2,2048
  80ab64:    e0c00917     ldw    r3,36(fp)
  80ab68:    10c5c83a     sub    r2,r2,r3
  80ab6c:    e0800615     stw    r2,24(fp)

      if (n == 0)
  80ab70:    e0800617     ldw    r2,24(fp)
  80ab74:    1004c03a     cmpne    r2,r2,zero
  80ab78:    1000011e     bne    r2,zero,80ab80 &lt;altera_avalon_jtag_uart_read+0x90&gt;
        break; /* No more data available */
  80ab7c:    00001e06     br    80abf8 &lt;altera_avalon_jtag_uart_read+0x108&gt;

      if (n &gt; space)
  80ab80:    e0c00217     ldw    r3,8(fp)
  80ab84:    e0800617     ldw    r2,24(fp)
  80ab88:    1880022e     bgeu    r3,r2,80ab94 &lt;altera_avalon_jtag_uart_read+0xa4&gt;
        n = space;
  80ab8c:    e0800217     ldw    r2,8(fp)
  80ab90:    e0800615     stw    r2,24(fp)

      memcpy(ptr, sp-&gt;rx_buf + out, n);
  80ab94:    e0c00017     ldw    r3,0(fp)
  80ab98:    e0800917     ldw    r2,36(fp)
  80ab9c:    1885883a     add    r2,r3,r2
  80aba0:    11400e04     addi    r5,r2,56
  80aba4:    e1000417     ldw    r4,16(fp)
  80aba8:    e1800617     ldw    r6,24(fp)
  80abac:    0805ea80     call    805ea8 &lt;memcpy&gt;
      ptr   += n;
  80abb0:    e0c00417     ldw    r3,16(fp)
  80abb4:    e0800617     ldw    r2,24(fp)
  80abb8:    1885883a     add    r2,r3,r2
  80abbc:    e0800415     stw    r2,16(fp)
      space -= n;
  80abc0:    e0c00217     ldw    r3,8(fp)
  80abc4:    e0800617     ldw    r2,24(fp)
  80abc8:    1885c83a     sub    r2,r3,r2
  80abcc:    e0800215     stw    r2,8(fp)

      sp-&gt;rx_out = (out + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  80abd0:    e1000017     ldw    r4,0(fp)
  80abd4:    e0c00917     ldw    r3,36(fp)
  80abd8:    e0800617     ldw    r2,24(fp)
  80abdc:    1885883a     add    r2,r3,r2
  80abe0:    1081ffcc     andi    r2,r2,2047
  80abe4:    20800b15     stw    r2,44(r4)
    }
  80abe8:    e0800217     ldw    r2,8(fp)
  80abec:    10800050     cmplti    r2,r2,1
  80abf0:    1000011e     bne    r2,zero,80abf8 &lt;altera_avalon_jtag_uart_read+0x108&gt;
  80abf4:    003fcc06     br    80ab28 &lt;altera_avalon_jtag_uart_read+0x38&gt;
    while (space &gt; 0);

    /* If we read any data then return it */
    if (ptr != buffer)
  80abf8:    e0c00417     ldw    r3,16(fp)
  80abfc:    e0800117     ldw    r2,4(fp)
  80ac00:    18800126     beq    r3,r2,80ac08 &lt;altera_avalon_jtag_uart_read+0x118&gt;
      break;
  80ac04:    00001406     br    80ac58 &lt;altera_avalon_jtag_uart_read+0x168&gt;

    /* If in non-blocking mode then return error */
    if (flags &amp; O_NONBLOCK)
  80ac08:    e0800317     ldw    r2,12(fp)
  80ac0c:    1004d3ba     srli    r2,r2,14
  80ac10:    1080004c     andi    r2,r2,1
  80ac14:    1005003a     cmpeq    r2,r2,zero
  80ac18:    1000011e     bne    r2,zero,80ac20 &lt;altera_avalon_jtag_uart_read+0x130&gt;
      break;
  80ac1c:    00000e06     br    80ac58 &lt;altera_avalon_jtag_uart_read+0x168&gt;

#ifdef __ucosii__
    /* OS Present: Pend on a flag if the OS is running, otherwise spin */
    if(OSRunning == OS_TRUE) {
      /*
       * When running in a multi-threaded mode, we pend on the read event
       * flag set and timeout event flag set in the isr. This avoids wasting CPU
       * cycles waiting in this thread, when we could be doing something more
       * profitable elsewhere.
       */
      ALT_FLAG_PEND (sp-&gt;events,
                     ALT_JTAG_UART_READ_RDY | ALT_JTAG_UART_TIMEOUT,
                     OS_FLAG_WAIT_SET_ANY + OS_FLAG_CONSUME,
                     0);
    }
    else {
      /* Spin until more data arrives or until host disconnects */
      while (in == sp-&gt;rx_in &amp;&amp; sp-&gt;host_inactive &lt; sp-&gt;timeout)
        ;
    }
#else
    /* No OS: Always spin */
    while (in == sp-&gt;rx_in &amp;&amp; sp-&gt;host_inactive &lt; sp-&gt;timeout)
  80ac20:    e0800017     ldw    r2,0(fp)
  80ac24:    10c00a17     ldw    r3,40(r2)
  80ac28:    e0800817     ldw    r2,32(fp)
  80ac2c:    1880061e     bne    r3,r2,80ac48 &lt;altera_avalon_jtag_uart_read+0x158&gt;
  80ac30:    e0800017     ldw    r2,0(fp)
  80ac34:    e0c00017     ldw    r3,0(fp)
  80ac38:    11000917     ldw    r4,36(r2)
  80ac3c:    18800117     ldw    r2,4(r3)
  80ac40:    2080012e     bgeu    r4,r2,80ac48 &lt;altera_avalon_jtag_uart_read+0x158&gt;
  80ac44:    003ff606     br    80ac20 &lt;altera_avalon_jtag_uart_read+0x130&gt;
      ;
#endif /* __ucosii__ */

    if (in == sp-&gt;rx_in)
  80ac48:    e0800017     ldw    r2,0(fp)
  80ac4c:    10c00a17     ldw    r3,40(r2)
  80ac50:    e0800817     ldw    r2,32(fp)
  80ac54:    18bfb11e     bne    r3,r2,80ab1c &lt;altera_avalon_jtag_uart_read+0x2c&gt;
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80ac58:    e0000915     stw    zero,36(fp)
      break;
  }

  /*
   * Now that access to the circular buffer is complete, release the read
   * semaphore so that other threads can access the buffer.
   */

  ALT_SEM_POST (sp-&gt;read_lock);

  if (ptr != buffer)
  80ac5c:    e0c00417     ldw    r3,16(fp)
  80ac60:    e0800117     ldw    r2,4(fp)
  80ac64:    18801726     beq    r3,r2,80acc4 &lt;altera_avalon_jtag_uart_read+0x1d4&gt;
       alt_irq_disable_all (void)
{
  alt_irq_context context;

  NIOS2_READ_STATUS (context);
  80ac68:    0005303a     rdctl    r2,status
  80ac6c:    e0800a15     stw    r2,40(fp)
  NIOS2_WRITE_STATUS (0);
  80ac70:    0001703a     wrctl    status,zero
  80ac74:    e0800a17     ldw    r2,40(fp)
  80ac78:    e0800815     stw    r2,32(fp)
  80ac7c:    e0800817     ldw    r2,32(fp)
  80ac80:    e0800515     stw    r2,20(fp)
  {
    /* If we read any data then there is space in the buffer so enable interrupts */
    context = alt_irq_disable_all();
    sp-&gt;irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
  80ac84:    e0c00017     ldw    r3,0(fp)
  80ac88:    e0800017     ldw    r2,0(fp)
  80ac8c:    10800817     ldw    r2,32(r2)
  80ac90:    10800054     ori    r2,r2,1
  80ac94:    18800815     stw    r2,32(r3)
    IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp-&gt;base, sp-&gt;irq_enable);
  80ac98:    e0800017     ldw    r2,0(fp)
  80ac9c:    10800017     ldw    r2,0(r2)
  80aca0:    10800104     addi    r2,r2,4
  80aca4:    1007883a     mov    r3,r2
  80aca8:    e0800017     ldw    r2,0(fp)
  80acac:    10800817     ldw    r2,32(r2)
  80acb0:    18800035     stwio    r2,0(r3)
 */

static ALT_INLINE void ALT_ALWAYS_INLINE 
       alt_irq_enable_all (alt_irq_context context)
{
  80acb4:    e0800517     ldw    r2,20(fp)
  80acb8:    e0800a15     stw    r2,40(fp)
  NIOS2_WRITE_STATUS (context);
  80acbc:    e0800a17     ldw    r2,40(fp)
  80acc0:    1001703a     wrctl    status,r2
    alt_irq_enable_all(context);
  }

  if (ptr != buffer)
  80acc4:    e0c00417     ldw    r3,16(fp)
  80acc8:    e0800117     ldw    r2,4(fp)
  80accc:    18800526     beq    r3,r2,80ace4 &lt;altera_avalon_jtag_uart_read+0x1f4&gt;
    return ptr - buffer;
  80acd0:    e0800417     ldw    r2,16(fp)
  80acd4:    e0c00117     ldw    r3,4(fp)
  80acd8:    10c5c83a     sub    r2,r2,r3
  80acdc:    e0800b15     stw    r2,44(fp)
  80ace0:    00000a06     br    80ad0c &lt;altera_avalon_jtag_uart_read+0x21c&gt;
  else if (flags &amp; O_NONBLOCK)
  80ace4:    e0800317     ldw    r2,12(fp)
  80ace8:    1004d3ba     srli    r2,r2,14
  80acec:    1080004c     andi    r2,r2,1
  80acf0:    1005003a     cmpeq    r2,r2,zero
  80acf4:    1000031e     bne    r2,zero,80ad04 &lt;altera_avalon_jtag_uart_read+0x214&gt;
    return -EWOULDBLOCK;
  80acf8:    00bffd44     movi    r2,-11
  80acfc:    e0800b15     stw    r2,44(fp)
  80ad00:    00000206     br    80ad0c &lt;altera_avalon_jtag_uart_read+0x21c&gt;
  else
    return -EIO;
  80ad04:    00bffec4     movi    r2,-5
  80ad08:    e0800b15     stw    r2,44(fp)
}
  80ad0c:    e0800b17     ldw    r2,44(fp)
  80ad10:    dfc00d17     ldw    ra,52(sp)
  80ad14:    df000c17     ldw    fp,48(sp)
  80ad18:    dec00e04     addi    sp,sp,56
  80ad1c:    f800283a     ret

0080ad20 &lt;altera_avalon_jtag_uart_write&gt;:

int 
altera_avalon_jtag_uart_write(altera_avalon_jtag_uart_state* sp, 
  const char * ptr, int count, int flags)
{
  80ad20:    defff104     addi    sp,sp,-60
  80ad24:    dfc00e15     stw    ra,56(sp)
  80ad28:    df000d15     stw    fp,52(sp)
  80ad2c:    d839883a     mov    fp,sp
  80ad30:    e1000015     stw    r4,0(fp)
  80ad34:    e1400115     stw    r5,4(fp)
  80ad38:    e1800215     stw    r6,8(fp)
  80ad3c:    e1c00315     stw    r7,12(fp)
  /* Remove warning at optimisation level 03 by seting out to 0 */
  unsigned int in, out=0;
  80ad40:    e0000515     stw    zero,20(fp)
  unsigned int n;
  alt_irq_context context;

  const char * start = ptr;
  80ad44:    e0800117     ldw    r2,4(fp)
  80ad48:    e0800815     stw    r2,32(fp)
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80ad4c:    e0000915     stw    zero,36(fp)

  /*
   * When running in a multi threaded environment, obtain the "write_lock"
   * semaphore. This ensures that writing to the device is thread-safe.
   */
  ALT_SEM_PEND (sp-&gt;write_lock, 0);

  do
  {
    /* Copy as much as we can into the transmit buffer */
    while (count &gt; 0)
  80ad50:    e0800217     ldw    r2,8(fp)
  80ad54:    10800050     cmplti    r2,r2,1
  80ad58:    10003a1e     bne    r2,zero,80ae44 &lt;altera_avalon_jtag_uart_write+0x124&gt;
    {
      /* We need a stable value of the out pointer to calculate the space available */
      in  = sp-&gt;tx_in;
  80ad5c:    e0800017     ldw    r2,0(fp)
  80ad60:    10800c17     ldw    r2,48(r2)
  80ad64:    e0800415     stw    r2,16(fp)
      out = sp-&gt;tx_out;
  80ad68:    e0800017     ldw    r2,0(fp)
  80ad6c:    10800d17     ldw    r2,52(r2)
  80ad70:    e0800515     stw    r2,20(fp)

      if (in &lt; out)
  80ad74:    e0c00417     ldw    r3,16(fp)
  80ad78:    e0800517     ldw    r2,20(fp)
  80ad7c:    1880062e     bgeu    r3,r2,80ad98 &lt;altera_avalon_jtag_uart_write+0x78&gt;
        n = out - 1 - in;
  80ad80:    e0c00517     ldw    r3,20(fp)
  80ad84:    e0800417     ldw    r2,16(fp)
  80ad88:    1885c83a     sub    r2,r3,r2
  80ad8c:    10bfffc4     addi    r2,r2,-1
  80ad90:    e0800615     stw    r2,24(fp)
  80ad94:    00000c06     br    80adc8 &lt;altera_avalon_jtag_uart_write+0xa8&gt;
      else if (out &gt; 0)
  80ad98:    e0800517     ldw    r2,20(fp)
  80ad9c:    1005003a     cmpeq    r2,r2,zero
  80ada0:    1000051e     bne    r2,zero,80adb8 &lt;altera_avalon_jtag_uart_write+0x98&gt;
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in;
  80ada4:    00820004     movi    r2,2048
  80ada8:    e0c00417     ldw    r3,16(fp)
  80adac:    10c5c83a     sub    r2,r2,r3
  80adb0:    e0800615     stw    r2,24(fp)
  80adb4:    00000406     br    80adc8 &lt;altera_avalon_jtag_uart_write+0xa8&gt;
      else
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in;
  80adb8:    0081ffc4     movi    r2,2047
  80adbc:    e0c00417     ldw    r3,16(fp)
  80adc0:    10c5c83a     sub    r2,r2,r3
  80adc4:    e0800615     stw    r2,24(fp)

      if (n == 0)
  80adc8:    e0800617     ldw    r2,24(fp)
  80adcc:    1004c03a     cmpne    r2,r2,zero
  80add0:    1000011e     bne    r2,zero,80add8 &lt;altera_avalon_jtag_uart_write+0xb8&gt;
        break;
  80add4:    00001b06     br    80ae44 &lt;altera_avalon_jtag_uart_write+0x124&gt;

      if (n &gt; count)
  80add8:    e0c00217     ldw    r3,8(fp)
  80addc:    e0800617     ldw    r2,24(fp)
  80ade0:    1880022e     bgeu    r3,r2,80adec &lt;altera_avalon_jtag_uart_write+0xcc&gt;
        n = count;
  80ade4:    e0800217     ldw    r2,8(fp)
  80ade8:    e0800615     stw    r2,24(fp)

      memcpy(sp-&gt;tx_buf + in, ptr, n);
  80adec:    e0c00017     ldw    r3,0(fp)
  80adf0:    e0800417     ldw    r2,16(fp)
  80adf4:    1885883a     add    r2,r3,r2
  80adf8:    11020e04     addi    r4,r2,2104
  80adfc:    e1400117     ldw    r5,4(fp)
  80ae00:    e1800617     ldw    r6,24(fp)
  80ae04:    0805ea80     call    805ea8 &lt;memcpy&gt;
      ptr   += n;
  80ae08:    e0c00117     ldw    r3,4(fp)
  80ae0c:    e0800617     ldw    r2,24(fp)
  80ae10:    1885883a     add    r2,r3,r2
  80ae14:    e0800115     stw    r2,4(fp)
      count -= n;
  80ae18:    e0c00217     ldw    r3,8(fp)
  80ae1c:    e0800617     ldw    r2,24(fp)
  80ae20:    1885c83a     sub    r2,r3,r2
  80ae24:    e0800215     stw    r2,8(fp)

      sp-&gt;tx_in = (in + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  80ae28:    e1000017     ldw    r4,0(fp)
  80ae2c:    e0c00417     ldw    r3,16(fp)
  80ae30:    e0800617     ldw    r2,24(fp)
  80ae34:    1885883a     add    r2,r3,r2
  80ae38:    1081ffcc     andi    r2,r2,2047
  80ae3c:    20800c15     stw    r2,48(r4)
  80ae40:    003fc306     br    80ad50 &lt;altera_avalon_jtag_uart_write+0x30&gt;
       alt_irq_disable_all (void)
{
  alt_irq_context context;

  NIOS2_READ_STATUS (context);
  80ae44:    0005303a     rdctl    r2,status
  80ae48:    e0800b15     stw    r2,44(fp)
  NIOS2_WRITE_STATUS (0);
  80ae4c:    0001703a     wrctl    status,zero
  80ae50:    e0800b17     ldw    r2,44(fp)
  80ae54:    e0800a15     stw    r2,40(fp)
  80ae58:    e0800a17     ldw    r2,40(fp)
  80ae5c:    e0800715     stw    r2,28(fp)
    }

    /*
     * TODO: if interrupts are disabled then we could transmit here, we only need 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();
    sp-&gt;irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK;
  80ae60:    e0c00017     ldw    r3,0(fp)
  80ae64:    e0800017     ldw    r2,0(fp)
  80ae68:    10800817     ldw    r2,32(r2)
  80ae6c:    10800094     ori    r2,r2,2
  80ae70:    18800815     stw    r2,32(r3)
    IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp-&gt;base, sp-&gt;irq_enable);
  80ae74:    e0800017     ldw    r2,0(fp)
  80ae78:    10800017     ldw    r2,0(r2)
  80ae7c:    10800104     addi    r2,r2,4
  80ae80:    1007883a     mov    r3,r2
  80ae84:    e0800017     ldw    r2,0(fp)
  80ae88:    10800817     ldw    r2,32(r2)
  80ae8c:    18800035     stwio    r2,0(r3)
 */

static ALT_INLINE void ALT_ALWAYS_INLINE 
       alt_irq_enable_all (alt_irq_context context)
{
  80ae90:    e0800717     ldw    r2,28(fp)
  80ae94:    e0800b15     stw    r2,44(fp)
  NIOS2_WRITE_STATUS (context);
  80ae98:    e0800b17     ldw    r2,44(fp)
  80ae9c:    1001703a     wrctl    status,r2
    alt_irq_enable_all(context);

    /* If there is any data left then either return now or block until some has been sent */
    /* TODO: test whether there is anything there while doing this and delay for at most 2s. */
    if (count &gt; 0)
  80aea0:    e0800217     ldw    r2,8(fp)
  80aea4:    10800050     cmplti    r2,r2,1
  80aea8:    1000151e     bne    r2,zero,80af00 &lt;altera_avalon_jtag_uart_write+0x1e0&gt;
    {
      if (flags &amp; O_NONBLOCK)
  80aeac:    e0800317     ldw    r2,12(fp)
  80aeb0:    1004d3ba     srli    r2,r2,14
  80aeb4:    1080004c     andi    r2,r2,1
  80aeb8:    1005003a     cmpeq    r2,r2,zero
  80aebc:    1000011e     bne    r2,zero,80aec4 &lt;altera_avalon_jtag_uart_write+0x1a4&gt;
        break;
  80aec0:    00001306     br    80af10 &lt;altera_avalon_jtag_uart_write+0x1f0&gt;

#ifdef __ucosii__
      /* OS Present: Pend on a flag if the OS is running, otherwise spin */
      if(OSRunning == OS_TRUE) {
        /*
         * When running in a multi-threaded mode, we pend on the write event
         * flag set or the timeout flag in the isr. This avoids wasting CPU
         * cycles waiting in this thread, when we could be doing something
         * more profitable elsewhere.
         */
        ALT_FLAG_PEND (sp-&gt;events,
                       ALT_JTAG_UART_WRITE_RDY | ALT_JTAG_UART_TIMEOUT,
                       OS_FLAG_WAIT_SET_ANY + OS_FLAG_CONSUME,
                       0);
      }
      else {
        /*
         * OS not running: 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-&gt;tx_out &amp;&amp; sp-&gt;host_inactive &lt; sp-&gt;timeout)
          ;
      }
#else
      /*
       * 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-&gt;tx_out &amp;&amp; sp-&gt;host_inactive &lt; sp-&gt;timeout)
  80aec4:    e0800017     ldw    r2,0(fp)
  80aec8:    10c00d17     ldw    r3,52(r2)
  80aecc:    e0800517     ldw    r2,20(fp)
  80aed0:    1880061e     bne    r3,r2,80aeec &lt;altera_avalon_jtag_uart_write+0x1cc&gt;
  80aed4:    e0800017     ldw    r2,0(fp)
  80aed8:    e0c00017     ldw    r3,0(fp)
  80aedc:    11000917     ldw    r4,36(r2)
  80aee0:    18800117     ldw    r2,4(r3)
  80aee4:    2080012e     bgeu    r4,r2,80aeec &lt;altera_avalon_jtag_uart_write+0x1cc&gt;
  80aee8:    003ff606     br    80aec4 &lt;altera_avalon_jtag_uart_write+0x1a4&gt;
        ;
#endif /* __ucosii__ */

      if (out == sp-&gt;tx_out)
  80aeec:    e0800017     ldw    r2,0(fp)
  80aef0:    10c00d17     ldw    r3,52(r2)
  80aef4:    e0800517     ldw    r2,20(fp)
  80aef8:    1880011e     bne    r3,r2,80af00 &lt;altera_avalon_jtag_uart_write+0x1e0&gt;
        break;
  80aefc:    00000406     br    80af10 &lt;altera_avalon_jtag_uart_write+0x1f0&gt;
    }
  }
  80af00:    e0800217     ldw    r2,8(fp)
  80af04:    10800050     cmplti    r2,r2,1
  80af08:    1000011e     bne    r2,zero,80af10 &lt;altera_avalon_jtag_uart_write+0x1f0&gt;
  80af0c:    003f9006     br    80ad50 &lt;altera_avalon_jtag_uart_write+0x30&gt;
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80af10:    e0000b15     stw    zero,44(fp)
  while (count &gt; 0);

  /*
   * 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-&gt;write_lock);

  if (ptr != start)
  80af14:    e0c00117     ldw    r3,4(fp)
  80af18:    e0800817     ldw    r2,32(fp)
  80af1c:    18800526     beq    r3,r2,80af34 &lt;altera_avalon_jtag_uart_write+0x214&gt;
    return ptr - start;
  80af20:    e0800117     ldw    r2,4(fp)
  80af24:    e0c00817     ldw    r3,32(fp)
  80af28:    10c5c83a     sub    r2,r2,r3
  80af2c:    e0800c15     stw    r2,48(fp)
  80af30:    00000a06     br    80af5c &lt;altera_avalon_jtag_uart_write+0x23c&gt;
  else if (flags &amp; O_NONBLOCK)
  80af34:    e0800317     ldw    r2,12(fp)
  80af38:    1004d3ba     srli    r2,r2,14
  80af3c:    1080004c     andi    r2,r2,1
  80af40:    1005003a     cmpeq    r2,r2,zero
  80af44:    1000031e     bne    r2,zero,80af54 &lt;altera_avalon_jtag_uart_write+0x234&gt;
    return -EWOULDBLOCK;
  80af48:    00bffd44     movi    r2,-11
  80af4c:    e0800c15     stw    r2,48(fp)
  80af50:    00000206     br    80af5c &lt;altera_avalon_jtag_uart_write+0x23c&gt;
  else
    return -EIO; /* Host not connected */
  80af54:    00bffec4     movi    r2,-5
  80af58:    e0800c15     stw    r2,48(fp)
}
  80af5c:    e0800c17     ldw    r2,48(fp)
  80af60:    dfc00e17     ldw    ra,56(sp)
  80af64:    df000d17     ldw    fp,52(sp)
  80af68:    dec00f04     addi    sp,sp,60
  80af6c:    f800283a     ret

0080af70 &lt;lcd_write_command&gt;:
/* --------------------------------------------------------------------- */

static void lcd_write_command(altera_avalon_lcd_16207_state* sp, 
  unsigned char command)
{
  80af70:    defffa04     addi    sp,sp,-24
  80af74:    dfc00515     stw    ra,20(sp)
  80af78:    df000415     stw    fp,16(sp)
  80af7c:    d839883a     mov    fp,sp
  80af80:    e1000015     stw    r4,0(fp)
  80af84:    e1400105     stb    r5,4(fp)
  unsigned int base = sp-&gt;base;
  80af88:    e0800017     ldw    r2,0(fp)
  80af8c:    10800017     ldw    r2,0(r2)
  80af90:    e0800215     stw    r2,8(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;
  80af94:    008003f4     movhi    r2,15
  80af98:    10909004     addi    r2,r2,16960
  80af9c:    e0800315     stw    r2,12(fp)

  /* Don't bother if the LCD panel didn't work before */
  if (sp-&gt;broken)
  80afa0:    e0800017     ldw    r2,0(fp)
  80afa4:    10800807     ldb    r2,32(r2)
  80afa8:    1005003a     cmpeq    r2,r2,zero
  80afac:    1000011e     bne    r2,zero,80afb4 &lt;lcd_write_command+0x44&gt;
    return;
  80afb0:    00001506     br    80b008 &lt;lcd_write_command+0x98&gt;

  /* Wait until LCD isn't busy. */
  while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) &amp; ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK)
  80afb4:    e0800217     ldw    r2,8(fp)
  80afb8:    10800104     addi    r2,r2,4
  80afbc:    10800037     ldwio    r2,0(r2)
  80afc0:    1004d1fa     srli    r2,r2,7
  80afc4:    1080004c     andi    r2,r2,1
  80afc8:    1005003a     cmpeq    r2,r2,zero
  80afcc:    1000091e     bne    r2,zero,80aff4 &lt;lcd_write_command+0x84&gt;
    if (--i == 0)
  80afd0:    e0800317     ldw    r2,12(fp)
  80afd4:    10bfffc4     addi    r2,r2,-1
  80afd8:    e0800315     stw    r2,12(fp)
  80afdc:    1004c03a     cmpne    r2,r2,zero
  80afe0:    103ff41e     bne    r2,zero,80afb4 &lt;lcd_write_command+0x44&gt;
    {
      sp-&gt;broken = 1;
  80afe4:    e0c00017     ldw    r3,0(fp)
  80afe8:    00800044     movi    r2,1
  80afec:    18800805     stb    r2,32(r3)
      return;
  80aff0:    00000506     br    80b008 &lt;lcd_write_command+0x98&gt;
    }

  /* 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);
  80aff4:    01001904     movi    r4,100
  80aff8:    080c7480     call    80c748 &lt;usleep&gt;

  IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, command);
  80affc:    e0c00217     ldw    r3,8(fp)
  80b000:    e0800103     ldbu    r2,4(fp)
  80b004:    18800035     stwio    r2,0(r3)
}
  80b008:    dfc00517     ldw    ra,20(sp)
  80b00c:    df000417     ldw    fp,16(sp)
  80b010:    dec00604     addi    sp,sp,24
  80b014:    f800283a     ret

0080b018 &lt;lcd_write_data&gt;:

/* --------------------------------------------------------------------- */

static void lcd_write_data(altera_avalon_lcd_16207_state* sp, 
  unsigned char data)
{
  80b018:    defffa04     addi    sp,sp,-24
  80b01c:    dfc00515     stw    ra,20(sp)
  80b020:    df000415     stw    fp,16(sp)
  80b024:    d839883a     mov    fp,sp
  80b028:    e1000015     stw    r4,0(fp)
  80b02c:    e1400105     stb    r5,4(fp)
  unsigned int base = sp-&gt;base;
  80b030:    e0800017     ldw    r2,0(fp)
  80b034:    10800017     ldw    r2,0(r2)
  80b038:    e0800215     stw    r2,8(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;
  80b03c:    008003f4     movhi    r2,15
  80b040:    10909004     addi    r2,r2,16960
  80b044:    e0800315     stw    r2,12(fp)

  /* Don't bother if the LCD panel didn't work before */
  if (sp-&gt;broken)
  80b048:    e0800017     ldw    r2,0(fp)
  80b04c:    10800807     ldb    r2,32(r2)
  80b050:    1005003a     cmpeq    r2,r2,zero
  80b054:    1000011e     bne    r2,zero,80b05c &lt;lcd_write_data+0x44&gt;
    return;
  80b058:    00001c06     br    80b0cc &lt;lcd_write_data+0xb4&gt;

  /* Wait until LCD isn't busy. */
  while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) &amp; ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK)
  80b05c:    e0800217     ldw    r2,8(fp)
  80b060:    10800104     addi    r2,r2,4
  80b064:    10800037     ldwio    r2,0(r2)
  80b068:    1004d1fa     srli    r2,r2,7
  80b06c:    1080004c     andi    r2,r2,1
  80b070:    1005003a     cmpeq    r2,r2,zero
  80b074:    1000091e     bne    r2,zero,80b09c &lt;lcd_write_data+0x84&gt;
    if (--i == 0)
  80b078:    e0800317     ldw    r2,12(fp)
  80b07c:    10bfffc4     addi    r2,r2,-1
  80b080:    e0800315     stw    r2,12(fp)
  80b084:    1004c03a     cmpne    r2,r2,zero
  80b088:    103ff41e     bne    r2,zero,80b05c &lt;lcd_write_data+0x44&gt;
    {
      sp-&gt;broken = 1;
  80b08c:    e0c00017     ldw    r3,0(fp)
  80b090:    00800044     movi    r2,1
  80b094:    18800805     stb    r2,32(r3)
      return;
  80b098:    00000c06     br    80b0cc &lt;lcd_write_data+0xb4&gt;
    }

  /* 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);
  80b09c:    01001904     movi    r4,100
  80b0a0:    080c7480     call    80c748 &lt;usleep&gt;

  IOWR_ALTERA_AVALON_LCD_16207_DATA(base, data);
  80b0a4:    e0800217     ldw    r2,8(fp)
  80b0a8:    10800204     addi    r2,r2,8
  80b0ac:    1007883a     mov    r3,r2
  80b0b0:    e0800103     ldbu    r2,4(fp)
  80b0b4:    18800035     stwio    r2,0(r3)

  sp-&gt;address++;
  80b0b8:    e0c00017     ldw    r3,0(fp)
  80b0bc:    e0800017     ldw    r2,0(fp)
  80b0c0:    108008c3     ldbu    r2,35(r2)
  80b0c4:    10800044     addi    r2,r2,1
  80b0c8:    188008c5     stb    r2,35(r3)
}
  80b0cc:    dfc00517     ldw    ra,20(sp)
  80b0d0:    df000417     ldw    fp,16(sp)
  80b0d4:    dec00604     addi    sp,sp,24
  80b0d8:    f800283a     ret

0080b0dc &lt;lcd_clear_screen&gt;:

/* --------------------------------------------------------------------- */

static void lcd_clear_screen(altera_avalon_lcd_16207_state* sp)
{
  80b0dc:    defffc04     addi    sp,sp,-16
  80b0e0:    dfc00315     stw    ra,12(sp)
  80b0e4:    df000215     stw    fp,8(sp)
  80b0e8:    d839883a     mov    fp,sp
  80b0ec:    e1000015     stw    r4,0(fp)
  int y;

  lcd_write_command(sp, LCD_CMD_CLEAR);
  80b0f0:    e1000017     ldw    r4,0(fp)
  80b0f4:    01400044     movi    r5,1
  80b0f8:    080af700     call    80af70 &lt;lcd_write_command&gt;

  sp-&gt;x = 0;
  80b0fc:    e0800017     ldw    r2,0(fp)
  80b100:    10000845     stb    zero,33(r2)
  sp-&gt;y = 0;
  80b104:    e0800017     ldw    r2,0(fp)
  80b108:    10000885     stb    zero,34(r2)
  sp-&gt;address = 0;
  80b10c:    e0800017     ldw    r2,0(fp)
  80b110:    100008c5     stb    zero,35(r2)

  for (y = 0 ; y &lt; ALT_LCD_HEIGHT ; y++)
  80b114:    e0000115     stw    zero,4(fp)
  80b118:    e0800117     ldw    r2,4(fp)
  80b11c:    10800088     cmpgei    r2,r2,2
  80b120:    10001a1e     bne    r2,zero,80b18c &lt;lcd_clear_screen+0xb0&gt;
  {
    memset(sp-&gt;line[y].data, ' ', sizeof(sp-&gt;line[0].data));
  80b124:    e0800117     ldw    r2,4(fp)
  80b128:    10c018e4     muli    r3,r2,99
  80b12c:    e0800017     ldw    r2,0(fp)
  80b130:    1885883a     add    r2,r3,r2
  80b134:    11001004     addi    r4,r2,64
  80b138:    01400804     movi    r5,32
  80b13c:    01801444     movi    r6,81
  80b140:    080606c0     call    80606c &lt;memset&gt;
    memset(sp-&gt;line[y].visible, ' ', sizeof(sp-&gt;line[0].visible));
  80b144:    e0800117     ldw    r2,4(fp)
  80b148:    10c018e4     muli    r3,r2,99
  80b14c:    e0800017     ldw    r2,0(fp)
  80b150:    1885883a     add    r2,r3,r2
  80b154:    11000c04     addi    r4,r2,48
  80b158:    01400804     movi    r5,32
  80b15c:    01800404     movi    r6,16
  80b160:    080606c0     call    80606c &lt;memset&gt;
    sp-&gt;line[y].width = 0;
  80b164:    e0c00017     ldw    r3,0(fp)
  80b168:    e0800117     ldw    r2,4(fp)
  80b16c:    108018e4     muli    r2,r2,99
  80b170:    10c5883a     add    r2,r2,r3
  80b174:    10802404     addi    r2,r2,144
  80b178:    10000045     stb    zero,1(r2)
  80b17c:    e0800117     ldw    r2,4(fp)
  80b180:    10800044     addi    r2,r2,1
  80b184:    e0800115     stw    r2,4(fp)
  80b188:    003fe306     br    80b118 &lt;lcd_clear_screen+0x3c&gt;
  }
}
  80b18c:    dfc00317     ldw    ra,12(sp)
  80b190:    df000217     ldw    fp,8(sp)
  80b194:    dec00404     addi    sp,sp,16
  80b198:    f800283a     ret

0080b19c &lt;lcd_repaint_screen&gt;:

/* --------------------------------------------------------------------- */

static void lcd_repaint_screen(altera_avalon_lcd_16207_state* sp)
{
  80b19c:    defff604     addi    sp,sp,-40
  80b1a0:    dfc00915     stw    ra,36(sp)
  80b1a4:    df000815     stw    fp,32(sp)
  80b1a8:    dc000715     stw    r16,28(sp)
  80b1ac:    d839883a     mov    fp,sp
  80b1b0:    e1000015     stw    r4,0(fp)
  int y, x;

  /* 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-&gt;scrollpos;
  80b1b4:    e0800017     ldw    r2,0(fp)
  80b1b8:    10800947     ldb    r2,37(r2)
  80b1bc:    e0800315     stw    r2,12(fp)

  for (y = 0 ; y &lt; ALT_LCD_HEIGHT ; y++)
  80b1c0:    e0000115     stw    zero,4(fp)
  80b1c4:    e0800117     ldw    r2,4(fp)
  80b1c8:    10800088     cmpgei    r2,r2,2
  80b1cc:    10005a1e     bne    r2,zero,80b338 &lt;lcd_repaint_screen+0x19c&gt;
  {
    int width  = sp-&gt;line[y].width;
  80b1d0:    e0c00017     ldw    r3,0(fp)
  80b1d4:    e0800117     ldw    r2,4(fp)
  80b1d8:    108018e4     muli    r2,r2,99
  80b1dc:    10c5883a     add    r2,r2,r3
  80b1e0:    10802404     addi    r2,r2,144
  80b1e4:    10800047     ldb    r2,1(r2)
  80b1e8:    e0800415     stw    r2,16(fp)
    int offset = (scrollpos * sp-&gt;line[y].speed) &gt;&gt; 8;
  80b1ec:    e0c00017     ldw    r3,0(fp)
  80b1f0:    e0800117     ldw    r2,4(fp)
  80b1f4:    108018e4     muli    r2,r2,99
  80b1f8:    10c5883a     add    r2,r2,r3
  80b1fc:    10802404     addi    r2,r2,144
  80b200:    10c00083     ldbu    r3,2(r2)
  80b204:    e0800317     ldw    r2,12(fp)
  80b208:    1885383a     mul    r2,r3,r2
  80b20c:    1005d23a     srai    r2,r2,8
  80b210:    e0800515     stw    r2,20(fp)
    if (offset &gt;= width)
  80b214:    e0c00517     ldw    r3,20(fp)
  80b218:    e0800417     ldw    r2,16(fp)
  80b21c:    18800116     blt    r3,r2,80b224 &lt;lcd_repaint_screen+0x88&gt;
      offset = 0;
  80b220:    e0000515     stw    zero,20(fp)

    for (x = 0 ; x &lt; ALT_LCD_WIDTH ; x++)
  80b224:    e0000215     stw    zero,8(fp)
  80b228:    e0800217     ldw    r2,8(fp)
  80b22c:    10800408     cmpgei    r2,r2,16
  80b230:    10003d1e     bne    r2,zero,80b328 &lt;lcd_repaint_screen+0x18c&gt;
    {
      char c = sp-&gt;line[y].data[(x + offset) % width];
  80b234:    e4000017     ldw    r16,0(fp)
  80b238:    e0c00217     ldw    r3,8(fp)
  80b23c:    e0800517     ldw    r2,20(fp)
  80b240:    1889883a     add    r4,r3,r2
  80b244:    e1400417     ldw    r5,16(fp)
  80b248:    08091ac0     call    8091ac &lt;__modsi3&gt;
  80b24c:    1007883a     mov    r3,r2
  80b250:    e0800117     ldw    r2,4(fp)
  80b254:    108018e4     muli    r2,r2,99
  80b258:    1405883a     add    r2,r2,r16
  80b25c:    10c5883a     add    r2,r2,r3
  80b260:    10801004     addi    r2,r2,64
  80b264:    10800003     ldbu    r2,0(r2)
  80b268:    e0800605     stb    r2,24(fp)

      /* Writing data takes 40us, so don't do it unless required */
      if (sp-&gt;line[y].visible[x] != c)
  80b26c:    e0c00017     ldw    r3,0(fp)
  80b270:    e0800117     ldw    r2,4(fp)
  80b274:    108018e4     muli    r2,r2,99
  80b278:    10c7883a     add    r3,r2,r3
  80b27c:    e0800217     ldw    r2,8(fp)
  80b280:    1885883a     add    r2,r3,r2
  80b284:    10800c04     addi    r2,r2,48
  80b288:    10c00007     ldb    r3,0(r2)
  80b28c:    e0800607     ldb    r2,24(fp)
  80b290:    18802126     beq    r3,r2,80b318 &lt;lcd_repaint_screen+0x17c&gt;
      {
        unsigned char address = x + colstart[y];
  80b294:    e0c00117     ldw    r3,4(fp)
  80b298:    d0a01504     addi    r2,gp,-32684
  80b29c:    1885883a     add    r2,r3,r2
  80b2a0:    e0c00217     ldw    r3,8(fp)
  80b2a4:    11000003     ldbu    r4,0(r2)
  80b2a8:    1805883a     mov    r2,r3
  80b2ac:    2085883a     add    r2,r4,r2
  80b2b0:    e0800645     stb    r2,25(fp)

        if (address != sp-&gt;address)
  80b2b4:    e0c00643     ldbu    r3,25(fp)
  80b2b8:    e0800017     ldw    r2,0(fp)
  80b2bc:    108008c7     ldb    r2,35(r2)
  80b2c0:    18800926     beq    r3,r2,80b2e8 &lt;lcd_repaint_screen+0x14c&gt;
        {
          lcd_write_command(sp, LCD_CMD_WRITE_DATA | address);
  80b2c4:    e0c00643     ldbu    r3,25(fp)
  80b2c8:    00bfe004     movi    r2,-128
  80b2cc:    1884b03a     or    r2,r3,r2
  80b2d0:    11403fcc     andi    r5,r2,255
  80b2d4:    e1000017     ldw    r4,0(fp)
  80b2d8:    080af700     call    80af70 &lt;lcd_write_command&gt;
          sp-&gt;address = address;
  80b2dc:    e0c00017     ldw    r3,0(fp)
  80b2e0:    e0800643     ldbu    r2,25(fp)
  80b2e4:    188008c5     stb    r2,35(r3)
        }

        lcd_write_data(sp, c);
  80b2e8:    e1400603     ldbu    r5,24(fp)
  80b2ec:    e1000017     ldw    r4,0(fp)
  80b2f0:    080b0180     call    80b018 &lt;lcd_write_data&gt;
        sp-&gt;line[y].visible[x] = c;
  80b2f4:    e0c00017     ldw    r3,0(fp)
  80b2f8:    e0800117     ldw    r2,4(fp)
  80b2fc:    108018e4     muli    r2,r2,99
  80b300:    10c7883a     add    r3,r2,r3
  80b304:    e0800217     ldw    r2,8(fp)
  80b308:    1885883a     add    r2,r3,r2
  80b30c:    10c00c04     addi    r3,r2,48
  80b310:    e0800603     ldbu    r2,24(fp)
  80b314:    18800005     stb    r2,0(r3)
  80b318:    e0800217     ldw    r2,8(fp)
  80b31c:    10800044     addi    r2,r2,1
  80b320:    e0800215     stw    r2,8(fp)
  80b324:    003fc006     br    80b228 &lt;lcd_repaint_screen+0x8c&gt;
  80b328:    e0800117     ldw    r2,4(fp)
  80b32c:    10800044     addi    r2,r2,1
  80b330:    e0800115     stw    r2,4(fp)
  80b334:    003fa306     br    80b1c4 &lt;lcd_repaint_screen+0x28&gt;
      }
    }
  }
}
  80b338:    dfc00917     ldw    ra,36(sp)
  80b33c:    df000817     ldw    fp,32(sp)
  80b340:    dc000717     ldw    r16,28(sp)
  80b344:    dec00a04     addi    sp,sp,40
  80b348:    f800283a     ret

0080b34c &lt;lcd_scroll_up&gt;:

/* --------------------------------------------------------------------- */

static void lcd_scroll_up(altera_avalon_lcd_16207_state* sp)
{
  80b34c:    defffc04     addi    sp,sp,-16
  80b350:    dfc00315     stw    ra,12(sp)
  80b354:    df000215     stw    fp,8(sp)
  80b358:    d839883a     mov    fp,sp
  80b35c:    e1000015     stw    r4,0(fp)
  int y;

  for (y = 0 ; y &lt; ALT_LCD_HEIGHT ; y++)
  80b360:    e0000115     stw    zero,4(fp)
  80b364:    e0800117     ldw    r2,4(fp)
  80b368:    10800088     cmpgei    r2,r2,2
  80b36c:    10001c1e     bne    r2,zero,80b3e0 &lt;lcd_scroll_up+0x94&gt;
  {
    if (y &lt; ALT_LCD_HEIGHT-1)
  80b370:    e0800117     ldw    r2,4(fp)
  80b374:    10800048     cmpgei    r2,r2,1
  80b378:    10000d1e     bne    r2,zero,80b3b0 &lt;lcd_scroll_up+0x64&gt;
      memcpy(sp-&gt;line[y].data, sp-&gt;line[y+1].data, ALT_LCD_VIRTUAL_WIDTH);
  80b37c:    e0800117     ldw    r2,4(fp)
  80b380:    10c018e4     muli    r3,r2,99
  80b384:    e0800017     ldw    r2,0(fp)
  80b388:    1885883a     add    r2,r3,r2
  80b38c:    11001004     addi    r4,r2,64
  80b390:    e0800117     ldw    r2,4(fp)
  80b394:    10c018e4     muli    r3,r2,99
  80b398:    e0800017     ldw    r2,0(fp)
  80b39c:    1885883a     add    r2,r3,r2
  80b3a0:    114028c4     addi    r5,r2,163
  80b3a4:    01801404     movi    r6,80
  80b3a8:    0805ea80     call    805ea8 &lt;memcpy&gt;
  80b3ac:    00000806     br    80b3d0 &lt;lcd_scroll_up+0x84&gt;
    else
      memset(sp-&gt;line[y].data, ' ', ALT_LCD_VIRTUAL_WIDTH);
  80b3b0:    e0800117     ldw    r2,4(fp)
  80b3b4:    10c018e4     muli    r3,r2,99
  80b3b8:    e0800017     ldw    r2,0(fp)
  80b3bc:    1885883a     add    r2,r3,r2
  80b3c0:    11001004     addi    r4,r2,64
  80b3c4:    01400804     movi    r5,32
  80b3c8:    01801404     movi    r6,80
  80b3cc:    080606c0     call    80606c &lt;memset&gt;
  80b3d0:    e0800117     ldw    r2,4(fp)
  80b3d4:    10800044     addi    r2,r2,1
  80b3d8:    e0800115     stw    r2,4(fp)
  80b3dc:    003fe106     br    80b364 &lt;lcd_scroll_up+0x18&gt;
  }

  sp-&gt;y--;
  80b3e0:    e0c00017     ldw    r3,0(fp)
  80b3e4:    e0800017     ldw    r2,0(fp)
  80b3e8:    10800883     ldbu    r2,34(r2)
  80b3ec:    10bfffc4     addi    r2,r2,-1
  80b3f0:    18800885     stb    r2,34(r3)
}
  80b3f4:    dfc00317     ldw    ra,12(sp)
  80b3f8:    df000217     ldw    fp,8(sp)
  80b3fc:    dec00404     addi    sp,sp,16
  80b400:    f800283a     ret

0080b404 &lt;lcd_handle_escape&gt;:

/* --------------------------------------------------------------------- */

static void lcd_handle_escape(altera_avalon_lcd_16207_state* sp, char c)
{
  80b404:    defff804     addi    sp,sp,-32
  80b408:    dfc00715     stw    ra,28(sp)
  80b40c:    df000615     stw    fp,24(sp)
  80b410:    d839883a     mov    fp,sp
  80b414:    e1000015     stw    r4,0(fp)
  80b418:    e1400105     stb    r5,4(fp)
  int parm1 = 0, parm2 = 0;
  80b41c:    e0000215     stw    zero,8(fp)
  80b420:    e0000315     stw    zero,12(fp)

  if (sp-&gt;escape[0] == '[')
  80b424:    e0800017     ldw    r2,0(fp)
  80b428:    10800a07     ldb    r2,40(r2)
  80b42c:    108016d8     cmpnei    r2,r2,91
  80b430:    1000361e     bne    r2,zero,80b50c &lt;lcd_handle_escape+0x108&gt;
  {
    char * ptr = sp-&gt;escape+1;
  80b434:    e0800017     ldw    r2,0(fp)
  80b438:    10800a44     addi    r2,r2,41
  80b43c:    e0800415     stw    r2,16(fp)
    while (isdigit(*ptr))
  80b440:    e0800417     ldw    r2,16(fp)
  80b444:    10c00007     ldb    r3,0(r2)
  80b448:    00802074     movhi    r2,129
  80b44c:    10b44904     addi    r2,r2,-11996
  80b450:    1885883a     add    r2,r3,r2
  80b454:    10800003     ldbu    r2,0(r2)
  80b458:    1004d0ba     srli    r2,r2,2
  80b45c:    1080004c     andi    r2,r2,1
  80b460:    1005003a     cmpeq    r2,r2,zero
  80b464:    10000c1e     bne    r2,zero,80b498 &lt;lcd_handle_escape+0x94&gt;
      parm1 = (parm1 * 10) + (*ptr++ - '0');
  80b468:    e0800217     ldw    r2,8(fp)
  80b46c:    110002a4     muli    r4,r2,10
  80b470:    e1400404     addi    r5,fp,16
  80b474:    28c00017     ldw    r3,0(r5)
  80b478:    1805883a     mov    r2,r3
  80b47c:    10800007     ldb    r2,0(r2)
  80b480:    2085883a     add    r2,r4,r2
  80b484:    10bff404     addi    r2,r2,-48
  80b488:    18c00044     addi    r3,r3,1
  80b48c:    28c00015     stw    r3,0(r5)
  80b490:    e0800215     stw    r2,8(fp)
  80b494:    003fea06     br    80b440 &lt;lcd_handle_escape+0x3c&gt;

    if (*ptr == ';')
  80b498:    e0800417     ldw    r2,16(fp)
  80b49c:    10800007     ldb    r2,0(r2)
  80b4a0:    10800ed8     cmpnei    r2,r2,59
  80b4a4:    10001b1e     bne    r2,zero,80b514 &lt;lcd_handle_escape+0x110&gt;
    {
      ptr++;
  80b4a8:    e0800417     ldw    r2,16(fp)
  80b4ac:    10800044     addi    r2,r2,1
  80b4b0:    e0800415     stw    r2,16(fp)
      while (isdigit(*ptr))
  80b4b4:    e0800417     ldw    r2,16(fp)
  80b4b8:    10c00007     ldb    r3,0(r2)
  80b4bc:    00802074     movhi    r2,129
  80b4c0:    10b44904     addi    r2,r2,-11996
  80b4c4:    1885883a     add    r2,r3,r2
  80b4c8:    10800003     ldbu    r2,0(r2)
  80b4cc:    1004d0ba     srli    r2,r2,2
  80b4d0:    1080004c     andi    r2,r2,1
  80b4d4:    1005003a     cmpeq    r2,r2,zero
  80b4d8:    10000e1e     bne    r2,zero,80b514 &lt;lcd_handle_escape+0x110&gt;
        parm2 = (parm2 * 10) + (*ptr++ - '0');
  80b4dc:    e0800317     ldw    r2,12(fp)
  80b4e0:    110002a4     muli    r4,r2,10
  80b4e4:    e1400404     addi    r5,fp,16
  80b4e8:    28c00017     ldw    r3,0(r5)
  80b4ec:    1805883a     mov    r2,r3
  80b4f0:    10800007     ldb    r2,0(r2)
  80b4f4:    2085883a     add    r2,r4,r2
  80b4f8:    10bff404     addi    r2,r2,-48
  80b4fc:    18c00044     addi    r3,r3,1
  80b500:    28c00015     stw    r3,0(r5)
  80b504:    e0800315     stw    r2,12(fp)
  80b508:    003fea06     br    80b4b4 &lt;lcd_handle_escape+0xb0&gt;
    }
  }
  else
    parm1 = -1;
  80b50c:    00bfffc4     movi    r2,-1
  80b510:    e0800215     stw    r2,8(fp)

  switch (c)
  80b514:    e0800107     ldb    r2,4(fp)
  80b518:    e0800515     stw    r2,20(fp)
  80b51c:    e0c00517     ldw    r3,20(fp)
  80b520:    188012a0     cmpeqi    r2,r3,74
  80b524:    10002a1e     bne    r2,zero,80b5d0 &lt;lcd_handle_escape+0x1cc&gt;
  80b528:    e0c00517     ldw    r3,20(fp)
  80b52c:    188012c8     cmpgei    r2,r3,75
  80b530:    1000041e     bne    r2,zero,80b544 &lt;lcd_handle_escape+0x140&gt;
  80b534:    e0c00517     ldw    r3,20(fp)
  80b538:    18801220     cmpeqi    r2,r3,72
  80b53c:    1000081e     bne    r2,zero,80b560 &lt;lcd_handle_escape+0x15c&gt;
  80b540:    00003f06     br    80b640 &lt;lcd_handle_escape+0x23c&gt;
  80b544:    e0c00517     ldw    r3,20(fp)
  80b548:    188012e0     cmpeqi    r2,r3,75
  80b54c:    1000261e     bne    r2,zero,80b5e8 &lt;lcd_handle_escape+0x1e4&gt;
  80b550:    e0c00517     ldw    r3,20(fp)
  80b554:    188019a0     cmpeqi    r2,r3,102
  80b558:    1000011e     bne    r2,zero,80b560 &lt;lcd_handle_escape+0x15c&gt;
  80b55c:    00003806     br    80b640 &lt;lcd_handle_escape+0x23c&gt;
  {
  case 'H': /* ESC '[' &lt;y&gt; ';' &lt;x&gt; 'H'  : Move cursor to location */
  case 'f': /* Same as above */
    if (parm2 &gt; 0)
  80b560:    e0800317     ldw    r2,12(fp)
  80b564:    10800050     cmplti    r2,r2,1
  80b568:    1000041e     bne    r2,zero,80b57c &lt;lcd_handle_escape+0x178&gt;
      sp-&gt;x = parm2 - 1;
  80b56c:    e0c00017     ldw    r3,0(fp)
  80b570:    e0800317     ldw    r2,12(fp)
  80b574:    10bfffc4     addi    r2,r2,-1
  80b578:    18800845     stb    r2,33(r3)
    if (parm1 &gt; 0)
  80b57c:    e0800217     ldw    r2,8(fp)
  80b580:    10800050     cmplti    r2,r2,1
  80b584:    10002e1e     bne    r2,zero,80b640 &lt;lcd_handle_escape+0x23c&gt;
    {
      sp-&gt;y = parm1 - 1;
  80b588:    e0c00017     ldw    r3,0(fp)
  80b58c:    e0800217     ldw    r2,8(fp)
  80b590:    10bfffc4     addi    r2,r2,-1
  80b594:    18800885     stb    r2,34(r3)
      if (sp-&gt;y &gt; ALT_LCD_HEIGHT * 2)
  80b598:    e0800017     ldw    r2,0(fp)
  80b59c:    10800883     ldbu    r2,34(r2)
  80b5a0:    10800170     cmpltui    r2,r2,5
  80b5a4:    1000031e     bne    r2,zero,80b5b4 &lt;lcd_handle_escape+0x1b0&gt;
        sp-&gt;y = ALT_LCD_HEIGHT * 2;
  80b5a8:    e0c00017     ldw    r3,0(fp)
  80b5ac:    00800104     movi    r2,4
  80b5b0:    18800885     stb    r2,34(r3)
      while (sp-&gt;y &gt; ALT_LCD_HEIGHT)
  80b5b4:    e0800017     ldw    r2,0(fp)
  80b5b8:    10800883     ldbu    r2,34(r2)
  80b5bc:    108000f0     cmpltui    r2,r2,3
  80b5c0:    10001f1e     bne    r2,zero,80b640 &lt;lcd_handle_escape+0x23c&gt;
        lcd_scroll_up(sp);
  80b5c4:    e1000017     ldw    r4,0(fp)
  80b5c8:    080b34c0     call    80b34c &lt;lcd_scroll_up&gt;
  80b5cc:    003ff906     br    80b5b4 &lt;lcd_handle_escape+0x1b0&gt;
    }
    break;

  case 'J':
    /*   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)
  80b5d0:    e0800217     ldw    r2,8(fp)
  80b5d4:    10800098     cmpnei    r2,r2,2
  80b5d8:    1000191e     bne    r2,zero,80b640 &lt;lcd_handle_escape+0x23c&gt;
      lcd_clear_screen(sp);
  80b5dc:    e1000017     ldw    r4,0(fp)
  80b5e0:    080b0dc0     call    80b0dc &lt;lcd_clear_screen&gt;
    break;
  80b5e4:    00001606     br    80b640 &lt;lcd_handle_escape+0x23c&gt;

  case 'K':
    /*   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 &lt; 1)
  80b5e8:    e0800217     ldw    r2,8(fp)
  80b5ec:    10800048     cmpgei    r2,r2,1
  80b5f0:    1000131e     bne    r2,zero,80b640 &lt;lcd_handle_escape+0x23c&gt;
    {
      if (sp-&gt;x &lt; ALT_LCD_VIRTUAL_WIDTH)
  80b5f4:    e0800017     ldw    r2,0(fp)
  80b5f8:    10800843     ldbu    r2,33(r2)
  80b5fc:    10801428     cmpgeui    r2,r2,80
  80b600:    10000f1e     bne    r2,zero,80b640 &lt;lcd_handle_escape+0x23c&gt;
        memset(sp-&gt;line[sp-&gt;y].data + sp-&gt;x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp-&gt;x);
  80b604:    e0800017     ldw    r2,0(fp)
  80b608:    10800883     ldbu    r2,34(r2)
  80b60c:    10c018e4     muli    r3,r2,99
  80b610:    e0800017     ldw    r2,0(fp)
  80b614:    1887883a     add    r3,r3,r2
  80b618:    e0800017     ldw    r2,0(fp)
  80b61c:    10800843     ldbu    r2,33(r2)
  80b620:    1885883a     add    r2,r3,r2
  80b624:    11001004     addi    r4,r2,64
  80b628:    e0800017     ldw    r2,0(fp)
  80b62c:    10c00843     ldbu    r3,33(r2)
  80b630:    00801404     movi    r2,80
  80b634:    10cdc83a     sub    r6,r2,r3
  80b638:    01400804     movi    r5,32
  80b63c:    080606c0     call    80606c &lt;memset&gt;
    }
    break;
  }
}
  80b640:    dfc00717     ldw    ra,28(sp)
  80b644:    df000617     ldw    fp,24(sp)
  80b648:    dec00804     addi    sp,sp,32
  80b64c:    f800283a     ret

0080b650 &lt;altera_avalon_lcd_16207_write&gt;:

/* --------------------------------------------------------------------- */

int altera_avalon_lcd_16207_write(altera_avalon_lcd_16207_state* sp, 
  const char* ptr, int len, int flags)
{
  80b650:    defff304     addi    sp,sp,-52
  80b654:    dfc00c15     stw    ra,48(sp)
  80b658:    df000b15     stw    fp,44(sp)
  80b65c:    dc000a15     stw    r16,40(sp)
  80b660:    d839883a     mov    fp,sp
  80b664:    e1000015     stw    r4,0(fp)
  80b668:    e1400115     stw    r5,4(fp)
  80b66c:    e1800215     stw    r6,8(fp)
  80b670:    e1c00315     stw    r7,12(fp)
  const char* end = ptr + len;
  80b674:    e0c00117     ldw    r3,4(fp)
  80b678:    e0800217     ldw    r2,8(fp)
  80b67c:    1885883a     add    r2,r3,r2
  80b680:    e0800415     stw    r2,16(fp)
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80b684:    e0000715     stw    zero,28(fp)

  int y;
  int widthmax;

  /* When running in a multi threaded environment, obtain the "write_lock"
   * semaphore. This ensures that writing to the device is thread-safe.
   */

  ALT_SEM_PEND (sp-&gt;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-&gt;active = 1;
  80b688:    e0c00017     ldw    r3,0(fp)
  80b68c:    00800044     movi    r2,1
  80b690:    188009c5     stb    r2,39(r3)

  for ( ; ptr &lt; end ; ptr++)
  80b694:    e0c00117     ldw    r3,4(fp)
  80b698:    e0800417     ldw    r2,16(fp)
  80b69c:    18808c2e     bgeu    r3,r2,80b8d0 &lt;altera_avalon_lcd_16207_write+0x280&gt;
  {
    char c = *ptr;
  80b6a0:    e0800117     ldw    r2,4(fp)
  80b6a4:    10800003     ldbu    r2,0(r2)
  80b6a8:    e0800805     stb    r2,32(fp)

    if (sp-&gt;esccount &gt;= 0)
  80b6ac:    e0800017     ldw    r2,0(fp)
  80b6b0:    10800907     ldb    r2,36(r2)
  80b6b4:    1004803a     cmplt    r2,r2,zero
  80b6b8:    1000351e     bne    r2,zero,80b790 &lt;altera_avalon_lcd_16207_write+0x140&gt;
    {
      unsigned int esccount = sp-&gt;esccount;
  80b6bc:    e0800017     ldw    r2,0(fp)
  80b6c0:    10800907     ldb    r2,36(r2)
  80b6c4:    e0800915     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 &amp;&amp; c != '[') ||
  80b6c8:    e0800917     ldw    r2,36(fp)
  80b6cc:    1004c03a     cmpne    r2,r2,zero
  80b6d0:    1000031e     bne    r2,zero,80b6e0 &lt;altera_avalon_lcd_16207_write+0x90&gt;
  80b6d4:    e0800807     ldb    r2,32(fp)
  80b6d8:    108016d8     cmpnei    r2,r2,91
  80b6dc:    1000101e     bne    r2,zero,80b720 &lt;altera_avalon_lcd_16207_write+0xd0&gt;
  80b6e0:    e0800917     ldw    r2,36(fp)
  80b6e4:    1005003a     cmpeq    r2,r2,zero
  80b6e8:    1000191e     bne    r2,zero,80b750 &lt;altera_avalon_lcd_16207_write+0x100&gt;
  80b6ec:    e0c00807     ldb    r3,32(fp)
  80b6f0:    00802074     movhi    r2,129
  80b6f4:    10b44904     addi    r2,r2,-11996
  80b6f8:    1885883a     add    r2,r3,r2
  80b6fc:    10800003     ldbu    r2,0(r2)
  80b700:    1004d0ba     srli    r2,r2,2
  80b704:    1080004c     andi    r2,r2,1
  80b708:    1004c03a     cmpne    r2,r2,zero
  80b70c:    1000101e     bne    r2,zero,80b750 &lt;altera_avalon_lcd_16207_write+0x100&gt;
  80b710:    e0800807     ldb    r2,32(fp)
  80b714:    10800ed8     cmpnei    r2,r2,59
  80b718:    1000011e     bne    r2,zero,80b720 &lt;altera_avalon_lcd_16207_write+0xd0&gt;
  80b71c:    00000c06     br    80b750 &lt;altera_avalon_lcd_16207_write+0x100&gt;
          (esccount &gt; 0 &amp;&amp; !isdigit(c) &amp;&amp; c != ';'))
      {
        sp-&gt;escape[esccount] = 0;
  80b720:    e0c00017     ldw    r3,0(fp)
  80b724:    e0800917     ldw    r2,36(fp)
  80b728:    1885883a     add    r2,r3,r2
  80b72c:    10800a04     addi    r2,r2,40
  80b730:    10000005     stb    zero,0(r2)

        lcd_handle_escape(sp, c);
  80b734:    e1400807     ldb    r5,32(fp)
  80b738:    e1000017     ldw    r4,0(fp)
  80b73c:    080b4040     call    80b404 &lt;lcd_handle_escape&gt;

        sp-&gt;esccount = -1;
  80b740:    e0c00017     ldw    r3,0(fp)
  80b744:    00bfffc4     movi    r2,-1
  80b748:    18800905     stb    r2,36(r3)
  80b74c:    00005c06     br    80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
      }
      else if (sp-&gt;esccount &lt; sizeof(sp-&gt;escape)-1)
  80b750:    e0800017     ldw    r2,0(fp)
  80b754:    10800903     ldbu    r2,36(r2)
  80b758:    108001e8     cmpgeui    r2,r2,7
  80b75c:    1000581e     bne    r2,zero,80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
      {
        sp-&gt;escape[esccount] = c;
  80b760:    e0c00017     ldw    r3,0(fp)
  80b764:    e0800917     ldw    r2,36(fp)
  80b768:    1885883a     add    r2,r3,r2
  80b76c:    10c00a04     addi    r3,r2,40
  80b770:    e0800803     ldbu    r2,32(fp)
  80b774:    18800005     stb    r2,0(r3)
        sp-&gt;esccount++;
  80b778:    e0c00017     ldw    r3,0(fp)
  80b77c:    e0800017     ldw    r2,0(fp)
  80b780:    10800903     ldbu    r2,36(r2)
  80b784:    10800044     addi    r2,r2,1
  80b788:    18800905     stb    r2,36(r3)
  80b78c:    00004c06     br    80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
      }
    }
    else if (c == 27) /* ESC */
  80b790:    e0800807     ldb    r2,32(fp)
  80b794:    108006d8     cmpnei    r2,r2,27
  80b798:    1000031e     bne    r2,zero,80b7a8 &lt;altera_avalon_lcd_16207_write+0x158&gt;
    {
      sp-&gt;esccount = 0;
  80b79c:    e0800017     ldw    r2,0(fp)
  80b7a0:    10000905     stb    zero,36(r2)
  80b7a4:    00004606     br    80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
    }
    else if (c == '\r')
  80b7a8:    e0800807     ldb    r2,32(fp)
  80b7ac:    10800358     cmpnei    r2,r2,13
  80b7b0:    1000031e     bne    r2,zero,80b7c0 &lt;altera_avalon_lcd_16207_write+0x170&gt;
    {
      sp-&gt;x = 0;
  80b7b4:    e0800017     ldw    r2,0(fp)
  80b7b8:    10000845     stb    zero,33(r2)
  80b7bc:    00004006     br    80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
    }
    else if (c == '\n')
  80b7c0:    e0800807     ldb    r2,32(fp)
  80b7c4:    10800298     cmpnei    r2,r2,10
  80b7c8:    10000e1e     bne    r2,zero,80b804 &lt;altera_avalon_lcd_16207_write+0x1b4&gt;
    {
      sp-&gt;x = 0;
  80b7cc:    e0800017     ldw    r2,0(fp)
  80b7d0:    10000845     stb    zero,33(r2)
      sp-&gt;y++;
  80b7d4:    e0c00017     ldw    r3,0(fp)
  80b7d8:    e0800017     ldw    r2,0(fp)
  80b7dc:    10800883     ldbu    r2,34(r2)
  80b7e0:    10800044     addi    r2,r2,1
  80b7e4:    18800885     stb    r2,34(r3)

      /* 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-&gt;y &gt; ALT_LCD_HEIGHT)
  80b7e8:    e0800017     ldw    r2,0(fp)
  80b7ec:    10800883     ldbu    r2,34(r2)
  80b7f0:    108000f0     cmpltui    r2,r2,3
  80b7f4:    1000321e     bne    r2,zero,80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
        lcd_scroll_up(sp);
  80b7f8:    e1000017     ldw    r4,0(fp)
  80b7fc:    080b34c0     call    80b34c &lt;lcd_scroll_up&gt;
  80b800:    00002f06     br    80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
    }
    else if (c == '\b')
  80b804:    e0800807     ldb    r2,32(fp)
  80b808:    10800218     cmpnei    r2,r2,8
  80b80c:    10000a1e     bne    r2,zero,80b838 &lt;altera_avalon_lcd_16207_write+0x1e8&gt;
    {
      if (sp-&gt;x &gt; 0)
  80b810:    e0800017     ldw    r2,0(fp)
  80b814:    10800843     ldbu    r2,33(r2)
  80b818:    1005003a     cmpeq    r2,r2,zero
  80b81c:    1000281e     bne    r2,zero,80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
        sp-&gt;x--;
  80b820:    e0c00017     ldw    r3,0(fp)
  80b824:    e0800017     ldw    r2,0(fp)
  80b828:    10800843     ldbu    r2,33(r2)
  80b82c:    10bfffc4     addi    r2,r2,-1
  80b830:    18800845     stb    r2,33(r3)
  80b834:    00002206     br    80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
    }
    else if (isprint(c))
  80b838:    e0c00807     ldb    r3,32(fp)
  80b83c:    00802074     movhi    r2,129
  80b840:    10b44904     addi    r2,r2,-11996
  80b844:    1885883a     add    r2,r3,r2
  80b848:    10800007     ldb    r2,0(r2)
  80b84c:    108025cc     andi    r2,r2,151
  80b850:    1005003a     cmpeq    r2,r2,zero
  80b854:    10001a1e     bne    r2,zero,80b8c0 &lt;altera_avalon_lcd_16207_write+0x270&gt;
    {
      /* If we didn't scroll on the last linefeed then we might need to do
       * it now. */
      if (sp-&gt;y &gt;= ALT_LCD_HEIGHT)
  80b858:    e0800017     ldw    r2,0(fp)
  80b85c:    10800883     ldbu    r2,34(r2)
  80b860:    108000b0     cmpltui    r2,r2,2
  80b864:    1000021e     bne    r2,zero,80b870 &lt;altera_avalon_lcd_16207_write+0x220&gt;
        lcd_scroll_up(sp);
  80b868:    e1000017     ldw    r4,0(fp)
  80b86c:    080b34c0     call    80b34c &lt;lcd_scroll_up&gt;

      if (sp-&gt;x &lt; ALT_LCD_VIRTUAL_WIDTH)
  80b870:    e0800017     ldw    r2,0(fp)
  80b874:    10800843     ldbu    r2,33(r2)
  80b878:    10801428     cmpgeui    r2,r2,80
  80b87c:    10000b1e     bne    r2,zero,80b8ac &lt;altera_avalon_lcd_16207_write+0x25c&gt;
        sp-&gt;line[sp-&gt;y].data[sp-&gt;x] = c;
  80b880:    e1000017     ldw    r4,0(fp)
  80b884:    e0800017     ldw    r2,0(fp)
  80b888:    10c00843     ldbu    r3,33(r2)
  80b88c:    e0800017     ldw    r2,0(fp)
  80b890:    10800883     ldbu    r2,34(r2)
  80b894:    108018e4     muli    r2,r2,99
  80b898:    1105883a     add    r2,r2,r4
  80b89c:    10c5883a     add    r2,r2,r3
  80b8a0:    10c01004     addi    r3,r2,64
  80b8a4:    e0800803     ldbu    r2,32(fp)
  80b8a8:    18800005     stb    r2,0(r3)

      sp-&gt;x++;
  80b8ac:    e0c00017     ldw    r3,0(fp)
  80b8b0:    e0800017     ldw    r2,0(fp)
  80b8b4:    10800843     ldbu    r2,33(r2)
  80b8b8:    10800044     addi    r2,r2,1
  80b8bc:    18800845     stb    r2,33(r3)
  80b8c0:    e0800117     ldw    r2,4(fp)
  80b8c4:    10800044     addi    r2,r2,1
  80b8c8:    e0800115     stw    r2,4(fp)
  80b8cc:    003f7106     br    80b694 &lt;altera_avalon_lcd_16207_write+0x44&gt;
    }
  }

  /* Recalculate the scrolling parameters */
  widthmax = ALT_LCD_WIDTH;
  80b8d0:    00800404     movi    r2,16
  80b8d4:    e0800615     stw    r2,24(fp)
  for (y = 0 ; y &lt; ALT_LCD_HEIGHT ; y++)
  80b8d8:    e0000515     stw    zero,20(fp)
  80b8dc:    e0800517     ldw    r2,20(fp)
  80b8e0:    10800088     cmpgei    r2,r2,2
  80b8e4:    1000331e     bne    r2,zero,80b9b4 &lt;altera_avalon_lcd_16207_write+0x364&gt;
  {
    int width;
    for (width = ALT_LCD_VIRTUAL_WIDTH ; width &gt; 0 ; width--)
  80b8e8:    00801404     movi    r2,80
  80b8ec:    e0800915     stw    r2,36(fp)
  80b8f0:    e0800917     ldw    r2,36(fp)
  80b8f4:    10800050     cmplti    r2,r2,1
  80b8f8:    10000f1e     bne    r2,zero,80b938 &lt;altera_avalon_lcd_16207_write+0x2e8&gt;
      if (sp-&gt;line[y].data[width-1] != ' ')
  80b8fc:    e0c00017     ldw    r3,0(fp)
  80b900:    e0800517     ldw    r2,20(fp)
  80b904:    108018e4     muli    r2,r2,99
  80b908:    10c7883a     add    r3,r2,r3
  80b90c:    e0800917     ldw    r2,36(fp)
  80b910:    1885883a     add    r2,r3,r2
  80b914:    10800fc4     addi    r2,r2,63
  80b918:    10800007     ldb    r2,0(r2)
  80b91c:    10800820     cmpeqi    r2,r2,32
  80b920:    1000011e     bne    r2,zero,80b928 &lt;altera_avalon_lcd_16207_write+0x2d8&gt;
        break;
  80b924:    00000406     br    80b938 &lt;altera_avalon_lcd_16207_write+0x2e8&gt;
  80b928:    e0800917     ldw    r2,36(fp)
  80b92c:    10bfffc4     addi    r2,r2,-1
  80b930:    e0800915     stw    r2,36(fp)
  80b934:    003fee06     br    80b8f0 &lt;altera_avalon_lcd_16207_write+0x2a0&gt;

    /* 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 &lt;= ALT_LCD_WIDTH)
  80b938:    e0800917     ldw    r2,36(fp)
  80b93c:    10800448     cmpgei    r2,r2,17
  80b940:    1000031e     bne    r2,zero,80b950 &lt;altera_avalon_lcd_16207_write+0x300&gt;
      width = ALT_LCD_WIDTH;
  80b944:    00800404     movi    r2,16
  80b948:    e0800915     stw    r2,36(fp)
  80b94c:    00000306     br    80b95c &lt;altera_avalon_lcd_16207_write+0x30c&gt;
    else
      width++;
  80b950:    e0800917     ldw    r2,36(fp)
  80b954:    10800044     addi    r2,r2,1
  80b958:    e0800915     stw    r2,36(fp)

    sp-&gt;line[y].width = width;
  80b95c:    e0c00017     ldw    r3,0(fp)
  80b960:    e0800517     ldw    r2,20(fp)
  80b964:    108018e4     muli    r2,r2,99
  80b968:    10c5883a     add    r2,r2,r3
  80b96c:    10c02404     addi    r3,r2,144
  80b970:    e0800917     ldw    r2,36(fp)
  80b974:    18800045     stb    r2,1(r3)
    if (widthmax &lt; width)
  80b978:    e0c00617     ldw    r3,24(fp)
  80b97c:    e0800917     ldw    r2,36(fp)
  80b980:    1880020e     bge    r3,r2,80b98c &lt;altera_avalon_lcd_16207_write+0x33c&gt;
      widthmax = width;
  80b984:    e0800917     ldw    r2,36(fp)
  80b988:    e0800615     stw    r2,24(fp)
    sp-&gt;line[y].speed = 0; /* By default lines don't scroll */
  80b98c:    e0c00017     ldw    r3,0(fp)
  80b990:    e0800517     ldw    r2,20(fp)
  80b994:    108018e4     muli    r2,r2,99
  80b998:    10c5883a     add    r2,r2,r3
  80b99c:    10802404     addi    r2,r2,144
  80b9a0:    10000085     stb    zero,2(r2)
  80b9a4:    e0800517     ldw    r2,20(fp)
  80b9a8:    10800044     addi    r2,r2,1
  80b9ac:    e0800515     stw    r2,20(fp)
  80b9b0:    003fca06     br    80b8dc &lt;altera_avalon_lcd_16207_write+0x28c&gt;
  }

  if (widthmax &lt;= ALT_LCD_WIDTH)
  80b9b4:    e0800617     ldw    r2,24(fp)
  80b9b8:    10800448     cmpgei    r2,r2,17
  80b9bc:    1000031e     bne    r2,zero,80b9cc &lt;altera_avalon_lcd_16207_write+0x37c&gt;
    sp-&gt;scrollmax = 0;
  80b9c0:    e0800017     ldw    r2,0(fp)
  80b9c4:    10000985     stb    zero,38(r2)
  80b9c8:    00002606     br    80ba64 &lt;altera_avalon_lcd_16207_write+0x414&gt;
  else
  {
    widthmax *= 2;
  80b9cc:    e0c00617     ldw    r3,24(fp)
  80b9d0:    1805883a     mov    r2,r3
  80b9d4:    10c5883a     add    r2,r2,r3
  80b9d8:    e0800615     stw    r2,24(fp)
    sp-&gt;scrollmax = widthmax;
  80b9dc:    e0c00017     ldw    r3,0(fp)
  80b9e0:    e0800617     ldw    r2,24(fp)
  80b9e4:    18800985     stb    r2,38(r3)

    /* Now calculate how fast each of the other lines should go */
    for (y = 0 ; y &lt; ALT_LCD_HEIGHT ; y++)
  80b9e8:    e0000515     stw    zero,20(fp)
  80b9ec:    e0800517     ldw    r2,20(fp)
  80b9f0:    10800088     cmpgei    r2,r2,2
  80b9f4:    10001b1e     bne    r2,zero,80ba64 &lt;altera_avalon_lcd_16207_write+0x414&gt;
      if (sp-&gt;line[y].width &gt; ALT_LCD_WIDTH)
  80b9f8:    e0c00017     ldw    r3,0(fp)
  80b9fc:    e0800517     ldw    r2,20(fp)
  80ba00:    108018e4     muli    r2,r2,99
  80ba04:    10c5883a     add    r2,r2,r3
  80ba08:    10802404     addi    r2,r2,144
  80ba0c:    10800047     ldb    r2,1(r2)
  80ba10:    10800450     cmplti    r2,r2,17
  80ba14:    10000f1e     bne    r2,zero,80ba54 &lt;altera_avalon_lcd_16207_write+0x404&gt;
      {
        /* You have three options for how to make the display scroll, chosen
         * using the preprocessor directives below
         */
#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-&gt;line[y].speed = 256 * sp-&gt;line[y].width / widthmax;
  80ba18:    e0c00017     ldw    r3,0(fp)
  80ba1c:    e0800517     ldw    r2,20(fp)
  80ba20:    108018e4     muli    r2,r2,99
  80ba24:    10c5883a     add    r2,r2,r3
  80ba28:    14002404     addi    r16,r2,144
  80ba2c:    e0c00017     ldw    r3,0(fp)
  80ba30:    e0800517     ldw    r2,20(fp)
  80ba34:    108018e4     muli    r2,r2,99
  80ba38:    10c5883a     add    r2,r2,r3
  80ba3c:    10802404     addi    r2,r2,144
  80ba40:    10800047     ldb    r2,1(r2)
  80ba44:    11004024     muli    r4,r2,256
  80ba48:    e1400617     ldw    r5,24(fp)
  80ba4c:    080915c0     call    80915c &lt;__divsi3&gt;
  80ba50:    80800085     stb    r2,2(r16)
  80ba54:    e0800517     ldw    r2,20(fp)
  80ba58:    10800044     addi    r2,r2,1
  80ba5c:    e0800515     stw    r2,20(fp)
  80ba60:    003fe206     br    80b9ec &lt;altera_avalon_lcd_16207_write+0x39c&gt;
#elif 1
        /* This option pads the shorter lines with spaces so that they all
         * scroll together.
         */
        sp-&gt;line[y].width = widthmax / 2;
        sp-&gt;line[y].speed = 256/2;
#else
        /* This option makes the shorter lines stop after they have rotated
         * and waits for the longer lines to catch up
         */
        sp-&gt;line[y].speed = 256/2;
#endif
      }
  }

  /* Repaint once, then check whether there has been a missed repaint
   * (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-&gt;scrollpos;
  80ba64:    e0800017     ldw    r2,0(fp)
  80ba68:    10800947     ldb    r2,37(r2)
  80ba6c:    e0800915     stw    r2,36(fp)

    lcd_repaint_screen(sp);
  80ba70:    e1000017     ldw    r4,0(fp)
  80ba74:    080b19c0     call    80b19c &lt;lcd_repaint_screen&gt;

    /* Let the timer routines repaint the display again */
    sp-&gt;active = 0;
  80ba78:    e0800017     ldw    r2,0(fp)
  80ba7c:    100009c5     stb    zero,39(r2)

    /* Have the timer routines tried to scroll while we were painting?
     * If not then we can exit */
    if (sp-&gt;scrollpos == old_scrollpos)
  80ba80:    e0800017     ldw    r2,0(fp)
  80ba84:    10c00947     ldb    r3,37(r2)
  80ba88:    e0800917     ldw    r2,36(fp)
  80ba8c:    1880011e     bne    r3,r2,80ba94 &lt;altera_avalon_lcd_16207_write+0x444&gt;
      break;
  80ba90:    00000406     br    80baa4 &lt;altera_avalon_lcd_16207_write+0x454&gt;

    /* We need to repaint again since the display scrolled while we were
     * painting last time */
    sp-&gt;active = 1;
  80ba94:    e0c00017     ldw    r3,0(fp)
  80ba98:    00800044     movi    r2,1
  80ba9c:    188009c5     stb    r2,39(r3)
  80baa0:    003ff006     br    80ba64 &lt;altera_avalon_lcd_16207_write+0x414&gt;
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80baa4:    e0000915     stw    zero,36(fp)
  }

  /* Now that access to the display is complete, release the write
   * semaphore so that other threads can access the buffer.
   */

  ALT_SEM_POST (sp-&gt;write_lock);

  return len;
  80baa8:    e0800217     ldw    r2,8(fp)
}
  80baac:    dfc00c17     ldw    ra,48(sp)
  80bab0:    df000b17     ldw    fp,44(sp)
  80bab4:    dc000a17     ldw    r16,40(sp)
  80bab8:    dec00d04     addi    sp,sp,52
  80babc:    f800283a     ret

0080bac0 &lt;alt_lcd_16207_timeout&gt;:

/* --------------------------------------------------------------------- */

/* This should be in a top level header file really */
#define container_of(ptr, type, member) ((type *)((char *)ptr - offsetof(type, member)))

/*
 * Timeout routine is called every second
 */

static alt_u32 alt_lcd_16207_timeout(void* context) 
{
  80bac0:    defffc04     addi    sp,sp,-16
  80bac4:    dfc00315     stw    ra,12(sp)
  80bac8:    df000215     stw    fp,8(sp)
  80bacc:    d839883a     mov    fp,sp
  80bad0:    e1000015     stw    r4,0(fp)
  altera_avalon_lcd_16207_state* sp = (altera_avalon_lcd_16207_state*)context;
  80bad4:    e0800017     ldw    r2,0(fp)
  80bad8:    e0800115     stw    r2,4(fp)

  /* Update the scrolling position */
  if (sp-&gt;scrollpos + 1 &gt;= sp-&gt;scrollmax)
  80badc:    e0800117     ldw    r2,4(fp)
  80bae0:    10800947     ldb    r2,37(r2)
  80bae4:    10c00044     addi    r3,r2,1
  80bae8:    e0800117     ldw    r2,4(fp)
  80baec:    10800987     ldb    r2,38(r2)
  80baf0:    18800316     blt    r3,r2,80bb00 &lt;alt_lcd_16207_timeout+0x40&gt;
    sp-&gt;scrollpos = 0;
  80baf4:    e0800117     ldw    r2,4(fp)
  80baf8:    10000945     stb    zero,37(r2)
  80bafc:    00000506     br    80bb14 &lt;alt_lcd_16207_timeout+0x54&gt;
  else
    sp-&gt;scrollpos = sp-&gt;scrollpos + 1;
  80bb00:    e0c00117     ldw    r3,4(fp)
  80bb04:    e0800117     ldw    r2,4(fp)
  80bb08:    10800943     ldbu    r2,37(r2)
  80bb0c:    10800044     addi    r2,r2,1
  80bb10:    18800945     stb    r2,37(r3)

  /* Repaint the panel unless the foreground will do it again soon */
  if (sp-&gt;scrollmax &gt; 0 &amp;&amp; !sp-&gt;active)
  80bb14:    e0800117     ldw    r2,4(fp)
  80bb18:    10800987     ldb    r2,38(r2)
  80bb1c:    10800050     cmplti    r2,r2,1
  80bb20:    1000061e     bne    r2,zero,80bb3c &lt;alt_lcd_16207_timeout+0x7c&gt;
  80bb24:    e0800117     ldw    r2,4(fp)
  80bb28:    108009c7     ldb    r2,39(r2)
  80bb2c:    1004c03a     cmpne    r2,r2,zero
  80bb30:    1000021e     bne    r2,zero,80bb3c &lt;alt_lcd_16207_timeout+0x7c&gt;
    lcd_repaint_screen(sp);
  80bb34:    e1000117     ldw    r4,4(fp)
  80bb38:    080b19c0     call    80b19c &lt;lcd_repaint_screen&gt;

  return sp-&gt;period;
  80bb3c:    e0800117     ldw    r2,4(fp)
  80bb40:    10800717     ldw    r2,28(r2)
}
  80bb44:    dfc00317     ldw    ra,12(sp)
  80bb48:    df000217     ldw    fp,8(sp)
  80bb4c:    dec00404     addi    sp,sp,16
  80bb50:    f800283a     ret

0080bb54 &lt;altera_avalon_lcd_16207_init&gt;:

/* --------------------------------------------------------------------- */

/*
 * Called at boot time to initialise the LCD driver
 */
void altera_avalon_lcd_16207_init(altera_avalon_lcd_16207_state* sp)
{
  80bb54:    defff904     addi    sp,sp,-28
  80bb58:    dfc00615     stw    ra,24(sp)
  80bb5c:    df000515     stw    fp,20(sp)
  80bb60:    dc000415     stw    r16,16(sp)
  80bb64:    d839883a     mov    fp,sp
  80bb68:    e1000015     stw    r4,0(fp)
  unsigned int base = sp-&gt;base;
  80bb6c:    e0800017     ldw    r2,0(fp)
  80bb70:    10800017     ldw    r2,0(r2)
  80bb74:    e0800115     stw    r2,4(fp)

  /* Mark the device as functional */
  sp-&gt;broken = 0;
  80bb78:    e0800017     ldw    r2,0(fp)
  80bb7c:    10000805     stb    zero,32(r2)
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80bb80:    e0000215     stw    zero,8(fp)

  ALT_SEM_CREATE (&amp;sp-&gt;write_lock, 1);

  /* TODO: check that usleep can be called in an initialization routine */

  /* The initialisation sequence below is copied from the datasheet for
   * the 16207 LCD display.  The first commands need to be timed because
   * 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);
  80bb84:    010ea604     movi    r4,15000
  80bb88:    080c7480     call    80c748 &lt;usleep&gt;
  IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT);
  80bb8c:    e0c00117     ldw    r3,4(fp)
  80bb90:    00800c04     movi    r2,48
  80bb94:    18800035     stwio    r2,0(r3)

  /* Wait for another 4.1ms and reset again */
  usleep(4100);  
  80bb98:    01040104     movi    r4,4100
  80bb9c:    080c7480     call    80c748 &lt;usleep&gt;
  IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT);
  80bba0:    e0c00117     ldw    r3,4(fp)
  80bba4:    00800c04     movi    r2,48
  80bba8:    18800035     stwio    r2,0(r3)

  /* Wait a further 1 ms and reset a third time */
  usleep(1000);
  80bbac:    0100fa04     movi    r4,1000
  80bbb0:    080c7480     call    80c748 &lt;usleep&gt;
  IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT);
  80bbb4:    e0c00117     ldw    r3,4(fp)
  80bbb8:    00800c04     movi    r2,48
  80bbbc:    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);
  80bbc0:    e1000017     ldw    r4,0(fp)
  80bbc4:    01400e04     movi    r5,56
  80bbc8:    080af700     call    80af70 &lt;lcd_write_command&gt;
  
  /* Turn display off */
  lcd_write_command(sp, LCD_CMD_ONOFF);
  80bbcc:    e1000017     ldw    r4,0(fp)
  80bbd0:    01400204     movi    r5,8
  80bbd4:    080af700     call    80af70 &lt;lcd_write_command&gt;

  /* Clear display */
  lcd_clear_screen(sp);
  80bbd8:    e1000017     ldw    r4,0(fp)
  80bbdc:    080b0dc0     call    80b0dc &lt;lcd_clear_screen&gt;
  
  /* Set mode: increment after writing, don't shift display */
  lcd_write_command(sp, LCD_CMD_MODES | LCD_CMD_MODE_INC);
  80bbe0:    e1000017     ldw    r4,0(fp)
  80bbe4:    01400184     movi    r5,6
  80bbe8:    080af700     call    80af70 &lt;lcd_write_command&gt;

  /* Turn display on */
  lcd_write_command(sp, LCD_CMD_ONOFF | LCD_CMD_ENABLE_DISP);
  80bbec:    e1000017     ldw    r4,0(fp)
  80bbf0:    01400304     movi    r5,12
  80bbf4:    080af700     call    80af70 &lt;lcd_write_command&gt;

  sp-&gt;esccount = -1;
  80bbf8:    e0c00017     ldw    r3,0(fp)
  80bbfc:    00bfffc4     movi    r2,-1
  80bc00:    18800905     stb    r2,36(r3)
  memset(sp-&gt;escape, 0, sizeof(sp-&gt;escape));
  80bc04:    e0800017     ldw    r2,0(fp)
  80bc08:    11000a04     addi    r4,r2,40
  80bc0c:    000b883a     mov    r5,zero
  80bc10:    01800204     movi    r6,8
  80bc14:    080606c0     call    80606c &lt;memset&gt;

  sp-&gt;scrollpos = 0;
  80bc18:    e0800017     ldw    r2,0(fp)
  80bc1c:    10000945     stb    zero,37(r2)
  sp-&gt;scrollmax = 0;
  80bc20:    e0800017     ldw    r2,0(fp)
  80bc24:    10000985     stb    zero,38(r2)
  sp-&gt;active = 0;
  80bc28:    e0800017     ldw    r2,0(fp)
  80bc2c:    100009c5     stb    zero,39(r2)

  sp-&gt;period = alt_ticks_per_second() / 10; /* Call every 100ms */
  80bc30:    e4000017     ldw    r16,0(fp)
 */

static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_ticks_per_second (void)
{
  return _alt_tick_rate;
  80bc34:    d0a01817     ldw    r2,-32672(gp)
  80bc38:    e0800315     stw    r2,12(fp)
  80bc3c:    e1000317     ldw    r4,12(fp)
  80bc40:    01400284     movi    r5,10
  80bc44:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  80bc48:    80800715     stw    r2,28(r16)

  alt_alarm_start(&amp;sp-&gt;alarm, sp-&gt;period, &amp;alt_lcd_16207_timeout, sp);
  80bc4c:    e0800017     ldw    r2,0(fp)
  80bc50:    11000104     addi    r4,r2,4
  80bc54:    e0800017     ldw    r2,0(fp)
  80bc58:    11400717     ldw    r5,28(r2)
  80bc5c:    01802074     movhi    r6,129
  80bc60:    31aeb004     addi    r6,r6,-17728
  80bc64:    e1c00017     ldw    r7,0(fp)
  80bc68:    080bd880     call    80bd88 &lt;alt_alarm_start&gt;
}
  80bc6c:    dfc00617     ldw    ra,24(sp)
  80bc70:    df000517     ldw    fp,20(sp)
  80bc74:    dc000417     ldw    r16,16(sp)
  80bc78:    dec00704     addi    sp,sp,28
  80bc7c:    f800283a     ret

0080bc80 &lt;altera_avalon_lcd_16207_write_fd&gt;:
  const char* ptr, int count, int flags);

int 
altera_avalon_lcd_16207_write_fd(alt_fd* fd, const char* buffer, int space)
{
  80bc80:    defffa04     addi    sp,sp,-24
  80bc84:    dfc00515     stw    ra,20(sp)
  80bc88:    df000415     stw    fp,16(sp)
  80bc8c:    d839883a     mov    fp,sp
  80bc90:    e1000015     stw    r4,0(fp)
  80bc94:    e1400115     stw    r5,4(fp)
  80bc98:    e1800215     stw    r6,8(fp)
    altera_avalon_lcd_16207_dev* dev = (altera_avalon_lcd_16207_dev*) fd-&gt;dev; 
  80bc9c:    e0800017     ldw    r2,0(fp)
  80bca0:    10800017     ldw    r2,0(r2)
  80bca4:    e0800315     stw    r2,12(fp)

    return altera_avalon_lcd_16207_write(&amp;dev-&gt;state, buffer, space,
  80bca8:    e0800317     ldw    r2,12(fp)
  80bcac:    11000a04     addi    r4,r2,40
  80bcb0:    e0800017     ldw    r2,0(fp)
  80bcb4:    e1400117     ldw    r5,4(fp)
  80bcb8:    e1800217     ldw    r6,8(fp)
  80bcbc:    11c00217     ldw    r7,8(r2)
  80bcc0:    080b6500     call    80b650 &lt;altera_avalon_lcd_16207_write&gt;
      fd-&gt;fd_flags);
}
  80bcc4:    dfc00517     ldw    ra,20(sp)
  80bcc8:    df000417     ldw    fp,16(sp)
  80bccc:    dec00604     addi    sp,sp,24
  80bcd0:    f800283a     ret

0080bcd4 &lt;alt_avalon_timer_sc_irq&gt;:
 * alarms, see alt_tick.c for further details.
 */

static void alt_avalon_timer_sc_irq (void* base, alt_u32 id)
{
  80bcd4:    defffc04     addi    sp,sp,-16
  80bcd8:    dfc00315     stw    ra,12(sp)
  80bcdc:    df000215     stw    fp,8(sp)
  80bce0:    d839883a     mov    fp,sp
  80bce4:    e1000015     stw    r4,0(fp)
  80bce8:    e1400115     stw    r5,4(fp)
  /* clear the interrupt */

  IOWR_ALTERA_AVALON_TIMER_STATUS (base, 0);
  80bcec:    e0800017     ldw    r2,0(fp)
  80bcf0:    10000035     stwio    zero,0(r2)

  /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */
  ALT_LOG_SYS_CLK_HEARTBEAT();

  /* notify the system of a clock tick */
  alt_tick ();
  80bcf4:    080c6480     call    80c648 &lt;alt_tick&gt;
}
  80bcf8:    dfc00317     ldw    ra,12(sp)
  80bcfc:    df000217     ldw    fp,8(sp)
  80bd00:    dec00404     addi    sp,sp,16
  80bd04:    f800283a     ret

0080bd08 &lt;alt_avalon_timer_sc_init&gt;:

/*
 * alt_avalon_timer_sc_init() is called to initialise the timer that will be 
 * used to provide the periodic system clock. This is called from the 
 * auto-generated alt_sys_init() function.
 */

void alt_avalon_timer_sc_init (void* base, alt_u32 irq, alt_u32 freq)
{
  80bd08:    defff904     addi    sp,sp,-28
  80bd0c:    dfc00615     stw    ra,24(sp)
  80bd10:    df000515     stw    fp,20(sp)
  80bd14:    d839883a     mov    fp,sp
  80bd18:    e1000015     stw    r4,0(fp)
  80bd1c:    e1400115     stw    r5,4(fp)
  80bd20:    e1800215     stw    r6,8(fp)
 * in order to initialise the value of the clock frequency.
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_sysclk_init (alt_u32 nticks)
{
  80bd24:    e0800217     ldw    r2,8(fp)
  80bd28:    e0800315     stw    r2,12(fp)
  if (! _alt_tick_rate)
  80bd2c:    d0a01817     ldw    r2,-32672(gp)
  80bd30:    1004c03a     cmpne    r2,r2,zero
  80bd34:    1000041e     bne    r2,zero,80bd48 &lt;alt_avalon_timer_sc_init+0x40&gt;
  {
    _alt_tick_rate = nticks;
  80bd38:    e0800317     ldw    r2,12(fp)
  80bd3c:    d0a01815     stw    r2,-32672(gp)
  80bd40:    e0000415     stw    zero,16(fp)
  80bd44:    00000206     br    80bd50 &lt;alt_avalon_timer_sc_init+0x48&gt;
    return 0;
  }
  else
  {
    return -1;
  80bd48:    00bfffc4     movi    r2,-1
  80bd4c:    e0800415     stw    r2,16(fp)
  /* set the system clock frequency */
  
  alt_sysclk_init (freq);
  
  /* set to free running mode */
  
  IOWR_ALTERA_AVALON_TIMER_CONTROL (base, 
  80bd50:    e0800017     ldw    r2,0(fp)
  80bd54:    10800104     addi    r2,r2,4
  80bd58:    1007883a     mov    r3,r2
  80bd5c:    008001c4     movi    r2,7
  80bd60:    18800035     stwio    r2,0(r3)
            ALTERA_AVALON_TIMER_CONTROL_ITO_MSK  |
            ALTERA_AVALON_TIMER_CONTROL_CONT_MSK |
            ALTERA_AVALON_TIMER_CONTROL_START_MSK);

  /* register the interrupt handler, and enable the interrupt */
    
  alt_irq_register (irq, base, alt_avalon_timer_sc_irq);    
  80bd64:    e1000117     ldw    r4,4(fp)
  80bd68:    e1400017     ldw    r5,0(fp)
  80bd6c:    01802074     movhi    r6,129
  80bd70:    31af3504     addi    r6,r6,-17196
  80bd74:    080c4380     call    80c438 &lt;alt_irq_register&gt;
}
  80bd78:    dfc00617     ldw    ra,24(sp)
  80bd7c:    df000517     ldw    fp,20(sp)
  80bd80:    dec00704     addi    sp,sp,28
  80bd84:    f800283a     ret

0080bd88 &lt;alt_alarm_start&gt;:

int alt_alarm_start (alt_alarm* alarm, alt_u32 nticks,
                     alt_u32 (*callback) (void* context),
                     void* context)
{
  80bd88:    defff504     addi    sp,sp,-44
  80bd8c:    df000a15     stw    fp,40(sp)
  80bd90:    d839883a     mov    fp,sp
  80bd94:    e1000015     stw    r4,0(fp)
  80bd98:    e1400115     stw    r5,4(fp)
  80bd9c:    e1800215     stw    r6,8(fp)
  80bda0:    e1c00315     stw    r7,12(fp)
  alt_irq_context irq_context;
  alt_u32 current_nticks = 0;
  80bda4:    e0000515     stw    zero,20(fp)
 */

static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_ticks_per_second (void)
{
  return _alt_tick_rate;
  80bda8:    d0a01817     ldw    r2,-32672(gp)
  80bdac:    e0800615     stw    r2,24(fp)
  80bdb0:    e0800617     ldw    r2,24(fp)
  80bdb4:    1005003a     cmpeq    r2,r2,zero
  80bdb8:    10003f1e     bne    r2,zero,80beb8 &lt;alt_alarm_start+0x130&gt;
  
  if (alt_ticks_per_second ())
  {
    if (alarm)
  80bdbc:    e0800017     ldw    r2,0(fp)
  80bdc0:    1005003a     cmpeq    r2,r2,zero
  80bdc4:    1000391e     bne    r2,zero,80beac &lt;alt_alarm_start+0x124&gt;
    {
      alarm-&gt;callback = callback;
  80bdc8:    e0c00017     ldw    r3,0(fp)
  80bdcc:    e0800217     ldw    r2,8(fp)
  80bdd0:    18800315     stw    r2,12(r3)
      alarm-&gt;context  = context;
  80bdd4:    e0c00017     ldw    r3,0(fp)
  80bdd8:    e0800317     ldw    r2,12(fp)
  80bddc:    18800515     stw    r2,20(r3)
       alt_irq_disable_all (void)
{
  alt_irq_context context;

  NIOS2_READ_STATUS (context);
  80bde0:    0005303a     rdctl    r2,status
  80bde4:    e0800815     stw    r2,32(fp)
  NIOS2_WRITE_STATUS (0);
  80bde8:    0001703a     wrctl    status,zero
  80bdec:    e0800817     ldw    r2,32(fp)
  80bdf0:    e0800715     stw    r2,28(fp)
  80bdf4:    e0800717     ldw    r2,28(fp)
  80bdf8:    e0800415     stw    r2,16(fp)
 */

static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_nticks (void)
{
  return _alt_nticks;
  80bdfc:    d0a01917     ldw    r2,-32668(gp)
  80be00:    e0800815     stw    r2,32(fp)
  80be04:    e0800817     ldw    r2,32(fp)
  80be08:    e0800515     stw    r2,20(fp)
 
      irq_context = alt_irq_disable_all ();
      
      current_nticks = alt_nticks();
      
      alarm-&gt;time = nticks + current_nticks + 1; 
  80be0c:    e1000017     ldw    r4,0(fp)
  80be10:    e0c00117     ldw    r3,4(fp)
  80be14:    e0800517     ldw    r2,20(fp)
  80be18:    1885883a     add    r2,r3,r2
  80be1c:    10800044     addi    r2,r2,1
  80be20:    20800215     stw    r2,8(r4)
      
      /* 
       * 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-&gt;time &lt; current_nticks)
  80be24:    e0800017     ldw    r2,0(fp)
  80be28:    10c00217     ldw    r3,8(r2)
  80be2c:    e0800517     ldw    r2,20(fp)
  80be30:    1880042e     bgeu    r3,r2,80be44 &lt;alt_alarm_start+0xbc&gt;
      {
        alarm-&gt;rollover = 1;
  80be34:    e0c00017     ldw    r3,0(fp)
  80be38:    00800044     movi    r2,1
  80be3c:    18800405     stb    r2,16(r3)
  80be40:    00000206     br    80be4c &lt;alt_alarm_start+0xc4&gt;
      }
      else
      {
        alarm-&gt;rollover = 0;
  80be44:    e0800017     ldw    r2,0(fp)
  80be48:    10000405     stb    zero,16(r2)
 */

static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list, 
                alt_llist* entry)
{
  80be4c:    d0a01a04     addi    r2,gp,-32664
  80be50:    e0800815     stw    r2,32(fp)
  80be54:    e0800017     ldw    r2,0(fp)
  80be58:    e0800715     stw    r2,28(fp)
  entry-&gt;previous = list;
  80be5c:    e0c00717     ldw    r3,28(fp)
  80be60:    e0800817     ldw    r2,32(fp)
  80be64:    18800115     stw    r2,4(r3)
  entry-&gt;next     = list-&gt;next;
  80be68:    e0c00717     ldw    r3,28(fp)
  80be6c:    e0800817     ldw    r2,32(fp)
  80be70:    10800017     ldw    r2,0(r2)
  80be74:    18800015     stw    r2,0(r3)

  list-&gt;next-&gt;previous = entry;
  80be78:    e0800817     ldw    r2,32(fp)
  80be7c:    10c00017     ldw    r3,0(r2)
  80be80:    e0800717     ldw    r2,28(fp)
  80be84:    18800115     stw    r2,4(r3)
  list-&gt;next           = entry;
  80be88:    e0c00817     ldw    r3,32(fp)
  80be8c:    e0800717     ldw    r2,28(fp)
  80be90:    18800015     stw    r2,0(r3)
 */

static ALT_INLINE void ALT_ALWAYS_INLINE 
       alt_irq_enable_all (alt_irq_context context)
{
  80be94:    e0800417     ldw    r2,16(fp)
  80be98:    e0800815     stw    r2,32(fp)
  NIOS2_WRITE_STATUS (context);
  80be9c:    e0800817     ldw    r2,32(fp)
  80bea0:    1001703a     wrctl    status,r2
      }
    
      alt_llist_insert (&amp;alt_alarm_list, &amp;alarm-&gt;llist);
      alt_irq_enable_all (irq_context);

      return 0;
  80bea4:    e0000915     stw    zero,36(fp)
  80bea8:    00000506     br    80bec0 &lt;alt_alarm_start+0x138&gt;
    }
    else
    {
      return -EINVAL;
  80beac:    00bffa84     movi    r2,-22
  80beb0:    e0800915     stw    r2,36(fp)
  80beb4:    00000206     br    80bec0 &lt;alt_alarm_start+0x138&gt;
    }
  }
  else
  {
    return -ENOTSUP;
  80beb8:    00bfde84     movi    r2,-134
  80bebc:    e0800915     stw    r2,36(fp)
  }
}
  80bec0:    e0800917     ldw    r2,36(fp)
  80bec4:    df000a17     ldw    fp,40(sp)
  80bec8:    dec00b04     addi    sp,sp,44
  80becc:    f800283a     ret

0080bed0 &lt;alt_dcache_flush_all&gt;:
 * alt_dcache_flush_all() is called to flush the entire data cache.
 */

void alt_dcache_flush_all (void)
{
  80bed0:    defffe04     addi    sp,sp,-8
  80bed4:    df000115     stw    fp,4(sp)
  80bed8:    d839883a     mov    fp,sp
#if NIOS2_DCACHE_SIZE &gt; 0
  char* i;
  
  for (i = (char*) 0; i &lt; (char*) NIOS2_DCACHE_SIZE; i+= NIOS2_DCACHE_LINE_SIZE)
  80bedc:    e0000015     stw    zero,0(fp)
  80bee0:    e0800017     ldw    r2,0(fp)
  80bee4:    10820028     cmpgeui    r2,r2,2048
  80bee8:    1000061e     bne    r2,zero,80bf04 &lt;alt_dcache_flush_all+0x34&gt;
  { 
    __asm__ volatile ("flushd (%0)" :: "r" (i));
  80beec:    e0800017     ldw    r2,0(fp)
  80bef0:    1000003b     flushd    0(r2)
  80bef4:    e0800017     ldw    r2,0(fp)
  80bef8:    10800804     addi    r2,r2,32
  80befc:    e0800015     stw    r2,0(fp)
  80bf00:    003ff706     br    80bee0 &lt;alt_dcache_flush_all+0x10&gt;
  }
#endif /* NIOS2_DCACHE_SIZE &gt; 0 */
}
  80bf04:    df000117     ldw    fp,4(sp)
  80bf08:    dec00204     addi    sp,sp,8
  80bf0c:    f800283a     ret

0080bf10 &lt;alt_dev_llist_insert&gt;:
 *
 */

int alt_dev_llist_insert (alt_dev_llist* dev, alt_llist* list)
{
  80bf10:    defff904     addi    sp,sp,-28
  80bf14:    dfc00615     stw    ra,24(sp)
  80bf18:    df000515     stw    fp,20(sp)
  80bf1c:    d839883a     mov    fp,sp
  80bf20:    e1000015     stw    r4,0(fp)
  80bf24:    e1400115     stw    r5,4(fp)
  /*
   * check that the device exists, and that it has a valid name.
   */

  if (!dev || !dev-&gt;name)
  80bf28:    e0800017     ldw    r2,0(fp)
  80bf2c:    1005003a     cmpeq    r2,r2,zero
  80bf30:    1000041e     bne    r2,zero,80bf44 &lt;alt_dev_llist_insert+0x34&gt;
  80bf34:    e0800017     ldw    r2,0(fp)
  80bf38:    10800217     ldw    r2,8(r2)
  80bf3c:    1004c03a     cmpne    r2,r2,zero
  80bf40:    1000071e     bne    r2,zero,80bf60 &lt;alt_dev_llist_insert+0x50&gt;
  {
    ALT_ERRNO = EINVAL;
  80bf44:    080bfc00     call    80bfc0 &lt;alt_get_errno&gt;
  80bf48:    1007883a     mov    r3,r2
  80bf4c:    00800584     movi    r2,22
  80bf50:    18800015     stw    r2,0(r3)
    return -EINVAL;
  80bf54:    00bffa84     movi    r2,-22
  80bf58:    e0800415     stw    r2,16(fp)
  80bf5c:    00001306     br    80bfac &lt;alt_dev_llist_insert+0x9c&gt;
 */

static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list, 
                alt_llist* entry)
{
  80bf60:    e0800117     ldw    r2,4(fp)
  80bf64:    e0800215     stw    r2,8(fp)
  80bf68:    e0800017     ldw    r2,0(fp)
  80bf6c:    e0800315     stw    r2,12(fp)
  entry-&gt;previous = list;
  80bf70:    e0c00317     ldw    r3,12(fp)
  80bf74:    e0800217     ldw    r2,8(fp)
  80bf78:    18800115     stw    r2,4(r3)
  entry-&gt;next     = list-&gt;next;
  80bf7c:    e0c00317     ldw    r3,12(fp)
  80bf80:    e0800217     ldw    r2,8(fp)
  80bf84:    10800017     ldw    r2,0(r2)
  80bf88:    18800015     stw    r2,0(r3)

  list-&gt;next-&gt;previous = entry;
  80bf8c:    e0800217     ldw    r2,8(fp)
  80bf90:    10c00017     ldw    r3,0(r2)
  80bf94:    e0800317     ldw    r2,12(fp)
  80bf98:    18800115     stw    r2,4(r3)
  list-&gt;next           = entry;
  80bf9c:    e0c00217     ldw    r3,8(fp)
  80bfa0:    e0800317     ldw    r2,12(fp)
  80bfa4:    18800015     stw    r2,0(r3)
  }
  
  /*
   * register the device.
   */
  
  alt_llist_insert(list, &amp;dev-&gt;llist);

  return 0;  
  80bfa8:    e0000415     stw    zero,16(fp)
}
  80bfac:    e0800417     ldw    r2,16(fp)
  80bfb0:    dfc00617     ldw    ra,24(sp)
  80bfb4:    df000517     ldw    fp,20(sp)
  80bfb8:    dec00704     addi    sp,sp,28
  80bfbc:    f800283a     ret

0080bfc0 &lt;alt_get_errno&gt;:

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
  80bfc0:    defffd04     addi    sp,sp,-12
  80bfc4:    dfc00215     stw    ra,8(sp)
  80bfc8:    df000115     stw    fp,4(sp)
  80bfcc:    d839883a     mov    fp,sp
  return ((alt_errno) ? alt_errno() : &amp;errno);
  80bfd0:    d0a01017     ldw    r2,-32704(gp)
  80bfd4:    1005003a     cmpeq    r2,r2,zero
  80bfd8:    1000041e     bne    r2,zero,80bfec &lt;alt_get_errno+0x2c&gt;
  80bfdc:    d0a01017     ldw    r2,-32704(gp)
  80bfe0:    103ee83a     callr    r2
  80bfe4:    e0800015     stw    r2,0(fp)
  80bfe8:    00000206     br    80bff4 &lt;alt_get_errno+0x34&gt;
  80bfec:    d0a01d04     addi    r2,gp,-32652
  80bff0:    e0800015     stw    r2,0(fp)
  80bff4:    e0800017     ldw    r2,0(fp)
}
  80bff8:    dfc00217     ldw    ra,8(sp)
  80bffc:    df000117     ldw    fp,4(sp)
  80c000:    dec00304     addi    sp,sp,12
  80c004:    f800283a     ret

0080c008 &lt;_do_ctors&gt;:
 * Run the C++ static constructors.
 */

void _do_ctors(void)
{
  80c008:    defffd04     addi    sp,sp,-12
  80c00c:    dfc00215     stw    ra,8(sp)
  80c010:    df000115     stw    fp,4(sp)
  80c014:    d839883a     mov    fp,sp
  constructor* ctor;

  for (ctor = &amp;__CTOR_END__[-1]; ctor &gt;= __CTOR_LIST__; ctor--)
  80c018:    00802074     movhi    r2,129
  80c01c:    10b2e104     addi    r2,r2,-13436
  80c020:    e0800015     stw    r2,0(fp)
  80c024:    e0c00017     ldw    r3,0(fp)
  80c028:    00802074     movhi    r2,129
  80c02c:    10b2e204     addi    r2,r2,-13432
  80c030:    18800736     bltu    r3,r2,80c050 &lt;_do_ctors+0x48&gt;
        (*ctor) (); 
  80c034:    e0800017     ldw    r2,0(fp)
  80c038:    10800017     ldw    r2,0(r2)
  80c03c:    103ee83a     callr    r2
  80c040:    e0800017     ldw    r2,0(fp)
  80c044:    10bfff04     addi    r2,r2,-4
  80c048:    e0800015     stw    r2,0(fp)
  80c04c:    003ff506     br    80c024 &lt;_do_ctors+0x1c&gt;
}
  80c050:    dfc00217     ldw    ra,8(sp)
  80c054:    df000117     ldw    fp,4(sp)
  80c058:    dec00304     addi    sp,sp,12
  80c05c:    f800283a     ret

0080c060 &lt;_do_dtors&gt;:
 * Run the C++ static destructors.
 */

void _do_dtors(void)
{
  80c060:    defffd04     addi    sp,sp,-12
  80c064:    dfc00215     stw    ra,8(sp)
  80c068:    df000115     stw    fp,4(sp)
  80c06c:    d839883a     mov    fp,sp
  destructor* dtor;

  for (dtor = &amp;__DTOR_END__[-1]; dtor &gt;= __DTOR_LIST__; dtor--)
  80c070:    00802074     movhi    r2,129
  80c074:    10b2e104     addi    r2,r2,-13436
  80c078:    e0800015     stw    r2,0(fp)
  80c07c:    e0c00017     ldw    r3,0(fp)
  80c080:    00802074     movhi    r2,129
  80c084:    10b2e204     addi    r2,r2,-13432
  80c088:    18800736     bltu    r3,r2,80c0a8 &lt;_do_dtors+0x48&gt;
        (*dtor) (); 
  80c08c:    e0800017     ldw    r2,0(fp)
  80c090:    10800017     ldw    r2,0(r2)
  80c094:    103ee83a     callr    r2
  80c098:    e0800017     ldw    r2,0(fp)
  80c09c:    10bfff04     addi    r2,r2,-4
  80c0a0:    e0800015     stw    r2,0(fp)
  80c0a4:    003ff506     br    80c07c &lt;_do_dtors+0x1c&gt;
}
  80c0a8:    dfc00217     ldw    ra,8(sp)
  80c0ac:    df000117     ldw    fp,4(sp)
  80c0b0:    dec00304     addi    sp,sp,12
  80c0b4:    f800283a     ret

0080c0b8 &lt;alt_find_dev&gt;:
 * be found.
 */
 
alt_dev* alt_find_dev(const char* name, alt_llist* llist)
{
  80c0b8:    defff904     addi    sp,sp,-28
  80c0bc:    dfc00615     stw    ra,24(sp)
  80c0c0:    df000515     stw    fp,20(sp)
  80c0c4:    d839883a     mov    fp,sp
  80c0c8:    e1000015     stw    r4,0(fp)
  80c0cc:    e1400115     stw    r5,4(fp)
  alt_dev* next = (alt_dev*) llist-&gt;next;
  80c0d0:    e0800117     ldw    r2,4(fp)
  80c0d4:    10800017     ldw    r2,0(r2)
  80c0d8:    e0800215     stw    r2,8(fp)
  alt_32 len;

  len  = strlen(name) + 1;
  80c0dc:    e1000017     ldw    r4,0(fp)
  80c0e0:    08076b40     call    8076b4 &lt;strlen&gt;
  80c0e4:    10800044     addi    r2,r2,1
  80c0e8:    e0800315     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*) llist)
  80c0ec:    e0c00217     ldw    r3,8(fp)
  80c0f0:    e0800117     ldw    r2,4(fp)
  80c0f4:    18800e26     beq    r3,r2,80c130 &lt;alt_find_dev+0x78&gt;
  {

    /* 
     * memcmp() is used here rather than strcmp() in order to reduce the size
     * of the executable.
     */

    if (!memcmp (next-&gt;name, name, len))
  80c0f8:    e0800217     ldw    r2,8(fp)
  80c0fc:    11000217     ldw    r4,8(r2)
  80c100:    e1400017     ldw    r5,0(fp)
  80c104:    e1800317     ldw    r6,12(fp)
  80c108:    080cac80     call    80cac8 &lt;memcmp&gt;
  80c10c:    1004c03a     cmpne    r2,r2,zero
  80c110:    1000031e     bne    r2,zero,80c120 &lt;alt_find_dev+0x68&gt;
    {
      /* match found */

      return next;
  80c114:    e0800217     ldw    r2,8(fp)
  80c118:    e0800415     stw    r2,16(fp)
  80c11c:    00000506     br    80c134 &lt;alt_find_dev+0x7c&gt;
    }
    next = (alt_dev*) next-&gt;llist.next;
  80c120:    e0800217     ldw    r2,8(fp)
  80c124:    10800017     ldw    r2,0(r2)
  80c128:    e0800215     stw    r2,8(fp)
  80c12c:    003fef06     br    80c0ec &lt;alt_find_dev+0x34&gt;
  }
  
  /* No match found */
  
  return NULL;
  80c130:    e0000415     stw    zero,16(fp)
}
  80c134:    e0800417     ldw    r2,16(fp)
  80c138:    dfc00617     ldw    ra,24(sp)
  80c13c:    df000517     ldw    fp,20(sp)
  80c140:    dec00704     addi    sp,sp,28
  80c144:    f800283a     ret

0080c148 &lt;alt_find_file&gt;:
 * "/myfilesystem/junk.txt" would match: "/myfilesystem", but not: "/myfile". 
 */
 
alt_dev* alt_find_file (const char* name)
{
  80c148:    defffa04     addi    sp,sp,-24
  80c14c:    dfc00515     stw    ra,20(sp)
  80c150:    df000415     stw    fp,16(sp)
  80c154:    d839883a     mov    fp,sp
  80c158:    e1000015     stw    r4,0(fp)
  alt_dev* next = (alt_dev*) alt_fs_list.next;   
  80c15c:    d0a00b17     ldw    r2,-32724(gp)
  80c160:    e0800115     stw    r2,4(fp)

  alt_32 len;
 
  /*
   * 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*) &amp;alt_fs_list)
  80c164:    e0c00117     ldw    r3,4(fp)
  80c168:    d0a00b04     addi    r2,gp,-32724
  80c16c:    18802926     beq    r3,r2,80c214 &lt;alt_find_file+0xcc&gt;
  {
    len = strlen(next-&gt;name);
  80c170:    e0800117     ldw    r2,4(fp)
  80c174:    11000217     ldw    r4,8(r2)
  80c178:    08076b40     call    8076b4 &lt;strlen&gt;
  80c17c:    e0800215     stw    r2,8(fp)
    
    if (next-&gt;name[len-1] == '/')
  80c180:    e0800117     ldw    r2,4(fp)
  80c184:    10c00217     ldw    r3,8(r2)
  80c188:    e0800217     ldw    r2,8(fp)
  80c18c:    1885883a     add    r2,r3,r2
  80c190:    10bfffc4     addi    r2,r2,-1
  80c194:    10800007     ldb    r2,0(r2)
  80c198:    10800bd8     cmpnei    r2,r2,47
  80c19c:    1000031e     bne    r2,zero,80c1ac &lt;alt_find_file+0x64&gt;
    {
      len -= 1;
  80c1a0:    e0800217     ldw    r2,8(fp)
  80c1a4:    10bfffc4     addi    r2,r2,-1
  80c1a8:    e0800215     stw    r2,8(fp)
    }

    if (((name[len] == '/') || (name[len] == '\0')) &amp;&amp; 
  80c1ac:    e0c00017     ldw    r3,0(fp)
  80c1b0:    e0800217     ldw    r2,8(fp)
  80c1b4:    1885883a     add    r2,r3,r2
  80c1b8:    10800007     ldb    r2,0(r2)
  80c1bc:    10800be0     cmpeqi    r2,r2,47
  80c1c0:    1000061e     bne    r2,zero,80c1dc &lt;alt_find_file+0x94&gt;
  80c1c4:    e0c00017     ldw    r3,0(fp)
  80c1c8:    e0800217     ldw    r2,8(fp)
  80c1cc:    1885883a     add    r2,r3,r2
  80c1d0:    10800007     ldb    r2,0(r2)
  80c1d4:    1004c03a     cmpne    r2,r2,zero
  80c1d8:    10000a1e     bne    r2,zero,80c204 &lt;alt_find_file+0xbc&gt;
  80c1dc:    e0800117     ldw    r2,4(fp)
  80c1e0:    11000217     ldw    r4,8(r2)
  80c1e4:    e1400017     ldw    r5,0(fp)
  80c1e8:    e1800217     ldw    r6,8(fp)
  80c1ec:    080cac80     call    80cac8 &lt;memcmp&gt;
  80c1f0:    1004c03a     cmpne    r2,r2,zero
  80c1f4:    1000031e     bne    r2,zero,80c204 &lt;alt_find_file+0xbc&gt;
        !memcmp (next-&gt;name, name, len))
    {
      /* match found */

      return next;
  80c1f8:    e0800117     ldw    r2,4(fp)
  80c1fc:    e0800315     stw    r2,12(fp)
  80c200:    00000506     br    80c218 &lt;alt_find_file+0xd0&gt;
    }
    next = (alt_dev*) next-&gt;llist.next;
  80c204:    e0800117     ldw    r2,4(fp)
  80c208:    10800017     ldw    r2,0(r2)
  80c20c:    e0800115     stw    r2,4(fp)
  80c210:    003fd406     br    80c164 &lt;alt_find_file+0x1c&gt;
  }
  
  /* No match found */
  
  return NULL;     
  80c214:    e0000315     stw    zero,12(fp)
}
  80c218:    e0800317     ldw    r2,12(fp)
  80c21c:    dfc00517     ldw    ra,20(sp)
  80c220:    df000417     ldw    fp,16(sp)
  80c224:    dec00604     addi    sp,sp,24
  80c228:    f800283a     ret

0080c22c &lt;alt_get_fd&gt;:
 * negative value indicates failure.
 */

int alt_get_fd (alt_dev* dev)
{
  80c22c:    defffa04     addi    sp,sp,-24
  80c230:    df000515     stw    fp,20(sp)
  80c234:    d839883a     mov    fp,sp
  80c238:    e1000015     stw    r4,0(fp)
  alt_32 i;
  int rc = -EMFILE;
  80c23c:    00bffa04     movi    r2,-24
  80c240:    e0800215     stw    r2,8(fp)
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80c244:    e0000315     stw    zero,12(fp)
  
  /* 
   * Take the alt_fd_list_lock semaphore in order to avoid races when 
   * accessing the file descriptor pool.
   */
  
  ALT_SEM_PEND(alt_fd_list_lock, 0);
  
  /* 
   * Search through the list of file descriptors, and allocate the first
   * free descriptor that's found. 
   *
   * If a free descriptor is found, then the value of "alt_max_fd" is 
   * updated accordingly. "alt_max_fd" is a 'highwater mark' which 
   * 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 &lt; ALT_MAX_FD; i++)
  80c248:    e0000115     stw    zero,4(fp)
  80c24c:    e0800117     ldw    r2,4(fp)
  80c250:    10800808     cmpgei    r2,r2,32
  80c254:    10001b1e     bne    r2,zero,80c2c4 &lt;alt_get_fd+0x98&gt;
  {
    if (!alt_fd_list[i].dev)
  80c258:    00c02074     movhi    r3,129
  80c25c:    18f68104     addi    r3,r3,-9724
  80c260:    e0800117     ldw    r2,4(fp)
  80c264:    10800324     muli    r2,r2,12
  80c268:    10c5883a     add    r2,r2,r3
  80c26c:    10800017     ldw    r2,0(r2)
  80c270:    1004c03a     cmpne    r2,r2,zero
  80c274:    10000f1e     bne    r2,zero,80c2b4 &lt;alt_get_fd+0x88&gt;
    {
      alt_fd_list[i].dev = dev;
  80c278:    00c02074     movhi    r3,129
  80c27c:    18f68104     addi    r3,r3,-9724
  80c280:    e0800117     ldw    r2,4(fp)
  80c284:    10800324     muli    r2,r2,12
  80c288:    10c7883a     add    r3,r2,r3
  80c28c:    e0800017     ldw    r2,0(fp)
  80c290:    18800015     stw    r2,0(r3)
      if (i &gt; alt_max_fd)
  80c294:    e0c00117     ldw    r3,4(fp)
  80c298:    d0a00f17     ldw    r2,-32708(gp)
  80c29c:    10c0020e     bge    r2,r3,80c2a8 &lt;alt_get_fd+0x7c&gt;
      {
        alt_max_fd = i;
  80c2a0:    e0800117     ldw    r2,4(fp)
  80c2a4:    d0a00f15     stw    r2,-32708(gp)
      }
      rc = i;
  80c2a8:    e0800117     ldw    r2,4(fp)
  80c2ac:    e0800215     stw    r2,8(fp)
      goto alt_get_fd_exit;
  80c2b0:    00000406     br    80c2c4 &lt;alt_get_fd+0x98&gt;
  80c2b4:    e0800117     ldw    r2,4(fp)
  80c2b8:    10800044     addi    r2,r2,1
  80c2bc:    e0800115     stw    r2,4(fp)
  80c2c0:    003fe206     br    80c24c &lt;alt_get_fd+0x20&gt;
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_no_error (void)
{
  return 0;
  80c2c4:    e0000415     stw    zero,16(fp)
    }
  }

 alt_get_fd_exit:

  /*
   * Release the alt_fd_list_lock semaphore now that we are done with the
   * file descriptor pool.
   */

  ALT_SEM_POST(alt_fd_list_lock);

  return rc;
  80c2c8:    e0800217     ldw    r2,8(fp)
}
  80c2cc:    df000517     ldw    fp,20(sp)
  80c2d0:    dec00604     addi    sp,sp,24
  80c2d4:    f800283a     ret

0080c2d8 &lt;alt_icache_flush_all&gt;:
 * alt_icache_flush_all() is called to flush the entire instruction cache.
 */

void alt_icache_flush_all (void)
{
  80c2d8:    defffe04     addi    sp,sp,-8
  80c2dc:    dfc00115     stw    ra,4(sp)
  80c2e0:    df000015     stw    fp,0(sp)
  80c2e4:    d839883a     mov    fp,sp
#if NIOS2_ICACHE_SIZE &gt; 0
  alt_icache_flush (0, NIOS2_ICACHE_SIZE);
  80c2e8:    0009883a     mov    r4,zero
  80c2ec:    01440004     movi    r5,4096
  80c2f0:    080c8bc0     call    80c8bc &lt;alt_icache_flush&gt;
#endif
}
  80c2f4:    dfc00117     ldw    ra,4(sp)
  80c2f8:    df000017     ldw    fp,0(sp)
  80c2fc:    dec00204     addi    sp,sp,8
  80c300:    f800283a     ret

0080c304 &lt;alt_open_fd&gt;:
 * remains unchanged.
 */

static void alt_open_fd(alt_fd* fd, const char* name, int flags, int mode)
{
  80c304:    defff904     addi    sp,sp,-28
  80c308:    dfc00615     stw    ra,24(sp)
  80c30c:    df000515     stw    fp,20(sp)
  80c310:    d839883a     mov    fp,sp
  80c314:    e1000015     stw    r4,0(fp)
  80c318:    e1400115     stw    r5,4(fp)
  80c31c:    e1800215     stw    r6,8(fp)
  80c320:    e1c00315     stw    r7,12(fp)
  int old;

  old = open (name, flags, mode);
  80c324:    e1000117     ldw    r4,4(fp)
  80c328:    e1400217     ldw    r5,8(fp)
  80c32c:    e1800317     ldw    r6,12(fp)
  80c330:    0809f340     call    809f34 &lt;open&gt;
  80c334:    e0800415     stw    r2,16(fp)

  if (old &gt;= 0)
  80c338:    e0800417     ldw    r2,16(fp)
  80c33c:    1004803a     cmplt    r2,r2,zero
  80c340:    10001c1e     bne    r2,zero,80c3b4 &lt;alt_open_fd+0xb0&gt;
  {
    fd-&gt;dev      = alt_fd_list[old].dev;
  80c344:    e1000017     ldw    r4,0(fp)
  80c348:    00c02074     movhi    r3,129
  80c34c:    18f68104     addi    r3,r3,-9724
  80c350:    e0800417     ldw    r2,16(fp)
  80c354:    10800324     muli    r2,r2,12
  80c358:    10c5883a     add    r2,r2,r3
  80c35c:    10800017     ldw    r2,0(r2)
  80c360:    20800015     stw    r2,0(r4)
    fd-&gt;priv     = alt_fd_list[old].priv;
  80c364:    e1000017     ldw    r4,0(fp)
  80c368:    00c02074     movhi    r3,129
  80c36c:    18f68104     addi    r3,r3,-9724
  80c370:    e0800417     ldw    r2,16(fp)
  80c374:    10800324     muli    r2,r2,12
  80c378:    10c5883a     add    r2,r2,r3
  80c37c:    10800104     addi    r2,r2,4
  80c380:    10800017     ldw    r2,0(r2)
  80c384:    20800115     stw    r2,4(r4)
    fd-&gt;fd_flags = alt_fd_list[old].fd_flags;
  80c388:    e1000017     ldw    r4,0(fp)
  80c38c:    00c02074     movhi    r3,129
  80c390:    18f68104     addi    r3,r3,-9724
  80c394:    e0800417     ldw    r2,16(fp)
  80c398:    10800324     muli    r2,r2,12
  80c39c:    10c5883a     add    r2,r2,r3
  80c3a0:    10800204     addi    r2,r2,8
  80c3a4:    10800017     ldw    r2,0(r2)
  80c3a8:    20800215     stw    r2,8(r4)

    alt_release_fd (old);
  80c3ac:    e1000417     ldw    r4,16(fp)
  80c3b0:    080a2640     call    80a264 &lt;alt_release_fd&gt;
  }
} 
  80c3b4:    dfc00617     ldw    ra,24(sp)
  80c3b8:    df000517     ldw    fp,20(sp)
  80c3bc:    dec00704     addi    sp,sp,28
  80c3c0:    f800283a     ret

0080c3c4 &lt;alt_io_redirect&gt;:

/*
 * alt_io_redirect() is called once the device/filesystem lists have been 
 * initialised, but before main(). Its function is to redirect standard in,
 * standard out and standard error so that they point to the devices selected by
 * the user (as defined in system.h).
 *
 * Prior to the call to this function, io is directed towards /dev/null. If
 * i/o can not be redirected to the requested device, for example if the device 
 * does not exist, then it remains directed at /dev/null. 
 */
 
void alt_io_redirect(const char* stdout_dev, 
                     const char* stdin_dev, 
                     const char* stderr_dev)
{
  80c3c4:    defffb04     addi    sp,sp,-20
  80c3c8:    dfc00415     stw    ra,16(sp)
  80c3cc:    df000315     stw    fp,12(sp)
  80c3d0:    d839883a     mov    fp,sp
  80c3d4:    e1000015     stw    r4,0(fp)
  80c3d8:    e1400115     stw    r5,4(fp)
  80c3dc:    e1800215     stw    r6,8(fp)
  /* Redirect the channels */

  alt_open_fd (&amp;alt_fd_list[STDOUT_FILENO], stdout_dev, O_WRONLY, 0777);
  80c3e0:    01002074     movhi    r4,129
  80c3e4:    21368404     addi    r4,r4,-9712
  80c3e8:    e1400017     ldw    r5,0(fp)
  80c3ec:    01800044     movi    r6,1
  80c3f0:    01c07fc4     movi    r7,511
  80c3f4:    080c3040     call    80c304 &lt;alt_open_fd&gt;
  alt_open_fd (&amp;alt_fd_list[STDIN_FILENO], stdin_dev, O_RDONLY, 0777);
  80c3f8:    01002074     movhi    r4,129
  80c3fc:    21368104     addi    r4,r4,-9724
  80c400:    e1400117     ldw    r5,4(fp)
  80c404:    000d883a     mov    r6,zero
  80c408:    01c07fc4     movi    r7,511
  80c40c:    080c3040     call    80c304 &lt;alt_open_fd&gt;
  alt_open_fd (&amp;alt_fd_list[STDERR_FILENO], stderr_dev, O_WRONLY, 0777);
  80c410:    01002074     movhi    r4,129
  80c414:    21368704     addi    r4,r4,-9700
  80c418:    e1400217     ldw    r5,8(fp)
  80c41c:    01800044     movi    r6,1
  80c420:    01c07fc4     movi    r7,511
  80c424:    080c3040     call    80c304 &lt;alt_open_fd&gt;
}  
  80c428:    dfc00417     ldw    ra,16(sp)
  80c42c:    df000317     ldw    fp,12(sp)
  80c430:    dec00504     addi    sp,sp,20
  80c434:    f800283a     ret

0080c438 &lt;alt_irq_register&gt;:
 
int alt_irq_register (alt_u32 id, 
                      void* context, 
                      void (*handler)(void*, alt_u32))
{
  80c438:    defff304     addi    sp,sp,-52
  80c43c:    df000c15     stw    fp,48(sp)
  80c440:    d839883a     mov    fp,sp
  80c444:    e1000015     stw    r4,0(fp)
  80c448:    e1400115     stw    r5,4(fp)
  80c44c:    e1800215     stw    r6,8(fp)
  int rc = -EINVAL;  
  80c450:    00bffa84     movi    r2,-22
  80c454:    e0800315     stw    r2,12(fp)
  alt_irq_context status;

  if (id &lt; ALT_NIRQ)
  80c458:    e0800017     ldw    r2,0(fp)
  80c45c:    10800828     cmpgeui    r2,r2,32
  80c460:    1000511e     bne    r2,zero,80c5a8 &lt;alt_irq_register+0x170&gt;
       alt_irq_disable_all (void)
{
  alt_irq_context context;

  NIOS2_READ_STATUS (context);
  80c464:    0005303a     rdctl    r2,status
  80c468:    e0800615     stw    r2,24(fp)
  NIOS2_WRITE_STATUS (0);
  80c46c:    0001703a     wrctl    status,zero
  80c470:    e0800617     ldw    r2,24(fp)
  80c474:    e0800515     stw    r2,20(fp)
  80c478:    e0800517     ldw    r2,20(fp)
  80c47c:    e0800415     stw    r2,16(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 ();

    alt_irq[id].handler = handler;
  80c480:    00c02074     movhi    r3,129
  80c484:    18fb6104     addi    r3,r3,-4732
  80c488:    e0800017     ldw    r2,0(fp)
  80c48c:    10800224     muli    r2,r2,8
  80c490:    10c7883a     add    r3,r2,r3
  80c494:    e0800217     ldw    r2,8(fp)
  80c498:    18800015     stw    r2,0(r3)
    alt_irq[id].context = context;
  80c49c:    00c02074     movhi    r3,129
  80c4a0:    18fb6104     addi    r3,r3,-4732
  80c4a4:    e0800017     ldw    r2,0(fp)
  80c4a8:    10800224     muli    r2,r2,8
  80c4ac:    10c5883a     add    r2,r2,r3
  80c4b0:    10c00104     addi    r3,r2,4
  80c4b4:    e0800117     ldw    r2,4(fp)
  80c4b8:    18800015     stw    r2,0(r3)

    rc = (handler) ? alt_irq_enable (id): alt_irq_disable (id);
  80c4bc:    e0800217     ldw    r2,8(fp)
  80c4c0:    1005003a     cmpeq    r2,r2,zero
  80c4c4:    1000191e     bne    r2,zero,80c52c &lt;alt_irq_register+0xf4&gt;
 *  
 */

static ALT_INLINE int ALT_ALWAYS_INLINE alt_irq_enable (alt_u32 id)
{
  80c4c8:    e0800017     ldw    r2,0(fp)
  80c4cc:    e0800615     stw    r2,24(fp)
  80c4d0:    0005303a     rdctl    r2,status
  80c4d4:    e0800915     stw    r2,36(fp)
  80c4d8:    0001703a     wrctl    status,zero
  80c4dc:    e0800917     ldw    r2,36(fp)
  80c4e0:    e0800815     stw    r2,32(fp)
  80c4e4:    e0800817     ldw    r2,32(fp)
  80c4e8:    e0800715     stw    r2,28(fp)
  alt_irq_context  status;
  extern volatile alt_u32 alt_irq_active;

  status = alt_irq_disable_all ();

  alt_irq_active |= (1 &lt;&lt; id);
  80c4ec:    00c00044     movi    r3,1
  80c4f0:    e0800617     ldw    r2,24(fp)
  80c4f4:    1886983a     sll    r3,r3,r2
  80c4f8:    d0a01617     ldw    r2,-32680(gp)
  80c4fc:    10c4b03a     or    r2,r2,r3
  80c500:    d0a01615     stw    r2,-32680(gp)
  NIOS2_WRITE_IENABLE (alt_irq_active);
  80c504:    d0a01617     ldw    r2,-32680(gp)
  80c508:    100170fa     wrctl    ienable,r2
  80c50c:    e0800717     ldw    r2,28(fp)
  80c510:    e0800915     stw    r2,36(fp)
  80c514:    e0800917     ldw    r2,36(fp)
  80c518:    1001703a     wrctl    status,r2

  alt_irq_enable_all(status);
  80c51c:    e0000515     stw    zero,20(fp)
  80c520:    e0800517     ldw    r2,20(fp)
  80c524:    e0800b15     stw    r2,44(fp)
  80c528:    00001906     br    80c590 &lt;alt_irq_register+0x158&gt;
  80c52c:    e0800017     ldw    r2,0(fp)
  80c530:    e0800915     stw    r2,36(fp)
  80c534:    0005303a     rdctl    r2,status
  80c538:    e0800a15     stw    r2,40(fp)
  80c53c:    0001703a     wrctl    status,zero
  80c540:    e0800a17     ldw    r2,40(fp)
  80c544:    e0800615     stw    r2,24(fp)
  80c548:    e0800617     ldw    r2,24(fp)
  80c54c:    e0800715     stw    r2,28(fp)
  80c550:    00c00044     movi    r3,1
  80c554:    e0800917     ldw    r2,36(fp)
  80c558:    1884983a     sll    r2,r3,r2
  80c55c:    0086303a     nor    r3,zero,r2
  80c560:    d0a01617     ldw    r2,-32680(gp)
  80c564:    10c4703a     and    r2,r2,r3
  80c568:    d0a01615     stw    r2,-32680(gp)
  80c56c:    d0a01617     ldw    r2,-32680(gp)
  80c570:    100170fa     wrctl    ienable,r2
  80c574:    e0800717     ldw    r2,28(fp)
  80c578:    e0800a15     stw    r2,40(fp)
  80c57c:    e0800a17     ldw    r2,40(fp)
  80c580:    1001703a     wrctl    status,r2
  80c584:    e0000815     stw    zero,32(fp)
  80c588:    e0800817     ldw    r2,32(fp)
  80c58c:    e0800b15     stw    r2,44(fp)
  80c590:    e0800b17     ldw    r2,44(fp)
  80c594:    e0800315     stw    r2,12(fp)
  80c598:    e0800417     ldw    r2,16(fp)
  80c59c:    e0800a15     stw    r2,40(fp)
  80c5a0:    e0800a17     ldw    r2,40(fp)
  80c5a4:    1001703a     wrctl    status,r2

    alt_irq_enable_all(status);
  }
  return rc; 
  80c5a8:    e0800317     ldw    r2,12(fp)
}
  80c5ac:    df000c17     ldw    fp,48(sp)
  80c5b0:    dec00d04     addi    sp,sp,52
  80c5b4:    f800283a     ret

0080c5b8 &lt;alt_alarm_stop&gt;:
 * the alarm executes.
 */

void alt_alarm_stop (alt_alarm* alarm)
{
  80c5b8:    defffb04     addi    sp,sp,-20
  80c5bc:    df000415     stw    fp,16(sp)
  80c5c0:    d839883a     mov    fp,sp
  80c5c4:    e1000015     stw    r4,0(fp)
       alt_irq_disable_all (void)
{
  alt_irq_context context;

  NIOS2_READ_STATUS (context);
  80c5c8:    0005303a     rdctl    r2,status
  80c5cc:    e0800315     stw    r2,12(fp)
  NIOS2_WRITE_STATUS (0);
  80c5d0:    0001703a     wrctl    status,zero
  80c5d4:    e0800317     ldw    r2,12(fp)
  80c5d8:    e0800215     stw    r2,8(fp)
  80c5dc:    e0800217     ldw    r2,8(fp)
  80c5e0:    e0800115     stw    r2,4(fp)
 * input argument is the element to remove.
 */
     
static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_remove(alt_llist* entry)
{
  80c5e4:    e0800017     ldw    r2,0(fp)
  80c5e8:    e0800315     stw    r2,12(fp)
  entry-&gt;next-&gt;previous = entry-&gt;previous;
  80c5ec:    e0800317     ldw    r2,12(fp)
  80c5f0:    10c00017     ldw    r3,0(r2)
  80c5f4:    e0800317     ldw    r2,12(fp)
  80c5f8:    10800117     ldw    r2,4(r2)
  80c5fc:    18800115     stw    r2,4(r3)
  entry-&gt;previous-&gt;next = entry-&gt;next;
  80c600:    e0800317     ldw    r2,12(fp)
  80c604:    10c00117     ldw    r3,4(r2)
  80c608:    e0800317     ldw    r2,12(fp)
  80c60c:    10800017     ldw    r2,0(r2)
  80c610:    18800015     stw    r2,0(r3)

  /* 
   * Set the entry to point to itself, so that any further calls to
   * alt_llist_remove() are harmless.
   */

  entry-&gt;previous = entry;
  80c614:    e0c00317     ldw    r3,12(fp)
  80c618:    e0800317     ldw    r2,12(fp)
  80c61c:    18800115     stw    r2,4(r3)
  entry-&gt;next     = entry;
  80c620:    e0c00317     ldw    r3,12(fp)
  80c624:    e0800317     ldw    r2,12(fp)
  80c628:    18800015     stw    r2,0(r3)
 */

static ALT_INLINE void ALT_ALWAYS_INLINE 
       alt_irq_enable_all (alt_irq_context context)
{
  80c62c:    e0800117     ldw    r2,4(fp)
  80c630:    e0800315     stw    r2,12(fp)
  NIOS2_WRITE_STATUS (context);
  80c634:    e0800317     ldw    r2,12(fp)
  80c638:    1001703a     wrctl    status,r2
  alt_irq_context irq_context;

  irq_context = alt_irq_disable_all();
  alt_llist_remove (&amp;alarm-&gt;llist);
  alt_irq_enable_all (irq_context);
}
  80c63c:    df000417     ldw    fp,16(sp)
  80c640:    dec00504     addi    sp,sp,20
  80c644:    f800283a     ret

0080c648 &lt;alt_tick&gt;:

/*
 * alt_tick() is periodically called by the system clock driver in order to
 * process the registered list of alarms. Each alarm is registed with a
 * callback interval, and a callback function, "callback". 
 *
 * The return value of the callback function indicates how many ticks are to
 * elapse until the next callback. A return value of zero indicates that the
 * alarm should be deactivated. 
 * 
 * alt_tick() is expected to run at interrupt level.
 */

void alt_tick (void)
{
  80c648:    defffb04     addi    sp,sp,-20
  80c64c:    dfc00415     stw    ra,16(sp)
  80c650:    df000315     stw    fp,12(sp)
  80c654:    d839883a     mov    fp,sp
  alt_alarm* next;
  alt_alarm* alarm = (alt_alarm*) alt_alarm_list.next;
  80c658:    d0a01a17     ldw    r2,-32664(gp)
  80c65c:    e0800115     stw    r2,4(fp)

  alt_u32    next_callback;

  /* update the tick counter */

  _alt_nticks++;
  80c660:    d0a01917     ldw    r2,-32668(gp)
  80c664:    10800044     addi    r2,r2,1
  80c668:    d0a01915     stw    r2,-32668(gp)

  /* process the registered callbacks */

  while (alarm != (alt_alarm*) &amp;alt_alarm_list)
  80c66c:    e0c00117     ldw    r3,4(fp)
  80c670:    d0a01a04     addi    r2,gp,-32664
  80c674:    18803026     beq    r3,r2,80c738 &lt;alt_tick+0xf0&gt;
  {
    next = (alt_alarm*) alarm-&gt;llist.next;
  80c678:    e0800117     ldw    r2,4(fp)
  80c67c:    10800017     ldw    r2,0(r2)
  80c680:    e0800015     stw    r2,0(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-&gt;rollover) &amp;&amp; (_alt_nticks == 0))
  80c684:    e0800117     ldw    r2,4(fp)
  80c688:    10800403     ldbu    r2,16(r2)
  80c68c:    1005003a     cmpeq    r2,r2,zero
  80c690:    1000051e     bne    r2,zero,80c6a8 &lt;alt_tick+0x60&gt;
  80c694:    d0a01917     ldw    r2,-32668(gp)
  80c698:    1004c03a     cmpne    r2,r2,zero
  80c69c:    1000021e     bne    r2,zero,80c6a8 &lt;alt_tick+0x60&gt;
    {
      alarm-&gt;rollover = 0;
  80c6a0:    e0800117     ldw    r2,4(fp)
  80c6a4:    10000405     stb    zero,16(r2)
    }
    
    /* if the alarm period has expired, make the callback */    
    if ((alarm-&gt;time &lt;= _alt_nticks) &amp;&amp; (alarm-&gt;rollover == 0))
  80c6a8:    e0800117     ldw    r2,4(fp)
  80c6ac:    10c00217     ldw    r3,8(r2)
  80c6b0:    d0a01917     ldw    r2,-32668(gp)
  80c6b4:    10c01d36     bltu    r2,r3,80c72c &lt;alt_tick+0xe4&gt;
  80c6b8:    e0800117     ldw    r2,4(fp)
  80c6bc:    10800403     ldbu    r2,16(r2)
  80c6c0:    1004c03a     cmpne    r2,r2,zero
  80c6c4:    1000191e     bne    r2,zero,80c72c &lt;alt_tick+0xe4&gt;
    {
      next_callback = alarm-&gt;callback (alarm-&gt;context);
  80c6c8:    e0800117     ldw    r2,4(fp)
  80c6cc:    e0c00117     ldw    r3,4(fp)
  80c6d0:    10800317     ldw    r2,12(r2)
  80c6d4:    19000517     ldw    r4,20(r3)
  80c6d8:    103ee83a     callr    r2
  80c6dc:    e0800215     stw    r2,8(fp)

      /* deactivate the alarm if the return value is zero */

      if (next_callback == 0)
  80c6e0:    e0800217     ldw    r2,8(fp)
  80c6e4:    1004c03a     cmpne    r2,r2,zero
  80c6e8:    1000031e     bne    r2,zero,80c6f8 &lt;alt_tick+0xb0&gt;
      {
        alt_alarm_stop (alarm);
  80c6ec:    e1000117     ldw    r4,4(fp)
  80c6f0:    080c5b80     call    80c5b8 &lt;alt_alarm_stop&gt;
  80c6f4:    00000d06     br    80c72c &lt;alt_tick+0xe4&gt;
      }
      else
      {
        alarm-&gt;time += next_callback;
  80c6f8:    e1000117     ldw    r4,4(fp)
  80c6fc:    e0800117     ldw    r2,4(fp)
  80c700:    10c00217     ldw    r3,8(r2)
  80c704:    e0800217     ldw    r2,8(fp)
  80c708:    1885883a     add    r2,r3,r2
  80c70c:    20800215     stw    r2,8(r4)
        
        /* 
         * 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-&gt;time &lt; _alt_nticks)
  80c710:    e0800117     ldw    r2,4(fp)
  80c714:    10c00217     ldw    r3,8(r2)
  80c718:    d0a01917     ldw    r2,-32668(gp)
  80c71c:    1880032e     bgeu    r3,r2,80c72c &lt;alt_tick+0xe4&gt;
        {
          alarm-&gt;rollover = 1;
  80c720:    e0c00117     ldw    r3,4(fp)
  80c724:    00800044     movi    r2,1
  80c728:    18800405     stb    r2,16(r3)
        }
      }
    }
    alarm = next;
  80c72c:    e0800017     ldw    r2,0(fp)
  80c730:    e0800115     stw    r2,4(fp)
  80c734:    003fcd06     br    80c66c &lt;alt_tick+0x24&gt;
  }

  /* 
   * Update the operating system specific timer facilities.
   */

  ALT_OS_TIME_TICK();
}
  80c738:    dfc00417     ldw    ra,16(sp)
  80c73c:    df000317     ldw    fp,12(sp)
  80c740:    dec00504     addi    sp,sp,20
  80c744:    f800283a     ret

0080c748 &lt;usleep&gt;:
 * ALT_USLEEP is mapped onto the usleep() system call in alt_syscall.h 
 */

unsigned int ALT_USLEEP (unsigned int us)
{
  80c748:    defffd04     addi    sp,sp,-12
  80c74c:    dfc00215     stw    ra,8(sp)
  80c750:    df000115     stw    fp,4(sp)
  80c754:    d839883a     mov    fp,sp
  80c758:    e1000015     stw    r4,0(fp)
  return alt_busy_sleep(us);
  80c75c:    e1000017     ldw    r4,0(fp)
  80c760:    080c7740     call    80c774 &lt;alt_busy_sleep&gt;
}
  80c764:    dfc00217     ldw    ra,8(sp)
  80c768:    df000117     ldw    fp,4(sp)
  80c76c:    dec00304     addi    sp,sp,12
  80c770:    f800283a     ret

0080c774 &lt;alt_busy_sleep&gt;:

#include "priv/alt_busy_sleep.h"

unsigned int alt_busy_sleep (unsigned int us)
{
  80c774:    defffa04     addi    sp,sp,-24
  80c778:    dfc00515     stw    ra,20(sp)
  80c77c:    df000415     stw    fp,16(sp)
  80c780:    d839883a     mov    fp,sp
  80c784:    e1000015     stw    r4,0(fp)
/*
 * Only delay if ALT_SIM_OPTIMIZE is not defined; i.e., if software
 * is built targetting ModelSim RTL simulation, the delay will be
 * skipped to speed up simulation.
 */
#ifndef ALT_SIM_OPTIMIZE
  int i;
  int big_loops;
  alt_u32 cycles_per_loop;
  
  if (!strcmp(NIOS2_CPU_IMPLEMENTATION,"tiny"))
  {
    cycles_per_loop = 9;
  }
  else  
  {
    cycles_per_loop = 3;
  80c788:    008000c4     movi    r2,3
  80c78c:    e0800315     stw    r2,12(fp)
  }
  

  big_loops = us / (INT_MAX/
  80c790:    e0c00317     ldw    r3,12(fp)
  80c794:    008003f4     movhi    r2,15
  80c798:    10909004     addi    r2,r2,16960
  80c79c:    188b383a     mul    r5,r3,r2
  80c7a0:    0100bef4     movhi    r4,763
  80c7a4:    213c2004     addi    r4,r4,-3968
  80c7a8:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  80c7ac:    100b883a     mov    r5,r2
  80c7b0:    01200034     movhi    r4,32768
  80c7b4:    213fffc4     addi    r4,r4,-1
  80c7b8:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  80c7bc:    100b883a     mov    r5,r2
  80c7c0:    e1000017     ldw    r4,0(fp)
  80c7c4:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  80c7c8:    e0800215     stw    r2,8(fp)
  (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));

  if (big_loops)
  80c7cc:    e0800217     ldw    r2,8(fp)
  80c7d0:    1005003a     cmpeq    r2,r2,zero
  80c7d4:    1000281e     bne    r2,zero,80c878 &lt;alt_busy_sleep+0x104&gt;
  {
    for(i=0;i&lt;big_loops;i++)
  80c7d8:    e0000115     stw    zero,4(fp)
  80c7dc:    e0c00117     ldw    r3,4(fp)
  80c7e0:    e0800217     ldw    r2,8(fp)
  80c7e4:    1880170e     bge    r3,r2,80c844 &lt;alt_busy_sleep+0xd0&gt;
    {
      /*
      * 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 (
  80c7e8:    00a00034     movhi    r2,32768
  80c7ec:    10bfffc4     addi    r2,r2,-1
  80c7f0:    10bfffc4     addi    r2,r2,-1
  80c7f4:    103ffe1e     bne    r2,zero,80c7f0 &lt;alt_busy_sleep+0x7c&gt;
        "\n0:"
        "\n\taddi %0,%0, -1"
        "\n\tbne %0,zero,0b"
        "\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/
  80c7f8:    e0c00317     ldw    r3,12(fp)
  80c7fc:    008003f4     movhi    r2,15
  80c800:    10909004     addi    r2,r2,16960
  80c804:    188b383a     mul    r5,r3,r2
  80c808:    0100bef4     movhi    r4,763
  80c80c:    213c2004     addi    r4,r4,-3968
  80c810:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  80c814:    100b883a     mov    r5,r2
  80c818:    01200034     movhi    r4,32768
  80c81c:    213fffc4     addi    r4,r4,-1
  80c820:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  80c824:    1007883a     mov    r3,r2
  80c828:    e0800017     ldw    r2,0(fp)
  80c82c:    10c5c83a     sub    r2,r2,r3
  80c830:    e0800015     stw    r2,0(fp)
  80c834:    e0800117     ldw    r2,4(fp)
  80c838:    10800044     addi    r2,r2,1
  80c83c:    e0800115     stw    r2,4(fp)
  80c840:    003fe606     br    80c7dc &lt;alt_busy_sleep+0x68&gt;
      (cycles_per_loop * 1000000)));
    }

    /*
    * 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 (
  80c844:    e0c00317     ldw    r3,12(fp)
  80c848:    008003f4     movhi    r2,15
  80c84c:    10909004     addi    r2,r2,16960
  80c850:    188b383a     mul    r5,r3,r2
  80c854:    0100bef4     movhi    r4,763
  80c858:    213c2004     addi    r4,r4,-3968
  80c85c:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  80c860:    1007883a     mov    r3,r2
  80c864:    e0800017     ldw    r2,0(fp)
  80c868:    1885383a     mul    r2,r3,r2
  80c86c:    10bfffc4     addi    r2,r2,-1
  80c870:    103ffe1e     bne    r2,zero,80c86c &lt;alt_busy_sleep+0xf8&gt;
  80c874:    00000c06     br    80c8a8 &lt;alt_busy_sleep+0x134&gt;
      "\n0:"
      "\n\taddi %0,%0, -1"
      "\n\tbne %0,zero,0b"
      "\n1:"
      "\n\t.pushsection .debug_alt_sim_info"
      "\n\t.int 4, 0, 0b, 1b"
      "\n\t.popsection"
      :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000))));
  }
  else
  {
    /*
    * 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 (
  80c878:    e0c00317     ldw    r3,12(fp)
  80c87c:    008003f4     movhi    r2,15
  80c880:    10909004     addi    r2,r2,16960
  80c884:    188b383a     mul    r5,r3,r2
  80c888:    0100bef4     movhi    r4,763
  80c88c:    213c2004     addi    r4,r4,-3968
  80c890:    08091f80     call    8091f8 &lt;__udivsi3&gt;
  80c894:    1007883a     mov    r3,r2
  80c898:    e0800017     ldw    r2,0(fp)
  80c89c:    1885383a     mul    r2,r3,r2
  80c8a0:    10bfffc4     addi    r2,r2,-1
  80c8a4:    00bffe16     blt    zero,r2,80c8a0 &lt;alt_busy_sleep+0x12c&gt;
      "\n0:"
      "\n\taddi %0,%0, -1"
      "\n\tbgt %0,zero,0b"
      "\n1:"
      "\n\t.pushsection .debug_alt_sim_info"
      "\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;
  80c8a8:    0005883a     mov    r2,zero
}
  80c8ac:    dfc00517     ldw    ra,20(sp)
  80c8b0:    df000417     ldw    fp,16(sp)
  80c8b4:    dec00604     addi    sp,sp,24
  80c8b8:    f800283a     ret

0080c8bc &lt;alt_icache_flush&gt;:
 * region of length "len" bytes, starting at address "start".
 */

void alt_icache_flush (void* start, alt_u32 len)
{
  80c8bc:    defffb04     addi    sp,sp,-20
  80c8c0:    df000415     stw    fp,16(sp)
  80c8c4:    d839883a     mov    fp,sp
  80c8c8:    e1000015     stw    r4,0(fp)
  80c8cc:    e1400115     stw    r5,4(fp)
#if NIOS2_ICACHE_SIZE &gt; 0

  char* i;
  char* end;

  /*
   * This is the most we would ever need to flush.
   */
 
  if (len &gt; NIOS2_ICACHE_SIZE)
  80c8d0:    e0800117     ldw    r2,4(fp)
  80c8d4:    10840070     cmpltui    r2,r2,4097
  80c8d8:    1000021e     bne    r2,zero,80c8e4 &lt;alt_icache_flush+0x28&gt;
  {
    len = NIOS2_ICACHE_SIZE;
  80c8dc:    00840004     movi    r2,4096
  80c8e0:    e0800115     stw    r2,4(fp)
  }

  end = ((char*) start) + len;
  80c8e4:    e0c00017     ldw    r3,0(fp)
  80c8e8:    e0800117     ldw    r2,4(fp)
  80c8ec:    1885883a     add    r2,r3,r2
  80c8f0:    e0800315     stw    r2,12(fp)

  for (i = start; i &lt; end; i+= NIOS2_ICACHE_LINE_SIZE)
  80c8f4:    e0800017     ldw    r2,0(fp)
  80c8f8:    e0800215     stw    r2,8(fp)
  80c8fc:    e0c00217     ldw    r3,8(fp)
  80c900:    e0800317     ldw    r2,12(fp)
  80c904:    1880062e     bgeu    r3,r2,80c920 &lt;alt_icache_flush+0x64&gt;
  { 
    __asm__ volatile ("flushi %0" :: "r" (i)); 
  80c908:    e0800217     ldw    r2,8(fp)
  80c90c:    1000603a     flushi    r2
  80c910:    e0800217     ldw    r2,8(fp)
  80c914:    10800804     addi    r2,r2,32
  80c918:    e0800215     stw    r2,8(fp)
  80c91c:    003ff706     br    80c8fc &lt;alt_icache_flush+0x40&gt;
  }

  /* 
   * For an unaligned flush request, we've got one more line left.
   * Note that this is dependent on NIOS2_ICACHE_LINE_SIZE to be a 
   * multiple of 2 (which it always is).
   */

  if (((alt_u32) start) &amp; (NIOS2_ICACHE_LINE_SIZE - 1))
  80c920:    e0800017     ldw    r2,0(fp)
  80c924:    108007cc     andi    r2,r2,31
  80c928:    1005003a     cmpeq    r2,r2,zero
  80c92c:    1000021e     bne    r2,zero,80c938 &lt;alt_icache_flush+0x7c&gt;
  {
    __asm__ volatile ("flushi %0" :: "r" (i));
  80c930:    e0800217     ldw    r2,8(fp)
  80c934:    1000603a     flushi    r2
  }

  /* 
   * Having flushed the cache, flush any stale instructions in the 
   * pipeline 
   */

  __asm__ volatile ("flushp");
  80c938:    0000203a     flushp

#endif /* NIOS2_ICACHE_SIZE &gt; 0 */
}
  80c93c:    df000417     ldw    fp,16(sp)
  80c940:    dec00504     addi    sp,sp,20
  80c944:    f800283a     ret

0080c948 &lt;atexit&gt;:
  80c948:    d0a00017     ldw    r2,-32768(gp)
  80c94c:    defffe04     addi    sp,sp,-8
  80c950:    dc000015     stw    r16,0(sp)
  80c954:    dfc00115     stw    ra,4(sp)
  80c958:    11405217     ldw    r5,328(r2)
  80c95c:    2021883a     mov    r16,r4
  80c960:    01004304     movi    r4,268
  80c964:    28001b26     beq    r5,zero,80c9d4 &lt;atexit+0x8c&gt;
  80c968:    28c00117     ldw    r3,4(r5)
  80c96c:    008007c4     movi    r2,31
  80c970:    10c00d16     blt    r2,r3,80c9a8 &lt;atexit+0x60&gt;
  80c974:    28800104     addi    r2,r5,4
  80c978:    10c00017     ldw    r3,0(r2)
  80c97c:    000d883a     mov    r6,zero
  80c980:    180890ba     slli    r4,r3,2
  80c984:    18c00044     addi    r3,r3,1
  80c988:    10c00015     stw    r3,0(r2)
  80c98c:    2149883a     add    r4,r4,r5
  80c990:    24000215     stw    r16,8(r4)
  80c994:    3005883a     mov    r2,r6
  80c998:    dfc00117     ldw    ra,4(sp)
  80c99c:    dc000017     ldw    r16,0(sp)
  80c9a0:    dec00204     addi    sp,sp,8
  80c9a4:    f800283a     ret
  80c9a8:    0805db40     call    805db4 &lt;malloc&gt;
  80c9ac:    100b883a     mov    r5,r2
  80c9b0:    01bfffc4     movi    r6,-1
  80c9b4:    103ff726     beq    r2,zero,80c994 &lt;atexit+0x4c&gt;
  80c9b8:    d0e00017     ldw    r3,-32768(gp)
  80c9bc:    10004215     stw    zero,264(r2)
  80c9c0:    10000115     stw    zero,4(r2)
  80c9c4:    18805217     ldw    r2,328(r3)
  80c9c8:    28800015     stw    r2,0(r5)
  80c9cc:    19405215     stw    r5,328(r3)
  80c9d0:    003fe806     br    80c974 &lt;atexit+0x2c&gt;
  80c9d4:    01402074     movhi    r5,129
  80c9d8:    297ba104     addi    r5,r5,-4476
  80c9dc:    11405215     stw    r5,328(r2)
  80c9e0:    003fe106     br    80c968 &lt;atexit+0x20&gt;

0080c9e4 &lt;exit&gt;:
  80c9e4:    d0a00017     ldw    r2,-32768(gp)
  80c9e8:    defff804     addi    sp,sp,-32
  80c9ec:    dd800015     stw    r22,0(sp)
  80c9f0:    dfc00715     stw    ra,28(sp)
  80c9f4:    dc000615     stw    r16,24(sp)
  80c9f8:    dc400515     stw    r17,20(sp)
  80c9fc:    dc800415     stw    r18,16(sp)
  80ca00:    dcc00315     stw    r19,12(sp)
  80ca04:    dd000215     stw    r20,8(sp)
  80ca08:    dd400115     stw    r21,4(sp)
  80ca0c:    15005217     ldw    r20,328(r2)
  80ca10:    202d883a     mov    r22,r4
  80ca14:    a0002526     beq    r20,zero,80caac &lt;exit+0xc8&gt;
  80ca18:    a0800117     ldw    r2,4(r20)
  80ca1c:    a5402204     addi    r21,r20,136
  80ca20:    0027883a     mov    r19,zero
  80ca24:    143fffc4     addi    r16,r2,-1
  80ca28:    8006803a     cmplt    r3,r16,zero
  80ca2c:    1800021e     bne    r3,zero,80ca38 &lt;exit+0x54&gt;
  80ca30:    00800044     movi    r2,1
  80ca34:    1426983a     sll    r19,r2,r16
  80ca38:    1800191e     bne    r3,zero,80caa0 &lt;exit+0xbc&gt;
  80ca3c:    800490ba     slli    r2,r16,2
  80ca40:    1025883a     mov    r18,r2
  80ca44:    1505883a     add    r2,r2,r20
  80ca48:    14400204     addi    r17,r2,8
  80ca4c:    00000806     br    80ca70 &lt;exit+0x8c&gt;
  80ca50:    88800017     ldw    r2,0(r17)
  80ca54:    29400017     ldw    r5,0(r5)
  80ca58:    843fffc4     addi    r16,r16,-1
  80ca5c:    94bfff04     addi    r18,r18,-4
  80ca60:    103ee83a     callr    r2
  80ca64:    8c7fff04     addi    r17,r17,-4
  80ca68:    9827d07a     srai    r19,r19,1
  80ca6c:    80000c16     blt    r16,zero,80caa0 &lt;exit+0xbc&gt;
  80ca70:    a8802017     ldw    r2,128(r21)
  80ca74:    954b883a     add    r5,r18,r21
  80ca78:    b009883a     mov    r4,r22
  80ca7c:    14c4703a     and    r2,r2,r19
  80ca80:    103ff31e     bne    r2,zero,80ca50 &lt;exit+0x6c&gt;
  80ca84:    88800017     ldw    r2,0(r17)
  80ca88:    843fffc4     addi    r16,r16,-1
  80ca8c:    94bfff04     addi    r18,r18,-4
  80ca90:    103ee83a     callr    r2
  80ca94:    8c7fff04     addi    r17,r17,-4
  80ca98:    9827d07a     srai    r19,r19,1
  80ca9c:    803ff40e     bge    r16,zero,80ca70 &lt;exit+0x8c&gt;
  80caa0:    a5000017     ldw    r20,0(r20)
  80caa4:    a03fdc1e     bne    r20,zero,80ca18 &lt;exit+0x34&gt;
  80caa8:    d0a00017     ldw    r2,-32768(gp)
  80caac:    10c00f17     ldw    r3,60(r2)
  80cab0:    1800021e     bne    r3,zero,80cabc &lt;exit+0xd8&gt;
  80cab4:    b009883a     mov    r4,r22
  80cab8:    080cb680     call    80cb68 &lt;_exit&gt;
  80cabc:    1009883a     mov    r4,r2
  80cac0:    183ee83a     callr    r3
  80cac4:    003ffb06     br    80cab4 &lt;exit+0xd0&gt;

0080cac8 &lt;memcmp&gt;:
  80cac8:    01c000c4     movi    r7,3
  80cacc:    3980032e     bgeu    r7,r6,80cadc &lt;memcmp+0x14&gt;
  80cad0:    2144b03a     or    r2,r4,r5
  80cad4:    11c4703a     and    r2,r2,r7
  80cad8:    10000d26     beq    r2,zero,80cb10 &lt;memcmp+0x48&gt;
  80cadc:    31bfffc4     addi    r6,r6,-1
  80cae0:    00bfffc4     movi    r2,-1
  80cae4:    30800826     beq    r6,r2,80cb08 &lt;memcmp+0x40&gt;
  80cae8:    100f883a     mov    r7,r2
  80caec:    20c00003     ldbu    r3,0(r4)
  80caf0:    28800003     ldbu    r2,0(r5)
  80caf4:    31bfffc4     addi    r6,r6,-1
  80caf8:    21000044     addi    r4,r4,1
  80cafc:    29400044     addi    r5,r5,1
  80cb00:    18800b1e     bne    r3,r2,80cb30 &lt;memcmp+0x68&gt;
  80cb04:    31fff91e     bne    r6,r7,80caec &lt;memcmp+0x24&gt;
  80cb08:    0005883a     mov    r2,zero
  80cb0c:    f800283a     ret
  80cb10:    20c00017     ldw    r3,0(r4)
  80cb14:    28800017     ldw    r2,0(r5)
  80cb18:    18bff01e     bne    r3,r2,80cadc &lt;memcmp+0x14&gt;
  80cb1c:    31bfff04     addi    r6,r6,-4
  80cb20:    21000104     addi    r4,r4,4
  80cb24:    29400104     addi    r5,r5,4
  80cb28:    39bff936     bltu    r7,r6,80cb10 &lt;memcmp+0x48&gt;
  80cb2c:    003feb06     br    80cadc &lt;memcmp+0x14&gt;
  80cb30:    1885c83a     sub    r2,r3,r2
  80cb34:    f800283a     ret

0080cb38 &lt;alt_sim_halt&gt;:
#endif


static ALT_ALWAYS_INLINE void alt_sim_halt(int exit_code)
{
  80cb38:    defffd04     addi    sp,sp,-12
  80cb3c:    df000215     stw    fp,8(sp)
  80cb40:    d839883a     mov    fp,sp
  80cb44:    e1000015     stw    r4,0(fp)
  int r2 = exit_code;
  80cb48:    e0800017     ldw    r2,0(fp)
  80cb4c:    e0800115     stw    r2,4(fp)

#if defined(NIOS2_HAS_DEBUG_STUB) &amp;&amp; (defined(ALT_BREAK_ON_EXIT) || defined(ALT_PROVIDE_GMON))

  int r3 = (1 &lt;&lt; 2);

#ifdef ALT_PROVIDE_GMON
  extern unsigned int alt_gmon_data[];
  int r4 = (int)alt_gmon_data;
  r3 |= (1 &lt;&lt; 4);

  usleep(100000);

#define ALT_GMON_DATA ,"D04"(r4)
#else
#define ALT_GMON_DATA
#endif

  __asm__ volatile ("wrctl ctl6, %0" : : "r"(1), "D02"(r2) );

  __asm__ volatile ("\n0:\n\taddi %0,%0, -1\n\tbgt %0,zero,0b" : : "r" (ALT_CPU_FREQ/100) ); /* Delay for &gt;30ms */

  __asm__ volatile ("break 2" : : "D02"(r2), "D03"(r3) ALT_GMON_DATA );

#else

  __asm__ volatile ("wrctl ctl6, %0" : : "r"(1), "D02"(r2) );
  80cb50:    00c00044     movi    r3,1
  80cb54:    e0800117     ldw    r2,4(fp)
  80cb58:    180171ba     wrctl    ctl6,r3

#endif
}
  80cb5c:    df000217     ldw    fp,8(sp)
  80cb60:    dec00304     addi    sp,sp,12
  80cb64:    f800283a     ret

0080cb68 &lt;_exit&gt;:
 * ALT_EXIT is mapped onto the _exit() system call in alt_syscall.h
 */

void ALT_EXIT (int exit_code)
{
  80cb68:    defffd04     addi    sp,sp,-12
  80cb6c:    dfc00215     stw    ra,8(sp)
  80cb70:    df000115     stw    fp,4(sp)
  80cb74:    d839883a     mov    fp,sp
  80cb78:    e1000015     stw    r4,0(fp)
  /* ALT_LOG - please see HAL/inc/alt_log_printf.h for details */
  ALT_LOG_PRINT_BOOT("[alt_exit.c] Entering _exit() function.\r\n");
  ALT_LOG_PRINT_BOOT("[alt_exit.c] Exit code from main was %d.\r\n",exit_code);
  /* Stop all other threads */

  ALT_LOG_PRINT_BOOT("[alt_exit.c] Calling ALT_OS_STOP().\r\n");
  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);
  80cb7c:    e1000017     ldw    r4,0(fp)
  80cb80:    080cb380     call    80cb38 &lt;alt_sim_halt&gt;

  /* spin forever, since there's no where to go back to */

  ALT_LOG_PRINT_BOOT("[alt_exit.c] Spinning forever.\r\n");
  while (1);
  80cb84:    003fff06     br    80cb84 &lt;_exit+0x1c&gt;
</pre>
