Annotation of coherent/d/PS2_KERNEL/io.286/ffcopy.s, revision 1.1

1.1     ! root        1: ////////
        !             2: /
        !             3: / void ffcopy(from_fp, to_fp, count)
        !             4: / faddr_t from_fp, to_fp;
        !             5: / int count;
        !             6: /
        !             7: / Copy count bytes from from_fp to to_fp.
        !             8: /
        !             9: / Here is the stack after initial "push bp":
        !            10: /
        !            11: /      12(bp)  count
        !            12: /      10(bp)  FP_SEL(to_fp)
        !            13: /      8(bp)   FP_OFF(to_fp)
        !            14: /      6(bp)   FP_SEL(from_fp)
        !            15: /      4(bp)   FP_OFF(from_fp)
        !            16: /      2(bp)   return IP
        !            17: /      0(bp)   old bp
        !            18: /
        !            19: ////////
        !            20: 
        !            21: ffcopy_:
        !            22:        push    bp
        !            23:        mov     bp, sp
        !            24:        push    es
        !            25:        push    di
        !            26:        push    ds
        !            27:        push    si
        !            28: 
        !            29:        lds     si, 4(bp)       / from_fp  to DS:SI
        !            30:        les     di, 8(bp)       / to_fp to ES:DI
        !            31:        mov     cx, 12(bp)      / rep count to CX
        !            32:        rep
        !            33:        movsb
        !            34: 
        !            35:        pop     si
        !            36:        pop     ds
        !            37:        pop     di
        !            38:        pop     es
        !            39:        pop     bp
        !            40:        ret

unix.superglobalmegacorp.com

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