pouët.net

Go to bottom

A question about TASM (Turbo Assembler)

category: general [glöplog]
 
Now I know why programs assembled with TASM often result in larger .com files than when assembled with FASM:

Instead of e.g.

Code:push 0A000h pop es

TASM generates the following code:

Code:push ax push bp mov bp,sp mov [bp+word ptr 2],0A000h pop bp pop es

All instructions which write an immediate value to the stack are assembled this way. Thus the file gets considerably larger. Is there a way to prevent TASM from doing this?
added on the 2008-12-06 20:32:52 by Adok Adok
go away
added on the 2008-12-06 20:35:37 by okkie okkie
How about using nasm.
added on the 2008-12-06 21:06:44 by tomaes tomaes
sho sho go away
added on the 2008-12-06 21:11:50 by panic panic
It's strange that guy who is so close hardcore size optimizing competitions for years, as main organizer, asks things like that. The same Adok?
added on the 2008-12-06 22:10:45 by Pirx Pirx
lets get oldskool:

he´s a LAMER!
Isn't TASM like, from 1989?
added on the 2008-12-06 22:14:55 by LiraNuna LiraNuna
yeah,but NASM is still top-notch...asm didnt change,haha...
oh,damn...it should have said TASM and should have been sarkastic....i´m in bed now,ashamed!
Found the answer: 80186 instructions must be enabled. E.g. .286 will do it. By default TASM uses only the 8086 instruction set. PUSH with immediate value was introduced with 80186.
added on the 2008-12-06 23:00:56 by Adok Adok
CASM is better
added on the 2008-12-06 23:03:34 by aquaman aquaman

login

Go to top