|
|
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.