Annotation of coherent/b/lib/libc/old/shlq.s, revision 1.1

1.1     ! root        1: ///////
        !             2: /
        !             3: / shlq( w0, w1, w2, w3, count ) - shift left a quad word.
        !             4: /
        !             5: /      Input:  w0..w3 = quad word to be shifted.
        !             6: /              count  = number of bits to shift by.
        !             7: /
        !             8: /      Action: Shift left quad word w0..w3 by count bits.
        !             9: /
        !            10: /      Return: Shifted result left in _fpac_.
        !            11: /
        !            12: ////////
        !            13:        .globl  shlq_
        !            14:        .shri
        !            15: 
        !            16: shlq_: push    si
        !            17:        push    di
        !            18:        push    bp
        !            19:        mov     bp,sp
        !            20:        mov     ax,8(bp)
        !            21:        mov     dx,10(bp)
        !            22:        mov     si,12(bp)
        !            23:        mov     di,14(bp)
        !            24:        mov     cx,16(bp)
        !            25:        jcxz    1f
        !            26: 
        !            27: 0:     shl     ax,$1
        !            28:        rcl     dx,$1
        !            29:        rcl     si,$1
        !            30:        rcl     di,$1
        !            31:        loop    0b
        !            32: 
        !            33: 1:     mov     _fpac_+0,ax
        !            34:        mov     _fpac_+2,dx
        !            35:        mov     _fpac_+4,si
        !            36:        mov     _fpac_+6,di
        !            37:        pop     bp
        !            38:        pop     di
        !            39:        pop     si
        !            40:        ret

unix.superglobalmegacorp.com

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