$Id: BUGS,v 1.2 2003/03/07 03:46:19 chl Exp $

Differences between MASD and kasm:

- kasm requires a space or tab before a "%" or ";" in order to
  recgonize a comment, unless the comment is at the beginning of a
  line. (In Assembly mode.)

- kasm will not allow you to define a constant (via DC, EQU or DEFINE)
  that has the name of one of the register fields, unless you include
  the name of the constant inside quotes (").

- DEFINE, EQU and DC in Assembly mode all default to using decimal
  numbers. Use a '$' in front of a number if you want the number to be
  interpreted as hexadecimal.

- When using LA(x) or LC(x) instructions, you'll only get good results
  if x is less than or equal to 8. Simply LA or LC will work for any
  number of hexadecimal digits, but expressions cannot be used in this
  case. However, LA #dddd...d also has the problem.

- $(x) or CON(x) only allow x to be in the range 1-8.

- Some tests do not allow this construction:
  test {
    ...
  }
  when the brace is on the same line as the test. To use this
  construct, use SKIPYES before the opening brace (preferred) or put
  the brace on another line.

- There are no local labels or link labels. All labels are global. An
  '=' sign in front of a label is ignored, but it does not enforce the
  use of its absolute address.

- Creating a single pointer with kasm (like trying to create just DUP)
  will probably not work. The pointer should be enclosed in a
  secondary.

- When outputting BINTs, kasm will never use a built-in bint. To use a
  built-in BINT, you have to use its entry specifically.

- EQU, DC and DEFINE in System RPL mode do not accept expressions,
  only hexadecimal numbers (without the '$' in front). Full support
  for expressions is available for these pseudo-instructions in
  Assembly mode.


General bugs:

- Error reporting is not 100% accurate regarding line numbers. The
  actual line numbers sometimes are offset by 1 from the real line,
  and sometimes even more.

- In a few cases, real numbers are not generated correctly. For
  example, "% 1.2348" generates "1.234799999", because of the
  differences in the way the computer and the HP represent real
  numbers.
