Line | |
---|
1 | #
|
---|
2 | ; $Header: /cvsup/minix/src/lib/ack/libp/bts.e,v 1.1 2005/10/10 15:27:46 beng Exp $
|
---|
3 | ;
|
---|
4 | ; (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
---|
5 | ;
|
---|
6 | ; This product is part of the Amsterdam Compiler Kit.
|
---|
7 | ;
|
---|
8 | ; Permission to use, sell, duplicate or disclose this software must be
|
---|
9 | ; obtained in writing. Requests for such permissions may be sent to
|
---|
10 | ;
|
---|
11 | ; Dr. Andrew S. Tanenbaum
|
---|
12 | ; Wiskundig Seminarium
|
---|
13 | ; Vrije Universiteit
|
---|
14 | ; Postbox 7161
|
---|
15 | ; 1007 MC Amsterdam
|
---|
16 | ; The Netherlands
|
---|
17 | ;
|
---|
18 | ;
|
---|
19 |
|
---|
20 | ; Author: J.W. Stevenson */
|
---|
21 |
|
---|
22 | mes 2,_EM_WSIZE,_EM_PSIZE
|
---|
23 |
|
---|
24 | #define SIZE 0
|
---|
25 | #define HIGH _EM_WSIZE
|
---|
26 | #define LOWB 2*_EM_WSIZE
|
---|
27 | #define BASE 3*_EM_WSIZE
|
---|
28 |
|
---|
29 | ; _bts is called with four parameters:
|
---|
30 | ; - the initial set (BASE)
|
---|
31 | ; - low bound of range of bits (LOWB)
|
---|
32 | ; - high bound of range of bits (HIGH)
|
---|
33 | ; - set size in bytes (SIZE)
|
---|
34 |
|
---|
35 | exp $_bts
|
---|
36 | pro $_bts,0
|
---|
37 | lal BASE ; address of initial set
|
---|
38 | lol SIZE
|
---|
39 | los _EM_WSIZE ; load initial set
|
---|
40 | 1
|
---|
41 | lol LOWB ; low bound
|
---|
42 | lol HIGH ; high bound
|
---|
43 | bgt *2 ; while low <= high
|
---|
44 | lol LOWB
|
---|
45 | lol SIZE
|
---|
46 | set ? ; create [low]
|
---|
47 | lol SIZE
|
---|
48 | ior ? ; merge with initial set
|
---|
49 | inl LOWB ; increment low bound
|
---|
50 | bra *1 ; loop back
|
---|
51 | 2
|
---|
52 | lal BASE
|
---|
53 | lol SIZE
|
---|
54 | sts _EM_WSIZE ; store result over initial set
|
---|
55 | ret 0
|
---|
56 | end ?
|
---|
Note:
See
TracBrowser
for help on using the repository browser.