Rev | Line | |
---|
[9] | 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.