univac 1005
Sperry Rand · Federal Systems Division
Card Processing System
SER. NO. 0001-A · 1966
Operator Console P-100
Power
Run
Halt
Overflow
End File
Equal
Less
Greater
000
P · Counter
_
A · Accum
000
X · Index
Clock
40 Hz
SAAL Source · Single-Address Assembler P-200
Ready. Click LOAD to assemble.
§ Programmer's Manual
SAAL · 21 instructions · 6 worked examples
Programmer's Reference

SAAL Format: LABEL OPC OPERAND1, OPERAND2, OPERAND3 * comment
Lines beginning with * are comments. Operand fields are comma-separated. Whitespace is flexible.

Memory Map (961 chars):

SymbolRangeUse
CARD000–079Card read buffer (80c)
PRT 080–211Print line buffer (132c)
PCH 212–291Card punch buffer (80c)
WORK292–960Program + working storage

Instructions (each occupies 12 chars in core):

OpOperandsEffect
LDAaddrA ← M[addr]
STAaddrM[addr] ← A
ADDaddrA ← A + M[addr] (digit, sets OV)
SUBaddrA ← A − M[addr] (digit)
ADFsrc,dst,lenM[dst..] ← M[dst..] + M[src..] (BCD field)
SBFsrc,dst,lenBCD field subtract
MVCsrc,dst,lenMove len chars
CLRaddr,,lenFill len chars with space
CMPa,b,lenCompare fields, set EQ/LT/GT
INCaddr,,lenIncrement BCD field by 1
DECaddr,,lenDecrement BCD field by 1
JMPaddrP ← addr
JEQaddrJump if EQ flag
JNEaddrJump if not EQ
JLTaddrJump if LT flag
JGTaddrJump if GT flag
JOVaddrJump on overflow (clears flag)
JEFaddrJump on End-of-File from card reader
RDCRead next card into CARD; sets EOF if hopper empty
PRTPrint PRT buffer, clear, advance paper
PCHPunch card from PCH buffer, clear
HLTHalt processor

Directives:

ORG addrSet assembly origin (default 292)
LBL EQU nDefine symbol = numeric value
LBL DC 'TEXT'Define char constant(s)
LBL DC 12345Define numeric digits
LBL DS nReserve n spaces
ENDEnd of source

Operand forms: a number (e.g. 080), a symbol (CARD), or symbol+offset (CARD+5). Use empty operand for unused fields: CLR PRT,,132

Core Memory · 961 Char · 6-Bit M-300
Card In Print Card Out Program
Card Reader · 400 CPM R-400
0 cards loaded
0 cards read
Drum Printer · 400 LPM P-500
Card Punch · 200 CPM U-600