home *** CD-ROM | disk | FTP | other *** search
/ Share Gallery 1 / share_gal_1.zip / share_gal_1 / LA / LA003.ZIP / READ.ME < prev    next >
Text File  |  1990-02-19  |  5KB  |  112 lines

  1. This entire diskette is Copyright 1986,1987,1988,1989,1990 Eric Isaacson.
  2. All rights reserved.
  3. See the individual packages for permissions/restrictions.
  4.  
  5. This diskette contains new releases for the A86 assembler and 
  6. D86 debugger.  Everything except the file REG_ONLY.ZIP (if you 
  7. have it) can be copied and distributed.  Please upload the other 
  8. ZIP files to bulletin boards, and give them to user groups, 
  9. computer departments in schools, and anyone else you think might 
  10. be interested in an assembler or a debugger package for the
  11. IBM-PC. 
  12.  
  13. REG_ONLY.ZIP is the file containing materials available only to 
  14. registered users.  If you don't see it on this disk, you need to 
  15. register to get it.  If you do see it, it is for your use only.  
  16. You may NOT distribute it.  Please support my products by 
  17. honoring this restriction. 
  18.  
  19. You need to read the manuals to use these programs -- they're
  20. just too complex to be self-explanatory.  Chapter 2 of each
  21. manual takes you through a trial demonstration.
  22.  
  23.  
  24. What's New
  25.  
  26. I've added the AFIX package, a set of machine-readable
  27. specifications for modifying 61 .ASM files from PC Magazine's
  28. utilities, so they they will assemble under A86.  This means
  29. that there are now over 2 megabytes of publicly-available
  30. source code for A86.
  31.  
  32. Version 3.22 adds support for the additional instructions of
  33. the IIT-2C87 and the 80387 floating-point coprocessors.  I have
  34. also made a large number of minor fixes to increase A86's
  35. compatibility with programs written for MASM.
  36.  
  37. I have also fixed a couple of nasty bugs that were introduced with
  38. V3.20.  You may now once again use the PROC and LABEL directives,
  39. and you may code DB 100 DUP (' STACK');.
  40.  
  41. With V3.20 I introduced a few small incompatibilities to watch out for:
  42.  
  43.    * Formerly the DATA SEGMENT would start at offset 0 if
  44.      no ORG statement was given.  I hope to change this
  45.      in a future version, to start at the end of a COM
  46.      program.  So for a transition, A86 now outlaws an
  47.      ORGless first DATA SEGMENT.  You should explicitly
  48.      give an ORG 0 if that is what you want.
  49.  
  50.    * To prevent mistakenly-overlapping local labels, A86
  51.      now outlaws the following sequence:
  52.        L1:
  53.          JMP >L1
  54.          JMP L1
  55.        L1:
  56.  
  57.      If the operand to the second JMP is intended to be
  58.      the second L1 (which is what the previous versions
  59.      of A86 silently assumed), you now need to provide
  60.      a > before that L1.  If it is intended to be the
  61.      first L1, you need to rename one of the two labels.
  62.  
  63.    * A86 now accepts a wider class of forward references, 
  64.      including byte-sized immediate values, and (in OBJ mode) 
  65.      the loading of named segments and groups into registers, 
  66.      without having to provide an explicit SEG operator.  But
  67.      there was one case in which I thought A86 was too lax:
  68.      
  69.          MOV FOO W,09090  ; replace JMP with NOPs
  70.          ;....
  71.          CALL FOO
  72.          ;....
  73.        FOO:
  74.          JMP >L1
  75.          ; code executed after above JMP is NOPed out
  76.        L1:
  77.  
  78.      In the above sequence of (phew!) self-modifying code,
  79.      previous versions of A86 had assumed (correctly in this
  80.      sequence) that FOO would be a simple label, and not a
  81.      word variable.  This was inconsistent with A86's behavior
  82.      in other contexts, which is to assume from the MOV usage
  83.      that FOO is a word variable, and generate a word-indirect
  84.      form for CALL FOO.  The current version now generates the
  85.      indirect form, and then issues an error at FOO: when it 
  86.      sees it was wrong.  You need to code CALL NEAR FOO   .
  87.  
  88.  
  89. How to Get Everything
  90.  
  91. The packages consist of many files, packed tightly into a few 
  92. files with the ZIP extension.  I have provided the batch file 
  93. UNPACK.BAT that unpacks everything except the manual  to the 
  94. current drive and directory.  You should either go to a new 
  95. subdirectory on your hard drive, or to a blank, formatted floppy 
  96. on your B floppy drive.  Then issue the command A:UNPACK to the 
  97. DOS prompt. 
  98.  
  99. Among the unpacked files will be more .BAT files, used for 
  100. unpacking the manual (all the .DOC files).  The files 
  101. UNPACKA.BAT and UNPACKD.BAT will unpack the A86 and D86 manuals, 
  102. respectively, to your current drive and directory.  The manuals 
  103. are huge, so there won't be room for both on a 360K floppy.  The 
  104. files PRINTA86.BAT and PRINTD86.BAT will use PKUNZIP's print 
  105. feature to print the DOC files directly from the ZIP files on 
  106. the A drive, without cluttering up your disk with the unpacked 
  107. versions.
  108.  
  109. Finally, the command A:PKUNZIP A:AFIX* will unpack the AFIX
  110. conversion toolkit to the current drive and directory.
  111.  
  112.