PiDP-8/I Software

Changes To A Field Guide to PDP-8 Assemblers
Log In

Changes to "A Field Guide to PDP-8 Assemblers" between 2018-01-27 14:14:44 and 2018-01-27 14:31:03

202
203
204
205
206
207
208
209

210
211
212
213
214

215
216
217
218
219
220
221
202
203
204
205
206
207
208

209
210
211
212
213
214
215
216
217
218
219
220
221
222







-
+





+








### <a id="pal8" name="pal-8"></a>PAL8

The earliest attestation to the PAL8 assembler I've been able to find is in the May 1970 printing of [Programming Languages][pl], the second in a two-volume set on programming PDP-8 family computers. (The first volume being [Introduction to Programming][ip].) On page 14-7 in the section on 8K PAL-D, it gives a Disk Monitor command for saving the in-core copy of 8K PAL-D as "PAL8". It is therefore unsurprising that the OS/8 version of PAL8 is morphologically more similar to [PAL-D](#pal-d) than to [PAL-III](#pal-iii).

The earliest reference to PAL8 as a named product of DEC is in the [PS/8 8K Programming System User's Guide][ps8ug] from October 1970, that product being the immediate predecessor of OS/8.

PAL8 understands the same basic language as PAL-D but generally has more features, most especially related to running under OS/8, such as the ability to set options via OS/8's command interpreter (CCL) rather than via the PDP-8's front panel switches.
PAL8 understands the same basic language as PAL-D but generally has more features, most especially related to running under OS/8.

I consider PAL8 the default assembler for OS/8 users. If none of the information below guides you to one of the other assemblers, you should probably start with PAL8. If you have a piece of assembly code that is meant to be assembled under OS/8, and you have no evidence that is for any other assembler, it's probably meant to be assembled by PAL8.

PAL8 has many features not present in 8K PAL-D:

*   assembly options set via OS/8 CCL flags rather than via front-panel switches
*   output option for producing input to [CREF][os8m]
*   more operators in expressions:
    *    `^` for 12-bit unsigned multiplication (`*` was already taken for setting the location counter)
    *    `%` for 12-bit unsigned division (`/` was already taken as the comment start character)
*   the `FIXMRI` pseudo-op is back
*   `EJECT` pseudo-op extended to allow the page header to be changed for the next and following pages
*   new pseudo-operations: