Implement more of the shim, it can assemble the test file sort of
[asxv5pxx.git] / change.txt
1            Asxxxx/ASlink version 5.30 is considered\r
2         a major release version.  \r
3 \r
4 \r
5         January 2019 Version 5.3\r
6         \r
7            (1)  Added new assemblers:\r
8                 as78k0, as8008, as8008s, as8x300, and asz280\r
9         \r
10            (2)  General assembler updates\r
11                 added -i to insert assember lines before input files\r
12                 fixed .macro listing options\r
13                 fixes related to <q> errors and the -bb option\r
14                 fix the escape processing of the '\' character\r
15                 .include file location illustrations\r
16         \r
17            (3)  General linker updates\r
18                 fix library path file strings\r
19                 rewrite of .lst to .rst translation\r
20         \r
21            (4)  Assembler specific fixes\r
22                 as740\r
23                 changed 2-byte code to 1-byte code definition\r
24         \r
25                 as8048\r
26                 Corrected bug in "sel" instruction in .8041 mode.\r
27         \r
28                 asf2mc\r
29                 Corrected documentation for asf2mc processor types.\r
30         \r
31                 aspic\r
32                 Fixed missing machine type variable definition\r
33                 Fixed 'tris' instruction\r
34         \r
35                 asst8\r
36                 Included add/addw/sub/subw sp,#byte modes.\r
37                 Added the int opcode.  Cleaned up st8addr.c\r
38                 addressing mode comments and code.\r
39 \r
40 \r
41         January 2017 Version 5.20\r
42         \r
43            (1)  Completed the functionality for propagating\r
44                 the boundary specifications .odd, .even, and\r
45                 .bndry processed during assembly to the linker.\r
46         \r
47            (2)  Restored the correct functionality of the\r
48                 .org directive in areas of REL type.\r
49         \r
50            (3)  Added Intel Hex legacy start address record\r
51                 type 1 as an option.\r
52 \r
53 \r
54         Summary  of changes/additions to the ASxxxx Assemblers from Ver-\r
55         sion 5.11 to Version 4.11.  \r
56 \r
57 \r
58         2015_06_27 Version 5.10 Update 1\r
59         \r
60            This update for Version 5.10 of the ASxxxx Cross\r
61         Assemblers includes fixes for the following errors:\r
62         \r
63            (1)  The as6500 assembler incorrectly assembled\r
64                 cpx # and cpy # instructions.\r
65         \r
66            (2)  An error in asmain.c inhibited the listing of\r
67                 all .if.. assembly directives.\r
68  \r
69 \r
70         2014_10_31 Version 5.10\r
71         \r
72            (1)  Rewrite of listing to relocated listing translation\r
73                 code in the assembler and the linker base code.\r
74                 The Assemblers now create a .lst to .rst hint file\r
75                 with the extension .hlr (when both .lst and .rel\r
76                 files are created by the assembler).\r
77         \r
78            (2)  Add as6100 assembler (Intersil IM6100 / Harris HM6100)\r
79         \r
80            (3)  Add as78k0s assembler (Renesas/NEC 78K/0S) \r
81 \r
82 \r
83          2013_05_12 Version 5.00 Update 6\r
84         \r
85            This  update  for  Version  5.00  of the  ASxxxx Cross\r
86         Assemblers rolls up updates 1, 2, 3, 4, and 5 with fixes\r
87         for the following:\r
88         \r
89            (1)  Fix asscmp assembler (pre-increment on fetch).\r
90         \r
91            (2)  Fix aslink error reporting for PC relative modes.\r
92 \r
93 \r
94         2012_08_01 Version 5.00 Update 5\r
95         \r
96         Update_05 for the ASxxxx Assembler and Linker Version 5.00\r
97         (use 'pkunzip -d u05500.zip' for extraction with MS-DOS)\r
98         (use 'unzip -L -a u05500.zip' for extraction with Linux)\r
99         \r
100                See the note about merging\r
101                this update with the\r
102                asxv5pxx distribution.\r
103         \r
104            This  update  for  Version  5.00  of the  ASxxxx Cross\r
105         Assemblers rolls up updates 1, 2, 3, and 4 with the addition of\r
106         a new assembler and fixes:\r
107         \r
108            (1)  A new cross assembler for the Fairchild\r
109                 F8 microprocessor (or Mostek 3870).\r
110         \r
111            (2)  Minor syntactical changes for ANSI C compatability,\r
112                 fix type conversion warnings, and update the\r
113                 various build, make, and test files.\r
114         \r
115         \r
116            Update 4 Items\r
117         \r
118            (1)  The AS8048 base opcode value for the JMPP\r
119                 instruction should be B3 and NOT 83.\r
120         \r
121            (2)  The AS8051 assembler calculates incorrect\r
122                 offsets when using the program counter, ".",\r
123                 as a destination in the instructions having\r
124                 a PC-Relative addressing mode.  These\r
125                 instructions include: jbc, jb, jbn, jc,\r
126                 jnc, jz, jnz, cjne, and djnz.\r
127         \r
128         \r
129            Update 3 Items\r
130         \r
131            (1)  A new cross assembler for the Fairchild\r
132                 F8 microprocessor (or Mostek 3870).\r
133         \r
134            (2)  Minor syntactical changes for ANSI C compatability,\r
135                 fix type conversion warnings, and update the\r
136                 various build, make, and test files.\r
137         \r
138            (3)  New cross assemblers for STMicroelectronics\r
139                 ST6, ST7, and STM8 microprocessors.\r
140         \r
141            (4)  An ASlink list file update error fix (-u option)\r
142                 causing some errors not to be inserted into the\r
143                 created .rst file.\r
144         \r
145            (5)  An additional ASxxxx assembler option (-v) which\r
146                 enables checking for out of range signed / unsigned\r
147                 values in symbol equates and arithmetic operations.\r
148                 This option has some ambiguities as internally the\r
149                 assemblers use unsigned arithmetic for calculations.\r
150                 (e.g. for a 2-byte machine -32768 and 32768 are both\r
151                 represented as 0x8000)\r
152         \r
153         \r
154            Update 2 Items\r
155         \r
156            (1)  When using the assembler directive .end to specify\r
157                 the code entry address the assembler fails to set\r
158                 the variable .__.END. as a global.  Therefor the\r
159                 value of .__.END. is not passed to the linker and\r
160                 the start address frame is always zero.\r
161         \r
162            (2)  The linker will fail to create a start address frame\r
163                 when there is no code generated within the area/bank\r
164                 referenced by the .__.END. variable.\r
165         \r
166         \r
167            Update 1 Items\r
168         \r
169            (1)  The newest versions of gcc (and perhaps other\r
170                 compilers) give warnings about missing arguments\r
171                 in the fprintf() function.  This update replaces\r
172                 fprintf(arg1, arg2) with fprintf(arg1, "%s", arg2)\r
173                 in each affected line of code.\r
174         \r
175            (2)  The newest versions of gcc (and perhaps other\r
176                 compilers) have defined 'getline' as a standard\r
177                 function in 'stdio.h'.  This conflicts with the\r
178                 function 'getline()' in the ASxxxx package.\r
179                 All references to 'getline()' have been changed\r
180                 to 'nxtline()'.\r
181         \r
182         \r
183            Before merging the asxv5pxx directory and subdirectories with\r
184         the V5.00 distribution the following files/directories must be\r
185         deleted:\r
186         \r
187                 [asxv5pxx\asf2mc8\f8mch.c\r
188                 [asxv5pxx\asf2mc8\f8adr.c\r
189                 [asxv5pxx\asf2mc8\f8pst.c\r
190                 [asxv5pxx\asf2mc8\f8.h\r
191         \r
192                 [asxv5pxx\asxmak\vc6\asf2mc8]\r
193                 [asxv5pxx\asxmak\vs05\asf2mc8]\r
194 \r
195 \r
196         2011_07_24 Version 5.00 Update 4\r
197         \r
198            This  update  for  Version  5.00  of the  ASxxxx Cross\r
199         Assemblers includes fixes for the following errors:\r
200         \r
201            (1)  The AS8048 base opcode value for the\r
202                 JMPP instruction should be B3 and NOT 83.\r
203         \r
204            (2)  The AS8051 assembler calculates incorrect\r
205                 offsets when using the program counter, ".",\r
206                 as a destination in the instructions having\r
207                 a PC-Relative addressing mode.  These\r
208                 instructions include: jbc, jb, jbn, jc,\r
209                 jnc, jz, jnz, cjne, and djnz.\r
210 \r
211 \r
212         2010_10_31 Version 5.00 Update 3\r
213         \r
214            This  update  for  Version  5.00  of the  ASxxxx Cross\r
215         Assemblers rolls up updates 1 and 2 with the addition of\r
216         three new assemblers and fixes:\r
217         \r
218            (1)  New cross assemblers for STMicroelectronics\r
219                 ST6, ST7, and STM8 microprocessors.\r
220         \r
221            (2)  An ASlink list file update error fix (-u option)\r
222                 causing some errors not to be inserted into the\r
223                 created .rst file.\r
224         \r
225            (3)  An additional ASxxxx assembler option (-v) which\r
226                 enables checking for out of range signed / unsigned\r
227                 values in symbol equates and arithmetic operations.\r
228                 This option has some ambiguities as internally the\r
229                 assemblers use unsigned arithmetic for calculations.\r
230                 (e.g. for a 2-byte machine -32768 and 32768 are both\r
231                 represented as 0x8000)\r
232         \r
233         \r
234            Update 2 Items\r
235         \r
236            (1)  When using the assembler directive .end to specify\r
237                 the code entry address the assembler fails to set\r
238                 the variable .__.END. as a global.  Therefor the\r
239                 value of .__.END. is not passed to the linker and\r
240                 the start address frame is always zero.\r
241         \r
242            (2)  The linker will fail to create a start address frame\r
243                 when there is no code generated within the area/bank\r
244                 referenced by the .__.END. variable.\r
245         \r
246         \r
247            Update 1 Items\r
248         \r
249            (1)  The newest versions of gcc (and perhaps other\r
250                 compilers) give warnings about missing arguments\r
251                 in the fprintf() function.  This update replaces\r
252                 fprintf(arg1, arg2) with fprintf(arg1, "%s", arg2)\r
253                 in each affected line of code.\r
254         \r
255            (2)  The newest versions of gcc (and perhaps other\r
256                 compilers) have defined 'getline' as a standard\r
257                 function in 'stdio.h'.  This conflicts with the\r
258                 function 'getline()' in the ASxxxx package.\r
259                 All references to 'getline()' have been changed\r
260                 to 'nxtline()'.\r
261 \r
262  \r
263         2010_04_01 Version 5.00 Update 2\r
264         \r
265            This  update  for  Version  5.00  of the  ASxxxx Cross\r
266         Assemblers includes fixes for the following errors:\r
267         \r
268            (1)  When using the assembler directive .end to specify\r
269                 the code entry address the assembler fails to set\r
270                 the variable .__.END. as a global.  Therefor the\r
271                 value of .__.END. is not passed to the linker and\r
272                 the start address frame is always zero.\r
273         \r
274            (2)  The linker will fail to create a start address frame\r
275                 when there is no code generated within the area/bank\r
276                 referenced by the .__.END. variable.\r
277 \r
278  \r
279         2010_03_03 Version 5.00 Update 1\r
280         \r
281            This  update  for  Version  5.00  of the  ASxxxx Cross\r
282         Assemblers includes fixes for the following errors:\r
283         \r
284            (1)  The newest versions of gcc (and perhaps other\r
285                 compilers) give warnings about missing arguments\r
286                 in the fprintf() function.  This update replaces\r
287                 fprintf(arg1, arg2) with fprintf(arg1, "%s", arg2)\r
288                 in each affected line of code.\r
289         \r
290            (2)  The newest versions of gcc (and perhaps other\r
291                 compilers) have defined 'getline' as a standard\r
292                 function in 'stdio.h'.  This conflicts with the\r
293                 function 'getline()' in the ASxxxx package.\r
294                 All references to 'getline()' have been changed\r
295                 to 'nxtline()'.\r
296 \r
297  \r
298         2009_04_01 (Version 5.00)\r
299 \r
300 \r
301            Added  a general purpose macro processor to the ASxxxx assem-\r
302         blers.  \r
303 \r
304            Added  true (t), false (f), and true or false (tf) condition-\r
305         als to the  .if / .else / .endif  construct.   The  conditionals\r
306         .ift,  .iff,  and .iftf allow replacement of the .else directive\r
307         making the .if / .endif construct more readable.  \r
308 \r
309         e.g.    .ift    if condition is true\r
310 \r
311 \r
312            An  alternate  .if  construction has been added to the ASxxxx\r
313         assemblers:  \r
314 \r
315         e.g.    .if    eq,...   if argument == 0\r
316 \r
317 \r
318            The  immediate  conditional statements have been added to the\r
319         ASxxxx  assemblers.   These   conditionals   can   replace   the\r
320         .if / ... / .endif construct for a single assembler source line: \r
321 \r
322         e.g.    .iifeq  arg     label:  .word   0x1234\r
323 \r
324 \r
325            The alternate immediate conditional statements have also been\r
326         added to the ASxxxx assemblers:  \r
327 \r
328         e.g.    .iif    eq,arg  label:  .word   0x1234\r
329 \r
330 \r
331            The  listing  options  for the ASxxxx assemblers has been up-\r
332         dated to enable/disable any of the following parameters from be-\r
333         ing output to a generated listing file:  \r
334 \r
335             err         error codes\r
336             loc         code location\r
337             bin         assembler binary code\r
338             eqt         symbolic equates / if evaluations\r
339             cyc         machine cycles\r
340             lin         assembler source line number\r
341             src         assembler source code\r
342             pag         paging control\r
343             lst         listing of .list / .nlist\r
344             md          macro definition\r
345             me          macro expansion\r
346             meb         macro expansion binary code\r
347         \r
348             !           sets the listing mode to\r
349                         !(.list) or !(.nlist) before\r
350                         applying the sublist options\r
351         \r
352         e.g.    .nlist  (lst,pag)       ; disable .list/.nlist listing\r
353                                         ; and pagination\r
354 \r
355 \r
356            The  NOT parameter, !, is used to set the listing mode to the\r
357         opposite sense of the .list or .nlist directive.  For example:  \r
358 \r
359             .nlist (!)  is equivalent to .list and\r
360             .list  (!)  is equivalent to .nlist\r
361 \r
362         To enable listing and simultaneously disable the cycle count use\r
363         the directive:  \r
364 \r
365             .nlist  (!,cyc)\r
366 \r
367         or  if  you  wish  to suppress the listing of the .list / .nlist\r
368         directives:  \r
369 \r
370             .nlist              ; disables all listing\r
371             .nlist  (!,lst)     ; enables  all listing except\r
372                                 : .list (...) and .nlist\r
373 \r
374 \r
375            Normally  the  .list  and .nlist directives are not evaluated\r
376         when encountered within a FALSE conditional block.  This default\r
377         behavior  can  be  modified by specifying a non zero argument in\r
378         the .list or .nlist directive:  \r
379 \r
380             .nlist   1,(!,lst)  ; enables listing even within\r
381                                 ; a FALSE conditional block\r
382 \r
383 \r
384 \r
385            The .bndry assembler directive has been added to ASxxxx.  The\r
386         .bndry directive changes the  current  location  address  to  be\r
387         evenly divisible by a specified integer value.  \r
388 \r
389         e.g.    .org    0\r
390                 .bndry  4\r
391                 ; . == 0\r
392         \r
393                 .org    1\r
394                 .bndry  4\r
395                 ; . == 4\r
396 \r
397 \r
398 \r
399         2009_02\r
400            Added the Cypress PSoc (M8C) ASM8C assembler\r
401            to ASxxxx.\r
402         \r
403         \r
404         2008_09\r
405            Added the 8048 (8021, 8022, and 8041) AS8048\r
406            assembler to Asxxxx.\r
407         \r
408         \r
409         2008_02\r
410            Added the SC/MP ASSCMP assembler to ASxxxx.\r
411 \r
412 \r
413         2008_02_03 (Version 4.11 Update 4)\r
414         \r
415            An update to the AS2650 assembler to\r
416            fix the following errors:\r
417         \r
418            1)  The indexed addressing mode generates invalid\r
419                code by using the first argument register as\r
420                the index register: (addr = 0x1234)\r
421         \r
422                    loda    r0,[addr,r1]          0C F2 34\r
423                            this should give      0D F2 34\r
424         \r
425            2)  The index addressing mode did not generate\r
426                an addressing error when the first argument\r
427                register was not r0:\r
428         \r
429                    stra    r1,[addr,r2]  should give an <a>\r
430                            error, the source must be r0\r
431         \r
432         \r
433                    loda    r2,[addr,r3]  should give an <a>\r
434                            error, the destination must be r0\r
435         \r
436            3)  The S2650 auto increment and decrement indexing \r
437                modes always perform the register update before\r
438                the register is used. i.e. +Rn or -Rn.  The\r
439                assembler now accepts +Rn or Rn+ as meaning\r
440                pre-increment and -Rn or Rn- as meaning\r
441                pre-decrement.\r
442         \r
443         \r
444            The AS2650 assembler tstscn files have been updated\r
445            for testing the assemblers.\r
446         \r
447         \r
448         \r
449         2007_10_21 (Version 4.11 Fix)\r
450         \r
451            In the AS6816 assembler the instruction ANDP gives\r
452            wrong object code. Changed from 37 2A  to  37 3A.\r
453 \r
454         2007_04_01 (Version 4.11 Update 3)\r
455         \r
456            An update to the ASPIC assembler and\r
457            associated fix to ASLINK:\r
458         \r
459            1)  Change the pic addressing to lo/hi from hi/lo\r
460                byte ordering.\r
461         \r
462            2)  The update fixes an error in the pic17 series\r
463                LCALL instruction.\r
464         \r
465            3)  A rewrite of the pic18 series assembler to change\r
466                the PC addressing from 1 per 16-bit word to 1 per\r
467                8-bit byte and add the extended instruction set.\r
468         \r
469            4)  Modify the Linker Merge Mode processing to take into\r
470                account the discarded low order bits for PC Relative\r
471                Addressing.\r
472         \r
473            5)  New  tstscn files for testing the assemblers.\r
474         \r
475          \r
476         2006_11_01 (Version 4.11 Optional Update 2)\r
477         \r
478            1)  OS9  definition files and an  OS9 assembler module\r
479                which creates the OS9 header, code and data areas,\r
480                and the module CRC block:\r
481         \r
482                     os9_mod.def       OS9 Module Definitions\r
483                     os9_sys.def       OS9 Sytem  Definitions\r
484                     os9_mod.asm       OS9 Module Begin / End Code\r
485         \r
486            2)  a program, s19os9, to post-process  assembled  OS9\r
487                modules in  S19  format into  binary  OS9  modules\r
488                with the appropriate  header  checksum  and module\r
489                CRC values calculated.\r
490         \r
491            3)  new  make  and  project files which may be used to\r
492                compile the s19os9 program.\r
493 \r
494         2006_11_01 (Version 4.11 Optional Update 01)\r
495         \r
496            The .list  and  .nlist  directives  are  now  modified\r
497            by .if / .else / .endif  processing  so  that they are\r
498            active only in a TRUE clause.\r
499         \r
500            The  .page  and  .include  directives are now modified\r
501            by the .list and .nlist  directives so that pagination\r
502            occurs only when listing is active.\r
503         \r
504            The new  default functionality for the  .list,  .nlist\r
505            and .page directives may  be  modified by including an\r
506            optional argument  in the  directive as shown here for\r
507            the the .list directive:\r
508         \r
509               .list    arg\r
510         \r
511            a non-zero argument invokes the directive irrespective\r
512            of the .if / .else / .endif status.\r
513         \r
514         \r
515         2006_07_26 (Version 4.11 Patch 01)\r
516         \r
517            The  assembly  of  a  direct  page  instruction with a\r
518            numeric  constant  causes a program  crash when a .rel\r
519            file is created. e.g.:\r
520         \r
521                 andb    *0x02\r
522         \r
523         \r
524            The  use  of  a  symbolic  constant  or  symbol plus a\r
525            a constant compiles normally.\r
526         \r
527                 val = 0x02\r
528         \r
529                 andb    *val\r
530                 andb    *extern+0x01\r
531         \r
532         \r
533            The assemblers effected are:\r
534         \r
535                 as6809\r
536                 as6812\r
537                 ash8\r
538                 aspic\r
539 \r
540 \r
541            Summary  of  changes/additions  to the ASxxxx Assemblers from\r
542         Version 4.10 to Version 4.11.  \r
543 \r
544              1.  Incorporated  the patches contained in p01410.zip which\r
545                  corrected a coding error that affected BANKS containing\r
546                  multiple ABS areas or mixed AREA types.  \r
547 \r
548              2.  Incorporated  the patches contained in p02410.zip which\r
549                  corrected improper use of  R_USGN  in  most  addressing\r
550                  modes  in AS6500.  This caused unexpected <a> errors in\r
551                  V4.xx because of the ASxxxx core change to  32-bit  in-\r
552                  tegers and arithmetic.  \r
553 \r
554              3.  Incorporated  the patches contained in p03410.zip which\r
555                  corrected errors in the  .local  and  .globl  assembler\r
556                  directive  processing  routine that introduced unwanted\r
557                  side effects for variable and symbol definition  files.\r
558                  These  effects included improper definitions and incor-\r
559                  rect error warnings.  \r
560 \r
561              4.  The  following  new subdirectories and their files have\r
562                  been added to the asxtst directory:  \r
563 \r
564                   *  areabank     Area and Bank Processing Test \r
565                      This  directory  contains  several  test  programs:\r
566                      ts.asm (single file - multiple areas), tm1.asm  and\r
567                      tm2.asm  (multiple  file  -  multiple  areas),  and\r
568                      tbm.asm, tbm1.asm, and tbm2.asm ( multiple  file  -\r
569                      multiple  areas  within  a  bank) and several other\r
570                      files which verify the  correct  operation  of  the\r
571                      linker  when used with a single linked file, multi-\r
572                      ple linked files having no  banking,  and  multiple\r
573                      linked  files  with banking.  These reference files\r
574                      show in detail how the .area and  .bank  directives\r
575                      work together.  \r
576 \r
577                   *  equtst       Equate Processing Test \r
578                      This  directory  contains a test file for verifying\r
579                      the operation of the .globl, .local, .equ, .gblequ,\r
580                      and  .lclequ  directives  and  the  =,  ==,  and =:\r
581                      equalities.  \r
582 \r
583                   *  inctst       Nested Include File Test \r
584 \r
585                   *  itst         Include File Error Reporting Test \r
586 \r
587 \r
588              5.  Incorporated  the updates contained in u01410.zip which\r
589                  added 10 undocumented 8085 instructions to  the  AS8085\r
590                  assembler.  \r
591 \r
592 \r
593            Summary  of  changes/additions  to the ASxxxx Assemblers from\r
594         Version 4.00 to Version 4.10.  \r
595 \r
596              1.  Added new assemblers for the Zilog EZ80, Zilog Z8, Sig-\r
597                  netics 2650, and Fujitsu F2MC8(L,FX) processors.  \r
598 \r
599              2.  Added the processor cycle count option (-c) to all pro-\r
600                  cessors.  \r
601 \r
602              3.  Several   of  the  assemblers  (ASZ80,  ASRAB,  AS6805,\r
603                  AS6808, AS6812, ASF2MC8, ...) now  support  subsets  or\r
604                  supersets  of  their basic opcodes by the use of assem-\r
605                  bler specific directives.  \r
606 \r
607              4.  Added .ifeq, .ifne, .iflt, .ifgt, .ifle, and .ifge con-\r
608                  ditional assembly directives.  \r
609 \r
610              5.  Added  support  for the Tandy Color Computer Disc Basic\r
611                  binary file format to ASLINK.  \r
612 \r
613              6.  Problem:  \r
614                  When  an area size is equal to the 'address space size'\r
615                  the size parameter is reported as 0.  (A normal  condi-\r
616                  tion  caused  by  address rollover to 0.) Aslink inter-\r
617                  preted this as a 0 size.  \r
618 \r
619                  Fix:  \r
620                  A  new area 'Output Code Flag' bit was defined to indi-\r
621                  cate when data is  defined  in  an  area.   ASxxxx  and\r
622                  Aslink  have  been updated to set and process this area\r
623                  flag bit.  \r
624 \r
625              7.  Problem:  \r
626                  The  use  of  the .end assembler directive in an Asxxxx\r
627                  assembler would cause Aslink  to  output  the  optional\r
628                  start address in all output files.  \r
629 \r
630                  Fix:  \r
631                  Updated  Aslink  to  output  the optional start address\r
632                  only in the output file associated with  the  area/bank\r
633                  containing the .end directive.  \r
634 \r
635              8.  Problem:  \r
636                  Aslink  creates  output  files for banks with no output\r
637                  data.  \r
638 \r
639                  Fix:  \r
640                  Aslink  now  deletes  any created output file for banks\r
641                  with no data.  \r
642 \r
643              9.  Incorporated  the  patches  contained in p01400.zip for\r
644                  files t1802.asm and 1802pst.c to correct for  an  error\r
645                  in  the  opcodes  generated  for  the  BM,  BL, and BNF\r
646                  mnemonics.  \r
647 \r
648             10.  Incorporated  the  patches  contained in p02400.zip for\r
649                  file ds8adr.c to correct for an  error  in  the  direct\r
650                  page addressing mode of AS8xCxxx.  \r
651 \r
652             11.  Incorporated  the  patches  contained in p03400.zip for\r
653                  file rabmch.c to correct for an error in the processing\r
654                  of the "ret cc" instruction.  \r
655 \r
656             12.  Made many corrections to internal code comments.  \r