Annotation of coherent/b/lib/libc/gen/i8086/div.m, revision 1.1

1.1     ! root        1: //////////
        !             2: / i8086 general utilities library.
        !             3: / div()
        !             4: / ANSI 4.10.6.2.
        !             5: / Division and remainder.
        !             6: //////////
        !             7: 
        !             8: #include "larges.h"
        !             9: 
        !            10: //////////
        !            11: / #include <stdlib.h>
        !            12: / div_t div(int numer, int denom)
        !            13: /
        !            14: / Compute quotient and remainder of 'numer' by 'denom'.
        !            15: / Return a pointer to a statically allocated div_t object.
        !            16: //////////
        !            17: 
        !            18:        .prvd
        !            19: quot:  .word   0
        !            20: rem:   .word   0
        !            21: 
        !            22: numer  =       RASIZE
        !            23: denom  =       2 + numer
        !            24: 
        !            25:        .shri
        !            26:        .globl  div_
        !            27: 
        !            28: div_:
        !            29:        mov     bx, sp
        !            30:        mov     ax, Pss numer(bx)       / Dividend to AX
        !            31:        cwd                             / Sign-extend to DX:AX
        !            32:        idiv    Pss denom(bx)           / Divide by divisor
        !            33:        Map     (ds, bx, $@quot)
        !            34:        mov     bx, $quot               / Pointer to result to DS:BX
        !            35:        mov     (bx), ax                / Store quotient
        !            36:        mov     2(bx), dx               / Store remainder
        !            37: #if    LARGE
        !            38:        mov     dx, ds
        !            39: #endif
        !            40:        mov     ax, bx                  / Return pointer in DX:AX
        !            41:        Gret
        !            42: 
        !            43: / end of div.m

unix.superglobalmegacorp.com

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