TIP: Click on subject to list as thread! ANSI
echo: 80xxx
to: HUGH NOLAND
from: JOHN GARDENIERS
date: 1997-02-14 15:28:00
subject: A86 problem

            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)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.