Summary of changes/additions to the ASxxxx Assemblers from version 5.50.
2025_08_26 Version 5.50 Update 4
WARNING
This update will replace ALL source code
files for the ASxxxx assemblers and linker.
You must save and then reapply any changes
you may have made to the source code files.
An update is performed by merging the update directories
with the asxv5pxx directories. New files will be added
and changed files will be replaced.
1) All functions have been changed from
the older K&R (Kernighan & Ritchie)
style definition:
func(i)
int i;
to the
func(int i);
style.
2) The function definition change has made
the code incompatable with the original
'DECUS C' K&R format. All conditional
DECUS compiling options have been removed.
3) After rebuilding the assemblers and linker
the reported version will be V05.50.4
2024_10_28 Version 5.50 Update 3
An update is performed by merging the update directories
with the asxv5pxx directories. New files will be added
and changed files will be replaced.
1) added the 'wit' instruction, short for wait, which has
the same opcode as the 'slw' instruction, short for slow.
2) added the 'fst' instruction, short for fast, which has
the same opcode as the 'div' instruction, short for divide.
Only one of the instructions in each pair, wit/slw or fst/div,
can be present in any specific version of a 740 series processor.
You must recompile the as740
assembler to incorporate the update.
2024_09_30 Version 5.50 Update 2
An update is performed by merging the update directories
with the asxv5pxx directories. New files will be added
and changed files will be replaced.
1) push and pop registers (r0-r7) in as8051 fixed.
1) push and pop registers (r0-r7) in as8xcxxx fixed.
You must recompile the as8051 and as8xcxxx
assemblers to incorporate the update.
2024_04_28 Version 5.50 Update 1
An update is performed by merging the update directories
with the asxv5pxx directories. New files will be added
and changed files will be replaced.
1) movem error in as68k assembler fixed.
2) Added missing bls.s and beq.s mnemonics and
added blos (same as bls) and bhis (same as bhs)
instructions to as68k and as68cf assemblers.
3) Added dbhis (same as dbhs) and dblos (same
as dbls) forms to as68k and as68cf assemblers.
4) Added shis (same as shs) and slos (same as sls)
forms to as68k and as68cf assemblers.
5) Test files for the AS68K and AS68CF
assemblers are updated.
You must recompile the AS68K and AS68CF
assemblers to incorporate the update.
ASxxxx/ASlink version 5.50 is
considered a major release version.
M A J O R C H A N G E S
THE ASSEMBLERS
The assembler command argument structure has changed. Previ-
ous versions specified that the first file of a multifile argu-
ment was the output file. This has been changed:
THE OUTPUT FILE HAS THE NAME OF THE FIRST INPUT FILE
The output file name and/or extension can be changed by using
the -o+ naming option. When the object file extension is
changed from the default .rel then the linker input file must
explicitly specify the extension.
Additional 'Pass 2' scans to resolve mutilevel forward refer-
ences are available using the -n option.
The temporary hex radix prefix '$$' has been changed to '$@'.
The decimal point, '.', following decimal digits is now con-
sidered a temporary decimal radix.
The string ascii, ascis, and asciz directives can now include
byte values.
The following new assembler directives have been added:
.psharea save and restore area contexts
.poparea to/from a 16 element stack
.trace trace insert, include, assembler
.ntrace files, macros, and repeat macros
.dl and .long create 4-byte values
.blkl allocate 4-byte blocks
(only in specific assemblers)
The linker command argument structure has changed. Previous
versions specified that the first file of a multifile argument
was the output file. This has been changed:
THE OUTPUT FILE HAS THE NAME OF THE FIRST INPUT FILE
The output hex format now uses the generally accepted format
for Intel Hex. In addition, the default output file name and/or
extension for the Intel, Motorola, or Tandy linked code can be
changed with the extended -i+/-s+/-t+ renaming options.
The previous linker command line -b option, set base address
of area, has been changed to the -a option.
The redefined command line option -b now sets the base ad-
dress of a bank.
Given:
.area A (bank=BankA)
.bank BankA (base=0x100)
.area B (bank=BankB)
.bank BankB (base=0x200)
Then:
-a A=0x1000
sets the start address of area A to 0x1000
(this overrides any bank calculated address)
-b BankB=0x4000
sets the start address of BankB to 0x4000
(this overrides any defined base address)
Version 5.5 consolidates all the updates since version 5.4
which includes the addition of nine assemblers:
AS4040 (supports the 4004)
AS68CF (ColdFire)
AS68K (68000, 68008, 68010, and 68020)
ASCOP4
ASCOP8
ASEZ8
ASPDP11 (with EIS, FIS, FPP, and CIS)
ASRS08 (reduced version of the HCS08)
ASSX
A much updated ASGB assembler is now more compatible with the
instruction syntax found in the SDCC Gameboy assembler.
The internals of the AS6500 assembler have been updated to
use core functionality unavailable when the assembler was
originally written.
Summary of changes/additions to the ASxxxx Assemblers
from version 5.40.
2022_01_17 Version 5.40 Update 5
UPDATE_02, UPDATE_03, AND UPDATE_04
MUST BE INSTALLED BEFORE INSTALLING THIS UPDATE.
An update is performed by merging the update directories
with the asxv5pxx directories. New files will be added
and changed files will be replaced.
1) Addressing mode errors fixed in the
AS78K0 and AS78K0S assemblers.
2) Test files for the AS78K0 and AS78K0S
assemblers are updated.
You must recompile the AS78K0 and AS78K0S
assemblers to incorporate the update.
2021_12_16 Version 5.40 Update 4
This update brings the assembler and linker to version 5.44
There is NO version 5.43
UPDATE_02 MUST BE INSTALLED AND
UPDATE_03 MUST BE INSTALLED BEFORE INSTALLING THIS UPDATE.
An update is performed by merging the update directories
with the asxv5pxx directories. New files will be added
and changed files will be replaced.
1) New Assembler: ASRS08 supports the Freescale/NXP
RS08 series of microprocessors.
2) Updates to build files.
3) Documentation updated.
You must recompile the ASxxxx Assemblers and Linker
to incorporate the update.xxx
2021_10_25 Version 5.40 Update 3
This update brings the assembler and linker to version 5.42
UPDATE_02 MUST BE INSTALLED BEFORE INSTALLING THIS UPDATE.
2) Assembler and Linker errors are now reported in a
more consistant manner.
2) Assembler and Linker exit codes have been updated.
3) Corrected the handling of the -h option in aslink.
4) Fix the ascop8 test file tcop8.asm
5) Miscellaneous build and cleanup file corrections
Assembler and Linker files modified:
assemblers:
asdata.c, asmain.c, asout.c, assym.c, and asxxxx.h
aslink:
lkarea.c, lkbank.c, kkeval.c, lkhead.c, lklex.c, lklibr.c,
lkmain.c, lkroc.c, lkrloc3.c, lkrloc4.c, lksym.c, and aslink.h
You must recompile the ASxxxx Assemblers and Linker
to incorporate the update.xxx
2021_09_01 Version 5.40 Update 2
This update brings the assembler and linker to version 5.41
Includes: 2021_05_11 Version 5.40 Update 1
and the following:
assemblers:
asmain - 'cnt' variable changed to 'a_uint' type.
asxxxx.h - Version 5.41
aslink:
lklist.c - linking errors now reported in .rst file
lkrloc4.c - corrected problem in reported error location
lkrloc3.c - "
aslink.h - Version 5.41
as8x300:
s8xmch.c - line 351 changed to
if ((v2 == 0x07) | (v2 == 0x0F)) {
New Assemblers:
as4040 - Intel 4040 and 4004
ascop4 - National Semiconductor COP400 Series Of Microprocessors
ascop8 - National Semiconductor COP800 Series Of Microprocessors
Updates to build/make files, assembler test files, and documentation.
2021_05_11 Version 5.40 Update 1
AS78K0 and AS78K0S -
Instructions CMP, XOR, AND, OR, ADD, SUB, ADDC, SUBC, and XCH
with register to register operations of the form Rn,Rn
failed to report an error if one of the arguments was not A.
Instruction MOVW with an addressing mode of SADDRP failed to
report an ODD address as an error.
Note: An externally defined SADDRP address which is ODD
will not be reported as an error by the assembler
or the linker.
VERSION 5.40 RELEASE NOTES
Asxxxx/ASlink version 5.40 is
considered a major release version.
March 2021 Version 5.40
(1) Added a new assembler:
AS89LP, which supports the AT89LP series of
advanced 8051 clones with extensions.
SFR files and a Macro Library are included.
(2) A rewrite of the AS6816 assembler to provide
full 20 bit addressing and fixes to the code
generation.
(3) ASZ80 assembler has been updated to support the
8085 and 8080 using the Z80 syntax.
(4) AS8085 assembler has been updated to support
the 8080.
(5) Assemblers flagging <# and ># as syntax errors
have been fixed to be equivalent to #< and #>.
(6) Added the .incbin directive to allow verbatim
inclusion of a byte stream.
(7) Added extended error reporting to all assemblers
for most <a>, <o>, and <q> errors.
(8) Fixed bug in macro processor related to
missing or malformed arguments.
(9) Update sections of code using strncpy() giving
errors when compiled with GCC 10.2.0 (no other
compiler flagged this code with an error).
2019_03_10 Version 5.30 Update 1
This update for Version 5.30 of the ASxxxx Cross
Assemblers includes fixes for the following errors:
(1) The as78k0 assembler had numerous register
'H' and 'L' errors which have been corrected.
(2) The linker reported the wrong version and has
been corrected.
January 2019 Version 5.3
(1) Added new assemblers:
as78k0, as8008, as8008s, as8x300, and asz280
(2) General assembler updates
added -i to insert assember lines before input files
fixed .macro listing options
fixes related to <q> errors and the -bb option
fix the escape processing of the '\' character
.include file location illustrations
(3) General linker updates
fix library path file strings
rewrite of .lst to .rst translation
(4) Assembler specific fixes
as740
changed 2-byte code to 1-byte code definition
as8048
Corrected bug in "sel" instruction in .8041 mode.
asf2mc
Corrected documentation for asf2mc processor types.
aspic
Fixed missing machine type variable definition
Fixed 'tris' instruction
asst8
Included add/addw/sub/subw sp,#byte modes.
Added the int opcode. Cleaned up st8addr.c
addressing mode comments and code.
January 2017 Version 5.20
(1) Completed the functionality for propagating
the boundary specifications .odd, .even, and
.bndry processed during assembly to the linker.
(2) Restored the correct functionality of the
.org directive in areas of REL type.
(3) Added Intel Hex legacy start address record
type 1 as an option.
Summary of changes/additions to the ASxxxx Assemblers from Ver-
sion 5.11 to Version 4.11.
2015_06_27 Version 5.10 Update 1
This update for Version 5.10 of the ASxxxx Cross
Assemblers includes fixes for the following errors:
(1) The as6500 assembler incorrectly assembled
cpx # and cpy # instructions.
(2) An error in asmain.c inhibited the listing of
all .if.. assembly directives.
2014_10_31 Version 5.10
(1) Rewrite of listing to relocated listing translation
code in the assembler and the linker base code.
The Assemblers now create a .lst to .rst hint file
with the extension .hlr (when both .lst and .rel
files are created by the assembler).
(2) Add as6100 assembler (Intersil IM6100 / Harris HM6100)
(3) Add as78k0s assembler (Renesas/NEC 78K/0S)
2013_05_12 Version 5.00 Update 6
This update for Version 5.00 of the ASxxxx Cross
Assemblers rolls up updates 1, 2, 3, 4, and 5 with fixes
for the following:
(1) Fix asscmp assembler (pre-increment on fetch).
(2) Fix aslink error reporting for PC relative modes.
2012_08_01 Version 5.00 Update 5
Update_05 for the ASxxxx Assembler and Linker Version 5.00
(use 'pkunzip -d u05500.zip' for extraction with MS-DOS)
(use 'unzip -L -a u05500.zip' for extraction with Linux)
See the note about merging
this update with the
asxv5pxx distribution.
This update for Version 5.00 of the ASxxxx Cross
Assemblers rolls up updates 1, 2, 3, and 4 with the addition of
a new assembler and fixes:
(1) A new cross assembler for the Fairchild
F8 microprocessor (or Mostek 3870).
(2) Minor syntactical changes for ANSI C compatability,
fix type conversion warnings, and update the
various build, make, and test files.
Update 4 Items
(1) The AS8048 base opcode value for the JMPP
instruction should be B3 and NOT 83.
(2) The AS8051 assembler calculates incorrect
offsets when using the program counter, ".",
as a destination in the instructions having
a PC-Relative addressing mode. These
instructions include: jbc, jb, jbn, jc,
jnc, jz, jnz, cjne, and djnz.
Update 3 Items
(1) A new cross assembler for the Fairchild
F8 microprocessor (or Mostek 3870).
(2) Minor syntactical changes for ANSI C compatability,
fix type conversion warnings, and update the
various build, make, and test files.
(3) New cross assemblers for STMicroelectronics
ST6, ST7, and STM8 microprocessors.
(4) An ASlink list file update error fix (-u option)
causing some errors not to be inserted into the
created .rst file.
(5) An additional ASxxxx assembler option (-v) which
enables checking for out of range signed / unsigned
values in symbol equates and arithmetic operations.
This option has some ambiguities as internally the
assemblers use unsigned arithmetic for calculations.
(e.g. for a 2-byte machine -32768 and 32768 are both
represented as 0x8000)
Update 2 Items
(1) When using the assembler directive .end to specify
the code entry address the assembler fails to set
the variable .__.END. as a global. Therefor the
value of .__.END. is not passed to the linker and
the start address frame is always zero.
(2) The linker will fail to create a start address frame
when there is no code generated within the area/bank
referenced by the .__.END. variable.
Update 1 Items
(1) The newest versions of gcc (and perhaps other
compilers) give warnings about missing arguments
in the fprintf() function. This update replaces
fprintf(arg1, arg2) with fprintf(arg1, "%s", arg2)
in each affected line of code.
(2) The newest versions of gcc (and perhaps other
compilers) have defined 'getline' as a standard
function in 'stdio.h'. This conflicts with the
function 'getline()' in the ASxxxx package.
All references to 'getline()' have been changed
to 'nxtline()'.
Before merging the asxv5pxx directory and subdirectories with
the V5.00 distribution the following files/directories must be
deleted:
[asxv5pxx\asf2mc8\f8mch.c
[asxv5pxx\asf2mc8\f8adr.c
[asxv5pxx\asf2mc8\f8pst.c
[asxv5pxx\asf2mc8\f8.h
[asxv5pxx\asxmak\vc6\asf2mc8]
[asxv5pxx\asxmak\vs05\asf2mc8]
2011_07_24 Version 5.00 Update 4
This update for Version 5.00 of the ASxxxx Cross
Assemblers includes fixes for the following errors:
(1) The AS8048 base opcode value for the
JMPP instruction should be B3 and NOT 83.
(2) The AS8051 assembler calculates incorrect
offsets when using the program counter, ".",
as a destination in the instructions having
a PC-Relative addressing mode. These
instructions include: jbc, jb, jbn, jc,
jnc, jz, jnz, cjne, and djnz.
2010_10_31 Version 5.00 Update 3
This update for Version 5.00 of the ASxxxx Cross
Assemblers rolls up updates 1 and 2 with the addition of
three new assemblers and fixes:
(1) New cross assemblers for STMicroelectronics
ST6, ST7, and STM8 microprocessors.
(2) An ASlink list file update error fix (-u option)
causing some errors not to be inserted into the
created .rst file.
(3) An additional ASxxxx assembler option (-v) which
enables checking for out of range signed / unsigned
values in symbol equates and arithmetic operations.
This option has some ambiguities as internally the
assemblers use unsigned arithmetic for calculations.
(e.g. for a 2-byte machine -32768 and 32768 are both
represented as 0x8000)
Update 2 Items
(1) When using the assembler directive .end to specify
the code entry address the assembler fails to set
the variable .__.END. as a global. Therefor the
value of .__.END. is not passed to the linker and
the start address frame is always zero.
(2) The linker will fail to create a start address frame
when there is no code generated within the area/bank
referenced by the .__.END. variable.
Update 1 Items
(1) The newest versions of gcc (and perhaps other
compilers) give warnings about missing arguments
in the fprintf() function. This update replaces
fprintf(arg1, arg2) with fprintf(arg1, "%s", arg2)
in each affected line of code.
(2) The newest versions of gcc (and perhaps other
compilers) have defined 'getline' as a standard
function in 'stdio.h'. This conflicts with the
function 'getline()' in the ASxxxx package.
All references to 'getline()' have been changed
to 'nxtline()'.
2010_04_01 Version 5.00 Update 2
This update for Version 5.00 of the ASxxxx Cross
Assemblers includes fixes for the following errors:
(1) When using the assembler directive .end to specify
the code entry address the assembler fails to set
the variable .__.END. as a global. Therefor the
value of .__.END. is not passed to the linker and
the start address frame is always zero.
(2) The linker will fail to create a start address frame
when there is no code generated within the area/bank
referenced by the .__.END. variable.
2010_03_03 Version 5.00 Update 1
This update for Version 5.00 of the ASxxxx Cross
Assemblers includes fixes for the following errors:
(1) The newest versions of gcc (and perhaps other
compilers) give warnings about missing arguments
in the fprintf() function. This update replaces
fprintf(arg1, arg2) with fprintf(arg1, "%s", arg2)
in each affected line of code.
(2) The newest versions of gcc (and perhaps other
compilers) have defined 'getline' as a standard
function in 'stdio.h'. This conflicts with the
function 'getline()' in the ASxxxx package.
All references to 'getline()' have been changed
to 'nxtline()'.
2009_04_01 (Version 5.00)
Added a general purpose macro processor to the ASxxxx assem-
blers.
Added true (t), false (f), and true or false (tf) condition-
als to the .if / .else / .endif construct. The conditionals
.ift, .iff, and .iftf allow replacement of the .else directive
making the .if / .endif construct more readable.
e.g. .ift if condition is true
An alternate .if construction has been added to the ASxxxx
assemblers:
e.g. .if eq,... if argument == 0
The immediate conditional statements have been added to the
ASxxxx assemblers. These conditionals can replace the
.if / ... / .endif construct for a single assembler source line:
e.g. .iifeq arg label: .word 0x1234
The alternate immediate conditional statements have also been
added to the ASxxxx assemblers:
e.g. .iif eq,arg label: .word 0x1234
The listing options for the ASxxxx assemblers has been up-
dated to enable/disable any of the following parameters from be-
ing output to a generated listing file:
err error codes
loc code location
bin assembler binary code
eqt symbolic equates / if evaluations
cyc machine cycles
lin assembler source line number
src assembler source code
pag paging control
lst listing of .list / .nlist
md macro definition
me macro expansion
meb macro expansion binary code
! sets the listing mode to
!(.list) or !(.nlist) before
applying the sublist options
e.g. .nlist (lst,pag) ; disable .list/.nlist listing
; and pagination
The NOT parameter, !, is used to set the listing mode to the
opposite sense of the .list or .nlist directive. For example:
.nlist (!) is equivalent to .list and
.list (!) is equivalent to .nlist
To enable listing and simultaneously disable the cycle count use
the directive:
.nlist (!,cyc)
or if you wish to suppress the listing of the .list / .nlist
directives:
.nlist ; disables all listing
.nlist (!,lst) ; enables all listing except
: .list (...) and .nlist
Normally the .list and .nlist directives are not evaluated
when encountered within a FALSE conditional block. This default
behavior can be modified by specifying a non zero argument in
the .list or .nlist directive:
.nlist 1,(!,lst) ; enables listing even within
; a FALSE conditional block
The .bndry assembler directive has been added to ASxxxx. The
.bndry directive changes the current location address to be
evenly divisible by a specified integer value.
e.g. .org 0
.bndry 4
; . == 0
.org 1
.bndry 4
; . == 4
2009_02
Added the Cypress PSoc (M8C) ASM8C assembler
to ASxxxx.
2008_09
Added the 8048 (8021, 8022, and 8041) AS8048
assembler to Asxxxx.
2008_02
Added the SC/MP ASSCMP assembler to ASxxxx.
2008_02_03 (Version 4.11 Update 4)
An update to the AS2650 assembler to
fix the following errors:
1) The indexed addressing mode generates invalid
code by using the first argument register as
the index register: (addr = 0x1234)
loda r0,[addr,r1] 0C F2 34
this should give 0D F2 34
2) The index addressing mode did not generate
an addressing error when the first argument
register was not r0:
stra r1,[addr,r2] should give an <a>
error, the source must be r0
loda r2,[addr,r3] should give an <a>
error, the destination must be r0
3) The S2650 auto increment and decrement indexing
modes always perform the register update before
the register is used. i.e. +Rn or -Rn. The
assembler now accepts +Rn or Rn+ as meaning
pre-increment and -Rn or Rn- as meaning
pre-decrement.
The AS2650 assembler tstscn files have been updated
for testing the assemblers.
2007_10_21 (Version 4.11 Fix)
In the AS6816 assembler the instruction ANDP gives
wrong object code. Changed from 37 2A to 37 3A.
2007_04_01 (Version 4.11 Update 3)
An update to the ASPIC assembler and
associated fix to ASLINK:
1) Change the pic addressing to lo/hi from hi/lo
byte ordering.
2) The update fixes an error in the pic17 series
LCALL instruction.
3) A rewrite of the pic18 series assembler to change
the PC addressing from 1 per 16-bit word to 1 per
8-bit byte and add the extended instruction set.
4) Modify the Linker Merge Mode processing to take into
account the discarded low order bits for PC Relative
Addressing.
5) New tstscn files for testing the assemblers.
2006_11_01 (Version 4.11 Optional Update 2)
1) OS9 definition files and an OS9 assembler module
which creates the OS9 header, code and data areas,
and the module CRC block:
os9_mod.def OS9 Module Definitions
os9_sys.def OS9 Sytem Definitions
os9_mod.asm OS9 Module Begin / End Code
2) a program, s19os9, to post-process assembled OS9
modules in S19 format into binary OS9 modules
with the appropriate header checksum and module
CRC values calculated.
3) new make and project files which may be used to
compile the s19os9 program.
2006_11_01 (Version 4.11 Optional Update 01)
The .list and .nlist directives are now modified
by .if / .else / .endif processing so that they are
active only in a TRUE clause.
The .page and .include directives are now modified
by the .list and .nlist directives so that pagination
occurs only when listing is active.
The new default functionality for the .list, .nlist
and .page directives may be modified by including an
optional argument in the directive as shown here for
the the .list directive:
.list arg
a non-zero argument invokes the directive irrespective
of the .if / .else / .endif status.
2006_07_26 (Version 4.11 Patch 01)
The assembly of a direct page instruction with a
numeric constant causes a program crash when a .rel
file is created. e.g.:
andb *0x02
The use of a symbolic constant or symbol plus a
a constant compiles normally.
val = 0x02
andb *val
andb *extern+0x01
The assemblers effected are:
as6809
as6812
ash8
aspic
Summary of changes/additions to the ASxxxx Assemblers from
Version 4.10 to Version 4.11.
1. Incorporated the patches contained in p01410.zip which
corrected a coding error that affected BANKS containing
multiple ABS areas or mixed AREA types.
2. Incorporated the patches contained in p02410.zip which
corrected improper use of R_USGN in most addressing
modes in AS6500. This caused unexpected <a> errors in
V4.xx because of the ASxxxx core change to 32-bit in-
tegers and arithmetic.
3. Incorporated the patches contained in p03410.zip which
corrected errors in the .local and .globl assembler
directive processing routine that introduced unwanted
side effects for variable and symbol definition files.
These effects included improper definitions and incor-
rect error warnings.
4. The following new subdirectories and their files have
been added to the asxtst directory:
* areabank Area and Bank Processing Test
This directory contains several test programs:
ts.asm (single file - multiple areas), tm1.asm and
tm2.asm (multiple file - multiple areas), and
tbm.asm, tbm1.asm, and tbm2.asm ( multiple file -
multiple areas within a bank) and several other
files which verify the correct operation of the
linker when used with a single linked file, multi-
ple linked files having no banking, and multiple
linked files with banking. These reference files
show in detail how the .area and .bank directives
work together.
* equtst Equate Processing Test
This directory contains a test file for verifying
the operation of the .globl, .local, .equ, .gblequ,
and .lclequ directives and the =, ==, and =:
equalities.
* inctst Nested Include File Test
* itst Include File Error Reporting Test
5. Incorporated the updates contained in u01410.zip which
added 10 undocumented 8085 instructions to the AS8085
assembler.
Summary of changes/additions to the ASxxxx Assemblers from
Version 4.00 to Version 4.10.
1. Added new assemblers for the Zilog EZ80, Zilog Z8, Sig-
netics 2650, and Fujitsu F2MC8(L,FX) processors.
2. Added the processor cycle count option (-c) to all pro-
cessors.
3. Several of the assemblers (ASZ80, ASRAB, AS6805,
AS6808, AS6812, ASF2MC8, ...) now support subsets or
supersets of their basic opcodes by the use of assem-
bler specific directives.
4. Added .ifeq, .ifne, .iflt, .ifgt, .ifle, and .ifge con-
ditional assembly directives.
5. Added support for the Tandy Color Computer Disc Basic
binary file format to ASLINK.
6. Problem:
When an area size is equal to the 'address space size'
the size parameter is reported as 0. (A normal condi-
tion caused by address rollover to 0.) Aslink inter-
preted this as a 0 size.
Fix:
A new area 'Output Code Flag' bit was defined to indi-
cate when data is defined in an area. ASxxxx and
Aslink have been updated to set and process this area
flag bit.
7. Problem:
The use of the .end assembler directive in an Asxxxx
assembler would cause Aslink to output the optional
start address in all output files.
Fix:
Updated Aslink to output the optional start address
only in the output file associated with the area/bank
containing the .end directive.
8. Problem:
Aslink creates output files for banks with no output
data.
Fix:
Aslink now deletes any created output file for banks
with no data.
9. Incorporated the patches contained in p01400.zip for
files t1802.asm and 1802pst.c to correct for an error
in the opcodes generated for the BM, BL, and BNF
mnemonics.
10. Incorporated the patches contained in p02400.zip for
file ds8adr.c to correct for an error in the direct
page addressing mode of AS8xCxxx.
11. Incorporated the patches contained in p03400.zip for
file rabmch.c to correct for an error in the processing
of the "ret cc" instruction.
12. Made many corrections to internal code comments.
... Exit the ASxxxx Documentation