atari email archive

a collection of messages sent at Atari from 1983 to 1992.

New tools...

(1 / 1)


Be on the alert. I released a new version of LLF (v3.0) which fixed a number
of problems and has a completely redesigned internal expression evaluator.
The new expression evaluator was to accomodate the requirements of the MACAS
and MAC68K assemblers.

I also released new versions of MAC65, MACAS, MAC68K and MACPP which have
some minor bug fixes and one major change which you might want to use.
Namely, the .ENABLE/.DSABLE LOWER_CASE option. Using this option will
enable/disable case sensitivity on label, symbol, macro keyword and dummy
argument names. This is the only way to get lowercase labels/symbols
into the object file. Also, using .ENABLE LOWER will cause the assemblers
to pass the psect name unchanged to the object file (i.e. it won't add the
trailing "_" to the name). The defaults are .DSABLE LOWER for MAC65 and
MACPP and .ENABL LOWER for MACAS and MAC68K. (Note that .ENABL LC does
nothing, it is just for compatability with older MAC65 programs).

I also added the "0x" prefix to numbers to indicate hexidecimal radix.
I.e. a hex number can be expressed globally with .radix 16, or locally
with ^X, ^H, 0x or 0X prefixed. The ^X or ^H options allow for temporary
radix change in an expression, where the 0x is only recognised on an
individual number:

	^X+0x123456 - 0xFFFF

The following is an exceprt from the changes files for LLF and MACxx
in case you're interested:

/**********************************************************************
 *
 * LLF edit history
 *
 * 890823_DMS - v3.0 (not released before this date). Fixed a bug in
 *		the expression evaluator which inadvertanly zapped one
 *		of the terms of a compound expression. Modules affected:
 *		symdef and pass2.
 *
 * 890722_DMS - v3.0 no different from 2.9 but because of the substantial
 *		changes in 2.8 and 2.9 (neither were released), this
 *		version change indicates that the differences were major.
 *
 * 890720_DMS - v2.9 Changed the way segment names are handled. They now
 *		are stored internally with a trailing space so they won't
 *		match a like named global symbol (the space is removed
 *		when the name is put in the output file). I also changed
 *		the expression output such that if the expression resolves
 *		to a constant, it is converted to a text string (.LB output
 *		only). This makes the .LB output file quite a bit smaller.
 *		Fixed a bug in .start handling. Modules affected: outx,
 *		pass1, pass2, object. This version never released.
 *
 * 890104_DMS - v2.8 .TEST couldn't have worked with the way the expressions
 *		were handled (seperate stacks). So expression handling was
 *		completly re-written, now closely resembling the expression
 *		handling in MACxx. Modules affected: Most of them but
 *		mainly symdef, pass2 and outx. This version never released.
 *
 * 881108_DMS - v2.7 Added relational operator support and a new object
 *		record type, .TEST, that displays a message if an expression
 *		resolves to true (not 0).
 *		Modules affected:
 *		object,pass1,symdef
 *

/***************************************************************************
 *
 * MAC65 edit history
 *
 * 890823_DMS v7.7	(Not released before this date.) Incorrectly computed
 *			the number of terms in a complex expression during
 *			output resulting in LLF barfing on the expression
 *			record. Module affected: OUTX.
 *
 * 890721_DMS v7.7	Added lowercase sensitivity for symbols and section
 *			names. Added 0x as a hexidecimal indicator. The
 *			.enabl lower option selects the lower case sensitivity
 *			and defaults to off for MAC65 and MACPP and on for 
 *			MACAS and MAC68K. This version never released.
 *
 * 890124_DMS v7.6	Added features to support MAC68K including a new
 *			.TEST directive which broke LLF. This version
 *			never released.
 *
 * 881025_DMS v7.5	Added features to support the ASAP processor and
 *			MACPP (mostly conditional compilation). Modules
 *			affected: All of them.
 * 
Message 1 of 1

Aug 23, 1989