(1 / 1)
Date: August 23, 1989 22:06
From: GAWD::SHEPPERD
To: @sys$mail:ee,SHEPPERD
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. *
Aug 23, 1989