1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-13 15:27:28 +00:00
PDP-10.its/doc/klotz/dec.pseudo
Lars Brinkhoff 36339cdf15 Maclisp cross assembler for 6502.
Courtesy of Leigh Klotz.
2021-06-22 20:10:35 +02:00

124 lines
4.2 KiB
Plaintext
Executable File

MacLisp Cross Assembler Documentation. KLOTZ.
DEC compatability pseudo-op stuff.
; Begins comment field
' Indicates single ASCII character as a term in expressions.
^O Indicates octal number
^B Indicates binary number
= Symbol assignment
. Current location counter
$ Indicates hexadecimal number
Default radix is decimal.
.ADDR Generates a 16-bit address with the bytes in the proper order,
i.e., <low> <high>.[TO DO]
.ASCII ASCII string delimited by paired markers.
.ASCIZ ASCIZ string delimited by paired markers and supplied with
terminal null byte.
.BLKBA Allocate space for a number of bytes as specified by the operand.
.BLKW Allocate space for a number of words as specified by the operand.
.BYTE Each expression supplied will be stored in a single byte.[In
progress. Eval-Expression does what with commas, and best way to cons it
up.]
.END End of program.
.ISET Specifies the instruction set to be used, "6502" or "TI990".
.PAGE Force a page break. Does nothing useful now.
.PRINT Print the text which follows on the terminal.
.RADIX Change the radix to the value specified to this directive.
.SBTTL Specify subtitle text. Prints out TOC on screen if
SILENT-RUNNING isn't specified (via the /N switch.)
.TITLE Specify title text.
.WORD Allocate space for each value specified. [Same as .BYTE for 8 bit machines.]
-------------------------
Things for the Future:
.REPT (.REPT <n>) Repeat the body of this directive the indicated
number of times.
.NTYPE sym,arg The symbol is equated to the addressing mode of the argument.
.NCHR sym,<str> The symbol is equated to the number of characters in <str>
.NARG sym The symbol is equated to the number of arguments to the macro
.MEXIT Leave macro expansion
Begin a macro definition
.MCALL Call macros from the system library.
.IRPC sym,<str>Indefinite repeat of body based upon number of characters in
<str>.
.MACRO name <arglist>Immediate if; if condition is met, stmnt is emitted.
.IRP sym,<arglist> Indefinite repeat of body based upon number of parameters in
<arglist>..IIF condition, arg, stmnt
.IF Enter a conditional.
.IFDF .IFDF <symbol> true if symbol is defined. See also .IFNDF.
.IFEQ .IFEQ <expression> true if expression evaluates to zero.
.IFF Begins body of conditional if enclosing condition was false.
.IFG .IFG <expression> true if expression greater than zero.
.IFGE .IFG <expression> true if expression greater than or equal to
zero.
.IFGT Same as .IFG
.IFL .IFL <expression> true if expression is negative.
.IFLE .IFLE <expression> true if expression is negative or zero.
.IFLT Same as .IFL.
.IFNDF .IFNDF <symbol> true if symbol is undefined.
.IFNE .IFNE <expression> true if expression is non-zero.
.IFNZ Same as .IFNE
.IFT Begins body of conditional if enclosing condition was true.
.IFZ Same as .IFE
.IIF condition, arg, stmnt
Immediate if; if condition is met, stmnt is emitted.
.IRP sym,<arglist> Indefinite repeat of body based upon number of parameters in
<arglist>.
[Nui mahope.]
.IRPC sym,<str>Indefinite repeat of body based upon number of characters in
<str>.
.MACRO name <arglist>
Begin a macro definition
.MEXIT Leave macro expansion
.NARG sym The symbol is equated to the number of arguments to the macro
.NCHR sym,<str> The symbol is equated to the number of characters in <str>
.NTYPE sym,arg The symbol is equated to the addressing mode of the argument.
--------------------
Assembler syntax quick summary
<...> Encloses any expression (the assembler's equivalent of
parentheses). Expressions are evaluated left-to-right without
operator heirarchy.
+ Addition or unary plus
- Subtraction or unary minus
* Multiplication
/ Division