
  Welcome to DOS32(by Adam) and utils(by Peter Quiring).

Table of contents:
  pg 1  -  Must read!
           Which assembler is better?
  pg 2  -  Functions
  pg 3  -  How to compile
  pg 4  -  How things work etc.


pg 1  -  Must read!

DOS32V3.3 was created by Adam Seychell and is free under his terms
(very simple terms) please read his terms.

  For starters you need the following knowledge:
   - assembly language (including PMODE stuff)
   - how to use DOS32 stuff like called interrupts and RM ints. ETC.
   Just read some files within the c:\dos32 directory.  Do not try
and remember them totally because I have many routines to make it easy
just know what's going on for starters.

  The best way to learn what you need to know is by looking at some examples
but come back soon to read this document.  YOU MUST!!



Which assembler is better?
--------------------------

  I prefer the use of MASM for all my stuff but TASM should be usable
for you own projects.  Although you will not be able to alter and re-complie
the source code because it takes advantage of powerful MASM stuff.  But MASM
is not the best as you can find out for yourself in MASMBUGS.TXT also
included.  I BELEIVE(totally different from "I am sure") if you have TASM
versions before 3.1 you may as well start looking for a better assembler (they
are too buggy in 32bit code).


How to use "strings" in ASM
---------------------------

  One major thing you must understand is that thru some pre-assembling
with a utility I made the following is now possible in assembly language.
  invoke printf,"Hello, world!"

I've made a utility that looks for double quote strings, places them in a
special data segment and puts and offset to the string in place of the string.
This means that the following is also possible.
  mov ah,9
  mov edx,"Error 100:out of RAM"
  int 21h

  The utility runs thru all files to be complied and makes one massive file
called "asm.tmp".  It also creats another file called "_str_.tmp" with all
the strings in a data segment.  To have these files compiled together the
_str_.tmp is included like this "#include _str_.tmp" so that when my util
sees the include it won't try and go into it but just removes the # char.
If any of this is confusing just look at the source code "pasm.c".

What I need to improve on pasm:
  - merge duplicate strings

I have made many add-ons routines which are automatically linked in thru
the batch files.  Please continue reading "func.txt" for a list
of functions available.


If you need help with PMODE programming go to my homepage and view my
tutorials...

http://globalserve.on.ca/~subdeath

