anyone know how to create a windows app/dll with TASM5 in IDEAL mode?

I've been trying to figure this one out... it seems I have to have a def file specifying all the api imports and then I have to define them in the beginning of the asm file... the problem I'm having is that while trying to convert the file from masm32 (since it's fairly complete enough) I get an "out of hash space" error, which I believe means the inc is too large...

Nonetheless, I would love to see an example or two of a working windows sample in TASM...

Maybe its just the command line I'm getting hurled up at, but I have no documentation whatsover on all the tools that come with tasm and no good explanation how to use it's command line... are there some good references available?

Posted on 2002-01-09 02:00:01 by _Shawn



LibMain proc hInstDLL:DWORD, reason:DWORD, unused:DWORD
xor eax,eax
inc eax
LibMain Endp

dummy proc param:DWORD
xor eax,eax
dummy endp

End LibMain

Build settings

tasm32 /ml /m mydll.asm
tlink32 /Tpd /aa /c /V4.0 /x mydll,mydll,,c:\tasm\lib\import32,mydll.def



Hope it helps.
Posted on 2002-01-09 06:59:34 by LaptoniC
Here is another example from EXAMPLES\USRGUIDE\DLLWIN folder.
Posted on 2002-01-09 07:09:41 by LaptoniC
I have another question: how large of an inc can it handle? Because it chokes on the MASM32 with a out of hash space error, either it's syntax problems, or it's because 996k is too large... if so, I'm not converting the into smaller ones...

I'm using tasm32 from C++Builder...

Posted on 2002-01-09 17:10:49 by _Shawn
try the /kh* flag on the assembler.

Where * is a damn big number like:
Posted on 2002-01-09 21:03:12 by -T-
Download from this link:

The file is

If there is an error, tell me

And by the way....only is the only one full working example. The others are still in development
Posted on 2002-01-09 21:31:58 by stryker
just ask me if you need anything for Tasm.
i use it only and i have alot files collected or builded.
forget the masm inc files.........spend converting time for coding stuff :-)

as another one allready post : use the commad /K
in the make.bat so you dont get : out of hash spaces

i get this first when my source grow over 180kb.
before i know about /k i rebuild all and get my source is over 200kb and compile works fine.

i take a quick search for all DLL or simple window sources i can found and post them later for you here....
Posted on 2002-01-11 03:12:14 by Max
hope this helps........
Posted on 2002-01-11 05:15:27 by Max
Wow, great stuff max].

Maybe you will be able to help me out with a problem I have while coding big programs, or just little windows ones.

When I or my includes reuse decleration/type/structure names the tasm compiler starts choking on me.

Lets say hwnd is a parameter in two differen't procedures. ERROR, already declared. This gets to be a pain remembering all the differn't names you need to use everwhere just so tasm doesn't get mad.
Posted on 2002-01-11 15:09:23 by -T-
For the record :)

After hours a wasted I find that you need to add "global procname : proc" in your imports in order to export functions from your dll when using ilink packaged with bcppb.
Posted on 2002-03-30 19:17:04 by -T-
Sorry to bring you the bad news but:

The bad news are:
1) /Kh has a maximum value of 32768 after that you have to break your proggy into smaller parts and assemble and build them separatedly.

2) MASM includes are handy BUT TASM chokes on them because its syntax is a little diffrent, this little can be very annoyng some times. So i suggest converting MASM includes to TASM ones...its a lot of work but....
esp take care at:
-same names for STRUcture members is not allowed so you must find a way to prefix structure members with structure names or something else
-IDEAL mode is not going to work with MASM includes. Even if IDEAL mode is nice it can be a big pain in the *** when programming in windows and it will make your proggy very hard to convert to MASM style :)

3) in some rare times if a include file is named like its folder or it has a too big name length... some wierd errors can occur...

4) you are mostly on your own as most ppl here use MASM (not me)

The good news are:
1) because of hash table TASM builds very fast and this is great for huge applications like Hostile Encounter game, we have 200.000+ lines of code rebuild from scratch into under 2 seconds!
You cand sure make huge applications with TASM.

Sidetrack:i really sugest SPASM and FASM and NASM creators to try and use such a tehnique for speeding things up (even so SPASM is preety fast IMHO)

2) TASM allows you to use anywhere in your code without additional assumes and this can be a lifesaver sometimes

3) its MACRO, and HLL like syntax (aka .IF/ELSE/ENDIF) are just as good as MASM's
Posted on 2002-03-30 21:10:57 by BogdanOntanu
1) because of hash table TASM builds very fast and this is great for huge applications like Hostile Encounter game, we have 200.000+ lines of code rebuild from scratch into under 2 seconds!
You cand sure make huge applications with TASM.

you mean it only rebuilds objects of code that has changed and reuses the rest? :/

or is it something else?
Posted on 2002-04-02 09:47:14 by Hiroshimator