home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / prog2 / a86.lzh / NEW305.DOC < prev    next >
Encoding:
Text File  |  1987-06-05  |  4.6 KB  |  122 lines

  1. A86 assembler package   V3.05        June 5, 1987
  2. D86 debugger package    V2.24        June 5, 1987
  3. Both entire packages are Copyright (C)1986-1987 Eric Isaacson.
  4. All rights reserved.
  5.  
  6. This NEW305.ARC package is for those who have already downloaded 
  7. one of the complete packages V3.00 through V3.04 of A86, and want 
  8. to make the minor upgrade to V3.05.  The terms and conditions 
  9. found in Chapter 1 of the full A86 package apply to this package 
  10. as well.  This document tells you what you need to know about 
  11. V3.05. 
  12.  
  13. The package also includes D86 V2.24, for those who have the 
  14. entire V2.22 or V2.23 packages.
  15.  
  16.  
  17.  
  18. New Features
  19.  
  20. I changed the display of source file names from 5-per-line to
  21. 4-per-line, to accommodate the longer path names derived from 
  22. A86.LIB libraries.
  23.  
  24. I've added recognition of SEGMENT AT in non-OMF mode, for MASM-
  25. compatibility.  The directive "segname SEGMENT AT atvalue" is 
  26. interpreted as if it were the directives "segname EQU atvalue" 
  27. followed by "STRUC".
  28.  
  29. I've also added a couple of switches, at a user's request:
  30.  
  31. +C  causes the assembler to be sensitive to upper- vs. lower-case
  32.     for all symbols, so that routines with lower-case names can 
  33.     be created for linking to C programs.  WARNING: I provide 
  34.     only limited support for this right now.  In particular, if 
  35.     you use this option, you MUST give all built-in symbol names 
  36.     in ALL CAPS.  And D86 doesn't recognize this yet-- although 
  37.     D86 will correctly disassemble symbols containing lower-case 
  38.     letters, you won't be able to refer to such symbols in D86 
  39.     commands, because D86 will convert your references to all-
  40.     upper-case.
  41.  
  42. -C  causes A86 to ignore upper- vs. lower-case in all symbol 
  43.     names.
  44.  
  45. +S  suppresses the creation of the symbol-table (.SYM) file in 
  46.     normal (no errors) assembly.  This is overridden if you give 
  47.     an explicit symbols-file name in the invocation line.
  48.  
  49. -S  causes the symbol-table file to be created in all cases.
  50.  
  51.  
  52. Bug fixes
  53.  
  54. There have also been the inevitable bugs discovered just after a 
  55. major release.  Bugs fixed are: 
  56.  
  57. 1. In V3.00 only, not in earlier versions, an erroneous source 
  58. file was renamed to no extension, instead of a .OLD or .ERR 
  59. extension as the assembler claimed.  A benign but highly 
  60. embarrassing bug!
  61.  
  62. 2. If a macro parameter occurred at the beginning of a line, 
  63. then any following blanks were completely eliminated from the 
  64. macro definition.  The definition should (and now does) reduce a 
  65. sequence of blanks to one blank, not none.
  66.  
  67. 3. The BOUND, Shift-rotate, and many 87 instructions did not 
  68. accept size-specifiers in relocatable and/or forward-reference 
  69. operands.
  70.  
  71. 4. Near JMPs and CALLs between logical segments in OBJ mode were 
  72. not supported in all cases.
  73.  
  74. 5. If there were = or # operands in the invocation, and there 
  75. were undefined symbols in subsequent source file names, then A86 
  76. got the file names wrong in the undefined symbols listing.  A86 
  77. also got the listing wrong for undefined symbols from library 
  78. files.
  79.  
  80. 6. Segment-override operators in 3-operand MOV instructions 
  81. produced unexpected results.  I now outlaw this.
  82.  
  83. 7. INC FOO,2 where FOO is relocatable or undefined didn't produce 
  84. the correct code.  I've outlawed this as well: you probably want 
  85. ADD FOO,2 anyway.
  86.  
  87. 8. JMP $+5 is now MASM-compatible.
  88.  
  89. 9. MOV B[1+BX],0 now assembles successfully.
  90.  
  91. 10. There was a serious bug in versions 3.00 and 3.01, that 
  92. caused fixup records not to be generated under certain conditions 
  93. when modules had more than one segment being assembled.  This has 
  94. been corrected.
  95.  
  96. 11. There was a bug in Versions 3.00 through 3.02, in which MASM 
  97. directive beginning with a period that should be ignored by A86 
  98. were instead flagged with an error.  An embarrassing side-effect 
  99. was that all subsequent new symbols caused an error also.
  100.  
  101. 12. XREF 3.00 did not recognize double-quoted strings, and 
  102. processed their contents as symbol references.
  103.  
  104. 13. If a forward reference to a label had an indexing register, 
  105. the register became part of the label's definition.
  106.  
  107. 14. _TEXT declared in a GROUP directive misbehaved.
  108.  
  109. 15. Certain classes of forward references to different segments 
  110. in OBJ mode did not assemble correctly.
  111.  
  112. New D86 features
  113.  
  114. D86 V2.24 now supports the Sanyo 500 and 555 and the Tandy 2000 
  115. computers.
  116.  
  117. There is also an embellishment to the memory window command: if 
  118. you key in a digit and the cursor moves to an existing memory 
  119. window that you didn't intend to reset, you can hit the ESC key.  
  120. The existing window will be saved.
  121.  
  122.