MS_37269B_Litton_L 304H_Functional_Description_Jul74 MS 37269B Litton L 304H Functional Description Jul74

MS_37269B_Litton_L-304H_Functional_Description_Jul74 MS_37269B_Litton_L-304H_Functional_Description_Jul74

User Manual: MS_37269B_Litton_L-304H_Functional_Description_Jul74

Open the PDF directly: View PDF PDF.
Page Count: 94

DownloadMS_37269B_Litton_L-304H_Functional_Description_Jul74 MS 37269B Litton L-304H Functional Description Jul74
Open PDF In BrowserView PDF
MS 37269B

FUNCTIONAL DESCRIPTION OF THE
LITTON L-304H
MICROELECTRONIC COMPUTER

July 1974

THIS DOCUMENT HAS BEEN APPROVED FOR PUBLIC DISSEMINATION.

Prepared by:
Data Systems Division
Litton Systems, Inc.
8000 Woodley Avenue
Van Nuys, California 91409

TABLE OF CONTENTS

Section

2

3

4

5

INTRODUCTION
L-304H Offers High-Speed Processing for Tactical Applications
System Organization of the L-304H Computer
MULTIPROGRAMMING CAPABILITY
Priority Demand Operation Enhanced by Multiprogramming
Response to Priority Interrupts
Program Level Change Shown as a Function of Interrupt
Program Levels Linked by Instructions
Protection Provided Against Power Loss
Multiprogramming Capability Enhanced by Four Real-Time
Clocks
Multiprogram Capability Facilitates Program Load
Protection Provided Against Interprogram Interference
EXTENDED MEMORY ADDRESSING
Extended Memory Addressing Option Provides Powerful Tool
in MultiprogramAddressing
Memory Parity Generation and Check Provided
REGISTER ORGANIZATION
General Purpose Process Registers Provide Multipurpose Use
Status Register
Preassigned Locations in Base Memory
INSTRUCTION REPERTOIRE
Instruction Repertoire Tailored to Tactical Real-Time
Applications
Flexibility of Data Word Formats
Instruction Word Format
Addressing Modes Enhance Programming
Instruction Options Provided by Multimode Addressing
Litton Computer Characterized by Powerful Instruction Repertoire
Special Instructions Facilitate Programming
Program Sequencing
Memory Control of the Instruction's Address Field
Series of Operations Implemented via Each Instruction Execution
Factors Affecting Instruction Execution Time

iii

2
2

3
8
8
9
11
12
12

12
13
13
14
14
14
16
16
17
17
20
20
21
22
24
24
25
44
46
47
48
49

TABLE OF CONTENTS (Continued)

Page

Section
6

7

8
9

INPUTiOUTPUT SYSTEM

52

Modular Features of Input/Output Unit
IOU Addresses Up to 56 Peripheral Devices
Input/Output Multiplexing Occurs on a Priority Basis
Seven Modes of Automatic Input/Output Operations Provided
IOU System Provides Both a Burst and Block Mode of Data
Transfer
Real Time System Programs Called by I/O Interrupt Have
Programmable Priority
Program Loading Provided by Hardware Bootstrap Control
The IOU System is Power Fail Safe
SPECIAL PROCESSING UNITS
Pr.ogram Skip Capability Provided for all SPUs
Extended Performance Arithmetic Option

52

L-304H SOFTWARE
SYSTEM PACKAGING, POWER, AND CONTROLS

70
78

iv

53
53
56
58
59
61
61
62
63
64

LIST OF ILLUSTRATIONS

Figure

Page

1-1

Comparison of Sample System Configurations

2-1
3-1

Program Level Change
PCA Byte Format
Base Memory Map
Process Register Pair
Operand Selected from Memory Output when W = 1
Operand Selected from Memory Output when W = 0
Full Word Format
Instruction Word Format
Queue Table Instruction
Move and Insert
Move and Zero
Instruction Access Process
Page Control and Address
Instruction Execution Sequence
OFR Instruction Word
ITR Instruction Word

4-1
5-1
5-2
5-3
5-4
5-5
5-6
5-7
5-8
5-9
5-10
5-11
6-1
6-2
6-3
6-4
6-5
6-6

DEC Instruction Word
I/O Key Word
I/O Termination Word
Character Positions, Least Significant First

6-7
7-1
8-1
8-2
8-3
8-4
9-1
9-2
9-3

Character Positions, Most Signficant First
SPU Interconnection Diagram
L-304 OS Resident Supervisor
L-304 Operating System
Resident Supervisor Structure
L-304 OS Support Programs
L-304H Processor Packaging
L-304H Memory Packaging
L-304H System Control Panel

v

7
11
15
19
21
21
22
22
23
-44
45
45
47
48
49

53
54
54
55
56
57
57
.62
71
72
73
74
81
81
82

LIST OF TABLES

Page

Table
i-I
II-I
111-1
V-I
V-2
V-3
V-4
V-5
V-6
V-7
V-8
V-9
VI-l
VII-1

6

Key Features of the L-304H Computer (2 Sheets)
Program Level Condition Due to Program Activity Register
Interpretation of Access Control Bits
Data Operand and Transfer Instruction Address
Class: Arithmetic Instructions (2 Sheets)
Class: Data Manipulation Instructions (3 Sheets)
Class: Data Handling Instructions (3 Sheets)
Class: Jump Instructions (3 Sheets)
Class: Transfer Instructions (2 Sheets)
Class: Input/Output Instructions
Class: Mis<;ellaneous Instructions
Add Instruction Times in Microseconds
Data Rates for 1/0 Operations

8
15
28
29
31
34
37
40
42
43
51
59

Summary of Instructions for Extended Performance
Arithmetic Option

69

vi

Litton L-304H Computer System

SECTION 1 INTRODUCTION

L-304H OFFERS HIGH-SPEED PROCESSING FOR TACTICAL APPLICATIONS

The Litton L-304H Computer provides significantly_ il1cre~sed s~ed and perfQrmance capabiJities over previous L-304 models.

~_ _ _ _ __

determine the source of the interrupt and whether
its _. priority is hjgher or lower __ thaJl the program
curren-tly under execution. This function is performed concurrently and without interference to
the currently executing program. Sixty-four levels
of priority are provided, with complete control afforded the programmer for masking and enabling
each of the interrupts independently.

The L-304H is a successor to the basic Litton
L-304 series of computers that have found widespread application among all branches of the military for a variety of real-time data processing
applications.
The L-304H retains the general
characteristics of this basic computer family while
offering a performance improvement of approximately four times that of the currently deployed
L-304F.

Hardware implementation of the. multiprogramming function is also provided to minimize the
time required for data exchanging in the multiprogramming environment. Since the functions
performed in program exchanging are repetitive,
hardware implementation of this feature is quite
straightforward. As with the handling of interrupts, full software override control is provided
to the program.

The computer architecture of the L-304 computer
systems is specifically designed for real-time application as evidenced by the inclusion of features
such as a hardware interrupt handler, hardware
multiprogramming control, special instructions, a
hardware real-time clock, and provisions for special processing units (SPUs). These and additional
features of the L-304H are described in more detail in Table I-I.

In design of the L-304 computer family, special
instructions were included for real-time processing.
As an example, the Gated Compare instruction
provides the ability to determine whether a quantity is within or without specified limits. Such a
function, of course, is particularly useful in the
correlation of incoming sensor data with an existing data file. Hardware mechanization of real-time
clocks provides the programmer with the capability
to set timing intervals for four different real-time
clocks, each with resolution of one millisecond.

Experience with real-time systems throughout the
industry has shown that attempts to handle a
large number of interrupts on a real-time basis
with an executive-type software interrupt handler
results in large overhead which decreases the efficiency of the machine directly proportional to
the number of interrupts that must be serviced.
Separate hardware is provided in the L-304H to

The L-304H is fully I/O compatible and upward

2

software compatible with the L-304F. This feature was provided by having the instruction set of
the L-304H contain, as a subset, the entire repertoire of the L-304F. Since software compatibility
has been maintained with previous versions of the
computer, fully developed support. software is
available. Enhancements to the already powerful
L-304 repertoire are provided by new instructions
and optional macro capability. The new instruc-

tions provide double precision (32-bit) arithmetic;
direct "flag" testing of a single bit in memory; and
enqueue, dequeue instructions for file control.
i Special processing units will "custom" functions as
required by particular applications.
Implementation of the computer utilizes MSI
Schottky circuitry which increases the packaging
density and permits an increase in the CPU clock
rate.

SYSTEM ORGANIZATION OF THE L-304H COMPUTER

The' L-304H computer system achieves maximum
flexibility and growth potential in storage, computation, and input/output capability by use of modular design techniques.
The modular design of the L-304H computer permits a variety of system configurations, ranging·
from those with limited processing, memory, and
I/O requirements to systems requiring multiple
processors, independent input/output operations,
and masses of random access storage. This growth
is achieved by adding central processing units,
memory units, independent input/output units,
and special processing units (SPUs) without changing the basic system implementation.

Figure 1-1, A.) The other port is available for
I/O direct memory access.
If additional processing capability is required, a
second L-304H processing unit (CPU, IOU, SPU)
may be added. (See Figure 1-1, B.)

The L-304H memories are designed with two or
four ports; i.e., they contain data lines, control
lines, and priority iogic which will permit either
two or four processors (or processor-like devices)
tu access the memories independently.

Maximum memory expansion is achieved with the
use of word addressable mass memories and an
optional extended memory card. (See Figure
1-1, C.) While the memory bus capacity limits
the number of memory units to eight, the numbyr
of words directly addressable by L-304H instructions with an expanded EMA is two million. Therefore, mass core memory units each containing
131 K words or more may be used. The asynchro'nous timing relationship between the CPU and the
memories permits the access time of the mass memory .to be considerably slower from that of the
main memory (without creating synchronization
problems).

A basic processing system requires the use of a
.single memory port with the IOUs and SPUs cycle
stealing on a common bus with the CPU. (See

An optional input/output processor (lOP) requiring an independent bus memory would use the
four port memory(s), as shown in Figure 1-1, D.

3/4

Table I-I. Key Features of the

L~304H

Computer (Sheet I of 2)
Features

Category

Computer Type

General-purpose; modular, with single or multiple central processing
units.

Logic

Synchronous; silicon integrated circuits, TTL SSI, TTL MSI, and
Schottky SSI, MSI.

Arithmetic Mode

Parallel; binary; fixed point.

Floating Point Option

Five basic instructions: Compare, Add, Subtract, Multiply, Divide.
32-bit format: sign bit 8-bit exponent, 23-bit function.

Word Length

Memory word - 32 bits plus 4 parity bits; (parity optional) instruction word - 32 bits; data word - 32 bits, 16 bits, 8 bits, 1 bit.

Core Memory

16,384-word assemblies, modular expansion to two million words;
overlapping memory cycles; one to four independent access ports;
changeable bank address; memory protect by 2048-word block
(optional); 450 nanosecond access; less ~han 750 nanoseconds full
cycle; wide temperature cores; power transient protection.

Instructions

89 Basic Instructions: 18 Arithmetic, 36 Data Manipulation and
Handling, 26 Jump and Transfer, 4 Input/Output and 5 Miscellaneous.
39 Macro Instructions may be specified.

Addressing

Single and double word addresses; modifiable; full randon addressing
capability up to two million words; memory bus limited by line drive
capability to maximum of 8 memory banks.

Addressing Range

Without EMA Options:
With Standard EMA Option:
With Expanded EMA Option:

Address Modification·

Eight modes: literal, direct, indirect, relative, with selectable indexing;
plus register-to-register mode.

Arithmetic

Eight accumulators for each level; eight index registers for each level, .
overlapped with accumulators; fixed-point binary arithmetic; numbers are signed integers, negative numbers are two's complement.

5

32,768 words
131,072 words
2,097,152 words

Table I-I. Key Features of the L-304H Computer (Sheet 2 of 2)

r----------------------.---------------------------------______________________
Category

1

Feature

Programming

Sixty-four independent program levels with externally and internally
activated priority-level switching and software override capability;
dynamic priority hierarchy; eight process registers for each level to be
used as accumulators, index registers, mask registers; 16 memory page
control and address registers for each program level (optional); program
activity register containing one status and one enable bit for each program level; multilevel priority interrupts; dynamic program relocatability
using page/base address registers; special memory test instructions; macro
instruction capability.

Data Handling

Logical operations; field, insert, shift, and comparison
instruction.

Input/Output

Single word transfers; block transfers by bytes or words (asynchronous, independent of program execution); burst block transfers
(synchronous with device); interleaved transfers from several devices;
simultaneous I/O and instruction execution, independent I/O c-ontroller; seaparate normal and error termination for each device; alarm
clock mode (for real-time clock); bootstrap program load.

Maintenance

Central system self-test using hang-up detectors for memory, central
processing unit, I/O, real-time clock; automatic detection to gross
function or module; modular construction; vast compatibility.
Optional self-test logic.

Growth Capability

Special processing units (SPUs) implement classes of individual instructions using any operation code not required for the basic L-304H instruction set (macro). Specialized design for macro instructions allows greater
throughput. Six SPUs and one IOU may be associated with each CPU on
each Direct Memory Access channel.

EMA

Extended memory address up to 131 K words
Memory Protection
Parity generation and error detection for both the CPU memory and
IOU memory interfaces.

(Standard Option)

6

~

A

•••

• L304H CENTRAL PROCESSING UNIT
• UP TO 131,072 WORDS OF MEMORY
• INPUT/OUTPUT UNIT
.SPECIAL PROCESSING UNIT

16 K

16 K

16 K

B
.DUAL L304H CENTRAL PROCESSING
UNITS
.UP TO 131,072 WORDS OF MEMORY
.INPUT/OUTPUT UNITS
• SPECIAL PROCESSING UNITS

16

K

16

K

16 K

131K

131K

C
.DUAL L304H CENTRAL PROCESSING
UNITS
.MIX OF 16K AND 131K WORD MEMORIES
• INPUT/OUTPUT UNITS
• SPECIAL PROCESSING UNITS

16K

_ 16K

D

• DUAL L304H CENTRAL PROCESSING
UNITS
.UP TO 131,072 WORDS OF MEMORY
.1 NPUT/OUTPUT PROCESSORS
• SPECIAL PROCESSING UNITS

Figure 1-1. Comparison of Sample System Configurations

7

16K

SECTION 2. MULTIPROGRAMMING CAPABILITY

PRIORITY DEMAND OPERATION ENHANCED BY MULTIPROGRAMMING _ _ _ _ _ _ __

Featuring a multiprogramming capability that
enables it to execute 64 different programs on a
priority demand basis, the computer is uniquely
tailored to tactical command and control
applications.

program activity register (PAR). The most significant (highest numbered) one bit of the program
status register which has a corresponding one bit in

One of the most important and unique features of
the computer is a hardware implemented system
for control of program switching in a multiprogramming environment. Its function and its tactical
data system advantages have been proven in operational systems.

Table II-I. Program Level Condition Due to
Program Activity Register
Situation

The computer's built-in multiprogramming feature
allows the processor to execute up to 64 different
programs (00 through 778 in octal representation),
one at a time, on a priority demand basis. Real-time
clocks and interval timers under software control
are also provided to implement time-sliced multiprogramming if required. The principal feature of
the design is that the control for switching from
one program to another is built into the hardware
wi th a software override provision.
Each of up to 64 programs is assigned a program
level number that corresponds to a bit position
within a 64-bit program status register. Bits are set
or reset in this register by program or by the I/O
unit (Table 11-1). A second 64-bit register (the,
program enable register) provides logical masking on the program status register. Bits in this
register are set or reset by programmed instructions.
Together, these two 64-bit registers are called the

PE Bit

Inactive

0

0

Program level is disabled
and idle

Waiting,

0

1

Program is enabled and is
waiting for a response
from an external equipment
or another program level

Stimulated

1

0

Equipment responded or
program was stimulated
but the program has not
been enabled

Suspended

1

1

Program suspended because
program of higher priority
is currently being executed
or program level change
lock has been set

Operating

1

1

Program level is operating

PS: Program Status Bit
PE: Program Enable Bit

8

Description

PS Bit

3307-6

tern ally forced interrupt levels and may be entered
directly via a hard-wired interrupt signal from an
external device. The utilization of these levels for
forced interrupts does not preclude their use
within the normal priority auction configuration.

the program enable register determines the currently active program, as shown in Table II-I. The
PAR is held in eight half-word locations in the
base memory bank, and is accessible by any program. (The base memory bank contains the PAR
along with dedicated addresses for inactive process
registers and I/O control words.)

Program level 74 is entered automatically for a detected memory access violation, a memory parity
error, a memory timeout, a program timeout, a
device timeout, or an illegal operation code. Status
bits are set preserving the source of the error such
that the program can sample status and determine
both the cause of the problem and the necessary
corrective action. Information available to the program includes the error type, the device address,
and the memory bank address.

A six-bit number that represents the active program level is logically generated and held in a register called the active program level register. The
contents of this register are available to programs by execution of the Load Register Special
instruction.
Nine program levels are used for special program
functions. These are program levels 70-77 and 00.
Program level 77 is reserved for power shutdown.
When this condition is detected, program level 77
is automatically entered. Approximately 100 microseconds remain for program clean-up before
power is lost.

Program level 74 can also be entered directly via a
hard-wired interrupt signal from an external device._
This permits level 74 to be used as either an additional externally forced interrupt level or as an
error level entered either by an internally or externally detected error.

Program level 76 is reserved for start-up of the
computer when power- is applied. Under this condition, computer control causes the CPU to enter
and execute program level 76 if the system is in the
automatic mode.

Program level 75 is used for a program trace
routine when under control of the programmers'
console.
I

Program level 00 is used for initial program execution following bootstrap program load by the IOU.

Program levels 70-73 have been designated as exRESPONSE TO PRIORITY INTERRUPTS

the computer enables many external interrupts
to be quickly serviced. This means that external
device interrupts occur for data transfer completion and for interrupts initialed by the device itself. These operations typically require a minimum
of program time. The program processing of I/O
interrupts is executed on a variable priority basis.

The computer will respond rapidly to program interrupts in full accord with a preset ranking of program priorities.
The computer has a number of design features that
facilitate the capability to respond to program
interrupts on a" priority basis without the use of
complex executive decision operations. Sixty-four
program interrupt levels are available, each having its own process registers and page control and address (PCA) registers. This enables 64 independent
programs to be simultaneously available for computer operation. Each level has an assigned priority
but only operates if that level is the highest priority demanding activation.

Low-priority function~ are interrupted in favor of
higher-priority functions. After completion of the
higher-priority function, the computer returns to
the interrupted lower-priority function without
delay and without program duplications. The
computer provides the additional feature of a programmable priority level lock-out. This feature
guarantees, if so desired, the execution of a sequence of instructions of a low-priority function
without being interrupted by a higher-priority
function. Normally, the lock-out is set only for

An interrupt level can be stimulated either by
instruction, by interrupts from the I/O, or by an
internally generated alarm. The I/O capability of
9

the sequence of a few instructions. During lockout, all external interrupts are accepted but not
executed. Low-priority functions will inv~rl~hly
receive quick attention -since the computer's capability to process data exceeds the requirements of
typical workloads by a comfortable margin.
Control over the programs which are operating or
suspended is maintained in the status and enable
registers. - The status register contains 64 bits,
where each position represents a program level.
The enable register acts as a mask. It is also
64 bits in length and can be used to inhibit a program from operating. Thus, the program operating at any given time is the highest priority program having a coincident one bit in both the status
and enable registers unless a program level lock is
set. When a program is operating, the set of process registers accessed - is that set which corresponds to the operating program level
Each time that the contents of the status or
enable register are accessed during the execution
-ot--specific in-structions, the- logic of the computer
will test the program priority levels to determine
_, whether or not a change of level is to occur. If a,
switch in programs is required, the hardware will
preserve the state of the interrupted program and
initiate the new program.
Completion of an I/O transfer, as well as device
initiated action, may also cause an interruption of
a current program. Under these circumstances, the
termination word associated with each I/O channel
will be accessed, the specified program level will
set the corresponding bit in the status register, and
a one will be placed in the proper position to indicate the reason for termination of the I/O transfer.
The computer logic determines whether or not an
interruption is to take place. If an interrupt is to
occur, the procedure followed is the same as that
described.

In multiprocessor configurations, the capability
of interprocessor interrupts exists. If, during the
execution of specific instructions~ one processor
accesses the base memory of another processor,
the latter is forced into a program level change normally to the level enabled by the calling processor. This interrupt is automatically initiated by
the calling processor but may be locked out by the
called processor.
Externally forced interrupt levels (70-73 and 74)
are entered directly upon receipt of a hard-wired
interrupt signal from an external device. The priority auction (PAR word search) that normally
occurs in response to an external interrupt from
the IOU or an internally generated interrupt is bypassed for the forced level interrupt and the program level, as specified by the received signal, is
entered directly.
Forced interrupts can be inhibited by the program
level lockout. However, an interrupt received during lockout will be saved and will initiate a level
change when the lockout is reset.
A level entered in response to a forced interrupt
can be interrupted by a higher priority interrupt
without the loss of the lower level interrupt.
When several forced interrupts are received together, a priority selection will be made by the
CPU such that the higher priority interrupts are
processed first.
The priority interrupts may be caused by sources
either external or internal to the computer. These
interrupts are:
a.

External interrupts (from each peripheral device via the IOU)
True interrupts (externally initiated)
(2) Normal I/O termination
(3) Error I/O termination
(1)

10

b.

Internal interrupts

c.

Externally forced interrupt

( 1)
(2)
(3)
(4)
(5)

d.

Interprocessor interrupt

Program termination
Memory access violation
Memory parity error
Power interrupt
Timeouts

PROGRAM LEVEL CHANGE SHOWN AS A FUNCTION OF INTERRUPT _ _ _ _ _ _ _ __

is shown by a one in the enable register, and
(3) the program level change lock is reset. . At the
end of the currently executed instruction, a level
change is initiated. The active general registers are
preserved in the general register area in the base
memory bank. The assigned fixed area is determined by the program level which corresponds to
the bit position in the program activity register as
shown in steps 2 and 3 (Figure 2-1).

The computer's multiprogramming feature enables
the central processing unit to execute 64 different
programs on a priority demand basis.
Program level switching with software control is
built into the hardware. Its functional advantages
in tactical data systems have been proven in operational systems.
The sequence of a program level change is shown
step by step in Figure 2-1. An operating program
level is indicated by the most significant bit pair in
the program activity register which contains a one
in both the status and enable registers.

The new program level to be activated addresses
the base memory bank, as shown in step 4. The set
of general registers is transferred by step 5 into the
active general registers. In addition, the p~ge control and address information is moved by step 6
from the core memory to the active registers.
Both active registers provide for faster access during instruction execution.

Assume that: (1) an interrupt changes the status
bit for a program of higher priority from a zero to
a one, (2) this program level is not masked, which

OPERATING

'ROGRl LEVEL

1NTE10'

~I_~_ _ _ _ _-----JI~r:STUS

PROGRAM
ACTIVITY
REGISTER

!

I

ENABLE
BITS

1

1

0J

0

(BASE) MEMORY BANK
GENERAL REGISTERS

ACTIVE
GENERAL
REGISTERS

0

I...

...

lit.

,

PAGE CONTROL AND ADDRESS

CD

PROCESS REGISTERS

0

r

"- .....

PAGE CONTR AND ADDRESS

......
r

ACTIVE
PAGE
CONTROL
AND ADDRESS

2344B-17A

Figure 2-1. Program Level Change
11

PROGRAM LEVELS LINKED BY INSTRUCTIONS

any program. If so desired, the execution of a sequence of instructions of a low-priority function
can be completed without being interrupted by a
higher priority function. Normally, the lock is set
only for the sequence of a few instructions.

The hardware/software interface provides a six-fold
exit from a program level. Program levels can be
linked by using the "call" instructions.
A program level change is initiated by: (1) external interrupt, (2) input/output termination,
(3) program termination, (4) memory access violation or parity error, (5) functional time-outs, and
(6) power interrupts. A level change occurs nor.,.
mally if· the initiated program level is of higher
priority, the program level has been enabled, and .
the program level change lock has been reset.

Any program is allowed to access the program
activity register, which governs the program level
change. Thus, any program can call any other
program by setting the appropriate bits in the PAR
and terminating itself. Specific instructions are
available for this purpose. If the called program is'
the highest priority, it is called immediately; if not,
it must wait.

The program level lock can be set only by
specific instructions, and can be set (or reset) by

PROTECTION PROVIDED AGAINST POWER LOSS

The on-off sequencer provides for orderly shutdQWll and startup procedures during power transients as well as application or removal of primary
power.

. When a power failure has been detected, the on-off
sequencer notifies the CPU, which,.in turn

When primary power is initially applied or when
power is recovering from a transient, the on-off
sequencer provides a System Reset which initializes the CPU and inhibits memory operation while
the logic voltage is coming up. When the logic voltage reaches its nominal level, the on-off sequencer
removes the System Reset and Memory Inhibit and,
provides a signal to the CPU that:
a.

Sets the location register to 1610

c.

Sets the CPU to the run condition

Completes the instruction being executed

b.

Stores the registers associated with the curren t program level

c.

Initiates a program level change to level 77

Approximately 100 microseconds are then left for
the necessary clean-up or bookkeeping operations
as specified by the programmer. After this 100microsecond period, the Memory Inhibit is activated since voltage tolerances can no longer be
guaran teed.

Sets up a program level change to program
level 76

b.

a.

Once the shutdown sequence has begun, "start-up"
will not be initiated until System Reset has
been activated, regardless of the duration of the
transient.

MULTIPROGRAMMING CAPABILITY ENHANCED BY FOUR REAL-TIME CLOCKS

cessed via an I/O channel which is serviced by the
IOU in the alarm mode. The associated key and
termination words provide the agency for interval
counting and program interrupts after the specified
time has elapsed. These program interrupts can be
selectively disabled and temporarily locked out.

Real-time clocks provide prescribed time-base for
calling programs involved in peripheral service,
system monitors, or fault detection.
The L-304H provides four independent programmable real-time clocks (RTC). Each RTC is ac-

12

Each RTC has a period of 1 millisecond, and each
channel has a capacity of 4.1 seconds. Each RTC
channel is staggered by 250 microseconds in requesting IOU service.

IOU operation: if one RTC channel has not been
serviced by the time the next clock is due (a period
of 250 microseconds), the IOU timeout bit is
posted in the status register, a System Reset is effected, and the CPU is forced to the error program
level, 74.

In addition, the RTC logic provides. a monitor for

MULTIPROGRAM CAPABILITY FACILITATES PROGRAM LOAD _ _ _ _ _ _ _ _ _ __

program load switch and inhibited during the load
operation, is started by the IOU. The CPU will obtain the program's starting location from the PLR
associated with level 00 where the IOU has stored
it during the bootstrap operation. The CPU will
then automatically enter level 00 and execute the
bootstrap program stored at that level.

Program level 00 is reserved for program loading after the IOU completes load of bootstrap
program.
After the initial bootstrap program has been
loaded by the IOU, the CPU, deactivated by the

PROTECTION PROVIDED AGAINST INTERPROGRAM INTERFERENCE

A technique utilizing memory protection mini-

A violation of the privilege feature will automatically cause a program level interruption to a specific program level. Control can then be returned
to the executive program. The memory protect
code is:

mizes the possibility of interprogram interference.
The multiprogram use of a computer provides
opportunity for interprogram interference by accident or without authorization. To minimize this
possibility, memory-protect capabilities are provided in the L-304H Computer.

00
01

. The memory-protect feature implemented by the
PCA registers controls the memory access for instructions and operands as well as a write protection. The mechanization of the computer provides
the detailed features in hardware with appropriate
software control by program.

10
11

13

Instruction Fetch, Operand Read and
Write permitted
Only Instruction Fetch and Operand
Read permitted
Only Operand Read permitted
No Access permitted

SECTION 3.

EXTENDED MEMORY ADDRESSING

EXTENDED MEMORY ADDRESSING OPTION PROVIDES
POWERFUL TOOL IN ~ MUL TIPROGRAM ADDRESSING-_ _ _ _ _ _ _ _ _ _ _ __

The EMA option adds memory protection and parity as well as extended addressing for each program
level of the L-304H.

by any program level. Each PCA byte consists of
a 6-bit page field and a 2-bit access control field
(Figure 3-1). Whenever the computer generates a
IS-bit address, the four most significant bits of the
address select one of the 16 PCA bytes from the
scratch pad memory. The page field, whiCh includes the memory bank and page addresses, is appended to the most significant end of the remaining 11 bits, forming the 17-bit word address.
Since the IOU is independent of program levels,
the EMA is not active during IOU memory cycles.

The standard memory addressing capability of the
computer is 32,768 words. The EMA (extended
memory addressing) option expands this capability
to 131,072 words while segmenting all memory
into pages of 2048 words. In addition, each page
is subject to programmable access control.
This extended addressing and access control is provided by a set of 16 8-bit bytes associated with
each of the 64 program levels. These sets, caned
page control and address (PCA) registers, are
stored in reserved locations in the computer base
memory while the associated program level is not
active. PCA registers for the active program level
are held in a fast access "scratch pad" memory
within the CPU. During each program level change,
the required PCA registers are transferred from the
base memory to the scratch pad by the processor
hardware.

At the same time, the access control field is compared with the memory tnode lines and if the pending operation is not allowed, the memory request
is inhibited, the CPU is notified, and a level change
(to error level 74) is initiated. The memory is not
accessed. Table 111-1 shows the interpretation of
the excess control bits.
An expanded EMA option provides the computer
with the addressing capability of 2,097, IS2 words.

There is no program access to the scratch pad, but
all PCA registers in the base memory are accessible
MEMORY PARITY GENERATION AND CHECK PROVIDED _ _ _ _ _ _ _ _ _ _ _ __

Parity on a byte basis is checked or generated for
every memory cycle.

the error program level, 74. If the check fails during a Read-Modify-Write memory cycle, the data,
along with the incorrect parity bit is restored to
the memory before the transfer is initiated.

If faulty parity is detected, the CPU inhibits execu-

tion of the instruction and initiates a transfer to .
14

Table III-I.

Interpretation of Access Control Bits

PAGE
ACCESS
CONTROL BITS

NAME

00

READ-WRITE
ACCESS

FETCH
INSTRUCTION

READ
OPERAND

WRITE
OPERAND

-

-

-

01

READ
ACCESS

FETCH
INSTRUCTION

READ
OPERAND

-

-

-

WRITE

10

READ
DATA
ACCESS

-

READ
OPERAND

-

FETCH

-

WRITE

11

NO
ACCESS

-

-

-

FETCH

READ

WRITE

ACTION PERMITTED

ACTION INHIBITED

-

2344B-1

M)B

LSB

ACqESS CONTROL

MEMORY BANK ADDRESS

Figure 3-1. PCA Byte Format

15

PAGE ADDRESS

SECTION 4. REGISTER ORGANIZATION

GENERAL PURPOSE PROCESS REGISTERS PROVIDE MULTIPURPOSE USE _ _ _ _ _ __

and accumulators eliminates the requirements for a
number of load and store instructions from a program. Often, index quantities are derived from
arithmetic operations. Thus, the result is directly
available as an index in subsequent instructions.

A set of eight process registers is provided for
each of 64 program levels. These registers may be
used as index registers, accumulators, and other
programming functions.
The computer provides a multiprogram capability
that is program-controlled with a priority demand
technique. Each of 64 program levels is assigned
its own set of process registers. These registers are
held in the computer's base memory bank for all
temporarily inactive program levels; and in highspeed, scratch-pad memories for currently active
program levels. Whenever a program level change
occurs, the currently active registers are written,
automatically, back into their reserved and dedicated locations within the base memory bank and
the new set of registers is loaded into the highspeed memories.

The use of the process registers as multiple accumulators provides the opportunity to leave partial
results in the accumulator without having to preserve them in memory. Partial results can be combined with instructions using the special address
feature, which allows register-ta-register operations
without time consuming memory access.
The process registers of any program level rna y be
addressed by any other program by addressing the
base memory bank. The process registers of the
active program may be addressed by the instruction's S field for indexing operations, by the instruction's H field for use as an accumulator, and
by the instruction's operand address. Special addresses (00-07 8 ) are recognized as process register
addresses instead of memory locations.

The high-speed memories are constructed from MSI
random access memory chips. An array of these
elements provides a small memory of 16 half words.
Access to this memory is less than 40 nanoseconds.
Use of the process registers as both index registers
16

STATUS REGISTER

Register Special instruction. This operation will
load the status register into the designated process
register.

The status register contains information pertaining
to error/fault conditions existing within the system.
The register is organized as two 8-bit bytes, and
may be interrogated by a program via the Load

The format of the two bytes is shown below

MSB

1ST BYTE

LSB

I I I I I ICM I I I
I CrANN,L
I : MBA:
sp

AE

1M

IE

PE

IT

PT

LSB

MSB

2ND BYTE

SP

SP

PT

IT
CM
1M
IE
PE
AE
SP

MBA
Channel

Program Time Out
IOU Time-Out
CPU/Memory Time-Out
IOU/Memory Time-Out
IOU Memory Parity Error
CPU Memory Parity Error
Access Violation
Spare
Current Memory Bank Address
or Error Memory Bank Address
Active IOU Channel or Error
IOU Channel

PREASSIGNED LOCATIONS IN BASE MEMORY _ _ _ _ _ _ _ _ _ _ _ _ _ _ __

Program Location Registers. One half-word for
each program level indicating the current entry
point into that program.

Each base memory has several pre-assigned locations used as temporary storage for registers control words, etc., while that program level, channel,
or function is not active.

Program Activity Registers. Four words indicating
the enable and status conditions for each program
level.

Figure 4-1 shows the organization of the locations
in the base memory. Each location is defined as
follows:
General Purpose Process Registers. Eight half
words to be used by each program level for accumulators, index registers, etc.

Page Control and Address Words. Sixteen 8-bit
bytes for each program level controlling the memory access and paging for that level.

I/O Control Words. Eight key and termination
words for each I/O channel. (See section on IOU).
17/18

Note that although locations 01610-01777 are
unassigned, the processor, on automatic startup, is forced to run starting at location 01610.

HALF-WORD
OCTAL LOCATIONS
, PROGRAM LEVEL

00

RHO

RH1

RH2

RH4

RH3

RH5

RH6

RH7

01

00000-00007
000 10-00017

02

GENERAL PURPOSE
PROCESS REGISTERS

•
••

••

•
••

•

76
77

1/0 CHANNEL

RHO

00,01

RH1

RH2

RH3

RH4

TERMINATE

KEY

RH5

KEY

RH7

00770-00777

TERMINATE

01000-10007

RH6

01010-10017

02,03
04,05

1/0 CONTROL
WORDS

06,07

•

••
•

••

••

•

01360-01367

74,75
76,77

01370-01377

0-3

01400-01407

PROGRAM LEVELS

PLR

PLR

PLR

PLR

01410-01417

4-7
PROGRAM LOCATION
REGISTERS

,

•••
74-77

PROGRAM ACTIVITY REGISTERS

t

PLR
PE

PS

••
•
PLR

PLR
PE

PS

PE

PS

PLR

01570-01577

PS

01600-01607

PE

01610-01617

~

UNASSIGNED

AUTO START./
LOCATION

••
•

••
•

01770-01777
~

PROGRAM LEVEL

PAGE CONTROL
AND ADDRESS WORDS

!

00

PO P1 P2 P3 .

j

I

T T

01

I

r

l

\\

P13 P14 P15

02010-02017

•
••
02770-02777

77

03000-03007

UNASSIGNED

_ _ _ _""-i_ _ _ _ _ _ _ _

02000-02007

:

~

_ _ _ _L...__ _ _.........I...__ _ ____L_ _ _ _

Figure 4-1. Base Memory Map

19

__I1

0377:77777

SECTION 5. INSTRUCTION REPERTOIRE

INSTRUCTION REPERTOIRE TAILORED TO TACTICAL REAL-TIME APPLICATIONS - - - - -

The computer instruction repertoire provides a
number of special instructions to specifically reduce the reaction time of tactical command and
control systems.

The Store all Zero instruction is used to clear
memory or register cells.
The Transfer and Jump instructions include a wide
range of control instructions to assist the programmer in organizing and controlling his program
sequence and provide a capability to respond to
external stimuli. General purpose (GP) register
test instructions are used to test and modify registers and provide program looping. Instructions are
provided to test a single bit for its status. A Load
Special Instruction provides internal/external status to the programmer to facilitate fault diagnosis.
The Enque/Deque instruction provides a simplified
method for handling common data files.

The computer has been designed to satisfy the
requirements of tactical real-time· command and
control systems. Toward this end, an instruction
repertoire has been prepared which provides a
numbe~_?f special instructions to decrease reaction
time. The combination of this type of instruction
list and the flexibility of programming offers a
powerful tool for performing real-time missions.
The selection of each instruction was made after
intensive trade-off analysis and discussions which
reflected Litton's extensive experience in tactical
data processing requirements. The instructions
may be grouped in seven classes: arithmetic, data
manipuiation, data handling, jump, transfer, inputi
output, and miscellaneous instructions. The arithmetic instructions encompass a comprehensive
computational capability and include Add, Add
Double Precision, Subtract, Subtract Double Precision, Multiply, and Divide with a number of variations to simplify the programming operation.
The jump group includes compare instructions
which allow algebraic, logical, and gated (within
limits) comparisons.

Input/output instructions initiate and enable communication to be set up with peripheral devices for
automatic independent data transfers. Two instructions allow single transfers between a device
and a GP register.
The L-304H was designed to accommodate the addition of a special processing unit tailored to a
customer's specific application. These SPUs offer
the capability to perform macro instructions and
allow execution of complex algorithms efficiently
under software control. The SPU has direct access
to both the memories and the hardware process
registers. Thirty-nine operation codes have been reserved for the macro operations.

Data manipulation instructions include logical
operations which enable data to be matched and
merged, and act as an adjunct to the data handling
capability. The Move and Insert and the Move and
Zero instructions give an excellent capability to
move groups of bits of arbitrary length about the
process registers. A full complement of shift instructions, including a reflect operation is also
provided.
Four instructions are incorporated
which facilitate set and reset of individual bits
within a data word.

An example of an SPU is the extended perform-

ance arithmetic unit which provides double precision multiply and divide operations and floating
point multiply, divide, add, subtract, and compare
instructions.
A summary of the 128 instructions, by type,
includes:

20

Arithmetic: 18 fixed point
Data Manipulation:
reset bit

Transfer (Branch): 4 GP register test, 3 control transfer, 4 GP register modify

6 logic, 6 shift, 8 set/
Jump:
match

Data Handling: 7 load (registers), 2 store
(registers), 4 move, 2 exchange, 1 store zero

7 compare, 8 test bit and skip on

Miscellaneous: 5 miscellaneous
Macro:

39 codes available

FLEXIBILITY OF DATA WORD FORMATS

The data word size in the Litton computer is
determined at the programmer's option.

called the W field). This bit will select either the
left-most 16 bits of a selected word if it is zero
(W = 0), or it will select the right-most 16 bits of a
selected word if it is one(W = 1). On word operations, the W bit of the instruction is ignored, and
the address is treated as an even number. Therefore, all word addresses are even numbers.

The programmer may select data words of a single
bit, a "byte" of eight bits, a half-word of 16 bits,
and a full word of 32 bits. The data word size is a
function of the programmer's option on the
instruction to be executed. On arithmetic and
logical instructions, either half-word or word
operations are allowed. Special instructions are
provided for test and modification of single bits
within a half-word. Special byte handling instructions are also provided. Full-word products are
generated on multiply instructions; full-word dividends are used in divide instructions; full-word
register pairs are allowed in shift instructions, and
addition and subtraction can be performed on
full-word operands.

Bytes of eight bits are selected on half-word instructions as either the "upper byte" or "lower
byte" by the instruction's operation code. Single
bit positions of a byte are selected by use of the
instruction word's H field.
Bytes of a variable length and position are selected
and controlled during the move instructions by a
mask contained in the instruction's CA field.
The storage of partial words and full words within'
the process registers and memory is shown in
Figures 5-1 through 5-4.

Memory addresses are considered as half-word
addresses because the instruction's operand address field contains a single bit (in bit position O~

I
31

I

I

o

16 15

Figure 5-1. Process Register Pair

15

5

31

16~ BYTE

I-

~?

......--1

UPPER - - - - 4

BYTE LOWER

Figure 5-2. Operand Selected from Memory Output when W = 1
21

----1-

·1

15

5

31

1

30

~ BYTE UPPER.

81

•

o

7
..

BYTE LOWER

Figure 5-3. Operand Selected from Memory Output when W =
15

i5

S1

31

°

MSH

LSH

16

30

15

o

14

Figure 5-4. Full Word Format
A data word may contain a numerical or logical
quantity.
Numerical quantities are treated as
signed integers. Logical quantities include unsigned numbers (e.g., addresses) or collections of
individual bits and fields.

word operand is required.

o

In numerical words, the most significant bit is
treated as the algebraic sign. If this bit is a zero,
the sign is positive. If this bit is a one, the sign is
negative. The sign bit of a numerical half-word is
automatically sign extended (value repeated) to
the left 16-bit positions when a numerical full-',

Negative numbers are represented in two's complement form. Two's complement representation
has advantages in arithmetic compatibility with unsigned numbers and in elimination: of a negative
zero value.
A 32-bit algebraic operand is provided with two
sign bits (S 1 and S2) which are always equal
(Figure 5-4).

M = 0, Direct Address
M = 1, Direct Address with Indexing
M = 2, Literal
M = 3, Literal with Indexing
M = 4, Indirect
M = 5, Indexed, Indirect
M = 6, Indirect, Indexed
M = 7, Relative with Indexing Option

The Litton computer operates with a 32-bit instruction word containing five fields.
The normal use and definition of each instruction
word field is as follows (Figure 5-5):
a.

F Field - This 7-bit field is the instruction
operation code. The operation code is represented by a 3-digit octal number.

b.

H Field - The H field is a 3-bit binary number that selects one of eight process registers
to be used as the accumulator by the instruction. Process registers are addressed by
H = 0, 1, 2, . . " 7 on all program levels.

c.

These options are described in more detail in
a subsequent discussion of addressing modes.
d.

M Field - The M field is a 3-bit code that
provides up to eight instruction address options as follows:

22

S Field - The S field is a 3-bit field that
selects one of the eight process registers to be
used as an index register on modes M= 1, 3,
5, 6, and 7. The S field addresses the same
set of process registers as the H field on a
program level. A different set of eight process registers is provided for each of 64 program levels.

e.

CA Field - The operand address field, CA, is
a 16-bit field that may either be an address of
a word in memory or may be a 16-bit operand itself. The CA field is used as an operand
in the literal address modes, M = 2 or 3.
When the CA field is used as an address, it is
considered to consist of three subfields:
D, A, and W. These three subfields provide
memory address extension of up to 18 bits
for addressing 16-bit words or 17 bits for
addressing 32-bit words.

f.

g.

A Sub field - The A subfield is an II-bit
binary address.
The II-bit address will
select one of 2048 32-bit words within a
memory module. The particular memory
module is selected by the three MSBs of the
6-bit page control and address register (described previously).

h.

W Subfield - During an operand fetch, the
I-bit W subfield specifies left or right half of
the 32-bit memory output to be used as a
16-bit operand. If W is a zero, the left half
of the word is used. If W is a one, the right
half is used. The W sub field is ignored during
an instruction fetch.

D Subfield - The D subfield is a 4-bit binary
number that selects one of 16 page control
and address registers. The selected register
contains six bits which are "appended to the
most significant end of the A subfield to
yield .a 17-bit operand address. Although an
overflow out of the D subfield may occur
during indexing, a carry is not allowed to
propagate from the D sub field to the S field.
LEGEND:
F:

OPERATION CODE

M:

ADDRESSING MODE SELECTOR

H:

ACCUMULATOR DESIGNATOR

s:

INDEX DESIGNATOR

CA :

OPERAND ADDRESS FIELD

PAGE CONTROL
AND ADDRESS REG

D:

PAGE DESIGNATOR

A:

WORD ADDRESS DESIGNATOR

W:

HALFWORD ADDRESS DESIGNATOR

I

MEMORY ADDRESS

.......

~

.

~

10F 8
ACCUMULATORS

31

F

H

~
MEMORY
PROTECTION

1 OF 8
INDEX
REGISTERS
19 18

2524122 21

M

I

....~

1 OF 16

16 15

12 11

1

D

S

A

0

W

\.

CA

-""'r-

...

HALF-WORD
SELECTION

CPU
CONTROL
AND TIMING

2344B-16A

Figure 5-5. Instruction Word Format
23

ADDRESSING MODES ENHANCE PROGRAMMING

The availability of eight addressing modes in the
Litton computer provides the programmer with a
powerful tool.

The relative mode provides an addressing capability which allows referencing to the location of
the current instruction. A relocation of a program will not disturb the relationship between the
instruction and the referenced operand. It is
recommended that the operand be located close to
the instruction since an insertion or deletion of
instructions in a program requires modification of
the relative address.

The eight addressing modes may be grouped into
four major classes: literal, direct, relative, and
indirect. Indexing is applied appropriately to each
of the modes.
The literal mode uses information contained within
the instruction format as an operand. Therefore,
a memory access is eliminated which results in a
saving in storage space as well as in execution
time.

The indirect addressing mode with indexing is
applicable to reentrant subroutines because the
index is added after accessing of the indirect
address.

The direct mode is the most. commonly used
addressing mode. In this mode, the operand address is contained within the instruction.

Double indexing is provided through use of the
indirect options when CA = 0-7. Under those conditions, CA will specify a second index register.

INSTRUCTION OPTIONS PROVIDED BY MULTIMODE ADDRESSING

Eight simply structured addressing modes provJded by the instruction's M field allows flexibility
in operand selection.
The eight address modes combined with the 128
instruction codes give the computer several hundred useful instruction options. The M field is
used to select the address option. These options
are provided in almost all instructions. Table V-I
summarizes the possible operand addresses that
can be generated with the eight modes.

c.

M = 2, .Literal - The CA Treid represents a
16-bit half-word.
This word may be an
operand, mask, instruction address, or shift
number.

d.

M = 3, Literal with Indexing - The CA field
represents a 16-bit half-word as in mode 2.
The CA field is added to the contents of the
process register selected by the S field before
the instruction operation takes place. This
provides a useful double operation on many
instructions. Overflow is detected on this addition for those instructions which could
cause arithmetic overflow (F = Xl 0 through
X17, X30, X3l). If it does not occur for
instructions FIIO-FI17, F130, and F131,
the next instruction in sequence is skipped.
The sum replaces the CA field within. the instruction word register, and is used as the new
instruction operand, as in M = 2.

e.

M = 4, Indirect - The contents of the memory word that are addressed by the 16-bit address. This "indirect" address replaces the CA
field within the instruction word register and
is used as in M = O.

f.

M = 5, Indexed, Indirect - The 16-bit CA
field of the instruction word is added to the
contents of the process register selected by
the S field. Overflow on this addition is not

The addressing modes are defined as follows:
a.

b.

M = 0, Direct Address - The CA field of the
instruction word is not modified. The D subfield directly or indirectly selects the specific
memory module. The A and W subfields
specify a half-word operand address in the
specified memory module. On transfer instructions or full 32-bit operands, W is not
used.

M = 1, Direct Address with Indexing - The
CA field of the instruction word is added to
the contents of the index register selected by
the S field. Overflow on this addition is not
detected. The sum replaces the CA field
within the instruction word register, and is
used as the new operand address field as in

M = O.

24

the D and A subfields of the instruction. The
W bit is not modified. No overflow is detected on this addition. The sum replaces
the D and A subfields of the instruction
within the instruction word register. This
operation yields an address that is relative
to the address on the next instruction in
sequence.

detected. The sum is used to address a 16-bit
word in memory that replaces the CA field
of the instruction in the instruction word register, and is used as the new operand address
field as in M = o.
g.

h.

M = 6, Indirect, Indexed - The 16-bit CA
field of the instruction selects a 16-bit word
in memory which is added to the process register selected by the S field. No overflow
detection occurs. The sum replaces the CA
field of the instruction in the instruction
word register, and is used as the new operand
address field, as in M = o.

If the S field of the instruction is not zero, the

16-bit CA field of the instruction word is added to the contents of the LL register. The
sum is then added to the contents of the process register selected by the S field. This operation yields an indexed address that is relative
to the address of the next instruction in
sequence.

M = 1, Relative - This address option mode
operates in two ways, depending upon the
S field of the instruction word.

The modified CA field is then used to specify
the operand address as in M = 0, unless it is a
transfer type instruction (F = 34 through 36,
40 through 43), in which case the CA field is
used as the operand as in M = 2.

If the S field is all zeros, the contents of the
instruction location register, LL, are added to

•

LITTON COMPUTER CHARACTERIZED BY POWERFUL INSTRUCTION REPERTOIRE

The computer instructions include general-purpose
as well as special instructions useful in real-time
tactical applications.

listed in Tables V-I through V-So Instruction execution times are based on address modes 0 or I:
direct with or without indexing.

The instructions, grouped into seven classes, are

The following symbols and notations are used frequently in the definition of the instructions.

25/26

Letter
CA

Definition
The instruction word's CA field. It is a
16-bit number that is used to address a
location in memory or, in modes 2 and 3
(Literal), CA is used as a 16-bit operand.

d

Represents a full-word (32 bits) as in
(H)d or (Y)d.

F

The F field of the instruction word defining the operation code.

H
Hd

(H)

The H field of the instruction word
specifying the accumulator.
Hd or (H)d refers to a processor register
pair. The LSB of the H field is ignored
for instructions requiring the use of a
processor register pair.
The contents of the process register that
is selected by the H field of the instruction word.

Represents the contents of the instruction location register (15 bits). This
number is the address of the next instruction in normal sequence.

M

The M field of the instruction word
specifying the address mode.

m-n

Denotes the bit positions of a word.
(Y)4-0 denotes the five LSBs of the
operand.

n

The S field of the instruction word
specifying the index register.

(S)

The contents of the process register that
is selected by the S field of the instruction word. A 16-bit word that is generally used for address indexing.

T

Transfer address.

SWJ

The set of three conditional jump
switches.

SWH

The set
switches.

Y

Operand address.

(Y)

Operand - (Y) = Y for the literal mode.

(Y)B

A single bit of the operand.

(Y)BL

A single bit of the lower byte of the

n

The odd numbered register of a process
register pair (1, 3, 5, 7) which contains
the least significant half of a full word.

Program level register.

S

(Y)BU

The even numbered register of a process
register pair (0, 2, 4, 6) which contains
the most significant half of a full-word.

LP

Definition

of three conditional halt

operand.

Process register 6.

LL

Letter

The number of bit positions shifted on
shift type instructions.

27

A single bit of the upper byte of the
operand.

One's complement
noted.

unless otherwise

()

Parentheses represent the contents of the
memory location that is addressed by
the word within the parentheses.

f

Not equal to.

I I

Absolute value.

A'B

Logical AND function.

AlB

Logical inclusive OR function.

A E9 B

Logical exclusive OR function.

A +B

Addition.

A - B

Subtraction.

A x B

Multiplication.

A:B

Division.

Table V-t. Data Operand and Transfer Instruction Address
Action
Mode

Transfer and Execute
Instruction
Address

M-Field

S-Field

0

0-7

Direct

Y = CA

Z = (Y)

T = (Y)

I

0-7

Direct with
Indexing

Y = CA + (sj

Z = (Y)

T = (Y)

2

0-7

Uteral

Z = CA

T

= CA

3

0-7

Uteral with
Indexing

Z = CA + (S)

T

= CA + (S)

4

0-7

Indirect

Y = (CA)

Z = (Y)

T = (Y)

5

0-7

Indirect with
Indexing

Y

= (Y)

T = (Y)

6

0-7

Indirect with
Second Address
Indexing

Y = (CA) + (S)

Z = (Y)

T = (Y)

7

0

Relative

Y = CA+LL

Z = (Y)

T

1-7

Relative with
Indexing

y= CA+ LL+(S)

Z = (Y)

T = CA + LL + (S)

Name

Operand Address

N
00

Z

= CA+ LL

"-

7

NOTES:

= (CA+ (S))

Operand

CA:
LL:
M:
S:

Contents of the Instruction Address Field
Contents of the Location Register
Mode Designator
Index Designator

y: Value of the Operand Address
Z: Value for the Operand
T: Value for the Transfer Address
( ): Contents of

Table V-2.- Class: Arithmetic Instructions (Sheet 1 of 2)
Subclass
Arith

Arith
and
Skip

Mnemonic

Function Code

Name

Description

Execution Time
(psec) m =0/1

Add

1.60

Subtract

1.60

Replace Add

1.95

Replace Subtract

1.95

H

Add Absolute

1.60

H

Subtract Absolute

1.60

(H E+1) X (Y)-+ Hd

Multiply

3.36

031

(H)d 7 cY) -+ H E+1
Remainder -+ HE

Divide

7.20

ADD

110

(H) + cY)~H
Skip next location if!lQ overflow

Add

1.60

SUB

111

(H)-cY)~

H
Skip next location if!!.Q overflow

Subtract

1.60

RAD'"

112

(Y)+H~Y

Replace Add

1.95

cY)~H

ADD

010

(H) +

SUB

011

(H) -

RAD'"

012

(Y)+(H)~Y

RUB'"

013

(Y) - (H)

ADA

014

(H) + I(Y)I

SBA

015

(H) - I(Y)I

MPY

030

DIV

cY)~H

~

Y
~

~

Skip next location if!!Q overflow
RUB'"

113

(Y)-(H)~

Y
Skip next location if!lQ overflow

Replace Subtract

1.95

ADA

114

(H) + IcY)1 ~ H
Skip next location if !ill overflow

Add Absolute

1.60

"'Literal modes 2 and 3 will cause the instruction to act as a NOP.

-

Table V-2. Class: Arithmetic Instructions (Sheet 2 of 2)
Subclass
Arith
and
Skip

Mnemonic

Function Code

Description

Name

Execution Time
(}lsec) m = 0/1

SBA

115

(H) - IcY)1 ~ H
Skip next location if.!!.Q overflow

Subtract Absolute

1.60

ADP

120

(H)d + (Y)d ~ Hd
Skip next location if!!Q overflow

Add Double
Precision

1.92

SDP

121

(H)d -- (Y)d ~ Hd
Skip next location if.!!.2 overflow

Subtract Double
Precision

1.92

MPY

130

(HE+I) X (Y)~Hd
Skip next location if ~ overflow

Multiply

3.36

Div

131

Remainder
(H)d 7 Y -~ HE+l
Skip next location if!!Q overflow

Divide

7.20

-~

HE

--

Vol

o

Table V-3. Class: Data Manipulation Instructions (Sheet 1 of 3)
Subclass
Logic

Shift

w

Mnemonic

. Description

Function Code

Name

Execution Time
(psec) m = 0/ I

EOR

020

(H) Ef> (Y) ~ H

Exclusive Or

1.60

lOR

021

(H)j(Y) ~H

Inclusive Or

1.60

AND

022

(H)'(Y)~H

Logical And

1.60

RER'"

024

(Y) Ef> (H) ~ Y

Replace
Exclusive Or

1.95

RIR'"

025

(Y)j(H)~Y

Replace Inclusive Or

1.95

RAN'"

026

(y). (H)

Replace Logical And

1.95

SLL

044

(H)d shifted logically, left, circularly n places as specified by
(Y)4-0'
HIS ~ H I6
H31 ~ HO

Shift Long Left

2.72
8 Shifts

NLL

045

(H)d shifted algebraically, left, open n places as specified by
(Y)4-0 or until H31 =f H 30 . Count residue ~ S.

Normalize Long Left

2.88
8 Shifts

Shift Long Righ t

2.72
8 Shifts

Shift Algebraically
Right

2.72
8 Shifts

~

H31 ~ H3I
H14 ~ H I6
SLR

056

(Y)4-0'

057

H15~ HIS
O~HO

(H)d shifted logically, right, circularly n places as specifed by
HO~ H3I

SAR

Y

H16~ H I5

(H)d shifted algebraically, right, open n places as specified by
(Y)4-0'
H31 ~ H31
H 16 ~ H14

"'Literal modes 2 or 3 will cause the instruction to act as a NOP.

HIS ~ HIS
H31 ~H30

Table V-3. Class: Data Manipulation Instructions (Sheet 2 of 3)
Subclass
Shift

Set/Reset
Bit

Mnemonic

Function Code

Name

Description

Execution Time
(jlsecl m = 0/ I

SNC

046

(H E+1)shifted logically, left, circularly n places as specified
by (Y)4-0·
HIS ~HO
(HE) + number of ones shifted ~ HE

Shift And Count

2.72
8 Shifts

RFT

047

(HE) shifted logically left and (H E+)) shifted logically right
n places as specified by (Y)4-0.
HO~ H 16
H31 ~ HIS

Reflect

2.72
8 Shifts

SBL*

060

a)
b)

1 --l- (Y)BL as specified by H.
An interprocessor interrupt is set if other PAR
address is accessed.

Set Lower Bit

1.95

SBU*

061

a)
b)

1 -~ (Y)BU as specified by H.
An interprocessor interrupt is set if other PAR
address is accessed.

Set Upper Bit

1.95

RBL*

062

o~ (Y)BL as specified by H

Reset Lower Bit

1.95

RBU*

063

o~ (Y)BU as specified by H

Reset Upper Bi t

1.95

SBL*

160

a)
b)
c)
d)

1 -+ (Y)BL as speCified by H.
External interrupt lockout is reset
An internal interrupt is set if PAR address is accessed.
An interprocessor interrupt is set if other PAR address
is accessed

Set Lower Bit

1.95

SBU*

161

a)
b)
c)
d)

1 -+ (Y)BU as specified by H
External interrupt lockout is reset
An internal interrupt is set if PAR address is accessed
An interprocessor interrupt is setif other PAR address
is accessed

Set Upper Bit

1.95

--r---

----_.-

*Literal modes 2 or 3 will cause the instruction to act as a NOP.

Table V-3. Class: Data Manipulation Instructions (Sheet 3 of 3)
Subclass

Mnemonic

Function Code

Set/Reset
Bit

RBL*

162

RBU*

163

Description
a)
b)
c)

o~ (Y)BL as specified by H

a)
b)
c)

o~ (Y)BU as specified by H
External interrupt lockout is reset
An internal interrupt is set if PAR address is accessed.

Name

Execution Time
(/JSec) m =0/1

Reset Lower Bit

1.95

Reset Upper Bit

1.95

External interrupt lockout is reset
An internal interrupt is set if PAR address is accessed

*Literal modes 2 or 3 will cause the instruction to act as a NOP.

Table V-4. Class: Data Handling Instructions (Sheet I of 3)

--

Subclass
Load
Register

Mnemonic

Description

Function Code

LOR

004

(Y) -+ H

LOO

006

(Y)d-+ Hd

Name

Execution Time
(J1Sec) m =~~

Load Register

1.60

Load Double

1.76

Load Absolute

1.60

--

LOA

016

I(Y)I-+ H

LOA

116

I(Y)I-+ H
Skip next location if!!2 overflow: (Y)

LOC

017

(Y) -+ H

LOC

117

LRS

Store
Zeros
Store
Register

._-------

-,---- --"--

Load Absolute

1.60

Load Complement

1.60

(Y) -+ H
NOTE: 2's complement
Skip next location if!!2 overflow: (y) =1= -1.

Load Complement

1.60

104

LL/LP/base memory address/status -+H as specified by the
S field. The M and CA fields are not used by this instruction.

Load Register
Special

1.00

STZ

072

0-+ (Y)

Store all Zeros

1.95

STR*

005

(H) -+ Y

Store Register

1.95

STO*

007

(H)d -+ Yd

Store Double

1.95

EXC*

002

(Y) -+ H

Exchange

1.95

;=-1.

-NOTE: 2's complement

--

-

.-

Exchange

(H) -+ Y

.-

.EXD*

003

(Y)d -+ Hd

*Literal modes 2 or 3 will cause the instruction to act as a NOP.

(H)d -+ Yd

Exchange Double

2.27

Table V-4. Class: Data Handling Instructions (Sheet 2 of 3)
Subclass
Move

Mnemonic
MVI

MVI

Description

Function Code
071

171

a)

(H) shifted logica!ly right, circularly n places as specified
by M field. HO ~ HIS

b)

[(H) shifted • ,C A] / [(S) • CA] ~ S

c)

(H) ~ H unless H = S
NOTES: 1. Address options do not exist for this
instruction .
. 2. CA = mask

a)

M=O
(H) shifted logically left, circularly 8 places. HIS -+ HO

Name

Execution Time
(usee) m = 0/1

Move and Insert

1.92
4 Shifts

Move and Insert

2.24
8 Shifts

Move and Zero

1.60
4 Shifts

M::;i::O
(H) shifted logically left, circularly n places as specified
by the M field. HIS ~ HO
b)

[(H)shifted • C A] / [(S) • CAl -+ S

c)

(H) ~ H unless H = S
NOTES: 1. Address options do not exist for this
instruction.
2. CA = mask

MVZ

070

a)

(H) shifted logically right, circularly n places as specified
by the M field. HO -+ H 15

b)

(H) shifted • CA -+ S

c)

(H)

~

H unless H = S

NOTES: 1. Address options do not exist for this
instruction.
2. CA = mask

Table V-4. Class: Data Handling Instructions (Sheet 3 of 3)
Subclass
Move

Mnemonic
MVZ

--------------------------------------,,--------------------r-----"-------Execution Time

Function Code

170

Description

a)

M :: 0
(H) shifted logically left, circularly 8 places. H15 -l> HO

Name

Move and Zero

(J,lSe HO
b)

(H) shifted· CA

c)

(H) -l> H unless H

~

S

=S

NOTES: 1. Address options do not exist for this
instruction
2. CA = mask
-------------------------------------~------------------~----"----------

Table V-So Class: Jump Instructions (Sheet 1 of 3)
.-

Subclass
Algebraic
Compare

Mnemonic
JTW

-

- ----.--..

~--

... --

---

Description

Function Code
037

(Y) < (H) : LL + 2 -+ LL (next loc)

Name
Jump Three Ways

(Y) = (H) : LL + 4 -+ LL

Execution Time
(/JSec) m =0/1
1.60 Y~ H
1.76 Y > H

(Y) > (H) : LL + 6 -+ LL
CJL

050

(Y) ~ (H) : LL + 2 -+ LL (next loc)

Compare, Jump if Less

1.60

Compare, Jump if
Equal

1.60

Compare, Jump if
not Equal

1.60

Compare, Jump if
Greater

1.60

Gated Comparison,
Jump if Inside

1.76

Gated Comparison,
Jump if Outside

1.76

Test Lower Bit,
Jump if Zero

1.60

(Y) < (H) : LL + 4 -+ LL
CJE

051

(Y) =F (H) : LL + 2 -+ LL (next loc)
(Y) = (H) : LL + 4 -+ LL

cm

052

(Y)

= (H) : LL + 2 -+ LL (next loc)

(Y) =F (H) : LL + 4 -+ LL
CJG

053

(Y) ~ (H) : LL + 2 -+ LL (next loc)
(Y) > (H) : LL + 4 -+ LL

Gated
Compare

GCI

GCO

054

055

I(Y) - (H)I

> (H 6) : LL + 2 -+ LL (next loc)

I(Y) - (H)I

~

TLZ

064*

-+

LL

< (H6) : LL + 2 -+ LL
(H)I > (H6): LL + 4 -+ LL

I(Y) - (H)I
I(Y) -

Test Bit

(H 6): LL + 4

(next loc)

(Y)BL =F 0 : LL + 2 -+ LL (next loc)
(Y)BL
BL

= 0 : LL + 4 -+ LL

= Lower bit as specified by H

*Literal modes 2 or 3 will cause the instruction to act like a NOP

Table V-So Class: Jump Instructions (Sheet 2 of 3)

Subclass
Test Bit

Mnemonic
TUZ

Description

Function Code
065*

-.---------------

(Y)BU =F 0 : LL + 2 ~ LL (next loc)
(Y)BU = 0 : LL + 4

~

LL

Name

Execu tion Time
(~ec
~:JU.L

Test Upper Bit,
Jump if Zero

1.60

Test Lower Bit,
Jump if One

1. 60

Test Upper Bit,
Jump if One

1.60

Test Lower Bit,
Jump if Zero

1. 60

Test Upper Bit,
Jump if Zero

1.60

BU = Upper bit as specified by H

TLF

066*

(Y)BL =F 1 : LL + 2 ~ LL (next loc)
(Y)BL = 1 : LL + 4 ~ LL
BL = Lower bit as specified by H
-

TUF

067*

(Y)BU =F 1 : LL + 2 ~ LL (next loc)
(Y)BU = 1 : LL + 4

~

LL

BU = Upper bit as specified by H

w

00

TLZ

164*

a.

(Y)BL =F 0 : LL + 2 ~ LL (next loc)
(Y)BL=O:

LL+4~LL

BL = Lower bit as specified by H

TUZ

165*

b.

Set external interrupt lockout

a.

(Y)BU =F 0 : LL + 2 ~ LL (next loc)
(y)BU=O:

LL+4~LL

BU = Upper bit as specified by H
b. Set external interrupt lockout
*Literal modes 2 or 3 will cause the instruction to act like a NOP.

Table V-So Class: Jump Instructions (Sheet 3 of 3)
Subclass
Test Bit

Mnemonic
TLF

Description

Function Code
166*

a. (Y)BL

* 1 : LL + 2

-+

LL (next loc)

= 1 : LL + 4 -+ LL
BL = Lower bit as specified by H

(Y)BL

Name

Execution Time
(psec) m = 0/1

Test Lower Bit,
Jumper if One

1.60

Test Upper Bit,
Jump if One

1.60

b. Set external interrupt lockout

TUF

167*

a. (Y)BU

* 1 : LL + 2

-+

LL (next loc)

= 1 : LL + 4 -+ LL
BU = Upper bit as specified by H.

(Y)BU

b. Set external interrupt lockout

*Li teral modes 2 or 3 will cause the instruction to act like a NOP.

Table V-6. Class: Transfer Instructions (Sheet 1 of 2)
Subclass

Mnemonic

Description

Function Code

Name

~.

Register
Modify

DTX

032

(H) - 2 ~ H : 0 ~ H on wrap around

a)

L1. + 2 -~ LL ifH
033

(H) + 1 ~H:

a)

040

(H)

Increment by One
and Transfer

1.60

= 0 (next loc)

O~H

LlL + 2 ~ LL ifH
XEZ

1.60

on wrap around

T~LLifH=I=O

b)

Register
Test

Increment by Two
and Transfer

--

T ~ LL if H :#: 0
LL + 2 ~ LL ifH

133

1.60

= 0 (next loc)

(H) + 2 ~ H : 0 ~ H on wrap around

a)
b)

lOX

Decrement by One
and Transfer

T ~ LL if H :#: 0
LL + 2 ~ LL ifH

132

1.60

= 0 (next loe)

(H) - 1 ~ H : 0 ~ H on wrap around

a)
b)

ITX

Decrement by Two
and Transfer

T ~ LL if H :#: 0

b)

DOX

Execution Time
(psec) m:= 0/1

= 0 (next loc)

= 0: T~LL

=0

1.60

Transfer if H =1= 0

1.60

Transfer if
H is Negative

1.60

Transfer if H

(H) =1= 0: LL + 2 ~ LL (next loc)
XNZ

041

(H) =1=0 :
(H)

XNG

042

T~LL

= 0 : LL + 2 ~ LL (next loc)

(H) 15 :: 1 : T ~ LL
(H)15

7= 1 : LL + 2 ~ LL (next loe)

Table V-6. Class: Transfer Instructions (Sheet 2 of 2)
..... -

Subclass

Mnemonic

Description

Function Code

Register
Test

XPS

043

Control
Transfer

XFR

034

XLK

03S

{Hhs =0: T-+LL
{Hhs =1= 0: LL + 2 -+ LL (next loc)
T-+LL

T-+LL
LL

XSW

036

+ 2 -+ H (next loc)

Hb = SWJb : T -+ LL

I

Hb =1= SWJb : LL + 2 -+ LL (next loc)
Comparison is by bit match

Name

Execution Time
(/JSec) m = 0/1

Transfer if
H is positive

1.60

Transfer
Uncondi tional

1.60

Transfer
Unconditional and
Store Link

1.60

Transfer on
Console Transfer
Switch

1.60

Table V-7. Class: Input/Output Instructions
Subclass
I/O

Mnemonic

Function Code

DEC

074

DES

174

Description
(yhS-8

I/O data lines 15-8

(Y)s-o

I/O data lines 5-0

a.

(Y) 15-8 ~ I/O data lines 15-8

(Y)5-0
b.

OFR

076

~

I/O address lines 5-0

Name

Execution Time
~ec) I1)

External Device
Command

4.16

External Device
Command and
Suicide

5.31

Output from Register

4.32

Input to Register

4.48

= ~~

Res et e,xternal interrupt lockout.
Set internal interrupt.
Res et J)AR status bit associated with existing level.

(H)d

~I /0

data lines 31-0

(Y)S-O ~I/0 address lines 5-0

.ITR

075

I/O dat a iiIles 31-0 ~ Hd
(Y)5-O ~ I/O address lines 5-0

Table V-S. Class: Miscellaneous Instructions
Subclass

Mnemonic

Function Code

Misc

EXE

001

Description
a.

LL~LL

..

Name

Execution Time
(usec)m=O/1

Execute

1.60

Halt

1.60

b. The next instruction is accessed from address T.

= SWHb·

Comparison is by bit match.

HLT

000

Halt if Hb

MBA

027

a.

(Y) ~ memory module addressed by (Y)14-15

b.

Memory status -- Hd if H =F 0

a.

(Y) ffi (H) ~ Y

b.

Set YO if [(Y)

c.

LL + 4

QED

124*

Memory Bank
Assignment

2.16 H = 0
2.56 H 1 0

Queue Table
Enque and Deque

1.95

No operation

No operation

0.80

a. Macro is activated upon access of instruction from
memory.
b. CPU halts and waits for Function End signal from SPU.
c. CPU accesses next instruction from memory upon receipt
of the Function End signal.

TBD

TBD

~

~

(H)] =#= 0

LL if the following equation is true

[(Y) ffi (H)]

= 0 • YO = 1

or
[(Y) ffi (H)] =#= 0 • YO

=0

LL + 2 ~ LL (next loc) if the above equation is false
d.

Macro

Nap

077

TBD

Any Unused
Code

Set external interrupt lockout

NOTE: The SPU can generate the Function End signal immediately upon recognition of its instruction when it is
advantageous to execute the macro instruction concurrently with subsequent CPU instructions.
"'Modes 2 or 3 will cause the instruction to act as a Nap.

SPECIAL INSTRUCTIONS FACILITATE PROGRAMMING _ _ _ _ _ _ _ _ _ _ _ __

A number of special instructions are provided to
simplify programming and reduce program execution time.
Special instructions that will simplify programming
include:
Queue Table Enque and Deque
This special instruction provides a more convenient
method for handling common data files between
multiple processor and program level, as well as
providing a suitable method of handling multiple
I/O termination to a common program level (Figure 5-6).

will be set in the control word but the next location will be skipped in memory. The processor
must then wait to be called before u~ing the
table.
When a processor has finished using the table, it
must again execute the Queue Table instruction.
The processor queue bit and the "in use" bit will
be reset if no other queue bits are set in the instruction. The next location will be accessed by
the processor to return it to its next routine.
If other queue bits are still set when the dequeing

This is accomplished by using a designated control
word for each data file. The control word is composed of an "in use" bit (bit 0) and 14 priority bits
(14-1). Bit 15 must always be zero.

instruction is executed, the "in use" bit will not be
reset and the next location in memory will be
skipped. The processor will then determine the
next highest priority (relative bit position) and
issue a call to that processor by setting a bit in its
PAR word and generating an interprocessor interrupt (SBL and SBU instructions).

The same instruction is used for both enqueing and
dequeing. A processor may use the file without
being called only when the control word contains
all zeros. If the file is in use when initially accessed by a processor, the appropriate queue bit

The interrupt lock-out is set during this instruction
to prevent a program level change from occurring
before the processor completes the routines necessary for assuring an orderly transition in the usage
of the table.

0 I

15

USE BIT

PRIORITY BITS

14

FILE NOT
IN USE

liN
I

0

CONTROL WORD

(Y) INITIAL

(Y) FINAL

SKIP

(HI

0000008

002001 8

NO

002001 8

0400018

042001 8

YES

002001 8

002001 8

0000008

NO

002001 8

042001 8

040001 8

YES

002001 8

ENOUE

LAST USER

DEOUE

Figure 5-6. Queue Table Instruction
44

Move Instruction
The Move and Zero instruction (Figure 5-8) permits the storage of the bits into the designated area
of the register but sets the remaining bits to zero.

The two Move instructions allow any number of
bits in one register to be addressed by means of a
mask and moved to any position in another
register.

This capability greatly facilitates the handling of
"packed" data which in tum minimizes memory
requirements by allowing several short words to be
stored into a single memory word.

The Move and Insert instruction (Figure 5 -7)
allows the bits to be stored into the designated
area of the register without disturbing the remaining contents of that register.

EQUATION:

En SHIFTED . C~

ES).c~s

I

H

CA MASK

INITIAL

o E01 10~ 000

(H)
SHIFTED

1 010 000 [201 10iJ 000

(H)S'CA

o 000 000 ~01 1O~

o 000

101 000

000

E

S

11 11

~ 000

o 101

100

~01

o 101

100

~OO OOOJ 111

OO Hd.

The three instructions used in perforlning the comparisons are as follows:
1.

2.
3.

FCL: The next instruction in memory is skipped if Yd < Hd.
FCE: The next instruction i~ memory is skIpped if Yd = Hd.
FCG: The next instruction in memory is skipped if Yd > Hd.
,"

L9n9 Multiply (LMY) Instruction

prior to executing the compare instructions. If the.,
numbers are not pre-normalized, an error bit is set
and the next instruction in memory is executed.

The process register pair (H)d is multiplied by the
operand (Y)d and the 64-bit product is stored in
Hd and Hd + 1. The multiplicand is restricted to
H(O,1) or H( 4 ~. The product will be stored in
H(O,I,2,3) or H(4,5,6,7)'

Double Precision Multiply (DMY) Instruction

A (+ 1) product will result in an error condition.
The process registers are left unaltered and the next
instruction in memory is executed. Use of the trap
instruction will cause the next location in memory
to be shipped if no error condition exists.

It is assumed that all numbers are pre-normalized

The DMY instruction performs a multiplication of
the double length operand (Y)d and a process register pair (H)d. The 32-bit truncated product is stored
in the process register pair (H)d.
Multiplication of a (-1) multiplier by a (-1) multiplicand will resul t in an error condition. The process
register pair is left unaltered and the next instruc. tion in memory is executed. Use of the trap instruction will cause the next location in memory to be
skipped if an error does not exist.

Long Divide (LDV) Instruction

The 64-bit dividend (H)d, d + 1 is divided by the
divisor (Y)d. The remainder is stored in Hd and
the 32-bit quotient is stored in (H)d + 1.
The 64-bit dividend will be fetched from either
H(O,I,2,3) or H(4,5,6,7)'
An illegal divide will occur if the dividend is greater

Double Precision Divide (DDV) Instruction

The dividend (H)d is divided by the divisor (Y)d.
The quotient is placed in Hd and the remainder is
discarded. An illegal divide will occur if the dividend is greater than the divisor or the dividend is
equal to the divisor and has the same sign. An illegal
divide will cause an error bit to be set and the process register pair will ,be left unaltered.
A trap instruction will cause the next instruction in
memory to be skipped if no error condition exists.

than the divisor or the dividend is equal to the divisor and has like sign. An illegal divide will cause an
error bit to be set and the process registers will be
left unaltered.
A trap instruction will cause the next instruction in
memory to be skipped if no error condition exists.
Packaging and Power

The extended performance arithmetic unit is packaged on four logic cards which are inserted directly
into the processor unit ATR case.
No additional power is required other than that
already provided by the processor power supply.
67/68

Table VII-I. Summary of Instructions For Extended Performance
Arithmetic Option
Execution
Times
(,usee)

Mnemonic

Code

Operation

FAD

140*

Hd + Yd .... Hd

Floating Point Add

5.24

FSB

141*

Hd - Yd .... Hd

Floating Point Subtract

5.24

FMP

142*

Hd x Yd .... Hd

Floating Point Multiply

6.24

FDV

143*

Hd
Yd .... Hd

Floating Point Divide

FAD

150*

Hd + Yd .... Hdt

Floating Point Add-Trap

5.24

FSB

151*

Hd - Yd .... Hdt

Floating Point Subtract-Trap

5.24

FMP

152*

Hd x Yd .... Hdt

Floating Point Multiply-Trap

6.24

FDV

153*

Hd
Yd .... Hd

Floating Point Divide-Trap

FCL

101 *

Skip Next Location
If Y < H

Floating Point Compare,
Jump is Less

2.44

FCE

102*

Skip Next Location
If Y = H

Floating Point Compare,
Jump if Greater

2.44

FCG

103*

Skip Next Location
If Y > H

Floating Point Compare,
Jump if Greater

2.44

DMY

144

Hd x Yd .... Hd

Double Precision Multiply

7.24

DDV

145

Hd .... Hd
Yd

Double· Precision Divide

DMY

154

Hd x Yd .... Hdt

Double Precision Multiply-Trap

DDV

155

~~

Double Precision Divide-Trap

DCL

105

Skip Next Location
If Y < H

Double Precision Compare,
Jump if Less

2.44

DCE

106

Skip Next Location
If Y = H

Double Precision Compare,
Jump if Less

2.44

DCG

107

Skip Next Location
If Y > H

Double Precision Compare,
Jump if Less

2.44

LMY

146

(H)d x (Y)d'"
Hd, d + I

Long Multiply

7.64

LDV

147

(Hd,d+l)
HI+
1
(Y)d
.... (
Remainder . . Hd

LMY

156

LDV

157

(H)d x (Y)U"Hd, d + It
(H)d, d + I
. . Hd + I
(Y)d
Remainder ... Hdt

Name

.... Hut

Long Divide

Long Multiply-Trap

Long Divide-Trap

*Literal Modes 2 or 3 will cause the instruction to act as an NOP.
tSkip Next Location If No Error

69

12.64

12.64

15.64
7.24
15.64

16.04

7.64

16.04

SECTION 8. L-304H SOFTWARE

The programs in the Resident Supervisor category
can be further considered as three groups designated as Control Programs, Service Programs, and
I/O Programs. The Control Programs are those
which determine the course of action to be taken
by the L-304 operating system. The Service Programs are those routines which perform specific
non-I/O functions, such as the Octal Conversion
Routine. Most of these routines are open; i.e., they
may be called directly by the User Program, perform their function, and return to the User Program. The I/O Programs handle the L-304 peripherals in the manner best suited for the L-304
operating system. These routines are also open for
use by the User Program, providing that the
method of peripheral handling is suitable to the
user's problem.

The L-304H Computer incorporates a software
package which includes a comprehensive set of
operator-controlled utility/facility programs and a
computer test program for use in detecting and
isolating computer failures.
Operating System
The L-304H utilizes the standard operating system
provided for all the Litton family of L-304 computers. This system has been developed to provide
effective communication between the user and the
computer system, and to aid in efficient use of the
system.
The operating system is a group of programs that
controls the loading and execution of object programs with provisions for relocatability and for
card, tape. (magnetic or paper), and printer handling. Troubleshooting aids are also provided in the
form of memory dumps and program trace performed at operator-selected points. In addition the
L-304 operating system provides the required flexibility to allow use of the computer in varying memory configurations with no less than 16K words as
a minimum.

A block diagram of the L-304 operating system and
related software is shown in Figure 8-1 and 8-2.
The Resident Supervisor structure is illustrated in
Figure 8-3. The programs in this group also fall
into three categories: (1) the System Loading Control Programs, (2) the Functional Input Programs,
and (3) the Modification Programs. This structure
is illustrated in Figure 8-4. The L-304 operating
system Loading Control Programs consist of all programs other than the Resident Supervisor which
may be used by L-304 during a load operation.

The L-304 operating system is categorized in three
major groups: (1) the Resident Supervisor, (2) the
Loading Control Programs, and (3) the Support
Programs. Of these, only those programs in the
Resident Supervisor category must be in core storage at all times.

70

L3040S
RESIDENT
SUPERVISOR

CONTROL
ROUTINES

BOOTSTRAP
LOADER

OPERATOR
INITIATED
LOAD
ROUTINE

OPERATOR
COMMUNICATIONS
ROUTINES

SUPERVISOR
CONTROL

ERROR
DIAGNOSTIC
ROUTINE
(OSERRORI

1/0
ROUTINES

SERVICE
ROUTINES

DUMP

OPERATOR
INTERRUPT

SYSTEM
LOADER

MASTER
RESET
RECOVERY

BINARY
TO OCTAL
CONVERSION
ROUTINE

KEYWORD
GENERATION
ROUTINE

MULTIPLEX
I/O
ROUTINE

DURA
I/O
ROUTINE
37269

Figure 8 -1.

L-304 OS Resident Supervisor

71

RESIDENT
SUPERVISOR

PATCH

MAP
ROUTINE

INSERT

FETCH
IRELOCATING
LOADERS)

JOB
CONTROL

CARD
CONVERSION
ROUTINE

RELOCATOR

PREPROCESSOR

TRACE

POSTPROCESSOR
SAVE

POSTPROCESSOR

START
ROUTINE

LIBRARIAN

COM POOL
ASSEMBLER

PRINT
FORMAT
ROUTINE

UNIVERSAL
LOAD
ROUTINE

SORT
ROUTINE

SLANG
SETUP
AND
EXECUTIVE

INSTRUCTION
TRAIL

37269-

Figure 8-2.

L-304 Operating System

RESIDENT SUPERVISOR
--

NON-RESIDENT L304 OS ROUTINES
BOOTSTRAP LOADER

SUPERVISOR CONTROL
60
SYSTEM LOADER
FETCH
INITIALIZATION
ROUTINE

INSERT

PATCH

60

OPERATOR INITIATED
LOAD (OSSAVE)

180

110

MASTER RESET RECOVERY
START
ROUTINE

LINKAGE
EDITOR

FETCH LOADER

OPERATOR INTERRUPT
250

180

150
ERROR ROUTINE

MAP ROUTINE
200

BINARY-TO-OCTAL
CONVERSATION ROUTINE

JOB CONTROL
670

KEYWORD GENERATION ROUTINE

CARD CONVERSION ROUTINE
1070

DUMP ROUTINE

RELOCATOR
1010

SLANG COMPI LER
1900

DURA 1/0 ROUTINE (98)

PRE-PROCESSOR
390

TRACE INPUT ROUTINE
300
RESTART

SAVE

60

110

MULTIPLEX
1/0
ROUTINE
(460)

LIBRARIAN
750
L304 0s::8440
GRAND TOTAL::::19,780

Figure 8-3. Resident Supervisor Structure

73

37269

PROGRAMS THAT ARE
LOADED BY AND USE THE
SERV!CES OF THE L304 OS

PROGRAMS DEPENDENT
UPON L3040S

I

L304 ASSEMBLER
SLAt~G

SETUP Af"JO

-~

EXECUTIVE
600

COMPOOL ASSEMBLER

POST-PROCESSOR
SAVE ROUTINE

TRACE PROGRAM

400
+1000 DATA BASE

1500

UNIVERSAL LOAD ROUTINE

POST-PROCESSOR
DATA EDITOR

500

840
+1220 DATA BASE
PRINT FORMAT ROUTINE
500

SORT
700

DUPLICATION ROUTINES
300

TOTAL:::: 1840

TOTAL:::: 9500

Figure 8-4. L-304

as

74

Support Programs

Assembly Program
I

The L-304 Assembly Program is available for use
on a Litton L-304, or IBM 360 or IBM 370
computer.
The assembly language is relatively standard, i.e.,
each instruction (statement), excluding the label
and comments field, consists of an operator and
variable field. The operator (op code) identifies the
operation (add, subtract, etc.); the variable field
generally represents such things as storage locations, general registers, immediate data, or constant
values. The variable field in assembly language can
contain from I to 4 subfields, depending on
the instruction class.

Symbolic instruction statements are one-for-one
representations of L-304 machine instructions
The assembler language provides for the symbolic
representation of any addresses, machine components (such as registers), and actual values needed
in source statements. Also provided is a variety of
forms of data representations: decinial, octal, hexadecimal, or character representation of binary
machine values. (The programmer selects the representation best suited to express a given piece of
data.)

The assembly program translates or processes
assembler-language programs into machine language
for execution by the computer. The program
written in the assembler language (used as input
to the Assembler) is called the source program; the
machine-language program produced as output from
the Assembler is called the object program. The
translation or processing procedure performed by
the Assembler to produce the object program is
called assembling. The object program produced
is also referred to as an assembly. Program statements (source statements) written in assembler lan-

1

8

LABEL

LABL

10

14

The following example illustrates the use of the
label (name), operation, variable field (operand),
and comments entries as they appear on the coding form. An "Add" instruction has been labeled
by the symbol LABL; the operation entry (ADD)
is the mnemonic operation code for an add operation; and the variable field 5, 6 designates the two
general registers whose contents are to be added.

71

16

OPERATION

ADD

guage may consist of: a label to identify the statement; a symbolic operation code (mnemonic) to
identify the function the statement represents; and
a variable field, consisting of one to four sub fields
to designate the data or storage locations used in
the operation, and space for comments.

VARIABLE FIELD COMMENTS

5,6

ADD REGISTER 5
TO 6. STORE SUM
IN6.

73

80

IDENTIFICATION

100

field entry, if used, may be numeric or symbolic or
a combination of numeric and symbolic. The variable field entry may consist of from zero to four
sub fields, depending upon the type of operation
code specified.

The basic structure of the assembler language is a
source statement consisting of a label entry, an
operation entry, and a variable field entry. The
label entry (optional) is a symbol. The operation
entry (mandatory) is a mnemonic operation code
representing an assembler instruction. A variable

75

360. The simulator is written in IBM 360 Basic
Assembly Language and can be run on any model
of the IBM 360 computer which is operating under
the S6360 Operating System. The resuits of a simulator run will, with the specific exceptions, be
identical to the results that would be obtained if
the same program were to be executed on an L-304
computer.

Service Routines

The L-304 Service Routines listed below constitute
functions which are used by most program systems.
The routines may be loaded by the Operating
System Program and entered from external programs or they may be entered directly by operator
control.
Mathematical Routines

This group is divided into the foilowing five subsections:

The simulator is designed to accept as input the
output of the L-304 Assembler Program. This input
-~ consists of a machine language representation of
the programmed instructions. The user of the simulator indicates, via control cards:

a. Trigonometric Functions
•
•
•
•

a. The trace or dump features that he wishes to
use.
b. The peripheral device(s) he wishes to simulate.
c. The modification he wishes to make to the assembled program(s) ..
d. The address and program level at which the execution of the L-304 program is to start.
e. The maximum number of lines of output or the
maximum number of L-304 instructions he
wishes to execute in this run.

Sine/Cosine
Tangent
Arc Tangent
Arc Sine/Arc Cosine

b. Square Root
c. Double Precision Arithmetic Functions
• Add/Subtract
• Multiply
• Divide

The seven modules of the simulator have specific
functions.

d. Logarithmic Functions (Base 2, e, or 10)

The Input Module has four major functions:

e. Exponential Function (XY)

1. To read in the control cards
2. To read in the binary deck(s)
3. To resolve any external linkages in the L-304
programs
4. To relocate, if necessary, the data in the binary
deck(s).

Conversion Routines

The routines within this group will:
a. Format 16-bit data words into EBCDIC characters for binary, octal, hex, or BCD output
b. Pack binary, octal, hex, or BCD EBCDIC character inputs into 16-bit words
c. Convert binary to BCD or BCD to binary. The
Edit will convert a signed binary fraction to a
signed BCD fraction and format in EBCDIC
(with leading zeros suppressed and inserted decimal point).

The Universal Load Routine deformats the control
cards read by the Input Module and stores the data
from the various fields in the 360 core.
The Instruction Interpreter Module performs the
execution of all L-304 instructions except the three
I/O instructions and maintains the L-304 real time
clock.

Interceptor/Simulator Program

The Peripheral Simulator simulates the peripheral
devices that normally interface with the L-304.

The L-304 Interpreter/Simulator is a group of seven
modules (separate assemblies) designed to simulate
the execution of any L-304 program on the IBM
76

The Debugging Module is responsible for generating
program traces, and dump output.

a. Instruction Test - all instructions (except I/O)
and addressing modes are tested.
b. Internal Interrupt Test - all logic related to program level call is tested except for I/O stimulators.
c. Real Time Clock Test - the L-304 program
controlled clock is tested along with I/O stimulated program level call.
d. Computer Time-Out Logic Test - central processor, memory, and I/O control timeout logic
tested.
e. Watchdog Timer Test - the programmed controlled times is tested.
f. Data Entry and Display Test - the operator
communication functions are tested
g. Extended Memory Addressing - all logic associated with memory access by program is tested
h. Memory Test - one or more memories are tested
and the test is directed to locating failures in
the data lines, addressing lines, and memory controllogic.

The I/O Control Simulator simulates both the
L-304 IOC and the I/O devices defined by the
customer that are to be present on the L-304. This
module also maintains the L-304 real time clock.
General Machine Test Program (GMT)

The GMT program consists of a set of program
modules which exercise and test the functions of
the central processor unit, memory unit(s) and I/O
control unit. The program is constructed to facilitate computer troubleshooting by providing an
error halt option at each test point and an option
to loop on a given test.
The program is loaded into memory from card
decks using the bootstrap load feature of the
L-304.
The program modules of the GMT have specific
functions described as follows:

77

SECTION 9. SYSTEM PACKAGING, POWER, AND CONTROLS

Design and packaging of the L~304H Computer
makes it suitable for use in a wide variety of rugged
tactical environments.

Standard electronic circuits, consisting of highspeed Schottky SSI and MSI elements are used
throughout the processor and memory units. Eight
types of SSI and 14 types of MSI circuits are used,
with components mounted on four- to six-layer
printed circuit cards constructed by standard
plated-through hole technique, with ground and
power layers provided.

Each module of the airborne version of the L-304H
Computer is packaged in a three-quarter long ATR
case, which measures 7.5 inches by 7.5 inches by
19.5 inches and weighs approximately 30 pounds.
One ATR case contains the processor unit, including the control, arithmetic, and input/output circuits. Another case, containing the memory unit,
includes a 16,384 word core stack and associated
memory circuitry (Figures 9-1 and 9-2).

Heat generated on the cards is conducted through
integral bar-type heat sinks to the sides of the ATR
case where spring pressure is applied to maintain
positive contact to cold plates on the side of the
structure. With the use of cold plates, components
are isolated from air flow contaminants.

Provision for growth is afforded by the modular
construction technique used throughout both units.
Memory size can be increased by simply adding
16K memory units in a plug-in arrangement.
Multiple processor capability is likewise achieved
by the modular addition of processor units.

The processor and memory units are powered by
integral power supplies. Input power is 115 volts,
400 Hertz. Processor power consumption is 220

78

Access to the functional cards and power supply
assemblies is gained. by removing the top shear
cover of the unit case. Removal of the bottom
shear cover provides access to the wiring side of the
wire-wrap plate. All covers are fitted with EMI
gaskets.

watts; memory power consumption is 260 watts
under nominal operating conditions. Automatic,
orderly shutdown is provided by power sequencing
circuitry, and power loss protection is provided·
by power fault interrupt to the CPU. Operation
in both steady-state and transient conditions is
as specified in MIL-STD-704A for category B
equipment.

The power supply furnishes a regulated +5 volt,
40 ampere output to the processor unit. Distributed
power is routed through the VAST connector to
accommodate VAST testing requirements. A terminating cap (mating connector) is provided to return
direct power during operation, and each card is supplied power through a separate power cable. The
power supply has been packaged with four separate, removable units. In addition to providing thermal advantages, this packaging of elements accommodates testing, fault isolation, and replacement of
elements. The four units are: (1) switch assembly,
(2) rectifier assembly" (3) auxiliary regulator card
assembly, and (4) main regulator control card assembly. These four units plug in directly to the
single processor unit wire wrap plate.

External interface connectors are mounted either
on the front faces of the ATR cases or on the rear
depending upon specific customer applications.
VAST test connectors are provided on the sides of
the cases and on the edges of the printed circuit
cards.
The ATR structures are dip-brazed assemblies which'
give extremely high strength-to-weight ratios and
incorporate two side cold plates of finned aluminum. As a result of the dip-brazing process, the
fins become an integral part of the primary structure and provide a direct, unimpaired thermal path
for all internal components. Cooled air is not
required, and the computer uses only forced ambient air for heat dissipation.

The switch and rectifier assemblies are modular subassemblies using a one-piece heat sink which mounts
discrete components directly to its surface. The
heat sink is then mounted directly to the system
cold plates, providing a direct thermal path to system cooling.

The L-304H Computer is designed for installation
in a variety of ground, shipboard, and airborne environments, and meets the following military specifications:
MIL-E-5400N
MIL-E-16400
MIL-I-461A
MIL-E-4158
MIL-STD-704A

Class 2X
Classes 3 and 4
Notice 3

The two card assemblies are two-sided printed circuit cards with discrete components mounted on a
bar type heat sink similar to the logic cards. Thermal conduction is achieved through spring clips to
primary structure which is attached to the cold
plates. Electrical connections are made through 30
and 90-pin fork and blade type connectors.

Category B

Processor Unit

The processor unit ATR case includes the central
processing unit (CPU), input/output unit (IOU),
and associated power supply. Twenty logic card
connectors are provided. The CPU uses 11 printed
circuit cards, the IOU uses 3 cards, and 6 card slots
are provided as spares for expansion. Each card is
6 inches x 7 inches and contains a mix of SSI and
MSI components up to a maximum of 80 microcircuits. A single wire-wrap plate is used to interconnect the cards with 180-pin fork and b lade connectors used to connect the cards to the plate. Functional partitioning and byte slicing maximize fault
isolation techniques.

Sense circui try has been added to protect the
power supply and to automatically shut down
power under the following conditions:
a.
b.
c.
d.
e.

Overv olt age
Overcurrent
Overtemperature
Loss of phase
Over/under voltage input

Automatic restart will occur under the following
condi tions:

79

a.

The temperature decreases to the operating
level.

b.

The input voltage reaches the level required
by specification.

Heat is removed from the power supply via the
thermal conduction from the main chassis to the
cold plates. The power supply provides a single
132-pin output connector which contains both
the output voltages and test points internal to the
power supply. The test points were selected to
providecompatibiiity with VAST testing requirements. In addition, the power supply provides a
fault signal to the memory to indicate a power
supply malfunction; it also contains the same
startup, shutdown, and protective circuitry features as the processor power suppiy.

Fuses have been added within the power supply to
protect the unit from an internal short-circuit
condition.
Memory Unit

The memory unit ATR case contains six types of
17 printed circuit cards, a 16K core stack, and
the memory power supply. The circuit cards are
4 inches x 7 inches and are interconnected by a
single wire-wrap plate with fork and blade connectors used to connect the cards to the plate. The
16K by 36-bit core stack is a single plug-in unit,
and contains in tegral sense am plifier circuits. Four
rails on the corners of the core stack provide physical support and location fixing. In addition, the
rails provide thermal conductive cooling paths for
conducting heat to the cold wall side plates. The
core stack uses 14 mil cores, selected for optimum
performance and reliability.

System Control Panel

The system control panel (SCP) for the L-304H,
shown in Figure 9-3, is a self-contained subunit
which can be mounted on the front of the processor case or located remotely.
The panel indicators and switches are grouped as
follows:

The 16K memory power supply provides regulated
direct current voltages to the 16K core memory
unit. The power supply accepts 3-phase, 115-vac,
400-Hz power input and furnishes the memory
with the following voltages:
+5v ±10 percent
+5v ±5 percent
-5v ±5 percent

@

+23v ±7 percent
+32v ±10 percent

@

Data & Base
Select Switches

OVER TEMP: Illuminates when processor
case temperature reaches the warning level;
if temperature increases to the upper limit,
system power is shut down.
PWR FAULT PROC: Illuminates when the
processor power supply fails.

0.5 amp
@

Functional
Switches

RUN: Illuminates when CPU is running.

1.0 amp

@

Data
Display

INDICATORS

11.5 amps

@

Indicators

0.5 amp

PWR FAULT MEM: Illuminates when a memory power supply fails.

0.7 amp

IOU MEM TIME OUT: Illuminates on a detected failure for the IOU-memory interface.

+ 12v variable (8.5 to 12 amps) matched to
stack characteristics
The power supply consists of six major assemblies:

IOU TIME OUT: Illuminates on a detected
failure for the IOU-external device interface.

Main Chassis. Contains the high power components and serves as the housing assembly
for the power supply.

CPU MEMORY TIME OUT: Illuminates on a
detected failure for the CPU-memory
interface.

Component Chassis. Contains the output rectifier filters.

PROGRAM TIME OUT: Illuminates on failures such as an internal CPU failure, an illegal
operation code, or a time out of the CPUSPU interface.

Four Circuit Cards. Auxiliary converter, ±5v
regulator, +5v regulator, and logic card.
80

SYSlfMCOIIT'ROl

1.62

1.50

Lll'Il MODUlAR PRQC£SSOR
AND SYSlfM COIIlRO\. CQIISClI

Figure 9-1. L-304H Processor Packaging

~------------~-._

.3TYP-

7.6

3.0

-"'Z

13

6.5

L·304H 16K X 36 BIT
4 PORT HIGH SPEED CORE MEMORY

Figure 9-2. L-304H Memory Packaging

81

FUNCTIONAL SWITCHES

POWER: Actuation turns on the processor
power supply.

LAMP TEST: Actuation causes all switch caps
and indicators to illuminate ~Tld forces zeroes
into the data display.

SYS RESET: ~A?Lctuation causes a simulated
power failure and resets the processor and
memory to their initial conditions; release of
the switch simulates restoration of power,
i.e., the processor is forced to program level
76 8 and started.

Switchcap illuminates
PARITY ERROR:
when memory parity error is detected; actu-,
ation of switch resets display.
DATA ENTER: Actuation interrupts the
processor and indicates to the program that
the operator has entered a code into the
DATA SELECT switches.

t::r:':\

\:::/

POWER FAULT
PRO

MEM·

PROG LOAD: Actuation initially causes a
system reset; upon recovery, the CPU remains inactive and the Bootstrap signal is sent
to the IOU.

J

--,-1

OVER
TEMP

I I

L.J..

I

-~
TIME OUTS

FAULT
CODE

100

o

C

DATA SELECT

"""\

_I

BASE
SEl

ffi~~~~
~~~~~I
L-304H

Figure 9-3. L-304H System Control Panel

DATA DISPLAY: Three-digit decimal LED
readout under program control which provides program communication with operator;
the FAULT CODE indicator calls attention to
the fact that a fault code is present.
DATA SELECT: Three decimal switches used
by operator to insert data into processor; the
switches can be interrogated at any time by
the program, but the DATA ENTER switch
must be actuated to interrupt the running
program.

BASE SEL: Eight position switch by which
the operator designates which of the memories is to serve as the base memory.

In addition to the controls and indicators on the
system control console, each 16K memory has a
prime power on/off switch and indicator, a memory bank address switch, and a power fault
indicator.

82

rn

Litton

DATA SYSTEMS

NT S

PUlER

AN/USQ~20
Right SHift. Q ............... Shift (0) Right by Y
Right SH itt. A ................ Shift (Al Right by Y
03 Right SHift. AQ ...... ;. .......... Shift (AO) Right by Y,
04* COMpare • A,ea, ~ AQ • ........ Sense Oh (Ali =(A)f
05 Left SH ift • Q _ "._ ................ Shift (Q) Left by Y
06 Left SH ift • A ................... Shift (Al Left by Y
07 Left SHift. AQ ................... Shift (AO) Left by Y
10 ENTer. Q .. Y. k=OtQ'~Q
15
SToRe It A .......................... {A),......,.,. Y. k =4, A'-fJoA
16 SToRe. an ............ ' ............. (B)l~ Y
ri"!'I. SToRe'. cf! .......... 8 '. . . . . . . . ! • (Clj-.... y
20 ADD 0 A ... '" .................... (A) + Y .....;~ A
21 SUBtract 41 A ........ it ............ (A) - Y --l'/J:- A
22 MUltiply ............................. {Ql Y -fJJ- AQ
23* DIVide ............................ (AO) / Y -+- Q. R -(l:!.Af
24 RePlace 1& A +Y ......... " ..... (A) +(Y) ~ ya A
25 RePlace 41 A -Yo ••••••••• (A) -(Y)~ ya A
26* ADD • Q . . . . . . . . . . . . . . . . . . {Q}+- Y ...... O.(A)i=(A)flj interpretation
27'* 5U a tract • Q • • .. • • .. • • • • .. (a) - Y ..:...flo. Q, (A) i :: (A)f reversed for AS Q
30 ENTer 0 y + Q 0 C • • • • • .. • • • y +(0) -fit- A
31 ENTer ~ y .... Q ............ Y-(Q)-I>·A
32 SToRe  t
k=I, (Y)L-'(oOIOO+nLj
k =0, Y ~(OOIOO+nl.

A

mono inter, at 00040+j

76'" OUiputeC'Cwith-MoNrron mode). Buffer OUT on CJ with mono
.

k=3,{Y) ....{00120+j);

k:o It (Y)L -!J.!.{OOI20 + j)l'
k :;0, Y -in--{OOI2o+1\.
mono inter. at 00060 + j

...... NO - OPeration •
- Com Premont A or. Q .............. _}
It

•

..

•

..

•

•

•

•

.......

.

4)

-

L(A)(Q) -fta> Yi (Ali:: (A}f
SET (A\, FOR Yni:l
COM PLEM ENT (Al n FOR Y n =I
CLEAR (Aln FOR Y n =1
SU** • • • • • ... Y n ..... (A}n FOR {O}n:ttl

*""l.P'" L.o(jica I Product

a

.....,. Clear-A,·O,D an,ot Y...... •• ..........

SToRe \I L.P •• '.• : •••••••
50 S£Lective • SET •• ;......
!Sl SElective • CP*'" • • • • .. ••
5, SElective .. CL** ........

53 SELective

a

..........

RePlace • A -LP•••••••••

47

54 fteplace. SElective • SET.. • .. • • SET (Aln FOR ('()n ::I I r -II> Y a A
55 Replace SElective •. CPo ....... COMPLEMENT (A)nFOR (Y)n=l,-+-V SA
56 Replace SElective • Ct........... CLEAR (Aln FOR (Y)n zit ~ Y A
51 Replace SElective • SUo ... : ... (Y)n ~(A>n FOR ('Q)n =Ilt -f>Y
60 Jum P (arithmetic 1 •••••••• }Jum p to Y if j -c?ndIt iO.n is satisfied.
61 Jum P {manua I} ... " • • • • • •• (see JP
RJP. J - Designators)
Jump to Vif Ctinput }
62"'" JumP {Ifoen has ACTIVE
IN put buffer) .......... buffer active....
{see JP
RJ P
A
63 Ju~P (If 1& en has ACTIVE
Jump to Y if Ci output
j - Designators)
OUTput buffer) ........ buffer active
64 Return JumP (arithmetic) •• ~ • }Jum p. to Y+I and P+I ~YL if j condition is
65 Return JumP (manual). ••••. ; satisfied (see JP a. RJP 1 - Designators)
66..... TERMinate e en" !NPUT•••••• Terminate input buffer on chClnnel j
6~ TERMinate •
OUTPUT •••• Terminate output buffer on channel j
70* RePeaT................... Ex~cute N I Y times
"
71' BSKip 0- an•••.••...••••• (Sll =Y) skip NI and clear {S)ll {B)l ~ Y,
Advance si and read N I
7~ 8JumP" a~ •.•.•.••..•.• (Bli =0, read NI i (B)j ¢: 0, (S)j-L and
.
. .
jump to address Y

CS-I Mono-codes

Remove Interrupt Lockout . . . . . . . . . . . . .
Remove Interrupt L.ockout and JumP.Y .. .

..... TeSt-CO or-CI ....................... .

tL. -Cleor

'!} ~5peciol

j

ak

Designators <.see opponite

~ldQ of card)

Y - The operand, Y or (y)

co

NTDS UNIT

PUTER

AN/USQ·20

NORMAL

k-DESIGNATORS

j .. DESIG.
r----"

j

(Not applicable on
or A)
Skip Cod.

0

(nolklp)

-

:3
4

5

s"
t-----

.,

k

Code

OriQin

Code

Dest.

Cc1de

0

'blank'

UL

Q

0

'not uled'

M~

L

ML

Mu

U
W

MiJ

.4

L
U
VI
X

5

LX

XUl
.XML

6'

UX

XMu

A.

A

I

SKIP
Q POS
Q NEG
A ZERO
A NOT Zero
A POS

I

2

:3

7

A NEG

M

(4 bits)

T

REPLACE

STORE

READ

'*

2

~
J-DE SIGNATORS

L
U
'II
'notuMd'

M

A
CPL . Cpl ML
LX
CPU Cpl Mu UX
CPW Cpl M not UMd'
A

OrlQin

D~sf,

-

-

Ml
Mu

Ml
Mu

M

M

-

Ml

XMu

My

-

A-A· re~ister

Mu- Upper half memory word
X •• Sign bit extended

o - O-reQister

JP &
j

JP
60

JP

RJP

64

61

65

0

( No Jump)·

I

(Uncond. Jume)*

2
3
4
5
6
7

==?:
-':'

Q

KEY I
KEY 2
KEY "3
STOP
STOP 5
STOP 6

P~S

Q NEG

A ZERO
A NOT Zero

A POS

-

I

~~

Wncond. Jump 1

en

A NEG
---_.-

STOP 1

63, _ _

*60 eleorsi.nt~rrupt

a

en

ACTIVE OUT

bootstrop modes..

t

I

-2412~-

leli

b

7 -

20}19

y

::iJ

15 114 -

(2 bits)
EX- FCT
13

k

,

~

,
,

STRoC"

,

not used'

,
I

not used'

VI

IN ed'tOUT.Cn

JP
62 63
, blank'

17

not used'

not used'

3

nof used'

73 75 74 76
I

L
U

not used'

'II

,

blank'

L

not used'

W

W

U~reQister

U-

* j -DESIGNATORS
04

23

0

(no skip)

(no skip)

t
2

(uncond itional skip)

:3
4
~

6
7

SKIP

Y LESS : y s to)
Y MORE: Y > (0)
:(Q)~ Y and Y >(A)
Y IN
:(Q)
< Y or Y :s (A 1
Y OUT
Y LESS : Y s (A)
Y MORE: Y > (A)

./ 0 6 Increm4lnt If HI is

HE -

Next execution

ADO-Q ,SU aeQ

DIV

COM - A • • Qt. A Q

i

'=;-~---~

62 j
ACTIVE IN

9

"-""

2

RJP

RJP

§":-

I

-DESIGNATORS

j

f

[

Cpl- Complement

ML- Low t!' half memory word

and represents Cn where n may be 0 -15

k-DESIGNATORS

XML

-

pO~ltions

The Instruction word assumes the formot:

-

LEGEND
M - Memory word (30 bits 1

<\ bit

OCCUPIt:S

RPL

NO Over Flow
Over r:low

A ZERO
A NOT Zero

A POS
A NEG
..

_.

eloS!}

i

27

26

-

ENTeLP t RPLe LP

40

( no skip)

(no skip)

SKIP
A POS

SKIP

A NEG
Q ZERO
Q t40T Zero
Q POS
Q

NEG

RPT

44

EVEN parity

70

,-------1

{no mOd.lJV 0 f NE r:Y
0 ~~E s'(i-l
AOV
1.BACK
1'( 0 fNE"Y-1

:y
:y'

000 pOrlty
A ZERO
A NOT Zero

Rpl. Inc. : Yo
-'-._---_.
AOVR

A POS

BACK R : Yo

A NEG

ADD B R

ADO B

0f

:'(0

Increments '( addrcu for the store portion of the replace.

fy-

NE "y .. Bb

Table IV -6.

Index of Instructions by Function Code

, PAGE

MNEMONIC
CODE

FUNCTION
CODE

l'i

7.

NUMoER
IN TEXT

:r--;,fRUCfIO"-l

00

MtT

2-54

vi

EXE

2-5C

I

EXECUTE '

02

EXC

2-1-

I

EXCHA.NGE

i

EXD

2-17

EXCHANGE DOUBLE

I

LOR

2-12

LOAD ill-!

03
(}.l

.!

rlAU

I

!

STR

2-12

06

LDD

2-]3

)rD

2-13

10

AJD

2-18

ADD

11

SUB

2-19

SUBTRACT

12

RAO

2-19

REPLACE ADD

13

RU8

2-19

~EPLACE

14

AOA

2-2C

AOD ABSOLUTE

15

S8A

2-20

SUfi'" ... .:! ASSOLUTE

16

LDA

2-14

LOAD A8S0LUTE

17

lDC

2-14

LOAD COMPLEMENT

20

EOR

2-22

EXCLUSUE OR

21

lOR

2-23

INCLUSIVE OR

22

AND

2-23

LOGICAL AND

23

MBD

2-51

MEMORY SANK DESIGNATOR

24

REI!

2-24

REPLACE EXCLUSive OR

25

Rill

2-25

REPLACE INClUSIVE OR

26

/IAN

2-26

REPLACE lOGICAL AND

27

MBA

2-51

MEMORY BANK ASSIGNMENT

JO

MPY

2-21

MULTIPLY

31

DIV

2-21

DIVIDE

32

DTX

2-31

DECREMeNT RH BY 2,
TRANSFER IF RH .. 0

32
If" l)

ITX

2-32

TRANSFER AND INCitEMENT
RH &Y 2

33

cox

2-32

DECREMENT RH BY I,
TRANSFER IF lIH ,. 0

33

lOX

2-33

I

-l

FUN(7jON
(::.,o~

!

I
4!

~

MNEMONIC
CODE

I
I

PAGE
NUMBER
IN TEXT

INSTRUCTION

I

XEZ

2-34

TRANSFER IF RH = 0

XNZ

2-35

TRANSFER If RH .. 0

t"\ -i

XNG

2-35

TRANSFER IF lIH IS NEGATIVE

t-', -; :... .

l-.____.~~3~ ~
__

t~-2--~----r_-T-RA-N-'--F-E-Il-'f--RH--1s__~__SI_Tl_V_E__~

____
X_ps_____

2-7:7

SHIFT LONG LEFT

Nll

2-28

NORMAL! ZE lONG LEFT

SNC

2-30

SHIFT AND COUNT

47

11FT

2-30

REFLECT

50

CJl

2-36

COMPARE, JUMP IF lESS

Sll

45

STORE DOuSlE
I

L

L____

f

5_1____+-___C_J_E____+-_2_-_3_7__

i i
53

~I--CO\~ARE.JU~iFfQUAL

CJU

2-37

COMPARE, JUMP IF UNEQUAL

CJG

2-38

COMPARE, JUMP IF GREATER

~'----'----_+----------+_------+_----------------------_1

2-38

Gel

GATED COMPARISON,
JUMP IF INSIDf

GeO

55

~-'

2-38

GATED COM~AJUSON.
JUMP IF OUTSIDE

2-~

SHIFT LONG RIGHT

2-19

SHIFT AlGEBU.lCAll Y RIGHT

i

SlR
57

60
(Oi! 01)

SET

2-52

SET alT

152

Cll!

2-53

CLEAR alT

SKZ

2-39

SKIP IF 81T IS ZERO

SKN

2-40

SKIP IF alT IS ONE

70

MVZ

2-16

MOve AND ZEitO

71

MVI

2-14

MOVE AND INS9T

STZ

2-~

STORE All Zf~OS

(Ol! 63;

64

(OR 65;

•

66

(OR 67)0

ni

t-,";

TRANSFER AND INCREMENT
IIrl BY 1

(E " 1)

J.I

XFR

2-33

TRANSfER UNCONDITIONAL

35

xu:

2-33

TRANSFER UNCONDITIONAL
AND STORE LINK

36

37

)(SW

JTW

.. , _

!--------~---------+------~------------------~~

LOAD DOUBLE

SUaTRAG

Ii

-----~~~.'~\--~----------~--~---~-----------------------4

STORE RH

05

07

I

74

DEV

SPECIAL D£V1Cf COMMAND

75

TRANSFE~

2-3.4

ON CONSOLE
TRANSFER SWITCH

76

OFR

2-36

JUMP THREE-WAY

n

NO?

I

2--45

INPUT TO REGISTeR

2-45

OUTPUT fROM REGISTER

2-49

NO OPERATION

2502-8

·INDICATES DUAL FUNCT!ON CODE fOR IDENTICAL INSUUCTIOr-.,

4-30

\" ,-

Table IV-5.

L-304F Instruction Index
TRANSFER IN.STRUCTIONS

ARITHMETIC INSTRUCTIONS
FUNCTION
CODE

INSTRUCTION

:

MNEMONIC
CODE

PAGE
NUMBER

2-20

14

ADA

ADD

10

ADD

2-J8

OI'I.D1:

31

DIV

MUlTlPl Y

30

MPY

REPlACE ADD

12

RAO

REPLACE suarRACT

13

RUB

\LJBTRACT

15

S8A

2-21
2-21
2-19
2-19
2-20

II

SUB

2-19

A.8~OlUH

ADD
f--

I

~

.. uaTRACT

MNEMONIC
CODE
EXC

EXCHANGE

03

,XO

2-17
2-17

16

l.OA

2-14

lDC

LOAD
II AaSOLUTE .....- ~

r- ----

--'

LOAD COMPLEMENT

17

LOAD DOUBLE

06

lDD

2-14
2-13
2-~M

2-14
2-16
2-13
2-12

LOAD RH
-.-------..

04

LOR

MOVE AND !N)E!!T

71

MVI

MOVE A.ND ZERO

70

MVZ

STOilE DOUBLE

07

STD

ST()llE RH

OS

S II!

f---- .

2-34

TRANSFER
"UNCONOIT 10NA l

34

XfR

2-33

TRANSFER
UNCONDITIONAL
AND STORE LINK

35

xu::

2-33

TRANSFER IF RH
IS NEGATIVE

41

XNG

2-35

41

XNZ

2-35

TRANSFER If RH "
IS POSITIvE
'

43

XI'S

2-35

TRANSfER ON
CONSOLE TRANSFER
SWITCH

36

xsw

2-3-4

'"

MNEMONIC
CODE

I

PAGE
NUMBU

2-:11

COMPARE, JUMP
IF leSS

50

CJL

2-30

2-26

COMPARE, JUMP
If UNEQUAL

52

CJU

2-37

RE~

2-24

s.

GCI

2-:?s

RIR

2-25

GATtD COMPAalSON, JUMP If
INSIDE
GATED COMPAIl!SON, JUMP If
OUTSIDE

55

GCO

2-38

JUMP THREE WAY

37

JTW

2-36

bO
lei 67}

SKN

2--40

SKZ

-2-39

fOR
lOR

2-23

26

RAN

24
25

NUMBER

2-23
2-22

LOGICAL AND
O~

INCLUSIVE OR

SHIFT INSTRUCTIONS
PAGE

FUNCTION
CODe

MNEMONIC
CODE

NUMBER

45

NLl

2-28

SHIfT AlGfBRAICAll Y RIGHT

57

SAR

2-29

SHIfT lONG lEFT

44

SLl

SHIFT lONG RIGHT
Sr',fT AND COUNT

56

SlR

46

SNC

HFLECT

47

P.fT

2-'0
2-29
2-30
2-30

Sit:; IP If alT IS
ONI:
SKIP IF II!T IS

zuo

fUNCTION
CODE

MNEMONIC
CODE

SPecIAL DEVICE
COMMAND

74

Of V

INI'UT fO
RfGIS Tf~

75

IT II

_._-

0.-

10165)

*
*

MISCELLANEOUS INSTRUCTIONS
INSTRUCTION
CLEAR alT

I

INPUT /OUTPUT INSTRUCTIONS

76

FUNCTION
COOf

CJG

21

OUTPU';' FROM
REGiS TEll

XEZ

53

20

-.---

40

"

COMPARE, JUMP
If GREATER

1:"eLUSIVE OR
f-----.

INSTIluCrlON

2-32

2-37

EXCLUS IVE OR

NORMALIZE
LON(; LEfT

ITX

CJE

AND

INSTRUCTION

32
IE.: I}

I)

51

22

~EPLACE

2-33

~

COMPARE, JUMi'
IF EQUAL

LOGICAL AND

REPLACE
EXCLUSIVE

lOX

33
IE

JUMP INSTRUCTIONS

PAGE

MNEMCNIC
CODE

R~?LACE

2-31

\

IN:'fI!UCTION

FUNCTiON
CODE

~-

OTX

TRANSFEilIF
RH 10

lOGIC INSTRUCTIONS
!NS TRUCT ION

32

TRANSFER IF
RH = 0

DOUIILE

1---

2-32

TRANSFER AND
INCilt:MENT
RH 8Y 2

PAGE

02

DOX

TRANSFER AND
INCREMENT
RH BY 1

NUMBER

EXCHANGE

3:!

RH/O

DATA TRANSMISSION INSTRUCTIONS
FUNCTION
CODE

NUMBER

DECREMENT RH L\Y
2, TRANSfER IF

,-

INSTRUCTION

MNEMONIC
CODE

DECREMENT RH 8Y
I. TRANSFER IF
RH/o

~.'B~OlUTE
~

PAGE

FUNCTION
CODc

INSTRUCTION

PAGE

NUMBER

2-404

FUNCTION
CODE
62

MNEMONIC
CODf
Clit

2-53

10163)

~~
'\HAlT

-2-50

01

EXE

00

HU4

MEMOIY!ANI(
ASSIGNMENT

27

MM

2-54
2-51

MEMOIfY BANK
DESIGNATOR

23

Mao

2-51

NO OPERA TION

n

NOP

2--49

2-.45

SET BIT

60

SET

2-52

2-45

S rO~f ALL ZEROS

STZ

2-54

1Of/ 61)

Ofll

PAGE
NUMBER

4-29

72



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2012:02:06 08:43:54-08:00
Modify Date                     : 2012:02:06 08:40:55-08:00
Metadata Date                   : 2012:02:06 08:40:55-08:00
Producer                        : Adobe Acrobat 9.5 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:a54e10c4-0ae4-4dfb-b3f9-a5e495a30eb6
Instance ID                     : uuid:3a4d1423-1ea1-4b0e-9664-fc3686adaba4
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 94
EXIF Metadata provided by
EXIF.tools

Navigation menu