home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- -------------------------------------
- M O N T G O M E R Y S O F T W A R E
- -------------------------------------
-
- P R O G A I D
-
- V e r 1 . 1
-
- b y
-
- B I L L D I C K S O N
-
-
-
-
-
- 1. PROGRAM SUMMARY:
-
- Progaid is a 32 bit multi-function programmers
- calculator for the IBM-PC/XT/AT and compatibles The
- registered Copywrited version is memory resident and the
- demo Shareware version is not. The only other
- difference between the two is the inclusion of the
- program title screen before the help screen. If you
- find that this package fills your needs then I recommend
- that you send $30.00 for the memory resident version.
- The demo version can be given freely to others in the
- shareware spirit but the memory resident version is NOT
- to be given to any other person, as it is neither share-
- ware nor public domain. It is a commercial product. A
- contribution of $10 or more is appreciated if you use
- this shareware version.
-
-
- 2. SCREEN LAYOUT:
-
- There are 5 groups of 3 32-bit words. The words
- are numbered 1, 2 and 3, from top to bottom. The upper
- left group is in binary, shaded in hex-char format. The
- upper right shaded group is in hexadecimal format. The
- lower left group is in signed decimal format. The lower
- middle group is unsigned decimal and the lower right
- group is in octal format. The line below these groups
- is a status line with the following definitions. On a
- color monitor the selected word will be in white. Users
- with a monochrome monitor will have to look at the
- status line to see which <1 or 2> is the selected word.
-
- A. NUMBER BASE for data input. (16, 10, 8)
- B. SELECTED WORD for data entry and single
- operand instructions.
- C. Screen CHARACTER read from the low order byte
- of the selected word.
- D. Character in the ATTRIBUTE (color) code of
- the low order byte of the selected word.
- E. A MNEMONIC for the last operation performed.
-
- When numeric data is entered (in selected base)
- there is an additional line that appears with a cursor
- for entering data to the SELECTED word. The 3 words in
- each group are numbered 1-3, from top to bottom. Word 3
- is a results word and cannot have data entered directly.
- The other 2 words are used as the operands for
- functions and will accept data when selected.
-
-
-
- 3. DATA ENTRY:
-
- Data entered will always be entered into the
- selected word in the selected base. Entering data in
- the selected base is simply to start typing the number.
- If the character is valid for the selected base, the
- data prompt line will appear with a cursor. There is no
- restriction on character case for hex input. The input
- routine will only allow valid characters for the current
- number base up to a maximum character count as dictated
- by the base you are in. (dec=10, hex=8, oct=11 and
- bin=32). Two special data input modes are specified
- when the characters <%> and <-> are hit. <%> opens data
- input in binary regardless of the current base. <-> hit
- when IN DECIMAL BASE will input signed numbers otherwise
- unsigned decimal input defaults. <backspace> is the only
- editing key valid when entering data. A new feature is
- that when data is entered into the selected word the the
- selected word # will be toggled. This is more logical
- then having to enter data and change the selected word
- every time. If you want the selected word to remain as
- it was before data entry, just hit <enter> twice. Any
- time either of the <enter> keys are hit the selected
- word # will toggle <1 <--> 2>.
-
-
-
- 4. FUNCTIONS:
-
- With a few exceptions, which will be noted,
- functions work as follows in the four groups below.
-
- 1. SINGLE OPERAND FUNCTIONS such as not, neg,
- etc. work like this: function is performed
- on the selected word and the result is stored
- in word #3. The selected word is unchanged.
-
- 2. DOUBLE OPERAND FUNCTIONS such as and, or,
- add, etc. work as such: (word #1) function
- (word #2) --> (word #3)
-
- 3. SPECIAL FUNCTIONS are used to change number
- BASE, change selected WORD, HELP, and QUIT
- and do exactly what they imply.
-
- 4. The following functions work differently then
- the functions in groups 1 and 2. SEXB and
- SEXW are used to extend the sign bit of the
- selected word. SEXB extends the sign of the
- low order byte of the selected word to 32
- bits and SEXW extends the sign of the low
- order word to 32 bits. Both of these
- functions are done directly to the selected
- word. <1-2>, <1-3> and <2-3> swap the words.
- eg: (word #1) <--> (word #2). SCod is a way
- to view IBM-PC keyboard scancodes exactly as
- they are received from the keyboard. The
- scancode is put into the low order 16 bits of
- the selected word. Use of <shift-PrtSc> or
- <cntrl-PrtSc> will function as they usually
- do. <cntrl-c> and <cntrl-break> will return
- 0 as the memory resident driver strips it
- from the keyboard stream. The Inc and Dec
- functions work directly on the selected word.
-
-
- 5. FUNCTION KEYS:
-
- <F1> Help Self explanatory!
- <F2> Base Toggles the input base (16 -->10 -->8)
- <F3> Add (Wrd1)+(Wrd2) -->(Wrd3)
- <F4> Neg -(Sel Wrd) -->(Wrd3)
- <F5> Inc (Sel Wrd)+1 -->(Sel Wrd)
- <F6> Shr * (Wrd1)Shift Right(Wrd2) -->(Wrd3)
- <F7> Or (Wrd1)OR(Wrd2) -->(Wrd3)
- <F8> And (Wrd1)AND(Wrd2) -->(Wrd3)
- <F9> Mul (Wrd1)*(Wrd2) -->(Wrd3)
- <F10> 1-3 (Wrd1) <--> (Wrd3)
-
- WITH SHIFT KEY:
-
- <F1> Quit Self explanatory!
- <F2> Seg (LoWord_Wrd1 * 16)+(LoWord_Wrd2) -->(Wrd3)
- <F3> Sub (Wrd1)-(Wrd2) -->(Wrd3)
- <F4> Not 1's complement(Sel Wrd) -->(Wrd3)
- <F5> Dec (Sel Wrd)-1 -->(Sel Wrd)
- <F6> Shl * (Wrd1)Shift Left(Wrd2) -->(Wrd3)
- <F7> Xor (Wrd1)Xclusive Or(Wrd2) -->(Wrd3)
- <F8> 1-2 (Wrd1) <--> (Wrd2)
- <F9> Div (Wrd1)/(Wrd2) -->(Wrd3)
- <F10> 2-3 (Wrd2) <--> (Wrd3)
-
- WITH ALT KEY:
-
- <F1> Mod (Wrd1) modulus (Wrd2) -->(Wrd3)
- <F2> RolB * (Wrd1)Rotate left byte(Wrd2) -->(Wrd3)
- <F3> RolW * (Wrd1)Rotate left word(Wrd2) -->(Wrd3)
- <F4> RolL * (Wrd1)Rotate left long(Wrd2) -->(Wrd3)
- <F6> RoRB * (Wrd1)Rotate right byte(Wrd2) -->(Wrd3)
- <F5> RorW * (Wrd1)Rotate right word(Wrd2) -->(Wrd3)
- <F6> RorL * (Wrd1)Rotate right long(Wrd2) -->(Wrd3)
- <F8> SexB @ sign extend byte(Sel Wrd) -->(Sel Wrd)
- <F9> SexW @ sign extend word(Sel Wrd) -->(Sel Wrd)
- <F10> Sum (Sel Wrd) + (Wrd3) --> (Wrd3)
-
- WITH CNTRL KEY:
-
- <F1> SCod scancode of next key(s) hit --> (Sel Wrd)
- <F2> Peek (Wrd3) = long word pointed to by segmented
- address in selected 32-bit word.
-
- <enter> Toggles the selected word # (1 <--> 2)
-
- * Wrd2 contains the number of shifts or rotates. Max # is
- 7 for byte, 15 for word, and 31 for long. A mask is
- used on word two if it is greater then the max.
-
- @ Works on low order byte and word. Done directly to
- the operand.
-
-
- 6. A few notes on the history and development of
- PROGAID may be interesting. PROGAID was originally
- concieved on a TRS-80 Color Computer and written in
- interpreted BASIC. It was a bear in basic and I decided
- on a complete re-write for the IBM-XT. I wrote the
- program, memory resident driver for .exe, window
- routines and all user librarys on the Microsoft C
- Optomizing Compiler Ver 5.0 and the Microsoft Macro
- Assembler. I thought of using Quickbasic 4.0 but only
- for a fleeting instant. C is ideally suited for
- handeling these data types and operations. The window
- is as basic as possible so as to cover as little as
- possible of the programmers file when used in the memory
- resident mode. I have tested the memory resident
- version with Procomm, PC-Write, Quickbasic 3.0 and 4.0,
- Quick C Ver 1.0, PC-File Plus, VP-Planner, Codeview,
- Debug and GW-Basic and it functions perfectly. If
- PROGAID fails with a software package it is probably the
- fault of that package snatching the keyboard vector and
- not allowing lower level TSR's access to the vector. Any
- TSR loaded on top of progaid that doesn't require
- <left_shift-ALT> as a wakeup key or interrupt 67h as a
- vector, should function well if written properly. This
- program should run on IBM-XT's, PC's, AT's, and
- compatibles with a CGA or monochrome display adaptor. It
- can not however be used with Microsoft Windows! A second
- Memory Resident version is supplied when you register
- that uses Int 65h and <Left-Shift><Right-Shift> as a
- wakeup key in case Int 67h or <Left-Shift><Alt> conflict
- with other programs you may be using.
-
-
-
- 7. This product is the result of many hours of work
- and if more development goes into this piece of software
- and others as well, depends on users contributing via
- the shareware concept. For $30.00 you will receive the
- memory resident versions of PROGAID with more complete
- documentation. Pa. residents need not add sales tax as
- the price is reduced exactly the amount of the 6%.
- Please feel free to distribute this arced file with no
- changes made to any person or BBS. If you use this
- version and find it useful but have no need of the
- memory resident version then a contribution of $10 or
- more would be appreciated. I repeat THIS IS NOT
- FREEWARE OR PUBLIC DOMAIN SOFTWARE. It is copywrited
- and requires a fee if used for a period of more then 30
- days.
-
-
- Make check payable to William A. Dickson!
-
-
- Address: Montgomery Software
- 2828 Egypt Rd. #D101
- Audubon, Pa 19407
-
- Atten: Bill Dickson
-
-
- Phone: 215-666-6554
-
- Messages can be left for me at HOMER BBS 215-269-9592!
- Registered users will receive free support and upgrades
- at a modest handeling fee.
-