VOGONS

Common searches


First post, by vstrakh

User metadata
Rank Member
Rank
Member

Does anyone know if it's possible for Tasm to align location with "dup(?)" without inserting zeroes? The segment is declared with UFARDATA directive.
The docs say Tasm inserts NOPs, and when such alignment is used in the uninitialized segment - everything before that inserted NOP will manifest as initialized with zeroes in the resulting executable.
The whole point of uninitialized segment is that it does not appear in the final executable.

Reply 1 of 2, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie

from my old memory 🤣, tasm will align code sections with nops, and data sections with 0's. bss for uninitialized data.. but you have fardata, so that is zeroes.
i dont remember if it has farbss or not. maybe you need "fardata?" for unitiliazed (but I think fardata? is for tasm's "masm compatability mode".

life is much easier with nasm if your writing new code...

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--

Reply 2 of 2, by vstrakh

User metadata
Rank Member
Rank
Member

It's "UFARDATA", U for uninitialized, and when no name specified the Tasm will default to FAR_BSS name for such segment, it's BSS effectively.
There is .FARDATA? in MASM mode (I'm using Ideal), but I'd guess it will produce the same results.

BloodyCactus wrote on 2023-03-14, 13:16:

life is much easier with nasm if your writing new code...

I'll give it a shot (nasm.us, right?), but right now I wanted to feel again that flow, working with period-correct tools on a real hardware before Pentium.
I had quite extensive framework done back then, libraries, macros that could allocate and de-duplicate text string variables from literals passed as arguments, in compile time. Lots of metaprogramming features that made it almost as convenient as C++ 😀