BUSINESS PACKAGE II (BUS-PAK II) REFERENCE MANUAL

BUSINESS  PACKAGE  II (BUS-PAK  II) REFERENCE  MANUAL

BUSINESS PACKAGE II

(BUS-PAK II)

REFERENCE MANUAL

PRE L1MI NARY

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS

BUSINESS PACKAGE II

(BUS-PAK II)

REFERENCE MANUAL

G B Colicell i

Digital Equipment Corporation

January 31, 1965

Copyright 1965 by Digital Equipment Corporation

CONTENTS

Section

II

III

System Description.

0 • 0 • • • • • • • • • 0 • • • • • • • • • • • • • • • • • • • • • • • • • • • 0 0 • 0

System Configuration Requirements

0 0 . 0 • 0 • 0 • • • • • 0 • • • • • • • • • 0 • • • • 0 • 0

2

Available Storage

0 0 • • • • • • 0 • • • • • 0 0 0 • • • • • • • • • • • • • 0 . 0 • • • 0 0 • • • • 0 • •

2

Modes of Operation

0 • 0 • • 0 0 0 • • 0 • • • • • 0 • • • • • • • • • • • • • • • • • • • • 0 • • • 0 . 0

3

Address i ng

0 • • • • • • • • 0 • • • • • • • 0 • • • 0 • • 0 • • • • • • 0 • • • • • • • • • • • • • 0 • • • • • 0

3

Input-Output Storage Assignments

0 0 • • • • • • 0 • • 0 . 0 • • • • • • • • • 0 . 0 • • • • • •

4

Editing ..••..••..•...•••••

0 • • 0 • • • • • • • • • • • • • • • • 0 • • • • • • • • • 0 • • • o.

4

Indexing ....••.•

0 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 0 • • • •

4

Indirect Addressing .•..•...•••...•.....•.....••..••

0 • • • • • 0 • • • • •

5

Double Precision Arithmetic

0 0 • • • • • • • • • • • • • • • • 0 • • 0 • • • • • • • • 0 • • • • • •

5

Program Counters ....•••••..•••••..•••.•••.•.••••..•..•........ 6

Sense Switches ....••••••..••..•..•••.••••••.....••••.••.••

0 • • 0

6

Program Swi tches

0 • • • • 0 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 0 • • • • • •

6

Instruction Description .•..•••..••••••.•••.•...•.•...••••••.•••.. 7

Instruction Format .••••••••.•••••.•.••....•.•.••••••..•.•••.

0 • •

8

Detai led Operand Descriptions.

0 • • • • • • • • • • • • • • • • • • • • • • • • • •

9

Indexing

0 0 • • • • • • • • • • • • • • • • • • • • • • • • 0 • • • • • • • • • • • • • • • • • • • • • • • • • • •

12

Sing Ie. . • . • . • • • • . • . . • • • . • . . • • . • . • • • • • • • • • • . . . • . • . . . . . . • 12

Double •••.•••••••.•.•.••.••.••.••...•..•••.•....•••••. 13

Indirect Addressing.

0 • • • • • • • • 0 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

13

Effective Address Cal cu lations ....••••...•..•••••••.•....••••..•. 14

Instruction Set.

0 • • • • • • • • • • • • 0 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

15

Basic Control Instructions ....•••••.••••••.••••.•••••.••••. 16

Data Manipulation Instructions .••..•..••••••••••.•..•..••• 21

Logical Control Instructions .•.•.•.•.....•..•••••••••...•.. 28

Arithmetic Instructions ......•..•••......•.•.••..•...•..•. 33

Accumulator Shift Instructions •.•

0 • • • • • • • • • • • • • • • • • 0 • • • • • •

45

CONTENTS (Cont'd)

Ed i ting Feature . . . . . . . . . . • . . . . . . • . . • . • . • . • . . . . • . • . . . . . . . . 48

Control Word Format . . . . • . . . . . . . . . . . . . . • . • . . . . • . . . 49

AI phanumeri c Comparison Instructions .....••......•..•.•... 52

Numeri c Comparison Instructions ......•.•.........•.••.... 53

Index Control Instructions .....•..•......•..•.••••........ 54

Input-Output Instructions . . . . . • . . . . . . . . . . • . . . . . . • . . . . . . . • 56

Teleprinter . . . . . . . . . . . . . . . . • . . . • . • . . • . . . . . . . . . • . . 56

Punch Card . . . . . • . . . • . • . . . . . . . . . . • . . . . . . • . . . . . • . . 61

IV

V

VI

Magneti c Tape ..•........•....•....•••.....••••. 65

Micro-Disk .....•...•.•.•....•....•...•.•••..•.. 79

Storage and Retrieval . . . . . . . • • . • . . . • • . . . . . . . . . . . . . 85

Checkpoint and Restart ....•..•....•......••.••..•. 87

Subroutine Control .............••.••.•......••..•.•..•.. 90

Program Preparation .•..•.•..•.•••••....•.•...•.•.......•••...• 94

Symbol i c Language. . . . . . . . . . . . • • • . . . • . . • . • . . • . . . . . • . . • . . . . . . .. 96

Pu rpose ..•. . . • . . . . . • . . . • . • • . . • . • . • . • . . • . . . . . • . . • • . . • •. 96

Description of the Assembl er System. . . • • . . . . . • . . • . • . . . • . .. 96

Pseudo Instructions ................•.•.•....•.•..•..•...• 99

Assembler Features ......•.•.....•...•..•.....•.•..•....• 100

Assembling a Bus-Pak II Program . . . . . . • . . . • • . . . . . • . . . . . . . . . . . . . • . 101

Loading the Assembler ..•....•...•.....•...........•.•..• 101

Loading the Symbolic Punch Definition Tape . . . . . . . • . • . . . . . . 101

"AC" Switch Control . . . . • . . . . . . . . . . . . . . • . . • . . . . • • . • . . . . . 103

Assembler Output . . . . . . . • . . . . . . . . . . . . . • . . . . . • . . • . . . . . . . • 104

CONTENTS (Cont'd)

VII

Stops during Assembly ....

0 0 0 0 • 0 0 0 0 0 0 0 0 • • 0 0 0 0 • 0 0 0 • • 0 • 0 0 0 0 1 u 4

Error Messages.

0 0 • 0 0 0 • 0 0 • • 0 0 0 0 0 • 0 0 • • 0 • • • • • • 0 0 0 • 0 0 • • • • 0 . 0 1 0 4

Loading the Object Program .•

0 • • • • 0 0 0 • 0 0 0 0 0 • 0 • 0 • 0 0 0 0 0 • 0 o.

1 0 7

Equipment Operating Features ..

0 0 0 0 0 0 . 0 0 0 0 " 0 0 0 0 0 0 0 0 . 0 0 0 0 • • 0 0 0 0 0 1 0 8

Card Reader .

0 0 0 • • 0 0 • 0 0 0 0 • • 0 0 0 0 0 0 0 0 0 0 0 • 0 0 • 0 0 0 0 0 0 0 • 0 0 0 • • 0 1 0 8

Card Pun ch o.

0 0 • 0 0 0 0 0 0 • 0 0 0 0 0 0 0 0 0 0 0 0 • 0 0 • 0 0 0 0 0 0 0 0 0 0 • 0 0 0 o.

1 1 1

High Speed Printer.

0 0 0 0 0 • 0 0 0 0 0 0 • 0 0 0 0 • • • 0 0 • 0 0 0 • 0 • 0 • • • • • • • 1 1 3

Magneti c Tape Transports •

0 • 0 0 • • • 0 0 • 0 • 0 0 0 0 • 0 0 0 0 0 • 0 0 0 0 0 0 0 0 1 1 8

Appendicies

I Character Code Chart

II Bus-Pak II I nstruction List

III Bus-Pak

II

Error Messages

IV Forbidden Labels

V Bus-Pak II Coding Sheet

VI Programming Examples

SECTION I

SYSTEM DESCRIPTION

Bus-Pak II, in essence, is a new computer designed for data processing operations. It operates on a character by character basis and its instructions are powerfu and easy to learn and understand. Bus-Pak II offers a variety of powerful programming features such as Editing, Two Modes of Indexing and Complete Input/Output Control. The Bus-Pak II programm ing system was developed so that many ()f the manual record keeping and updating operations could easily be converted to make use of' the

PDP-4 or PDP-7 computing system. Bus-Pak II users need not be awarE~ of all thel computer intricacies. Through the use of the pseudo-language, one ccm accomplish most of the functions of a business oriented computer including the handling of the peripheral in-out. equipment.

This manual has been written so that programmers with minimum experience wi II be able to learn and understand the Bus-Pak II Programm ing Language '.

Reference may also be made to either the PDP-4 or PDP-7 Assembler writeups but is not a necessity.

Subroutines and other programs written in machine Assembler language may be used within a Bus-Pak II program provided that the programmer saves the

~:tccumu­ lator before execution of a Bus-Pak II instruction, and restores it when re-entering the mach ine language program where necessary.

SYSTEM CONFIGURATION REQUIREMENTS

The Bus -Pak II Programm ing System will

0 perate on either a PDP -4 or

PDP-7 with the following configurations:

Standard Equipment aK core storage

Paper tape reader-punch

Teletype input-output

And at least 1 input and 1 output unit shown below

Optional Equipment

Card reader

Card punch

Magnetic tape

DECtape

High speed printer

AVA I LAB LE STORAGE

The Bus-Pak II operating system occupies all of upper memory

(l,0,0,0~ to 17777 a) and locations,0a to 21a of lower memory. The balance of lower memory is avai lable to the user minus the sum of all the buffer areas assigned to

Magnetic Tape and Micro-Disk units being used.

7777 a - total sum of all buffer areas -1 = last available storage location.

The following formula may be used to determine the additional nonavailable storage areas.

2

Magnetic Tape {for each un it used}

Maximum length tape record in characters .;. 3 = non -available storage.

Micro-Disk {for each unit used}(l}

{{768 - record length} x record length}

7

3

= non-available storage

{1} Do not use any remainders in calculations

MODES OF OPERATION

Bus-Pak II has two {2} modes of operation. A uRun" mode which is used for normal execution of the users program and a "Single Instruction

II mode for use in debugging Bus-Pak II programs. The control of the mode of operation is by the AC switch Zero

(%) on the console. When in the down position, Bus-Pak II operates in the "Run" mode. When in the up position, Bus-Pak II operates in the "single instruction" mode.

In the single instruction mode of operation, Bus-Pak II halts after the execution of each Bus-Pak II instruction and indicates in the AC lights on the console, the address of the next Bus-Pak II instruction to be executed. When a "GOTO"

{transfer} instruction is executed, Bus-Pak II will not stop until the instruction at the location indicated by the G OTO instruction is executed.

ADDRESSING

Both instructions and data essential for processing are contained in core storage. Each core storage location is completely addressable.

Bus-Pak II instructions are variable length type instructions in that not all the instructions take up the same number of core storage locations.

3

Data fields being processed are also of the variable length type. A data field length is determ ined by the

II

N

II

{number of characters} field in a spec ific instruction.

All data is processed from left to right, for as many characters specified by the instruction being executed.

Both instructions and data may be interm ixed as long as the data does not interfere with the normal flow of the program.

INPUT-OUTPUT STORAGE ASSIGNMENTS

No specific input-output areas have been assigned to any input-output device in the Bus-Pak II system. The assignment of these areas has been left entirely up to the programmer. In this way, more efficient and less core consuming programs may be written. Care, though, must be taken so that an area defined for a spec ific input-output device is large enough for that particular device.

EDITING

In the printing of reports, it is sometimes necessary to punctuate numeric data by the addition of dollar signs, commas, and decimal points. This punctuation would take many, many instructions of testing and shifting the data, and inserting the correct punctuation characters. The editing feature provides th is punctuation of data automatically based on a control word specified by the user.

Floating dollar sign and asterisk protection is also available for check writing. Multiple sequential data fields may be edited in one editing operation.

INDEXING

Indexing is a means of address modification without disturbing the

4

original data address in an instruction. Bus-Pak II makes available two modes ()f indexing, sing Ie indexing and double indexing.

An effective address is calculated for every "TO", uFROM", and

II

BY" address field spec ified by an instruction.

In single indexing the contents of the index register specified b>' an address field is added to the data address and this new effective address is used in the execution of the instruction.

In double indexing, the contents of the index register specified by the double index register is also added to the data address and this new address used in the execution of the instruction.

INDIRECT ADDRESSING

When indirect addressing is specified, the address of the instruct'ion is interpreted as the address of a register which contains the actual address of the data to be processed. Multiple levels of indirect addressing are available and each level of a JlTOu or ItFROMIt address field may use single and/or double indexing.

DOUBLE PRECISION ARITHMETIC

All arithmetic operations on numeric data must be done by the use of one of the fifteen (15) double precision accumulators available in Bus-Pak II. Each accumulator is capable of containing a magnitude not exceeding

±

3 4 3 5 9 7 3 8 3 6 7.

An overflow indicator (set when any calculated value exceeds that limit) is associated with each of the 15 available accumulators. The signs of the accumulators are computed algebraically depending on the signs of the data being calculated.

5

PROGRAM COUNTERS

Fifteen (15) programmed counters are available for control of multiple execution of a particular sequence of instructions.

SENSE SWITCHES

Fifteen (15) sense switches are available through the use of the AC switches on the console for manual control of program execution.

PROGRAM SWITCHES

Fifteen (15) programmed switches are available for internal control of program execution.

6

SECTION

II

INSTRUCTION DESCRIPTION

For ease in learning and understanding all the instructions, their descriptions wi II follow the format indicated below:

INSTRUCTION TITLE:

IN STRUCTION FORMAT: op-code mnemonic operands

INSTRUCTION DESCRIPTION:

INSTRUCTION NOTE:

INSTRUCTION EXAMPLE:

Indicates the operation of the instruction.

Indicates the exact format in which the instruction is to be written.

The actua I mach ine code assembled for the instruction {for reference only}.

The mnemonic code for the instruction.

Indicates the variable operands necessary for the instruction in the sequence in which they must appear.

Describes, in detail, the operation of the instruction.

Indicates restrictions, exceptions, and requirements for that instruction.

Indicates the instruction1s effect on the data fields showing what the appl icable fields look I ike both before and after the instruction is executed.

7

INSTRUCTION FORMAT

Bus-Pak II instructions are divided into four distinct fields of information.

Each field must be separated from the other by either a carriage return (.) ) or a tabulation

(--t" ).

The Bus -Pak II coding sheet has been developed for ease of coding and punching of Bus-Pak II programs.

(S~e

Appendix V)

FIELD

USE

LABEL

OPERATION

Used to assign a symbolic name to an instruction or data for reference by instructions located elsewhere in the program. A label may vary from one to six alphanumeric characters in length, beginning with an alphabetic character. Only the normal alphabetic characters and the numbers 0-9 may be used in a label. A comma (,) must immediately follow the label.

Indicates the operation to be performed by Bus-Pak

II.

An instruction mnemonic will normally appear in this field.

OPERANDS

This field is sub-divided into up to four sub-fields.

These fields are used to give Bus-Pak

II the information needed to execute the instruction. Each subfield must be separated by a tabulation

(--r ).

All four fields need not be used on all instructions.

See IIDetailed Operand Description II •

8

COMMENT

This field may be used to place textual information about the instruction on the I isting of the program fer easier understanding of the program coding. A slash (/) must immediately precede th is field. A comment may contain any character and is only term inated by a carriage return (

~

DETAILED OPERAND DESCRIPTION

Following is a detailed description of the different types of information that may be contained in the operand field of an instruction. A name has been ,assigned to each type of information for ease in recogn ition. These names will be used in the description of the instructions, and should be referred to wherever necessary.

NAME

AC

ALT

B

BY

CHAR R?

MEANING AND USE

Indicates the number of the Accumulator being used.

Indicates the alternate tape unit specified for use in switch ing tape un its on End -of-Tape conditions.

Indicates the blocking factor for magnetic tape initialization.

Indicates the address of the control word to be used in an "Editing Operation ". It should be replaced by the label assigned to the control word. Th is field may be indexed, double indexed, and indirectly addressed. (See indexing feature).

Used in the character testing and forms control instructions. Must be written exactly as is with the

9

CTR

FROM

IDX

INST

L

N

SW

T

question mark

(?) replaced by the character desired.

Indicates the program counter being used. Should be replaced by the actual program counter number or label.

Indicates the address of the data field being worked with. Should be replaced by the label assigned to the data field. This field may be indexed, double indexed, and indirectly addressed (see indexing feature).

Indicates the specific index register being used. It should be replaced by the actual index number or label.

Indicates the address or label of an instruction in a

IIGOTOII instruction. This address may be indirectly addressed, but not indexed. It is separated from the

"GOTOB! command by a space.

Indicates the length of a given record for an inputoutput device initialization.

Indicates the number of consecutive character locations that a particular instruction is to process.

Indicates either the sense switch or program switch being used. Should be replaced by the actual switch number or label.

Indicates the number of times a particular instruction is to be executed. Can never be negative.

10

TO

u v

Indicates the address of the data field receiving information. Should be replaced by the label assigned to the data field. Th is field may be indexed, double indexed, and indirectly addressed. (See indexing feature).

Indicates the particular input-output unit being used.

Should be replaced by the actual unit number or label.

Indicates a value for use with the indexing and program counter instructions. Should be replaced by an actual value.

11

INDEXING

SING LE INDEXING

A program sometimes requires that a particular sequence of instructions be executed repetitively with a change only to the data addresses specified by the instructions. The act of chang ing the data addresses prior to the execution of the instruction is referred to as address modification.

The indexing feature of Bus-Pak II performs this address modification automatically. Making use of this indexing feature reduces the core storage requirements of a program and provides for faster program execution and simplification of the programm ing effort.

Bus -Pak II makes ava ilable fifteen

(15) index reg isters numbered

1 through

15. These index registers may be cleared, initially loaded with a given value, incremented or decremented by a given value, or deposited for the purpose of saving the contents of the index reg ister •

To make use of the indexing feature, the programmer selects those instructions wh ich use indexing. He then indicates the indexing operation by plac ing the symbol (+Xn), where n is the index register to be used, in the address field to be indexed:

ADDRESS

+

Xn

Before an instruction is executed, the data addresses specified by that instruction are exam ined for indexing. If indexing is required, the contents of the proper index register are added to the data address to develop an effective address. This effective address is the actual address used in the execution of the instruction.

12

DOUBLE INDEXING

Indexing is the means of modifying

:I specific data address by adding the contents of a specified index register. Double indexing therefore is the means by which the contents of a second index register may also be add ed to the data address.

The double index register is loaded with the index register number whose contents are to be added to the data address when double indexing is specified.

Double indexing is specified by the symbol (+D) in the data address as follows:

TO+D+X1

TO+D

INDIRECT ADDRESSING

When indirect addressing is specified, the register indicated by the address in the instruction contains the address to be used as the final data address.

Indirect addressing is specified by placing the symbol +1 following the address of the data address to be used.

FROM+I

TO+Xl+1

BY+X1~D+1

13

EFFECTIVE ADDRESS CALCULATION

All

II

FROM" , "TO", and "BY" address fields of instructions calculate an effective address in the following sequence.

FORMAT OF ADDRESS FIELD

1. Obtain the number in the address part, Y, bits 6-17.

2. If the index field, X, bits 0-3 is non -zero, add the contents of the specified index register to the number obtained in step 1 •

3. Obtain the double indexing bit, D, bit 5. If it is a zero, go to step 5. If H is a 1, go to step 4.

4. Add the contents of the index register specified by the double index register to the result of steps 1 and 2.

5. Obta in the indirect bit, I, bit 4. If it is a zero, the ca Iculation is done and the result of steps 1, 2, 3, and 4 is the effective address.

If it is a 1, go to step 6.

6. Use the address calculated by steps 1, 2, 3, and 4 to obtain a new word from memory, and go back to step 1 •

The effective address calculation continues until a word is encountered with a

% in bit 4. At th is point the result of steps 1, 2, 3, and 4 is taken as the effective address for that instruction.

14

SECTION III

INSTRUCTION SET

The Bus-Pak II instruction set has been divided into specific types of instructions.

They wi II be described in the following sequence:

1. Basic Control Instructions

2. Data Manipulation Instructions

3. Logical Control Instructions

4. Arithmetic Instructions

5. Accumulator Sh ift Instructions

6. Editing Instructions

7. Alphanumeric and Numeric Comparison Instructions

8. Indexing Control Instructions

9. Input-Output Instructions a • Tel eprinter b. Punched Cards c. High Speed Printer d. Magnetic Tape e. Micro-Disk f. Storage and Retrieval Instructions g. Checkpo int and Restart

10. Subroutine Control Instructions

15

BASIC CONTROL INSTRUCTIONS

The following instructions are used to control the Bus -Pak

II

operating system:

DECIMAL RADIX CONTROL op-code mnemonic

DECIMAL variable operands

This is an instruction to the assembler to accept all numeric data as decimal numbers.

NOTE: 1. This instruction must appear after the program IrTitle" and before any Bus-Pak II instructions.

2. Th is instruction does not occupy any core storage locations.

16

ANELEX CHARACTER MODE op-code mnemonic

ANELEX variable operands

Th is is an instruction to the assemb ler to accept a II textua I or character information of the program in "ANE LEX" code.

NOTE:

1.

Th is instr uction must appear after the program "Title" and before any Bus -Pak

II instruction.

2.

Th is instruction does not occupy any core storage location.

3.

All textua

I or character information used either in the Bus -Pak II instructions themselves or as constants necessary in the processing of the data must be in IIANE LExn code.

4.

Textual information (see IITEXT'r pseudo instruction) will be stored

3

characters per word. When expanded to one character pel word

Bus -Pak

II assumes the data is in IrAN ELEx rr code.

TELETYPE CHARACTER MODE op-code mnemonic

TELETYPE variable operands

Th is is an instruction to the assembler to accept all textual or character information of the program in IITELETYPEII code.

NOTE:

1.

This instruction is to be used prior to the defining of textual information which will only be typed out on the on-line teleprinter.

2. Textual information used for message printing is usually placed at the end of the program. If it is inserted within the program itself, ItANELEX" must again be specified to insure correct character conversion for the remaining part of the program.

17

IN ITIALIZE SYSTEM op-code

1174,0'1 mnemonic

BEGIN variable operands

Th is instruction causes the Bus -Pak II operat ing system to be in itia lized •

NOTE: 1. This instruction must be the first instruction executed by the users program.

2. Initialized the on -line teleprinter by setting it to lower case and typing a I ine feed and carriage return.

3. Clears all the interrupt flags in the computer and turns the interrupt to the "ON" state.

4. Resets certain controls in the Bus-Pak II operating system.

5. When the Bus-Pak

II

system is operating in the single instruction mode, the system will not stop until the instruction immediately following th is instruction has been executed.

18

UNCONDITIONAL TRANSFER op-code

6¢¢¢¢¢

mnemonic

GOTO INST variable operands

This instruction causes a transfer of the program control from one sequence of instructions to another.

NOTE: 1. The "GOTO" and the instruction address IrINSTu must only be separated by a space.

2. Indirect Addressing may be used with th is instruction. (See

Indirect Addressing).

3. Indexing and Double Indexing may not be used with this instruction.

4. When the Bus-Pak II system is operating in the Single Instruction

Mode, the system will not stop until the instruction at location "INSTrI has been executed.

NO OPERATION op-code

74¢¢¢¢

mnemonic

NOP variable operands

Th is instruction performs no operation.

NOTE: 1. Th is instruction can be substituted for the operation code and operand fields of instructions to make the instruction ineffective.

2. When the Bus-Pak II system is operating in the Single Instruction

Mode, the system will not stop until the next Bus-Pak II instruction immediately following this instruction has been executed.

19

STOP op-code

1755353

mnemonic

STOP variable operands

This instruction will cause the Bus-Pak

II

system to stop operations.

NOTE:

1. The system will first wait until all input-output operations have been com pi eted •

2. The address of the next instruction following the STOP command is displayed on the console AC lights.

3. When the Bus-Pak II system is operating in the Single Instruction

Mode, the system will again stop after the CONTINUE key on the console is depressed before executing the next instruction.

20

DATA MANIPULATION INSTRUCTIONS

The following instructions are used to manipulate and position input and calculated data for eventua I output.

CLEAR STORAGE variable operands

N FROM

The "N" consecutive locations starting at address rrFROMrr are cleared to blanks

(2fi1

octal).

1. The original "N" consecutive locations at rrFROMn are lost.

NOTE:

EXAMPLE: mnemonic

CLRSTR

CLRSTR 3

CONTENTS OF before

CORE STORAGE after

CORE STORAGE

ADDRESSES

1

2

5

7 3

%

1

- - -

3

%

5 5 5

~

%

%

1

%

5

21

MOVE CHARACTERS op-code

17411 mnemonic

MV

The II N II consecutive characters starting at address ,rFROMrr are moved from left to right to the II N II consecutive character positions starting at address "Torr.

NOTE: variable operands

N FROM TO

1. The original IINII consecutive characters at JrTorr are replaced by the II N II consecutive characters at "FROM"-. The

rrN n

consecutive characters at IIFROMII are left undisturbed.

EXAMPLE:

MV

3

47¢ 473

CONTENTS OF

CORE STORA GE before after

CORE STORA GE

ADDRESSES

4

7

¢

A

B C

D

E

F

A

B

C A

B

C

4

7

3

22

MOVE ZONE op-code

17412 mnemonic

MVZ variable operands

N FROM TO

The zone portion only (bits B and A of a character) of the rrN" consecutive characters with the starting address

II

FROM

II are moved from left to right to the zone portion only of the "N

II consecutive characters with the starting address uTO" .'

NOTE:

1.

The original zone portions only of the uNit consecutive characters at "TOil are replaced by the zone portions only of

II

Nil consecutive characters at ItFROMIt. The rrNIt consecutive characters at "FROM" and the numeric portion only of the uN" consecutive characters at ItTOIt are left undisturbed.

EXAMPLE:

MVZ

CONTENTS OF before

CORE STORAGE after

CORE STORAGE

ADDRESSES

5%2

+

-

5 7

6

3 9

+

5 7 6

1

+

3 9

1

5%5

5

5

%

%

2 5

23

MOVE NUMERIC

~)p-code

117413 mnemonic

MVN variable operands

N FROM TO

The numeric portion only of the uN" consecutive characters with the starting address "FROM" are moved to the numeric portion only of the rrN" consecutive charclcters with the starting address "TO".

NOTE:

1. The original numeric portion only of the uN" consecutive characters at "TO" are replaced with the numeric portion only of the" N" consecutive characters at rrFROMrr. The n

Nrr consecutive characters at "FROM" and the zone portion only of the rrN" consecutive characters at "TO" are left undisturbed.

EXAMPLE:

MVN

3

CONTENTS OF before

CORE STORAGE after

-

CORE STORAG E

ADDRESSES

3

¢

¢

3¢¢

+

5

7 3

5

5

7

3

2

1

-

5

7 3

-

3

¢

3 i

24

MOVE AND SUPPRESS ZEROS op-code

17414 mnemonic

MVS

The "N" consecutive characters with the starting address rrFROMu are moved to the "N" consecutive character positions with the starting address uTOu. As each character is moved, it is tested for zero. If it is a zero and it is to the left of the most significant digit (other than zero), the zero is replaced by a blank (2¢ octal).

When the most significant digit is found, zero suppressing is term inated.

NOTE: variable operands

N FROM TO

1. The orig inal liN

II consecutive characters at rrTOIr are replaced by the liNn consecutive characters at rrFROMIr •

2. All leading zeros up to the most sign ificant dig it are replaced by blanks.

3. All zones of the rece iving field are lost.

4. The "N" consecutive characters at rrFROMrr are left undisturbed.

5. If a field contains all zeros, the resulting field will be entirely blank.

EXAMPLE:

MVS

3

CONTENTS OF before

CORE STORAGE after

CORE STORAG E

ADDRESSES

5

¢

¢

+

¢ ¢

5

A B C

+

¢ ¢

5

- -

5

5

¢

3

25

MOVE AND EXPAND op-code

17415 mnemonic

MVX

The

II

N

II consecutive characters {packed three characters per storage word} with the starting address "FROM" are moved to the "N" consecutive character positions {one character per storage word} with the starting address "Ton.

NOTE: variabl e operands

N FROM TO

1. The orig ina I

II

N

II consecutive characters at trTO" are replaced by the "NII consecutive characters with the starting address ItFROMII •

The

II

N

II consecutive characters {packed three characters per storage word} at "FROM" are left undisturbed.

2. The "N" consecutive characters at HFROM,r mus't be in "ANELEX" code and packed three characters per storage word

~

3. The pseudo-instructi·on nTEXTrr under rr ANELExrr code control is used to input the

II

Nil consecutive characters, packed three characters per storage word at "FROMrr.

4. This instruction is normally used to expand rrCONSTANTIJ information used as input to the assembly process so that it can be used by the

Bus-Pak

II data manipulation instructions.

26

CHARACTER ZONE MANIPULATION op-code mnemonic variable operands

TO

These instructions operate on the zone portion only of the character at location

II

TO

II •

Following are the instruction mnemonics and the effect each has on the character zone. op-code

1742%

17421

17422 mnemonic

SETX

SETY

CLZ

- sets zone to 6% octal (plus) sets zone to 4% octal (m inus) clears the zone to %% octal

NOTE: 1. The numeric portion of the character is left undisturbed.

27

LOGICAL CONTROL INSTRUCTIONS

The follow ing instructions may be used to control the log ica I flow of the program.

Both internal and external control are available.

Internal control may be exercised by the use of program switches, program counters,

ror

the actual data being processed.

External control can be exercised by the use of sense switches on the computer console.

TEST CHARACTER EQUAL op-code

17456

The single character at address IITOII is compared to the character IICHAR R?II

If the single character at address "Ton is identical to the character desired the instruction 'roTO INSP' will be executed. Otherwise, the program continues in sequence.

NOTE: mnemonic

TCE variabl e operands

CHAR R? TO GOTO INST

1. Core storage is left undisturbed.

2. The character at address "Ton must be in BCD mode, one character per storage location.

3. The character being tested for by "CHAR R?1t must be under the

ANELEX mode when being assembled.

4. Bus-Pak

II

will automatically convert the character desired from

AN E LEX to BCD code before the actua I test is made.

5. Indexing, double indexing

I

and/or indirect addressing may be used with the "TOil address.

28

SEARCH FOR CHARACTER op-code mnemonic

175%5

SEARCH variable operands

N CHAR R? FROM GOTO INST

This instruction will cause a search, character by character, of the rrN" consecutive characters with the starting address rrFROMrr for the character rrCHAR R?It.

If no such character is found within the rrNrr characters being tested the instruction JIG OTO I NSTH wi II be executed. If the character is found, the program continues in sequence.

NOTE: 1. Core storage is I eft undisturbed.

2. The count of the number of characters tested before the character was found will be found in index register #15. {For example,

if

the character desired was in the first location searched, index register #15 would contain zero}.

3. The previous contents of index reg ister #15 are lost.

TEST SENSE SWITCH op-code

17457 mnemonic

TSS variable operands

SW GOTO INST

This instruction enables the user to test one of the 15 sense switches on the computer console. If the switch being tested is in the up position, the rrGOTO INSTil will be executed. Otherwis e the program continues in sequence.

NOTE: 1. The right most 15 accumulator switches on the console are defined as sense switches, numbered 1 through 15 respectively.

29

CHARACTER ZONE TESTS op-code mnemonic variable operands

FROM GOTO INST

These instructions test the two zone bits of the character at location "FROM" •

The following table defines the instruction mnemonic and the condition under which the IIGOTO INST" wi" be executed. op-code

17462

17463 mnemonic

IFX

IFY condition

Zone portion equal to 60 octal (plus)

Zone portion equal to

40

octal (minus)

Note: 1. Core storage is left undisturbed.

LOAD PROGRAM COUNTER op-code

17454 mnemonic

LDCTR variable operands

CTR y

This instruction causes program counter IICTR,r to be set to the value

"yn.

NOTE: 1. Core storage is left undisturbed.

2. lIyll must not be a negative val ue.

3. If the II TSTCTR" instruction is to be executed prior to the instructions to be repeated, the value

'ryn

must be the number of repeats

+1 •

4. Fifteen (15) program counters are available in the Bus-Pak

II system.

30

TEST PROGRAM COUNTER op-code

17455 mnemonic

TSTCTR variable operands

CTR GOTO INST

Th is instruction decrements the contents of program counter rrCTRrr and tests the results. If the result is not zero, the instruction "GOTO INSTrr will be executed.

Otherwise, the program continues in sequence.

NOTE: 1. Core storage is

I eft und isturbed •

2.

This instruction is normally executed immediately following the instructions being repeated with the rrGOTorr instruction transferring to the first instruction being repeated.

PROGRAM SWITCH CONTROL INSTRUCTIONS op-code mnemonic variable operands

SW

These instructions are used to control the status of the rrsw n internal prognam switch. Fifteen

(15) program switches are available in .he Bus-Pnk

II system. The following table defines the instructions mnemonic to be used and its effect on the program switches. op-code

17464

17465

NOTE: mnemonic

SET

CLEAR effect

Sets the switch rrsw" to the ON state

Sets the switch rrsw'r to the OFF state

1. If nsw" is zero

(¢),

the instruction affects all fifteen

(15) program switches.

2. Core storage is left undisturbed.

31

TEST PROGRAM SWITCH op-code

174613 mnemonic

TPS variable operands

SW GOTO INST

This instruction tests program switch

nsw"

and if switch trSW" is set, the instruction "GOTO INSTil is executed. Otherwise, the program cont inues in sequence.

NOTE: 1. Core storage is left undisturbed.

TEST ACCUMULATOR OVERFLOW mnemonic op-code

17461

TAO variable operands

AC GOTO INST

The overflow indicator of the accumulator specified by "ACtr is tested. If an overflow has occurred in the specified accumulator, the instruction "GOTO INST" is executed. Otherwise the program continues in sequence.

NOTE: 1. The overflow indicator of the spec ified accumulator is cleared by this instruction.

2. The overflow indicator 'is also cleared when a IVCLRAcn instruction is executed.

3. If an overflow has occurred on an accumulator operation, the result of the operation is indeterminate.

32

ARITHMETIC INSTRUCTIONS

All arithmetic operations must be done in one of the 15 accumulators available in the Bus-Pak

II

programming system. These accumulators are numbered 1 through 15, each of which can contain a positive or negative value whose magnitude does not exceed

± 3 4 3 5 9 7 3 8 3 6 7.

If the magnitude exceeds the

I~ximurn., overflow occurs.

An overflow indicator is associated with each of the 15 accumulators.

The signs of the contents of the accumulators are computed algebraically consistent with the sign of the data in the accumulator itself and the sign of the data being used in the computation.

The sign of the data stored in core storage may be found over the un its position of the data being computed. If the zone of the units position is equal to 40 octal, t·he value is negative. Otherwise the sign is assumed positive.

The sign when stored into core storage after an accumulation will always be placed over the units position of the data being stored. A negative sign will be equal tOt 40 octal and a positive sign will be equal to 60 octal.

Signs over other than the units position of data being used will be ignored.

For decimal point alignment see "Accumulator Shift Instructions lt

The imaginary decimal point location must be taken into consideration in all arithmetic operations, especially in the multiplication and d'ivision operations. The following rules apply:

Multiplication

The number of decimal places in the product will be the sum of the decimal places of the multiplicand and the multiplier.

33

Division

The number of decimal places in the quotient will be the number of decimal places of the dividerP minus the number of dec imal places of the divisor.

Addition and Subtraction

When adding or subtracting different values, the decimal point must be aligned correctly or incorrect results will occ.ur.

CLEAR ACCUMULATOR op-code

1741,0'

mnemonic

CLRAC var iab I e operands

AC

The contents of accumulator IIACII are set to plus zero

(+,0').

NOTE:

1. The original contents of accumulator rrACtr are lost.

2. The overflow indicator assoc iated with accumulator nACII is cleared.

3. If uAC" is made zero

(iJ), all accumulators are set to plus zero (+0) and all their associated overflow indicators are cleared.

34

LOAD ACCUMULATOR mnemonic

LOADAC variable operands

AC N FROM

The

II

N

II consecutive characters with the starting address rrFROM

II are placed into the accumulator "AC" •

NOTE: 1. The original contents of accumulator rrAcrr a re lost.

2. The sign of accumulator

II

AC" is made equa I to the sign over the units position of the uN

II consecutive characters at IIFROM" •

3. Core storage is left undisturbed.

4. The overflow indicator associated with accumulator "AC" is left und isturbed •

EXAMPLE;

LOADAC

3 3

5,01

CONTENTS OF before

CORE STORAGE after

CORE STORAGE

ADDRESSES

5

,0

1

Q

-.

-

3

4

-

2

3

4

CONTENTS OF before

ACCUMULATOR after

3

+35291

-234

35

DEPOSIT ACCUMULATOR mnemonic op-code

174¢6

DEPAC variable operands

AC N TO

The right most II N II consecutive characters of the contents of accumulator "ACII are deposited into the II N II consecutive characters with the starting address liTO II •

NOTE:

1.

The contents of accumulator IIAcn are left undisturbed.

2.

The original IIN" consecutive characters at IrTon are lost.

3.

The sign of the accumulator is placed in the zone portion of the units position of the data deposited.

4.

The overflow indicator associated with accumulator nACII is left und isturbed •

EXAMPLE:

DEPAC

3

5¢1

CO NTENTS OF

CO RE STORAGE

-

CO RE STORAGE

AD DRESSES before after

CONTENTS OF

ACCUMULATOR

1¢ before after

5

¢

1

3 7 9

5

2

1

-39521

-39521

36

ADD TO ACCUMULATOR op-code

175fJ3

mnemonic

ADDAC variable operands

AC N FROM

The "N" consecutive characters with the starting address ffFROM" are algebraically added to the contents of accumulator IIAcn and the result placed in accumulator

"AC" •

NOTE: 1. Core storage is I eft undisturbed.

2. The sign over the units position of the rrN" consecutive characters at "FROM

Il is taken jnto consideration.

3. The original contents of accumulator

Ir

Acrr are lost.

4. If the result of the addition produced a value whose magnitude exceeds the capacity of the accumulator

I

the associated overflow ind icator wi

II be set. The result itsel f is indeterm inate.

5. Zero answers wi

II

always be made

+fJ.

EXAMPLE:

ADDAC 5

CONTENTS OF before

CORE STORAGE after

CORE STORAG E

ADDRESSES

3

5

fJ

1

fJ

5

fJ

5 3

~

5fJ1

CONTENTS OF before

ACCUMULATOR after

5

+2fJfJ

+147

37

SUBTRACT FROM ACCUMULATOR op-code

174,0'3 mnemonic

SUBAC variable operands

AC N FROM

The

II

N

II consecutive characters with the starting address trFROMn are algebraically subtracted from the contents of accumulator trAcn and the result placed into accumulator IlACIl •

NOTE: 1. The original contents of accumulator rrAcn are lost.

2. Core storage is I eft undisturbed.

3. The sign over the un its position of the nNrt consecutive characters being added is taken into consideration.

4. If the result of the subtraction produces a value whose magnitude exceeds the capac ity of the accumulator, the associated overflow ind icator wi II be set. The resu

It itsel f is indeterm inate.

EXAMPLE:

3

5,0'1 SUBAC

5

-

CONTENTS OF before

CORE STORAGE after

CORE STORAGE

ADDRESSES

5

,0'

1

-

,0' 2

5

-

,0'

2 5

-

-

CONTENTS OF before

ACCUMULATOR after

5

-5,0',0'

-475

I

38

MULTIPLY ACCUMULATOR op-code

174,0'4 mnemonic

MULAC variab I e operands

AC N FROM

The contents of accumulator II ACII are multipl ied by the nN II consecutive characters with the starting address "FROMIt and the result placed in accumulator

"AC".

NOTE: 1. The original contents of accumulator nAcrr are lost.

2. Core storage is left undisturbed.

3. If the result of the multiplication produces a value whose magnitude exceeds the capacity of the accumulator

I

the associated overflow indicator will be set. The result itself is indeterminate.

EXAMPLE:

MULAC

3 3

5,0'1

CONTENTS OF before

CORE STORAGE after

CORE STORAGE

ADDRESSES

¢

+

1 2

+

,0' 1 2

5

,0'

1

CONTENTS OF before

ACCUMULATOR after

3

+12

+144

39

DIVIDE INTO ACCUMULATOR op-code

174135

mnemonic

DIVAC variable operands

AC N FROM

The contents of accumulator

II

AC" are divided by the nN

II consecutive characters with the starting address

II

FROM". The results are placed in accumulator

II

AC" •

NOTE:

1. If the "N" consecutive characters with the starting address

II

FROM

II are greater than the contents of accumulator It ACII

I

the result of the division is zero.

2. The integral part of the quotient is taken as the result and the fractional part (the remainder) is discarded.

3. The original contents of accu mulator rrACIt are lost.

4. Core storage is left undisturbed.

5. Overflow may not be set because of a division.

EXAMPLE:

DIVAC

5 3

5131

CONTENTS OF

CORE STORAGE before after

CORE STORAGE

ADDRESSES

CONTENTS OF

ACCUMULA TOR

5

before after

13 13

5

13 13

5

5

13

1

+23

+4

40

ADD TO MEMORY op-code

17523 mnemonic

ADDMEM variable operands

AC N TO

The contents of accumulator "AC" are algebraically added to the "N" consecutive characters with the starting address

II

TOil • The results are placed into the "NII consecutive character positions with the starting address nTO" •

NOTE: 1. The contents of accumulator

II

ACIt are left undisturbed.

2. The sign over the un its position of the nN n consecutive characters at

II

TO

II is taken into consideration.

3. The orig ina I liN

II consecutive characters at ItTO" are lost.

4. If the result of the addition produced a value whose magnitude exceeded the capacity of the accumulator

I

the associated overflow indicator will be set. The result itself is indeterminate.

5. The sign of the result is placed over the un its position of the

II

Nil consecutive characters at nTo·r.

EXAMPLE:

ADDMEM

15

CONTENTS OF before

CORE STORAG E after

CORE STORAG E

ADDRESSES

3

+

% 7 5 3

9

1 1

~

3

9

5

%

1

5

%

5

CONTENTS OF before

ACCUMULATOR after

5

+35

+35

41

SUBTRACT FROM MEMORY op-code

17522 mnemonic

SUBMEM

The contents of accumulator "AC" are algebraically subtracted from the liN" consecutive characters with the starting address "TOII. The results are placed into the II Nil consecutive character positions with the starting address "TOil •

NOTE: 1. The contents of accumulator IIAC" are left undis,turbed.

2. The sign over the units position of the IrNIt consecutive characters at II TOil is taken into consideration ..

3. The original

II

N

II

consecutive characters at

Irro

n are lost.

4. If the result of the subtraction produced a value whose magnitude exceeds the capacity of the accumulator, the associated overflow indicator will be set. The result itself is indeterminate.

5. The sign of the result is placed over the units position of the

"N" consecutive characters at liTO".

EXAMPLE: variable operands

AC N TO

3

5,0'1

SUBMEM

_

_--_

...

CONTENTS OF

CORE STORAGE

1,0' before after

CORE STORAGE

ADDRESSES

Z

,0'

5

¢

9 9

Z 3 5 ,0'

9 9

5 5

,0' ,0'

,0' 1

5

,0'

5 l - .

CONTENTS

OF

ACCUMULA TOR

1,0' before after

+3,0',0'

+3,0',0'

42

MULTIPLY MEMORY

?p-code

17524 mnemonic

MULMEM variable operands

AC N TO

The contents of the

II

N

II consecutive characters with the starting address

II

TOil are multipl ied by the contents of accumulator

If

Acn. The results are placed into the

II

Nil consecutive character positions with the starting address nTon.

NOTE: 1. The contents of accumulator

II

ACIt are left undisturbed.

2. The original

II

Nil consecutive characters at rrTon are lost.

3. If the result of the multiplication produced a value whose magn itude exceeded the capac ity of an accumu lator, the assoc iated overflow indicator will be set. The result itself is indeterminate.

4. The sign of the result is placed over the units position of the

"N"

consecutive characters with the starting address rrTO".

EXAMPLE:

MULMEM

4

CONTENTS OF before

CORE STORAGE after

CORE STORAGE

ADDRESSES

CONTENTS OF before

ACCUMULATOR after

1~

~ ~

1

2

~

1

4 4

5

~

~

+12

+12

43

DIVIDE INTO MEMORY op-code

17525 mnemonic

DIVMEM

The

II

N

II consecutive characters with the starting address liTO" are divided by the contents of accumulator

II

AC". The result is placed into the rrN n consecutive character positions with the starting address "Ton.

NOTE: 1. The contents of accumulator tr

Acrr are left undisturbed.

2. The [email protected]

II

N

II consecutive characters at n-TOII are lost.

3. The integral part of the quotient is taken as the result and the fractional part (the remainder) is discarded.

4.

If the contents of accumulator "Acrr are greater than the

II

N

II consecutive characters with the starting address nTO", the result of the division is plus zero

(+91).

5. Overflow may not be set because of division.

EXAMPLE: variable operands

AC N TO

DIVMEM

4

CONTENTS OF

CORE STORAGE

-

CORE STORAGE

ADDRESSES before after

-

CONTENTS OF

ACCUMULA TOR

113 before after

13

1

4 4

13 13

1 2

5

13

%

- -

+12

+12

44

ACCUMULATOR SHIFT INSTRUCTIONS

The following instructions may be used for the alignment of decimal positions in arithmetic operations.

The imaginary decimal point location must be taken into consideration for (lll arithmetic operations. (See Arithmetic Instructions).

SHIFT ACCUMULATOR LEFT op-code

175¢6 mnemonic

SHFTL variable operands

AC

T

This instruction causes the contents of accumulator rrAC" to be shifted left

"T" character positions.

NOTE: 1. The contents of accumulator nAC" are in essence multipl ied by l¢T.

2. In shifting an accumulator left

I

the resulting contents of the accumulator may not exceed the capacity of the accumulator.

3. The sign of the accumulator is left undisturbed.

4. Overflow may be set.

EXAMPLE:

SHFTL

13

3

CONTENTS OF before

ACCUMULATOR after

13

+321

+321¢¢¢

45

SHIFT ACCUMULATOR RIGHT op-code

175Jt7

mnemonic

SHFTR variable operands

AC T

Th is instruction causes the contents of the accumulator rr

Acn to be sh if ted right

"T" character positions.

NOTE: 1. The contents of accumulator JrAc·r are in essence divided by l%T.

2. If the contents of the accumulator being shifted are less in value than l,0'T, the result of the shift will be plus zero (+¢).

3. The sign of the accumulator is left undisturbed.

EXAMPLE:

SHFTR

1,0' 2

CONTENTS OF before

ACCUMULATOR after

1,0'

+52173

+521

46

SHIFT ACCUMULATOR RIGHT AND ROUND op-code

1751.0' mnemonic

SHFTRR variable operands

AC T

The contents of accumulator

IJ

ACII are sh if ted right uT'r character positions.

A five (5) is added to the last character being shifted to increment the resulting contents of the accumulator by one

(l)

if the last character was a va lue of five or more.

NOTE: 1. The contents of accumulator IIACII are in essence divided by l¢T.

2. If the last character be ing sh if ted is equa I to or greater than 5, a one is added to the units position of the resulting c'ontents of the accumulator.

3. If the contents of the accumulator being shifted are less than 5 x l¢T-1, the result of the shift will be plus zero

(+¢).

4. The sign of the accumulator is left undisturbed.

EXAMPLE:

SHFTRR

3

CONTENTS OF before

ACCUMULATOR after

3

3

+725731

+726

47

EDITING FEATURE

Bus-Pak II has the ability to automatically punctuate numeric data for eventual output on printed reports. Through the use of a control word, any format of punctuation may be obtained.

In editing, certain laws must be followed to insure correct punctuation of data.

Some of these laws are common to both editing instructions and will be defined below.

The laws not common to both editing instructions will be defined in the description of their respective edit instruction.

COMMON LAWS

1. The II Nil field of the edit instruction must indicate the length of the control word being used, not the number of characters being edited.

2. The number of blanks and zeroes contained in a control word must equal the total number of characters to be edited.

3. The II FROMII address field must always address the first character to be edited.

4. The IITOII address field must always address the first character of the control word being used in the output field.

48

CONTROL WORD FORMAT

The control word is made up of certain characters wh ich govern the editing operation.

Follow ing is a I ist of these characters and the ir effect on the editing operation:

Character

~

(blank)

13

(zero)

Effect

Is replaced by its corresponding digit of the

"N"

consecutive characters being edited.

If

its correspond ing dig it is zero (12 -octa

I)

and zero suppress ing is active, the current filler code will replace the blank.

Is replaced by its corresponding digit of the

II

Nil consecutive characters being edited.

If

its corresponding digit is zero (12-octal) and zero suppressing is active, the current filler code will replace the zero. Zero suppressing is then made inactive"

, (comma)

• (decimal point)

Remains in the edited character position where it was orig ina lIy placed. Is replaced by the current filler code only if zero suppressing is active •

Remains in the edited character position where it was orig ina II y placed. Is replaced by the current fi

II er code only if zero suppressing is active.

$

(dollar sign)

*

(asterisk)

Remains in the edited character position where it was originally placed.

Indicates the asterisk protection feature is acHve.

Asterisk

(*) is made the current filler code and it will replace all characters being suppressed. Normally the filler code is blank (20-octal).

49

-.-:~.

(floating dollar sign)

CR (Credit Symbol)

- (m inus sign)

Indicates the floating dollar sign feature is active.

Dollar sign

($)

is made the current filler code and it will replace all characters being suppressed. As each suppressed character is replaced by a dollar sign, the preceding character is made blank (20-octal). Normally the filler code is blank (20-octal).

Remains in the edited character positions where it was originally placed only if the sign of the data being edited is minus. If the sign is plus, the "CRII is replaced by blanks. Has th is effect on Iy if

CR are the right most two characters in the control word.

Remains in the edited character position where it was originally placed only if the sign of the data being edited is minus. If the sign is pi us, the

II _II is replaced by a blank. Has this effect only if the symbol "_" is the right most character of the control word.

EDITING EXAMPLES

DATA

.-

¢¢593¢~

+

¢¢593¢¢

¢132599

¢¢¢¢¢¢¢

4--

%¢¢5278

¢¢¢¢¢¢5

¢¢¢7563

¢¢¢¢325

EDIT CONTROL WORD RESULTS

$

~ ~

,

~ ~

¢ • b

~

$ b b b

- - -

5 9 3 . ¢ ¢

$ b b

,

~~¢ b b -

$

- - -

¢ ¢ b

$

-

~ ~

¢ • b b CR

$

b 1 , 3 2 5 • 9 9 CR

$

- -

~ ~

¢ • b b

$

* b

,

!:~¢ b b -

$

-

-

$ *

-

-

*

* * 5 2

,-

$ * b

,

!:~¢ b b CR

$

* * * * * *

¢ 5 b b

$

7 5 6 3 CR

.l-

-

-

-

-.b b

-

-

,

~¢ b b b -

$

¢ 3 2 5 -

50

EDIT op-code

17416 mnemonic

EDIT variable operands

N FROM TO

This instruction causes the numeric data with the starting address IIFROMII to be moved to and edited by the control word contained in the nNIt consecutive charac:ters with the starting address II TOil •

NOTE:

1. The numeric data at II FROMn are left undisturbed.

2. The control word to be used in the editing operation must first be moved to the liNn consecutive characters at nTon.

3. IINII must specify the length of the control word being used.

MOVE AND EDIT op-code

17417 mnemonic

MVEDIT variable operands

N FROM TO BY

This instruction operates similarly to the nEDIT'r instruction except that the control word need not be previously placed into the trNII consecutive characters with the starting address II TOil. Th is instruction op erates in the following sequence:

1. The II Nil consecutive characters at ItBY" are moved and expanded to thE:!

II N II consecutive characters with the starting address IrTon.

2. Then the numeric data at

II

FROM

II is moved to and edited by the liN I!I' consecutive characters at nTO II •

NOTE:

1. The numeric data at ItFROM

It is left undisturbed.

2. The control word specified by the ftBYlr address must be defined using the IITEXTIt pseudo instruction and must also be in ItANELEX" code.

3. The editing operation is affected by the characters previously defined.

51

ALPHANUMERIC AND NUMERIC COMPARISON INSTRUCTIONS

The following instructions are divided into two distinct types of comparisons.

Alphanumeric, which may be used to compare data internally in core storage and numeric which is used to compare the contents of an accumulator to data in core storage. op-code

17466

17467

17471

1747%

17424

174f07

NOTE:

ALPHANUMERICAL COMPARISONS op-code mnemonic variable operands

N FROM TO GOTO INST

With all the alphanumeric comparison instructions, the rrNIt consecutive characters at the starting address "FROM" are compared alphanumerically to the rrN" consecutive characters with the starting address "TO". The execution of the rrGOTO INspr is dependent on the type of comparison made and its results. The following table indicates the types of comparisons that can be made and the conditions checked for. The ItGOTO

INSTil is executed only if the condition is met. mnemonic

CMPEQU

CMPUEQ

CMPGRT

CMPLES

CMPGEQ

CMPLEQ

"G OTO INSP" executed if

"FROM't equal to "TO"

ItFROM,runequal to rrTorr

"FROM" greater than nTorr

"FROMIt less than

"To,r

"FROM,r greater or equal to ,rTorr

"FROMrr less or equal to rrTorr

1 •

See the collating sequence spec ified in Appendix

I.

52

NUMERICAL COMPARISON op-code mnemonic variable operands

AC N TO GOTO INST

With all the numeric comparison instructions the contents of accumulator

II

ACII are compared numerically to the IINII consecutive characters starting at address IITOII.

The following table defines the types of comparisons that can be made. The table indicates the instruction mnemonic and the condition that is to be met for the IIGOTO INSTil instruction to be executed. o~-code

17472

17473

17475

17474

17477

17476 mnemonic

EQUAL

UNEQUAL

GREATER

LESS

GRTEQU

LESEQU

IIGOTO INSTn executed if

(tAcn equal to 'tTort nAC" unequal to nTO't

"Acn greater than 'tTO't

IIACII less than "TO't

IlAcn greater or equal to ,rTo n

"ACIt less or equal to "Torr

NOTE:

1 •

Core storage is left undisturbed.

2. The sign {zone} of the least significant digit of the nN" consecutive characters at nTO" are taken into consideration.

3. All other zones of the nN n consecutive characters at nTO" are ignored.

4. The contents of accumulator It AC't are left undisturbed.

53

INDEX CONTROL INSTRUCTIONS

Fifteen (15) index registers are available for address modification in the

Bus-Pak II system. Double indexing is also available. Normal indexing is not required to make use of double indexing.

LOAD INDEX WITH YALUE op-code

1745~ mnemonic

LDIDX variabl e operands

IDX

Y

This instruction sets the contents of index register nIDX" to the value "Y".

NOTE:

1.

Core storage is left undisturbed.

2.

To clear an index register

I

nyu would be made equal to zero

(Jt1).

3.

"Y" may be an address or a positive or negative number.

4.

The prev ious contents of index reg ister rr

I Dxn are lost.

ADD Y ALUE TO IN DEX op-code

17451 mnemonic

ADDIDX variable operands

IDX Y

This instruction causes the value ,rv rr to be algebraically added to the contents of index register nIDx,r.

NOTE: 1. Core storage is left undisturbed.

2. The value IrY" may be a positive or negative number

I

or address.

3. The previous contents of index register lI'IDXrt are lost.

54

DEPOSIT INDEX mnemonic op-code

17453

DEPIDX variable operands

IDX TO

This instruction deposits the contents of index register uIDX" in the single storage location liTO".

NOTE: 1. The contents of the index reg ister are left undisturbed.

2. An index register is normally deposited into the "N", IIY", or address fields of instructions. lOAD INDEX WITH DECIMAL YALUE op-code

17452 mnemonic

LDIDEC variable operands

IDX N FROM

This instruction loads index register trlDxrr with the nl}meric value of the "Nil consecutive characters with the starting address rrFROMtt •

NOTE: 1. Core storage is I eft undisturbed.

2. The value of the uN" consecutive character at uFROM" may be positive or negative.

3. The previous contents of index register rrlDxrr are lost.

LOAD DOUBLE INDEX REGISTER op-code

175%2 mnemonic

LDBLlDX variable operands

IDX

The index register number ttlDxrr is loaded into the double index register.

NOTE: 1. Core storage is ledt undisturbed.

2. tllDXtI will be the index register number of the index register to be used whenever double indexing is spec ified.

55

INPUT-OUTPUT INSTRUCTIONS

The following pages contain the input-output instructions to input data to, or output data from, the Bus -Pak

II operat ing system.

TELEPRINTER INPUT -OUTPUT INSTRUCTIONS

The foUowing instructions perm it input from or output to the on -I ine teleprinter with com pI ete forms control.

TYPE A LINE op-code

17431 mnemonic

TYPE variable operands

N FROM

The

II

N

II consecutive characters with the starting address IIFROM" are typed on the on -line teleprinter.

NOTE:

1. Core storage is I eft undisturbed.

2. The character information to be typed must always be in BCD code one character per storage location.

3. Indexing, double indexing, and/or indirect addressing may be used with the address rrFROMrr.

56

TYPE TEXT INFORMATION op-code

17434

NOTE: mnemonic

TYPTXT variable operands

FROM

The textual information with the starting address

II

FROM" is typed on the on -I ine teleprinter.

1. Core storage is left undisturbed.

2. The tex tu al information must be defined using the

II

TEXT" pseudo instructions.

3. The "TELETYPE" instructions must precede the definition of the "TEXTH information. (See also rrTEXTIr instruction).

4. Indexing, double indexing, and/or indirect addressing may be used with the address rrFROMrr •

TYPE TABULATION op-code

17433 mnemonic

TAB variable operands

This instruction causes the on -I ine teleprinter to be spaced to the next tab location.

NOTE:

1. Tabs are assumed 1,0 character positions apart.

2. The number of spaces spaced will be the remaining number of spaces needed to position the on -I ine teleprinter at the next tab location.

57

TYPE CARR lAG E RETURN op-code mnemonic

17432 TCR variable operands

Th is instruct ion causes a

I ine feed and carriage return to be typed on the on

-I ine teleprinter.

NOTE:

1. Resets the tabulation control to the first character position on the on -I ine teleprinter.

TYPE-IN INFORMATION op-code

175¢4 mnemonic

TYPEIN variable operands

N TO

This instruction reads in liNn consecutive characters being typed on the on ·-line teleprinter and places these characters from I eft to right at address II TOil •

NOTE: 1. All characters typed wi II be stored one character per storage location, in BCD code.

2. All in itial carriage returns typed wi

II be ignored and do not occupy core storage locations.

3. The IIFIGSIt and nLTRSIt' keys may be used whenever necessary and do not occupy core storage locations.

4. Typing is terminated either when liN" characters have been typed or when a carriage return is typed.

5. Carriage return does not occupy a core storage location.

6. The IIBELL" key is used for tabulations. Tabs are assumed set 'I¢ character positions apart. The actual spaces spaced will be the remain ing number of spaces to the next tab locations.

7. The IIBLANKIt' key is used as a n'backspace n key. When depressed, the character previously typed will be ignored and the next character typed wi II replace it. If no character is typed, the character backspaced will remain in the area. a.

Upon -completion of the rJTYPEINIl instruction, a count of the number of characters typed in may be found ,in index reg ister #15.

9. The prev ious contents of index reg ister # 15 are lost.

10"

Indexing, double indexing, and/or indirect addressing may be used with the address It'TOlt.

59

INQUIRY op-code

1753% mnemonic

INQUIRY variable operands

GOTO INST

Bus -Pak II has avai lable an inquiry feature wh ich provides a direct and immediate means of communication between the operator and the users program.

The inquiry feature is especially valuable when used with the Micro-Disk system.

It can be used to retrieve data stored on a Micro-Disk record. A personnel record or inventory stock -status record needed by management can be requested by the operator and made available to management in a short time.

Inquiries though, may only be made if the IrlNQUIRy tr instruction is executed by the operating program and the carriage return key on the on -I ine teleprinter was depressed, which sets the inquiry indicator in Bus-Pak

II.

Every program written reaches a point in execution when all the data currently in the machine has been processed and the program is ready to accept more data. At this point the

U

INQUIRYIt instruction is executed. If the carriage return key was depressed, the IIGOTO INSTil will be executed. Otherwise the program continues in sequence.

60

PUNCHED CARD INPUT -OUTPUT INSTRUCTIONS

The following instructions permit input and output from punched card equipment.

READ A CARD op-code mnemonic

17425 RDCRD variable operands

TO GOTO INST

The 80 columns of information punched on the card in the card reader hopper will be read and stored at the 80 consecutive locations with the starting address liTO" •

After this information has been stored the reading of the next card in the card reader hopper is in it ia lized and control is returned to the users program. Th is is done so that the users program can process the information on the card just read while the next card is being read. The overlapping of these two functions saves a considerable amount of time in that the user need not wait the entire three (3) milliseconds necessary to read a card.

If the End-of-File button on the card reader has been pressed after the last card was read, the instruction "GOTO INSTlr will be executed. Otherwise the program continues in sequence.

NOTE: 1. As there are 80 columns on a punched card, 80 columns of information will always be transferred to the 80 consecutive locations, from left to right at cddress rrTOlr.

2. See also HCard Reader Operating Features ll

3. The character information stored will be in BCD code, one character per storage location.

4. If, when processing card fi I es, it is necessary to stop the operation of the program in order to make corrections to erroneously punched cards, normally the card to be corrected will be the second card from the top in the card reader stacker. When the correction is made, that card and the last card in the card reader stacker must be placed in the card reader hopper, accumulator switch one

(l)

must be set to the up condition and then the continue key depressed.

5. Indexing, double -indexing, and indirect addressing may be used with the address IrTO

If •

61

PUNCH A CARD op-code

17426 mnemonic

PUNCRD

The 80 consecutive characters with the starting address nFROMtr are punched on the next blank card in the card punch hopper. Control is immeduately returned to the users program so that processing can continue. The accumulation of the next card image may be started immediately in the same output area.

NOTE: variable operands

FROM

1. Core storage is I eft undisturbed.

2. Bus-Pak II will always punch 80 consecutive characters.

3. The character information to be punched must always be in BCD code, one character per storage location.

4. Indexing, double indexing, and/or indirect addressing may be used with the address

~tFROMrr

5. See a Iso ,rCard Punch Operating Features rr

6. If a card feed check, card jam, or empty hopper occurs, the system wi II loop until it has be'en corrected.

62

HIGH SPEED PRINTER OUT-PUT INSTRUCTIONS

The following instruction perm its data located at any location in core storage to be printed on the high speed printer and also permits complete forms control (spacing) of the printed data.

PRINT A LINE op-code

17427 mnemonic

PRNLIN variable operands

FROM

The 120 consecutive characters with the starting address "FROM" will be printed.

NOTE: 1. Core storage is left undisturbed.

2. Bus-Pak II will always print 120 consecutive characters.

3. The character information to be printed must always be in BCD code, one character per storage location.

4. Indexing, double indexing, and/or indirect addressing may be used with the address rrFROMrr.

5. See also rrHigh Speed Printer Operating Features".

63

2

5

6

3

4

7

SPACE PRINTER op-code

174313

mnemonic

SPACE variable operands

CHAR R?

Th is instruction causes the high speed printer to space the paper as spec ified by "CHAR R?

II

(when "?

II is one of the following characters):

E

F

G

H

CHAR

A

B

C

D

NOTE:

SPACING

Doubl e space

Triple space

Four spaces

Five spaces

Six spaces

Seven spaces

Eight spaces

Nine spaces

Ten spaces

Skip to Channell

Skip to Channel 2

Skip to Channel 3

Skip to Channel 4

Skip to Channel 5

Skip to Channel 6

Skip to Channel 7

STANDARD TAPE

2 lines

3 lines

4 lines

5 lines

6 lines

7 lines

8 lines

9 lines

10 lines

2 lines

3 lines

6 lines

11 lines

22 lines

33 lines

Top of form

TIMING

2 x 16 MS

3 x 16 MS

4 x 16 MS

5 x 16 MS

6 x 16 MS

7 x 16 MS

8 x 16 MS

9 x 16 MS lOx 16MS

2 x 16 MS

3 x 16 MS

6 x 16 MS

11 x 16 MS

22 x 16 MS

33x 16MS

520 MS for 66 lines

1 • Spac ing is always immed iate •

2. If spacing to a channel is specified, the channel need not be specified by "CHAR R?n, but may be represented by the channel number only.

3. The tim ings for channel skipping refer to the use of a standard carriage control tape.

64

MAGNETIC TAPE

ORGANIZATION OF DATA

Information is recorded on magnetic tape character by character in the binarycoded-decimal (BCD) mode. Even parity is maintained for all characters, that is, if the character being written contains an odd number of bits, the parity bit is recorded to make the number of bits even. When the character is read and transferred to core storage, the parity bit is not transferred.

TAPE RECORDS, INTER-RECORD GAPS

A tape record is a sequence of characters physically separated from other sequences of characters by an inter-record gap. This inter-record gap is approximately

3/4 inches of erased tape. During reading, the sequence of characters starting wiith the first character sensed after an inter-record gap to the next inter-record gap is read and placed into core storage where spec ified.

~

ORO ,R t

, I

G

' - -

I

Record R

G

1

-E-

Tape

-;a..

Record

I

Record R

G

I

Record

R

G

I

I

Record R

G

1 1

~

Tape

~

Record

Tape

~ '~

Record

1

~-

Tape

--.;>

Record

Rec

65

BLOCKING

Data records and tape records are quite different. Many data records may be contained within a tape record. This is done to conserve space and increase storage capacity on magnetic tape reels.

Block ing is the process of writing two or more data records as a sing I e tape record.

.

I

R

G

- -

Data

Record

Data

1 tape record

. Data

Data

Record Record Record

Data

Record

I

R

G

:7

{

TAPE MARK (END OF FILE MARK)

A tape mark is written on tape to indicate the logical end of a file of information.

The tape mark is a single character, but is considered a tape record because it is preceded and followed by an inter-record gap. It is also considered a data record when read by the program.

TAPE FILE

A tape file is a series of tape records related to one another and followed by a tape mark.

END-OF-FILE

A single tape-reel may contain any number of files of information. A tape mark would then separate each file of information from another fi Ie of information.

When reading, the program is notified of an End-of-Filecondition so that it may choose a pre-determ ined sequence of instructions to process such a condition.

66

DENSITY

The density of a magnetic tape is a measure of the number of consecutive characters which may be written on one inch of tape. Two densities are available, low density (200 characters to the inch) and high density (556 characters to the inch).

Instructions are available to set the desired density. If no density is specified, high density (556 characters to the inch) is assumed.

ALTERNATE TAPES

When alternate tapes are specified, encountering End Point causes Bus-Pak

II

to automatically reference the alternate tape spec ified. When End Point on that tape is encountered, reference to the original tape will be automatic.

67

OPEN MAGNETIC TAPE UNIT op-code

17435

mnemonic

OPEN variable operands

U B L

This instruction causes the magnetic tape controls for tape unit II UII to be initialized to read or write records wh ich contain IIBII number of data records

If

Lit characters in length as one tape record.

NOTE: 1. ilL" must be a multiple of three

(3).

2. liB" must be at least the value of one

(l).

3. Th is instruction does not rew ind the tape.

4. This instruction initializes the tape density to IIHigh Densityll

(556

BPI).

5. On the initial OPENing of tape unit IIUII, an internal buffer is assigned. It is therefore necessary to originally initialize tape unit IIU" to the largest tape record that may be read or written on that unit.

6. Th is instruction may again be executed to indicate a different blocking factor and record length next to be read or written.

7.

The internal buffers assigned begin at location

77778

and project down into users memory. The size of each buffer area may be calculated by the following formula:

B x L

= size of buffer assigned

3

8. The last location available to the user may be calculated by using the following formula:

(4095

10

(the sum of all the magnetic

tap~\

1 = the last available users and micro-disk buffers assigned )) storage location

10

68

SET HIGH DENSITY

op-code

17446 mnemonic

HIDEN

var iabl e operands

U

Th is instruction wi II cause the input -output controls for magnetic tape un it

"un

to be set to read or write in high density (556 char/in).

NOTE:

1. If no density is specified, high density (556 char/in) is assumed.

SET LOW DENSITY

op-code

17447 mnemonic

LODEN

variabl e operands

U

Th is instruction will cause the input -output controls for magnetic tape un it

"un

to be set to read or write in low density (2¢¢ char/in).

NOTE:

1. If no density is specified, high density (556 char/in) is assumed.

ASSIGN ALTERNATE TAPE

op-code

17526 mnemonic

ALTTAPE

variable operands

U AlT

This instruction will assign tape unit

rrALTrr

as an alternate tape unit for

NOTE:

1. The alternate tape feature may only be eliminated by the re-execution of a

OPEN

or

BEG IN

instruction.

69

REWIND TAPE REEL

op-code

1744% mnemonic

REWIND

variabl e operands

U

point.

Th is instruction causes the tape reel on tape un it

nu"

to rewind to load

NOTE:

1. Rewinding of tape reels must be done either before any or after

a

II

data records and end of fi I es have been processed.

Records may be lost or extra records read if a REW

~N

D operation is performed other ,than as stated above.

70

READ MAGNETIC TAPE op-code

17436 mnemonic

RDTAPE variabl e operands

U TO GOTO INST

Th is instruction causes one data record from tape un it

"u" to be placed in the storage locations with the starting address nTon. If an End-of-File or end-point on tape is encountered, the "GOTO INST"-- instruction will be executed. Otherwise, the program continues in sequence.

NOTE: 1.

If end -po int is encountered during a read operation, and an a Iternate tape un it was spec ified, Bus -Pak II wi

II automatica lIy reference the alternate tape unit whenever unit nun is referenced.

2. When end-point is encountered on the alternate tape, Bus-Pak II will automatically re-reference tape unit rrUlt.

3. The instruction JrGOTO INSTrr will be executed when end-point is encountered even though an alternate tape was spec ified so that header labels may be checked on the alternate tape unit.

4. An internal buffer is assigned to tape unit rrun and each data record read will be extracted from th is buffer area. Only when the buffer is empty wi II tape be moved to read the next tape record into the buffer area.

5. Indexing, double indexing and indirect addressing may be use~d with the "'laIr address.

6. The detection of octal 17

1 s on reading the tape indicates an

End-of-File. The tape will be positioned after the "EOFII.

71

WRITE MAGNETIC TAPE o.p-code

17437 mnemonic

WRTAPE variable operands

U FROM GOTO INST

This instruction will cause one data record to be taken from core storage at the starting address "FROMIt and place it in the internol buffer for tape unit '''U''.

When the buffer is ful', a tape record wi II be written. If end point is encountered during the writing of a tape record, the rrGOTO INSP', instruction will be executed.

Otherwise, the program continues in sequence.

NOTE:

1. If end -point is encountered during a write operation and an a I ternate ta pe un it was spec i fi ed, Bus -Pak II w ill automat ica II y reference the alternate tape whenever unit rr-u" is referenced.

2. When end-point is encountered on the alternate tape, Bus-Pak " will automatically re-reference tape unit ItU".

3. The instruction uGOTO INST,r will be executed when end-point is encountered even though an alternate tape was specified so that heading records may be written on the alternate tape.

4. An internal buffer is assigned to tape unit ItU" and each data record written will be accumulated in this buffer area. When the buffer is fu", one tape record is written onto tape.

5. Indexing, double indexing, and indirect addressing may be used with the ItFROM,r address.

72

WRITE AND COMPARE MAGNETIC TAPE op-code

17533 mnemonic

WRTCMP variable operands

U FROM GOTO INST

This instruction will cause one data record to be taken from core storage at the starting address ltFROMII and place it <io the internal buffer for tape unit·HU H

When the buffer is full, a tape record will be written, backspaced, and then compared to insure that the tape record was written correctly. If an end-point is encountered during the writing of a tape record, the instruction IIGOTO INSTil will be executed. Otherwise, (however the record has been written successfully) the program continues in sequence.

NOTE: 1. If end-point is encountered during a write operation and an alternate tape unit was specified, Bus-Pak

II will automatically reference the alternate tape unit whenever unit nUll is referenced.

2. When end-point is encountered on an alternate tape, Bus-Pak

II will automatically re-reference tape unit

"UII.

3. The instruction rrGOTO INspr will be executed when endpoint is encountered even though an alternate tape was specified so that heading records may be written on the alternate tape.

4. An internal buffer is assigned to tape un it

HUff and each data record written will be accumulated in th is buffer area. When the buffer is ful', one tape record is written. Th is tape record wi II then be backspaced and read for comparison to insure correct writing of data on ta pe •

5. Indexing, double indexing, and indirect addressing may be used with the ItFROMlt address.

73

SPACE RECORD op-code

17444 mnemonic

SPCREC variable operands

U T

Th is instruction spaces

HT" data records on tape un it

II

U" •

NOTE:

1.

Magnetic tape may not move if the data records be ing spaced are contained in the internal buffer at the time the instruction is executed.

2.

An end-of-file (tape mark) is counted as one data record.

3~

Jape records in the new file must be in the current format if spacing over an End-of -File mark. If not, the data records after the End-of-File will be spaced incorrectly.

4. If no tape records are contained after the End-of -File mark, spac ing continues indefin itel y.

EXAMPLE:

SPCREC U

3

R

G

Data

Record

Data Data I

Record

Record R

~ data record to be read

G

before instruction execution.

Data

Data Data

I

Record Record Record R

G

after instruction execution.

74

SPACE FILE op-code

17445 mnemonic

SPCFILE variable operands

U

This instruction will space over one file of information on tape unit !lU".

NOTE:

1.

Bus-Pak

II will position itself at the inter-record gap immediately following the first End-of-File encountered.

2. Spacing a file which will encounter the tape end-point is not recommended as the next operation to be performed wi II cause the tape to run off the reel or not executed.

75

BACKSPACE RECORD op-code

17442 mnemonic

BKSREC variable operands

U T

Th is instruction backspaces UT" data records on tape un it

II

un.

NOTE:

1.

Magnetic tape may not move if the data records backspaced are contained in the internal buffer at the time the instruction is executed.

2.

An End -of -Fil e (tape mark) is counted as one data record.

3.

If an End-of-File is encountered during a backspace operation,

Bus-Pak

II will position itself at the next available data record location of the previous tape-record

if

that tape record was not completely full when written.

4. If a backspacing operation is attempted which will encounter load point, the backspac ing operation will not position itself correctly.

EXAMPLE:

BKSREC

u

3

I

R

G

Data

Record

Data

Record

~data

Data

Record record to be

I Data Data Data

I

R

Record Record Record R

G

G

! data record to be read before read after 'instruction execution instruction execution

76

BACKSPACE FILE op-code

17443 mnemonic

BKSFILE variable operands

U

Th is instruction wi

II backspace one fil e of information on tape un it

II

U" •

NOTE: 1. When an End-of-File (tape mark) is encountered, Bus-Pak

II will position itself at the first data record location in the tape record preceding the End-of-File that has not been used.

2. If load point is encountered during the backspace file operation, Bus -Pak

II wi

II be positioned at the first data record on the tape.

TEST END POINT op-code

17527 mnemonic

ENDPOINT variable oeerands

U GOTO INST

On reading magnetic tape, the rrGOTO INspr instruction associated with the IJRDT APEIl instruction will be executed if either an End-of-File or end-point is encountered on tape un it rrUIt •

This instruction when executed, tests to see if the IIGOTO INSTil instruction was executed because of an end-point on tape unit "U". If it was, the ItGOTO INSTil above will be executed. Otherwise, the program continues in sequence.

77

WRITE END-OF-FILE op-code

17441 mnemonic

WREOF variable operands

U

This instruction accompl ishes two things - it writes the data r3cords (if any) still left in the internal buffer on tape unit

nu"

and then writes an End-of-File

(tape mark).

NOTE: 1. Th is instruction must be executed after a II data records are written or records may be lost.

2.

If a record is to be written onto tape, the "WRTC MP" instruction is used.

3.

If the internal buffer is not full when nWREOF" is executed, the remaining locations are filled with octal 17

1 s.

4. The detection of octal 17

1 s on reading the tape indicates an

End -of -Fi Ie. The tape will be positioned after the" EOF" •

78

MICRO-DISK

By the use of DECtape, Bus-Pak

II

is able to simulate a random access disk file. This means that files of information contained on Micro-Disk may be processed randomly by input information as it is received. Pre-sorting of transactions affecting the Micro-Disk file has been eliminated.

79

INITIALIZE MICRO-DISK op-code

17515 mnemonic

OPENDISK variable operands

U L

This instruction causes the input-output controls for Micro-Disk unit

"U" to be initialized to acceptltLU consecutive characters as one record of information.

One DECtape reel has the capac ity of 576 blocks, each of wh ich contains

768 alphanumeric characters. Bus-Pak II automatically packs as many records

(II

L" characters long) as poss ibl e into one block. Each record is then ass igned an address relative to its sequential location on the Micro-Disk. The first record on Micro-Disk is always assigned address 1.

When a record is requested, Bus-Pak II automatically calculates the block address in wh ich the record may be found and a Iso wh ich record it is in that block.

As there may be more than one record per block on Micro-Disk, Micro-Disk may not always be moved when a IfSEEKlt rrRDDISK n

, or rrWRDISK" instruction is executed because the block previously requested which is stored in core storage, may contain the record desired.

NOTE:

1.

II

L" must be defined as a multiple of three (3).

2. Th is instruction must be executed before any processing may be done with Micro-Disk unit nu".

3. The mark t rack on the DECtape reel being used must be set for 256-3 character words.

4. The following formula determ ines the maximum number of records that may be stored on one Micro-Disk.

(

76S) X 576

=: number of records per micro-disk reel.

L

I

5. Records may only be referenced by the addresses assigned to them.

6. This instruction must never be executed a second time unless the

II

BEG IN

Ir instruction a Iso is executed.

80

SEEK A RECORD op-code

17516 mnemonic

SEEK

NOTE: variable operands

U

This instruction will cause Bus-Pak II to search Micro-Disk unit "U" for the record whose address was previously loaded into accumulator 15. Control is then returned to the users program so that the processing of data already available to the program may be overlapped with the Micro-Disk search operation.

If the record being searched for is in the block of information already read into core storage, Micro-Disk will not move.

1. The address of the record desired must have previously been loaded into accumulator 15.

2. No other input -output dev ice can be runn ing, during a search operation.

3.. If an attempt is made to input or output data the program will hang up until the search operation is over.

81

READ A RECORD op-code

17517 mnemonic

RDDISK variable operands

U TO

This instruction will read a record, whose address is specified in accumulator

15, from Micro-Disk unit IJU n and place it into the

!fLU

(defined in the "OPENDISK" instruction for Micro-Disk un it

'tU")

consecutive characters with the starting address

NOTE: 1. The address of the record desired must have previously been loaded into accumu lator 15.

2. No processing can be done during a read Micro-Disk operation.

3. If the record desired is contained in the block previously read, Micro-Disk will not be moved.

4. If an attempt is made to input or output data the program will hang up until the search operation is over •

. 82

WRITE A RECORD op-code

1752% mnemonic

WRDISK variable operands

U FROM

Th is instruction will write the II LII (defined in the II OPEND ISK II instruction for Micro-Disk unit IIU") consecutive characters with the starting address IIFROMII as a record, whose address is specified in accumulator 15, onto Micro-Disk unit

HUll •

NOTE: 1. The address of the record being written must have previously been loaded into accumulator 15.

2. No processing can be done during a write Micro-Disk operation.

3. If the record be ing written is contained in the block previous'y read or written, Micro-Disk will not be moved.

4. The block of information contained in core storage wi

II

not be written onto Micro-Disk until either a n'SEEKII, IIRDDISKII,

IIWRDISK't, or ItCLOSE DISK" instruction is executed in which the record being read or written is not contained in the block in core storage.

5. If an attempt is made to input or output data the program will hang up until the search operation is over.

83

CLOSE MICRO-DISK op-code

17521 mnemonic

CLOSEDISK variable operands

U

This instruction causes the input -output controls for Micro-Disk un it II UII to check the block of information contained in core storage pertaining to Micro-

Disk unit IIUII to see

if

a IrWRDISKIt operation was performed. If so, that block of information is written on Micro-Disk. If not, it is disregarded.

NOTE: 1. This instruction need only be executed

if

a writing operation was performed in a Micro-Disk unit.

2. No processing can be done during a rrCLOSEDISKII operation.

3. The buffer area assignment for Micro -Disk unit "U II is not reset.

4. If an attempt is made to input or output data the program wi

II hang up until the search operation is over.

84

STORAGE AND RETRIEVAL

The following instructions were designed to extend the available storage of the computer. By making use of DECtape, data and complete subroutines may be stored on DECtape and retrieved when necessary for their execution.

In this way, more than one subroutine may occupy the same storage location.

Each of the subroutines occupying the same locations would first be written on

DECtape with the IrDUMp rr instruction; then, as each subroutine is needed for execution, it would be reloaded into those locations by the "RETRIEVEIf instruction.

This will help preserve core storage whenever necessary.

DUMP DATA op-code

17532 mnemonic

DUMP variabl e operands

FROM TO

This instruction writes out on DECtape Unit

8'

the storage locations between address "FROMn and address rrTorr, inclusive.

NOTE: 1. The starting block number on which to write the data must have been previously loaded into index register 15.

2. No indexing, double indexing, or indirect addressing may be used with either the ItFROMrr or rrTorr addresses.

3. Bus-Pak II will store 256 locations on one block on tape. Successive blocks wi II be used if necessary to store a II the data.

4. This instruction does not require any of the Micro -Disk instructions to be executed.

85

RETRIEVE DATA

?p-code

17531

mnemonic

RETRIEVE variable operands

FROM TO

This instruction reads from DECtape Unit 8 and places the data read into the storage locations between address rrFROMrr and address uTOrl

I

inclusive.

!NOTE:

1.

The starting block number on wh ich the data is contained must have been previously loaded into index register

15.

2

~

No indexing

I

double indexing

I

or indirect address ing may be used on either the ,rFROMIT or IrTo·r addresses.

3~

This instruction does not require any of the Micro-Disk instructions to be executed.

LOAD PROGRAM mnemonic

LDPROG variable operands

Th is instruction causes a transfer of control to the R 1M loader wh ich wi" load the program tape in the paper tape reader.

Th is may be used to control the loading of subroutines for storing them on

DECtape.

86

CHECKPOINT AND RESTART

The Checkpoint and Restart feature perm its a job to be restarted at an intermed iate point after an interruption in processing.

The use of th is feature requires that at lease one D ECtape and control be part of the input output equipment available on the operating system.

The use of th is feature would depend greatly on the complexity and runn ing time of the particular job. It would reduce the time and data lost due to machine failure, power failure, and operator error. It would also give the ability to stop the running of a program, take it off the machine and resume it later.

87

WRITE CHECKPOINT RECORD op-code

17534 mnemonic

CHECKPOINT variable operands

This instruction causes a checkpoint record to be written onto DECtape unit 8.

The contents of the checkpoint record would be as follows:

I. The users program and its status at the time the checkpoint was written.

2. The status of all program switches, program counters, double index register, and index registers.

3. The contents of all accumulators and the status of their respective overflow indi cators.

4. The input/output controls for all magnetic tape and DECtape files being used.

5. The transfer location to restart the program.

NOTE:

I. Each time a checkpoint record is written, "CKP" will be typed on the on-I ine teleprinter.

If punched cards are either being read or punched, the system will stop to permit the operator to indicate on the card decks the position of the last checkpoint. If no cards are being processed, the system wi II not stop.

2. The transfer location for restarting the program stored on the checkpoint record wi II be ·the location of the instruction immediately following the "CHECKPOI NT" instruction being executed.

3. The checkpoint record written on unit 8 will occupy blocks I ·18 of the tape.

88

RESTART PROGRAM FROM CHECKPOINT op-code mnemonic variable o~erands

17535 RESTART

This instruction will cause the checkpoint record written on DECtape unit 8 to be read and the following operations performed:

1. Restore the status of the users program to what it was at the time the checkpoint record was written.

2. Restore all program switches, program counters, double index register, and index reg isters •

3. Restore all accumulators and their respective overflow indicators.

4. Restore the input/output controls for all magnetic and DECtape files.

5. Re -position all tape files (magnetic and DECtape) on the basis of record counts and other identifying information contained in the checkpoint record.

6. Transfer control to the appropriate instruction to resume the program.

NOTE: 1. If punched cards were being read at the time the checkpoint record was written, the cards from the time of the checkpoint must be inserted into the card reader. If the wrong card deck is placed in the card reader the restart may be in error.

2. If an error in restart occurs, the program may aga in be restarted providing another checkpoint was not written before the error was detected.

89

SUBROUTINE CONTROL

Subroutines are used to code a spec ial sequence of instructions that would normally be repeated many times in different locations in a program. The use of subroutines reduces the over-all coding effort involved in coding a solution to a given problem and also conserves core storage.

There are two methods of defin ing a subroutine in the Bus-Pak II system.

METHOD NO 1

The following instructions may be used to transfer control to a given subroutine and, upon completion of that subroutine, return to the next storage location following the transfer.

TRANSFER AND SAVE RETURN ADDRESS op-code

1%%%%% mnemonic

GOTOSV INST variable operands

Th is instruction transfers the control of the program to the subroutine at location

II

INSTil • It requires that the subroutine be defined in the foUowing manner:

INST,

(lNST +1)

First instruction of subroutine

The address of the location following the rrGOTosvn instruction is saved in location JlINSTu and control is transferred to location trlNST +1

If •

90

RETURN FROM SUBROUTINE op-code

62%%%13

mnemonic

RETFROM INST variable operands

Th is instruction is used to return control of the program to the instruction following the IIGOTosyn instruction.

NOTE:

1. uINSTII' must be the same subroutine name used in the IIGOTOSY

INSTIt used to enter the subroutine.

91

METHOD NO 2

The following instructions provide a means of transferring to a subroutine with optional return locations upon completion of the execution of the subroutine.

SUBROUTINE

~)p-code mnemonic

INST variable operands

By placing the name of the subroutine being called in the operation portion of the instruction, a transfer will be made to that subroutine, enabling optional return locations.

II\.JOTE:

1

~

No indexing, double indexing, or indirect addressing may be used in the address n-'NSTrr.

2

II nGOTOlt instructions normally follow the name of the subroutine being transferred to. These rrGOTorr instructions are placed in such a sequence so as to transfer control of the program to other routines

I

depending on the return location of the subroutine.

EXAMPLE:

TSTCHR

GOTO LAB

GOTO LAB 1

GOTO LAB 2

GOTO LAB 3

/transfer to routine to test character

/return here if

It

AIr

(normal return)

/return here if

ItB"

/return here if

nc,,'

/return here if other etc

92

EXIT FROM SUBROUTINE op-code mnemonic variable operands

The table below lists the instruction mnemon ics used to exit from the subroutine and the location "to wh ich control is returned. oE-code

637511

637512

637513

637514 mnemonic

EXIT

EXIT 1

EXIT 2

EXIT 3 return location norma I return norma I return

+ 1 norma I return

+2 norma I return

+3

93

SECTION IV

PROGRAM PREPARATION

A Bus-Pak II program is prepared in FlO-DEC code on 8 channel punched paper tape, using either a FlO-DEC flexowriter or the tape editor CANUTE on the computer. The mechanics of using a flexowriter or CANUTE for paper tape preparation are described elsewhere and only the formats which apply to Bus-Pak II will be described here.

In general, a program should begin with about two feet of tape feed, to allow easy placement in the reader. Deletes and tape feed may be used freely throughout the tape, and will always be ignored.

The program tape itself consists of three sections, described below.

TITLE

All text between the first character other than a carriage return, and the second carriage return is taken as the title of the tape. Each tape must have a title. This title will be printed on the printer or teleprinter at assembly time, as well as punched in readable format on the front of the object (binary) tape.

PROGRAM BODY

The text consisting of the program itself follows the title. Redundant carriage returns and tabs are ignored, and may be used for formatting.

A suggested format is to place address tags (labels) at the left margin, indent the instruction mnemonic to the first tab stop, and indent each instruction field and/or comments further to subsequent tab stops.

94

The character "stop codell may be used as a page separator (both with the tope editor

I

and flexowriter)

I

although pages have no mean ing to the assembler. New pages should begin with a carriage return.

Deleted characters, tape feed, and stop codes are always ignored by the assembler during processing.

Except in text strings, the characters upper case and lower case are filtered out of the input string, and are used only to inform the assembler of the case of the characters on input, therefore except for spec ia

I characters or comments

I

a

II typing is normal

I y done in lower case.

START BLOCK

The last section of a program is the start block, consisting of the pseudo-instruction start, or eause, followed by either the starting address of the program

I

or by a carriage return. In either case, a carriage return must appear on the tape after the start block.

The pseudo-instruction start indicates the end of the symbolic program, and causes an instruction to be punched which will be executed when the loading of the object program is completed. If start is followed by an address, then a i!!P to that address will be assembled, causing execution of the program to begin when the program is loaded.

If start is not followed by an address, then an hit instruction will be assembled, halting the loader after the object program is loaded.

Constants will be stored starting at the current address location at the time start was encountered on the last source tape.

Pause performs the same function as start, but will always cause the loader to halt before executing the instruction "indicated by pauseII'.

95

SECTION V

SYMBOLIC LANGUAGE

PURPOSE

The use of symbolic languages has become a standard practice in the programm ing of computers. A symbolic language permits a programmer to code in a more convenient language than the language that the machine understands. A processor (Assembly Program) translates the programmer's source language to the machine language. The advantages are widely recognized

~

Instruction codes with high mnemonic value are used instead of numeric codes. Instructions or data may be referred to by symbol ic name {label}, without knowing or even caring about the actual machine address. Decimal or alphabetic data may be expressed in a more convenient form than in a binary number system.

Programs may be altered without extensive changes in the source language, and debugging is considerably simplified.

DESCRIPTION OF THE ASSEMBLER SYSTEM

The Assembly program accepts a symbolic source language program on punched paper tape, translates it and produces a binary tape. (See also Assembler writeups for both the PDP-4 or PDP-7 computers)

~

The Assembler performs this function in one pass. That is, the source language lrape is processed only once to produce the object language tape.

The object language tape consists of the binary version of the source program c:md a binary loader.

96

NOTATIONS

Spec ia I Characters

Character

(tab)

(carriage return)

+

, b (space)

(space)

(m inus)

(comma)

Syllables

Meaning field del im iter field delimiter punctuation character punctuation character punctuation character label delimiter

Number

Any sequence of digits delimited by field delimiters or punctuation characters.

Exam~les

< i,'

123-\

>

<

-~

567 )

>

<) 56+

>

Labels

Any sequence of alphanumeric characters delimited by a comma and field del im iters or punctuation characters. The first character must be an alphabetic character, the label may be any length, but all characters after six are ignored.

Examples

<.J

A, --\

>

<

-4

Harry,

J

>

<

)

AB

12,-,

>

97

Expressions

An expression is a sequence of labels and/or numbers connected by punctuation characters and delimited by field delimiters.

Examples

<-\

,. >

<-f

A

+

3-":

>

<

J

AB LE

+

21

~ >

98

PSEUDO INSTRU CTIONS variables

A label used in the program, with one of its characters overbarred (the oV~3rbar needs to be indicated only once in any of its appearances) and not explicitly defined elsewhere, is a variable. Variables will be assigned a register location following the occurrence of the pseudo-instructio n "variable". In addition, should any variable remain undefined at the termination of the assembly, these will be automatically defined following the program.

Example:

<

~

<-~

WHAT

A123

I-

->~

.

>

> text

TEXT b Z ABC ••••••••••• CZ

The pseudo-instruction "text" indicates the characters between the first occurrence of the character Z and the next occurrence of the character Z is to be converted to character codes and stored three to a word in successive registers. The character Z may be any single character desired. If the text information is to be typed on the on-line teletype by the TYPTXT instruction liTE LETYPE" must precede the

II

TEXT" pseudo inst:ruction.

After the text has been written, AN E LEX must follow.

The uTEXTu pseudo instruction should always be used to define constant information and the program should move and expand this information in the initialization of the program.

99

ASSEMBLER FEATURES

(See

also Assembler Program Writeup)

Current Address Indicator

The character period (.) has the va lue of the current address when standing alone between field delimiters and/or punctuation characters, otherwise it is regarded as an alphabetic character.

Address Assignment

The expression preceding a slash (/) will be taken as a new current address. If no expression precedes the slash, then the slash initiates a comment statement. This may be used to assign consecutive core locations to a given label.

Example:

<

ABLE, ABLE +10/>

This assigns 1% consecutive locations to the label ABLE.

Parameter Ass ignments

A parameter may be defined by use of the equal

(=) sign. The label to the left of the equal sign will be assigned the value of the expression to the right of the equal sign.

If the expression to the right of the equal sign is not terminated by a tab or carriage return, the error message, IFP (Illegal Format in Parameter Assignment) will occur. An undefined label appearing in the expression to the right of the equal sign will cause the error print UPA (Undefined Parameter Assignment).

Example:

AREA, AREA +80/

TAX

=

AREA

+

15

Whenever TAX is referenced, the address

AREA

+

15 will be used.

100

SECTION VI

ASSEMBLING A BUS-PAK II PROGRAM

The following steps are those to follow to assemble a Bus-Pak II Program on the computer. Each statement is fol lowed by the number of the next step to be executed. Normally, the sequence will continue to the next step.

I. LOADING THE ASSEMBLER

1. Obtain the binary tape of the Assembler from the files.

2. Place the binary tape to be loaded into the paper tape reader.

3. Set the address switches on the console to

1777~ and depress the Hstart" switch. The read -in mode loader (see Appendix

I) must be in core at th is time.

4. When the loading of the binary tape is completed remove the tape from the paper tape reader.

5. Replace the Assembler tape into the file.

6. Go to Step II.

II. LOADING A SYMBOL PUNCH DEFINITION TAPE

1. Obtain the Bus-Pak II Symbol Punch definition tape from the files.

2. Place the symbol punch definition tape into the paper tape reader.

3. Set the address switches on the console to 4 and depress the "startlr switch.

4. When the loading of the Symbol Punch definition tape is completed, remove the tape from the paper tape reader.

5. Replace the Bus-Pak II Symbol Punch definition tape in the files.

6.

If other Symbol Punch defin ition tapes are to be loaded, execute Steps 2, 3 and 4 above for each Symbol Punch tape.

7. Go to Step III.

101

III. ASSEMBLING A SYMBOLIC LANGUAGE TAPE

1. Place the Symbolic source language tape of the program to be assembled into the paper tape reader. Make sure paper tape punch is loaded as well as printer if symbois are to be printed.

2. Set the address switches on the console to

2~.

3. At this point the operator may choose to command the assembler by use of the AC switches (see IV) or begin a normal assembly.

3A To begin a normal assembly, depress the nContinue" switch.

3B To give the assembler an AC switch command, set the AC switches desired and depress the "start U switch.

4. When the pseudo-instruction START is encountered at the end of the source language tape, the assembl er w ill stop w ith

-~

(777777) in the AC.

4A If more tapes are to be processed at this time, place each tape in the paper tape reader and depress

It start u

4B To complete the assembly of the program depress the ncontinue lt switch. The assembler will punch the variable definitions, punch the undefined symbol definitions listing these symbols on the online teletype or line printer, punch the starting block, the loader, and the title in readable form.

5. When the assembly is complete, the assembler will stop with

-~

(777777) in the AC.

5A To print symbol definitions, set the AC switches and depress the

"continue" swItch. The AC switches have the following meanings:

AC Switch Meaning

11

15

16

17

Print on I ine printer

Restore permanent Symbol table

Numeric Print

Alphabetic Print

102

5B To assemble another program, saving the present symbol table, put the new tape in the paper tape reader and depress the trst~:lrt" switch and go to 111-4.

6. When the symbol print is complete the assembler will stop with

(~ in the AC.

6A To restore the symbol table and start a new assembly, go to

111-1.

6B To start a new assembly saving the present symbol table, place the new symbol ic language tape into the paper tape reader, depress the "start" switch and go to 111-4.

IV. AC SWITCH CONTROL

Whenever the "start" switch is depressed with 2¢ in the address switches, the

AC switches wi II be exam ined. If bit

¢ is a zero, then the AC switches are ignored.

However, if bit

¢ is a one, the remaining AC switches have the following meanings.

Bit a "One" Meaning

2

3

4

5

Suppress punching

Punch symbols for DDT-4

Take this title

Restore the assembler

Take first address from AC switches 6-17

103

V. ASSEMBLER OUTPUT

The assembler punches the object tape as it reads the symbol ic source language tape. During assembl y, error messages may be typed on -I ine • (See Error Messages)

VI. STOPS DURING ASSEMBLY

The following is a

I ist of all possible stops during Assembly, the cause, and the action which may be taken.

Cause AC

-0

-0

+0

character start or pause encountered assembly complete symbol print request satisfied illegal parity status reg ister offensive interrupt

When a device other than the reader, punch or teletype causes a program interrupt, the Assembler will halt with the status register displayed in the AC.

II

Continue" will clear some standard device flags not including those of the devices used by the Assembler, and proceed.

If th is fails to clear the offending device's flag, the other action must be taken.

When the device is disabled, pressing "continue" wi II perm it Assembly to continue correctly.

VII. ERROR MESSAG ES

A list of the error messages may be found below. VVith the exception of after the error message has been printed. An error message may occur in one of three formats.

104

Format A

The appearance of a diagnostic printed in format

A:

ERROR PREVIOUS VALUE SYMBOL NEW VALUE

Whether the new value was actually incorporated into the symbol table depends upon the particular error.

ERR

Meaning mdt the symbol was redefined with a comma rps rda a permanent symbol was redefined an attempt to redefine a symbol was made. The symbol was not redefined. tua

lit

if

I ifs

ifi

sce

Format

B

The appearance of a format

B diagnostic is:

ERROR OCTAL ADDRESS SYMBOLIC ADDRESS

The general error message is printed in Format

B.

ERR

Meaning

ifp ifc

mdt illegal format in parameter assignment illegal format in a comma assignment the value and address disagree in an address assignment too many undefined symbols in an address assignment i Ilega

I term inator in a pundef list illegal format in a pundef list illegal format in a start (or

~ause) illegal format in an input pseudo-instruction storage ca pac ity exceeded

105

upa ich

Ius ubr

Format C

The appearance of a format C diagnostic is:

ERROR OCTAL ADDRESS SYMBO lIC ADDRESS CAUSE

Format C is an expanded version of Format B. CAUSE is additional information to help the programmer ascertain the cause of the error. For example, in the case of an error caused by an undefined symbol, the symbol wi II be printed.

ERR CAUSE MEANING ilp character illegal parity (place correct character in

ACS and ·continue·). ust uaa symbol symbol undefined symbol in a start or pause undefined symbol in an absolute address assignment symbol character symbol symbol undefined symbol in a parameter assignment illegal character undefined symbol in a pundef list undefined symbol in a bar Eseudo-instruction

Undefined Symbol Assignments

At the end of assembly, before the loader is punched, any undefined symbols will be automatically defined. Each undefined symbol which was used in a storage word w ill be defined as the address of a reg ister at the end of the program, and the defin ition printed.

If the symbol was not used in a storage word, then the symbol wi II be printed but not defined.

106

VIII. LOADING THE OBJECT PROGRAM

1. Obtain the object tape of the Bus-Pak II program from the file.

2. Place the object tape into the paper tape reader.

3. Set the address switches on the console to 1777¢ and depress the

"start" switch. The read-in mode loader (see Appendix

I)

must be in core at th is time.

4. When loading is completed, the loader will stop.

5. Remove the ob ject tape from the paper tape reader and replace it into the files.

6. Place the object tape of your program into the paper tape reader.

7. Execute 3 above.

8. When loading is completed, the machine is under control of your program.

107

SECTION VII

EQUIPMENT OPERATING FEATURES

CARD READER

Keys and lights

Power ON

Power OFF

Not Ready

Read Check

Feed Check

Validity Check

Validity ON

Reset

End of File

Start

Stop

Depress ing th is key suppl ies power to the card reader and

I ights the power ON key.

Depress ing th is key turns off the power suppl y to the card reader.

Th is I ight is I it whenever the card reader is in a not ready condition.

Th is I ight is I it when a read check occurs.

Th is I ight is I it when a feed check occurs.

This light is lit when a validity error has occurred and the

Validity ON key is lit.

Depressing this key turns on the Val idity checking feature for alphanumeric input and lights this key.

Th is key is depressed to reset a feed check, read check, or validity check condition.

When all the cards have been read, depressing this key informs the computer of an End-of-File condition on the card. reader and lights.

Depressing this key, when all conditions are right, makes the card reader ready to read cards.

Depressing this key puts the card reader in a not ready condition.

108

Loading the Card Reader

1. Depress the power ON key.

2. Place the cards to be read into the card read hopper face down - 12 edge toward the operator.

3. Depress the Validity ON key to the ON condition (when on, it is lit).

4. If either the Read check, Feed check, Validity check, or End-of-File indicators are I it, depress the reset key.

5. Depress the Start key.

Restart Procedures

Not Ready Condition Only.

1. Remove the cards from the card read stacker.

2. Be sure to place these cards in back of previously removed cards.

3. If there are more cards to read go to Step 5 below.

4. If no more cards are to be read, depress the End-of-File Key. This will signal the computer of this fact. The End-of-File key is lit. Proceed no more.

5. Place the cards to be read into the card read hopper, face down - 12 edge toward the operator.

6. Depress the start key.

109

Feed Check

1. Remove the cards in the card read hopper.

2. Repunch the first few cards that caused the feed check.

3. Replace these cards in front of the cards removed from the read hopper.

4. Place these cards into the card feed hopper; face down - 12 edge toward the operator.

5. Set AC switch 1 in the up position.

6. Depress the Reset Key.

7. Depress the Start Key.

Read Check

1. Remove the cards from the card feed hopper.

2. Remove the top card in the card read stacker.

3. Check card and re-punch if necessary.

4. Place th is card in front of the cards removed from the card read hopper.

5. Place these cards into the card feed hopper

I

face down - 12 edge toward the operator.

6. Set AC switch 1 in the up position.

7 • Depress the Reset Key.

8. Depress the Start Key.

Validity Check

Do the same operations as for the Read Check above.

110

CARD PUNCH

Keys and lights

Power ON

Start

Stop

Continue

Placing this switch in the ON position supplies power to the punch.

Depressing this key initiates a 2-card read-in cycle.

Depressing this key will cause the card mechcmism to be shut off after a delay of approximatly 3 seconds.

Depressing this key turns the card mechanism ON but does not initiate a 2-card read-in cycle.

Loading the Punch Hopper

1. Set the Power switch to the ON position.

2. Depress the Start key to insure that no cards were lef t in the punch mechan ism from a prev ious run ..

3.

Insert blank cards, face down - 12 edge first into the punch feed hopper.

4.

Depress the Start key.

5.

When punch idles, release key. It is ready to receive information from the cc:>mputer.

Servic ing the Punch

1. Remove punched cards from the card punch stacker.

2. Be sure to place these cards in back of previously removed cards.

3.

Insert blank cards, face down - 12 edge first into the punch feed hopper.

4.

Depress the Continue key.

111

Emptying the Punch

1. Remove blank cards from the punch feed hopper.

2. Depress the Start key to allow the 2 cards in the card mechanism to be fed into the punch stacker.

3. Remove punched cards from the card punch stacker.

4. Be sure to place these cards in back of previously removed cards.

5. Place the power ON switch in the OFF position.

112

HIG H SPEED PRINTER

Operating Controls

Four operating controls, mounted on the top and front of the printer

tare

provided as follows:

Paper Tension knob - controls the distance between corresponding sprockets on the upper and lower tractors to increase or decrease the tension on the paper.

Form Positioning knob - provides a means of adjusting the paper tractor sproc~ up and down to vary the vertical position of the printed line on the paper.

Character Phasing knob - controls the time interval between the occurrence ( the character pulse and the appearance of the corresponding row of characterdirectly opposite the print hammers. When this knob is properly positioned, the hammers strike directly over the characters on the print wheel, and un if printing results.

Penetration Control knob - provides fine adjustment of the spacing between print hammers and print wheel to vary the density of printing and accomm l:>datE different paper th icknesses.

Loading the Paper

Thread the paper over the lower paper feed tractors, under the paper hold

-do~ and ribbon, and over the upper paper feed tractors. Use the penetration control cral to lower the print hammer module assembly if necessary. Return the hammer module sembly to printing position. Use the scales and individual adjustment screws provide accomplish proper positioning of the paper feed tractors. The paper should press fin against the platen but should not be taut enough to cause elongation of the perforatt

113

Replac ing Ribbon

To replace the ribbon, proceed as follows:

1. Remove ribbon cover.

:2.

See that ribbon is feeding onto inner roll. Switch power OFF as soon as direction of ribbon travel reverses.

3. Slacken ribbon by manually turning outer roll several forward revolutions.

4. Grasp outer roll and push toward right side of printer. The left end of the roll will disengage its drive cap, permitting removal of outer roll.

5. Unwind remaining ribbon from outer roll.

b. Remove inner roll by pushing to the right until left end of roll disengages its drive cap. Pull inner roll toward front of printer, drawing free end of ribbon through print aperture. Discard worn ribbon and roll.

7. Place empty roll in the inner position. Be sure slot on left end of roll engages drive cap pin.

8. Insert two sheets of paper through the print aperture. Attach the leader of a fresh roll of ribbon between these two sheets. Draw paper and ribbon through the aperture tOW(lrc front of printer.

9. Detach ribbon leader from paper. Pull ribbon leader under inner roll and fasten it to the roll. Wind a few turns onto the roll.

10. Place new roll of ribbon in outer roll position, taking up slack by rotating roll several revolutions. Be sure slot in left end of roll engages drive cap pin.

11. Turn on power. Observe that ribbon moves at a steady rate and winds evenly.

114

Control of Vertical Format a. Preparing Format Tape - the following procedure is suggested for the preparation of a printer format tape. Since formats differ from application to application, this procedure is intended to serve only as a guide for those lacking previous experience in tape preparation.

The following special tools and materials are recommended for the preparation of a format tape:

1. Roll of Anelex (or equivalent) format tape - laminated

2. Tape punch. Anelex No 52026

3. Pliobond cement (or equivalent) b. Procedure -

1 • Determ ine the tota I number of lines conta ined on the entire form., Th is is done by multiplying the number of inches (length) of the form by the number of lines of paper feed per inch. Most Anelex printers 'hove vertical spacing of 6 lines per inch. An ll-inch form will have 66 Ilines

{6 x

11)i

a 17 -inch form 102 lines, etc.

2. Take a sample form and rule in all the lines. Number each line.

3. Cut off a strip of format tape containing three more sprocket holes than the total number of lines on the form (always cut at the midpoint between the holes). Each sprocket hole on the tape corresponds to a I ine on the form, so a tape for a 66 line form should have 69 sprocket holes. The extra holes will be used for splicing purposes. In cases of small f~:lrms, such as a 3-inch, 18-1 ine form, it is a common practice to format the form a multiple number of times onto a single tape. For example" an

18-line form may be formatted three times on a tape containing 57 sprocket holes. In any case, the tape must be long enough to loop around the format drum loosely.

115

4.

5.

6.

7 •

8.

Hold the tape in a vertical position with the column of sprocket holes appearing towards the right. Visualize the location of the eight possible channels wh ich may be punched onto the tape.

Determ ine the format{s} desired and indicate on the sample form by placing a mark on every line where printing is desired. The first line of print is generally considered as the top of form.

Insert the tape into the puncher, aligning the first hole to be punched beneath the punch guide holes

NOTE

When inserting the tape into the puncher, you will note that the sprocket pins are spaced to engage every 8th sprocket hole on the tape, and that the eight punch guide holes are exactly eight sprocket hole spaces from the nearest engaged sprocket hole

{counting the engaged hole also}. Knowing this, the alignment of the punch ing position of the tape beneath the punch guide holes is readily obtained. If, for example, top of form {first line of printing} is to appear on the th ird I ine of the form, count down to the 11 th sprocket hole on the tape {3

+

8} and engage that hole with the nearest sprocket pin to the punch guide holes. The third hole in the tape, which as noted previously corresponds to the third line of the form, will fall exactly beneath the punch guide holes.

Punch the format hole{s} into the tape by push ing the punch ing pin through the desired guide hole.

Carefully I ift the tape off the sprocket pins and advance it through the puncher until the next punching position is reached. Small grease pencil markings made at strategic places on the tape, may help prevent losing hole count during tape advancement. Markings should be wiped

116

9.

10.

11 •

12.

13.

14. off after the entire tape is punched.

Repeat subparagraphs (7) and (8) until all channels have been punched.

If format holes have been punched adjacent to the first sprocket hole, they should be duplicated adjacent to the last or 67th sprocket hole.

Carefully remove the tape from the puncher and turn the end of the! tape containing the 67th hole in so that the bottom side of the tape becomes the top side. Channel No 1 shvuld still appear on the right side of the sprocket hole column. With the tape reversed in this manner, engage the 67th sprocket hole with the center sprocket pin of the puncher. Also engage the first sprocket pin with a corresponding hole. This will keep the tape even and aligned for the next step.

Apply a thin coat of pliobond cement (or equivalent) across the width of the tape adjacent to the 67th sprocket hole. Application may be made with a toothpick.

Holding the middle section of the tape firm against the flat portion of the puncher, bring the free end of the tape with the first sprockE~t hole over and place it above the cemented end. Engage the first sprocket hole with the same sprocket pin protruding through the 67th hole. Align any holes which may have been punched adjacent to the first and 67th sprocket holes so that they complement each other perfectly.

Apply pressure to the union until it is held firm.

Clean excess cement from tape punch.

117

MAGNETIC TAPE TRANSPORT

Manual Control Panel

This panel includes four switches with three associated indicators and eight independent I ights that indicate various tape un it conditions when I it.

Transport Power

This switch has two stable positions, OFF and REMOTE, and a momentary contact position, ON. When OFF, power cannot be applied to the transport.

Pushing the switch to the momentary ON position turns on the transport; it then stays on even if the switch is returned to REMOTE. However, under no circumstances can power be applied to the transport (by either the TRANSPORT POWER switch or the 822 power control) unless the transport interlock is closed.

The indicator above TRANSPORT POWER does not indicate a switch position, but instead I ights whenever power is actually appl ied to the transport.

Mode

Two-position switch with associated AUTO and MAN indicators. In AUTO the tape un it is on I ine and all operations are in itiated from the tape control.

',In

MAN the unit is off line; reading and writing are disabled and transport motion signals are generated from the rewind and direction switches on the control panel.

Unit

Eight-position thumbwheel which determines the address of the tape unit. For example, if the tape control addresses unit 5, only that unit whose UNIT thumbwheel is set to 5 responds. If desired, the operator can cause the tape control to write on two tapes simultaneously by giving both units the same address.

118

Manual Rewind

Three-position momentary contact switch with a stable center off position.

Pushing this switch to START RWD sets the rewind flip-flop, causing the tape to run in reverse at high speed. Pushing the switch to STOP RWD clears the rewind flip·-flop, halting the tape.

Manua I Direction

Three-position momentary contact switch with a center off position. Forward tape motion is produced while this switch is held in FORWARD; reverse motion while held in REVERSE.

Selected

With the Type 52 Control, th is I ight indicates that the tape un it has been selected. However, with the Type

51

Control, the light indicates that the tape unit has been selected and commanded to operate.

Ready

Indicates that the unit is ready for on-line operation. This requires that thE:! un it be in AUTO mode, that transport power be on and that the tape be stationary'.

Write Lock

Indicates that the supply reel does not contain a write enable ring. Leavin!9 the ring out of the reel protects the information contained on the tape.

Rewind

Indicates that the tape is rewinding.

Load Point

Indicates that the beginning-of-tape reflective strip is at the photosensor.

119

Full Reel

Indicates that less than 100 feet of tape are on the takeup reel.

Low Reel

Indicates that less than 100 feet are left on the supply reel.

End Point

Indicates that the end -of -tape reflective strip is at or has passed the photosensor.

Tape Loading

1 • Turn TRANSPORT POWER switch to OFF.

2. Take the unit off line by turning the mode switch to MAN.

3. Rotate tape load handle

180

0

clockwise. This brings the tension arms inside the bridge rollers.

4. Lock low tape sensors by pushing them against the stop blocks.

5. Mount an empty reel on the lower hub.

6. Mount a full reel of i'ape on the upper hub so that the free end of the tape hangs down from the right side of the reel, shiny side out. The groove for the write enable lockout ring should be on the back of the reel. If the tape contains data that must be protected, make certain there is no write enable ring in the reel.

7. Unwind about 6 feet of tape from the reel.

8. Open buffer cover and head cover.

9. Thread tape.

10. Close buffer cover but not head cover.

11 • Wind one turn of tape around the takeup reel in a clockwise direction.

120

CAUTION

Do not sl ip free end of tape into slot in reel core and do not secure the free end to the reel in any manner.

12. Hold free end of tape to core of takeup reel with finger.

13. Turn supply reel until tape slack is taken up.

14. Wind about four turns of tape on takeup reel by rotating both reels manually. Make sure the tape is not slipping on the takeup reel.

15. Unwind about 2 feet of tape from each reel to provide slack for the tension arms.

16. Release tape load handle by rotating 180

0 counterclockwise. The tension arms swing toward normal position, taking up tape slack.

17. Inspect to see that tape is properly positioned within all guiding rollers and the guide trough.

18. Close head cover.

19. Release low tape sensors.

20. Make sure the tape is seated properly by running the transport from the manual control panel.

121

Manual Control

After loading a tape, the operator should check out the tape un it from the manual control panel to make sure that the tape is seated correctly and that the transport is running properly. Apply power to the transport by turning ON the TRANSPORT POWER switch. It is not necessary to put the

822

power control into LOCAL. It can be left in REMOTE provided the tape unit is off line (i .e. the mode switch is in MAN). However, transport power cannot go on unless the transport interlock is closed.

The interlock opens whenever the tape load handle is turned to the load position bringing the tension arms inside the bridge rollers. It also opens whenever the tension arms swing all the way out to the tension arm bumpers. The former condition prevents the transport from being turned on while tape is being loaded; the latter turns off the transport if the tape should break or run off the reel.

With power on and the unit off line, check the effect of the direction and rewind switches at the right of the control panel. These switches function only when the un it is off line. Check the forward motion of the tape by holding the direction switch in

FORWARD. Wind enough tape on the takeup reel so that both reverse and rewind can be checked. Run the tape in reverse for a short distance. Then push the rewind switch to START RWD and let the rewind go to the beginning of the tape. The tape should halt when the LOAD PO INT indicator goes on.

Operator1s Check List

After loading a tape and checking tape motion, the unit should be readied for on -I ine operation. Check the following:

1.

If computer power is off, turn 'TRANSPORT POWER to REMOTE.

2.

If computer power is on, is the transport also on? If not, push TRANSPORT

POWER to ON, then return it to REMOTE. The indicator at the upper left should light.

122

3. Is the tape unit on -line? The AUTO indicator should be lit.

4. Is the READY indicator lit? The LOAD POINT and FULL REEL indicat()rs should also be on.

5. If the tape conta ins data that must not be destroyed, make sure the write enable ring is not in the reel. The WRITE LOCK indicator should be lit.

6. Is the UN IT selector set to the correct address? If the computer is to rE~ad the tape, make sure no other unit is set to the same address.

123

APPENDICES

APPENDIX I

CHARACTER CODE CHART

COLLATING SEQUENCE

A T

B N E

C E L CARD

DEFINED AS

D

L

E

A

T

B N E

CODE C E L

CARD DEFINED AS

D L E

CODE

-=-.

A A 12-1

Space 01 00 00

!Q

+ +

& 12 Plus

-A

11 00

O!:

/ /

I

0-1 Slash

B B B

12-2

- -

----~.-.--~--

...

---.-----~---~---~

...

-

..

-.-

..

~--.-~-

~

11 00

. . . .- f-·-

C C C

12-3

.

__

...

D

D D

12-4

II

_._f---

_.-

0-2

11 00 T T T 0-3

...........

--"'_

....

~

..•.........

~

11 01 00 U U U 0-4

E E E

12-5 11 01 01

V V V

0-5

_._.

------

--~

..•

-

01 01 01

.-~

F F F 12-6

G G G 12-7

H H H

I I

' -

&

- -

?

' - - _ .

. t:

<

C.

<-

.

..

-

- - -

·

$:'~-

12-8

-12-9

12-.0

Plus Zero

-12-3~-cf

) -}

)

12-4-8

$ ( 12-5"':S

Period

.--~-.~-.---

~--~-

.-

11 01 10

IIi

III to

()O

W W W

0-6

-----

--.-~---.----~.---.-

11 01 11

X X X

0-7

---- --y y y

Z

Z Z

'--~r

-

..

-~-.--

...

-.~.-- ~~.-

0-8

0-9

----_

-

III

"r'''-

11 10 11

ifLgh-t--Paren-·:···············~·~·-·

Iii r-::--..

------~----

..

Left Bracket

12-6-8 Less Than

'--li i1

00

Iii I i

llG

~

-

....

~

$; 12-7-8 Arrow

-'-"~-'

.-.--.~

---.---

..

..

-,~.~-"

11

-MIi1"u-s·~-

..

-----····-·-~··-·~·----·-·

110

0"0

06

.......

'-r

I

V

/\

......

I

"

I

$?

--C' l-'-'-

$/

." ' ..

0-2-8 Negation

_"."".~~

. __ .. __ ".h_

ro-----

-

...

-~-

-~-------

..

--

- - - - -

-~-.---

..

..

-

~-~

..•

...

~

-

01 01 10

01 01 11

oi

-:::-

-

~

10

00

01 10 01

01 10 10

0-3-8 Comma

0-5-8 Or

_

....

_---

...

_.-----

-

01 10 11

.

0-4-8

Left Paren. 01 11 00

01 11

I-- ..

01

1\

$# 0-6-8 And

~

::>

.~-

$ , 0-7-8

Implies

-j3' i)'---

01 11

to

01 11 11

00 10 10

10 00 01j 1 1 1

1

00 00 01

J J J

11-1

.

__

.,-

11 00

PQ.

01 00 lel

01 00

~~--r-~'-

1Q.

01 00

01 01

III

pO

11-2 110 00 10 2 2 2 2

00 00 10

K

K

K

L

M

L L 11-3

M M 11-4

N

N N

11-5

0 0 0 p

P

P

11-6

11-7

Q

Q Q

11-8

-

-,

R R t

11-9

..

-

.•.

--

.....

__ ._-

. . . . . . .

11-0 Minus Zero

110 00 11

3 3 3 3

110 01

oP

4 4 4 4

110 01 01 5 5 5 5

110 01

1~

6 6 6 6

.

~ r-

110 01 11 7 7 7 7

10 10

Po

8 8 8 8

110

10

1-.-

~

Pl

10 10 10

9 9 9 9

N/A

$ $ $S 11-5-8 Dollar Sign

10 10 11

= =

$: 3-8

Equal

* x

# 11-4-8 Asterisk

.1

;

6

.J

..

,

$) 11-5-8 Right Bracket

..

;

------

~-~-

....

-

..

----

11-6-8 Semicolon

11-7-8 Delta

10 110

@

10 11 01

10

11

10

10 11 11

:

I I

4-8

At

-

:

5-8 Colon

'> ')

$& 6-8

7-8

Greater than

EOF

08 00 11

0: 01 00

08 01 01

0: 01

1~

08 01 11

0: 10

Op

08 10

O~

08 00

Op

08 10

1~

00 11

Op

0: 11

O~

08 11

Ib

OC

11 11

---

BASIC CONTROL INSTRUCTIONS

DECIMAL

ANELEX

TELETYPE

174¢1

BEGIN

6¢¢¢¢¢ GOTO

74¢¢¢¢ NOP

175¢¢ STOP

DATA MANIPULATION INSTRUCTIONS

17423 CLRSTR N FROM

17411 MV

17412 MVZ

17413 MVN

N

N

N

FROM

FROM

FROM

17414 MVS

17415

1742¢ SETX

17421

17422

MVX

SETY

CLZ

N

N

TO

TO

TO

FROM

FROM

LOGICAL CONTROL INSTRUCTIONS

17456 TCE

175¢5

SEARCH

17457 TSS

CHAR TO

N

SW

CHAR

GOTO

17462 IFX

17463 IFY

17454 LDCTR

17455 TSTCTR

FROM GOTO

FROM GOTO

CTR

CTR

V

GOTO

17464 SET

17465 CLEAR

1746¢ TPS

17461 TAO

SW

SW

SW

AC

GOTO

GOTO

APPENDIX II

BUS-PAl< II INSTRUCTION LIST

TO

TO

TO

TO

TO

PG ARITHMETIC INSTRUCTIONS

16

17

18

18 175¢3 ADDAC

19

174¢3

SUBAC

19 174¢4 MULAC

2¢ 174¢5

DIVAC

17523 ADDMEM

21 17524 MULMEM

22

23

1741¢

175¢1

175¢6

17522

17525

CLRAC

LOADAC

DEPAC

SUBMEM

DIVMEM

AC

AC

AC

AC

AC

AC

AC

AC

AC

AC

AC

N

N

N

N

N

N

N

N

N

N

24 ACCUMULATOR SHIFT INSTRUCTIONS

25

26

27

27

175¢6

175¢7

1751¢

SHFTL

SHFTR

SHFTRR

27 EDIT INSTRUCTIONS

AC

AC

AC

T

T

T

FROM

TO

FROM

FROM

FROM

FROM

TO

TO

TO

TO

17416

17417

EDIT

MVEDIT

N

N

FROM

FROM

TO

TO

BY

GOTO 28

FROM GOTO 29 ALPHANUMERIC AND NUMERIC COMPARE INSTRUCTIONS

29

3¢ ALPHANUMERIC COMPARE

3¢ 17466

CMPEQU

3¢ 17467

CMPUEQ

N

N

31 17471 CMPGRT

31

1747¢

CMPLES

N

N

31 17424 CMPGEQ

32

174¢7 CMPLEQ

32

N

N

FROM

FROM

FROM

FROM

FROM

FROM

TO

TO

TO

TO

TO

TO

GOTO

GO TO

GOTO

GO TO

GOTO

GOTO

45

46

47

51

51

52

52

52

52

52

52

PG

34

35

36

37

38

39

41

42

43

44

NUMERIC COMPARE

17472

17473

17475

17474

17477

17476

EQUAL

UNEQU~L

GREATER

LESS

GRTEQU

LESEQU

AC

AC

AC

AC

AC

AC

N

N

N

N

N

N

INDEX CONTROL INSTRUCTIONS

174$'0 LDIDX

IDX V

17451

ADDIDX

17453 DEPIDX

17452

LDIDEC

175¢2 LDBLIDX

IDX

IDX

IDX

IDX

TO

N

TELEPRINTER IN/OUT INSTRUCTIONS

17431 TYPE

N FROM

17434

TYPTXT FROM

17433 TAB

17432 TCR

175¢4

TYPE IN

175¢3 INQUIRY

N

GOTO

TO

BUS-PAK II INSTRUCTION LIST CONT'd.

TO

TO

TO

TO

TO

TO

FROM

MAGNETIC TAPE IN/OUT INSTRUCTION cont'd.

GOTO

53

1744¢

REWIND

GOTO 53

17436

RDTAPE

GOTO 53

17437 WRTAPE

GOTO 53 17533

WRTCMP

GO TO 53

17444 SPCREC

GOTO 53

17445 SPCFILE

17442

BKSREC

17443 BKSFILE

U

U

U

U

U

U

U

U

TO

T

T

54

17527 ENDPOINT

54

17441 WREOF

U

U

GOTO

55

55

MICRO-DISK IN/OUT INSTRUCTIONS

55 17515

OPENDISK U

L

17516 SEEK

U

TO

17517

RDDISK U

56 1752¢

WRDISK

U

57 17521

CLOSEDISK U

FROM

57

58

STORAGE AND RETRIEVAL INSTRUCTIONS

59

17532 DUMP

FROM

TO

60 17531

RETRIEVE

FROM TO

17536 LDPROG

GOTO

FROM

GOTO

FROM GO TO

PUNCHED CARD IN/OUT INSTRUCTION

17425 RDCRD

TO GOTO

17426

PUNCRD FROM

61

CHECKPOINT AND RESTART INSTRUCTIONS

62

17534 CHECKPOINT

17535

RESTART

HIGH SPEED PRINTER OUTPUT INSTRUCTIONS

17427 PRNLIN

FROM

1743¢

SPACE

CHAR

MAGNETIC TAPE IN/OUT INSTRUCTIONS

17435 OPEN

U B

17446

HIDEN

17447

17526

LODEN

ALTTAPE

U

U

U ALT

L

63

SUBROUTINE CONTROL INSTRUCTIONS

64 1¢¢¢¢¢ GOTOSV

62¢¢¢¢

RETFROM

637511 EXIT

68

637512 EXIT1

69

637513

EXIT2

69

6375.14

EXIT3

69

85

86

86

88

89

81

82

83

84

70

71

72

73

74

75

76

77

77

78

91

92

92

92

92

MESSAGE

BOC

CKP

CMP

NSR

PAR

PAW

PNR

PRC

RIC

RWD

SRR

SRW

TEP

APPENDIX

III

BUS PAK

II

ERROR MESSAGES

CAUSE

Bad op-code

Checkpoint record has been wri tten

Compare error on Magneti c tape

ACTION

Cannot be restarted

Indicate location of chec:kpoint on cards (input or output) and press continue

Does not stop

No such record on disk Press continue to bypass error record and continue processing

Does not stop Parity during read of

Magneti c Tape

Parity during write of

Magneti c tape

Card punch not ready

Does not stop

Fix error condition, set switch 2 up if card is to be repunc:hed, press continue

Does not stop Parity during read-compare on Magneti c tape

Read incorrect card in card reader

Error in reading or writing of Micro-Disk

Short record read on Magneti c tape

Short record 'M'itten on

Magnetic tape

Tape at end-point, no end of file written

Fix card and replace in c:ard hopper, set AC switch

I iin the up position and press continue.

Check unit and fix, press continue to try again

Press continue to back space and try again.

Press conti nue to back space and try again

Does not stop

MESSAGE

TME

TNI

TP

TUD

APPENDIX III Cont'd

BUS -PAK II ERROR MESSAGES

CAUSE

Too many EXIT's

ACTION

Cannot be restarted

Too many tape un its defined

Tape unit is write protected

Either tape unit or Micro-Disk un i t is not defined

Cannot be restarted

Correct and press continue

Cannot be restarted

ADD

ADDAC

ADDIDX

ADDMEM

AND

ANElEX

BAR

BEGIN

BKSFll

BKSPC

BKSREC

BSR

CAL

CCl

CHAR

CHECKP

ClA

ClC

CLEAR

Cll

ClOF

ClON

CLOSED

CLRAC

ClRSTR

ClSF

ClZ

CMA

CMl

CMPEQU

CMPGEQ

CMPGRT

CMPLEQ

CMPLES

CMPUEQ

CPCF

CPlR

CPSE

CPSF

CRRB

CRSA

CRSB

CRSF

D

DAC

DCF

DECIMA

DEPAC

DEPIDX

DIVAC

DIVMEM

D3B

DSF

DUMP

DXl

DXS

DYl

DYS

DZM

ENDPOI

EQUAL

EXIT

EXITI

EXIT2

EXIT3

EXPUNG

FIODEC

FIX

FLEX

GCl

GlF

GlK

GOTO

GOTOSV

GPl

GPR

GREATE

GRTEQU

GSF

GSP

HIDEN

HlT

I

IFX

IFY

10F

APPENDIX IV

FORBIDDEN lABELS

ION

10RS lOT

ISZ

JMP

JMS

KRB

KSF lAC lAM lAS lAT lAW lDBLlD lDCTR lDIDEC lDIDX lESEQU lESS lOADAC lODEN lPCF lPlD lPSE l7SF lSCF

3S3S lSSF

4CA

MCC

MCD

MCEF

MCI

MCWF

MDEF

MDWF

MEEF

MEWF

MtEF

MIWF

MLI

MMBF

MMDF

MSF

MSI

MSUR

MSWF

MTC

MTRS

MTS

MUlAC

MUlMEN

MV

MVE

MVN

MVS

MVX

MVZ

MWC

MWl

MWM

MWR

NOINPU

NOP

NOSYMB

NOT

OAS

OCTAL

OPEN

MMEF

MMlC

MMRD

MMRS

MMSE

MMWR

MNC

MRC

MRCA

MRD

MRl

MRM

MRR

MRS

MSC

MSCR

MSEF

OPENDI

OPR

PAUSE

PCF

PlS

PRNLIN

PSF

PUNCH

PUNCRD

PUNDEF

RAl

RAR

RCBH

RCBl

RCDH

RCDl

RCl

RCR

RDCRD

RDTAPE

REST AR

RETFRO

RETRIE

REW

REWIND

RRB

RSA

RSB

RSF

RTBH

RTBl

RTDH

RTDl

RTR

SAD

SEARCH

SET

SETX

SETY

SHFTl

SHFTR

SHFTRR

SHIFT

SUBAC

SUBMEM

SYMBOL

SZA

SZl

TAB

TAD

TAO

TCE

TCF

TCR

TELETY

TEXT

TlS

TPS

TSF

TSS

SKP

SKR

SMA

SMl

SNA

SNL

SPA

SPACE

SPCFll

SPCREC

SPl

START

STl

STOP

TSTCTR

TYPE

TYPEIN

TYPTXT

UI'~EQUA

VARIAB

WEF

WREOF

WRTAPE

WRTCMP

WTBH

WTBl

WTDH

WTDL

XCT

XOR

XX

XI

XI

APPENDiX \ V Cont'd.

FORBIDDEN LABELS

XII

XI2

XI3

XI4

XI5

X2

X3

X4

X5

X6

X7

X8

Program Name

Label

~-

Operation

BUS-PAK" CODING SHEET

I

I

I

I

I i

I

J

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

No.

Author

Variable Operand Field

,

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

,

I

I

I

I

,

I

I

I

I

I

I

,

,

I

I

,

I

I

!

I

,

I

I

I

I

I

I

I

I

I

I

Comments

Date

!.. !..

»

-u

-u m

Z

o

X

<

Example I: card-to-tape anelex strt, decimal begin open c I rstr stop rewind rdcd, rdcrd wrtcmp goto rdcd ceof, wr.eof rewind goto strt+8 tep; cda, typtxt stop goto rdcd-2 cda+81/ teletype

81 cda msl ms I, text / tape is at end point load next tape, press continue

/ start strt

APPENDIX VI

PROGRAMMI NG EXAMPLES

cda

81 goto ceof cda goto tep

/ set anelex code input

/ set decimal radix

/ initialize Bus-Pak

II

/ open unit

I w/I¢ x 81 rec

/ clear card area

/ stop machine

/ rewind unit I

/ get card info cda

/ write card from cda

/ go back and read next card

/ write end-of-file on unit I

/ rewind unit I

/ go stop machine

/ type end-point message

/ stop machine

/ go rewind new tape

/ defi ne card area

/ set teletype code input

Example 2: tape-to-card strt, anelex decimal begin open stop rewind rdt, rdtape puncrd goto rdt teof, endpoint rewind goto strt

+

5 tep, typtxt stop goto rdt-2 cda goto tep msl

I¢ cda cda, cda

+

81/ teletype msl, text / tape

~t end-point. load next tape, press continue.

/ start strt

81 goto teof

/ set anelex code input

/set decimal radix

/ initialize Bus-Pak II

/ open unit I w/I¢ x 81 rec

/ stop mach ine

/ rewind unit I

/ read record from tape

/ punch card

/ go read next record

/ test if eof or end-point

/ eof - rewind un it I

/ go stop machine

/ type end- point message

/ stop mach ine

/ go rewind new tape

/ define card area

/ set teletype code in put

Example 3: tape-to-printer strt, anelex decimal begin open cl rstr rdt, stop rewind rdtape prnlin goto rdt teof, tep, endpoint rewind goto strt

+

8 typtxt stop goto rdt -

2

I

12,0 pta goto tep msl pta pta pta, pta

+

12,0

I

ms, , tel etype text

I

tape at end-point. load next tape, press continue.

I

start strt

81 goto teof

I

set anelex code input

I

set decimal radix

I

initial ize Bus-Pak

II

I

open unit

I

wi

1,0 x

81 rec

I

clear print area

I

stop mach ine

I

rewind unit

I

I

read rec from unit

I

I

print record

I

go read next record

I

test if end-point or eof

I

eof - rewind unit

I

I

go stop machine

I

type end-point message

I

stop mach ine

I

go rew ind new tape

I

set up print area

I

set teletype code input

Example 4: card -to-tape, tape-to-card, tap-to-printer strt, anelex decimal begin clear tstssw, stop tss tss tss goto tstssw

2

3

goto ctt goto ttc goto ttp

/ set sense switch I up for cart-to-tape operation ctt, open

153

81 set loop I, rdcrd cda goto deof wrtcmp tss clear tps tss tps tss

2

2

3

3 cda goto .+3 goto tieof goto 100p2 goto ttc goto loop 3 goto ttp goto loop I tps goto tstssw-2

/ set sense switch I down to stop card-to tape operation ceof, wreof stop tss goto ett

/ initialize Bus-Pak

II

/ clear all prog sw

/ stop mach ine

/ card-to-tape op

/ tape-to-card op

/ tape-to-printer op

/ test sw's again

/ card -to-tape open

/ set prog sw I

/ rd card

/ write card

/ test ssw I

/ no-clear prog sw I

/ test for tape-to'~ card

/ test start tape-to-card

/ test for tape

~to-printer

/ test start tape-to-pJrinter

/ test sti II card-to-tape

/ term inate operations

/ write eof on unit I

/ stop machine

/ test continue cit

goto loop I + 7

/ no tieof, typtxt stop goto loop

I + 7

/ set sense switch 2 up for tape- to-card operation ttc, open set loop 2, rdtape puncrd msl

2

2

2 pcha

1,0' pcha

81 goto t2eof tss clear tps tss tps tss

2

2

3

3 goto

.+3 goto loop

3 goto ttp goto loop

I goto ctt goto loop 2 tps goto tstssw - 2

2

/ set sense switch 2 down to stop tape-to-card operation t2eof, endpoint stop tss gon loop 2

+

6 goto t2ep

2 goto ttc

/ type end-point message t2ep, typtxt msl stop ttp, goto loop 2

/ set sense switch

3

up for tape-to-printer operation open cl rstr

3

12,0'

1,0' pta

81

/ type end-point mess

/ stop machine

/ continue

/ open tape-to-card

/ set prog sw 2

/ read tape

/ punch card

/ test ssw 2

/ clear prog sw 2

/ test tape-to-printer

/ test3tort ttp

/ test card-to-tape

/ test start ctt

/ test continue ttc

/ test if end-point

/ no-stop machine

/ test continue ttc

/ no

/ tape-to-printer open

/ clear print area

set loop 3, rdtape t3ep, typtxt stop goto loop 3

3

3 pta goto t3eof prnlin tss clear tps tss tps tss pta

3

3

I

I

2

2 goto .+3 goto loop I goto ctt goto loop

2 tps goto tstssw

3 goto ttc goto loop 3

/ set sense switch 3 down to stop tape-to-printer operation t3eof, endpoint goto t3ep

/ print line

/ test continue ttp

/ no - clear prog sw

~~

/ test card-to-tape

/ test start ctt

/ test tape-to-card

/ test start ttc

/ test continue ttp

/ no stop tss

3 goto ttp goto loop 3 + 6

/ type end-point message msl

/ set prog sw 3

/ read tape

/ in put - out put areas cdQ, pcha, prt, cda +

81/

pcha +

81/

prt + 12,0/

/ te letype out put message teletype msl, text / tape at end-point load next tq:> e, press continue.

/ start strt

Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement