[comp.unix.xenix] DOS cross-development

compata@cup.portal.com (David H Close) (02/08/90)

I have never previously tried to use the DOS cross-development features of
Xenix, not having any need.  However, I recently obtained Kermit version 3.0
for DOS, and thought that this would be a good opportunity to try it.
(Kermit is written in 8088 assembler.  Though I have several languages for DOS,
Masm is not one of them.  No problem, I thought, Xenix can do the job!)  The
Kermit folks at Columbia say that 3.0 is intended for assembly with Masm 5.0
under DOS; assembly is known to fail with earlier versions due to the large
symbol tables used.

My system is running Xenix 2.3.3 with the 2.2 development system.  How
this translates to the version of Masm under DOS is not apparent.  Using
'strings' on /bin/masm does not yield a version number, only the notation
"Microsoft Macro Assembler 386 version".  The empirical result seems to
indicate that my Masm is earlier than 5.0 since several of the assemblies
fail with a "memory allocation error".

Although 'strings' claims my Masm is a 386 version, 'file' shows it as a 286
binary.  I know that 286 binaries have a fixed stack size so I used 'fixhdr'
to play around with that (on a copy, of course).  Making the stack smaller
than the default allows one assembly to complete and the others to get further
along before failure.  However, I can't find a value which allows all files
to assemble, probably because there isn't one.

TFM lists "memory allocation" as a possible error but does not mention any
possible causes or remedies.  Perhaps the writers felt it was self-documenting?

Can anyone suggest any way around this problem?  Is there any way to extend
the symbol table space?  Would the 2.3 development system succeed in these
assemblies?  What version of Masm do I have?

Any suggestions will be greatly appreciated.  Email or post, your choice;
I *DO* read this newsgroup regularly.

Dave Close, Compata, Arlington, Texas
compata@cup.portal.com

soup@penrij.LS.COM (John Campbell) (02/10/90)

In article <26709@cup.portal.com>, compata@cup.portal.com (David H Close) writes:
> My system is running Xenix 2.3.3 with the 2.2 development system.  How
> this translates to the version of Masm under DOS is not apparent.  Using
.
.
.
>                          Would the 2.3 development system succeed in these
> assemblies?  What version of Masm do I have?

	Dev Sys 2.2 is MASM/C 4.00 which work PFG.  You might want 2.3's
	MASM (5.0) but YOU DO NOT WANT THE C COMPILER.  Microsoft broke
	so many things when they went to 5.0.  The 5.0 C compiler can't
	generate 86 OR 286 code reliably (-M0, -M2).  This burned my
	hind end pretty badly.  It doesn't do too hot on 386 code,
	either.

	Microsoft put in plenty of nice features in order to compete
	with Borland that, like Sirius Cybernetics Corporation, their
	minor design flaws disguise their major design flaws.

	BTW, look for a file named "masm86" which is intended to assume
	the stoopid CPU's (16 rather than 32 bit).  I had problems with
	8086/286 code assembled in "the big guy".


--
 John R. Campbell	...!uunet!lgnp1!penrij!soup	  (soup@penrij.LS.COM)
		 "In /dev/null no one can hear you scream"