An assembler or compiler prepares a machine language tape suitable for
direct interpretation by the computer from a program tape in operator
language. Generally speaking, one statement accepted by FRAP produces
one instruction for the machine. A single statement written for the
PDP-3 compiler, DECAL-3, may cause several instructions to be written.
Thus, FRAP causes a 1 for 1 mapping of instructions for statements while
DECAL may produce many instructions from one statement.
In addition to allowing program tapes to be prepared with off line
equipment, an assembly program has other functions. Normally, the
machine would require 36 bits or 12 octal digits to be written for each
instruction used in the machine. FRAP allows mnemonic symbols to be used
for the instructions. These mnemonic symbols aid the programmer by
representing the instruction in an easily remembered form.
In addition to allowing mnemonic symbols to represent the instructions,
variable length sequences of alphanumeric characters may be used to
represent memory addresses in symbolic form. The assembly program does
the address bookkeeping for the programmer. A short example of a FRAP
program is on Page 29.
Since few characters limit or control the format of instructions written
in FRAP-3 language, it is possible to write instructions in almost any
format or style.
FRAP-3 may also be used to prepare tapes for interpretive programming,
since arbitrary definitions for operation code symbols are permitted.
A feature useful both for ease of programming and for machine simulation
is the ability to call for a series of instructions (macro-instruction)
to be written. Frequently used instruction sequences thus need only to
be defined once.