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