Jump to content

Symbolic Assembly Program

From Alfawiki
Adapted from the English Wikipedia article Symbolic Assembly Program, available under CC BY-SA 4.0Updated 9 August 2025
Symbolic Assembly Program (SAP)
Company typeSoftware
IndustryComputer software
PredecessorNYAP1 (New York Assembly Program 1)
Founded1956
FounderRoy Nutt
Headquarters
United States
ProductsAssembler for IBM 704 computer

The Symbolic Assembly Program (SAP) is an assembler developed for the IBM 704 computer by Roy Nutt at United Aircraft Corporation. Initially released in 1956 through the SHARE user group under the name Share Assembly Program, SAP replaced the earlier NYAP1 (New York Assembly Program 1) and quickly became the preferred assembler among IBM 704 users. It introduced an assembly language structure that shaped future assembler designs and has largely persisted in its form to this day.

DARSIMCO (Dartmouth Simplified Code) was a straightforward programming language devised by John Kemeny in 1956, which converted elementary mathematical operations into programs assembled by SAP.

Description

SAP operates as a two-pass assembler tailored for the IBM 704 system, requiring a minimum of 4 K 36-bit words of main memory and accommodating up to 1097 entries in its symbol table. Increasing memory capacity allows for a larger number of symbols.

The assembler processes input and output through punched cards or their tape-based card image equivalents, with input formatted in a fixed layout.

Input format

Card columns Description
1-6 label or left blank
7 blank space
8-10 three-character operation code or left blank
11 blank space
12-72 variable content field
73-80 not utilized by the assembler; may contain identification or sequence information

Output format

The output comprises absolute or relocatable punched cards or card images containing binary data distributed across twelve rows (12, 11, and 0 through 9). Each row includes two 36-bit words: one in columns 1–36 (left) and another in columns 37–72 (right). Words are identified by their row and position, such as 9L for the left word on row 9. Bits within each word are labeled with S for the sign bit followed by bits numbered 1 to 35.

Word 9L functions as a control word that specifies data characteristics including whether the data is absolute or relocatable, if a checksum is present, data location, and the count of words. Word 9R may optionally contain a checksum value.

External links