mirror of
https://github.com/mikpe/pdp10-tools.git
synced 2026-01-11 23:53:19 +00:00
53 lines
1.1 KiB
Plaintext
53 lines
1.1 KiB
Plaintext
* strip whitespace, leave one space before a keyword on a line, compress any
|
|
other whitespace to a single space
|
|
* white is blank, tab, /* ... */
|
|
* target-spec line comment, .e.g. #
|
|
* symbol = [letter | _ | . | $] [letter | _ | . | $ | digit]*
|
|
* stmt: {label}* { directive | instruction | empty }
|
|
|
|
* %r0..%r15 with %sp == %r15 ? (no, % is also an operator)
|
|
* $0..$15 with $sp == $15? (yes, these are just symbols)
|
|
|
|
|
|
* PDP10 syntax:
|
|
|
|
mnemonic accumulator,address
|
|
|
|
movem 1,foo
|
|
|
|
mnemonic accumulator,
|
|
|
|
popj 17,
|
|
|
|
mnemonic address
|
|
|
|
setzm foo
|
|
|
|
skipe 0(16)
|
|
|
|
address prefixed by "@" makes it indirect
|
|
|
|
setzm @foo
|
|
|
|
address suffixed by "(ixreg)" makes it indexed
|
|
|
|
setzm 3(16)
|
|
|
|
|
|
";" is line comment char
|
|
|
|
foo ;comment
|
|
|
|
radix is 8 by default; a single-digit number is always decimal
|
|
radix can be changed by the RADIX directive
|
|
a number can indicate its radix by a ^B, ^O, or ^D prefix (XXX: add ^X for hex)
|
|
|
|
symbols can use letters, digits, dot, dollar, and percent signs
|
|
|
|
exp1,,exp2 assembles two 18-bit expressions into a 36-bit value
|
|
|
|
< expr > parenteses
|
|
|
|
there is no "semi-colon" like symbol for putting multiple statements
|
|
on a single line
|