Hi Hugh,
-=> 10 Feb 97 11:01, Hugh Noland wrote to All <=-
HN> cseg segment
HN> assume cs:cseg
HN> begin:
HN> mov ax,dseg
HN> mov ds,ax
HN> This code aseembles correctly with TASM into an .EXE file, and runs
HN> as expected. A86 incorrectly assembles it into a .COM file which does
HN> not execute properly because the first two lines of code cause A86
HN> to place 0 in DS. If you comment out the first two lines of code A86
A86 will assemble source such as that to a COM file unless told
otherwise. This is the way it's intended, rather than a bug. To create an EXE
file you need to tell A86 to assemble to an OBJ file and then run your linker
over it. The result will be an EXE file. TASM also does it that way, although
the process is (I'm guessing) transparent to you. I hazard a guess that TASM
calls the linker itself, so that you don't have to do that part manually.
There
are arguments for and against both methods.
To avoid trying to remember the correct command line switch to
use when assembling to an OBJ file just use the "to" switch. e.g. "A86
test.asm
to test.obj". That's a lot easier to remember, especially if you don't use
he
program a lot.
Personally, unless you absolutely *must* have an EXE file, I'd
go for the more compact COM file anyway.
ttyl,
>>> Fuse >>>
... When I think of all the good times I wasted having fun.
--- GoldED 2.50+
---------------
* Origin: The Cubby House, assembled by hand (3:632/360.70)
|