Annotation of coherent/b/lib/libc/gen/i386/ldiv.s, revision 1.1

1.1     ! root        1: //////////
        !             2: / libc/gen/i386/ldiv.s
        !             3: / i386 C standard library.
        !             4: / ANSI 4.10.6.2, 4.10.6.4.
        !             5: //////////
        !             6: 
        !             7: //////////
        !             8: / #include <stdlib.h>
        !             9: /
        !            10: / div_t
        !            11: / div(int numer, int denom)
        !            12: /
        !            13: / ldiv_t
        !            14: / ldiv(long numer, long denom)
        !            15: /
        !            16: / Compute quotient and remainder of 'numer' by 'denom'.
        !            17: / Return a pointer to a statically allocated div_t/ldiv_t object.
        !            18: / Since int and long are both 32 bits, div() and ldiv() are identical.
        !            19: //////////
        !            20: 
        !            21:        .data
        !            22: quot:  .long   0
        !            23: rem:   .long   0
        !            24: 
        !            25: numer  .equ    4
        !            26: denom  .equ    numer + 4
        !            27: 
        !            28:        .text
        !            29: 
        !            30:        .globl  div
        !            31:        .globl  ldiv
        !            32: 
        !            33: div:
        !            34: ldiv:
        !            35:        movl    %eax, numer(%esp)       / Dividend to EAX
        !            36:        cdq                             / Sign-extend to EDX:EAX
        !            37:        idivl   denom(%esp)             / Divide by divisor
        !            38:        movl    quot, %eax              / Store quotient
        !            39:        movl    rem, %edx               / Store remainder
        !            40:        movl    %eax, $quot             / Return pointer to result in EAX
        !            41:        ret
        !            42: 
        !            43: / end of libc/gen/i386/ldiv.s

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.