PASM - Pre ASMbler ------------------ This pre-comlier allows for strings within ASM files. It simple looks for "" and exchanges it with an offset to a data segment where the string is placed. Usage: PASM file.asm It will go thru all included files and creat a massive ASM.TMP file which is the final version that can be compiled. Another output file called _STR_.TMP holds all the strings and must be included into the input ASM file. But if PASM sees the include it will try and use it. Therefore this include must be set as #include _str_.tmp and when PASM sees it, it just removes the # and moves on. Then MASM can compile it. The only problem with this is that if there are any errors within the ASM file you will not have any clue where it was from (depending on how many file make the actual program). You can edit the ASM.TMP to find out but it makes things a little harder. PASM also changes \n into 13,10 and \\ into a \ All of this is done for you when you include start32.inc in your programs so just use the strings. Here are some examples: mov edx,"\n Hello \n" mov ah,9 int 21h invoke printf,"Hellom world. AX=%w\n",ax NEW Version 1.02 : It can handle comment blocks NEW Version 1.03 : replaces \0 by putting chr(0) into the string