|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 148608 (0x24480)
Types: TextFile
Names: »D168«
└─⟦4b76feb82⟧ Bits:30008865 Diskette med tekster der formodes at være 31-D-163…174
└─⟦this⟧ »D168«
RC3741: 300 lpm Band Printer.
RC3742: 600 lpm Band Printer.
RC3743: 900 lpm Band Printer.
. QUALITY PRINTER DESIGNED FOR LONG-LIFE
. ENDLESS BAND CONTAINING CHARACTER SET EASILY EXCHANGED
. NUMBER OF DIFFERENT CHARACTER SETS
. BUILT-IN FAULT DIAGNOSTICS
. LOW-NOICE OPERATION
\f
G_E_N_E_R_A_L_
The RC3741/42/43 band printers represent unsurpassed printout
quality, combining high-speed performances and high reliability
in operation. The printers are designed and manufactured to
provide precise printing over a long life. Initial cost is low -
and so is the maintenance cost. The user>s choice in character
set options is manyfold.
C_H_A_R_A_C_T_E_R_I_S_T_I_C_S_
The character set is contained on (struck on) as an endless,
horizontally running band. Changing print bands is simple - all
adjustments are automatically performed by the printer. A number
of print bands (64 or 96 characters per character set and differ-
ent national alphabets) are available as standard. Further
options can be provided on request. Compressed character spacing
(15 cpi) can be obtained on the smaller models thereby reducing
paper use by 40 percent. Standard character spacing is 10 char-
acters per inch; line length 132 characters. Line spacing is 6 or
8 lines per inch. Paper is controlled by a 12-channel VFU, multi-
copy forms can be used and even on six-part forms a crisp, clean
printing is evident.
The printer is easily attended by the operator and all the prin-
ter operations are constantly monitored by the built-in fault
diagnostics. A test print facility enables a quick check of the
printer condition. The modular design of the printer logics per-
mits field replacement if required. The acoustic cabinet provides
quite operation. In addition, the print band motor is turned off
automatically after 30 seconds without printing.
\f
S_P_E_C_I_F_I_C_A_T_I_O_N_S_ RC3741 RC3742 RC3743
No of characters
in character set: 64 96 64 96 64 96
Print speed, lpm,
nominal value: 300 222 600 440 900 660
Compressed char.-
space option: YES YES YES YES NO NO
Character spacing,
char./inch: 10 or 15 10 or 15 10
Line spacing: 6 or 8 lines per inch
Line length: 132 characters per line
Standard features: 12-channel VFU, fault diagnostics, test print,
dual line spacing pitch, towel ribbon,
paper basket, castors.
Paper width: 4 to 16 3/4 inches
Paper type: Multicopy, up to 6 copies
Power requirements: 220V AC, 1000W 220V AC, 1300W 220V AC, 1100W
Temperature, amb. 10-40C (50-104 F)
Humidity, rel.: 20-80 %, non-condensing
Heat Dissipation: 3600 kJ/t 4700 kJ/t 3950 kJ/t
(2410 BTU/h) (4435 BTU/h) (3746
Sound Level: 67 dB (A)
Mounting: Free-standing (interfaces with system
through 12 m signal cable)
\f
D_I_M_E_N_S_I_O_N_S_ 43
Height: 113 cm (44.5 in)
Width: 86.4 cm (34 in)
Depth: 61 cm (24 in)
Weight: 136 kg(300 lb) 136 kg(300 lb) 159 kg(350 lb)
RCSL No 42-i1565
\f
RC3741: 300 lpm Båndprinter
RC3742: 600 lpm Båndprinter
RC3743: 900 lpm Båndprinter
. KVALITETSPRINTER
. ENDELØSE BÅND MED TEGNSÆT SKIFTES NEMT
. INDBYGGET FEJLFINDINGSUDSTYR
. STØJSVAG DRIFT
\f
G_E_N_E_R_E_L_T_
RC3741/42/43 båndprinterne tilbyder en uovertruffen skriftkvali-
tet kombineret med en høj ydelse og en stor driftssikkerhed. Kon-
struktion og fremstilling af printerne er foregået specielt med
henblik på lang levetid og præsis udskrivning. Både investering
og driftsomkostninger er små. Brugernes valgmuligheder mellem
forskellige tegnsæt er mangfoldige.
K_A_R_A_K_T_E_R_I_S_T_I_K_A_
Tegnsættet er præget på et endeløst, vandret løbende bånd. Det er
en enkel sag at skifte printbånd - printeren udfører selv alle
nødvendige justeringer. Et stort antal printbånd tilbydes som
standard (64 eller 96 tegn per tegnsæt, forskellige nationale
alfabeter). Yderligere options kan tilbydes efter forespørgsel.
På de mindre modeller kan der leveres printbånd med større tegn-
tæthed (15 tegn pr. tomme) - derved kan papirforbruget reduceres
med indtil 40 procent. Standard tegntæthed er 10 tegn pr. tomme;
linielængden 132 tegn. Linietætheden er 6 eller 8 linier pr. tom-
me. Papiret styres af en 12-kanal VFU, flerlagspapir kan benyt-
tes - og selv på 6-lags kopier opnås et klart, rent skriftbil-
lede.
Printeren betjenes nemt af operatøren og alle printerens funk-
tioner overvåges løbende af det indbyggede fejlfindingsudstyr. En
printer-selvtest gør det muligt, hurtigt og nemt at efterprøve
printerens funktioner. Printerstyringens modulære design tillader
udskiftning på stedet, hvis det skulle blive nødvendigt at
erstatte en komponent. Printerkabinettet er bygget med støjsvag
drift for øje - desuden afbrydes motoren til printbåndet efter 30
sekunder uden udskriftsaktivitet.
\f
S_P_E_C_I_F_I_K_A_T_I_O_N_E_R_RC3741 RC3742 RC3743
Tegnsæt, antal tegn: 64 96 64 96 64 96
Skrivehastighed, lpm,
nominel: 300 222 600 440 900 660
Reduceret tegnafstand,
option: JA JA JA JA NEJ NEJ
Tegntæthed, tegn/tomme: 10 eller 15 10 eller 15 10
Linietæthed: 6 eller 8 linier pr. tomme
Linielængde: 132 tegn per linie
Standard udstyr: 12-kanal VFU, fejlfindningsudstyr,
selvtest, to linietætheder, bred
farvebåndsrulle, papirkurv, hjul.
Papirbredde: 4 til 16 3/4 tommer
Papirtype: multi-copy, indtil 6 kopier
Strømforsyning: 220V AC, 1000W 220V AC, 1300W 220V AC, 1100W
Temperatur, omg. 10-40 C
Luftfugtighed, relativ: 20-80%, ikke kondenserende
Varmeafgivelse: 3600 kJ/t 4700 kJ/t 3950 kJ/t
Lydniveau: 67 dB (A)
Montering: fritstående (tilslutning til system
via 12 m kabel)
\f
D_I_M_E_N_S_I_O_N_E_R_
Højde: 113 cm
Bredde: 86,4 cm
Dybde: 61 cm
Vægt: 136 kg 136 kg 159 kg
RCSL 42-i 1566
\f
i
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_
1. INTRODUCTION .......................................... 1
2. DESIGN OBJECTIVES ..................................... 3
2.1 Word Length ...................................... 3
2.2 Storage Addressing ............................... 3
2.3 Register Structure ............................... 4
2.4 Instruction Format ............................... 4
2.5 Input/Output Structure ........................... 5
3. COMPUTER ORGANIZATION ................................. 7
3.1 Data Formats ..................................... 7
3.2 Number Representation ............................ 7
3.3 Working Registers ................................ 8
3.4 Interruption System .............................. 9
3.5 Input/Output ..................................... 12
3.6 Basic Instruction Formats ........................ 16
4. ARITHMETIC AND LOGICAL INSTRUCTIONS ................... 17
4.1 Instruction Format 1 ............................. 17
4.2 Address and Operand Calculation .................. 18
4.3 Instruction List ................................. 20
5. BRANCH AND CONTINUE INSTRUCTIONS ...................... 25
5.1 Instruction Format 2 ............................. 25
5.2 Address and Operand Calculation .................. 26
5.3 Instruction List ................................. 26
6. SHIFT-ROTATE INSTRUCTIONS ............................. 32
6.1 Format 3 for Shift-Rotate Instructions ........... 32
6.2 Fetch Algorithm for Format 3 ..................... 32
6.3 Instruction List ................................. 33
7. INTERLEVEL INSTRUCTIONS ............................... 35
7.1 Format 3 for Interlevel Instructions ............. 35
7.2 Instruction List ................................. 36
\f
ii
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _(_c_o_n_t_i_n_u_e_d_)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_
8. INPUT/OUTPUT INSTRUCTIONS ............................. 37
8.1 Format 3 for Input/Output Instructions ........... 37
8.2 Instruction List ................................. 38
9. INSTRUCTION SET ....................................... 41
9.1 Arithmetic and Logical Instructions .............. 41
9.2 Branch and Continue Instructions ................. 42
9.3 Shift-Rotate Instructions ........................ 43
9.4 Interlevel Instructions .......................... 43
9.5 Input/Output Instructions ........................ 44
10. SWITCHES AND INDICATORS ............................... 45
10.1 Processor Front Panel ............................ 45
10.1.1 Switches .................................. 45
10.1.1.1 Bus Switches ..................... 46
10.1.1.2 Debug Mode Switch ................ 46
10.1.2 Indicators ................................ 47
10.1.3 Jack ...................................... 49
10.2 The Debug Console ................................ 49
10.2.1 Activation ................................ 49
10.2.2 Display Commands .......................... 50
10.2.3 Control Commands .......................... 51
10.2.4 Command Parameters ........................ 52
10.3 Installation ..................................... 52
11. INSTRUCTION EXECUTING TIMES ........................... 53
11.1 Address Calculation Times (AT) ................... 53
11.2 Execution Times (ET) ............................. 54
\f
F_1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1.
The RC3503 is a small, general purpose 16-bit controller with an
outstanding interruption and input/output system. This makes the
computer especially suited for applications such as:
Data and media conversion systems
Communication terminal concentration systems
Front-end computer for larger computer systems
Process supervision and control systems
Controller for a number of medium to low-speed periph-
erals
The main features of the RC3503 are summarized below:
Storage:
The used memory is dynamical, MOS with cycle times of 580 ns. The
word length is 16 bits + 2 parity bits.
32 K words RAM memory is the max. address space.
Storage Addressing:
8-bit bytes and 16-bit words are directly addressable.
Arithmetic:
The arithmetic unit processes 16-bit binary integers in parallel
using twos complement notation.
Interruption Levels:
32 interruption levels are included in the basic version. Can be
expanded to 124 levels.
Working Registers:
The programmer has access to a set of 8 registers per interrup-
tion level. One of the registers in each set contains a program
counter and a carry indicator, whereas the remaining 7 are gene-
ral registers of which 3 are used both as accumulators and index
registers, and 4 as spare registers.
\f
Instruction Set:
The computer has a repertoire of 50 standard instructions of
which 34 refer to storage. All storage reference instructions can
also be specified to operate with their effective address as ope-
rand, i.e. immediate addressing. An instruction consists of 1, 2,
or 3 consecutive words.
Input/Output:
A number of input/output instructions governs the data transfer
between central processor and peripherals. Data transfer between
peripherals and CPU is performed in serial mode, but the data are
treated as parallel data, depending on the characteristics of the
external device in question. Peripherals having high transfer
rates communicate in blocks of words or bytes directly with main
storage. All input/output operations are directed by interrupt
signals. RC3503 is equipped with 32 serial I/O channels. The
number of I/O channels can optional be expanded to 124 channels.
Debug Facilities:
A TTY compatible device can be connected directly to RC3503, and
communicates with the micromachine in RC3503 to simulate a stan-
dard operator panel.
Real Time Clock:
RC3503 is equipped with an onboard Real Time Clock, the frequency
of which is controlled by the debugger. Default the Real Time
Clock frequency is set to 20 ms and connected to the interrupt
level 1.
\f
F_2_._ _ _ _ _ _ _ _ _D_E_S_I_G_N_ _O_B_J_E_C_T_I_V_E_S_ 2.
The primary design objectives of the RC3503 computer were to
construct a low cost computer with a flexible input/output system
and with a powerful instruction set for ease of programming. Fur-
thermore, peripheral devices should be connected to the computer
with a minimum of interfacing. Important considerations in meet-
ing the objectives are explained below.
2_._1_ _ _ _ _ _ _ _W_o_r_d_ _L_e_n_g_t_h_ 2.1
The bits for input/output devices ranges from 1 bit for tele-
communication up to 12 bits for card readers and analog-to-
digital converters. The basic arithmetic operands should there-
fore not be less than 12 bits, preferably a few bits longer; on
the contrary, a very much longer format serves no purpose since
the computer is not intended for administrative data processing.
Because the majority of peripheral equipment transfers 8 bits in
parallel at a time, the word length must also be a multiple of 8
bits in order to optimize the utilization of storage. Cost consi-
derations dictated that the smallest integer which satisfies afo-
resaid conditions should be used, and consequently a word length
of 16 bits was chosen.
2_._2_ _ _ _ _ _ _ _S_t_o_r_a_g_e_ _A_d_d_r_e_s_s_i_n_g_ 2.2
Data are handled most efficiently if they can be addressed di-
rectly, and because of the widespread use of 8-bit bytes, a byte
was adopted as the smallest addressable unit. From an addressing
point of view, the instructions are divided into two classes ac-
cording to whether the storage address refers to bytes or words.
\f
2_._3_ _ _ _ _ _ _ _R_e_g_i_s_t_e_r_ _S_t_r_u_c_t_u_r_e_ 2.3
Internal registers of importance to the programmer are three 16-
bit general registers, one 15-bit program counter, and a carry
indication. The advantage of more than one general register is
that it reduces the number of storage references required in a
given program. The general registers of the RC3503 computer act
both as accumulators and index registers, for which reason the
full instruction set becomes available for address modifications.
The collection of the above-mentioned programable registers is
referred to as a set of working registers.
The computer has not only one set of working registers, but 32
sets, namely one for each interruption level. Hence, we have eli-
minated the storing of current status (program counter, carry,
and accumulators) and loading of new status whenever program
switching is demanded by the interruption system. The response
time for answering an interrupt is thus reduced to a minimum, and
the input/output system is designed to take full advantage of
this fact.
2_._4_ _ _ _ _ _ _ _I_n_s_t_r_u_c_t_i_o_n_ _F_o_r_m_a_t_ 2.4
In principle, an instruction consists of an operation part and an
address part. The operation part specifies an operand code, a re-
sult register (if more than one exists), and an address mode (in-
dexing, immediate, indirect, etc.). The address part is either a
full address or an abbreviated address used in conjunction with
either a fixed page scheme or as a displacement relative to an
index register or the program counter.
For a fixed 16-bit instruction format we have that if the operand
portion expands at the expense of the address, the number of in-
structions, result registers, and address modes taken together
increase, but the usefulness of these instructions is severely
affected due to the limited address range. Reversely, a large
address part reduces the instruction repertoire and its mode fea-
tures so that only a fraction of the entire instruction set may\f
fully utilize the improved address range. As a consequence of
this, it was decided to employ a variable instruction format,
where an instruction may occupy 1, 2, or 3 words.
2_._5_ _ _ _ _ _ _ _I_n_p_u_t_/_O_u_t_p_u_t_ _S_t_r_u_c_t_u_r_e_ 2.5
In the design particular emphasis was put on the construction of
an efficient and versatile input/output system. This is important
because a major part of small computer systems is used for real-
time control where the I/O capability has a profound influence on
the total effectiveness of the system.
A normal approach is to use two types of I/O data channels: (1) a
low speed channel to which character-oriented devices such as
typewriters, paper tape readers, etc. are connected; and (2) a
high-speed channel to which block-oriented devices such as magne-
tic tapes and display units are connected.
Character transfer, via the low-speed channel, is under program
control; and the program must either repeatedly test the channel
status to see when the device becomes available or the device
must respond with an interrupt when it is ready for transmission
of next character. The first approach implies that the central
processor can perform no other operations until all characters
are transmitted, which in many applications are unacceptable. The
efficiency of the second scheme is directly related to the time
it takes to switch from one program to another.
The high-speed channel transfers blocks of data at high rates di-
rectly between storage and I/O devices, independent of program
control once the transfer has been initiated. The transfer is
supervised by additional hardware, normally: (1) a counter for
current storage address; (2) a register for last storage address;
(3) a comparator to detect end of block; (4) facilities to pack
characters into word format and vice versa; and (5) logic to con-
trol the operation of storage during I/O transfers. The hardware
mentioned in (1) to (4) is placed in the device controller for
which reason the cost of the device is significantly increased.\f
The logic mentioned in (5) is incorporated in the central proces-
sor, but because of its complexity it is normally offered as an
option at an additional cost.
Looking at the low-speed channel, it is obvious that the most ad-
vantageous I/O system is one where I/O operations are initiated
by interrupts and program switching time is zero. With regard to
the high-speed channel, it is preferable to keep the block-mode
concept, but desirable to minimize cost. The RC3503 solution to
this problem is to have one data channel to which both low- and
high-speed peripheral equipment may be connected. I/O operations
are under program control and an interrupt signal is generated
whenever a character is ready for transmission. Each interrupt
signal is wired to its own set of working registers, and a fixed
priority order exists among the register sets. Switching from one
program to another is then reduced to merely move a pointer from
the current register set to the new one; and we have in fact an
ideal low-speed channel. Block-oriented devices make use of the
general registers and the inherent arithmetic capabilities of the
central processor, so no extra hardware is needed in the device
controllers. When no I/O operation is in progress, the working
registers are free for normal program execution. The time requi-
red to transmit one character in or out of storage is two storage
cycles, one to execute an I/O instruction and one to the actual
transfer. The maximum transfer rate is thus halved in relation
to a sophisticated high-speed channel, but this difference is
seldom of practical interest for small computers.
The available I/O instructions for data transfer are:
1. Transfer one word between working register W1 and
external device.
3. Transfer a block of words or bytes directly between
storage and external device.
\f
F_ 3_._ _ _ _ _ _ _ _ _C_O_M_P_U_T_E_R_ _O_R_G_A_N_I_Z_A_T_I_O_N_ 3.
3_._1_ _ _ _ _ _ _ _D_a_t_a_ _F_o_r_m_a_t_s_ 3.1
Two data formats are recognized by the RC3503, an 8-bit byte and
a 16-bit word. A word consists of two bytes of which the left-
most byte must have an even storage address.
BYTE BYTE
0 7 8 15
WORD
0 15
Figure 3.1: Data formats.
Storage addresses are always expressed as byte addresses. The
byte locations are numbered consecutively starting with zero.
When an instruction refers to a word in storage, bit 15 in the
effective address is ignored. Thus it is irrelevant whether the
effective address refers to the left or right byte of a word.
3_._2_ _ _ _ _ _ _ _N_u_m_b_e_r_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ 3.2
The arithmetic unit of the computer assumes that numerical data
are signed integers represented in twos complement form. In this
notation the left-most bit represents the sign. For positive num-
bers the sign bit is zero, for negative numbers one.
S
0 1 15
Figure 3.2: Integer word.
The negative of a number is obtained by complementing all bits,
including the sign bit, in the number and then adding a 1 to the\f
right-most bit. A signed integer represented by 16 bits is confi-
ned to the range
-32,768 <= integer word <= 32,767.
Other data formats such as various forms of packed data words,
multiple-length fixed-point, and floating-point representations
must be defined by appropriate software routines. The programming
of these routines is greatly simplified by a CARRY indication. If
a carry occurs out of bit 0 in an arithmetic instruction, CARRY
is set to 1, otherwise CARRY is reset to 0. A set of instructions
makes it possible explicitly to set and reset CARRY just as there
is a possibility for branching on the current value of CARRY.
3_._3_ _ _ _ _ _ _ _W_o_r_k_i_n_g_ _R_e_g_i_s_t_e_r_s_ 3.3
Figure 3.3. depicts the working registers, W0 to W3, associated
to each interruption level.
PROGRAM COUNTER CARRY
W0X0
0 14 15
W1 X1
0 15
W2 X2
0 15
W3 X3
0 15
Figure 3.3: A set of working registers.
\f
Registers W1 to W3 are used by the programmer both as accumula-
tors and index registers, in the latter case they are referred to
as X1 to X3. Register W0 occupies, in some respect, an exceptio-
nal position, because bits 0 to 14 specify the program counter,
PC, and bit 15 equals the value of CARRY. Fifteen bits are just
enough to locate any instruction in storage, since instructions
are always an integer number of full words.
Although there is a distinction in interpretation of W0 and the
other registers, they are all alike with respect to instruction
execution. By this we mean that any instruction is executed with
an operand in, say W2, also is executed if the operand were pla-
ced in W0. For example, a LOAD instruction may load any of the
W registers with a word from storage, but of course, loading of
W0 has the special effect of executing a program jump.
Inter register load and store instructions are also provided
which makes it possible to transfer information between W regis-
ters belonging to the same or different interruption levels.
3_._4_ _ _ _ _ _ _ _I_n_t_e_r_r_u_p_t_i_o_n_ _S_y_s_t_e_m_ 3.4
A program interrupt feature permits an automatic switching from
the current program sequence to another sequence in immediate re-
sponse to specific external or internal events. The efficiency of
an interruption system is directly related to the time it takes
the central processor to perform this switching. Therefore, in
the RC3503, we have associated a set of working registers to each
interruption level so switching is reduced to connect a new set
of working registers to the control and arithmetic unit; confer
figure 3.4.
\f
65534 65535
STORAGE
6 7
4 5
2 3
0 1
CONTROL AND
ARITHMETIC UNIT
PRIORITY SELECTION NETWORK
W0 W0 W0
W1 W1 W1
W2 W2 W2
W3 W3 W3
INTERRUPTION 1 31
LEVEL: 0
Figure 3.4: RC3503 block diagram.
The priority selection network contains a 32-bit interrupt req-
uester buffer, IR, of which bits 1 to 31 can collect up to 31
incoming interrupt signals. A one in a bit position corresponds
to an interrupt request, and bit N corresponds to the Nth inter-
ruption level. Bit 0 in register IR occupies an exceptional posi-
tion, because the value of this bit remains one equivalent to a
permanent interrupt request.
Connected to incoming interrupts
IR: 1 - - -
0 1 2 31
Figure 3.5: Interrupt request register.
\f
Simultaneous interrupt signals are served in order of priority
and the signal which is wired to the highest bit number in IR has
highest priority. Input/Output devices with a high transfer rate
should therefore have their interrupt lines wired to the right-
most bits of register IR. If all incoming interrupt signals are
honoured and no new requests arrive, interruption level 0 is au-
tomatically selected.
The interruption system is normally enabled, i.e. an interrupt
request having a priority higher than the current one, causes a
new set of working registers to be activated. In some cases, how-
ever, it is desirable to disable the interruption system for
shorter intervals. In disable mode, other interrupts are indeed
collected, but they cannot change the interruption level, i.e.
the current program proceeds. The two modes are under program
control, and the flip-flop ENABLE is 1 for enable mode, 0 for
disable. Register IR can be set under program control and we may
summarize the supervision of the interruption system as follows:
1. A bit in IR is set to 1 by a request from an I/O device
2. A bit in IR is set to 1 by a request from the program
by the instruction type
INTERLEVEL INSTRUCTIONS
3. The bit in IR, correspondiong to the c_u_r_r_e_n_t_ interrup-
tion level, is cleared by two instruction types
LOAD REGISTER CLEAR INTERRUPT AND ENABLE
I/O INSTRUCTIONS
4. ENABLE is set to 1 by three instruction types
LOAD REGISTER CLEAR INTERRUPT AND ENABLE
INTERLEVEL INSTRUCTIONS
I/O INSTRUCTIONS
5. ENABLE is cleared by the instruction type
INTERLEVEL INSTRUCTIONS
\f
3_._5_ _ _ _ _ _ _ _I_n_p_u_t_/_O_u_t_p_u_t_ 3.5
Any peripheral is connected to the CPU by means of a 4 pairs
cable, which is transformer coupled at both ends secure a very
high noise immunity.
The transmission of data is performed in serial mode whether the
device connected is of parallel or of serial nature. The data
word transferred consists of a 4 bits header and 0 to 16
information bits.
\f
Header Data part
M_M_ "1" X X "1" 0 to 16 information bits
P_P_ 0 1
synchronizing bits
The header contains the following information:
TRANSMISSION F_R_O_M_ _C_P_U_ _T_O_ _P_E_R_I_P_H_E_R_A_L_
"OUTPUT 1 0 0 1 Read data
Header" 1 0 1 1 Read status
1 1 0 1 Write data
1 1 1 1 write control
TRANSMISSION T_O_ _C_P_U_ _F_R_O_M_ _P_E_R_I_P_H_E_R_A_L_
"INPUT 1 0 0 1 16 bits (word)
HEADER" 1 0 1 1 EOI (end of information)
1 1 0 1 8 bits (byte)
1 1 1 1 not used
CENTRAL
PROCESSOR
UNIT
I/O CHANNELS
DEVICE
STATUS
CONTROL
DATA IN
DATA OUT
\f
In principle each device contains 4 16-bit registers. The regis-
ters are 2 data registers (one for each direction of flow), one
control register and one status register. However, for actual de-
vices one or more of the registers may be omitted, some of the
registers may be combined to one, or the register length may be
shortened from 16 bits right down to 1 bit. The central processor
initiates an I/O instruction by selecting the I/O cable leading
to the device addresses whereafter the data are transferred.
Communication may be initiated either by program or by interrupt
from a device. An interrupt is detected on the data line when a
"1" bit is sent to the CPU, and it has not asked for data.
The data flow from the computer to the four device registers and
vice versa is illustrated by 4 general I/O commands. The commands
describe the possible patterns of execution for the I/O channel
and the device controllers, whereas specific details concerning
how data are stored in the computer is postponed to Chapter 8,
where the actual I/O instructions are defined.
Read Status:
The read status command is a request to the device to transfer
the contents of status to working register W1. The number of
status bits and their interpretation is device dependent, but the
following list indicates their nature.
Busy/Available, the busy mode signifies that the pre-
vious operation has not yet been com-
pleted, - available mode the opposite.
Disconnected, i.e. power to the device is switched
of.
Intervention, i.e. the operator has interferred manu-
ally with the device, e.g. he has
switched the typewriter to operate in
off-line mode.
\f
Timer, i.e. the device or the operator has not
completed an operation within a prede-
termined time.
Write Control:
The write control causes an immediate transfer of a control word
from working register W1 to the control register, and the compu-
ter proceeds to the next instruction. When the control operation
is completed, an interrupt is normally generated.
The individual bits in the control register specify commands,
which are executed by the device controller. Examples are:
Generate an interrupt request
Start or stop peripheral equipment
Check or generate parity
Operations such as for magnetic tapes rewind, erase,
upspace, file, etc.
Read Data:
The read data command causes an immediate transfer of information
from data buffer to working register W1 or directly into storage.
The computer is released as soon as this transfer is completed.
When the next character is ready in the device, it is normally
indicated by a new interrupt signal.
Write Data:
The write data command causes an immediate transfer from working
register W1 or directly from storage to the data buffer in the
selected device. The computer is released as soon as this trans-
fer is completed. When the device is ready to receive the next
character, it is normally indicated by a new interrupt. Transfer
of information is done in analogy with read data.
\f
3_._6_ _ _ _ _ _ _ _B_a_s_i_c_ _I_n_s_t_r_u_c_t_i_o_n_ _F_o_r_m_a_t_s_ 3.6
There are three basic formats and the instructions are grouped
according to formats as follows:
Format 1: Arithmetic and Logical instructions
Format 2: Branch and Continue instructions
Format 3: Shift-Rotate, Interlevel, and Input/Output
instructions
The length of instruction Format 1 is one or two words, depending
on whether the 7-bit displacement is sufficient or not for speci-
fying a word in storage. Format 2 has a length of two or three
words also determined by the range of the displacement. Format 3
consists of one word or two words. The chapters to follow define
the RC3503 instruction set. Chapter 9 gives a complete instruc-
tion list with corresponding mnemonics.
\f
F_ 4_._ _ _ _ _ _ _ _ _A_R_I_T_H_M_E_T_I_C_ _A_N_D_ _L_O_G_I_C_A_L_ _I_N_S_T_R_U_C_T_I_O_N_S_ 4.
4_._1_ _ _ _ _ _ _ _I_n_s_t_r_u_c_t_i_o_n_ _F_o_r_m_a_t_ _1_ 4.1
Format 1a: F W X D
0 5 7 9 15
Format 1b: 1 1 1 1 0 W X I n F
0 5 7 9 10 11 15
Format 1c: 1 1 1 1 1 W X I n F
0 5 7 9 10 11 15
A
0 15
Figure 4.1: Instruction format 1.
Format 1 is shown in Figure 4.1 and it is characterized by having
a function or operand code, F, where the left-most bit of the F
field equals 0. The remaining four bits specify therefore 16 ba-
sic instructions, having the numeric codes from 0 to 15.
Format 1a may be regarded as the basic format and the two others
as expansions with the sole purpose of extending the addressing
facilities. Format 1b is derived from the basic format by remo-
ving the original F field to the five right-most positions of the
word, and in the thus released positions the numeric code 30 is
inserted. Code 31 is used in a similar way to specify format 1c.
The length of formats 1a and 1b is one word, but two words are
used in case 1c.
The 2-bit W field specifies one of the four working registers as
the result register. Bits 7 to 8 constitute the X field and this
field selects the current index register, if any. Working regis-
ters W1, W2, and W3 act as index registers when the X field has
the values 1, 2, and 3, respectively, whereas no indexing is spe-
cified when the value is 0. The latter implies that W0 and with
that the program counter cannot be used for address modifica-
tions; in other words relative addressing is not available.
\f
The field D and A supply further information for calculating the
effective address. D specifies a displacement from -64 to 63 by-
tes within a contiguous storage area, and A can be used to di-
rectly address any byte in a page of maximum capacity of max 32
Kwords.
Immediate addressing is specified if the 1-bit I field equals 1.
If immediate addressing is employed, the operand is equal to the
calculated effective address and not to the contents of the loca-
tion to which the effective address points, as is the case when I
= 0.
The n bit (i.e. next) controls a count feature that automatically
increases the contents of the working register which is selected
by the X field. Register W0 is incremented if the X field equals
0. Incrementation takes place for n = 1, and the increment is 2
for instructions which refer to words and 1 for byte references.
The instruction list to follow defines the amount of
incrementation for each instruction.
4_._2_ _ _ _ _ _ _ _A_d_d_r_e_s_s_ _a_n_d_ _O_p_e_r_a_n_d_ _C_a_l_c_u_l_a_t_i_o_n_ 4.2
From the programmer>s point of view storage addresses are always
expressed as byte addresses. The byte locations are numbered con-
secutively from zero to maximum. The effective address, EA, is
calculated on basis of either a displacement, D, or a full
address, A, and probably an index register, X. Each of these
components are treated as signed integers, but when EA refers to
storage, ST, it is interpreted as an unsigned integer of 16 bits.
An example, the effective address -1 refers to storage location
65535.
Figure 4.2 shows the evaluation of the effective address and from
this it is obvious that Format 1c reduces to Format 1b when A e-
quals zero. As previously mentioned, the operand equals for I = 1
the effective address and for I = 0 the contents of the location
specified by EA. Since 1a does not have an I bit, the programmer\f
cannot specify immediate addressing as he wishes. By definition
we have immediate addressing for X field equal to zero, otherwise
not.
The program Counter, W0(0:14), is automatically incremented by
the central processor to point at the next word whenever an in-
struction or part of it is fetched from storage.
The calculation of the effective address and the operand i con-
densed into the following Fetch algorithm:
FORMAT 1a:
Operand
X field EA X field I=0 I=1
00 D 00 - D
01 X1+D 01 ST(X1+D) -
10 X2+D -64<_D<_63 10 ST(X2+D) -
11 X3+D 11 ST(X3+D) -
FORMATS 1b and 1c:
Operand
X field EA X field I=0 I=1
00 A 00 ST(A) A
01 X1+A -32,768<_ 01 ST(X1+A) X1+A
10 X2+A A<_32,767 10 ST(X2+A) X2+A
11 X3+A 11 ST(X3+A) X3+A
Figure 4.2: Address and operand calculation.
Fetch:
FR:= ST(W0); comment Fetch instruction, 1st word;
W0:= W0 + 2; comment Increase Program Counter;
if FR(0:5) < ' 30 and FR(0:5) < ' 31 then
begin comment Extend the displacement to a 16-bit signed
integer;
EA:= 9extFR(9)conFR(9:15)
end;
\f
if FR(0:5) = 30 then EA:= 0;
if FR(0:5) = 31 then
begin comment Fetch instruction, 2nd. word;
EA:=ST(W0); W0:= W0 + 2
end;
if FR(7,8) < ' 0 then EA:= EA + W(FR(7,8)); comment indexing;
Operand:= if I = 1 then EA else ST(EA);
go to Instruction Execution;
4_._3_ _ _ _ _ _ _ _I_n_s_t_r_u_c_t_i_o_n_ _L_i_s_t_ 4.3
This section defines arithmetic and logical instructions. The
CARRY bit is explicitly mentioned if it is altered by an instruc-
tion whose result register is different from W0.
LOAD REGISTER
Load the W register with the storage word addressed or for imme-
diate addressing the effective address of the instruction. The
contents of storage remain unchanged. If count is specified, the
contents of X are increased by 2.
W:= Operand;
if n = 1 then X:= X + 2;
LOAD COMPLEMENT
Load the W register with the twos complement of the storage word
addressed or for immediate addressing the effective address of
the instruction. The contents of storage remain unchanged. Com-
plementation of the maximum negative number yields the maximum
negative number, since it has no positive counterpart. CARRY is
set in accordance with the carry out of position zero. If count
is specified, the contents of X are increased by 2.
W:= - Operand;
CARRY:= carry;
if n = 1 then X:= X + 2;
\f
LOAD INDIRECT
Load the W register with the storage word addressed by the ope-
rand. The contents of storage remain unchanged. If count is spe-
cified, the contents of X are increased by 2.
W:= ST(Operand);
if n = 1 then X:= X + 2;
STORE REGISTER
Store the W register in the storage word addressed. For immediate
addressing and no indexing the W register is stored in the loca-
tion specified by the effective address. For immediate addressing
and indexing the W register is stored in the X register. The W
register remains unchanged. If count is specified, the contents
of X are increased by 2.
if l = 0 then ST(EA):= W;
if l = 1 and X field = 0 then ST(EA):= W;
if l = 1 and X field < ' 0 then X:= W;
if n = 1 then X:= X + 2;
STORE INDIRECT
Store the W register in the storage word addressed by the operand.
The register remains unchanged. If count is specified, the
contents of X are increased by 2.
ST(Operand):= W;
if n = 1 then X:= X + 2;
EXCHANGE STORE AND REGISTER
Store the W register in the storage addressed and the previous
contents of the storage word is loaded into the register. For im-
mediate addressing and no indexing the W register is stored in the
location specified by the effective address and the effective ad-
dress is loaded into the W register. For immediate addressing and
indexing the contents of W and X are exchanged. If count is spe-
cified, the contents of X are increased by 2.
\f
if l = 0 then begin A:= ST(EA); ST(EA):= W; W:= A end;
if l = 1 and X field = 0 then begin ST(EA):= W; W:= EA end;
if l = 1 and X field < ' 0 then begin A:= X; X:= W; W:= A end;
if n = 1 then X:= X + 2;
LOAD BYTE
Load the right half of the W register with the storage byte ad-
dressed and clear the left half of W. For immediate addressing,
the right half of W is loaded by either the left-most or right-
most 8 bits of the effective address of the instruction depending
on whether the effective address is even or odd. The contents of X
are increased by 1.
W(0:7):= 0;
W(8:15):= if EA(15) = 0 then Operand(0:7) else Operand(8:15);
if n = 1 then X:= X + 1;
STORE BYTE
Store the right half of the W register in the storage byte
addressed. The register remains unchanged. Immediate addressing
has the same effect. If count is specified, the contents of X are
increased by 1.
if EA(15) = 0 then ST(EA)(0:7):= W(8:15)
else ST(EA)(8:15):= W(8:15);
if n = 1 then X:= X + 1;
ADD INTEGER WORD
Add to the W register the storage word addressed or for immediate
addressing the effective address of the instruction. The contents
of storage remain unchanged. CARRY is set in accordance with the
carry out of position zero. If count is specified, the contents of
X are increased by 2.
W:= W + Operand;
CARRY:= carry;
if n = 1 then X:= X + 2;
\f
SUBTRACT INTEGER WORD
Subtract from the W register the storage word addressed or for
immediate addressing the effective address of the instruction. The
contents of storage remain unchanged. CARRY is set in accordance
with the carry out of position zero. If count is specified, the
contents of X are increased by 2.
W:= W - Operand;
CARRY:= carry;
if n = 1 then X:= X + 2;
LOGICAL AND
Form the logical AND operation of the W register and the storage
word addressed or for immediate addressing the effective address
of the instruction. The result is placed in the W register. The
contents of storage remain unchanged. If count is specified, the
contents of X are increased by 2.
W:= W and Operand;
if n = 1 then X:= X + 2;
LOGICAL OR
Form the logical OR operation of the W register and the storage
word addressed or for immediate addressing the effective address
of the instruction. The result is placed in the W register. The
contents of storage remain unchanged. If count is specified, the
contents of X are increased by 2.
W:= W or Operand;
if n = 1 then X:= X + 2;
LOGICAL EXCLUSIVE OR
Form the logical EXCLUSIVE OR operation of the W register and the
storage word addressed or for immediate addressing the effective
address of the instruction. The result is placed in the W regi-
ster. The contents of storage remain unchanged. If count is spe-
cified, the contents of X are increased by 2.
W:= W exclusive or Operand;
if n = 1 then X:= X + 2;
\f
LOAD REGISTER CLEAR INTERRUPT AND ENABLE
Load the W register with the operand and clear the current inter-
rupt bit. The interrupt system is enabled. The contents of sto-
rage remain unchanged. If count is specified, the contents of X
are increased by 2.
W:= Operand;
IR(current interrupt):= 0;
ENABLE:= 1;
if n = 1 then X:= X + 2;
READ SWITCHES
Load the W register with the contents of the Front Panel data
switches. If count is specified, the contents of X are increased
by 2.
W:= switches;
if n = 1 then X:= X + 2;
MOVE
Before execution of this instruction W1, W2, and W3 had to be
defined:
W1: Source module Destination module
0 8 15
W2: Source Address
0 15 Word address in
W3: Destination Address the area 0-32 KW
0 15
This instruction moves a word from source place in memory to the
destination place. The two addresses is not needed to be in the
same 64 K bytes memory module. The addressed W and X register is
not destroyed. B.+ 5 - 15 in the instruction are dummy.
The source/destination module in the W1 register has the
following layout:
0/8 4/12 7/15
module no.
0 =' RAM
1 =' ROM
\f
F_ 5_._ _ _ _ _ _ _ _ _B_R_A_N_C_H_ _A_N_D_ _C_O_N_T_I_N_U_E_ _I_N_S_T_R_U_C_T_I_O_N_S_ 5.
5_._1_ _ _ _ _ _ _ _I_n_s_t_r_u_c_t_i_o_n_ _F_o_r_m_a_t_ _2_ 5.1
2a: F W X D
0 5 7 9 15
B
0 15
2b: 1 1 1 1 0 W X I n F
0 5 7 9 10 11 15
B
0 15
2c: 1 1 1 1 1 W X I n F
0 5 7 9 10 11 15
A
0 15
B
0 15
Figure 5.1: Instruction format 2.
Format 2 is shown in figure 5.1 and it is characterized by having
a function or operand code, F, where the left-most two bits of
the F field equal 10. The remaining three bits specify eight
branch instructions, i.e. instructions which break the normal
instruction sequence if a branch condition is satisfied. The
three variations of Format 2 are identical to the corresponding
Formats 1a, 1b, and 1c apart from two exceptions. First, the new
format is extended with one word, namely the B field; and second,
the n bit is interpreted differently.
The 16-bit B field contains a branch address to which the program
jumps if the specified condition is true. Fields X. D, A, and I\f
have no influence on the branch address, but are employed in de-
fining the effective address and the operand exactly as for For-
mat 1.
The n bit (i.e. not), if one, extends the branch instruction with
their logical counterparts, called the continue instructions. The
difference between the two instruction groups is obvious from the
following two algorithms:
Branch Instructions (n = 0):
if condition = true then branch else continue;
Continue Instructions (n = 1):
if condition = true then continue else branch;
A continue instruction, for example,
continue if p ' q
is, of course. equivalent to the branch instruction
branch if p <= q,
but we have preferred not to call them branch instructions since
they do not exist in Format 2a.
5_._2_ _ _ _ _ _ _ _A_d_d_r_e_s_s_ _a_n_d_ _O_p_e_r_a_n_d_ _C_a_l_c_u_l_a_t_i_o_n_ 5.2
The effective address is calculated exactly as defined in the
Fetch algorithm in Chapter 4.2; the same apply to the operand.
5_._3_ _ _ _ _ _ _ _I_n_s_t_r_u_c_t_i_o_n_ _L_i_s_t_ 5.3
This section defines Format 2 instructions. The CARRY bit is un-
altered if no branch occurs, otherwise it is explicitly set to 0
or 1 depending on whether the branch address is even or odd.
Branch instructions are defined for all Format 2 variations,
whereas continue instructions exist in Format 2b and 2c only.
\f
BRANCH IF GREATER
Compare the W register and the operand as signed integers. The
operand equals either the storage word addressed or for immediate
addressing the effective address of the instruction. If the re-
gister is greater than the operand, then branch to location B,
otherwise execute the next instruction in sequence.
W0:= if W ' Operand then B else W0 + 2;
BRANCH IF EQUAL
Compare the W register and the operand as signed integers. The
operand equals either the storage word addressed or for immediate
addressing the effective address of the instruction. If the re-
gister equals the operand, then branch to location B, otherwise
execute the next instruction in sequence.
W0:= if W = Operand then B else W0 + 2;
BRANCH IF LESS
Compare the W register and the operand as signed integers. The
operand equals either the storage word addressed or for immediate
addressing the effective address of the instruction. If the re-
gister is less than the operand, then branch to location B,
otherwise execute the next instruction in sequence.
W0:= if W < Operand then B else W0 + 2;
BRANCH IF GREATER THAN BYTE
Compare the W register and the byte operand extended at the ex-
treme left with zeroes. The byte operand equals the storage byte
addressed, except for immediate addressing where the byte operand
is the left- or right-most 8 bits of the effective address de-
pending on whether the effective address is even or odd. If the
register is greater than the positive operand, then branch to
location B, otherwise execute the next instruction in sequence.
A(0:7):= 0;
A(8:15)= if EA(15) = 0 then Operand(0:7) else Operand(8:15);
W0:= if W ' A then B else W0 + 2;
\f
BRANCH IF EQUAL TO BYTE
Compare the W register and the byte operand extended at the ex-
treme left with zeroes. The byte operand equals the storage byte
addresses; for immediate addressing the byte operand is the left-
or right-most 8 bits of the effective address of the instruction
depending on whether the effective address is even or odd. If the
register equals the extended operand, then branch to location B,
otherwise execute the next instruction in sequence.
A(0:7):= 0;
A(8:15):= if EA(15) = 0 then Operand(0:7) else Operand(8:15)
W0:= if W = A then B else W0 + 2;
BRANCH IF LESS THAN BYTE
Compare the W register and the byte operand extended at the ex-
treme left with zeroes. The byte operand equals the storage byte
addressed; for immediate addressing the byte operand is the left-
or right-most 8 bits of the effective address of the instruction
depending on whether the affective address is even or odd. If the
register is less than the extended operand, then branch to loca-
tion B, otherwise execute the next instruction in sequence.
A(0:7):= 0;
A(8:15):= if EA(15) = 0 then Operand(0:7) else Operand(8:15);
W0:= if W < A then B else W0 + 2;
BRANCH IF ALL SELECTED BITS ARE ZERO
Use the operand as a mask to test selected bits in the W register.
The operand equals either the storage word addressed or for imme-
diate addressing the effective address of the instruction. If all
the selected bits are zero, then branch to location B, otherwise
execute the next instruction in sequence.
A:= W and Operand;
W0:= if A = 0 then B else W0 + 2;
\f
BRANCH IF SELECTED BITS HAVE ODD PARITY
Use the operand as a mask to test selected bits in the W register.
The operand equals either the storage word addressed or for imme-
diate addressing the effective address of the instruction. If all
the selected bits consists of an odd number of ones, then branch
to location B, otherwise execute the next instruction in sequen-
ce.
A:= W and Operand;
W0:= if odd A then B else W0 + 2;
CONTINUE IF GREATER
Compare the W register and the operand as signed integers. The
operand equals either the storage word addressed or for immediate
addressing the effective address of the instruction. If the re-
gister is greater than the operand, then execute the next in-
struction in sequence, otherwise brandh to location B.
W0:= if W ' Operand then W0 + 2 else B;
CONTINUE IF EQUAL
Compare the W register and the operand as signed integers. The
operand equals either the storage word addressed or for immediate
addressing the effective address of the instruction. If the re-
gister equals the operand, then execute the next instruction in
sequence, otherwise branch to location B.
W0:= if W = Operand then W0 + 2 else B;
CONTINUE IF LESS
Compare the W register and the operand as signed integers. The
operand equals either the storage word addressed or for immediate
addressing the effective address of the instruction. If the re-
gister is less than the operand, then execute the next instruc-
tion in sequence, otherwise branch to location B.
W0:= if W < Operand then W0 + 2 else B;
\f
CONTINUE IF GREATER THAN BYTE
Compare the W register and the byte operand extended at the ex-
treme left with zeroes. The byte operand equals the storage byte
addressed; for immediate addressing the byte operand is the left-
or right-most 8 bits of the effective address of the instruction
depending on whether the effective address is even or odd. If the
register is greater than the extended byte operand, then execute
the next instruction in sequence, otherwise branch to location
B.
A(0:7):= 0;
A(8:15):= if EA(15) = 0 then Operand(0:7) else Operand(8:15);
W0:= if W ' A then W0 + 2 else B;
CONTINUE IF EQUAL TO BYTE
Compare the W register and the byte operand extended at the ex-
treme left with zeroes. The byte operand equals the storage byte
addresses; for immediate addressing the byte operand is the left-
or right-most 8 bits of the effective address of the instruction
depending on whether the effective address is even or odd. If the
register equals the extended operand, then execute the next in-
struction in sequence, otherwise branch to location B.
A(0:7):= 0;
A(8:15):= if EA(15) = 0 then Operand(0:7) else Operand(8:15);
W0:= if W = A then W0 + 2 else B;
CONTINUE IF LESS THAN BYTE
Compare the W register and the byte operand extended at the
extreme left with zeroes. The byte operand equals the storage byte
addressed; for immediate addressing the byte operand is the left-
or right-most 8 bits of the effective address of the instruction
depending on whether the effective address is even or odd. If the
register is less than the extended operand, then execute the next
instruction in sequence, otherwise branch to location B.
A(0:7):= 0;
A(8:15):= if EA(15) = 0 then Operand(0:7) else Operand(8:15);
W0:= if W < A then W0 + 2 else B;
\f
CONTINUE IF ALL SELECTED BITS ARE ZERO
Use the operand as a mask to test selected bits in the W register.
The operand equals either the storage word addressed or for
immediate addressing the effective address of the instruction. If
all the selected bits are zero, then execute the next instruction
in sequence, otherwise branch to location B.
A:= W and Operand;
W0:= if A = 0 then W0 + 2 else B;
CONTINUE IF SELECTED BITS HAVE ODD PARITY
Use the operand as a mask to test selected bits in the W
register. The operand equals either the storage word addressed or
for immediate addressing the effective address of the
instruction. If all the selected bits consists of an odd number
of ones, then execute the next instruction in sequence, otherwise
branch to location B.
A:= W and Operand;
W0:= if odd A then W0 + 2 else B;
\f
F_ 6_._ _ _ _ _ _ _ _ _S_H_I_F_T_-_R_O_T_A_T_E_ _I_N_S_T_R_U_C_T_I_O_N_S_ 6.
6_._1_ _ _ _ _ _ _ _F_o_r_m_a_t_ _3_ _f_o_r_ _S_h_i_f_t_-_R_o_t_a_t_e_ _I_n_s_t_r_u_c_t_i_o_n_s_ 6.1
F W X CODE SHIFTS
0 5 7 9 12 15
Figure 6.1: Format 3 for shift-rotate instructions.
The shift-rotate group has a format as illustrated in Figure 6.1
with a function code equal to 28. SHIFTS is a positive integer in
the interval from 0 to 15 which defines the number of shifts if x
= 0. If the X < ' 0 then the shift value is taken from the regi-
ster specified by the x = field (x1, x2, x3) bit 12:15. The 3-bit
CODE field specifies the type of instruction to be executed as
follows
CODE INSTRUCTION
000 Rotate Right
001 Rotate Left
010 Logical Shift Right
011 Logical Shift Left
100 No carry rotate right
101 No carry rotate left
110 Arithmetic Shift Right
111 Undefined
6_._2_ _ _ _ _ _ _ _F_e_t_c_h_ _A_l_g_o_r_i_t_h_m_ _f_o_r_ _F_o_r_m_a_t_ _3_ 6.2
The Fetch algorithm for format 3 instructions becomes very simple
since this format consists of only one word.
Fetch:
FR:= ST(W0); comment Fetch instruction;
W0:= W0 + 2; comment Increase Program Counter;
go to Instruction Execution;
\f
6_._3_ _ _ _ _ _ _ _I_n_s_t_r_u_c_t_i_o_n_ _L_i_s_t_ 6.3
This section defines shift-rotate instructions. The CARRY bit is
explicitly mentioned if it is altered by an instruction whose re-
sult register is different from W0. (The term "con" used in the
following list means "concatenate").
ROTATE RIGHT
Rotate right the contents of CARRY and the W register the number
of places specified by SHIFTS. CARRY is rotated into bit 0 of W,
bit 15 into CARRY.
for SHIFTS:= SHIFTS - 1 step - 1 until 0 do
CARRYconW(0:15):= W(15)conCARRYconW(0:14);
ROTATE LEFT
Rotate left the contents of CARRY and the W register the number
of places specified by SHIFTS. CARRY is rotated into bit 15 of W,
bit 0 into CARRY.
for SHIFTS:= SHIFTS - 1 step - 1 until 0 do
CARRYconW(0:15):= W(0:15)conCARRY;
LOGICAL SHIFT RIGHT
Shift right, with zero insertion in bit 0, the contents of the W
register the number of places specified by SHIFTS.
for SHIFTS:= SHIFTS - 1 step - 1 until 0 do
begin CARRY:= W(15); W(0:15):= 0conW(0:14) end;
LOGICAL SHIFT LEFT
Shift left, woth zero insertion in bit 15, the contents of the W
register the number of places specified by SHIFTS.
for SHIFTS:= SHIFTS - 1 step - 1 until 0 do
begin CARRY:= W(0); W(0:15):= W(1:15)con0 end;
\f
ARITHMETIC SHIFT RIGHT
Shift right, with sign extension in bit 0, the contents of the W
register the number of places specified by SHIFTS.
for SHIFTS:= SHIFTS - 1 step - 1 until 0 do
begin CARRY:= W(15); W(0:15):= W(0)conW(0:14) end;
NO CARRY ROTATE RIGHT
Rotate right the contents of W(0:15) the number of places
specified by SHIFTS. CARRY is not changed. Bit 15 is rotated into
bit 0.
for SHIFTS:= SHIFTS - 1 step - 1 until 0 do
W(0:15):= W(15) con W(0:14);
NO CARRY ROTATE LEFT
Rotate left the contents of W(0:15) the number of places
specified by SHIFTS. CARRY is not changed. Bit 0 is rotated into
bit 15.
for SHIFTS:= SHIFTS - 1 step - 1 until 0 do
W(0:15):= W(1:15) con W(0);
\f
F_ 7_._ _ _ _ _ _ _ _ _I_N_T_E_R_L_E_V_E_L_ _I_N_S_T_R_U_C_T_I_O_N_S_ 7.
7_._1_ _ _ _ _ _ _ _F_o_r_m_a_t_ _3_ _f_o_r_ _I_n_t_e_r_l_e_v_e_l_ _I_n_s_t_r_u_c_t_i_o_n_s_ 7.1
3a: F W X CODE N
0 5 7 9 10 11 15
3c: W X CODE DUMMY
0 4 5 7 9 10 11 15
N < 124
0 8 15
Figure 7.1: Format 3 for interlevel instructions.
The purpose of interlevel instructions is to transfer information
between two working registers belonging to the same or to diffe-
rent interruption levels. They have a format as depicted in
Figure 7.1. W selects a working register in the current interrup-
tion level and X a register belonging to the interruption level
specified by the N field. The interlevel instructions may, in
addition to their normal execution, also control interruption
system. A letter D, E, or S is then used as a suffix to the basic
mnemonic code. The effects of the suffixes and the corresponding
D and E fields are as follows:
Suffix Code Effect on Interruption System
E 01 Enable the interruption system for all
interrupts
D 10 Disable the interruption system for all
interrupts
S 11 Set the interrupt level specified by
the N field
\f
7_._2_ _ _ _ _ _ _ _I_n_s_t_r_u_c_t_i_o_n_ _L_i_s_t_ 7.2
INTERLEVEL LOAD
Load the W register with the working register specified by X from
interruption level N. The contents of X remain unchanged. Control
the status of the interruption system as follows:
W(current level):= X(Nth level);
if CODE = D then ENABLE:= 0;
if CODE = E then ENABLE:= 1;
if CODE = S then INTERRUPT(N):= 1;
INTERLEVEL STORE
Store the W register into the working register specified by X
from interrupt level N. The contents of W remain unchanged.
Control the status of the interruption system as follows:
X(Nth level):= W(current level);
if CODE = D then ENABLE.= 0;
if CODE = E then ENABLE:= 1;
if CODE = S then INTERRUPT(N):= 1;
\f
F_ 8_._ _ _ _ _ _ _ _ _I_N_P_U_T_/_O_U_T_P_U_T_ _I_N_S_T_R_U_C_T_I_O_N_S_ 8.
8_._1_ _ _ _ _ _ _ _F_o_r_m_a_t_ _3_ _f_o_r_ _I_n_p_u_t_/_O_u_t_p_u_t_ _I_n_s_t_r_u_c_t_i_o_n_s_ 8.1
F W X M DEV. NO.
0 5 7 9 11 15
Figure 8.1: Format 3 for input/output instructions.
Figure 8.1 shows the input/output instruction format and it is
characterized by a function code where the left-most four bits
equal 1100. Hence, only two basic input/output instructions
exist. One of them, the read instruction, governs the data trans-
fer from a peripheral device to the computer, whereas the other,
the write instructions, controls the data path in opposite direc-
tion.
Bits 11 to 15 select the device that is to respond to the in-
struction. if bit (11:15) = 0 then the device number is set equal
to the value of current interrupt level. The M field consist of
two bits, which modify the execution of the basic instruction.
The remaining two fields, W and X, pick out two registers for
compare or address purpose, as it appears from the instruction
definitions to follow.
The operation of the device controllers is already explained in
Chapter 3.5, where we introduced four general I/O commands. This
explanation is also valid for the actual I/O instructions. But,
in the previous discussion, we did not define how incoming and
outgoing data are interpreted by the computer nor how data may
influence the instruction sequence. These questions are answered
in the instruction list to follow.
Tables 8.1 and 8.2 show the relations between the M field in the
instruction format and the actual I/O instructions. The second
column connects an I/O instruction to its equivalent general I/O
command; thereby the action taken by the device controllers for
various I/O instructions is determined.
\f
GENERAL I/O INSTRUCTIONS
M I/O COMMANDS
00 Read Data Read Word and Compare
01 Read Status Read Status and Compare
10 Read Data Read Block of bytes
11 Read Data Read Block of Words
Table 8.1: Modifications of basic read instruction.
GENERAL I/O INSTRUCTIONS
M I/O COMMANDS
00 Write Data Write Word and Compare
01 Write Control Write Control and Compare
10 Write Data Write Block of Bytes
11 Write Data Write Block of Words
Table 8.2: Modifications of basic write instruction.
8_._2_ _ _ _ _ _ _ _I_n_s_t_r_u_c_t_i_o_n_ _L_i_s_t_ 8.2
READ STATUS AND COMPARE
Transfer the contents of the STATUS buffer in the selected device
to working register W1. If the contents of register W and X
differ, and End of Information is zero, then clear the current
interrupt bit and repeat the read instruction; otherwise execute
the next instruction in sequence. In any event, the interruption
system is enabled.
A:= X;
W1:= STATUS;
if W < ' A and EOI = 0 then begin IR(current level):=0;
W0:= W0 - 2 end;
ENABLE:= 1;
\f
READ WORD AND COMPARE
Transfer a word from the DATA IN buffer in the selected device to
working register W1. If the contents of registers W and X differ,
and End of Information is zero, then clear the current interrupt
bit and repeat the read instruction; otherwise execute the next
instruction in sequence. In any event, the interruption system is
enabled.
A:= X;
W1:= DATA IN;
if W < ' A and EOI = 0 then begin IR(current level):= 0;
W0:= W0 - 2 end;
ENABLE:= 1;
READ BLOCK OF BYTES
Transfer a byte from the DATA IN buffer in the selected device to
a byte location in storage specified by register X. If X, after
being incremented by 1, differs from W, and End of Information is
zero, then clear the current interrupt and repeat the read
instruction; otherwise execute the next instruction in sequence.
In any event, the interruption system is enabled.
if X(15) = 0 then ST(X)(0:7):= DATA IN(8:15)
else ST(X)(8:15):= DATA IN(8:15);
X:= X + 1;
if W < ' X and EOI = 0 then begin IR(current level):=0;
W0:= W0 - 2 end;
ENABLE:= 1;
READ BLOCK OF WORDS
Transfer a word from the DATA IN buffer in the selected device to
a word location in storage specified by register X. If X, after
being incremented by 2, differs from W, and End of Information is
zero, then clear the current interrupt bit and repeat the read
instruction; otherwise execute the next instruction in sequence.
In any event, the interruption system is enabled.
\f
ST(X):= DATA IN;
X:= X + 2;
if W < ' X and EOI = 0 then begin IR(current level):= 0;
W0:= W0 - 2 end;
ENABLE:= 1;
WRITE CONTROL AND CLEAR
Transfer the contents of register W1 to the CONTROL buffer in the
selected device. If the X field of the instruction equals zero,then
clear the current interrupt bit and execute the next instruction in
sequence; otherwise just execute the next instruction in sequence.
In any event, the interruption system is enabled.
CONTROL:= W1;
if X field = 0 then begin IR(current level):= 0; end;
ENABLE:= 1;
WRITE WORD AND COMPARE
Transfer the contents of register W1 to the DATA OUT buffer in the
selected device. If the contents of register W and X differ, then
repeat the write instruction, otherwise execute the next instruc-
tion in sequence. In any event, the interruption system is en-
abled.
DATA OUT:= W1;
if W < ' X then begin IR(current level):= 0; W0:= W0 - 2 end;
ENABLE:= 1;
WRITE BLOCK OF BYTES
Transfer a byte from the byte location in storage specified by X to
the DATA OUT buffer in the selected device. If X, after being in-
cremented by 1, differs from W, then clear the current interrupt
bit and repeat the write instruction; otherwise execute the next
instruction in sequence. In any event, the interruption system is
enabled.
DATA OUT(8:15):= if X(15) = 0 then ST(X)(0:7) else ST(X)(8:15);
X:= X + 1;
if W < ' X then begin IR(current level):= 0; W0:= W0 - 2 end;
ENABLE:= 1;
\f
F_ 9_._ _ _ _ _ _ _ _ _I_N_S_T_R_U_C_T_I_O_N_ _S_E_T_ 9.
9_._1_ _ _ _ _ _ _ _A_r_i_t_h_m_e_t_i_c_ _a_n_d_ _L_o_g_i_c_a_l_ _I_n_s_t_r_u_c_t_i_o_n_s_ 9.1
Format 1a: F W X D
0 5 7 9 15
Format 1b: 1 1 1 1 0 W X I n F
0 5 7 9 10 11 15
1 1 1 1 1 W X I n F
Format 1c: 0 5 7 9 10 11 15
A
F0 F1 F2 F3 F4
ldr Load Register 0 0 0 0 0
ldc Load Complement 0 0 0 0 1
ldi Load Indirect 0 0 0 1 0
str Store Register 0 0 0 1 1
sti Store Indirect 0 0 1 0 0
xsr Exchange Store and Register 0 0 1 0 1
ldb Load Byte 0 0 1 1 0
stb Store byte 0 0 1 1 1
add Add Integer Word 0 1 0 0 0
sub Subtract Integer Word 0 1 0 0 1
and Logical AND 0 1 0 1 0
lor Logocal OR 0 1 0 1 1
xor Logical Exclusive OR 0 1 1 0 0
lce Load Register Clear Interrupt + Enable 0 1 1 0 1
mov Move Word between Memory Modules 0 1 1 1 0
rsw Read Switches 0 1 1 1 1
\f
9_._2_ _ _ _ _ _ _ _B_r_a_n_c_h_ _a_n_d_ _C_o_n_t_i_n_u_e_ _I_n_s_t_r_u_c_t_i_o_n_s_ 9.2
F W X D
Format 2a: 0 5 7 9 15
B
1 1 1 1 0 W X I n F
Format 2b: 0 5 7 9 10 11 15
B
1 1 1 1 1 W X I n F
Format 2c: 0 5 7 9 10 11 15
A
B
F0 F1 F2 F3 F4
bgw Branch if Greater 1 0 0 0 0
bew Branch if Equal 1 0 0 0 1
blw Branch if Less 1 0 0 1 0
bgb Branch if Greater than Byte 1 0 0 1 1
beb Branch if Equal to Byte 1 0 1 0 0
blb Branch if Less than Byte 1 0 1 0 1
bsz Branch if All Selected Bits are Zero 1 0 1 1 0
bop Branch if Selected Bits have Odd Parity 1 0 1 1 1
Continue instructions as mentioned above, with the suffix
"n" added to the mnemonic code.
\f
9_._3_ _ _ _ _ _ _ _S_h_i_f_t_-_R_o_t_a_t_e_ _I_n_s_t_r_u_c_t_i_o_n_s_ 9.3
Format 3:: F W X CODE SHIFTS
0 1 2 3 4 5 6 7 8 9 12 15
ror Rotate Right 0 0 0 1 1 1 0 0
rol Rotate Left 0 0 1 1 1 1 0 0
lsr Logical Shift Right 0 1 0 1 1 1 0 0
lsl Logical Shift Left 0 1 1 1 1 1 0 0
asr Arithmetic Shift Right 1 1 0 1 1 1 0 0
nrr No carry rotate right 1 0 0 1 1 1 0 0
nrl No carry rotate left 1 0 1 1 1 1 0 0
Undefined 1 1 1 1 1 1 0 0
9_._4_ _ _ _ _ _ _ _I_n_t_e_r_l_e_v_e_l_ _I_n_s_t_r_u_c_t_i_o_n_s_ 9.4
Format 3a: F W X CODE N
0 5 7 9 11 15
Format 3c: F W X CODE DUMMY
5 7 9 11
N < 124
8 15
ild Interlevel Load 1 1 0 1 0
ist Interlevel Store 1 1 0 1 1
Not used 1 1 1 0 1
Format b 1 1 1 1 0
Format c 1 1 1 1 1
\f
9_._5_ _ _ _ _ _ _ _I_n_p_u_t_/_O_u_t_p_u_t_ _I_n_s_t_r_u_c_t_i_o_n_s_ 9.5
Format 3: F W X M Dev. No
0 5 7 9 11 15
F0 F1 F2 F3 F4
rsc Read Status and Compare 0 1 1 1 0 0 0
wcc Write Control and Clear 0 1 - 1 1 0 0 1
rwc Read Word and Compare 0 0 1 1 0 0 0
rbb Read Block of Bytes 1 0 1 1 0 0 0
rbw Read Block of Words 1 1 1 1 0 0 0
wwc Write Word and Compare 0 0 1 1 0 0 1
wbb Write Block of Bytes 1 0 1 1 0 0 1
wbw Write Block of Words 1 1 1 1 0 0 1
\f
F_ 1_0_._ _ _ _ _ _ _ _S_W_I_T_C_H_E_S_ _A_N_D_ _I_N_D_I_C_A_T_O_R_S_ 10.
1_0_._1_ _ _ _ _ _ _P_r_o_c_e_s_s_o_r_ _F_r_o_n_t_ _P_a_n_e_l_ 10.1
The front panel of the processor board contains five switches,
five indicators, and a jack.
1_0_._1_._1_ _ _ _ _S_w_i_t_c_h_e_s_ 10.1.1
All switches are rotary switches with 16 positions, indicated by
the hexadecimal numbers 0 to F. The switches are set by means of
a screwdriver.
\f
1_0_._1_._1_._1_ _ _B_u_s_ _S_w_i_t_c_h_e_s_ 10.1.1.1
The four switches marked BUS are used to supply the processor
with data. There is a switch for bits 0 to 3, 4 to 7, 8 to 11,
and 12 to 15.
1_0_._1_._1_._2_ _ _D_e_b_u_g_ _M_o_d_e_ _S_w_i_t_c_h_ 10.1.1.2
The switch marked MODE is used to select the baud rate for the
debug console (see section 10.1.3) and to control the execution
of the built-in test programs as follows:
M_ S_e_t_t_i_n_g_ B_a_u_d_ _R_a_t_e_ T_e_s_t_ _P_r_o_g_r_a_m_ _E_x_e_c_u_t_i_o_n_
0 , 8 300 bps run test loop
1 , 9 1200 bps run test loop
2 , A 300 bps skip test
3 , B 1200 bps skip test
4 , C 300 bps run test no loop
5 , D 1200 bps run test no loop
6 , E 300 bps skip test
P_ 7 , F 1200 bps skip test
Switch state 8-F same as 0-7, but with blocked terminal mode
("BELL" will not switch to Debug).
E_x_p_l_a_n_a_t_i_o_n_
run test The programs are executed whenever the autoload
button is pressed.
skip test The programs are not executed.
loop The programs are executed in an endless loop.
no loop The programs are executed once.
The test programs are described in the next subsection.
\f
1_0_._1_._2_ _ _ _ _I_n_d_i_c_a_t_o_r_s_ 10.1.2
DI D_i_s_a_b_l_e_d_ _I_n_t_e_r_r_u_p_t_
This lamp, when lit, indicates that the processor is running
in the disabled interrupt mode.
OP O_p_e_r_a_t_i_o_n_
This lamp, when lit, indicates that the processor is running
normally; when it is extinguished, the processor is stopped.
LP L_e_f_t_ _P_a_r_i_t_y_ _E_r_r_o_r_
This lamp, when lit, indicates that a parity error has been
detected during a memory read in the left byte.
This lamp can be extinguished only by a power restart or
autoload.
RP R_i_g_h_t_ _P_a_r_i_t_y_ _E_r_r_o_r_
This lamp, when lit, indicates that a parity error has been
detected during a memory read in the right byte.
This lamp can be extinguished only by the power restart or
autoload.
TM T_e_s_t_ _M_o_d_e_
This lamp, when lit, indicates that the processor is exe-
cuted the built-in test programs.
T_h_e_ _O_P_,_ _L_P_,_ _R_P_,_ _a_n_d_ _T_M_ _l_a_m_p_s_ _i_n_d_i_c_a_t_e_ _t_h_e_ _n_u_m_b_e_r_ _o_f_ _t_h_e_ _t_e_s_t_
p_r_o_g_r_a_m_
TM is the least significant bit in the test program number.
\f
If an error is detected by a test program, one of the
following messages is displayed on the debug console:
1 8_0_8_5_ _C_o_m_m_u_n_i_c_a_t_i_o_n_ _T_e_s_t_
Message: err 1 <dummy' <dummy'
y<5d' gives 6 bytes transmitted data.
y<71' gives 6 bytes received data.
3 C_o_m_m_u_n_i_c_a_t_i_o_n_ _T_e_s_t_
Microprogram request to the debug microprocessor.
Message: none (i_n_d_i_c_a_t_o_r_s_ _o_n_l_y_).
5 W_o_r_k_i_n_g_ _R_e_g_i_s_t_e_r_ _A_d_d_r_e_s_s_ _T_e_s_t_
Message: err 5 <address' <data wanted'
w<address' gives data read.
7 W_o_r_k_i_n_g_ _R_e_g_i_s_t_e_r_ _D_a_t_a_ _T_e_s_t_
Message: err 7 <address' <data wanted'
9 M_e_m_o_r_y_ _A_d_d_r_e_s_s_ _T_e_s_t_
Message: err 9 <o_f_f_s_e_t_ address' <data wanted'
y<40' gives memory module number.
m<module.offset' gives data read.
B M_e_m_o_r_y_ _D_a_t_a_ _T_e_s_t_
Pattern 5555.
Message: err b <offset address' <data wanted'
y<40' gives memory module number.
m<module.offset' gives data read.
D M_e_m_o_r_y_ _D_a_t_a_ _T_e_s_t_
Pattern AAAA.
Message: err d <offset address' <data wanted'
y<40' gives memory module number.
m<module.offset' gives data read.
\f
1_0_._1_._3_ _ _ _ _J_a_c_k_ 10.1.3
The jack, marked CONSOLE, is a 9-pin CANNON jack for connection
of a debug console (a_ _T_e_l_e_t_y_p_e_ _c_o_m_p_a_t_i_b_l_e_ _d_e_v_i_c_e_,_ _c_o_m_p_a_t_i_b_l_e_ _w_i_t_h_
R_C_8_2_2_).
The console must have the following characteristics:
8 data bits per character
No parity bit
1 stop bit
300 or 1200 bps.
The electrical/logical characteristics of the signals in the jack
must conform to Recommendation V.24.
The signals are as follows:
P_i_n_ _N_o_. S_i_g_n_a_l_ _N_a_m_e_
1 +5V
2 +12V
3 received data
4 -12V
5 0V
6 transmitted data
7 0V
8 (not used)
9 0V
1_0_._2_ _ _ _ _ _ _T_h_e_ _D_e_b_u_g_ _C_o_n_s_o_l_e_ 10.2
1_0_._2_._1_ _ _ _ _A_c_t_i_v_a_t_i_o_n_ 10.2.1
The debug console can be activated at any time (if the mode
switch is in the range 0-7) by pressing the BELL key ( CTRL G),
without stopping the instruction execution in the PU.
\f
1_0_._2_._2_ _ _ _ _D_i_s_p_l_a_y_ _C_o_m_m_a_n_d_s_ 10.2.2
Display commands cause eight words of data to be displayed. These
commands are executed in two situations:
1. W_h_e_n_ _a_ _d_i_s_p_l_a_y_ _c_o_m_m_a_n_d_ _i_s_ _e_n_t_e_r_e_d_. Here one can modify the
displayed data by entering new data in its place. Pressing the
space bar will move the cursor one position to the right,
without changing data.
A display command is terminated by pressing one of the follo-
wing keys:
CR Carriage Return terminates the current display
command and causes the debug console to await the
next command.
+ Plus terminates the current display command and
executes a display command for the succeeding
eight words (M,Y) or the eight registers on the
succeeding level (W).
- Minus terminates the current display command and
executes a display command for the preceding eight
words or the eight registers on the preceding le-
vel.
ESC Terminates current command without changing any-
thing. (<ESC' is printed on the console).
2. W_h_e_n_ _a_ _c_o_n_t_r_o_l_ _c_o_m_m_a_n_d_ _i_s_ _t_e_r_m_i_n_a_t_e_d_, the last executed dis-
play command is repeated, but no modification of the displayed
data is allowed. Here the debug console awaits the next com-
mand.
The following display commands are available: (in capital
letters):
M <gadr' M_o_d_i_f_y_ _m_e_m_o_r_y_
Displays the contents of the 8 memory locations
starting at <gadr'.
\f
W <reg' M_o_d_i_f_y_ _w_o_r_k_i_n_g_ _r_e_g_i_s_t_e_r_s_
Displays the contents of the 8 working registers
starting at <reg'.
L <level' M_o_d_i_f_y_ _w_o_r_k_i_n_g_ _r_e_g_i_s_t_e_r_s_
Displays the level number and contents of the 8
working registers belonging to <level'.
Y <yadr' M_o_d_i_f_y_ _c_o_n_t_r_o_l_ _m_i_c_r_o_p_r_o_c_e_s_s_o_r_ _R_A_M_
Displays the contents of the 8 control micropro-
cessor RAM locations starting at <yadr'.
1_0_._2_._3_ _ _ _ _C_o_n_t_r_o_l_ _C_o_m_m_a_n_d_s_ 10.2.3
The following control commands are available (in capital letters):
R R_u_n_
Causes the PU to start instruction execution.
S I_n_s_t_r_u_c_t_i_o_n_ _s_t_o_p_
The PU will execute one instruction, stop, and re-
activate the debug console.
S <steps' M_u_l_t_i_-_i_n_s_t_r_u_c_t_i_o_n_ _s_t_e_p_
The PU will execute <steps' instructions, stop,
and reactivate the debug console.
C I_n_s_t_r_u_c_t_i_o_n_ _s_t_e_p_ _o_n_ _c_u_r_r_e_n_t_ _l_e_v_e_l_
Like S, but on the current level if possible.
C <steps' M_u_l_t_i_-_i_n_s_t_r_u_c_t_i_o_n_ _s_t_e_p_ _o_n_ _c_u_r_r_e_n_t_ _l_e_v_e_l_
Like S <steps', but on the current level if
possible.
\f
1_0_._2_._4_ _ _ _ _C_o_m_m_a_n_d_ _P_a_r_a_m_a_t_e_r_s_ 10.2.4
All numbers entered and displayed are hexadecimal.
At any time the entering of an empty command (i.e. CR) will cause
the previous command to be repeated.
A global address <gadr' is entered in one of the two following
formats:
<base' : <disp'
: <disp'
where
<base' is the leftmost 16 bits of the 32-bit address.
Always 0000 (Hex) for RC3503.
<disp' is the displacement within the selected memory
module, i.e. the rightmost 16 bits of an address.
If the second format ( : <disp' ) is employed, the last entered
base is echoed and used.
<STEP' must always consist of 4 HEX digits.
1_0_._3_ _ _ _ _ _ _I_n_s_t_a_l_l_a_t_i_o_n_ 10.3
Console
jack (CBL 312 for RC822)
(CBL 588 for RC831)
TTY compatible device
(RC822 or RC831)
\f
F_ 1_1_._ _ _ _ _ _ _ _I_N_S_T_R_U_C_T_I_O_N_ _E_X_E_C_U_T_I_N_G_ _T_I_M_E_S_ 11.
In the following sections the following mnemonics mean:
NC (normal cycle) = 217 nS
MR (memory read cycle) = 434 nS
MW (memory write cycle) = 651 nS
1_1_._1_ _ _ _ _ _ _A_d_d_r_e_s_s_ _C_a_l_c_u_l_a_t_i_o_n_ _T_i_m_e_s_ _(_A_T_)_ 11.1
This scheme describes the execution times (AT) for the address
calculation dependent of the format and the index register
selected, and if immediate addressing is selected.
These times must be added to the times listed below for the
instructions to get the total time of an instruction.
Instruction execution time: T = AT + ET.
AT FORMAT 1 & 2 FORMAT 3
a b c
M_m_m_ X = X0 4NC+1MR 8NC+2MR cycles
I = 0
P_p_p_ X <' X0 4NC+1MR 4NC+1MR 8NC+2MR
M_m_m_ X = X0 2NC 2NC 5NC+1MR cycles
I = 1
P_p_p_ X <' X0 2NC 5NC+1MR cycles
FORMAT 3 6NC+1MR cycles
Note 1: All times in the scheme are for Disable mode.
If an enable and fetch on same level add 1NC.
If an enable and fetch on another level add 2NC. \f
1_1_._2_ _ _ _ _ _ _E_x_e_c_u_t_i_o_n_ _T_i_m_e_s_ _(_E_T_)_ 11.2
This scheme describes the times which must be added to the
ADDRESS CALCULATION TIMES (AT) to get the exact execution time
for an instruction.
FORMAT 1 & 2
ldr 2NC
ldc 4NC
ldi 5NC + 1MR
M_m_m_ I = 1 4NC
str
P_p_p_ I = 0 8NC + 1MW
sti 7NC + 1MW
M_m_m_ X <' X0 5NC
xsr
P_p_p_ X = X0 8NC + 1MW
ldb 6NC
stb 7NC + 1MW
add 4NC
sub 4NC
and 3NC
lor 3NC
xor 3NC
lce 9NC
rsw 9NC
Move 19NC + 1MR + 1MW
If count is specified 2NC must be added.
bgw 6NC For branch and continue
bew 3NC instructions the same timing is
blw 6NC valid, if the instruction, however,
bgb 12NC branches, 5NC + 1MR must be added.
beb 9NC
blb 12NC
bsz 3NC
bop 4NC
\f
FORMAT 3
ror
rol
lsr 9NC Add 1NC per shift
lsl
asr
ild 8NC
ist 8NC
rsc 27NC NOTE
wcc - 1,6NC
rwc 27NC NOTE
brr - 30NC NOTE
rbw - 30NC NOTE
wwc - 14NC
wbb - 22NC
wbw - 22NC
Note: add (2t + 4t + nt) uSec., where t is the bit length of the
selected device and n is the number of bits transferred.
\f
i
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_
1. INTRODUCTION ........................................... 1
2. PROCESSING UNIT ........................................ 3
3. MEMORY ................................................. 4
3.1 EPROM/ROM ......................................... 4
3.2 Dual Port RAM ..................................... 4
3.2.1 On-Board Access to DPRAM ................... 5
3.2.2 Multibus Access to DPRAM ................... 5
4. I/O DEVICES ............................................ 7
4.1 Serial I/O Interface .............................. 7
4.2 DMA Controller .................................... 8
4.3 Interrupt Controllers ............................. 8
4.4 iSBX Connectors ................................... 9
4.5 Identification Switches ........................... 11
5. MULTIBUS INTERFACE ..................................... 12
\f
ii
\f
1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1.
The CPU601 is a complete 16-bit microprocessor system with 8086
CPU, 80130 OS firmware, RAM, EPROM, interrupt logic, DMA con-
troller, serial communications interface, iSBX connectors and
Multibus interface on a single printed circuit board. The board,
which measures 6.74x12.00 inches (171.5x304.8 mm), may be plugged
into a standard Multibus or IEEE P796 BUS backplane.
Fig. 1 shows the most important components and the data paths of
the CPU601.
\f
F_
Figure 1: CPU601 block diagram.
\f
F_ 2_._ _ _ _ _ _ _ _ _P_R_O_C_E_S_S_I_N_G_ _U_N_I_T_ 2.
The processing power for the CPU601 is delivered by an iAPX 86/
30, which is a combination of a 16-bit 8086 CPU and an 80130
Operating System Firmware (OSF) component.
The 80130 OSF contains 16 k bytes ROM, a system timer, a delay
timer, a baud rate generator and a programmable interrupt con-
troller with 8 interrupt request inputs. The 80130 ROM contains
code for a set of 35 operating system primitives, which are com-
patible with the Intel RMX86 operating system.
The 8086 CPU and the 80130 OSF operate at 8 MHz clock frequency,
corresponding to a 125 ns clock cycle period. The number of wait
states, which are inserted when on board ROM, RAM and I/O devices
are accessed are listed below.
A_C_C_E_S_S_ _T_O_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _W_A_I_T_ _S_T_A_T_E_S_
80130 ROM 0
EPROM 0
RAM 1
I/O devices 0
iSBX modules 1
The processing unit (iAPX 86/30) may be expanded with an optional
8087 Numeric Data Processor (NDP). For the present the 8087 NDP
is only available in a 5 MHz version. The processor clock fre-
quency must therefore be reduced from 8 MHz to 5 MHz, if the 8087
NDP is installed.
\f
F_ 3_._ _ _ _ _ _ _ _ _M_E_M_O_R_Y_ 3.
The CPU601 on board memory consists of 16 to 64 k bytes of EPROM/
ROM, 16 k bytes of ROM located in the 80130 OSF chip and 128 or
256 k bytes of Dual Port RAM (DPRAM).
3_._1_ _ _ _ _ _ _ _E_P_R_O_M_/_R_O_M_ 3.1
The CPU601 board is provided with two 28-pin sockets which can
accept the following three types of EPROM (or ROM) with Intel/
JEDEC standard pinout:
8kx8 (2764), 16kx8 (27128) and 32kx8 (27256).
The highest memory addresses in the 1 M byte memory address space
are used for EPROM addressing. Addresses for the 80130 ROM are
located immediately below the EPROM addresses. Two switches are
used to select the address range for EPROM and 80130 ROM as shown
in the table below.
DEVICE CAPACITY ADDRESS RANGE
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _8_0_1_3_0_ _R_O_M_ _ _ _ _ _ _ _E_P_R_O_M_ _ _ _ _ _ _ _ _
2764 16 k bytes F8000 - FBFFF FC000 - FFFFF
27128 32 k bytes F4000 - F7FFF F8000 - FFFFF
27256 64 k bytes EC000 - EFFFF F0000 - FFFFF
3_._2_ _ _ _ _ _ _ _D_u_a_l_ _P_o_r_t_ _R_A_M_ 3.2
The CPU601 is provided with a dual port RAM (DPRAM), which is ac-
cessible from the on-board processors and from the Multibus. The
DPRAM array consists of 2x18 64kx1-bit dynamic RAM devices, 2x16
devices for data and 2x2 devices for parity. This provides the
board with a DPRAM capacity of 256 k bytes. If only half of the
RAM devices are mounted the DPRAM capacity is 128 k bytes. The
design of the dynamic RAM controller allows the 64kx1-bit RAM de-
vices to be replaced with 256kx1-bit devices, when they become
available. This will provide the CPU601 with a DPRAM capacity of
up to 1 M bytes in the future.
\f
The DPRAM is provided with parity check, 1 parity bit per byte.
If an error is detected, the parity control logic generates an
interrupt request, which is connected to the NMI input of the
8086 CPU. The interrupt request may be disabled by means of a
mask bit in a control register. Two LED's on the board indicate
parity errors for high and low bytes. Note that the parity error
interrupt also can occur, when the DPRAM is accessed from the
Multibus.
3_._2_._1_ _ _ _ _ _O_n_-_B_o_a_r_d_ _A_c_c_e_s_s_ _t_o_ _D_P_R_A_M_ 3.2.1
When the DPRAM is accessed from the on-board CPU and DMA control-
ler, it is located from address 0 and up in the 1 M byte memory
address space. The address range for 128 k and 256 k DPRAM sizes
are shown below.
R_A_M_ _S_I_Z_E_ _ _ _ _ _ _A_D_D_R_E_S_S_ _R_A_N_G_E_ _ _
128 k bytes 00000 - 1FFFF
256 k bytes 00000 - 3FFFF
3_._2_._2_ _ _ _ _ _M_u_l_t_i_b_u_s_ _A_c_c_e_s_s_ _t_o_ _D_P_R_A_M_ 3.2.2
The DPRAM address decoder can be strapped to decode a 24-bit (16
M bytes) or a 20-bit (1 M bytes) Multibus memory address. When
20-bit addressing is selected, the 4 unused (most significant)
address bits are forced to 0.
Part of the DPRAM may be configured as private resource, pro-
tected from Multibus access. The Multibus accessible part of the
DPRAM may be placed within 1 of 64 256 k byte segments in the 16
M byte Multibus memory address space. Offset from start of the
selected 256 k byte segment must be on a 32 k byte boundary. The
Multibus address range for access to the DPRAM may be selected as
shown below.
\f
DPRAM size: 128 or 256 k bytes
Segment base: 0 through 63x256 k bytes
Private size: 0, 32, 64, 96, 128, 160, 192, 256 k bytes
Offset: 0 through 7x32 k bytes
The following example shows the addresses for both on-board and
Multibus access to the DPRAM.
DPRAM size: 256 k bytes
Segment base: 3x256 k bytes
Private size: 64 k bytes
Offset: 0
O_N_-_B_O_A_R_D_ _A_D_D_R_._ M_U_L_T_I_B_U_S_ _A_D_D_R_._
_ _ _ _ _ _ _ _ _ _ _D_P_R_A_M_ _ _ _ _ _ _ _ _ _ _ _
3FFFF 0EFFFF
SHARED
192 k bytes
_ _ _ _ _ _ _ _ _ _ _ _ 0_C_0_0_0_0_ _
M_m_m_ PRIVATE
No access
P_p_p_ 0_0_0_0_0_ _ _ _ _6_4_ _k_ _b_y_t_e_s_ _
\f
F_ 4_._ _ _ _ _ _ _ _ _I_/_O_ _D_E_V_I_C_E_S_ 4.
The following sections give a short description of the on-board
I/O devices. For a more detailed description is referred to the
relevant datasheets. The I/O devices are located in the I/O ad-
dress space and can only be accessed by the on-board processor.
4_._1_ _ _ _ _ _ _ _S_e_r_i_a_l_ _I_/_O_ _I_n_t_e_r_f_a_c_e_ 4.1
A programable communications interface using an 8251A Universal
Synchonous/Asynchronous Receiver/Transmitter (USART) is contained
on the CPU601 board. For asynchronous operation of the 8251A, the
baud rate generator (timer 2) in the 80130 OSF device is used as
clock source. For synchronous operation the 8251A will normally
be supplied with receive and transmit clocks from external equip-
ment (modem). A strap field is used to select external clock
sources. Optionally the transmit clock may be delivered by the
CPU601 (strap selection).
The interface between the 8251A and the external equipment fol-
lows the CCITT V.24/V.28 recommendations. The following signals
are supported by the CPU601:
C_I_R_C_U_I_T_ _N_O_ _ _ _ _ _ _ _ _ _ _ _ _S_I_G_N_A_L_ _N_A_M_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
102 Signal ground
103 Transmitted data
104 Received data
105 Request to send
106 Ready for sending
107 Data set ready
108/2 Data terminal ready
109 1) Data channel received line signal detector
113 Transmitter signal element timing (DTE)
114 Transmitter signal element timing (DCE)
115 Receiver signal element timing (DCE)
125 1) Calling indicator
1) These signals are not supported by the 8251A. They are avail-
able through a separate input port.
\f
4_._2_ _ _ _ _ _ _ _D_M_A_ _C_o_n_t_r_o_l_l_e_r_ 4.2
The CPU601 contains an 8237-2 DMA controller, which supports DMA
data transfers between iSBX controller modules and on-board mem-
ory. The DMA controller may e.g. be used to support the iSBX218
flexible disk controller. The DMA controller can only be used to
support 8-bit I/O devices.
The 16-bit address range of the 8237-2 has been extended to 20-
bits (1 M byte) by means of a 4-bit page register. This divides
the 1 M byte memory address space into 16 64 k byte pages. A DMA
block cannot cross a 64 k byte boundary. The maximum block size
is 64 k bytes.
The DMA controller uses the local CPU bus for data transfers.
When the DMA controller is operated in the block transfer mode,
(for maximum throughput), it will hold the local bus for the time
required to transfer a block of data. During this time the CPU
cannot access memory and I/O. This drawback may be avoided by
using the single transfer mode at the expense of throughput.
The approximate DMA transfer rates are:
Block transfer mode: 1.25 /byte, 800 K bytes/sec.
Single transfer mode: 2.25 /byte
4_._3_ _ _ _ _ _ _ _I_n_t_e_r_r_u_p_t_ _C_o_n_t_r_o_l_l_e_r_s_ 4.3
Interrupt requests from on-board devices and from the Multibus
interrupt lines are handled by two programable interrupt control-
lers and by the Non Maskable Interrupt (NMI) request input of the
8086. This gives a total of 16 interrupt request inputs. The in-
terrupt controller contained in the 80130 OSF operates as master
controller and an 8259A interrupt controller operates as a slave
controller. The interrupt request sources are assigned to the
interrupt inputs as shown in the table below.
\f
I_N_T_E_R_R_U_P_T_ _I_N_P_U_T_ _ _ _ _ _ _I_N_T_E_R_R_U_P_T_ _S_O_U_R_C_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
NMI Power fail and RAM parity error
Master Level 0 Systick timer (80130 OSF)
Master Level 1 Reserved (80130 delay timer)
Master Level 2 8251A USART receiver
Master Level 3 8251A USART transmitter
Master Level 4 Reserved for 8287 NDP
Master Level 5 8259A slave interrupt controller
Master Level 6 Multibus INT6 2)
Master Level 7 Multibus INT7 2)
Slave Level 0 iSBX1 - MINTR0, iSBX1 - MINTR1 1)
Slave Level 1 iSBX2 - MINTR0, iSBX2 - MINTR1 1)
Slave Level 2 iSBX1 - MINTR1, Multibus INT0 1)
Slave Level 3 iSBX2 - MINTR1, Multibus INT1 1)
Slave Level 4 Multibus INT2
Slave Level 5 Multibus INT3
Slave Level 6 Multibus INT4
Slave Level 7 Multibus INT5
1) Interupt source is selected by jumper.
2) These inputs support bus vectored interrupts.
4_._4_ _ _ _ _ _ _ _i_S_B_X_ _C_o_n_n_e_c_t_o_r_s_ 4.4
The CPU601 contains two iSBX connectors (J3 and J4) for on board
I/O expansion by means of iSBX modules. The connectors will ac-
cept 1 single (J3) and 1 double (J4) or 2 single (J3, J4) iSBX
modules. Both 8-bit and 16-bit (jumper selection) modules are
supported by the on board 8086 CPU. The 8237 DMA controller sup-
ports only 8-bit iSBX modules. Up to two DMA channels may be as-
signed to each iSBX connector.
Fig. 2 shows the iSBX connector pin assignments. Apart from the
signals MPST, MINTR1, MINTR0, MWAIT, MCS1, MCS0, TDMA, OPT1,
OPT0, MDACK and MDRQT are all signals common to the two connect-
ors.
\f
F_ P_I_N_ _ _ _M_N_E_M_O_N_I_C_ _ _ _C_P_U_6_0_1_ _S_O_U_R_C_E_/_D_E_S_T_I_N_A_T_I_O_N_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1 +12V +12 volts
3 GND Signal Ground
5 MRESET Master reset
7 MA2 Address bit 3
9 MA1 Address bit 2
11 MA0 Address bit 1
13 IOWRT/ Advanced I/O write command
15 IORD/ I/O read command
17 GND Signal Ground
19 MD7 Data bit 7
21 MD6 Data bit 6
23 MD5 Data bit 5
25 MD4 Data bit 4
27 MD3 Data bit 3
29 MD2 Data bit 2
31 MD1 Data bit 1
33 MD0 Data bit 0
35 GND Signal ground
37 MDE Data bit E
39 MDC Data bit C
41 MDA Data bit A
43 MD8 Data bit 8
2 -12V -12 volts
4 +5V +5 volts
6 MCLK 9.8304 MHz clock signal
8 MPST/ Chip select decoder input
10
12 MINTR1 Interrupt controller input
14 MINTR0 Interrupt controller input
16 MWAIT/ Wait state logic input
18 +5V +5 volts
20 MCS1/ Chip select decoder output
22 MCS0/ Chip select decoder output
24 - Reserved
26 TDMA 8237 EOP/ input (jumper)
28 OPT1 Function selected by jumpers
30 OPT0 Function selected by jumpers
32 MDACK/ 8237 DMA acknowledge
34 MDRQT 8237 DMA request
36 +5V +5 volts
38 MDF Data bit F
40 MDD Data bit D
42 MDB Data bit B
44 MD9 Data bit 9
Figure 2: iSBX connector pin assignments.
\f
The function of the option signals OPT1 and OPT0 can be selected
as described below.
OPT1: 8237 DMA acknowledge (additional channel).
No connection.
OPT0: 8237 DMA request (additional channel).
8237 Terminal Count (TC) output.
No connection.
4_._5_ _ _ _ _ _ _ _I_d_e_n_t_i_f_i_c_a_t_i_o_n_ _S_w_i_t_c_h_e_s_ 4.5
The CPU601 contains 2x8 switches, which can be sensed through an
input port. The switches can e.g. be used to provide the CPU601
with an address, when it is used in distributed systems.
\f
F_ 5_._ _ _ _ _ _ _ _ _M_U_L_T_I_B_U_S_ _I_N_T_E_R_F_A_C_E_ 5.
The CPU601 interfaces directly to the standard Intel Multibus and
the IEEE P796 BUS. All adddress (24-bits), data (16-bits) and
control signals conform to the specifications for these busses.
The CPU601 provides full multimaster arbitration control logic,
which allows up to 16 masters to share the bus using a parallel
priority resolution technique. The more simple serial priority
resolution technique allows up to 3 masters to share the bus.
The CPU601 generates and recognizes the Multibus 'LOCK' signal.
When asserted, the LOCK signal prevents a CPU from accessing its
on board dual port RAM.
When the on board CPU generates an address outside the on board
memory or I/O address ranges the CPU601 uses the Multibus to ac-
cess the addressed location. When the CPU601 is Multibus master,
the contents of the 4-bit Multibus page register are used as the
4 most significant address bits (14, 15, 16 and 17 hex). The low-
er 20 bits of the address are generated directly by the on board
8086 CPU.
The CPU601 is able to generate interrupt request on any of the 8
Multibus interrupt lines by means of a programmable output port.
\f
ET TILBUD TIL ALLE RC BRUGERE
Regnecentralens træningscenter - beliggende på hovedsædet i
Ballerup udenfor København - tilbyder et omfattende trænings- og
undervisningsprogram indenfor områderne datamaskinel og -program-
mel. Hos RC ophører kundeservicen ikke med underskrivningen af
salgskontrakten. Som led i den løbende service vil kunderne finde
træningscenterets kursusprogram - et vægtigt tilbud til alle
brugere af RC udstyr.
\f
HØJT KVALIFICEREDE INSTRUKTØRER
Programmører og teknikere fra hele verden undervises på trænings-
centeret. Der er altid en række af de nyeste datateknologiske
emner på programmet. Det er således store krav, der stilles til
instruktørerne, både med hensyn til omfang og kvalitet. De fleste
instruktører er da også uddannet på universitetsniveau forud for
deres videregående edb-uddannelse.
OMFATTENDE KURSUSPROGRAM
Det er mindst lige så vigtigt, at nye brugere får en grundig
introduktion til maskinel og programmel, som det er, at undervise
i specialiserede discipliner indenfor datamatikken. Kursuspro-
grammet omfatter således generelle kurser for dem, der ikke
tidligere har beskæftiget sig med edb, - eller dem, der ønsker at
lære noget om metoder. Desuden kurser, der er rettet mod den
fundamentale viden omkring programmering; samt kurser, der
fokuserer specielt på datamat-teknik. Sidstnævnte programpunkt
henvender sig især til elektronik-uddannede, der ikke tidligere
har beskæftiget sig direkte med edb. Hertil kommer specielle
kurser og seminarer, der dækker undervisnings- og træningsbehovet
indenfor avancerede edb-anvendelsesområder, eksempelvis
datanetværksstrukturer og -applikationer.
LØBENDE KUNDESERVICE
Som tidligere nævnt ophører kundeservicen ikke med underskriv-
ningen af salgskontrakten. Det er således muligt idag at deltage
i kurser, der vedrører maskinel og programmel som blev introdu-
ceret for adskillige år siden. Denne kontinuitet i undervisnings-
programmet værdsættes i høj grad af brugere, der ansætter nye
edb-medarbejdere - hvadenten disse skal arbejde som programmører
eller operatører.
\f
MODERNE KURSUSFACILITETER
Træningscenteret er indrettet i rummelige og venlige omgivelser.
Maskinparken omfatter alle typer af udstyr som RC fremstiller og
markedsfører. Kursusmaterialet - og undervisning i klasselokalet
- er dels engelskproget, dels dansksproget; det afhænger af det
enkelte kursus og fremgår af kursusprogrammet. I undervisningen
anvendes de nyeste metoder i instruktionsteknik; desforuden be-
tragtes en virklighedstro arbejdsmåde som særdeles vigtig - in-
struktørstaben pålægges således jævnligt arbejdsopgaver "i
marken" for derigennem at bevare den praktiske sans for bruger-
problemer og for en effektiv og tilfredstillende løsning af dem.
INTERN UNDERVISNING
Det faktum, at træningscenteret også er ansvarlig for den interne
undervisning og træning af RC>s danske og udenlandske teknikere,
borger ligeledes for instruktørernes færdigheder. Det primære
sigte med de interne kurser er en stadig effektivisering af ved-
ligeholdelsesstrategier samt opfølgning omkring den løbende pro-
duktudvikling.
\f
ÅRLIGT OMFANG
Programlægningen i træningscenteret baserer sig til enhver tid på
10 heltidsansatte instruktører, der arbejder cirka 1000
person-dage direkte med kunde-træning svarende til 150 trænings-
kurser. En belastningsgrad der sikrer, at instruktørerne får
optimal mulighed for kursusforberedelse samt personlig træning og
uddannelse.
Træningscenterets kursusprogram revideres og udsendes hvert
halvår og kan rekvireres hos RC.
RCSL 42-i1567
\f
RC868
Typehjulsprinter
. KVALITETSUDSKRIFTER - TEKSTBEHANDLING
. UDSKIFTELIGE TYPEHJUL
. ALSIDIGE FACILITETER
. NYUDVIKLET DESIGN
. FASTE FORMATINDSTILLINGER - ELLER PROGRAMSTYRET
. BENYTTES SAMMEN MED RC850 OG RC700 SYSTEMER
. TRAKTOR OG ARKFØDER SOM EKSTRAUDSTYR
\f
GENERELT
RC868 typehjulsprinteren byder på udskrifter med samme skriftkva-
litet som kendes fra de bedste skrivemaskiner. Typehjul med fuldt
formede tegn samt styring af udskriftsprocessen med mikroproces-
sor, sikrer udskrifter i egen særklasse. Udskiftelige typehjul og
alsidige, programstyrede faciliteter klarer de mest krævende op-
gaver. Et helt nyudviklet design ligger bagved: enkelt, pålide-
ligt og slidstærkt - få vedligeholdelseskrav.
RC868 kan tilkobles RC850 og RC700 systemer og er især velegnet i
forbindelse med tekstbehandlingsopgaver på disse anlæg. Som
ekstraudstyr fås: TF219 traktor og TF220 arkføder, der kan
indstilles til både høj- og tværformat.
KARAKTERISTIKA
RC868 skriver serielt med en hastighed på 55 tegn pr. sek. An-
slagskraft og farvebåndsfremføring reguleres efter tegnstørrelse,
automatisk eller programmeret. Når printerens automatik benyttes,
indstilles alle funktioner bekvemt på betjeningspanelet; ved pro-
grammeret styring kan værtssystemet direkte kontrollere facilite-
ter såsom: fed-skrift, skygge-skrift og forskellige understreg-
ningsmåder - for ikke at nævne den absolutte kontrol med papir-
og typehjulsbevægelserne, der faktisk tillader tegnearbejde.
Typehjulet kan nemt skiftes af brugeren. Standard typehjul med 96
tegn findes i et stort udvalg af skriftyper og nationale tegnsæt.
Udskriftsformatet kan vælges med faste indstillinger for tegn- og
linieafstand eller kan programstyres på basis af grundbevægelser-
ne.
Printeren kan benytte enkeltark såvel som kanthullet papir i ba-
ner. Enkeltark fremføres af skrivevalsen og kan ilægges automa-
tisk med arkføderen. Kanthullet papir i baner fremføres af trak-
toren. Både traktor og arkføder kan på-/afmonteres uden værktøj,
idet forberedelser og justeringer blot skal udføres første gang.
Snaplåsholder til farvebåndskassette samt farvebånd-/papir-slut
registrering er andre faciliteter, der gør betjeningen let og
ligetil.
\f
SPECIFIKATIONER
Skrivehastighed: 55 tegn/sek. - normal bladet tekst.
Fremføringshastighed: To-vejs bevægelser:
Typehjul: 40 tommer/sek., maks.
Papir: 5 tommer/sek., maks.
Skrivemåde: Fuldt formede tegn på typehjul. An-
slagskraft efter tegnstørrelse.
Seriel udskrivning. Programstyrede
udskriftsfaciliteter.
Tegnsæt: Udskiftelige typehul med 96 tegn.
Forskellige skrifttyper og
nationale tegnsæt.
Udskriftsformat: Horisontalt:
- faste indstillinger: 10-12-15 tegn/tomme (svarende til
132-158-198 skrivepositioner).
- programstyret: Grundbevægelse: 120 delinger/tomme;
mask. bevægelse: 13,2 tommer.
Vertikalt:
- faste indstillinger: 3-6-8 linier/tomme
- programstyret: Grundbevægelse: 48 delinger/tomme *);
maks. bevægelse: 21,3 tommer.
*) kan øges til 144 delinger/tomme.
Papirfremføring: Enkeltark: friktionsvalse; automa-
tisk ilægning ved brug af arkføder
(TF220). Papirbane (kanthullet):
traktor (TF219).
Papirtype: Enkeltark eller kanthullet papir i
baner. Bredde, maks.: 15 tommer
(arkføder: 12 tommer). Formatlæng-
de: 3-3,5-4-5,5-6-7-8-8,5-11-11
2/3-12-14 tommer (trinvis indstil-
bar). Multi-copy indstilling.
Farvebånd: Snaplås-kassette; bånd-slut føler;
automatisk eller programstyret
fremføring efter tegnstørrelse. \f
Kontakter/indikatorer: RESET, CARRIER DETECT, READY, COMM
ERROR, LINESPACE, PITCH, WPS
ON/OFF, SET TOF, FORM LENGTH, FORM
FEED, PAUSE.
Værtsmaskinetilslutning: CCITT V.24 (RS 232 C). Kabellængde:
5 meter. Konfigurationstilpasning
med interne kontakter.
Strømforsyning: 220 V AC, 50 Hz, 150 W
Temperatur, omg.: 10-40C
Luftfugtighed: 10-90% RH, ikke-kondenserende
Varmeafgivelse: 540 kJ/t (130 kcal/t)
Montage: Bordmodel
DIMENSIONER
Højde: 17,2 cm
Bredde: 61,7 cm
Dybde: 42,6 cm
Vægt: 20,5 kg
RCSL Nr. 42-i2095
\f
\f
«eof»