12/31/00 V0.01

 I have made the main core of the intel assembler, (or, remade) this time,
it's in assembly. The loading of the lines (getline) is slow, because it
loads one line at a time rather then a larger chunk, and then verifying.
 I will update this some time after i fix it all.. I may be able to delete
a whole section (64K) But, does it really matter?

 I also have started on the instruction identifaction algorythmn, to make it
smaller, as well as faster, and easier to update, i am making it a library
format. I will explain how it works some time later. I suggest not to touch
it yet (incomplete)

 Primary functions include:

 1) Loading Assembly file, and filtering out empty lines and comments.
 2) Uppercase everything (except for within the "'s)
 3) Identify and use labels (also prepairing, based also on CPX)

 Coming functions:

 1) Identifying the Instructions (with extensive information)
 2) adding more label support (+, -)
 3) Adding more number support (getnum will add and subtract as well)
 4) Includes    (allowing the Includes, also, a special Instruction, INCLUDE)
 (INCLUDE will tell it where to paste all the include data, so the rest of
 the data (at the end, labels?) Are un-effected)
 5) update every CPX on every label ($)
 6) Identify and use $


 List of Reserved Label names, and information:

 DB - Direct Byte, Straight input (built in) (text allowed)
 DW - Direct Word, Straight input
 DQ - Direct Quad, Straight input
 DDW- Direct Double Word (same as quad)

  - Location to paste includes.
 :
 A special set, you can put in a number (computer version, 386 ect)

 16 BIT - Native 16 bit instructions
 32 BIT - Native 32 bit instructions
 
 This tells it how many loops it must preform before the final phase.
 (minimum of 1)

 
 Saves a text for the FASTFILE (for comparing, so you don't make faulty
software, should the text fail to match, it will display an error, and skip
the fast file, resuming normally (a little slower, but will work))

1/10/01 v.02
 Working on the instruction identifyer, this is no easy task. I have also
come up with an idea for software compadibility, and extending the sets,
slightly.. This will save SOME programming time, and a few lines of code,
Technically, they are Macro's, but as long as they are within 16 bytes, and
saves everyone from having to write too much to do the same thing, i am
happy with it. Best part, is they don't take up that much more space, so you
can write software for 386+, and then compile it for 8086+, and it will
still run. (i don't think there are THAT many people that use it that much)

 Also, a slight 'Extended' Set, is allowing segment/segment manipulations, and
a few other tasks. But these will get big after a while, unless i come up
with a new method to encode it, which makes my work VERY slow.

 Anyway, i have the single instructions completed, for now i will finnish
the main core, after i touch up the code.

1/26/01 v.03
 Some updates..

 I have added complete Addition and subtraction with labels. You can now do
that to all labels, instead of CPX. Also, i put a little shortcut in, and
when you work with CPX, it will recodnize it, and update it accordingly. So
that's working. (+ -)

 I found a bug in my Instruction Identifyer, and i have fixed it. Right now
it only does the single instructions, without any input data, but that will
fix soon enough. I will have a beta out soon enough.

 I've also added Debug printing.. I haven't quite got it finnished, but a few
more minor changes, and the core is complete.

 What i need to add in:
 Addition and subtraction in the number identifyer. This will allow a lot of
flexibility. Once i get it working anyway.
 And updated Getline, to get 1 line, but this way MUCH faster, it will take
some time.

 Instruction Identifyer:

 1 and 2 data in's to complete the list.
 Identifying jumps, and other bits
 Section Identifyer completing (bugged)
 
 The program is on the way :)
2/3/01 v.04
 I have added in the new GETLINE command, built to be faster, and more
effective. Only a touchup required for it to be ready.

 Also, in the hew GETLINE, it supports UNICODE loading.. from UNICODE, and
ASCII. This allows for a stable, useful, translator. (before using GETLINE,
use GETLINE_CLEAR which will prepair a 64K block for use with getline. Each
64K block will work with 1 file(Buffer?))

 I have added the special controls in, and i have a beta of the program
working. Adding in are various tools, but i have overruled a new set for
jumps. Instead i have devised a smaller, more complete routine, that will
work for the time being. in fact, it should work reguardless..

 A few bugs, in the PART identifyer (identifies the first and second data
parts) and it works now.. will identify 0,1 and 2 parts. (3 parts are special,
i might build one, should i understand HOW it works..)

NOTE: INCLUDE, This special instruciton will include the INCLUDE information.
(special run) Also, ALL information directly involving 'Structures' will start
to be supported. I will supply rules for the structures and includes.

2/5/01 v.05
 More work on the instruction Identifyer, and also. I have rebuilt the entire
GETLINE command. This new command, is just bigger. It also works a whole 64K
section for a file buffer.. This way, in basic terms.. Is faster, because
it doesn't keep requesting just 1 bytes.. instead, finds the line, and
copies it.. All of it isn't there? oh well...
 To make it easier, i have changed the instruction set part in for the set
you wish to use.. You add a period in now. (like Microsoft's one.. so it's
compadible, and you get the feel of it..)

3/5/01 V.06
 Fixed a bug, and i have the main of the instructions with 1 input in working
but needs work. The bug was not printing the whole line of it's current
information, as well as finding a bug in my V.23 compiler. (can't fix yet)
 I also have the whole instructions (text only) working. I can do basic
programming for tests now, but they don't need a lot of work. so the SET is
done for now, supporinting about 60 instructions (single, MMX, FPU?, and
others)

5/18/01 V.07
 Working in on some of the instruction set, while adding in parts for Register
access. The Identifying parts are done, as well as the registers in, for the
set file. I have tested, and it works well. There seems to be 2 bugs present
that make a large difference. First, is if you leave a label empty (without
and instruction immedately following) the last instruction will repeat.

 The second bug, has to do with the Call (jumps?). But a bit more is done.
The special instructions of DB has to be entered in manually for it's own
section (being built in) as well as specials need to be finnished.

5/19/01 V.08
 Completed, Several bugs have come forth, in a beta test, and i have found
and removed the most of them. Including a number bug, where it was searching
for the wrong thing. And also, the num_type check, if you have WORD or BYTE
in, it will have that overwritten.. now if it's unused, it will add it. All
number computatiions (if not locked) will be flexible now, based on the number
before it creates the code. Also, several instructions were added.

5/21/01 V.09
 Fixed the last of the original bugs, and the 'Exact' formula is working.
Other parts are being put in and tested as of yet. The empty label is now
fixed. Negatives are fixed, and negative identifacation, is working
(and updated), for now. Registers are up and running, with their exacts.
What's left is the memory (the hardest part). Afterwards, all single input
instructions will be added in.

5/21/01 V.10
 Some more bugs found. Based on the instruction set and database. Several new
checkers are in place, and will notify when the database holds bad codes. The
original 'standalone' instructions had a couple bugs, and needed a major fix.
The 'Opinclude' is now limited to the first 3 for those (rarely used) but
otherwise works fine. As well as an update to the code for it, where it no
longer just adjusts it if it's 32 bit, but also for 16 bit (same as single
and dual inputs).

 Most of the Single instructions (1 input) have been added, but they lack the
power of memory access (yet) which will be done soon. Backups of special
'exact' instructions have been made, until it's complete. And the general
ones are left on (also alternate encodings), which will work until it's all
complete. In the set file, i had to change a bunch, and fix my own errors.

 I have also added in a special encoding for the single instructions (1 input)
When it's doing a register, the space that was reserved for numbers only, was
opened up, allowing lots of flexible programming. Rather then having to add
tons of exacts, it will free up the special encodings for the single
instructions. When complete, i will take on the challenge of the duals.

5/22/01 V.11
 Another bug found. This bug simply, was wrong. Every time the database was
searched, the new instruction (reguardless if it was used) was saved as the
new information. Should it be skipped through (unknown instruction) it might
write a 32bit change.. Now it will not save it until it's properly written in.

5/25/01 V.12
 Getnum has new codes in it to understand the end of the number. And adding
power to the DB, DW and DQ/DD commands, for internal instructions. So far
they understand, and computate numbers. Also input's Text, but requires the
DUP half of the instruction, in the following format:
 DUP(datasize), number/text
    Ex. DB DUP(255),45
 OR Ex. DB DUP(255),"TEST" (will loop TEST until 255 characters are met)
But some updates still need to be done. 

5/26/01 V.13
 But in REPLACE found. Two parts, if the value was 0, it was emptied, but
never replaced. Now works with 0's. Also, it only looked for the first one.
Now will find all matches and replace them.

5/27/01 V.14
 More bugs, Involved in the identify. There's a bug with an empty line
(just after using a label) i am going to fix it, since i haven't yet. As well
as some slight re-arangements will remove all error codes from getting involed
until they are ready. The direct code seems to work Flawlessly, and will
not be changed for now.

7/09/01 V.15
 Work on the memory is slow and tedious (as my assembler is slow right now)
but it's getting there. I have just completed the majority of the work, now
to add in the codes, and get it going. Memory_part Done.

7/14/01 V.15
 Memory functions are done, i've also fixed a distance32 bug, having set in
the wrong values. Now they will read right. In a couple days, all single
instructions will be entered.

7/16/01 V.16
 Well, in the process of testing it, i ran it through it's own source code.
I ran into a problem, it died. When i looked in the temp file, a single line
was being re-written over and over and over again.. never ending.. I spend
plenty of time, when i looked at the next line, it was all spaces. That was
the bug, and now it's sifted out, looking for that before trying to use the
line as code. (annoying little devil). Anyway, the assembler is VERY fast :)

12/24/01 V.17
 Programming away. I am putting in the EXACTS for the two inputs, and
finnishing my incomplete work. Oh, all single instructions, and single in,
instructions are in. Time for this part to finnish the rest.

12/25/01 V.18
 Annoying bug found, In a previously 'done' section (1 input) i found a
Nasty little bug, when executed for a memory location, and then the memory
size wasn't right, it skipped the next instruction in listing.. that could
easily MISS the next one in line.. Which is what it did. Though i would
bring him up, he's a special one :) the bug is from when the ADD SI,4. When
then later, executed the instruction 'jmp near nomatch4' which adds 3, it
gets lost and skips the instruction. Bad way to go. Now it's fixed.

12/27/01 V.19
 More tidbits fixed. Also Started writing in the codes for the rest of the
2 input instructions. We will see how it comes out.

12/29/01 V.19
 Things to ADD:
 Local Loops: ".label" These are the same as labels, only you can have more
              then one of them. The closest one to CPX will be the one used.
              (in the code, will have locations (32bit) for all labels of
              the name of the local loop)

 Macros:      Preset assembly sets. Either in DB form, or in actual code.
              That is up to the user. (probably code) notes allowed too.

 Object code: I am not sure, depends on how the hooks work.

 Workaround:  ENTER (2 immediates), and for 2 regs, that are backwards.
              (the uncertain code (2 bits) may determine that information)

 Variables:   Variables, common in other systems without the label Colon :

 Setless:     Clear the SET segment before starting. (Without the set, stable)

 Signed mem:  Signed Memory (with immediates) need help. Probably the uncertain
              2 bytes will help here.

01/01/02 V0.20
 Workaround complete, along with a few other settings. Found another bug,
this bug has to do with the SETS file. if a SET file isn't there, the
program closes a wrong port, and tries to read from a bad port too. should
be fixed now.

01/02/02 V0.21
 Found the segment codes were wrong, they are fixed now. There's some bug
with larger files, that memory functions (with immediates) don't work right,
working at it now.

01/04/02 V0.23
 Fixing little details and bugs that needed to be fixed. Fixed a bug allowing
two exact registers should work right now. (or better anyways)
01/05/02 V0.26
 Fixed and added in for Jumps, if they aren't set, it tests them, and sets
then either SHORT, or NEAR. But it won't show in the code. (Nasty bugs there)
Anyways, got new versions of that going, other bugs gone, it works, and
other programs work too, with minor adjustments. V0.27 will be selfcomplete,
not needing a SET file, but the set file will have to be included in it.
(Reminds me of other features to add)

 Features added already: Setless, Signed Mem, 'undefined' jumps / calls,
fixed ENTER bug, and backwards codes.

01/05/02 V0.27
 Self sufficiant program, ready to run :) set files for special cases, if no
set file, it runs it's own :)

01/05/02 V0.29
 Added and finnished the FASTFILE Make, and FASTFILE read. Makes those
projects easier. Also got some emulated instructions in the IDTEST.

01/06/02 V0.30
 With a small experiment, saw that there was a problem in the 'undefined'
jumps, a chance that it could not work.. that's fixed now. And reconfigured
the Self Sufficiant part.

01/06/02 V0.33
 ! * # includes are in and working.
 *Filename: Immediate input, total from file. In this spot
 #Filename: Functions to get from
 !Function: Functions to get

01/07/02 V0.35
 Optimazation added. This coding will ignore the codes set forth by means of
SHORT and NEAR.. and choose the best of them, and of the instructions. For
Simple programming, make all jumps and calls NEAR, and then use this to
shrink when space is needed, or when you are done the final product.
 Also fixed a bug, and added more error codes in, in case functions aren't
put in right.

01/07/02 V0.36
 Fixed minor bug, and added a feature, that may never be used. But it's there.

01/07/02 V0.37
 Put Workaround for 3 inputs, the third being a number. (MMX)  

01/08/02 V0.38
 Fixed a few bugs, And added a few override, allowing certain MMX features to
come along. Also allowing the FPU to work easier. And found bugs there to.
That was hard work :)

01/08.02 V0.40
 Few bugs fixed, and the Distance for FPU functions are finnally working.
Extended options, so when you use 64bit, it changes the number function, so
it's X4 of what you put in. so here's the chart.
        Bytes       Bits
Input: 0 1 2 3    0 1  2  3
Not64: 0 1 2 4    0 8  16 32
Now64: 0 4 8 16   0 32 64 128

01/08/02 V0.41
 Added 64bit support to Single instructions, for FPU's.

01/09/02 V0.42
 Fixed small bug, for smaller files using the Optimize, it ensures that there
are a minimum of loops for the fixes.

01/10/02 V0.43
 Found a strange bug with the DUP() command. the bug wasn't obvious, unless
it tried to write at FFFD or higher, because that overrides the size, making
a segment overrun. (Major error) It now checks to see if it will do that,
and if so, will put them in place. they should fix themselfs, usually 0's
or negs, and will do fine :)

01/14/02 V0.44
 Well, i noticed a bug, that negs weren't fixed. I fixed it with a slight
change. If it's a neg, it will make 1 of the smallest size. (minimum) and
if it's larger then it should be? Well, it makes it at the max. simple as
that.

01/14/02 V0.45
 Removed annoy spaces from the : to the instruction in the 'debug' file, and
output.

01/14/02 V0.46
 Removed the spaces in the 'debug' file, from labels ends. took a little work

01/16/02 V0.47
 Finnished Specials (for now) Allowing Switching between 32 bit, 16 bit, and
different computer versions. Here they are now. (These will be fine, until
more are needed.)

 Computer Version   Ex: <.286>
 Originate location Ex: 
 16 Bit Processing  Ex: <16 BITS>
 32 Bit Processing  Ex: <32 BITS>

01/03/02 V0.48
 Fixed a bug with the segment overrides.. it would mix up labels, if they
ended with the segment similar. Example: test_cs:   this makes the error.
it should be fixed now.

01/03/02 V0.49
 Added QUICK feature. This is for when you want a program quicker out, and
will assume ALL jumps to be at least a near.

 MAJOR NOTE: When doing a FAST make or FAST use. Always assume it's going to
use Optimized. Otherwise there could be bugs. (Or unless otherwise specified)

02/09/02 V0.50
 Workarounds have been added for: ENTER. (which needed 2 numbers) the data
for now is perminently set for the first half to be a word. Second part is
the size for determined input. This allow enabled the 'exact memory' that i
delayed on working on. That is now in, and working.

02/18/02 V0.51
 Added check support for the TEST.SET file. Main concern is with
compadibility with the version. Some newer versions of the TEST.SET won't
work with older versions of the program, as other workarounds and features
are added. So the version will take effect, for what version is needed (at
least) for it to work.

 Also a note. FAR jumps have NOT beed added as of yet. When they are needed
I will add them.

04/11/02 V0.52
 Seems somewhere along the way i deleted my specials. Had to re-add them,
so here they are again. NOTE, this time around i've added another. SET
for the optional includes. Should be most interesting :)

04/21/02 V0.53
 Added the 'offset' for compadibility to the list. Although it does nothing
as far as i can understand. I've also added some more IMUL functions that
i didn't know about, and fixed a bunch of FPU functions, even though i don't
know how they work.

 Also fixed a BUNCH of codes in for the FPU single inputs, and added a few
more instructions.. Trying to make Workaround for 3 inputs REG,REG,CL. And
there's a new override which makes certain instructions complete and
a bit more proper.

 Also, Added Unicode Support. Instructions from the GETLINE were incomplete,
but now it is complete. It can take inputs from UNICODE, BUT make sure all
inputs are unicode as well. (includes, extra functions Ect) otherwise they
will be treated like unicode.

 To make it easier, i've added the Auto Unicode. This checks every line for
unicode. Will work on all files and compadibilities.

04/23/02 V0.54
 Floating point has been added to the program. Here's an update on some
things. (manuals usually say DEFINE, but i say DIRECT :P)

 DB - Direct Byte               (1)  Integer
 DW - Direct Word               (2)  Integer
 DQ - Direct Quad/Double Word   (4)  Float    8:24
 DD - Direct Quad/Double Word   (4)  Float    8:24
 DO - Direct Octal              (8)  Double  11:53
 DT - Direct Tbyte              (10) Tbyte   16:64

 I've fixed a small bug involving the numbers, the spaces should not give us
any more problems.

 The Floating points will fit themselfs into the size of the Defined/Direct
input. But all calculations are done in the largest possible, until they have
to be sized down. And, Rounding up is on, if you need something else, you
will have to re-compile the program. But remember, when you use FPU anywhere
else EXCEPT the Direct/Defined areas, it will automatically be reverted to
an Integer.

 Also for calculations, i have added the following ability in numbers which
is called 'I'. This tiny function overrides the floating point, and
re-assumes the number to be a Integer. It's merely an Inturrupt. Example:

 DD 10.1 * 5.3          ;this will be saved as the float 53.53
 DD 10.1 * 5.3I         ;Now it will be saved as a normal 53
 DD 10.1 * 5.3I+24      ;77 :P

 Merely having the period in the number will turn the whole calculation into
a floating point. Only by using I will it revert. Should the system lack a
FPU, the floating half is ignored, leaving it whole numbers.

 Another note, i have added the OFFSET into the code, which is then just
deleted. this way you don't have to change as much code to use it in the
assembler.

04/23/02 V0.55
 I've decided to make it easy on everyone, and put in the controls for ()'s.
So, you can now do calculations on the basis of ((5*5)/2)/5.0 and stuff
like that if you so choose. One little bit of information on it first.

 Like the other compilers, you need to put in <.387> to get it to work.

 AND, all levels are assumed to start at integer level. Example.

 I=Integer F=Float
 (I (I (I (I (I (I) I) I) I) I) I)
 This allows for some intereting coding. Want one level or two levels as
Floats? easy, just define it with the numbers (One of the numbers must
contain a period for the fraction/float).

 On three levels, it would work like this

 10+((3.5*11)/6.0)  I10+((F3.5*F11)/F6.0)I, simply, when it returns, it
returns the previous format with it. (Float or Integer)

 There's also error checking, so just be looking ok?

 Error8 has been turned off, but can be turned on by Recompiling the code.
Since it's a optimizing hint, rather than an error, but most of the time
is ignored. For now it is ignored.

04/26/02 V0.56
 Fixed a bug, ( will assume to be a number from now on. (Math calculations)

 Also, Macros are being added, the format is as follows.

%%MacroName %1,%2,%3    ;must start with % and number, and also,
;instructions here      ;commas are required

                mov bp,%1
                mov %1,%2

Macroname%M:    xlat    ;%M is a counter, when that is found, it will replace
                mov [bp],al     ;that with a number of the count
                inc bp          ;This will use the 'Unicode' translate, so
                mov al,[bp]     ;be ready for something silly looking
                loop Macroname%M
%%em                    ;Em is simply END MACRO. (Adapted from A86 compiler)

 So the important summery is these.
 %%Macro        ;define macro
 %M             ;counter
 %n             ;n is a number, for what placement it has in the macro
                ;can be anything (Even a text), within the db limits.
                ;1-9 limit

 %%EM           ;End Macro

 There is also a jump bug in the program somewhere. This bug is only there
when you compile it regularly. Probably because it doesn't have enough runs
to get it properly fixed. To resolve this, make it QUICK or OPTIMIZED.

04/28/02 V0.57
 Fixed major bugs in the Macro functions, should work better now.

04/29/02 V0.58
 Added codes for FAR jumps. Added a beta text, when you enable it. For Far
jumps as follows.

 JMP FAR 0000:0000h             ;correct 16 bit
 JMP FAR 0000:00000000h         ;correct 32 bit
 JMP FAR 0000h:0000h            ;INCORRECT 16 bit
 JMP FAR 0000h:00000000h        ;INCORRECT 32 bit

 don't bother with understanding much of it, they are numbers, and the
Segment (first part) will automatically follow the same format as the IP
half. If you do try to override it, the number will be incorrect. I
can't easily fix this, so i won't, sides it looks fine the way it is.

04/29/02 V0.59
 I've noticed a bug in the floating point. When you do a floating point,
ALWAYS start it with a number, even if that number is 0. IF you don't,
the program won't recodnize it properly, and could harm your system.

 I've added a failsafe for this, but that will help you with your coding.

04/30/02 V0.60
 Extreame difficulty adding FAR to some commands, including JMP and CALL.
But they should all be working now. Also, you can do QUAD jumps (32 bit
jmps, like a near) but the computer will automatically identify it as
before. But you can now put an override for the data input as well, don't
abuse it.

  JMP NEAR 100h ;regular near nump
  JMP QUAD 100h ;32bit near jump

 Also a little but noticed, when it switches for 32bit code, it's off by
one. It's a prefix addon, that wasn't figured. Now it's fixed.

05/01/02 V0.61
 Added in compadible functions from other assemblers. The following has
been added.

somedata        db      0,0,0   ;defined BYTES
somewhere2      dw      0,0,0   ;defined words
somewhere3      dq      0,0,0   ;defined Quads/Dwords Ect Ect.

 In the defined bytes, they now are predefined, if you don't override
them. This means, you don't have to define areas of memory you have
used these on. Example.

inc word [bx+memarea]   ;before
memarea: dw 1,2,3

inc [bx+memarea]        ;now
memarea dw 1,2,3

 The rule on this, is that two functions are taken in place when a memory
is used. If not, the location (memarea) just a number. If it is, it will
transfer the overridden Segment, as well as the TYPE it had. (Byte, Word
Quad Ect). (Segments are not enabled at this time, but have been tested)

 To make this work, the structure for the FASTFILE has been changed, and
therefore won't work on the earlier versions anymore. Here's the two
structures to look over.

 OLD:
 Textsize (1 byte)
 datasize (1 byte)
 Datearea (Datasize)

 NEW:
 Textsize (1 byte)
 datasize (1 byte)
 Extended (1 byte)
 Dataarea (Datasize)

 The extended is as follows. (downwards like in the idtest.asm)

 FAR      (1)   (Calls, NEAR is auto, FAR is for this.)
 Segment  (3)   (Segment override)
 Datasize (4)   (Multiples of 2) (0,1,2,4,8,16,32,64,128,256 Ect)

 0   000 0000
 FAR SEG DATA

 Structures will come in at another time.
 As will Procedures.

 Formatting to work with (once they are in)

PROC name SEG   ; Far if it takes a far jump to get to. Seg is what
;segment function you want to use with it (CS,DS,ES,FS,GS,SS)
ENDP name       ;once the ENDS is on, it just gives up on it all :P

STRUC name      ;Structure name
ENDS name       ;ends structure

05/02/02 V0.62
 Updated for the procs to work right, New rules have been added for
programming. VERY important.

 In every part of the program as it picks up labels, locations, data, Ect
it gives it code number to follow, counting the procedure it's in. The
main (starting one) is 1, the next one is 2, Ect. Up to 65536. (more then
enough for now)

 Anything with a value of 0, will be accessible by all the program.
Locations for the most part are the peices that need to require the number
to be identicle. Anything with a prefix (Data set/change) will be set
with the value 0. ALSO, any defined data in the new types will be set to
0 as well.

 And one more, The label location for the calls for the procedures will be
valued 0 as well. For internal structure, this is important, anything else
doesn't matter.

 So. Here's a quick overview.

^blah1 5        ;value 5, accessible by whole program
%blah2 100      ;vale 100, accessible by whole program
proc blah3      ;location, accessible by whole program
blah4:          ;location, accessible only in blah3
endp            ;end of procedure
blah5 db 0,0,0  ;location & type identify, accessible by whole program.

05/03/02 V0.63
 Found some interesting bugs, and fixed them, involving the Direct input DUP
the LabAdd (Adding labels) and a few other gizmos. Also a note, for Version
V0.56, you may want to compile it with the previous GETLINE CX lines, and
then do the new lines after that, just a little thing i happened to notice.

 Other bugs involving the PROC have been taken care of, tell me of the bugs.

05/04/02 V0.64
 Found some bugs present in the 32bit coding for the memory, and for numbers.
I had known there were a few bugs in that area, but after looking more in
depth, i found one code to be a simple mistake, and another i just added
a few lines in, and changed a little code. Both should be working properly
now.

05/08/02 V0.65
 Strange bug, i had to work with IDTEST a lot to get far calls so i could
do some work with the XMS drivers. But then they screwed up all the calls,
so here's the fix for them. All calls should work properly now.

    Source: geocities.com/siliconvalley/haven/2635

               ( geocities.com/siliconvalley/haven)                   ( geocities.com/siliconvalley)