home *** CD-ROM | disk | FTP | other *** search
- This file provides some preliminary information about new features
- or bug fixes that have gone into TASM version 2.7.6 which are not
- covered in the manual (as of version 2.7):
-
- EXIT CODES
-
- When TASM terminates, it will return to DOS the following exit
- codes:
-
- Exit Code Meaning
- -------------------------------------------
- 0 Normal completion, no assembly errors
- 1 Normal completion, with assembly errors
- 2 Abnormal completion, insufficient memory
- 3 Abnormal completion, file access error
- 4 Abnormal completion, general error
-
- Exit codes 2 and above will also be accompanied by messages to the
- console concerning the error.
-
-
- ERROR CHECKING CONTROL
-
- TASM can provide additional error checking by specifying the
- '-a<mask>' option at the time of execution. If the '-a' is provided
- without a digit following, then all the available error checking is
- done. If a digit follows, then it is used as a mask to determine
- the error checks to be made. The bits of the mask are defined as
- follows:
-
- BIT OPTION FLAG DESCRIPTION
- --------------------------------------------------------------------
- 0 -a1 Check for apparent illegal use of indirection
- 1 -a2 Check for unused data in the arguments
- 2 -a4 Check for duplicate labels
- 4 -a8 Check for non-unary operators at start of
- expression.
-
- Combinations of the above bits can also be used. For example, '-a5'
- would enable the checking for illegal indirection and duplicate
- labels.
-
- Illegal indirection applies to micros that use parenthesis around an
- argument to indicate indirection. Since it is always legal to put
- an extra pair of parenthesis around any expression (as far as the
- expression parser is concerned), the user may think that he/she is
- indicating indirection for an instruction that has no indirection
- and TASM would not complain. Enabling this checking will result in
- an error message (warning) whenever an outer pair of parenthesis is
- used and the instruction set definition table does not explicitly
- indicate that to be a valid for of addressing.
-
- Unused data in arguments applies to cases where a single byte of
- data is needed from an argument, but the argument contains more than
- one byte of data. If a full sixteen bit address is used in a 'Load
- Immediate' type instruction that needs only a single byte, for
- example, an error message would be generated. Here is an example
- (6502 code):
-
- 0001 1234 .org $1234
- tasm: Unused data in MS byte of argument. Line 0002 in test.asm
- 0002 1234 A9 34 start lda #start
-
- To make the above checks occur whenever you do an assembly, add a
- line like this to your AUTOEXEC.BAT file:
-
- SET TASMOPTS=-a
-
-
- LINES PER PAGE
-
- TASM defaults to 63 lines per page when paging is enabled. The
- number of lines per page can be altered by providing a number
- immediately after the '-p' option. For example, to set the lines
- per page to 53, use '-p53'. Three lines are used for the page
- header, so 50 lines of code would be shown per page.
-
-
- 6800/6801/6803 TABLE
-
- A 6800/6801 (and relatives) table has been added. Invoke TASM with
- a -68 to use it. The default instruction set class is the 6800 set.
- To use 6801 instructions, use the -x flag.
-
-
- MOTOROLA HEX OUTPUT
-
- TASM can now generate Motorola hex object code. A new flag was
- added to select this as well as other object code modes. It is as
- follows:
-
- -g0 for Intel hex (default)
- -g1 for MOS Technology hex (same as -m)
- -g2 for Motorola hex
- -g3 for binary (same as -b)
-
-
- Z80 TABLE EXTENDED TO SUPPORT HD64180
-
- TASM can now generate code to support the Z80 extensions of the
- HD64180. Use the -x flag to enable the extensions.
-
-
- TMS7000 TABLE
-
- Invoke TASM with "-70" to get the TMS7000 table. Standard TI syntax
- is employed except that the indirect addressing should be indicated
- with brackets instead of parentheses. Thus:
-
- MOVD %x(B),R0 TI syntax
- MOVD %x[B],R0 TASM syntax
-
-
- AMBIGUITY OF MODULO OPERATOR (%) WITH BINARY PREFIX (BUG)
-
- TASM did not properly recognize '%' as a modulo operator if the
- following character was a 0 or 1 (regardless of white space). This
- was made more discriminating, and now assumes % is a modulo operator
- if it is in a position suitable for a binary operator.
-
-
- FULL OUTPUT OF LONG OBJECT CODE LISTS IN LIST FILE
-
- TASM did not output more than 6 bytes of object to the list file for
- any single mnemonic or directive (e.g. ,TEXT "........") although
- all data was properly set to the object file. Object bytes beyond
- the sixth will appear on the following line in the list file.
-
-