Dec 112017

Bit and Byte-wise operands for Visual Basic and other DLL capable Windows Products. | |||
---|---|---|---|

File Name | File Size | Zip Size | Zip Type |

BITS.DLL | 10170 | 5106 | deflated |

BITS.TXT | 5514 | 1660 | deflated |

DLLTEST.BAS | 977 | 196 | deflated |

DLLTEST.FRM | 1364 | 669 | deflated |

DLLTEST.MAK | 56 | 46 | deflated |

README.TXT | 5514 | 1660 | deflated |

TPCREAD.ME | 199 | 165 | deflated |

# Download File BITS_DLL.ZIP Here

## Contents of the README.TXT file

Bits.DLL was created to add some much need bit and byte-wise operands

to my Visual Basic applications ... they weren't hard to write, but

they did involve an investment in some serious technology (including

Borland C++ 3.0 Professional, Visual Basic and assorted books).

So here's the poop. If you use these for your own personal, non-commercial

use ... it's freeware.

If you're incorporating these routines in a commercial product, be it

over-the-counter, mail-order, shareware etc ... it requires my written

perssion depending on the scope of the product (though I figure any

big-time operation is probably going to write their own) ... in most

cases it'll be a swap with the shareware author, or a very nominal fee.

If there is an interest in these, I'll expand them, and will create

other dynamic link libraries as well (e.g. string handlers, quick

sorts and other low-level nasties that take a bazillion lines of BASIC

to every one or two lines of C or C++).

Here's how you reach me :

Slow way :

Constantine Peters

14409 Briarwood Terrace

Rockville, MD 20853

Here's the fast way :

ENIAC MIDI BBS, Constantine Peters Sysop (convenient ain't it ?)

(301)460-9134, FidoNet/Node 109/440, 9600bps USR HST, 24hrs

Here are the current functions as of this release .....

------------------------- ByteHigh ---------------------------

Usage : Declare Function ByteHigh Lib "BITS.DLL" (ByVal e1%) As Integer

i% = ByteHigh(e1%)

Parameters : Integer e1%

Return Value: Integer - Most significant/High order bit of e1%

Comments :

See Also : ByteLow, BitShiftLeft

------------------------- ByteLow ---------------------------

Usage : Declare Function ByteLow Lib "BITS.DLL" (ByVal e1%) As Integer

i% = ByteLow(e1%)

Parameters : Integer e1%

Return Value: Integer - Least significant/Low order bit of e1%

Comments :

See Also : ByteHigh, BitOr

------------------------- BitPack ---------------------------

Usage : Declare Function BitPack Lib "BITS.DLL" (ByVal eHi%, ByVal eLo%) As Integer

i% = BitPack(eHi%, eLo%)

Parameters : Integer eHi% - High Order (Most Significant) Byte

Integer eLo% - Low Order (Least Significant) Byte

Return Value: Integer - combined or "packed" value of High & Lo order bytes

Comments : The term "Bit Packing" actually refers to packing two bytes

in most modern instances, however, this old term has stuck.

Don't let it confuse you, we're packing two bytes.

See Also : ByteHigh, BitLow

------------------------- BitAnd ---------------------------

Usage : Declare Function BitAnd Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitAnd(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to AND

Integer e2% - mask, number to AND against e1%

Return Value: Integer - e2% AND masked against e1%

Comments : 1 AND 1 = 1 (true)

1 AND 0 = 0 (false)

0 AND 0 = 1 (true)

0 AND 1 = 0 (false)

I realize most true and false in BASIC is -1 for True

and 0 for False, but I will use this DLL in other

languages such as Actor 4.0

See Also : BitOr, BitXOr

------------------------- BitOr ---------------------------

Usage : Declare Function BitOr Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitOr(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to Or

Integer e2% - mask, number to OR against e1%

Return Value: Integer - e2% OR masked against e1%

Comments : 1 OR 1 = 1 (true)

1 OR 0 = 0 (true)

0 OR 0 = 1 (false)

0 OR 1 = 0 (true)

I realize most true and false in BASIC is -1 for True

and 0 for False, but I will use this DLL in other

languages such as Actor 4.0

See Also : BitAnd, BitXOr

------------------------- BitXOr ---------------------------

Usage : Declare Function BitXOr Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitXOr(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to XOR

Integer e2% - mask, number to XOR against e1%

Return Value: Integer - e2% XOR masked against e1%

Comments : 1 XOR 1 = 1 (false)

1 XOR 0 = 0 (false)

0 XOR 0 = 1 (true)

0 XOR 1 = 0 (false)

Treat XOR like "opposite day" in school, whatever is

true under OR is now false ("everything I'm telling you

is a lie" ... Harvey Mudd)

See Also : BitAnd, BitOr

------------------------- BitShiftLeft ---------------------------

Usage : Declare Function BitShiftLeft Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitShiftLeft(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to shift

Integer e2% - amount to shift e1%

Return Value: Integer - e1% shifted by the amount of e2%

Comments : This is an excellent operation for FAST multiplication

and/or division !

See Also : ByteHigh, BitShiftRight

------------------------- BitShiftLeft ---------------------------

Usage : Declare Function BitShiftLeft Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitShiftLeft(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to shift

Integer e2% - amount to shift e1%

Return Value: Integer - e1% shifted by the amount of e2%

Comments : This is an excellent operation for FAST multiplication

and/or division !

See Also : ByteHigh, BitShiftLeft

to my Visual Basic applications ... they weren't hard to write, but

they did involve an investment in some serious technology (including

Borland C++ 3.0 Professional, Visual Basic and assorted books).

So here's the poop. If you use these for your own personal, non-commercial

use ... it's freeware.

If you're incorporating these routines in a commercial product, be it

over-the-counter, mail-order, shareware etc ... it requires my written

perssion depending on the scope of the product (though I figure any

big-time operation is probably going to write their own) ... in most

cases it'll be a swap with the shareware author, or a very nominal fee.

If there is an interest in these, I'll expand them, and will create

other dynamic link libraries as well (e.g. string handlers, quick

sorts and other low-level nasties that take a bazillion lines of BASIC

to every one or two lines of C or C++).

Here's how you reach me :

Slow way :

Constantine Peters

14409 Briarwood Terrace

Rockville, MD 20853

Here's the fast way :

ENIAC MIDI BBS, Constantine Peters Sysop (convenient ain't it ?)

(301)460-9134, FidoNet/Node 109/440, 9600bps USR HST, 24hrs

Here are the current functions as of this release .....

------------------------- ByteHigh ---------------------------

Usage : Declare Function ByteHigh Lib "BITS.DLL" (ByVal e1%) As Integer

i% = ByteHigh(e1%)

Parameters : Integer e1%

Return Value: Integer - Most significant/High order bit of e1%

Comments :

See Also : ByteLow, BitShiftLeft

------------------------- ByteLow ---------------------------

Usage : Declare Function ByteLow Lib "BITS.DLL" (ByVal e1%) As Integer

i% = ByteLow(e1%)

Parameters : Integer e1%

Return Value: Integer - Least significant/Low order bit of e1%

Comments :

See Also : ByteHigh, BitOr

------------------------- BitPack ---------------------------

Usage : Declare Function BitPack Lib "BITS.DLL" (ByVal eHi%, ByVal eLo%) As Integer

i% = BitPack(eHi%, eLo%)

Parameters : Integer eHi% - High Order (Most Significant) Byte

Integer eLo% - Low Order (Least Significant) Byte

Return Value: Integer - combined or "packed" value of High & Lo order bytes

Comments : The term "Bit Packing" actually refers to packing two bytes

in most modern instances, however, this old term has stuck.

Don't let it confuse you, we're packing two bytes.

See Also : ByteHigh, BitLow

------------------------- BitAnd ---------------------------

Usage : Declare Function BitAnd Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitAnd(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to AND

Integer e2% - mask, number to AND against e1%

Return Value: Integer - e2% AND masked against e1%

Comments : 1 AND 1 = 1 (true)

1 AND 0 = 0 (false)

0 AND 0 = 1 (true)

0 AND 1 = 0 (false)

I realize most true and false in BASIC is -1 for True

and 0 for False, but I will use this DLL in other

languages such as Actor 4.0

See Also : BitOr, BitXOr

------------------------- BitOr ---------------------------

Usage : Declare Function BitOr Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitOr(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to Or

Integer e2% - mask, number to OR against e1%

Return Value: Integer - e2% OR masked against e1%

Comments : 1 OR 1 = 1 (true)

1 OR 0 = 0 (true)

0 OR 0 = 1 (false)

0 OR 1 = 0 (true)

I realize most true and false in BASIC is -1 for True

and 0 for False, but I will use this DLL in other

languages such as Actor 4.0

See Also : BitAnd, BitXOr

------------------------- BitXOr ---------------------------

Usage : Declare Function BitXOr Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitXOr(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to XOR

Integer e2% - mask, number to XOR against e1%

Return Value: Integer - e2% XOR masked against e1%

Comments : 1 XOR 1 = 1 (false)

1 XOR 0 = 0 (false)

0 XOR 0 = 1 (true)

0 XOR 1 = 0 (false)

Treat XOR like "opposite day" in school, whatever is

true under OR is now false ("everything I'm telling you

is a lie" ... Harvey Mudd)

See Also : BitAnd, BitOr

------------------------- BitShiftLeft ---------------------------

Usage : Declare Function BitShiftLeft Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitShiftLeft(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to shift

Integer e2% - amount to shift e1%

Return Value: Integer - e1% shifted by the amount of e2%

Comments : This is an excellent operation for FAST multiplication

and/or division !

See Also : ByteHigh, BitShiftRight

------------------------- BitShiftLeft ---------------------------

Usage : Declare Function BitShiftLeft Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer

i% = BitShiftLeft(e1%, e2%)

Parameters : Integer e1% - exponent 1, number to shift

Integer e2% - amount to shift e1%

Return Value: Integer - e1% shifted by the amount of e2%

Comments : This is an excellent operation for FAST multiplication

and/or division !

See Also : ByteHigh, BitShiftLeft

December 11, 2017
Add comments