home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / appleii / appxas.1 / user.nr < prev   
Text File  |  2020-01-01  |  4KB  |  161 lines

  1. .de hd
  2. 'sp 3
  3. .tl ''\fBas6502 User Notes\fR'Page %'
  4. 'sp 2
  5. ..
  6. .de fo
  7. 'bp
  8. ..
  9. .wh 0 hd
  10. .wh -3 fo
  11. .br
  12. \fBSOURCE LINE FORMAT\fR:
  13. .ti 0.5i
  14. .sp 1
  15. <label> <operation> <operand> <comment>
  16. .sp 1
  17. Each field is terminated by one or more spaces, a tab or a ';' (which
  18. begins the comment field immediately).
  19. .sp
  20. \fBLABEL FIELD\fR:
  21. .sp 1
  22. If first character is ';', entire line is a comment.
  23. If first character is space, label field is null.
  24. Labels are alphanumeric strings beginning
  25. with 'a' through 'z', 'A' through 'Z',
  26. underscore or period followed by any of the above
  27. characters or '0' through '9'.
  28. Currently, labels are limited to 19 characters.
  29. A, X, Y, a, x and y are reserved labels.
  30. .sp
  31. \fBOPERATION FIELD\fR:
  32. .sp 1
  33. Upper and lower case letters are equivalent.
  34. Machine operation mnemonics are:
  35. .in 0.5i
  36. .nf
  37. .sp 1
  38. ADC     BMI     CLD     DEX     JSR     PHA     RTS     STY
  39. AND     BNE     CLI     DEY     LDA     PHP     SBC     TAX
  40. ASL     BPL     CLV     EOR     LDX     PLA     SEC     TAY
  41. BCC     BRK     CMP     INC     LDY     PLP     SED     TSX
  42. BCS     BVC     CPX     INX     LSR     ROL     SEI     TXA
  43. BEQ     BVS     CPY     INY     NOP     ROR     STA     TXS
  44. BIT     CLC     DEC     JMP     ORA     RTI     STX     TYA
  45. BRA     DEA     INA     PHX     PHY     PLX     PLY     STZ   TRB  TSB
  46. .in 0
  47. .fi
  48. .sp 1
  49. Pseudo operation mnemonics are:
  50. .in 1.2i
  51. .ti 0.5i
  52. .sp 1
  53. =      equate label name to operand field value
  54. (space is not needed to terminate this operation).
  55. .ti 0.5i
  56. *=     set location counter to operand field value
  57. (space is not needed to terminate this operation).
  58. .ti 0.5i
  59. .tr*.
  60. *WORD  assign 16 bit value of operand field to next
  61. two locations; low byte of value first, then high byte.
  62. .ti 0.5i
  63. *DBYT  assign 16 bit value of operand field to next
  64. two locations; high byte of value first, then low byte.
  65. .ti 0.5i
  66. *BYTE  assign 8 bit value of operand field to next
  67. location.
  68. .ti 0.5i
  69. *NLST  turn listing mode off (this source
  70. line is not listed).
  71. .ti 0.5i
  72. *LIST  turn listing mode on (normal mode) (this
  73. source line is not listed).
  74. .tr**
  75. .in 0
  76. .sp 1
  77. \fBOPERAND FIELD\fR:
  78. .sp 1
  79. Operand field expressions use infix notation and are evaluated strictly
  80. from left to right.
  81. No imbedded spaces are permitted.
  82. .sp 1
  83. Operand field terms include labels and numbers.
  84. Asterisk (*) is the label for the location counter value.
  85. Numbers are binary, octal, decimal, hexadecimal or ASCII.
  86. Number type is indicated by the first character of the number string as follows:
  87. .nf
  88. .in 0.5i
  89. .sp 1
  90. %       binary prefix
  91. @ or 0  octal prefix
  92. 1 - 9   decimal by default (prefix is part of number)
  93. $       hexadecimal prefix
  94. .tr,'
  95. ,       ASCII character prefix
  96. .tr,,
  97. "       ASCII character string prefix and suffix; in the
  98.         string, \\t is a tab character, \\n is a new line.
  99. .in 0
  100. .fi
  101. .sp 1
  102. Operand field operations and the corresponding symbols are:
  103. .in 0.5i
  104. .nf
  105. .sp 1
  106. +       addition
  107. -       subtraction
  108. /       division
  109. *       multiplication
  110. %       modulo (remainder after integer division)
  111. ^       logical exclusive OR
  112. &       logical AND
  113. |       logical OR
  114. <       low byte
  115. >       high byte
  116. .in 0
  117. .fi
  118. .sp 1
  119. \fBERROR MESSAGES\fR:
  120. .in 0.5i
  121. .nf
  122. .sp 1
  123. Invalid operation code
  124. Invalid argument count (when as6502 was invoked)
  125. Open error for file
  126. Creat error for object file 6502.out
  127. Close error
  128. Close error (6502.out)
  129. Symbol table full
  130. Label multiply defined
  131. Sync error (pass 1 symbol value not equal pass 2 symbol value)
  132. Invalid branch address
  133. Operand field missing
  134. Invalid addressing mode
  135. Operand field size error
  136. Undefined symbol in operand field
  137. Invalid operand field
  138. .fi
  139. .in 0
  140. .sp 1
  141. \fBINVOKING as6502\fR:
  142. .sp 1
  143. .ti 0.5i
  144. as6502 {-ilnos} <source files descriptions>
  145. .sp 1
  146. Options:
  147. .in 0.5i
  148. .nf
  149. .sp 1
  150. -i   ignore any .nlst pseudo operations
  151. -l   list errors only
  152. -n   print addresses as <high byte><low byte>,
  153.      rather than as <low byte>:<high byte>.
  154. -o   generate ASCII object output in file 6502.out,
  155.      format is
  156.           ;<address lo><address hi><data>
  157. -s   print symbol table at end of listing
  158. -v   print assembler version
  159.  
  160.                      J. H. Van Ornum  11/5/84
  161.