|
|
1.1 ! root 1: head 1.1; ! 2: branch ; ! 3: access ; ! 4: symbols ; ! 5: locks bin:1.1; strict; ! 6: comment @@; ! 7: ! 8: ! 9: 1.1 ! 10: date 92.10.01.12.05.14; author bin; state Exp; ! 11: branches ; ! 12: next ; ! 13: ! 14: ! 15: desc ! 16: @@ ! 17: ! 18: ! 19: ! 20: 1.1 ! 21: log ! 22: @Initial revision ! 23: @ ! 24: text ! 25: @/////// ! 26: / ! 27: / shlq( w0, w1, w2, w3, count ) - shift left a quad word. ! 28: / ! 29: / Input: w0..w3 = quad word to be shifted. ! 30: / count = number of bits to shift by. ! 31: / ! 32: / Action: Shift left quad word w0..w3 by count bits. ! 33: / ! 34: / Return: Shifted result left in _fpac_. ! 35: / ! 36: //////// ! 37: .globl shlq_ ! 38: .shri ! 39: ! 40: shlq_: push si ! 41: push di ! 42: push bp ! 43: mov bp,sp ! 44: mov ax,8(bp) ! 45: mov dx,10(bp) ! 46: mov si,12(bp) ! 47: mov di,14(bp) ! 48: mov cx,16(bp) ! 49: jcxz 1f ! 50: ! 51: 0: shl ax,$1 ! 52: rcl dx,$1 ! 53: rcl si,$1 ! 54: rcl di,$1 ! 55: loop 0b ! 56: ! 57: 1: mov _fpac_+0,ax ! 58: mov _fpac_+2,dx ! 59: mov _fpac_+4,si ! 60: mov _fpac_+6,di ! 61: pop bp ! 62: pop di ! 63: pop si ! 64: ret ! 65: @
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.