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