|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.