univac 1004
Sperry Rand · Card Processor · Plug-Board Programmed
400 CPM Reader · 400 LPM Printer
SER. NO. 1004-A · 1962
Operator Console P-100
Power
Run
Halt
Overflow
End File
Equal
Low
High
00000
Counter 1
00000
Counter 2
00000
Counter 3
00000
Counter 4
Sel 1
Sel 2
Sel 3
Sel 4
01
Step Counter
000
Cards Read
Clock
20 Hz
Card Reader · 400 CPM R-400
0 cards loaded
0 cards read
Active Wiring · Live Bus W-700
Removable Plug-Board · 31 Program Steps B-1004
— FIELD DEFINITIONS —
Field Length Card Col Print Col Punch Col Literal Text
— PROGRAM STEPS —
# Cond Source Op Dest Sel Sequence Arg
Wire-up the plug-board, then press LOAD then RUN.
§ Operator's Manual complete reference · common patterns · worked examples for all six samples
Programmer's Reference · Plug-Board Wiring

The 1004 is programmed by wiring a removable plug-board with 31 sequential program steps. There is no stored program in core memory — your "code" is the wire arrangement.

Field Definitions: Define up to 8 named data fields by their card-column, print-column, punch-column, and length. These act as named buses for source/destination wiring. A field with card‑col 0 reads no card data. If you fill in Literal Text on such a field, the source emits that text — useful for printable labels like TOTAL = .

Program Step Wiring: Each step is one row. For each step you select:

SlotMeaning
CondPre-condition: ALWAYS, S1–S4 ON/OFF, EQ/NE/LT/GT flag, EOF, Cn=0, Cn≠0. Step is skipped when false.
SourceWhat hub to read from: a field, a counter, ZEROS/BLANKS, or digit emitters E1..E9 (each emitting "0000n" — useful for counter increments).
OpMOV (transfer), ADD (BCD add), SUB (BCD subtract), CMP (compare, sets flags).
DestWhere to write: PRINT bus (uses field's Print Col), PUNCH bus, a counter, or "—" for compare-only.
SelFor CMP only: which selector to set. Conventions: S1=src<dst, S2=src=dst, S3=src>dst, S4=src≠dst.
SequenceWhat happens after this step's transfer:
NEXT = step+1 (default)
JUMP n = jump to step n in the same card cycle
NEW-CARD = print buffer is sent, next card is read, step counter resets to 1
PRT-LINE = eject a printed line, then NEXT
PCH-CARD = punch a card from the punch buffer, then NEXT
HALT = stop the processor

Counters (1-4) are 5-digit BCD registers. ADD/SUB into a counter accumulates; MOV sets it. To increment a counter by 1, use source E1 with op ADD. To test for zero, use condition Cn=0.

Selectors (S1-S4) are flip-flops set by CMP (per the Sel slot). Conditions on later steps test them via Sn ON / Sn OFF.

End-of-File: When the hopper empties, EOF lamp lights. The condition EOF=YES tests it (your final-totals step uses this).

Card cycle: Steps 1..31 execute per card. NEW-CARD on any step ends the cycle and starts again at step 1 with the next card. The card cycle iterates until EOF or HALT.

Drum Printer · 400 LPM P-500
Card Punch · 200 CPM U-600