Date: 12-MAY-1987 12:22:43 From: SYSKERMIT%vax1.central.lancaster.ac.uk@Cs.Ucl.AC.UK Subject: File BBCASM.ANN 65C02 Assembler 1.50 -------------------- This version is now available, and contains some extra user facilities and bug clearances. The main ones are: - New command line options have been added. They are: -Mn Switches to screen mode n before assembly starts -W Instructs the assembler to wait after outputting an error message until a key is pressed (actioned only if the listing is being sent to the screen) -G Instructs the Assembler not to pause at the end of assembly, but restart the calling language immediately. The default action is to pause unless the calling language is BASIC - The command line syntax has been extended, so that options can be set in a shorter way. Thus *ASSEMBLE SOURCE -B6 -L2 -W could be written as *ASSEMBLER SOURCE -B6L2W The "-O" flag for the object file is now optional, and the assembler will take the second parameter of the command as the object file name *unless* it begins with a "-". Thus *ASSEMBLE SOURCE -OBIN can be written *ASSEMBLE SOURCE BIN - If the assembler is fitted as the highest priority language, pressing CONTROL-BREAK or powering on will enter it in CLI mode. MOS commands can then be issued to change to another language if required. - A new service command *MODE n allows you to change screen mode to n even when in CLI mode and the BASIC MODE statement is not available. - The assembler will exit to the language ROM that called it, rather than restarting BASIC. - Bugs in the initialisation code have been cleared so the assembler can now be started from any language, and will start reliably on second processors - Control keys can be used to direct assembly actions while the assembly is under way. They are: f0..f3 Force list level to change to 0..3 . After pressing one of these keys, LST directives are processed but not actioned. CONTROL-L resets the list level to that set by the last LST directive encountered. CTRL-Q Outputs a report showing the number of the next line to be processed CTRL-W Reverses the current wait-after-error action CTRL-P Reverses the current state of the list-to-printer option CTRL-N Turns paged scroll mode on CTRL-O Turns paged scroll mode off CTRL-H Displays help information about key usage SPACE Pauses assembly until a key is pressed - Tab handling in the listing is extended, so that they are set at every 8 character positions in the operand and comment fields. - A new directive SYSCLI allows MOS commands to be issued from the source during assembly. - The strings output by DISP and similar directives can include |M or |J to start a new line, or |G to ring the bell. - New directives CASC and CSTR plant "counted strings". They are similar to ASC and STR, but precede the string itself with a byte giving the length of the string. (On version 1.32 the ALEN directive could be used in a macro to do this, but control-characters and those with B7 set, selected as |X and ^X, would be counted as 2, rather than 1, character) - For symmetry, extra data planting directives have been added, so that DFB and DB plant bytes DFDB and DDB plant low-high words DFW and DW plant high-low words DFS and DS reserve space - A new directive DEFPARS allows defaults to be specified for macro parameters. - *HELP ASSEMBLER gives information on command usage. - The opcode mnemonic CLR has been added as a synonym of STZ, for compatibility with the mnemonics in the Basic assembler. - The character "\" can now be used to flag the start of comment - Hexadecimal constants can be begun with a "&" character (in fact, they always could - the 1.32 User Guide was wrong!) - Error reporting has been enhanced, so that where appropriate the message will indicate the position in the line the error occurred. - Screen output in mode 0 now correctly uses a width of 80 bytes, rather than 40. - Saved Wordwise files can be input directly as source, providing they contain no embedded commands. The Wordwise TAB character (shown as a right- arrow on screen) is accepted as a "real" TAB. Full details of the Assembler are contained in the User Guide, which has been expanded with much greater descriptive detail. ---------------------------------------------- From: SYSKERMIT@UK.AC.LANCS.VAX1 "UK Kermit Distribution" Date: 24-FEB-1987 09:32 Subj: Update to Lancaster 65C02 Assembler Version 1.52 of the Lancaster 65C02 Assembler is now available. This is a bug- fix release, and contains no extra user facilities. Problems fixed are: - Immediate operands can be negative numbers. Thus expressions such as LDA #-1 now work, planting, in this case, A9 FF as you would expect. The expression will still be rejected if loss of the most significant byte would cause a change of sign. - The 65C02-only mnemonics INA and DEA now produce the correct opcodes (Note that this problem was already fixed in versiin 1.5T as broadcast by BBC Telesoftware) - An EXEC file can be used to provide the replies to the QUERY directive. In 1.50 the replies were taken as keypresses and were ignored. - The symbol table listing is not corrupted if SPACE is pressed while it is being generated - JSR to a zero-page address is correctly assembled. In 1.50 it was treated as an invalid addressing mode. - DS with an operand of zero now leaves a zero-length gap rather than a 64K gap - Repeat counts > 255 in DFB, etc, now work correctly