A24 3116 3_1440_System_Operation_Reference_Manual_Oct66 3 1440 System Operation Reference Manual Oct66
A24-3116-3_1440_System_Operation_Reference_Manual_Oct66 manual pdf -FilePursuit
A24-3116-3_1440_System_Operation_Reference_Manual_Oct66 A24-3116-3_1440_System_Operation_Reference_Manual_Oct66
A24-3116-3_1440_System_Operation_Reference_Manual_Oct66 A24-3116-3_1440_System_Operation_Reference_Manual_Oct66
User Manual: A24-3116-3_1440_System_Operation_Reference_Manual_Oct66
Open the PDF directly: View PDF .
Page Count: 279
Download | |
Open PDF In Browser | View PDF |
File Number 1440-01 Form A24-3116-3 Systems Reference Library System Operation Reference Manual IBM 1440 Data Processing System This reference publication contains the complete instruction set for the IBM 1440, including required and available inputj output units and special features. The operation code for each instruction is given in both actual machine language and autocodermnemonic form. Formulas are given for calculating instruction-execution time when the time is not a constant. Programming examples are also illustrated. Refer to the IBM 1440 Bibliography, Form A24-3005, for related IBM 1440 publications. Fourth Edition (October 1966) This publication is a reprint of form A24-3116-2, incorporating changes released in Technical Newsletter N24-0362. The original publication and applicable Newsletters are not obsoleted. Copies of this and other IBM publications can be obtained through IBM Branch Offices. This manual has been prepared by the IBM Systems Development Division, Product Publications, Dept. 171, P. O. Box 6, Endicott, New York 13760 © International Business Machines Corporation 1964 Preface This publication is a reference text for the IBM 1440 Data Processing System. It provides a detailed explanation of all the instructions used by the system to manipulate data and to control the available input/output devices. The reader should be familiar with the IBM 1440 System Summar!!, Form A24-3006. This manual is· divided into the following independent sections: Section A. General Information Section B. System Operations Section C. IBM 1447 Operations Section D. Readers, Punches, and Printers Section E. Tape Input/Output Operations Section F. Disk Input/Output Operations Section G. Miscellaneous Input/Output Operations Section H. Special Features Section 1. Appendix Section J. Index of Instructions Section K. Index of Branch Instructions and d-Modifiers Section L. Index This manual can be placed in a 3-ring loose-leaf binder with other publications for this system. Remove the staples to avoid damage to the comers, and to facilitate page replacement as new information is made available. Contents IBM 1440 Data Processing System .......... . Stored-Program Instructions ....................... . A-I A-2 Tape Input/Output Operations .. IBM IBM 1441 Processing Unit ..................... . A-5 Processing ...................................... . A-6 Internal Checking ............................... . A-7 Addressing ..................................... . A-8 Address Modification .......................... . A-13 IBM 1011 Paper Tape Reader ........... . IBM 1011 Paper Tape Reader Instructions ...... . IBM System Operations B-1 Arithmetic Operations B-1 B-2 B-2 B-3 True Add ........... . Complement Add ...... . Arithmetic Instructions Logic Operations B-7 B-7 Logic Instructions ....................... .. Data-Moving Operations .... . Data-Moving Instructions B-ll B-ll ........ . Miscellaneous Operations Miscellaneous Instructions B-15 B-15 Edit OpeTation ............. . B-19 7335 Magnetic Tape Unit .. . Magnetic Tape Instructions ....... . Magnetic-Tape Timing ...................... . IBM IBM Readers, Punches and Printers ................. . IBM IBM IBM IBM IBM IBM IBM IBM C-l C-l C-1 C-4 D-l 1403 Printer, Models 2, 3, 5, and 6 ....... . D-l 1403 Printer Operations ...................... 1403 Printer Instruction Format ................ 1403 Printer Instructions ...................... 1403, Model 2, Timings ....................... 1403, Model 3, Timings ...................... 1403, Model 5, Timings ...................... 1403, Model 6, Timings ...................... . . . . . . . D-l D-2 D-3 D-6 D-7 D-7 D-8 E-9 E-9 1012 Tape Punch ....................... . E-12 E-12 E-16 F-l 1301 Disk Storage, Models 11, 12, 21, and 22 F-l Disk-Control Field ..... ....................... Basic Disk Operations .......... . . . . . . .. F-I F-2 1301 Instruction Format and Instructions .. F-3 F-4 F-4 F-9 IBM Seek Operation ............... Sector Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... Address Operations ............ ........... IBM 1301 Disk-Storage Timing ............ . IBM 1311 Disk-Storage Drive ................. . F-16 Disk-Control Field .............................. . Basic Disk Operations .. . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 1447 Console Operations .......... Console Instruction Format ........................ IBM 1447 Console Instructions . . . . . . . . . . . . . . . . . . . . .. Console Printer Timing .. . . . . . . . . . . . . . . . . . . . . . . . . .. E-1 E-l E-7 1012 Tape Punch Instructions ........... . 1012 Programming Concepts Disk Storage Operations IBM E-1 IBM F-13 F-16 F-17 1311 Instruction Format and Instructions . F-19 Seek Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sector Operations .............................. . Address Operations ............................. . F-19 F-21 F-27 IBM 1311 Disk Storage Drive Timing. . . . . . . . .. F-31 IBM 1311 Error Routine ..................... . F-33 Miscellaneous Input/Output Operations . ... . G-l 1009 Data Transmission Unit ......... . G-l G-l IBM IBM 1440 Programming Logic ................ . 1009 Instructions .......... . . . . . . . . . . . . . . . . .. . G-2 IBM 1412 Magnetic Character Reader, Modell. G-7 IBM 1412 Instructions ............................ . G-7 Programming Considerations for the IBM 1412 ... . G-13 IBM 1412 Timings .............................. . G-15 IBM IBM 1442 Card Read-Punch ................... . D-9 Card Read-Punch Instruction Format .............. . IBM 1442 Card Read-Punch Instructions ........... . IBM 1442 Card Read-Punch Timing ......... . IBM IBM IBM IBM IBM IBM IBM 1443 Printer 1443 Printer Instruction Format .............. . 1443 Printer Instructions .. . . . . . . . . . . . . . . . . . . . . 1443 Printer Timing . . . . . . . . . . . . . . . . . . . . . . . . . D-I0 D-I0 D-14 D-21 D-21 D-22 D-25 IBM IBM 1444 Card Punch ......................... . D-27 1444 Card Punch Instructions ................ . 1444 Card Punch Timing .................... . D-27 D-28 IBM IBM IBM IBM IBM IBM 1445 PrinteT ............................. . D-30 1445 Printer Instructions .................... . 1445 Printing Speeds ........................ . D-30 D-33 1448 Transmission Control Unit ...... . Transmission Control .......................... .. Operation ..................................... . IBM 1448 Instructions .......... . . . . . . . . . . . . . . . . .. Direct-Data-Channel Interrupt .................... . 7740 Communication Control System G-19 G-19 G-20 G-20 G-24 G-27 1231 Optical Mark Page Reader ...... . G-29 1231 Instructions ........................... . 1231 Program Control ....................... . G-29 7770 Audio Response Unit, Model 1, Programming ............................. . G-31 IBM G·34 reM IBM IBM IBM reM 7770 Instructions .......................... . G-34 Sense Switches ............................. . H-40 1285 Optical Reader ................... . 0-38 0-38 Track Record (1301) H-40 Track Record (1311) H-44 1285 Instructions ....................... .. . 1026 Transmission Control .............. . G-43 G-43 1026 Instructions H-48 General Description of Translate ................. . H-49 Translate IBM 1440 Data Processing System, Special Features ............................... . H-1 IBM Bit Test· .. H-l 1009 Data Transmission Control Unit Buffer Buffer Feature .............................. . H-51 IBM 1009 Automatic Mode Operation .............. . H-52 Additional and Modified Instructions for 1009 Buffer Feature .... . ........................ . H-53 Direct Data Channel ......................... . H-2 Signal Control Instructions ....................... .. . . . . . ... Branch Instructions .. Move and Load Instructions ...................... Instruction Utilization in the Program ............... Direct Seek .............................. . . . . . H-2 H-4 H-5 H-6 H-ll Expanded Disk-Storage Control .............. . H-12 1009 Data Transmission Unit Special Features ........................... . H-51 IBM IBM IBM IBM Expanded Serial Input/Output Adapter .... . Primary System Operation ....................... . Primary System Signals ......................... . Secondary System Instructions .. . . . . . . . . . . . . . . . . . . . Signal-Control Instructions ....................... . Branch-if-Indicator-On Instructions ................ . Read and Write Instructions ..................... . Feature Operation ........................ , ..... . H-14 H-14 H-15 H-16 H-16 H-20 H-23 H-25 Indexing and Store Address Registers ........ . H-28 Indexing ...................................... . Store Address Registers ...................... ... . H-28 H-29 1403 Printer Special Features· .......... . Selective Tape Listing Feature . IBM Expanded Print Edit ......................... . H-12 1012 Tape Punch Special Features .. 1012 Tape Punch Read Feature 1442 Card Read Punch Special Features Card Image Feature ............................ . Selective Stacker ............................... . Punch-Column-Skip Feature ...................... . IBM 1447 Console Special Features H-57 H-57 H-58 H-58 H-59 H-59 H-61 H-61 H-63 .................................... . I-I 1440 Character Code Chart in Collating Sequence ......................... . I-I Appendix IBM Declarative and Assembler-Control Statements Imperative Statements ........................... . 1-2 1-2 Index of Branch Instructions .. ' ................ . J-l Scan Disk Feature· .... '...................... . H-39 Index of IBM 1440 Instructions K-I Seek Overlap (1311) ..................... . General Index ................................. . L-I Multiply-Divide ............................. . H-32 Multiply and Divide Subroutines .................. . Multiply and Divide Timings .................... . H-34 H-37 H-40 Figure A-I. roM 1440 Data Processing System • IBM 1440 Data Processing System The IBM 1440 Data Processing System (Figure A-I) represents a major advance in low-cost data processing systems. The IBM 1440 offers small companies the functional capabilities of large data processing systems, but at speeds and costs in keeping with their needs and abilities. The input and output devices of the 1440 enable it to be effective in system areas where there has long been a need for a data processing system but not the volume of work to justify such a system. Processing methods of the 1440 are similar to those of the IBM 1401 Data Processing System. The IBM 1440 is a solid-state system with compact components and input/output devices. In addition to its features of compactness and low-cost, the 1440 presents a new c!oncept in data processing with the introduction of the removable disk pack. In 1953, the introduction of IBM magnetic tape systems provided data processing systems with the ability to process large volumes of input and output data at very high speeds. Magnetic tape offers the advantage of providing virtually unlimited storage capacity. In 1956, the RAMAC® disk file introduced a new concept in data processing, permitting, as it did, storage of large volumes of data that were accessible in a random sequence. The IBM 1311 Disk Storage Drive for the IBM 1440 Data Processing System provides virtually unlimited random and sequential access storage. A disk pack containing 2,000,000 characters of information can be removed from the 1440 system and another pack put in its place. This operator-removable disk pack combines the large-volume and sequential-processing advantages of tape systems with the random-access abilities of a RAMAC file. The ease of mobility of a disk pack (the weight of the pack is less than 10 pounds) and the simplicity of its removal from the drive means that 2,000,000 characters of data can be placed in the system wi thin seconds. Data can be organized in the disk pack in random or sequential order; regardless of how the data is located on the disk pack, it can be retrieved by the system in a random or sequential order with equal facility, depending on individual requirements. Up to five disk drives, each equipped with one disk pack, can be attached <'on line" to provide 10,000,000 characters of information available at one time (equivalent to 125,000, 80-column punched cards). The 1440 is primarily a disk-storage oriented system, providing a group of balanced input/output devices to wm-k in conjunction with the IBM 1441 Processing Unit and with the IBM 1311 Disk Storage Drive. For operations that require extensive calculating ability and do not need a disk storage, the 1440 can function as a card system. The IBM 1440 is available in various configurations to satisfy the requirements of individual users. It can be ordered to meet the basic requirements of an accounting system, and then increased in size as data processing requirements increase. If the 1440 is expanded to its maximum size and data processing requirements continue to grow, procedures and systems developed for the IBM 1440 can be readily adapted for processing on the medium-size IBM 1401 Data Processing System. With continued expansion and growth, adaptation to larger equipment such as the IBM 1460, 1410, and System/360 Data Processing Systems can be made. Magnetic tape capabilities are also available when the IBM 7335 Tape Adapter Feature is installed. The Stored Program The IBM 1440 Data Processing System performs its functions by executing a series of instructions at high speed. A particular set of instructions, designed to solve a specific problem, is known as a program. Because the 1440 stores its instructions internally, it is called a stored program system. The 1440 system normally executes instructions sequentially. The system can also skip over a particular group of instructions, or otherwise change the sequence of the program. Branch instructions are provided in the system to make it possible to alter the program and take the next instruction from another area of the stored program. This function also makes it possible to repeat an instruction, or group of instructions, as often as desired. A series of programmed tests determines the logical path of the program. These tests are made at various points in the program to control the course of program step execution for specific conditions that can arise during processing. A-I Variable Word Length Stored programming involves the concept of words. A 1440 word can be a single character, or a group of characters, representing a complete unit of information. Because mM 1440 words are not limited to a specific number of storage positions - i.e., have variable word length - and because each position of core storage is addressable, each word occupies only the numbm of core-storage locations actually needed for the specific instruction or data field. instructions are the only instructions that can be followed by a blank without a word mark. These ins,tructions frequently terminate a series of program steps. For this reason, circuitry provisions have been made to eliminate the necessity of placing a wQlrd mark following the UNCONDITIoNAL BRANCH, and 7-position SET WORD MARK and CLEAR STORAGE AND BRANCH instructions. All other instructions must be followed by a word mark. AND BRANCH Two operation codes are provided for setting and clearing word marks during program executiQln. Word Marks The use of the variable-length instruction and data format requires a method of determining the instruction and data-word length. This identification is provided by a word mark. Word marks are illustrated by underlining the characters with which they are associated. Stored-Program Instructions All machine functions are initiated by instructions from the 1440 stored program. Because the 1440 uses the variable-word-Iength concept, the length of an instructiQln can vary from one to eight characters, depending Q1n the operation to be performed. The word mark serves several functions: 1. Indicates the beginning of an instruotion. 2. Defines the size of a data word. Instruction Format - Mnemonic 3. Signals the end of execution of an ins,truction. The rules governing the use of word marks are: 1. Predetermined locations for word marks are assigned in planning the program. These predetermined word marks are normally expected to remain in these 10catiQlns throughout the complete program. The word marks are set into storage locations by a loading routine. 2. Word marks are not moved with data during processing, except when a load instruction (see No.5 below) is used. 3. For an arithmetic operation, the B-field must have a defining word mark, and the A-field must have a word mark only whe!ll it is shorter than the B-field. X Op Code A- or I-address B-address d-character X XXX XXX X Mnemonic. This is the mnemonic operation code that is used by the Autocoder processor program to designate the actual machine operation code. Op Code. This is always a single character that defines the basic operation to be performed. A word mark is always associated with the operation code position of an instruction. A-Address. This always consists of three characters. It can identify the units positio!ll of the A-field, or it can be used to select an input/output unit (card read-punch, disk storage unit, data transmission unit, paper tape reader, printer, tape punch, etc.). 4. A load instruction moves the word mark and data from the A-field to the B-Held, and clears any other word marks in the designated B-field, up to the length of the A-field. I-Address. Instructions that can cause program branches use the I-address to specify the location of the next instruction to be executed if a branch occurs. 5. When moving data from one location to another, only one of the fields need have a defining word mark, because the move instruotion implies that both fields are the same length. B-Address. This is a 3-character storage address that identifies the B-field. It usually addresses the units position of the B-field, but in some operations (such as move record or input/output operations) it specifies the high-order position of a record-storage area. 6. A word mark must be associated with the highorder charaoter (operation code) of every instruction. 7. The 4-character BRANCH UNCONDITIONAL instruction, the 7-character SET WORD MARK, and CLEAR STORAGE A-2 d-Character. The d-character is used to modify an operation code. It is a single alphabetic, numerical, or special character, positioned as the last character of an instruction. Instruction Descriptions Key to abbreviations used in formulas: Specific instructions have been described in a standard format: Title. This is the description of the instruction. Inst'fuction Length. The length of an instruction can be either 1, 2, 4, 5, 7, or 8 characters. It cannot be either 3 or 6 characters long. Characters beyond the usable limit of eight do not affect the operation. Addressing advances (mod + 1) until the next \"lord mark is sensed before the instruction is executed. Most instnlCtions for the 1440 must have a word mark following the instruction in core storage. This word mark is normally associated with the corestorage location immediately following the instruction itself. Figure A-2 shows examples of the combinations possible in variable-length instruotions. Instruction Format. This is the format of the particular instruction described. The mnemonic operation code used for Autocoder is given. LA LB La LI LM Lp LQ LR Ls Lw Lx Lz I/o FM l Ns S8 TM Length of the A field Length of the B field Lenglh of Multiplicand field Length of Instruction Length of Multiplier field Length of Product field Length of Quotient field = Length of Divisor field Number of significant digits in Divisor (excludes high-order zeros and blanks) or Number of Characters per Sector Length of A or B field, whichever is shorter Number of characters to be cleared Number of characters back to rightmost zero in control field = Timing for Input or Output cycles Forms movement times = Number of fields included in an operation = Number of disk sectors = Number of characters in disk sector = Tape movement time. This time is determined as follows: Nc = Number of characters in the record. C Character rate. For the 7335, this is .050 ms 556 characters per inch. CNc ms TAU interlocked. Read: 20.5 7.7 CNc ms = Processing unit interlocked. Write: 20.3 CNc ms = TAU interlocked. 5.0 CNc ms = Processing unit interlocked. Note: See Magnetic Tape Timing section. = = + + + + Figure A-3. Timing Formula Coding ABBREVIATION Function. This is the function of the instruction. Word Marks. This is the effect of the word marks with regard to data fields. Timing. When the instruction-execution timing is always a constant, the actual time in milliseconds is given. When the instruction-execution time can vary because of field length or chaining, the formula is given. Figure A-3 is the key to the abbreviations used in the formulas. Notes. These are special notations or additional information pertaining to the operation. NUMBER OF POSITION OPERATION INSTRUCTION FORMAT 1 No Operation Op Code 2 Select Stacker Op Code ~ d -Character 2 4 Unconditional Branch Op Code B I-Address 400 5 Write Mark Tape OpCode I-Address O/OU2 d - Character M 7 Add A-Address 075 B -Address 423 A-Address O/OUI B-Address 731 = MEANING A A-address of the instruction B B-address of the instruction NSI Address of the next sequential instruction BI Address of the next instruction if a branch occurs LA The number of characters in the A-field LB The number of characters in the B-field Lw The number of characters in the A- or B-field, whichever is smaller Ap The previous setting of the A-address register Bp The previous setting of the B-address register dbb The d-character and blank in the units and tens position. The actual d-charCicter is shown wlien possible. b! ~ Op Code A 8 Write Tape Op Code .!:. Figure A-2. IBM Figure A-4. Address Registers after Operation Coding Address Registers After Operation. The contents of the address registers are represented by the codes described in Figure A-4. d - Character W Chaining. This assists the programmer in determining whether instruction-chaining can be used effectively. 1440 Instruction Format Examples A-3 In some cases, chaining proves useful even though it would not ordinarily be used. For example, another instruction can be chained to the MOVE CHARACTERS AND EDIT instruction if the programmer can use the contents of the address registers to advantage. When considering the use of chaining, be certain that the contents of the address registers are valid for all conditions relating to the instructions involved. (Refer to the specific instruction section.) Example. A practical application of the instruction is described and shown as a label for the 1440 Autocoder language, with the label of a typical actual machine address (in parentheses). These examples for the instructions are representative, and are intended as exhibits of typical oorestorage assignments, rather than specific, limited examples. Because the Autocoder Assembler usually establishes exact core-storage addresses for the many instruc.tions of any given program, the programmer need not ordinarily be conoerned, except when the program must be analyzed. The few inflexible addresses of core-storage locations, such as index registers, are shown in the instructions as exact locations. Assembled Instruction. This is the actual machine language instruction that is assembled by the Autocoder processor program from the symbolic entries shown in the example. When an explicit Autocoder mnemonic is used, the op code, A-address, and d-modifier (when required) are automatically generated in most cases (refer to the specific operation in question). Example: The coded instruction to cause information to print on the 1443 might be in the form: W (column 16 of the coding sheet), PRTOUT (written in column 21-26). Assume for the purpose of this example that the label PRTOUT actually represents core-storage location 0101. Autocoder would assemble this coded instruction into actual machine language as follows: M %Y1101 W. In this instance, the machine-language op code (M), the A-address designating the 1443 (0/0 Y1), and the d-modifier character defining the operation as a write (W) were all explicitly defined in the Autocoder mnemonic: W. Example: When an explicit Autocoder mnemonic is not provided, or if the programmer uses a "general" mnemonic, the A-address and the d-modifier must be written as part of the operand: MU (column 16-17), unit address %Y1 (starting in column 21), B-address (starting next), and the specific dA-4 Autocoder OPERAND Assembled Instruction: Figure A-5. M %Yl 101 W M %Yl 101 W !:!l %Yl 101 W Typical Autocoder Instruction Statements character W (last). In this case, the results are the same: M %Y1101 W. Example: The instruction can be coded entirely in machine language, if desired. In this case, the actual op code is written in column 19, and the d-modifier character is written in column 20. Figure A-5 illustrates three posible methods of coding to obtain the same result. The label PRTOUT could have been substituted for the actual machine address 101 if this label and core-storage location 101 had been equated elsewhere in the program. Example: In other cases, the actual machine language op code is implied by the Autocoder mnemonic, but the d-modifier character must still be coded in the operand, such as for the BRANCH IF CHARACTER EQUAL (BCE ) instruction. Here, the machine language op code (B) is explicit, but the flexibility of the d-character requires that the programmer code the d-modifier. Programming Note, 1440 Autocoder Assembly The 1440 Autocoder Assembler checks for the following valid Select Stacker ( SS) mnemonic d-modifiers: o 1442 Read/Punch stacker 2 (second attached device) 2 1442 Read/Punch stacker 2 (first attached device) # 1444 Read/Punch stacker 2 The programmer using the Direct Data Channel and other features or devices must recognize and check the SS mnemonic d-characters for accuracy, if they do not agree with the preceding list. The assembler halts and prints an error message if other d-modifier characters are used for the SS mnemonic. If this assembly halt occurs, refer to Autocoder (On Disk) Program Specifications and Operating Procedures for IBM 1401, 1440, and 1460 (Form C24-3259). IBM 1441 Processing Unit The IDlv[ 1441 Processing Unit (Figure A-6) is the controlling center of the IDM 1440 Data Processing System. The processing unit can be divided into two sections: 1. TIle arithmetic-logical section 2. The contTol section The arithmetic-logical section performs such operations as addition , subtraction, transferring, comparing, and storing. By adding the multiply-divide special feature, the 1441 can perform direct multiplica tion and division. This section also has logical ability - the ability to test various conditions encountered during processing and to take the action called for by the result. The control section directs and coordinates the entire system as a single multipurpose machine. These functions involve conh'olling the input/ output units and the arithmetic-logical operation of the processing unit, and h'ansferring data to and from storage. This section directs the system according to the procedure originated by the programmer. Figure A-6. IDM 1441 Processing Unit Magnetic Core Storage The IDM 1441 Processing Unit houses the magneticcore storage area (Figure A-7) that is used by the 1440 sys tem for storing the instructions and data. The data in each core-storage position is available in 11.1 microseconds. The design of the core-storage control circuits makes each position individually addressable. This means that an insh'uction can designate the exact storage locations that contain the data needed for that step. The physical make-up of each core-storage location enables the IDM 1441 to perform arithmetic operations directly in the storage area . This is called add-tostorage logic. Language In the punched-card ar ea of data processing, the language of the machine consists of holes punched in a card. As data processing needs increase, the basic card language remains the same. But in the transition from unit-record systems to the IDM 1440 Data Processing System, and from there to other computer systems, another faster, more flexible machine language emerges. Just as each digit, letter in the alphabet, or special character is coded into a card as a punched hole 01' a combination of punched holes, it is coded into magnetic storage as a pattern of magnetized ferrite cores. Figure A-7. Magnetic Core Storage A-5 Note that the check bit is not part of the character configuration when the number of BA8421 bits that represent the character is odd. It appears only for those characters where the number of bits BA8421 is even. The automatic inclusion of the check bit changes the configuration of the character from an even number of bits to an odd numbet· of bits. Thus, all characters shown in Figure I-I are shown in the odd-parity mode. Information introduced into the system is translated to the binary-coded-decimal form for use in all data flow and processing from that point on, until it is translated into printed output as reports and documents are written, or converted to punched-card code, for punched-card output. Converting input data to the 1441 internal code, and subsequently reconverting, is completely automatic. Processing Processing is the manipulation of data from the time it is introduced to the system as input until the de- sired results are ready for output. The following functions are performed in the IBM 1441 Proce1ssing Unit. Logic Figure A-B. The Letter A Represented in BCD Form in Core Storage Many different code patterns can be set up. The internal code used in the IBM 1440 Data Processing System is called binary-coded decimal (Figure A-8). All data and instructions are trans,lated into this code as they are stored. The numbers 0 through 9 are represented by a single bit, orr a combination of bits designated 1, 2, 4, 8. Disregarding the C- or check bit, bits 2 and 8 stand forr 0, bits 1 and 2 for 3, bits 1 and 4 for 5, bits 2 and 4 for 6, bits 1, 2, and 4 for 7, and bits 1 and 8 for 9. Letters and special characters are represented by a combinations of numerical bits (8421) and zone bits. B- and A-bits, in combination, correspond to the 12-zone punch. The B-bit corresponds to the 11zone punch, and the A-bit to the O-zone punch. The letter C, for e~ample, which is the third letter in the 12-zone of the alphabet (card code 12-3), is a combination of BA21 bits. BA is the same as 12, and 21 is the same as 3. This covers six of the seven possible bits that are used to represent a character. The seventh bit (C) is a built-in checking feature that the computer automatically supplies. A-6 The logic function of any kind of data processing system is the ability to execute program steps; but even more, it is the ability to evaluate conditions and select alternate program steps on the basis of those conditions. In unit-record equipment, an example of this logic is selector-controlled operations based on an X-punch or No X-punch, or based on a positive or negative value, or perhaps based on a comparison of control numbers in a given card field. Similarly, the logic functions of the 1440 system control comparisons, branching (alternate decisions similar in concept to selector-controlled procedures), move and load operations (transfer of data or instructions ), and the general ability to perform a complicated set of program steps with necessary variations. Arithmetic The IBM 1441 Processing Unit can add, subtract, multiply, and divide. Multiplication and division can be accomplished in any 1440 system, by programmed subroutines. When the extent of the calculations might otherwise limit the operation, a special multiply-divide feature is available. Editing As the term implies, editing adds significance to output data by punctuating and inserting special characters and symbDls. The 1440 system has the ability to perform this function, automatically, with simple program instructions. Internal Checking Advanced circuit design is built into the 1440 to assure accurate results. Self-checking with the system consists of parity and validity checking. Parity Checking The IBM 1441 checks characters at variDUS IDcatiOins in the unit for odd-bit configurations. The 6-hit, binary-coded-decimal internal language used by the 1440 also has a check bit fDr odd-bit checking purposes, and a word-mark bit. The check bit is added to all characters that would otherwise have an even number Df bits. Example: A character P has a binary-coded decimal equivalent Df B 421. The check bit is added to give this character an add number of bits (C B 4 2 1) . If the character has a wDrd mark assDciated with it, the ward mark is included in the test far odd-bit parity. Example: If the character P has a word mark, the check bit is not added because the bit canfiguration is odd (WM B 4 2 1). Whenever a parity error occurs, a cons Die light turns an, indicating the place where the errDr occurred (see IBM 1447 Console, Form A24-3031). Validity Checking Validity checking is perfai"med to detect illogical bit combinations within the systems. The type af validity checks performed are: 1. The autput from the adder is checked fOir a logical numeric code. 2. The operation register is checked so that Dnly valid operation codes are processed. 3. The storage address register is checked to make sure the core-s,torage addresses are valid addresses within the core-storage address range of that particular processing unit. Depending Dn the corestorage size, the units and/ or hundreds address pDsitions contain zone bits that specify blocks of addresses. Refer to Addressing System section for detail informatian. These zDne-bit combinations are checked to make sure the cambinations are addressing an available core-stDrage address. A check is made to' see if the lower or upper limits af core storage have been passed. This check is called an end-around check and is made at all times except for three special operations: clear storage, storage scan, and storage print-aut. The madificatian of the low-order position of core storage by -1, except during a clear storage operatian, or the modificatiDn of the high-order positiDn of core starage by +1, except during stDrage scan and starage print-aut operations, causes an invalid operation and a system stop. 4. Of the 4096 bit configurations (2 to the 12th power) possible in a given card column, only 64 are recognizable characters. (See Card ImaglL Feature sectian.) All other bit canfiguratians are considered invalid during the data transfer from the read side af the card read-punch into core starage. A detected check condition turns on the card read validity check light. Depending an the I/O oheck stop switch setting on the 1447, the system also stops ar a pragram-testable indicator is set ON. System Checking Conditions The following procedures should be observed if a system check occurs. (These check conditions may also indicate a system failure.) Process Error (Functions Not Affected by Process-Check Stop Switch) These errors indicate that one of the follDwing conditions has occurred. (Regardless of the positiDn of the pracess-check stOlP switch, a system stop results.) Op Register: An invalid op code has been sensed. Either the system feature that uses this op code is nat on the system, or a pragramming error is indicated. Determine the cause of the failure befare attempting to continue the job. Storage Address Register: An invalid address has been read into the address register ( s ). This may indicate an attempt to use an uninstalled feature. Process Error (Functions Affected by Process-Check Stop Switch) These errors can be reset by the BRANCH ON PROCESS instruction (0/0 d-modifier), or by operation of the check-reset key on the console. The branch instruction is Dnly effective when the pracess-check stop switch is OFF. ERROR A-7 A-Register Error: This error indicates that an invalid (or an out-of-parity) character has been sensed in the A-register. B-Register Error: This error indicates that an invalid (or out-of-parity) character has been sensed in the B-register. 2. Press the start key on the 1442 and on the console. 3. The card will be repunched. Note: If the programmer elects to ignore the punch error, or enter a subroutine in case of a punch error, he can program a BRANCH IF PUNCH ERROR instruction (! d-modifier), if the I/O check-stop switch is off. Punch Error (1444) Arith Error: This indicates that an arithmetic error occurred in the logic control unit. Storage Error: This indicates that an error occurred in main core storage. 2. Remove remaining cards from the hopper. 3. Non-process run-out the cards in the machine. Printer Error 4. Discard the error card (last card in stacker before the non-process run-out operation). If the print-check light is on: 1. Note the contents of the I-address register on the console. 5. Discard the two cards that were run out of the machine feed. 2. Press the check-reset key on the printer. 6. Press the start keys on the 1444 and on the console to continue processing. 3. Manually branch to the address location where the error occurred. This address is equal to the previously noted con~ents of the I-address register, minus 8. 4. Press the start key on the printer to re-execute the print command. . If the punch-check light is on: 1. Remove and save any cards in the punch stacker. Note: The programmer can branch past a printer error if the I/O check-stop switch is off by executing a BRANCH IF PRINTER ERROR instruction ( :f:: d-modifier). Reader Error 7. The card will be repunched. See Note following Punch Error (1442). Addressing Instructions and data used for processing in the 1440 system are contained in the core-storage area. Each core-storage position has its own unique address. The IBM 1441 Prooessing Unit is available in five different core-storage oapacities. If the reader-check light is on: 1. Remove the cards in the stacker ( s ) . Model A2: 2,000 core-storage positions Model A3: 4,000 core-storage positions 2. Remove the cards (if any) in the hopper. Model A4: 8,000 core-storage positions 3. Non-process run-out the remaining cards into the stacker. Model A5: 12,000 core-storage positions Model A6: 16,000 core-storage positions 4. Place the two non-processed cards in the read hopper. 5. Pres'S the start key on the card reader, and the start key on the console, to re-execute the read operation. Note: The programmer may wish to branch past a reader error. If the I/O check-stop switch is off, a BRANCH IF READER ERROR instruction (? d-modifier) can be executed. Punch Error (1442) If the punch-check light is on: 1. Discard the last card in the stacker. Note: This card must be retained if it contains source information. A-8 Addressing System Every core-storage position in the IBM 1440 Data Processing System can be addressed with a 3-character address. To address 16,000 core-storage positions with only three characters, various zone-bit configurations are added over the hundreds position and units position of the address. The zone-bit configuration over the hundreds position specifies the thousands position of core storage up to 3999. No A- or B-bit over the hundreds position specifies that the address is the, actual address (000999). An A-bit over the hundreds position of the address specifies another group of 1,()()() core-storage positions (1000-1999). A B-bit over the hundreds posi- CODED ADDRESSES IN STORAGE ACTUAL ADDRESSES 000 to 999 1000 to 1099 1100 to 1199 No zone bits :f: 00 to 1200 to 1299 1300 to 1399 1400 to 1499 1500 to 1599 1600 to 1699 1700 to 1799 1800 to 1899 1900 to 1999 2000 to 2099 2100 to 2199 2200 to 2299 2300 to 2399 2400 to 2499 2500 to 2599 2600 to 2699 2700 to 2799 A-bit, using O-zone B-bit, using 11-zone 2800 to 2899 2900 to 2999 3000 to 3100 to 3200 to 3300 to 3400 to 3500 to 3099 3199 3299 3399 3499 3599 3600 3700 3800 3900 3699 3799 3899 3999 to to to to 3-CHARACTER ADDRESSES 000 to 999 /00 to SOO to TOO to UOO to Voo to WOO to XOO to =1= 99 /99 S99 T99 U99 V99 W99 X99 YOO to ZOO to 100 to JOO to KOO to Loo to MOO to 1'100 to *000 to POO to QOO to ROO to ?OO to Y99 Z99 199 J99 K99 L99 M99 1'199 099 P99 Q99 R99 ?99 AOO to A99 BOO to B99 A-B-bit, using 12-zone COO 000 EOO FOO to to to to C99 099 E99 F99 GOO to G99 HOO to H99 100 to 199 *Letter 0 followed by two digits. Figure A-9. Core-Storage Address Coding (000 to 3999) tion of the address specifies another group of 1,000 core-storage positions (2000-2999). Both the A- and the B-bit over the hundreds position of the address specify another group of 1,000 core-storage positions ( 3000-3999 ). By using these zone-bit combinations, 4,000 positions of core storage can be addresS'ed with a 3-character address (Figure A-9). The same principle used 1,OOO-blocks of core storage core-storage blocks of 4,000 configuration over the units block of 4,000 core-storage dressed. to specify the various is also used to specify positions. The zone-bit position specifies which positions is being ad- No A- or B-bit over the units position specifies the 4,OOO-block in core storage that contains positions 0000-3999. An A-bit over the units position specifies the 4,OOO-block in core storage that contains positions 4000-7999. A B-bit over the units position specifies the 4,000-block in core storage that contains positions 8000-11999. Both the A- and the B-bit over the units position specifies the 4,OOO-block in core storage that contains positions 12000-15999. By combining the 3digit address with zone-bit combinations over the hundreds and/or units position, it is possible to address 16,000 core-storage positions (Figure A-10). Data-Field Addressing A data field in core storage is addressed by specifying the low-order (units) position of the field in the A- or B-address of the instruction. The data field is usually read from right to left until a word mark in the highorder position is sensed. ,. ACTUAL ADDRESSES 0000 1000 to to 0999 ZONE BITS OVER HUNDREDS POSITION ZONE BITS OVER UNITS POSITION 3-CHARACTER ADDRESSES No Zone Bits 000 ::fOO too 100 to to to to 999 Z99 B·Bit (11-Zone) AB-Bits (12-Zone) No Zone Bits No Zone Bits No Zone Bits to to 99Z Z9Z to to R9Z 19Z 99R Z9R No Zone Bits A-Bit (Zero-Zone) 2000 to 1999 2999 3000 to 3999 4000 5000 to to to 5999 No Zone Bits A-Bit (Zero-Zone) A-Bit (Zero-Zone) A-Bit (Zero-Zone) 00:f ::f0=t= to 6999 7999 B-Bit (ll-Zone) AB-Bits (12-Zone) A-Bit (Zero-Zone) A-Bit (Zero-Zone) 10=1= to to to to 8999 9999 10999 11999 No Zone Bits A-Bit (Zero-Zone) B-Bit B-Bit B-Bit B-Bit to to to 12999 13999 14999 to 15999 6000 7000 8000 9000 10000 11000 12000 13000 14000 15000 Figure A-lO. IBM 4999 B-Bit (11-Zone) AB-Bits (12-Zone) No Zone Bits A-Bit (Zero-Zone) B-Bit (ll-Zone) AB-Bits (12-Zone) (ll-Zone) (ll-Zone) (ll-Zone) (ll-Zone) AB-Bits AB-Bits AB-Bits AB-Bits (12-Zone) (l2-Zone) (12-Zone) (12-Zone) !O:f to! to to to ?Ol to OO? :fO? to to to OO! ::fO! 10? ?O? to R99 199 R9R 19R 991 Z91 R91 191 1440 Addressing System (000 to 15,999) A-9 Instruction addressed by high-order position STORAGE ADDRESS 400 INSTRUCTION ~ Core-Storage Area Assignment 401 402 403 404 405 406 407 (NSI) 5 4 2 5 6 0 WM Op code The word mark associated with the next sequential instruction (NSI) stops the reading of this instruction. A-address f STORAGE ADDRESS DATA 536 537 538 539 540 541 542 543 0 0 2 5 3 4 7 .! v 1440 Register Operation A-field Word mark identifies high-order position of A-field. B-address STORAGE ADDRESS DATA + 553 554 555 556 557 558 559 560 561 Q 4 6 0 1 2 3 1 .i. I y B-field The IBM 1440 Data Processing System operates on and processes data to produce a desired result by executing a series Oof instructiOons. A series of instructions designed to solve a problem is knOown as a program. Because these instructions are retained in core stOorage, it is mOore properly called a stored program. The processing unit must interpret an instruction and perform the function prescribed by the instructiO'n. To do this, various types Oof devices that are capable of receiving information, storing it, and transferring it as directed by control circuits are used. These devices are known as registers. The 1440 has seven registers, four are address registers and three are character registers (Figure A-12) . Word mark identifies high-order position of B-field. Figure A-U. There are two areas in core storage that are used for specific purposes. Core-storage pO'sitiO'ns 001-081 are used in cO'njunction with a program-load operation and core-storage positions 087-089, 092-094, and 097099 are used as three index registers when the indexing and store address register special feature is installed. All other core-storage positiO'ns are always available for normal use, and the areas just mentiO'ned can be used for other system opera tiO'ns when. they are not being used as specified. Data and Instruction Addressing Instruction Addressing An ins,truction in core storage is addressed by giving the high-oTder (operation code) position of the instruction. All operation codes mus.t have a word mark. (This word mark is normally set by the loading routine when the instructions are loaded.) The machine reads an instruction from left to right until it senses the word mark asociated with the next sequential instruction. The final ins.truction in the program must have a word mark set at the right of its low-order position. (The word mark is not needed if the instruction is an UNCONDTIoNAL BRANCH, SET WORD MARK, or CLEAR STORAGE I ~ Core Storage -. B Register A Register -. I AND BRANCH). Example: Instruction address 400 (Figure A-II) contains the operation code for the following instruction: Op Code A A-address B-address 542 560 When this insltruction is executed, the data in the A-field is added to the data in the B-field: 0025347 04601231 04626578 The result is stored in the B-field. A-IO Storage Address Register - • t I-Address Register ~ Figure A-12. A-Address Register 1 , B-Address Register t Processing Unit Registers Op Register Address Registers There are four address registers in the IBM 1441 Processing Unit. One register controls the program sequence, and two other registers control the data transfer from one storage location to another. The fourth register specifies which storage location is active during a particular storage cycle. The tens position of an address register never actually stores an alphabetic or special character. This informa tion is decoded as it is read in, and the numeric portion of the character is stored. The decoding determines unit-addressing or indexing. I-Address Registel'. The 1- (Instruction) address register always contains the storage location of the next instruction character to be used by the stored program. The number in this register is increased by one as the instnlCtion is read from left to right. A-Address Registel'. The A-address register contains the storage address of the data in the A-address portion of an instruction. Normally, as the instruction is executed, the number in this register is decreased by 1 after each storage cycle that involves the A-address. Note: If the A-address portion of the instruction does not contain a core-storage address (for example %Gx) the contents of the A-address register are not altered as the instruction is executed. B-Address Register. This register contains the storage location of the data in the B-address portion of an instruction. Normally, as a storage cycle involving the B-address is exeouted, the storage address in the B-address register is decreased by 1. Storage-Address Register. The storage-address register always contains the address of the core-storage position that will be involved in any data movement during that particular machine cycle. Character Registers The A- and B-character registers, the Arith register, and the Op-register are single-character registers used to store data during the execution of an instruction. Op Registel'. The Op- (Operation) register stores the operation code of the instruction in process for the duration of the operation. The operation code is stored in BCD code, including the check bit but excluding the word mark. B-Registel'. Each character leaving core storage enters the B-register. The character is stored in 8-bit form (BCD code, check bit, and word mark). The Bregister is reset and filled with a charaoter from core storage on every storage oycle. A-Register. The A-register is reset and filled with the character from the B-register during each storage cycle that involves the A-address, and during all instruction cycles except the first and last 1- (Instruction) cycle of each instruotion. Data is stored in 8-bit form. A1'ith Register. This 6-bit register contains the results of the B-register±the A-register. During arithmetic functions, this character is normally routed to main storage. Note: Information can be written back into core storage directly from either the. A- or B-register, or from the Arith register. Figure A-13 shows the I-phase of an operation and gives a detailed schematic for loading a 7-character instruction on the operation-code register, in the A-and B-registers and in the 1-, A-, and B-address registers. Eight storage cycles are required to load the complete instruction in the register. Each storage cycle requires .0111 ms. Note: The A- and B-address registers contain 3-character addresses. The addresses shown in this schematic are 4-digit addresses because the storage display lights on the console show 4-digit addresses. Refer to Figure A-9 for the relationship between 3- and 4-digit addresses. Chaining Instructions In some programs, it is possible to perform a series of operations on several fields that are in consecutive storage locations. Some of the basic operations, such as add, subtract, move, and load, can be chained so that less time is required to perform the opocations, and space is saved in storing instructions. Here is an example of the chaining technique: assume that four 5-position fields stored in sequence are to be added to four other sequential fields. This operation could be done using four 7-character instructions: A 700 850 A 695 845 A 690 840 A 685 835 At the completion of the first instruction, the Aaddress register contains 695 and the B-address register contains 845. These are the same numbers that are in the A- and B-addresses in the second instruction. (Executing the second and third instructions also results in A- and B-addresses that.-are the same as.. the A- and B-addresses of the third and fourth instructions.) Eighty storage cycles would be required to A-ll CYCLE loOp Instruction Location OPERATION The operation code enters the B-register and the Op-register. Because this is the first I-cycle, the A-register is undisturbed. IAI5 B Register A Register 10 111 9 17 1 W [!] [I] 1-2 The A-address register is reset to blanks during the first part of the cycle for all instructions. The B-address register is reset to blanks during the first part of the cycle for all operations except Move, Load, Store A- and Store B-address Register operation. During the 1-1 cycle, the second instruction character (first character of the A-address) enters the thousands and hundreds positions of the A- and B-address registers and the A-register by the way of the B-register. The third character of the instruction enters the tens position of the A- and B-address registers, and the A-register through the B-register. I Register lopI9181 OP Register W I Register I OJ 11 9 19 1 OP Register ~ 1-3 The fourth instruction character enters the units position of the A- and B-address registers, and the A-register through the B-register. I Register I 01 2,01 0 I OP Register ~ 1-4 The B-address register is reset at the beginning of this cycle. The fifth instruction character (first character of the Baddress) enters the hundreds position of the B-address register, and the A-register through the B-register. I Register I 1-6 1-7 The sixth instruction character goes to the tens position of the B-address register, and the A-register through the Bregister. OP Register The seventh character of the instruction (Jast character of the B-address) enters the units position of the B-address register and the A-register through the B-register. The first character of the next instruction enters the Bregister only. Because this is the last I-cycle for this instruction, the A-register and the Op-register, the A- and B-address registers are undisturbed. The detection of a word mark associated with this character signals the machine that this is the Op code for the next instruction. The loading operations stops, and the instruction that was just loaded is executed. Note that the I-address register contains the address of the high-order position of the next sequential instruction. Figure A-13. A-12 Instruction Loading Schematic 1 0 12 10 12 A Address Register 111111111 B Register o 1 B Address Register 1 11111111 o A Address Register 10151 b l b l B Register Cycle 2 B Address Reg.ster 10 15 1bl b 1 A Register o GJ A Address Register 10151 6 1b Cycle 1 A Register ! 10 1516 1b 1 A Register [2] G A Address Register 1 0 15 16 17 1 Cycle 3 B Address Register B Register B Register OJ 2 , 0 11 ] I Register 1-5 I 7 I Til I 2 I S I I Register OP Register 1-1 16 1197119811991200j2011202120312041 Cycle 4 B Address Register 1 0 15 16 17 1 A Register o [!] Cycle 5 A Address Register B Address Register 10 / 5 16 17 1 /1131 bl b 1 B Register A Register GJ GJ Cycle 6 OP Register A Address Register B Address Register [A] 1 0 15 16 17 1 1 1r 31 11 b I I Register B Register 10,2, 0 13 1 ~ OP Register I Register A Register o A Address Register B Address Register 10 /5 16 17 1 /11311 12 1 B Register A Register / 0 ,2, 0 14 1 OP Register ~ Cycle 7 Cycle 8 A Address Register 10 15 16 17 1 B Address Register 111311 12 1 execute these instructions, thus using up .888 ms. Also, 28 storage positions are required to store these instructions. By taking advantage of the fact that the A- and B-address registers contain the necessary information to perform the next instruction, this same sequence of operations can be excuted as follows: A 700 850 A A A Connecting instructions together in this manner is called chaining. The first add instruction contains both the A- and B-addresses. The following three instructions contain only the operation code for those instructions. The A- and B-addresses are the results left in the A- and B-address registers from the pl'evious instruction. This type of operation requires 62 storage cycles, and takes .688 ms to execute. Storing these chained instructions requires only ten storage positions. The ability to chain a series of instructions does not depend on the use of the same operation code. Chained instructions may have various op codes. To be operated on, the A-fields must be in sequence, and the B-fields must be in sequence. Example: A 900 850 M A M Assume that the data fields are each ten characters long: The The The The ten ten ten ten characters characters characters characters at at at at location 900 were added to 850. location 890 were moved to 840. location 880 were added to 830. location 870 were moved to 820. The description of each instruction includes the contents of the address registers after the operation has been performed. Figure A-4 shows the abbreviations that indicate the cDntents of these registers. By using this information, the prDgrammer can determine the status of the registers and decide whether chaining is practical in specific cases. Note: Instructions that do not contain core-storage addresses cannot be chained. For example, M %Gn xxx R is a READ CARD instruction. The card read-punch-is signaled as the machine reads the instruction. Although the A-address register contains %7n after the operation, chaining is impossible because the machine does not select the unit from the contents of the A-address register. Most single-address instructions (op code and an A-address) cause the A-address to be inserted in both the A-address and B-address registers (for example, A xxx). However, execution of MOVE, LOAD, or STORE ADDRESS REGISTER instructions does not disturb the Baddress register, and permits the programmer to use the previous contents of that register as part of the instruction. All branch instructions (Dp code and I -address) depend on whether the indexing and store address register special feature is installed Dn the system: 1. With the special feature installed, the B-address register contains the address of the next sequential instruction, if a branch occurs. 2. Without the special feature installed, the B-address register is cleared to blanks whenever a branch Dccurs. Address Modification It becomes necessary in some 1440 programs to perform the same operations repetitively, with a change only in the A- or B-address. Changing of an address while retaining the rest of the instruction is called address modification. Address mDdification can result in savings in the number of program steps and in storage requirements. In some cases, the program itself determines if, and how, addresses are to be changed to perform the correct program steps for conditions arising during data processing. The methods that can be used to modify addresses on a specific system depend on the core-storage capacity of that system. On 1440 systems equipped with 2,000 or 4,000 positions of core stDrage, address modification is accomplished by either using modulus 4 arithmetic or installing the indexing and store address register special feature. On 1440 systems equipped with more than 4,000 positions of core storage, the two previously mentioned methods of address modifioation can be used. However, these systems have a MODIFY ADDRESS instruction that greatly simplifies address modification. Modulus 4 Arithmetic Method When modifying addresses by modulus 4 arithmetic, the modified address should be located in the same 4,OOO-block of core storage as the original address. A-13 This is because a zDne-bit DverflDw Df Dver three in the hundreds pDsition Df the address cannot be transferred to' the units positiDn Df the address. TO' set up a workable modulus 4 system, these digital values are assigned the four possible zone-bit configuratiDns that appear in the hundreds position: No A, No B-bit = 0 A-bit = 1 B-bit = 2 A- and B-bit = 3 As can be seen, the highest possible digit is three. Values in excess of three are equal to' that value minus TO' decrease an address, a different means must be used. Modulus 4 arithmetic operates for addition only. Decreasing an address requires the additiDn of a CDmplement, rather than doing a conventional subtract operation. In systems equipped with 2,000 Dr 4,000 CDre-storage positions, the 16,000's complement of the decrement figure is added to the address to be modified (modulus 16 arithmetic). Decrease address 879 by 148 879 - 148 = 731 y 4th 1,000-block of a 4,000-block { A+A B AB A+B NoANoB B+ B NoANQB A + AB A + NoANoB = A B + AB A B + NoANoB = B AB + AB B Figure A-14. or or or or or or or or 1+ 1= 2 1+2=3 2+2=0 1+3=0 1+0=1 2+3=1 2+0=2 3+3=2 16,000 - 148 = 15,852 (852 or H5B) 16,000's complement of 148 FIELD B B A fDur. FDr example, a value Df five is represented as a value of 1 (Figure A-14). \j Address mDdification to' a higher address in the 000-999 address range is: B A j 731 Address modification to an address greater than 1000 is: Increase address 912 by 314 912 + 314 = 1226 or S 26 S = A2 (Overflow in high-order position sets an A-bit using modulus 4 arithmetic and turns on the arithmetic overflow indicator.) Increase address 1754 (X54) by 1204 (S04) 1754 + 1204 = 2958 X54 + S04 = R58 X = (A7) S = (A2) Using the rules of modulus 4 arithmetic, A + A = B-bit, the new address is: 958 with a B-bit over the high-order position (B9 = R) or R58 (2958). A-14 B A \j 879 B A This is a nDrmal add operatiDn with no Dverflow involved. FIELD A B A A-Bit and B-Bit Values Increase address 472 by 345 472 + 345 = 817 ! ! }4th 4,000-block Result after overflow (arithmetic overflow indicator set ON) The add operation is performed as shown. The A-field figure is added to the B-field figure. The digital result is 731 and the arithmetic overflow indicator is set ON. Because an add operation has taken place, the units position ends up with a plus sign (an A- and a B-bit). The arithmetic overflow in the hundreds position adds an A-bit to the A- and B-bits already there, resulting in a zone-bit configuration of no A- and no B-bit (see Figure A-14). The A-bit addition increases the zone-bit value to 16. A value of 16, according to modulus 16 rules, has a new address value of 0 (000999 core-stDrage address block). This means that 731 is the actual address. Modulus 4 arithmetic is normally used in 1440 systems that contain 2,000 or 4,000 core-stDrage positions. With care, this address modification method cDuld be used Dn systems with more core-storage capacity. However, this is not generally practical because 1440 systems with more than 4,000 core-storage positions are equipped with the MODIFY ADDRESS instruction. Autocoder OPERAND :'. Assembled Instruction: # Modify Address Instruction Method IBM 1440 systems with more than 4,000 core-storage positions can easily modify any address by using the MODIFY ADDRESS instruction. Figure A-I5. 985 ! ~ T13 Modify Address (Two Addresses) Modify Address (One Address) Modify Address (Two Addresses) Instruction Format. Instruction Format. Mnemonic MA Op Code # A-address AAA Location Contents 3-Character Address Actual Address A-address B-address A-field B-field B-field 100 L2F M2F 100 14326 14426 Word Marks. Word marks are not affected, and are not requited to define the A- or B-fields. If word marks are present, they are ignored and remain unchanged in both fields. = .0111 (LI + 9) ms. Note: Rules for the addition of zone bits are the same as in modulus 4 arithmetic, with one addition. This instruction makes it possible to reflect the hundreds position zone-bit overflow in the units position when the address is modified to a higher 4,000-block of core storage. When a zone-bit overflow occurs during the hundreds position modification, an additional cycle is executed to adjust the units position zone-bit configuration. A-Add. Reg. A-3 Function. This format of the MODIFY ADDRESS instruction caus~s the 3-character field, specified by the A-address, to be added to itself. The result is stored in the A-field. Word Marks. Word marks are not required to define the A-field. If they are present, they are ignored and remain undisturbed in the A-field. Timing. T = .0111 (LI + 9) ms. Address Registers After Operation. I-Add. Reg. NSI B-Add. Reg. A-lor A-3 A-Add. Reg. A-3 Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code. Example. Double the address labeled ADDC (2956), and store the result at ADDC (Figure A-16). Autocoder Address Registers After Operation. I-Add. Reg. NSI A-address AAA # B-address BBB Function. This instruction causes the 3-character field, specified by the A-address (A-field), to be added to the 3-character field" specified by the B-address (Bfield). The result is stored in the B-field. The three numerical portions and the zones of the units and hundreds positions of the B-field make up the 3character result. For example: Timing. T Op Code Mnemonic MA OPERAND B-Add. Reg. B-1 or B-3 Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code. Example. Add the 3-character address labeled ADDA (0985) to the 3-character address labeled ADDB ( 1313); Figure A-15. ! ~. Assembled Instruction: # Figure A-16. :' ! ~ R56 Modify Addre.ss (One Address) Indexing Method Any 1440 system can modify addresses by installing the indexing and store address register special feature. A complete description of this feature can be found in the Special Features section. A-iS II System Operations The operations performed by an IBM 1440 Data Processing System can be arranged into these general classifications: 1. Arithmetic operations 2. Logic operations 3. Data-moving operations 4. Miscellaneous operations 5. Edit operation TYPE OF OPER. o. Plus Plus Minus plus No A· or B·Bit A· and B·Bits B·Bit Only A-Bit Only No Zone 12 Zone 11 Zone OZone Figure B-l. Sign Bit Equivalents Sign - Bits of A - Field A 0 0 Compl. Add - True Add - - True Add - + Compl. Add - Compl. Add + True Add SIGN OF RESULT + Compl. Add Sign of Field with larger magnitude + - Sign of Field with larger magnitude + Types of Add Cycles and Sign of Result A A A B B A B AB A B AB A B B B AB AB AB AB AB A B AB When: A> B A AB AB A AB AB B B B B A AB AB When: A5:B A B AB A B AB AB AB B AB A B AB When: A>B B B B B B B B B A AB AB B B B B When: A5:.B AB AB B AB AB AB B AB A B AB AB AB B AB Resultant Sign S U B TYPE OF ADD CYCLE Figure B-1 shows the four possible eombinations of zone bits and the values of the signs they represent. The standard machine method of signing a field is to indicate a positive factor with A- and B-bits (12zone), and to indicate a negative factor with a B-bit (II-zone) . The arithmetic operations in the IBM 1440 Data Processing System are performed by using one of two types of add cycles incorporated in the system. The two types of add cycles are: 1. true add 2. complement add The type of add cycle performed depends on the arithmetic operation and the signs and values of the two factors involved (Figure B-2). Because all arithmetic operations are perlormed with algebraic sign eontrol, the sign of the result depends both on the operation, and on the magnitude and signs of the factors involved (Figure B-3). A Sign-Bits of B-Field + Figure B-2. All arithmetic functions are performed under complete algebraic sign control. The sign of a factor is determined by the combination of zone bits in the units position of the fields specified by the instruction being executed. CARD CODE CONFIGURATION + - True Add + - S U B TR A C T The IBM 1440 Data Processing System adds and subtracts, by applying the add-to-storage method of operation. The two factors to be combined are added within core storage without the use of special accumulators or counters. Because· any stOTage area can be used as an accumulator field, the capacity for performing arithmetic funetions is not limited by standard-size accumulators or by a predetermined number of accumulators within the system. In arithmetic operations, the 1440 system considers blanks and zeros the same. An unsigned field is considered positive by the system. BCD CODE BIT CONFIGURATION B·FLO. SIGN A D+ Arithmetic Operations SIGN A·FLD. SIGN Resultant Sign Figure B-3. Zone-Bit Table for Add and Subtract Operations B-1 (+ B) + (+ A) =+ R FIELD B 0065 FIELD A + 0017+ I QQ.!L. • + Result 0082 + (- A) = - (- B) R FIELD B 0016 0009 ...... FIELD A 00091 True Add A true-add cycle is specified when the total number of minus signs is an even number (0 or 2). The signs considered are the signs of the factors and the sign of the operation. The sign of the result after a true-add cycle carries the original sign of the B-field when either an add or a subtract operation is performed (Figure B-4). _-------.....1 Result 0025 - Complement Add (+A) (- B) - = - R FIELD B FIELD A 0025 0011 + 0011 ......----------~I Result 0036(+ B) - (-A) = +R FIELD B 0036 + 0062 ...... Result 0098 + FIELD A 00621 ----------.....1 (- B) + (+A) =± FIELD B 0036 9982 ~ 9982 FIELD A 0017 + -----'I (Recomplementing Unnecessary) (+B) + (-A) =± (- B). + (+A) R FIELD B FIELD A 0055 00349965 ~ 9965 -----....II 1 Initial Carry Result + Carry + 002T ~ Result 0019 (+ B) + (-A) = ± R FIELD B FIELD A 0034 + 00559944 ~ 9944 - - - - - -....1 Initial Carry No Carry Result 9979 + l Recomplementing Necessary Recomplement cycle with sign conversion (Recomplementing Unnecessary) (+ B) (+A) =± R FIELD B FIELD A 0085 + 0073 + 9926 ~ 9926 ------....II Initial Carry Carry Result 0012 + (Recomplementing Unnecessary) (- B) - (-A) =± R FIELD B FIELD A 0078 00569943 ~ 9943 _ _ _ _ _..J1 Result 0022 - Initial Carry Carry (Recomplementing Unnecessary) B-2 True-Add and Complement-Add Cycle Examples (+A) =± R FIELD B 0073 FIELD A 0085 9914~9914----_...1 Initial Carry No Carry Result 9988 + ~ + + Recomplementing Necessary Recomplement cycle with sign conversion Result 0012 (- B) - (-A) =± R FIELD B FIELD A 0056 0078 9921 ~ 9921 ------....II Initial Carry No Carry Result 9978 - ~+ Result 0022 Figure B-4. R Recomplementing Necessary Recomplement cycle with sign conversion + Result 0021 - (+ B) - = ± FIELD B FIELD A 0017 0036 9963 ~ 9963 - - - - I _ _1 Initial Carry Result 9981No Carry + R Initial Carry Carry Result 0019 - An uneven number of minus signs (lor 3) specifies a complement-add cycle. The system converts the Afield factor to its nines complement figure and adds it to the B-field factor (plus one initial carry). The Figure B-5. Recomplementing Necessary Recomplement cycle with sign conversion Complement-Add (with Recomplement) Cycle Examples 2. If a recomplement cycle is taken: T = .0111 (LI + 1 + LA + 3LB ) ms. system then initiates a carry test to determine whether a carry occurred from the high-order position of the B-field. The presence of a carry indicates that the result in the B-field is a true figure (Figure B-4). The original sign of the B-field is the sign of the result. If there was no carry from the high-order position of the B-field, the result in the B-field is not a true figure. A recomplement cycle is performed to convert the result to a true figure. In an add operation that results in a negative figure, the sign of the result is always changed during a recomplement cycle, (Figure B-5). The system generates the new sign automatically. A positive factor is indicated by the presence of an Aand B-bit over the units position of the factor. After a complement-add cycle, the sign of the result carries the sign of the field with the larger magnitude. If the multiply-divide special feature is installed, the 1440 timing for a recomplement cycle is: T = .0111 (LI + 1 + LA + 2LB ) ms. Notes. 1. Sign control (see Figure B-2): If a recomplement cycle is taken, the sign of the B- (result) field is changed and the result is stored in true form. 2. Zone bits: If the fields to be added contain zone bits in other than the high-order position of the B-field md\ the sign positions of both fields, only the digits are used in a true-add operat~on. B-field zone bits are removed except, for the units and highorder positions in a true-add operation. If a complement add takes place, zone bits are removed from all but the units positions of the B-field. An accumulator field positioned in the last few available core-storage locations, such as units position of the field in 3999, will cause a wrap-around error, if an arithmetic function involving recomplementation is performed. 3. Overflow indication: If an overflow occurs during a true-add operation, the overflow indicator is set ON, and the overflow indications are stored over the high-order digit of the B-field. When the Afield exceeds, or is equal to, the B-field length, and the A-field position that corresponds to the high-order B-field position contains a ~one bit, this zone bit is added to any zone bits present in the high-order B-field position. First overflow Second overflow Third overflow Fourth overflow Add (Two Fields) Instruction Format. Mnemonic A Op Code Result Condition Arithmetic Instructions A-address AAA For subsequent overflows repeat conditions 1 through 4. Overflow indication does not occur for a I-position field. The BRANCH IF ARITHMETIC OVERFLOW INDICATOR ON, Il (III) Z, instruction tests and turns off the overflow indicator, and branches to an instruction or group of instructions if an overflow condition occurred. There is only one overflow indicator in the system. It is turned off either by executing a BRANCH IF ARITHMETIC OVERFLOW INDICATOR ON instruction or pressing the start reset key on the 1447 operator panel. Overflow indication does not occur for a I-position field. B-address BBB A Function. The data in the A-field is added algebraically to the data in the B-field. The result is stored in the B-field. Word Marks. The B-field must have. a defining word mark, because it is this word mark that actually stops the add operation. The A-field m~st have a word mark, only if it is shorter than the B-field. In this case, the transmission of data from the A-field stops after the A-field word mark is sensed. Zeros are then inserted in the A-register until the B-field word mark is sensed. If the A-field is longer than the B-field, the highorder positions of the A-field that exceed the limits imposed by the B-field word mark are not processed. For overflow conditions and considerations, assume that the A-field is the same length as the B-field. (See Address Modification.) Timing. 1. If the operation does not require a recomplement cycle: T = .0111 (LI + 1 + LA + L B ) ms. A-bit B-bit A- and B-bits No A- or B-bits Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. B-LB A-Lw Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by 'supplying only the operation code. Example. Add CURERN (0506) to YTDGRO (0708), (Figure B-6). Autocoder ~ OPERAND :', : Label , : Assembled Instruction: Figure B-6. A 506 70s Add (Two Fields) B-3 Add (One Field) I nstl'tlction Format. Mnemonic Op Code A A A-address AAA Function. This format of ·the ADD instruction causes the data in the A-field to be added to itself. 2. Subtract - recomplement cycle necessary: T = .0111 (LI + 1 + LA + 3Ln) ms. H the multiply-divide special feature is installed, the 1440 timing for a recomplement cycle is: T = .0111 (LI + 1 + LA + 2L B ) ms. Note. If a recomplement cycle is taken, the sign of the B( result) field is changed, and the result is stored in true form. Address Registers After Operation. Word Marks. The A-field must have a defining word mark. It is this word mark that stops the add operation. Timing. T = .0111 (LI I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI A-Lw B-Ln Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying' only the operation code. + 1 + 2L A) ms. Address Registers After Operation. I-Add. Reg. A·Add. Reg. B-Add. Reg. NSI A-LA A-LA Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Example. Subtract CUFICA (00753) from CURGRO ( 0896 ); Figure B-8. Autocoder Example. Add to itself the data at EXEMPT (0981), (Figure B-7). Assembled Instruction:! 753 Figure B-S. Autocoder 896 Subtract (Two Fields) Subtract (One Field) Assembled Instruction: Figure B-7. A 981 Instruction Format. Add (One Field) Mnemonic S Op Code A-address .~ AAA Subtract (Two Fields) Instruction Format. Mnemonic S Op Code A-address S AAA B-address BBB Function. The numerical data in the A-field is subtracted algebraically from the numerical data in the B-field. The result is storeif in the B-field. Refer to Figure B·, 2 for the sign that results from a specific subtract operation. Function. The data at the A-address is subtracted from itself. If the A-field sign is minus, the result is a minus zero. If the A-field sign is plus, the result is a plus zero. 'Vord Marks. The A-field must have a defining word mark. Timing. T = .0111 (LI + 1 + 2LA) ms. Address Registers After Operation. Word Marks. A word mark is required to define the B-field. An A-field requires a word mark, only if it is shorter than the B-field. In this case, the A-field word mark stops transmission of data from the A-field. Timing. 1. H the operation does not require a recomplement cycle: T = .0111 (LI + 1 + LA + L B ) ms. B-4 I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI A-LA A-LA Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Example. Subtract from itself the field labeled LIMIT (units position is 0395); Figure B-9. Autocoder Zero and Add (One Field) OPERAND ~'. Assembled Instruction:! Figure B-9. ~ Instruction Format. 395 Mnemonic Op Code ZA ? Subtract (One Field) Function. This format of the ZERO AND ADD instruction is used to strip the A-field of all zone bits, except in the units (sign) position. The A-field sign is retained. If the A-field plus sign bit configuration is not an Aand B-bit, it is changed to the A- and B-bit configura tion. Zero and Add (Two Fields) Instruction Format. Mnemonic Op Code ZA ? A-address AAA B-address BBB Function. This instruction functionally adds the A-field to a zeroed B-field. Technically, this is accomplished by moving the A-field to the B-field. The high-order positions of the B-field are set to zero if the B-field is larger than the A-field. The data from the A-field moves directly from the A-register to storage. Zone bits are stripped from all positions except the units position where the resultant sign will be represented in standard form. Blanks in the A-field are stored as blanks in the B-field. Word Marks. A word mark is required for definition of the B-field. It is required in the A-field, only if it is shorter than the B-field. If the A-field is shorter than the B-field, all extra high-order B-field positions contain zeros. But the transmission of data from A stops when the A-field word mark is detected. Word Marks. The A-field must have a word mark in its high-order position. Timing. T = .0111 (LI + 1 + 2LA) ms. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A-LA = .0111 (LI + 1 + LA + L B ) ms. Example. Strip zone bits from TOTAL (0560) area (Figure B-11). Autocoder I' OPERAND label :: Figure B-ll. Note. The sign of the result always has both A- and B-bits if it is positive. If the sign is negative, it has only a B-bit. 1. ~ I 560 Zero and Add (One Field) Zero and Subtract (Two Fields) Instruction Format. Address Registers After Operation. I-Add. Reg. NSI B-Add. Reg. A-LA Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Assembled Instruction: Timing. T A-address AAA A-Add. Reg. A-Lw B-Add. Reg. B-LB Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Example. Zero WHTAX area (0796-0802) and add new TAX (0749-0754) to WHTAX (Figure B-10). Mnemonic Op Code ZS ! A-address AAA B-address BBB Function. This instruction functionally subtracts the A-field from a zeroed B-field. Technically, this is accomplished by moving the A-field to the B-field. The high-order positions of the B-field are set to zero if the B-field is moved directly from the Aregister to the B-field. Zone bits are stripped from all but the sign (units) position. The sign is represented in standard form. Blanks in the A-field are stored as blanks in the B-field. Autocoder OPERAND :'. Assembled Instruction: Figure B-lO. 1 754 Zero and Add (Two Fields) 802 ~ Word Marks. A word mark is required to define the B-field. If the A-field is shorter than the B-field, the A-field must have a defining word mark to stop transmission of data to B. The extra high-order Bfield positions contain zeros, if A is shorter than B. B-5 = .0111 (LI + 1 + LA + L Timing. T ms. B ) Note. If the A-field is positive, the B-field result is negative. If the A-field is negative, the B-field result is positive. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A-Lw B-Add. Reg. B-LB Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Example. Zero ACCUM1 (0755) and subtract TAXEXP (0699) from ACCUM1; Figure B-12. Autocoder ~ Label 1\ 1fzperati9 1 21:'5 ~o Assembled Instruction: 1 699 Figure B-12. ~5 :0 OPERAND ~!! ~o 755 Function. This instruction changes the A-field sign, and strips all A-field zone bits, except in the units ( sign) position. Word Marks. The data in the A-field requires a word mark in its high -order position. Timing. T = .0111 (LI + 1 + 2LA) ms. Address Registers After Operation. I-Add. Reg. NSI • A-Add. Reg. A-LA B-Add. Reg. A-LA Chaining. This instruction can be chained to the preceding operation ( if that instruction left usable address-register contents) by supplying only the operation code. Example. Subtract LI~nT (0495) from zero, and change sign of LIMIT's value (Figure B-13). Zero and Subtract (Two Fields) Autocoder Zero and Subtract (One Field) Label Ie Instruction Format. Mnemonic ZS B-6 40 .: Assembled Instruction:! 495 Op Code ! A-address AAA Figure B-13. Zero and Subtract (One Field) Function. This instruction always causes the program Logic Operations The 1440 program can test for certain conditions that may arise during processing, and can transfer the program to a predetermined set of instructions or subroutines, as a result of these specific tests. The operations that perform these testing operations are called logic operations. For example, if an overflow occurs in an arithmetic operation, a routine to handle this conditon can be initiated by executing a BRANCH IF ARITHMETIC OVERFLOW INDICATOR ON instruction. Branching to this routine is called a conditional branch. The sequential execution of program steps is bypassed, and the program branches to the address of the instruction specified by the I -address of this conditional branch instruction. If the condition had not been present, the system would have started reading the instruction that appears at the immediate right of the conditional branch instruction (next sequential instruction). All conditional branch instructions have a d-character that is used to specify the conditions necessary for a program transfer. A branch that occurs as a direct result of the execution of the instruction itself is called an unconditional branch. No special condition (other than the execution of the program step) is needed to transfer the program out of its normal sequential execution. Any branch operation that terminates with a successful branch to another portion of core storage for the next instruction address operates as follows: to branch to the address specified by the I -address position of the instruction. This address contains the op code of some instruction. This unconditional branch operation is used to interrupt normal program sequence, and to continue the program at some other desired point, without testing for specific conditions. Word Marks. The instruction is executed correctly if the core-storage position next to the I-address units position contains either a blank or a word mark. Timing. Branch (without indexing): T = .0555 ms. Branch (with indexing): T = .0666 ms. Address Registers After Operation. I-Add. Reg. Branch (without indexing) NSI Branch (with indexing) NSI A-Add. Reg. B-Add. Reg. BI blank BI NSI Example. Unconditionally branch to AGAIN (3498); Figure B-14. Autocoder OPERAND label :~ Assembled Instruction:! Figure B-14. ~ , 098 Branch (Unconditional) • The B-address register is reset to blanks during the next ins'truction operation (I-op) cycle. • If the indexing and store address register special feature is installed on the system, the next sequential instruction (NSI) is placed in the B-address register and during the following instruction the B-address register is not set to blanks. This s,tored address can then be operated on by the store B-register feature to facilitate re-entry into the main program after the subroutine to which the branch occurred is completed. Branch if Indicator On Instruction Format. Mnemonic See Figure B-15 Op Code B I-address III d-character d Function. The d-character specifies the indicator tested. If the indicator is on, the next instruction is taken from the I-address. If the indicator is off, the next sequential instruction is taken. Figure B-15 shows commonly used valid d-characters, the indicators they test, and the conditions that turn the indicators off. Refer to the Appendix forr full listing. Logic Instructions "lord Marks. Word marks are not affected. Branch (Unconditional) Instruction Format. Mnemonic Op Code B B I-address III Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. B-7 MNEMONIC BRANCH ON d - CHARACTER RESET BY BC9 BCV @ Carriage Channe I # 9 Carriage Channel # 12 Branch Test or Channel 1 Punch BPB P Printer Busy Machine Circuitry BIN+ =t= Printer Error with BLC A "Last Card" Switch (sense switch A) First Card Read Punch BLC 2 & "Last Card II Switch (sense switch A) Second Card Read Punch BIN+ BIN+ ? I Read } If I)0 Chec k Stop SWitch • •IS Off P hError E unc rror Branch Test BSS BSS BSS BSS BSS BSS + + + + + + B C D E F G Sense Sense Sense Sense Sense Sense System Operator BAV BIN+ Z % Arithmetic Overflow Processing Check with Check Stop Switch Off Branch Test N Access Inoperable Access Busy Disk Read or Write Error Wrong - Length Record Unequa I - Address Compare Any - Disk Condition Next Disk Storage Operation Unequa I Compare (B 'I A) Equa I Compare (B = A) Low Compare (B < A ) High Compare (B> A) Next Compare or Disk Storage Operation End of Reel Tape Error Branch Test 9 I/o Check Stop Switch Off Branch Test Manual System Operator (Switch) or next card feed cycle BIN+ BIN+ BIN+ BIN + BIN+ BIN + BU BE BL BH \ (left'Oblique) V W X Y / S T U BEF BER K L (Diagonal) Switch Switch Switch Switch Switch Switch B C D E F G + d - Character must be coded in the operand portion of the instruction. Figure B-15. Frequently Used Conditional Branch Instructions (See Appendix for Complete List) Branch if Character Equal Address Registers After Operation. All d-charaoters. I-Add. Reg. No Branch NSI Branch (without indexing) NSI Branch (with indexing) NSI A-Add. Reg. B-Add. Reg. BI dbb BI blank BI NSI 1nstruction Format. Mnemonic BCE Example. Test for last card. If it is the last card, branch to END (0599); Figure B-16. Autocoder OPERAND Label 40 Assembled Instruction:! Figure B-16. B-8 Branch If Indicator On 599 A :5. ~ Op Code B I-address III B-address BBB d-character d Function. This instruction causes the single character at the B-address to be compared to the d-character. If the comparison is equal, the program branches to the I -address for the next instruction. If the two characters are not the same, the program continues with the next sequential instruction. Word Marks. Word marks in the location tested have no effect on the operation. Timing. No Branch: T = .0111 (LI + 2) ms. Branch (without indexing): T = .0111 (LI + 2) ms. Branch (with indexing): T = .0111 (LI + 3) ms. MNEMONIC d -CHARACTER BW 1 Word mark BWZ 2 No zone (No A, No B-bit) Address Registers After Operation. BWZ 3 Either a word mark, or no zone I-Add. Reg. A-Add. Reg. B-Add. Reg. N~ ill B-1 Branch (without indexing) NSI BI blank Branch (with indexing) NSI BI NSI BWZ B 12 zone (A B- bits) BWZ C Either a word mark, or 12 zone BWZ K 11 zone (B, No A -bit) BWZ L Either a word mark, or 11 zone BWZ S Zero zone (A, No B-bit) BWZ T Either a word mark, or zero zone ~B~~ Chaining. This instruction can be chained to the preceding operation ( if that instruction left usable address-register contents) by supplying only the operation code. Example. This example shows how the chaining method can be used to test an entire field for blank characters. Each position in the area labeled AMOUNT (0350,0349,0348 and 0347) is individually tested for a blank character. If a blank is found, the program branches to BLANK (0601) for the next instruction. If the position tested contains a character, the program continues in sequence (Figure B-17). Figure B-18. CONDITION Branch If Word Mark and/or Zone Mnemonics, d-Characters and Conditions Timing. No Branch: T = .0111 (LI + 2) ms. Branch (without indexing): T = .0111 (LI + 2) ms. Branch (with indexing): T = .0111 (LI + 3) ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. B-1 No Branch NSI BI blank Branch (without indexing) NSI BI NSI Branch (with indexing) NSI BI Autocoder Assembled Instruction:! 601 350 bl ! ! ! Figure B-17. Branch If Character Equal Branch if Word Mark or Zone Chaining. This instruction can be chained to the preceding operation ( if that instruction left usable address-register contents) by supplying only the operation code. Example. Test the units position of GROAMT (2498) for an II-zone, and branch to NEGRTE (0598) for the next instruction. If the!l"e is no II-zone, continue the program sequence (Figure B-19). Autocoder t Instruction Format. Mnemonic Op Code See Figure B-18 V I-address III OPERAND :' Label B-address d-character BBB d Assembled Instruction: Function. This instruction examines the character located at the B-address for the zone or word-mark combinations specified by the d-character. A correct comparison branches the program to the specified I-address. If the program does not branch to the I-address, it continues with the next sequential instruction. The d-characters, the associated mnemonics, and the conditions they test are shown in Figure B-18. Word Marks. These have been explained previously. Figure B-19. Y 598 M98 ~ K Branch If Word Mark and/or Zone Compare Instruction Format. Mnemonic C Op Code .Q A-address AAA B-address BBB Function. The characters in the B-field are compared to an equal number of characters in the A-field. The B-9 comparison turns an an indicator that can be tested by a subsequent BRANCH IF INDICATOR ON instruction. The indicator is reset by either the next COMPARE instruction or the next disk-storage operation. The same indicators set by the COMPARE instruction are also affected by a disk operation (seek, read, write, and write check). The disk-storage drive performs an address-compare operation automatically on the address in core storage, with the address on the disk record, by using the compare circuits and by setting the appropriate indicator (equal, high, or low). Therefore, careful consideration must be made in the use of a COMPARE ins true., tion and subsequent BRANCH IF INDICATOR ON instructions for testing the results of the COMPARE instruction when disk operations are to' be performed. *. blank • tJ [ < & $ ~ ] ; ~ - / , % y \ ......'" # @ : > V? A through 1 ! J through R =t= S through Z 0 through 9. Address Registers Afte1' Operation. I-Add. Reg. NSI Timing. T = .0111 (Lr + 1 + 2Lw) ms. Note. Both fields must have exactly the same bit configurations + to be equal. For example, OO? (? = 0) compared to OO! ( ! = 6) results in unequal comparison. All characters that can appear in storage can be compared. The ascending sequence of characters is: Example. Compare the department numbers punched in two cards. Department numhers are located in: Label DEPTNO DEPTCD 1 2 Actual Address 1098 0004 Then test the results of the compare operation. If the department numbers are equal, continue the program in sequence. If they are unequal, branch to' TOTAL ( 0495) for the next instruction (Figure B-20). Autocoder Figure B-20. B-IO B-Add. Reg. B-Lw Chain!ng. This ~nstru~tion can be chained to the precedmg operatIOn (if that instruction left usable add~ess-register contents) by supplying only the operation code. When camp are operations are chained, the compare-result indicators are set by the first unequal condition encountered in the composite field. Card Word Marks. The first word mark encountered staps the operation. If the A-field is longer than the Bfield, metra A-field positions at the left of the B-fieJd ward mark are not compared. If the B-field is longer than the A-field, an unequal-compare results. In this case, the high-compare indicator is set ON. A-Add. Reg. A-Lw Compare Assembled Instruction: C 004 .! 495 =F 98 / Data-Moving Operations Move Chuacterl to A or B Word Mark (One Field) The 1440 data-moving operations are used to manipulate data within core storage during processing. Depending on the specific operation, one character, a group of characters, or a part of one character can be involved in the operation. A move operation does not affect word marks, but a load operation causes word marks as well as data to be transferred. 1nstruction F orrYUlt. Data-Moving Instructions Move Characters to A or B Word Mark (Two Fields) Instruction Format. Op Code M Mnemonic MLC A-Address AAA B-Address BBB Function. The data in the A-field is moved to the Bfield. vVord Marks. If both fields are the same length, only one of the fields must have a defining word mark. The first word mark encountered stops the operation. If the word mark is sensed in the A-field, the machine takes one more B-cycle to move the highorder character from A to B. At the end of the operation, the A-address register and the B-address register contain the addresses of the storage locations immediately to the left of the A- and B-fields processed by the instruction. The data at the A-address is unaffected by the move operation. Word marks in both fields are undisturbed. Timing. T = .0111 (LI + 1 + 2Lw) ms. Mnemonic MLC Word Marks. A word mark is required in the highorder position of the A- or B-field. The first word mark encountered stops the move operation. Address Registers After Operation. Example. Move the 5-character field NAMIN (0750) to the 5-character field NAMOUT (0850), Figure 12-21. Autocoder Figure B-2l. B-Add. Reg. Bp-Lw Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code, or the operation code and the A-address. Example. Move the following three fields (labeled EMPNO, DEPTNO and TAXCLS) and store them sequentially at RECOUT (units position at 0204), Figure B-22. Note: If the B-address register already contains the correct address, the B-Iabel of the first instruction in the example can 'he eliminated. Employee number Department Tax Class A-label A-actual address B-label B-actual address EMPYNO 0101-0104 0201-0204 DEPTNO 0108-0110 0205-0207 TAXCLS 0114-0115 RECOUT 0208-0209 Autocoder t '*1 :: : : : i : : ~ 750 . ~ 850 Move Characters to A or B Word Mark (Two Fields) O~MND 0. : : : : Assembled Instruction:!! !! !! Figure B-22. :'. r~ \g li!::~~ : :::~ ::: OPERAND label Assembled Instruction: A-Add. Reg. A-Lw I-Add. Reg. NSI B-Add. Reg. B-Lw Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code, or the operation code and the A-address. ~ = .0111 (LI + 1 + 2Lw) ms. Timing. T Address Registers After Operation. A-Add. Reg. A-Lw A-address AAA M Function. This format of the move operation can be used when it is desired to move fields from the Aarea and store them sequentially in the B-area. It saves program storage space and time, because the B-address is automatically taken from the B-address register, and does not have to be written or interpreted as part of the instruction. Note. If the fields are unequal in length, chaining can produce unwanted results, because one of the fields has not been completely processed. Thus, one of the registers will not contain the address of the units position of the left-adjacent field. I-Add. Reg. NSI Op Code 115 110 104 209 Move Characters to A or B Word Mark (One Field) Move Characters and Suppress Zeros Instruction Format. Mnemonic MCS Op Code Z A-address AAA B-address BBB B-11 Example Op Code Move Char. and Suppress Zeros A-address xxx xxx A-field (data) B-field (data) .1.. Storage before B-address Example. Move and suppress the zeros in the 10character Held labeled INVBAL (0958) to the area labeled OUTPT4 (0448), Figure B-25. Autocoder OPERAND :', ± llbbbbbb Q01206 ± Storage after Figure B-23. Move Characters and Suppress Zeros Operation Example Function. The data in the A-field is moved to the Bfield. After the move, high-order zeros and commas are replaced by blanks in the B-field. Any character that is not a comma, hyphen, blank, significant digit, or zero causes zero suppression to begin again. The sign is removed from the units position of the data field. Refer to Figure B-23 for a move characters and suppress zeros operation example. Figure B-24 is another example of a move characters and suppress zeros operation involving a multiple field transfer. In this operation there are effectively two groups of high-order zeros. The @ sign is recognized as not being a significant digit or a zero, blank, comma, decimal, or minus sign. Thus, not only are the two high-order zeros suppressed, but also the two zeros to the right of the @ sign. Word Marks. The A-field word mark stops transmission of data. B-field word marks, encountered during the move operation, are erased. Timing. T = .0111 (LI + I + 3LA ) ms. Note. This description of the instruction assumes a 1440 system without the expanded print edit special feature. If the feature is installed, a decimal does not restart zero suppression. (See Special Features section.) A-Add. Reg. A-L 40 B-Add. Reg. B+1 Chaining. This instruction is not normally chained. Example Move Char. and Suppress Zeros Storage before Op Code ;£;. Figure B-25. A-address B-address xxx xxx A-field (data) B-field (data) 448 Move Characters and Suppress Zeros Move Characters to Record Mark or Group Mark with a Word Mark Instruction Format. Mnemonic MRCM Op Code p A-address AAA B-address BBB Function. This instruction makes it possible to move an entire record from one core-storage area to another, regardless of the presence of word marks in either field. The A-and B-addresses specify the high-order position of the respective areas. Transmission starts from the high-order addresses, and continues until a record mark (A82 bits) or a group mark with a word mark (CBA8421WM bits) is sensed in the A-field. The record mark or group mark transfers to the B-field. Word "Nlarks. Word marks within the area do not affect the operation. Any word marks in the B-field remain unchanged. A-field word marks are not transmitted to the B-field. Timing. T = .0111 (LI + 1 + 2LA ) ms. Address Registers After Operation. I-Add. Reg. NSI Address Registers After Operation. I-Add. Reg. NSI Assembled' Instruction: ~ 958 bbb1206 .201206 . ~ A-Add. Reg. A + LA (Tlte length of the AHerd' includes the group mark with a word mark or record mark) B-Add. Reg. B + LA Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. ± .Q01 Ob @ 00.25 bbbbbbbbbbbb ± Storage after Q01 Ob @ 00.25 bbb lOb @ bb.25 I Figure B-24. B-12 Move Characters and Suppress Zeros Operation Example Example. Move the disk record that has its high-order character in the location labeled TARCIN (0679) to another area of core storage beginning at the label WTAREC (0985), Figure B-26. Autocoder ~ OPERAND :'. Label Assembled Instruction:! Figure B-26. 679 . ~ 985 Move Characters to Record Mark or Group Mark with a Word Mark Function. Only the zone pOi'tion (AB bits) is moved from the A-address to the B-address. The digit portions (8-4-2-1 bits) are undisturbed at both addresses. The entire character in the A-address is left undisturbed. Word Marks. Word marks are not required at either the A- or B-addresses, because this instruction involves a single character. Move Numeric Timing. T = .0111 (LI + 3) ms. Instruction Format. Op Code D Mnemonic MLNS A-address Address Registers After Operation. B-address BBB AAA Function. The numerical portion (8-4-2-1 bits) of the single character in the A-address is moved to the Baddress. The zone portions (AB bits) are undisturbed at both addresses The entire character in the Aaddress is left undisturbed. Word Marks. Word marks are not required at either adch:ess, because the nature of the instruction always specifies that only one digit is to be transmitted. Timing. T = .0111 (LI + 3) ms. I-Add. Reg. NSI B-Add. Reg. B-1 A-Add. Reg. A-I Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Example. Move the zone bits from the units position of NEWBAL ( 3100 ) to the area labeled REC2 ( 3195); Figure B-28. Autocoder OPERAND :' 40 Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A-I B-Add. Reg. B-1 Assembled Instruction:! AOO A95 Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Figure B-28. Example. Move the numerical portion of the units position of ONHAND (0986) to OUT5 ( 0789), Figure B-27. Load Characters to A Word Mark (Two Fields) Autocoder ~ Move Zone Instruction Format. Mnemonic Or Code A-address MLCWA L AAA B-address BBB OPERAND :'. Assembled Instruction: Figure B-27. ~ 986 . 789 Move Numeric Move Zone MLZS Op Code y Function. This instruction is commonly used to load data intO' designated printer O'r punch output areas of storage, and alsO' to' transfer data or instructions from a designated read-in area to' another storage area. The data and word .mark from the A-field are transferred to the B-field, and all other wai'd marks in the B-field are cleared. Word Marks. The A-field must have a defining word mark, because the A-field word mark stops the operation. Instruction Format. Mnemonic ~ A-address AAA B-address BBB Timing. T = .0111 (LI + 1 + 2LA ) InS. B-13 Note: If the B-field is larger than the A-field, the B-field word mark is not cleared. Address Registers After Operation. I-Add. Reg. NSI Timing. T B-Add. Reg. B-LA A-Add. Reg. A-LA Word Marks. The A-field word mark stops the operation. Therefore, B-field word marks, beyond the left limit of the A-field, are not cleared. = .0111 (LI + 1 + 2L A ) ms. Address Registers After Operation. Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code, or the operation code and the A-address. Example. Transfer the data and wO'rd marks from REC4 (0950) to OUT8 (0650); Figure B-29. Autocoder I' Label .: ,trati~ , !" OPERAND ~. 39 Assembled Instruction:.!:. 950 ~ I-Add. Reg. NSI A-Add. Reg. A-LA Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code, or the operation code and the A-address. Example. Load the three fields, EMPYNO, DEPTNO, and TAXCLS, with their word marks to sequential locations, beginning at storage location (0201), Figure B-30. 650 A-label Figure B-29. Load Characters to A Word Mark B-Add. Reg. Bp-LA A-actual address Employee EMPYNO 0101-0104 number Department nEPTNO 0108-0110 Tax Class TAXCLS 0114-011.5 B-label B-actual address PRINT 1 0201-0104 0205-0207 0208-0209 Load Characters to A Word Mark (One FieleJ) I nstrtlction Format. Mnemonic MLCWA Autocoder Op Code L A-address AAA Function. This format can be used when several Afields (not necessarily in sequence) are to be loaded sequentially in the B-field. This instruction causes the A-field data and word mark to' be moved to the B-field. B-field word marks are cleared, up to the A-field wO'rd mark. B-14 Assembled Instruction: L 115 209 T T Figure B-30. 110 104 Load Character to A Word Mark (One Field) Miscellaneous Operations Function. This format of the SET WORD MARK instruction causes a word mark to be set at the A-address. The miscellaneous operations in an IBM 1440 Data Processing System involve the insertion and removal of word marks from specific core-storage locations, the clearing of core-storage areas, programmed halt operations, and other similar operations. Da ta at this address is undisturbed. A word mark cannot be set in core-storage position 000. "V01'd Marks. A word mark is set at the A-address. Timing. T Miscellaneous Instructions Address Registers After Operation. I-Add. Reg. NSI Set Wqrd Mark (Two Addresses) Op Code A-address AAA A-Add. Reg. A-I B-Add. Reg. A-I Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Instruction Format. Mnemonic SW = .0111 (LI + 3) ms B-address BBB Function. A word mark is set at each address specified in the instruction. The data at each address is undisturbed. A word mark cannot be set in core-storage position 000. Example. Set a word mark at AREA2 (2901); Figure B-32. Autocoder OPERAND Word Marks. Word marks are set at both the A- and B-addresses specified. A word mark is not required in the core-storage position following this instruction. Timing. T :~ Assembled Instruction:.!.. Figure B-32. = .0111 (LI + 3) ms. ! ~ ROl Set Word Mark (One Address) Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A-I B-Add. Reg. B-1 Clear Word Mark (Two Addresses) Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Example. Set word marks at locations BEGIN1 (3950) and BEGIN2 (3970); Figure B-31. Autocoder OPERAND :'. Assembled Instruction: , Figure B-3!. 150 170 Set Word Mark (Two Addresses) ~ Instruction F orrnat. Mnemonic Op Code CW D A-address AAA B-address BBB Function. This instruction clears word marks at the locations specified by the A- and B-addresses, without disturbing the data there. A process error occurs if the specified A- or B-address is core-storage position 000 (end-around check condition). Word lvlarks. Word marks are cleared at the A- and B-addresses. Timing. T = .0111 (LI + 3) ms. Address Registers After Operation. I-Add. Reg. NSI Set Word Mark (One Address) Instruction Format. Mnemonic SW Op Code A-address AAA A-Add. Reg. A-I B-Add. Reg. B-1 Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. B-15 Example. Clear the word marks at NETPAY (1924) and ACCUM4 (3309); Figure B-33. Autocoder ~ OPERAND :'. Label .: Assembled Instruction: Q Figure B-33. Z24 ~ (09 Clear Word Mark (Two Addresses) Function. As many as 100 positions of core storage can be cleared of data and word marks when this instruction is executed. Clearing starts at the A-address and continues in des'cending address sequence to the nearest hundreds position. The cleared area is set to blanks (C-bits). Word Marks. Word marks are also cleared, but do not stop the operation. Timing. T Clear Word Mark (One Address) Note: During the execution of this instruction, only the Baddress register is used. Therefore, when chaining is being considered, the contents of the A-address register can be ignored. Instruction Format. Mnemonic 0]) Code CW [J = .0111 (LI + 1 + Lx) ms. A-address AAA Function. This format of the CLEAR WORD MARK instruction causes the word mark to be cleared at the Aaddress. Data at the A-address is not disturbed. A process error occurs if the specified A-address is core-storage position 000 (end-around check condition). ""'ord Marks. vVord marks are cleared at the A-address only. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A B-Add. Reg. x 00-1 Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Example. Clear W AREA5 (0500-0563); Figure B-35. Timing. T = .0111 (LI + 3) ms. Autocoder Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A-I OPERAND ~!! B-Add. Reg. A-I :: • ~ Assembled Instruction:!.. 563 Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Example. Clear the word mark at RECN01 (3608); Figure B-34. Figure B-35. Clear Storage and Branch Instruction Format. Mnemonic Autocoder Clear Storage CS 0]) Code / I-address III B-address BBB 40 Assembled Instruction: Figure B-34. 9 FOa Clear Word Mark (One Address) Word Marks. Word marks do not stop the operation. It is not necessary to follow this instruction with a character and an associated word mark. Clear Storage Instruction Format. Mnemonic CS B-16 Function. This is the same as the CLEAR STORAGE instruction, except that the clearing starts at the Baddress. The I-address specifies the location of the next instruction. 0]) Code / A-address AAA Timing. Without indexing: T = .0111 (7 + Lx) ms. With indexing: T = .0111 (8 + Lx) ms. I Address Registers After Operation. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. Without indexing With indexing NSI NSI BI BI blank . NSI Example. Clear W AREA2 (0800-0898) and branch to START4 (0498) for the next instruction (Figure B-36). I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI A B Example. Leave eight storage positions Dpen for an instructiDn core such as READ CARD M (000) (000) R. The correct instruction can be inserted when needed (Figure B-37). Autocoder ~perati~ $TA;;~ ,LJ,t~£A8 ~' Label OPERAND :', , .: Assembled Instruction:!.. 498 Figure B-36. . ~ 898 Autocoder ~ OPERAND :' Label Clear Storage and Branch ~ Assembled Instruction: N 000 000 0 Figure B-37. No Operation No Operation Instruction Format. Mnemonic Op Code NOP N Function. This cDde performs no operation. It can be substituted for the operation code of any instruction to make that instructiDn ineffective. It is commonly used in program mDdificatiDn to cause the machine to skip over specific instructiDns. InstructiDns that have A-addresses Df %xx Dr @xx should have their A-address field set to valid numeric values (all zeros, fDr example), or all N's with associated wDrd marks to perform anD-operation function successfully. If this is not done, the Aaddress may contain characters that cause indexing and/ or invalid cDre-storage addressing prDblems. Word n,1arks. The program operatiDn resumes at the next DperatiDn cDde identified by a word mark. Timing. T = .0111 (LI In this instance, the address registers after operation would be: A-Add. Reg. 123 Mnemonic Op Code II Function. This instructiDn causes the machine to stop and the stop-key light to' tum ON. Pressing the start key causes the program to start at the next instruction in sequence. Word Marks. WDrd marks are not affected. Timing. T = .0222 ms. Address Registers After Operation. A-Add. Reg. Ap NSI code, these characters enter the A- and B-field registers. For example: 1234 xxxx N A NSI Instruction Format. I-Add. Reg. + 1) ms. Note. If characters without word marks follow an N operation I-Add. Reg. Halt Bp Example. Figure B-38 is a symbolic example Df the HALT instruction. Autocoder OPERAND :' B-Add. Reg. 4bb o OIf this address is subsequently used (chained or stored) an invalid-address check stop condition occurs. (See Instruction Length section.) B-Add. Reg. . ~ Assembled Instruction: • Figure B-38. Halt B-17 Halt and Branch positions is left to the discretion of the programmer, but the system's valid addressing and indexing rules must be followed. The coding (specified by the user) can be entered by a DC statement following the HALT instruction: Instruction Format. Mnemonic Op Code I-address III H Function. This is the sam'e as HALT, except that the next instruction is at the I-address. H DC @J@ and will assemble as : ..:. J Word Marks. Word marks are not affected. Timing. Without indexing: T = .0555 ms. With indexing: T = .0666 ms. A 6-character DC statement will produce a halt with identification which fills both the A- and Bstorage address registers. Address Registers After Operation. Without indexing With indexing I-Add. Reg. NSI NSI A-Add. Reg. B-Add. Reg. BI blank BI NSI Example. Stop the system, and branch to START2 (0895) for the next instruction when the start key is pressed (Figure B-39). Another method is to code a DCW statement where the coded halt is to appear in the program, in the form: DCW @-123456@ This then assembles as: - 123456 Word Marks. A word mark is required in the corestorage position adjacent to the instruction to specify the instruction length. (See Instruction Length section. ) Autocoder ~ OPERAND label ~' ~. ~ = .0111 Halt and Branch Coded Halt I-address B-address Cl C l C2 C 3 Function. These forms of the HALT instruction place coded information in the A- and B-address and dcharacter positions. The coded information is then used to identify the halt. The coding used in these B-18 ms. A-Add. Reg. Ct b b Cl C 2 C a B-Add. Reg. Cl b b C4 C5 C 6 Example. Stop the system, and label the stop as 22 (Figure B-40). Instruction FOl'mat. Op Code + 1) Address Registers After Operation. I-Add. Reg. NSI NSI Mnemonic H (LI Note. The last coded character also appears in the A-register. Assembled Instruction: • 895 Figure B-39. Timing. T Autocoder Label 49 Assembled Instruction: • 022 022 Figure B-40. Coded Halt the result is stored in the B-field. The data field and the cO'ntrol field are read from storage character-bycharacter, under cO'ntrOoI O'f the wO'rd marks and the editing rules. Any sign in the units position of the data field is removed during the operation. Edit Operation The IBM 1440 Data Processing System has a powerful edit instructiOon that can cause all desired commas, decimals, dOollar signs, asterisks, credit symbO'ls, and minus signs to be inserted autOomatically in a numerical output field. Unwanted zerO's to the left of significant digits can be suppressed. Thus, editing in the 1440 system is the automatic cOontrOoI O'f zero suppression, inserting Oof identifying symbOols, and punctuatiOon of an output field (Figure B-41). In editing, two fields are needed: the data field and a control field. The data field is the data edited for output. The contrOoI field specifies how the data field is edited. It specifies the location of punctuation and condition of special characters and indicates where zero suppression occurs. The two fields are operated on character-by-character, under contrO'I of editing rules. The contrOoI word has twOo parts: the body (which punctuates the A-field), and the status portion (which contains the dollar signs, sign-symbO'ls, and class-O'ftO'tal asterisks). The sign O'f the A-field determines whether or not sign symbols will print. The sign of the A-field is removed. To edit a field, a LOAD CHARACTERS TO A WORD MARK instruction loads the control word into the specified printer output area. This puts the control word where the edited information will eventually go. Then, a MOVE CHARACTERS AND EDIT instruction (with the same B-address as the previous load instruetion) performs the editing function as it moves the data into the output area. ' Note: A I-position field cannot be edited. Figure B-42 shows the use of these rules as applied to the data in Figure B-41. Editing Rules Rule 1. All numerical, alphabetic, and special characters can be used in the cOontrol word. However, some of these characters have special meanings: Control Character b (blank) o (zero) . (decimal) , (comma) CR (credit) - (minus) Function This is replaced with the character from the corresponding position of the A-field. This is used for zero suppression, and is replaced with a corresponding character from the A-field. Also the right-most "0" in the control word indicates the right-most limit of zero suppression. This remains in the edited field in the position where written. It is removed during a zerosuppress operation if it is to the left of the high-order significant digit. When used with the expanded print edit feature, it has an additional function (see Expanded Print Edit section) . This remains in the edited field in the position where written. It is removed during a zerosuppress operation if it is to the left of the highorder significant digit. This is undisturbed if the data sign is negative. It is blanked out if the data sign is positive. It can be used in body of control word without being subject to sign control. This is the same as CR. & (ampersand) This causes a space in the edited field. It can be used in multiples. ~ (asterisk) This can he used in singular or in multiples, usually to indicate class of total. When it is used with the expanded print edit feature, it takes on an additional function (see Expanded Print Edit section). $ (dollar sign) This is undisturbed in the position where it is written. \Vhen used with the expanded print edit feature, it has an additional function (see Expanded Print Edit section). Move Characters and Edit Instruction Format. Mnemonic MCE Op Code E A-address AAA B-address BBB Function. The data field (A-field) is modified by the contents of the edit control field (B-field), and Edit instruction OP ~ A-address B-address 300 789 Storage Q0257426 B-field (control word) 1 bbb, bbO.bb & CR & ** B-field Result of edit Q0257426 $ Figure B-41. Editing Operation A-field (data) 2,574.26 ** Rule 2. A word mark in the high-O'rder position of the B-field controls the move characters and edit operation. Rule 3. When the A-field word mark is sensed, the remaining commas in the control field are set to blanks. An A-field wOord mark is required fOor proper operation. Rule 4. The bOody Oof the control word is that portion beginning with the right-most blank or zero, and continuing to the left to the contrO'I character that governs the transfer of the last position O'f the data field. The remaining portion of the control field is the status portion. B-19 ADDRESS REGISTERS Cycle TYPE OF CYCLE 1 2 lop It "8" FIELD A STORAGE AT END OF CYCLE E l!b b b ,b b O. b b & C R & * * 7 7 same REG. 8 A 8 002 ? ? E 003 07bb 07bb 7 I PUT 8ACK INTO REMARKS Read Instr. OP Code Load A Address Register 3 12 004 078b 078b 8 8 8 same Load A Address Register 4 Is 005 0789 0789 9 9 9 same Load A Address Register 5 14 006 0789 03bb 3 3 3 same Load B Address Register 6 Iii 007 0789 039b 0 0 0 same Load 8 Address Register 0 7 16 008 0789 0300 0 0 same Load B Address Register 8 008 0789 0300 01 0 OP same OP code of next instr. 9 h A 008 0788 0300 6 6 6 same Execute EDIT instr. 10 8 008 0788 0299 * 6 * same Rule 1 11 8 008 0788 0298 * 6 * same Rule 1 12 8 008 0788 0297 & 6 Blank i!bbb,bbO.bb&CRb* * Rule 1 13 8 008 0788 0296 R 6 Blank i!bbb,bbO.bb&Cbb** Rule 1 and 5 14 B 008 0788 0295 C 6 81ank i!bbb,bbO.bb&bbb* * Rule 1 and 5 Rule 1 15 8 008 0788 0294 & 6 81ank i!bbb,bbO.bbbbbb** 16 8 008 0788 0293 b 6 6 i!bbb,bbO.b6bbbb** Rule 1 17 A 008 0787 0293 2 2 2 same Rule 1 18 8 008 0787 0292 b 2 2 i!bbb,bbO.26bbbb* * Rule 1 19 A 008 0786 0292 4 4 4 same Rule 1 20 8 008 0786 0291 21 8 008 0786 0290 0 4 4 !! b b b, b b!. 2 6 b b b b * * same 4 Rule 1 Zero Suppress-Rule 1 and 7 22 A 008 0785 0290 7 7 7 same 23 8 008 0785 0289 b 7 7 1bbb,b74.26bbbb* * Rule 1 24 A 008 0784 0289 5 5 5 same Rule 1 25 8 008 0784 0288 b 5 5 .lbbb,574,.2bbbbb* * Rule 1 26 A 008 0783 0288 2 2 2 same Rule 1 27 B 008 0783 0287 , 2 , same Rule 1 28 B 008 0783 0286 b 2 2 11 b b 2 , 5 7 i. 2 6 b b b b * * Rule 1 29 A 008 0782 0286 0 0 0 same Rule 1 30 B 008 0782 0285 b 0 0 i.lb02,574.26bbbb** Rule 1 Rule 1 Rule 1 31 A 008 0781 0285 .Q. 0 0 same 32 B 008 0781 0284 b 0 0 i002,574.26bbbb** Rule 1 33 B 008 0781 0284 1 0 $ $002,574.26bbbb** Sense Word Mark-Rev. Scan-Rule 1 and 6 34 B 008 0781 0285 $ 0 $ same 35 B 008 0781 0286 0 .Q Blank $b02,574,.26bbbb** Rule 6 36 B 008 0781 0287 0 0 Blank $bb2,574.26bbbb** Rule 6 Rule 6 Rule 6 37 B 008 0781 0288 2 .Q 2 same 38 B 008 0781 0289 , .2 , same Rule 6 39 B 008 0781 0290 5 0 5 same Rule 6 40 B 008 0781 0291 7 0 7 same Rule 6 41 B 008 0781 0292 4 0 4 $bb2,574.26bbbb** Rule 6 Figure B-42. B-2O Step-by-step Editing Operation Rule 5. If the data field is positive, and if the CR or - symbols are located in the status portion of the control word, they are blanked out. 2. The special zero is replaced by the corresponding digit from the A-field, when it is detected in the control field. Rule 6. The data field can contain fewer, but must not contain more positions than the number of blanks and zeros in the body of the control word. Dollar signs and asterisks are included in the body of the control word with the expanded print edit special feature. 3. A word mark is automatically set in this position of the B- (output) field. Rule 7. Zero suppression is used if unwanted zeros to' the left of significant digits in a data field are to be deleted (see Figure B-4.3). Zero Suppression Operation Zero suppression is the deletion O'f unwanted zeros at the left of significant digits in an output field (Figure B-43 ). A special 0 is placed (in the body of the control word) in the right-most limit of zero suppression. To perfonn zero-suppression operations properly, there must be at least one character to the left of the zero-su.ppression character in the control woxd. 4. The scan continues until the B-field (high order) word mark is sensed and removed. Reverse Scan: 1. In the output field, blanks replace all zeros and punctuation, except hyphens at the left of the first significant character (up to, and including, the zerosuppression code position). 2. When the automatically-set zero suppression word mark is sensed, it is erased and the operation ends. Timing. T = .0111 (LI + 1 + LA + LB + Lz) ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. suppression NSI B-LB Location of the special control zero plus l. With zel'O Forward Scan: 1. The positions in the output field at the right of this special zero are replaced by the corresponding digits from the A-field. 2010900 A-field Forward scan -. Reverse scan $ bbb109.00 Results of edit $ Control word (B-field) Figure B-43. Zero Suppression B-Add. Reg. Without zero suppression NSI Chaining. This instruction is not normally chained. Example. Edit the data labeled GROPAY (0985) by the edit-control word EDCONT (0325). Store the result in PRINT6 (00250); Figure B-44. $ bb, bbO. bb $ 00,102·00 • 109.00 Autocoder ~ ~~ : : : : : ! : : ;3~0=~~iirz*t: l_' Assembled Instruction:! ! Figure B-44. O~~D ;0: : : : :~ : : : : ::: 325 250 985 250 Move Characters and Edit B-21 • IBM 1447 Console Operations The IBI",I 1447 Cansole (Mad el 1, 2, ar 4) , Figure C-l , is a required unit an an IBM 1440 Data Pracessing System. The cansole cantains the system aperating keys, lights and switches which give the aperatar external cantral far setting up and checking system aperation. Far mare detail on the keys, lights, switches, and aperating procedures, refer to IBM 1447 Console ( Form A24-3031 ). . - - - - - - - - - - - General Mode of Operation M - Move (no word marks involved) L - Load {word marks involved} . - - - - - - - - Operating Input-Output Unit %TO - 1447 Console I/O Printer . - - - - - B - Address The first core-storage position involved in the data transmission operat ion Console Instruction Format A program-initiated data transmission between the IBM 1447 Console ( Model 2 ar 4) and the attached system is started by executing the proper console instruction. If the data h'ansmission is from the 1447 console ta the system, a READ FROM 1447 CONSOLE insh'uctian is executed . The format far the 1447 consale is shown in Figure C-2. The variaus parts af a 1447 console instructian and their uses are: d - Modifier Character R - Read from 1447 console W - Write on 1447 console x XXX Figure C-2. XXX mM X 1447 Console I/ O Printer Instruction Fonnat General Mode of Operation This part of the instructian identifies the operation as either a mave operation 0'1' a laad operation. A mave operation specifies that only the character coding is transmitted. A 10' ad operation specifies that both the character cading and any associated word marks are transmitted. Operating Input/Output Unit This part af the instructian specifies the console I/ O printer as the active input/ autput unit for this operatian. B-Address This part of the instructian specifies the first leftmost core-starage positian that will be invalved in the operatian. d-Modifier Character This part of the instructian specifies the data transmissian directian. An R specifies a cansole printerta-system data transmission; a W specifies a systemta-console printer data transmissian. IBM 1447 Console Instructions Read from 1447 Console Instruction Format. Figure C-l. mM 1447 Console, Model 2 Mnemonic Op Code A-address B-address RCP RCPW M %TO %TO BBB BBB L d-character R R C-l Function. This instruction is used to enter data into core storage from the console I/O printer. The op code specifies the mode of operation. If the operation takes place in the move mode (M Op code), word marks cannot be transmitted from the console printer into core storage. Any word marks already in the area that accepts the message will remain there. If the operation takes place in the load mode (L op code), word marks can be transmitted from the console printer into core storage when the wordmark key is pressed. Any word marks already in the area that accepts the message will be removed. The A-address specifies the consoJe I/O printer as the I/O unit involved in the operation. The Baddress specifies the first core-storage position that accepts data from the consoJe printer. The d-character specifies a console printer-to-system operation. The console operator can start keying the data when the white type light on the console comes ON. The console operator types the data on the console printer and the characters enter core storage, beginning at the location specified by the B-address portion of the instruction. The operator transmits a word mark by pressing the shift key and the word-mark key. The upper case (wo'I'd-mark position) of the period key prints an inverted circumflex. The next character printed to enter core storage will have a word mark associated with it. . When the number of data positions to be entered into core sto'I'age exceeds the number of printing positions on one printer line, the print element automatically returns from the right-hand margin, executes a line feed in operation, and the keying operation continues on the next line. The operation is normally ended when the operator presses the release key. This key operation inserts a group mark with a word mark in core storage, initiates a carrier-return and line-feed operation, and disconnects the printer from the system. The operation can also be ended if a group mark with a word mark is sensed in core storage. This signifies that the input message exceeded the corestorage area capacity and: l. The operation ends and the printer is disconnected from the system. 2. The inquiry clear comes on. (~) indicator in the system 3. The red type light on the console comes on. C-2 4. A carrier-return and line-feed operation is initiated. 5. The keyboard is interlocked. Word Marks. Depends on mode of operation. To end the operation correctly, a group mark with a word mark must be inserted into the 1440 core-storage position to the right of the position that contains the last character sent to the system from the console printer. If in load mode, existing word marks are erased, and new word marks are inserted in corestorage where applicable. Timing. T = .0999 ms + operator keying time. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %30 B-Add. Reg. B + LB + 1 Chaining. This instruction cannot be successfully chained. Example. Transfer the data keyed on the console I/O printer to the area in 1440 core storage labeled INQIN (0785); Figure C-S. Autocoder ~ OPERAND Label .: Assembled Instruction: M Figure C-3. :'. : ~o %TO 785 R Read from 1447 Console Write on 1447 Console Instruction Format. Mnemonic WCP WCPW Op Code A-address B-address M %TO %TO BBB BBB L d-character W W Function. This instruction is used to transfer data from core storage to the console I/O printer. The Op code specifies the mode of operation. If the operation takes place in the move mode, word marks are ignored. The character with an associated word mark in core storage is printed as a character only. Functional control characters cause the specified carrier movement on the console p'I'inter, and the characters do not print. Refer to IBM 1447 Console (Form A24-3031) for functional control characters and associated printer operation. If the operation takes place in the load mode, the word marks are transmitted and printed. The word mark is printed before the associated character is printed. Functional control characters are also printed. The carriell' movement normally specified by the character does ~ot occur. The A-address specifies the console I/O printer as the I/O unit involved in the operation and turns on the white type light if the printer is available for use. The B-address specifies the first core-stOl1'age position of the area that contains the data to be printed. The d-charactell' specifies a system-to-console printer operation. The data reads out of core storage, beginning at the address specified in the instruction and continuing until a group mark with a WOl1'd mark is encountered. The group mark with a word mark ends the operation, but does not print. A carriell'-return operation, with an associated line-feed operation, occurs and the system advances to the next instruction. If the end of a printed line is reached before the group mark with a word mark is sensed, printing is suspended and a carrier-return and line-feed operation is executed. When the carrier reaches the left-hand margin, the print-out operation continues. Word Marks. Depends on mode of operation. Characters in core storage which have associated word marks are preceded on the print-out by an inverted circumflex, when the console-write operation is in load mode. When the console-write is in move mode, word marks are not indicated on the printed output. A group mark with a word mark in COl1'e storage ends the operation. Timing. T = .0999 + 68 (L B ) + 800 (number of carrier return operations) ms. Address Registers After Operation. I-Add. Reg. NSI B-Add. Reg. B + LB + 1 A-Add. Reg. %30 Line Feed Operation The 1447 console printer fonus can be spaced up with the WRITE ON 1447 CONSOLE instruction by addressing a core-storage position containing a group mark with a word mark. See Write on 1447 Console section. Branch if Inquiry Request Instruction Format. Mnemonic BIN I-address III B d-character Q Function. This branch indicator usuaUy signifies that the console I/O printer has a message to send to the system. The indicator turns on during a consoleinquiry operation when the operator presses the type key. Note: Refer to IBM 1447 Console, Fonn A24-3031, for special feature considerations and additional infonnation concerning this instruction. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch NSI BI Qbb blank Branch (without indexing) NSI BI NSI BI NSI Branch (with indexing) Example. Test the inquiry-request indicator and branch to a subroutine labeled RD1447 (4766) if the test is positive (Figure C-5). Autocoder I' Label , ~perQti~ 151 : Chaining. This instruction cannot be successfully chained. Example. Print 'Out the data, beginning in the area labeled INQOUT (0785) and ending with a groupmark with a word-mark (Figure C-4). Op Code 21 I NR 0 I If.~ 7 J Q, ~ Assembled Instruction: Figure C-5. 0 ! 76 W Q Branch if Inquiry-Request Indicator On Autocoder ~ Branch if Inquiry Clear Label Assembled Instruction:!! Figure C-4. Write on 1447 Console %TO 785 W Instruction Format. Mnemonic BIN Op Code B I-address III d-character c\) C-3 Function. When special features are not involved, this branch indicator and the associated red type light are turned on when: 1. The console operator makes a keying mistake and instructs the system to disregard the message (by pressing the cancel key). Example. Test the inquiry-clear indicator and branch to a subroutine labeled NURD47 (6531) if the test is positive (Figure C-6). Autocoder I' OPERAND Label ! : 2. The input message exceeds the core-storage area capacity. 3. The 1447 circuitry detects a parity error during the 1447-to-core-storage transfer. 40 Assembled Instruction: B Figure C-6. N3/ :~ ! : * Branch If Inquiry-Clear Indicator On 4. The 1447 circuitry detects a parity error during the core-storage-to-1447 transfer. Note: Refer to IBM 1447 Console, Form A24-3031. for special feature considerations and additional information concerning this instructon. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. put from, the = .0666 Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. ~bb No Branch NSI BI blank Branch (without indexing) NSI BI NSI Branch (with indexing) NSI BI C-4 Console Printer Timing The console I/O printer is used for input to, and outIBM 1440 Data Processing System. The timing involved during an input operation is: T = .0111 (LI + 1) + console operator keying time. The timing involved during an output operation is: T = .0111 (LI + 1) + 68 (L B ) + 800 (number of carrier return operations) ms.o ~ Only one portion of either operation is overlapped by processing. This is the last carrier-return and line-feed operation that occurs at the end of an output operation. (See IBM 1447 Console, Form A24-3031.) II Readers, Punches and Printers IBM 1403 Printer, Models 2, 3, 5, and 6 The printing power of the 1440 system spans the range from 120 lines per minute with the 63-character set on the 1443 Model 3, up to 1400 lin es per minute with the 1403, Model 3, with th e preferred ch aracter set. 1 . - - - - - - Ta tal Print Cycle ( l00 ms) - - - - - - . ! I o e - - - -- Print Time (83.4ms max.) .\ Forms Mave ment (One Spa ce approx . 20 m s) 1.----..1 1------- Process Ti me (81.8 ms mi n .) IBM 1403 Printer Operations This section describes the insh'uctions th e 1440 uses to control the IBM 1403 Prin ter ( Figure D-1 ) . The b asic unit timings and other general information are included . The various models of the IBM 1403 Printer give the 1440 system grea ter printed-outpu t speed than can b e achieved with the 1443 printer. The number of lines that can b e printed p er minute dep ends on the 1403 model. Refer to IBM 1403 Printer, Form A24-3073. Data Flow When a WRITE LIN E instruction is given, the data to b e printed is read out of core storage to the print buffer. Transfer into Pri nt Storage for next Pr int Line, a nd Interl oc k Time ( 1. 46 m s mini mum) Figure D-2. . \ ~ Print Operati on T iming ChartIllM 1403, Moclel 2 The system is th en released for other processing wIllie th e print buffer relays the data on to the printer. IBM 1403 Printer, Model 2 The IBM 1403 Printer, Model 2, operates at a maximum rate of 600 lines p er minute wh en the printer is impulsed to print. The 100-millisecond print cycle b egins as soon as the print requ es t is made. It is subdivided into three parts ( Figure D -2 ) : 1. Print time requires 83.4 ms. Th e line prints durin g this part of the cycle. The sys tem is not interlocked during this time b ecause print storage is standard . 2. Process time is 81.8 ms. This is the normal processing time available durin g the print cycle. 3. Forms movement time is approximately 20 ms. The normal forms movement time (one space) is always overlapped b y processing time. IBM 1403 Printer, Model 3 The IBM 1403 Printer, Model 3, operates at a rate of llOO lines p er minute. The 54.5 millisecond print cycle. is divided into three parts ( Figure D-3 ) : 1. Print time is 36.25 ms. The line prints during this part of the cycle. TIle system is not interlocked during this time b ecause print storage is standard. Figure D-l. IBM 1403 Printer 2. Process time is 53.5 ms. This is the normal processing time available during the print cycle. D -l ~------Total Print Cycle (54.5ms)------~ j.---- Print Time (36 .25 ms max. ) ---.JOt! 1 - - - - - - - Total Print Cycle (176.5 ms) 14-----PrintTime (144.8ms maxo)-----.t.! Forms Movement (One Space approx. 20 ms ) .! Transfer into Print Storage for next Print Line, ~ 1+------- Process Time (53.5ms min.) Forms Movement (One Space approx. 30 ms ) 1 - - - - - . 1 .! Transfer into Print Storage for next Print Line, ~ 1 - - - - - - Process Time (171.0ms min.) and Interlock Time (1.46 ms minimum) Figure D-3. Print Operation Timing ChartIDM 1403, Model 3 3. Forms-movement time requires approximately 20 ms for a single space. The normal forms-movement time is always overlapped by processing time. -------.1 and Interlock Time (1.46 ms minimum) Figure D-5. Print Operation Timing ChartIDM 1403, Model 6 1. Print time requires 144.8 ms. The line prints during this part of the cycle. The system is not interlocked during this time because print storage is standard. 2. Process time is 171.0 ms:. This is the normal process time available during the print cycle. IBM 1403 Printer, ModelS The IBM 1403 Printer, Model 5, is capable of printing 465 lines per minute. The 129 millisecond print cycle is subdivided into three parts (Figure D-4). 1. Print time is 110.3 ms. The line prints during this part of the cycle. The system is not interlocked during this time because print storage is standard. 3. Forms-movem,oot time requries apprOximately 20 ms. The normal forms-movement time (one space) is always overlapped by process time. 3. Forms-movement requires approximately 20 ms. The normal forms-movement time (one space) is always overlapped with processing time. IBM 1403 Printer Instruction Format All printing operations are initiated by either one of two types of printer instructions. If the instruction is two characters long, an operation involving the printer carriage is specified. If the instruction is eight characters long, an operation involving a write operation is specified. The various parts of the printer instruction (Figure D-6) are: IBM 1403 Printer, Model 6 General Mode of Operation The 1403 Printer, Model 6, has a maximum print-span of 120 positions. It can print 340 lines per minute, and has a single-speed ~rriage. The 176.5 millisecond print cycle is subdivided into three parts (Figure D-5): This part of the instruotion identifies the operation as either a write operation or a carriage operation. Be- 2. Process time is 125.0 ms. This is the normal process time available during the print cycle. . - - - - - - - - - - - - - General Mode of Operation M-Write Operation in Move Mode (No word marks involved) F -Carriage Operation j.------ Total Print Cycle (129.0ms)-------+I . - - - - r - - - - - - - - - d -Modifier Character 1- .-----'1--+-------- Operating Input/Output Unit 14----- Print Time (110.3ms max. )-----~.! %Y1-Printer .---1-------- B-Address Forms Movement (One Space approx. 20 ms ) ~---..t The first core storage address involved in the operation • .! Transfer into Print Storage for next Print Line, ~ 14------ Process Time (125.0ms min.) .....- - - - - - - d -Modifier Character W-Write S - Write and Suppress Space and Interlock Time (l.46ms min.) X Figure D-4. D-2 Print Operation Timing ChartIBM 1403, Model 5 (See Figure 0-13) xxx xxx Figure D-6. '- X IDM 1403 Printer Instruction Format cause the write opm-ation is performed in the move mode, word marks in the specified core-storage area are not affected during the operation. d-Modifier Character If the instruction i$ two characters long, the second character is the d-modifier character. This character specifies the type of carriage operation to occur. Refer to Figure D-13 for a list of the d-characters and the carriage operations they initiate. last character to be printed contains a group mark with a word mark if the print line is less than the maximum possible for the model of 1403 installed. If the group mark with a word mark is omitted, the print span of the printer determines the number of characters printed. An address validity check occurs if the B-address specifies the last 100-character block of core storage. The B-field length 'can be from 1 to 132 (Models 2, 3, and 5) or 1 to 120 (Model 6). An automatic single space operation occurs after the actual printing ends unless a different carriage operation is programmed. Operating Input/Output Unit This part of the instruction specifies the printer as the active unit for this operation. Word Marks. Word marks are not affected. Timing. T = .0999 ms + I/O B-Address This part of the instruotion specifies the first core-storage position to be involved in the operation. Address Registers After Operation. d-Modifier Character This part of the instruction specifies the type of write operation to be performed in the printer. ISM I-Add. Reg. NSI Instructions applying to the 1403 cannot be successfully chained. Autocoder Label Write Line Assembled Instruction: Instruction Format. Op Code M Figure D-7. A-address %Y1 B-Add. Reg. B + 132 (for 132-position printer) Example. Print the data beginning in the area labeled PRTOUT (0101) and ending with a group mark with a word mark (Figure D-7). J403 Printer Instructions Mnemonic W A-Add. Reg. %81 B-address d-character BBB W Function. This instruction is used to transfer data from core storage, through the print buffer to the 1403 printer. The high-order position of data in the core-storage position specified by the B-address is printed in print-position 1. The rest of the data located in the adjacent core-storage positions is printed in the adjacent print positions until a group mark with a word mark in coce storage is sensed, or until the print span of the 1403 is satisfied. The number of characters printed depends on the B-field length established in core storage and on the model of the attached 1403. One position past the ~ %Y1 101 W Write Line Write Line and Suppress Space Instruction Format. Mnemonic WS Op Code M A-address %Y1 B-address BBB d-character S Function. This instruction is used to transfer data from core storage, through the print buffer to the 1403 printer. The automatic single space, normally taken after printing, is suppressed. The high-order position of data in the core-storage position specified by the B-address is printed in D-3 print-position 1. The r-est of the data located in the adjacent core-storage positions is printed in the adjacent print positions until a group mark with a word mark in core storage is sensed, or until the print span of the 1403 is satisfied. The number of characters printed depeJ?ds on the B-field length established in core storage and on the model of the attached 1403. One position past the last character to be printed contains a group mark with a word mark if the print-line is less than the maximum possible for the model of 1403 installed. If the group mark with a word mark is omitted, the print span of the printer determines the number of characters printed. An address validity check occurs if the B-address specifies the last l00-character block of core storage. The B-field length can be from 1 to 132 (:Models 2, 3, and 5) or 1 to 120 (Model 6). = .0999 ms + I/O. Address Registers After Operation. I-Add. Reg. NSI A-Add. ,Reg. %81 Note: This error indicator applies to any 1403, 1443, or 1445 attached to the system, when the I/O check-stop switch is OFF. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T= .0666ms. Branch with indexinf!,: T= .0777ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI BI :j:bb No Branch Branch (without indexing) NSI BI blank NSI BI NSI Branch (with indexing) Word Marks. Word marks are not affected. Timing. T instruction to be executed is at the location specified by the I-address of the BRANCH IF INDICATOR ON instruction. B-Add. Reg. B + 132 (if 132-position printer) Example. Print the data beginning in the area labeled PRTOUT (0101) and ending with a group mark with a word mark, and suppress the automatic single space (Figure D-8). Example. Test the printer-error indicator to determine if an error occurred on the immediately preceding print instruction. If an error occurred, branch to the instruction labeled PRNTXY (0661 ).. If no error occurred, continue processing with execution of NSI (Figure D-9). Autocoder I' label Autocoder I' label I B 661 =1= OPERAND 5 Assembled Instruction: Figure D-8. Assembled Instruction: rrati~ S J;IlTD~II.T 151 40 :~ ~o Figure D-9. Branch If Printer Error It! %Y1 101 5 Write Line and Suppress Space Branch if Printer Busy Instruction Format. Mnemonic Branch if Printer Error BPB Instruction Format. Mnemonic BIN Op Code B I-address III d-character =1= Function. If an error occurs during a printer operation, this indicator is set ON, and the printer light glows on the console. This indicator can be tested to effect a branch. If the indicator is on, it is reset. The next D-4 Op Code B I-address III d-character P Function. If the printer or printer carriage is currently occupied with another operation, this indicator can be tested to effect a branch to another series of instruction. The indicator is reset as soon as the printer is available for another operation. Using this instruction allows processing to continue while the printer is busy, thus, in effect, allowing temporary overlapping of processing and printer operation. Note 1: This indicator is effective for any 1403, 1443, or 1445 attached to the system. Note 2: The Branch if Printer Busy and Branch if Printer Carriage Busy instructions should be included in any program where one print and space/skip operation has not been completed before the next print and space operation is initiated. If these instructions are not used, incorrect carriage spacing or skipping can result. The following sample program segment illustrates how these instructions might be coded: PRBUSY PCBUSY SPACE WRITE BPBB BPCB CC W NSI printer carriage is no longer busy. Using this instruction allows processing to continue while the printer carriage is busy, thus, in effect, permitting temporary overlapping of processing and printer operations. Note.' See Note 2 under Branch if Printer Busy section. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T = .0666 ms. Branch with indexing: T = .0777 ms. PRBUSY, PCBUSY S NET PAY Frequently, there are other processing steps that can be performed while waiting for the carriage to complete the last print/space/skip function. The Branch if Printer Busy and Branch if Printer Carriage Busy instructions could have branched to perform these other functions. This precaution applies only to systems having buffered printers. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. Rbb No Branch: NSI BI BI Branch (without indexing): NSI blank NSI BI NSI Branch (with indexing): Example. Test the printer carriage-busy indicator to determine if the carriage is occupied with some operation. If it is, branch to another series of instruction beginning at the instruction labeled PCBUZY (9444) while waiting for the printer to become available. If the printer carriage is not busy, the NSI is executed (Figure D-ll). Autocoder Address Registers After Operation. 1', I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI Pbb BI Branch (without indexing): NSI blank NSI BI NSI Branch (with indexing): Example. Test the printer-busy indicator to determine if the printer is occupied with some operation. If it is, branch to another series of instructions beginning at the instruction labeled PRBUZY (0486) while waiting for the printer to become available. If the printer is not busy, the NSI is executed (Figure D-IO). Autocoder OPERAND label ,: 40 :~ ~o Assembled Instruction: B 48'6 P Figure D··lO. ,: label ~perati~ 15 PCB 21 5 PC8U~,y Assembled Instruction:! Figure D-ll. U4M R Branch If Printer Carriage Busy Branch if Channel 9 Instruction Format. Mnemonic BC9 Op Code ~ I-address III d-character 9 Function. If the channel-9 position of the carriage control tape has been sensed, this instruction will cause a branch to the address specified by the I -address. This indicator is reset by the branch test, or by a channel~ 1 punch in the carriage-control tape, Word Marks. Word marks are not affected. Branch If Printer Busy Timing. Branch if Printer Carriage Busy (1403 Only) No branch, or branch without indexing: T = .0666 ms. Instruction Format. Mnemonic BPCB Op Code 1! I-address III d-character R Function. If the printer carriage is executing a formsmovement operation, this instruction can be used to branch to other instructions until the carriage is again available. The indicator is reset as soon as the Branch with indexing: T = .0777 ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. 9bb No Branch NSI BI blank BI Branch (without indexing) NSI NSI Branch (with indexing) NSI BI D-5 Example. Test to determine if the carriage control tape ( forms) channel 9 has been sensed. Branch to a subroutine called BC9YES (0784) if the test is positive. (Figure D-I2). Autocoder OPERAND Label 35 :~ 40 ~ Instruction Format. Mnemonic CC OJ) Code d-character F d Function. This instruction causes the carriage to move as specified by the d-character. If the d-character is: 1. a digit, an immediate skip to the specified channel in the carriage tape occurs. Assembled Instruction: 8 784 9 Figure D-12. Control Carriage Branch If Printer Carriage Channel 9 2. an alphabetic character containing a I2-zone, a skip to the specified channel in the carriage tape occurs after the next line is printed. 3. an alphabetic character containing an II-zone, an immediate space operation, as specified by the digit portion of the character, occurs. Branch if Channel 12 Instruction Format. Mnemonic BCV Op Code B I-address d-C haracter III @ Function. If the channel 12 (forms overflow) position of the carriage control tape has been sensed, this instruction will cause a branch to the address specified by the I -address. This indicator is reset by the branch test, or by a channel-I punch in the carriagecontrol tape. lVord Alarks. Word marks are not affected. 4. an alphabetic character containing a zero-zone, a space operation, as specified by the digit portion of the character, occurs after the next line is printed. Refer to Figure D-I4 for a list of the d-characters and the carriage operations they specify. If the carriage is already in motion when another CONTROL CARRIAGE instruction is given, the stored program execution is suspended until the carriage operation being performed is completed. At that time, the carriage action specified by the instruction, begins, and the program advances to the next instruction. Note: There is no CARRIAGE CONTROL struction for the 1440 system. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0666 AND BRANCH (CCB) in- Word Marks. Word marks are not affected. = .0777 ms. Address Registers After Operation. d I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI @bb Branch (without indexing); NSI BI blank NSI BI NSI Branch (with indexing); Example. Branch to a subroutine labeled OVFLHD ( 0659) if the hole in channel 12 of the carriage-control tape has been sensed, indicating that the present form is filled (Figure D-13). I. OPERAND Label .: Figure D-13. D-6 Branch If Printer Carriage Forms Overflow . A @ 0 Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8 Channel 9 Channel 10 Channel 11 Channel 12 d Immediate space d After print-space 9 0 J Assembled Instruction: 8 659 @ Skip after print to d Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8 Channel 9 Channel 10 Channel 11 Channel 12 1 2 3 4 5 6 7 8 # Autocoder Immediate skip to K L 1 space 2 spaces 3 spaces Figure D-14. B C 0 E F G H I ? • / S T 1 space 2 spaces 3 spaces Control Carriage d-Characters Timing. T = .0333 ms + remammg form-movement time, if carriage is already in motion when this instruction is given. The total form movement time depends on the specific carriage operation being performed. Refer to the IBlYl 1403 Printer Timing section for more detail. The form-movement time is determined by the number of spaces the form moves. Allow 20 ms for the first space, plus 5 ms for each additional space less than 8 and 2.5 ms for additional spaces over 8, for the 1403, models 2, 3, and 5. Allow 30 ms for the first space, plus 5 ms for each additional space for the 1403, Model 6 printer. (The 1403, Model 6, has a single-speed carriage drive mechanism) . Note: When an IMMEDIATE SKIP OR IMMEDIATE SPACE instruction is llsed, an additional space caused by the automatic carriage space is taken after printing results. When a SKIP AFTER I'lUNT or SPACE AFTEH PlUNT instruction is used, the automatic space is ignored. Address Registers Afte1' Operation. I-Add. Heg. NSI A-Add. Reg. dbb B-Add. Reg. dbb Example. Skip to channel 1 after print operation (Figure D-15). Autocoder t Label ,: 'f:rat'~ I ~Q ! ~I ~II ~~ ~ A Forms movement for single spacing requires the last 20 ms of the print cycle. If additional forms-movement time is required by the application, this must be added 444 Figure D-16. 20 25 30 35 40 45 50 55 Figure D-17. Forms Movement Time -IBM 1403, Models 2, 3, and 5 I to the 100 ms print cycle to determine the effective printing speed. Figure D-17 shows the effective printing speeds under various forms-movement considerations. Additional forms skipping beyond the first 8 lines is calculated by multiplying the number of lines skipped by the 2.3 ms. Some program instructions cause form movement to start immediately. If the printer is printing when an immediate forms control instruction is given, or if the carriage is already in motion, the system waits until the previous carriage operation is completed before the immediate skip is executed. Immediate skips require 20 ms for the first space, 5 ms for each additional space up to 8, and then 2.3 ms for each space thereafter. ISM 1403, Model 3, Timing The IBM 1403 Printer, Model 2, operates at a rated speed of 600 lines per minute. The 100 ms print cycle (Figure D-16) allows a minimum of 97.3 ms for processing time because print storage is standard. 600 572 545 522 500 480 462 1 2 3 4 5 6 7 8 Figure D-17 shows form-movement timing requirements for immediate-skip instructions. Control Carriage IBM 1403, Model 2, Timings Lines Printed Per Minute Time Required {ms} OPERAND ~I Assembled Instruction: Figure D-15. Lines Skipped Length of Cycle {ms} Available Process Time {ms} Max. Spaces Skipped Within Cycle 100 105 110 115 120 125 130 135 97.3 102.3 107.3 112.3 117.3 122.3 127.3 132.3 1 2 3 4 5 6 7 8 Effective Printing Speeds -IBM 1403, Model 2 The IBM 1403 Printer, Model 3, operates at a rated speed of 1100 lines per minute. The 54.5 ms print cycle (see Figure D-3) allows 53.5 ms of processing time because print storage is standard. Forms movement for single spacing requires the last 20 ms of the print cycle. If additional forms movement time is required by the application, this time must be added to the 54.5 ms cycle to determine printing speed. Figure D-18 shows the effective printing speeds under various form-movement considerations. Additional form-skipping time beyond the first 8 lines is calculated by multiplying the number of lines skipped by 2.3 ms. Some program instructions cause form movement to start immediately. If the printer is printing when an immediate forms-control instruction is given, or if the carriage is already in motion, the 1440 waits until the previous calTiage operation is completed before the immediate skip is executed. D-7 Lines Printed Per Minute Length of Cycle ems} Available Process Time (ms) Max. Spaces Skipped Within Cycle 1100 1007 930 863 805 755 710 670 54.5 59.5 64.5 69.5 74.5 79.5 84.5 89.5 53.1 58.1 63.1 68.1 73.1 78.1 83.1 88.1 1 2 3 4 5 6 7 8 I Figure D-18. Effective Printing Speeds - IBM 1403, Model 3 Immediate skips require 20 ms for the first space, 5 ms for each additional space up to 8, and then 2.3 ms for each space thereafter. Refer to Figure D-17 for the form-movement timing requirements for immediate-skip instructions. IBM 1403, Model 5, Timing The IBM 1403 Printer, Model 5, operates at a rated speed of 465 lines per minute. The 129 ms print cycle (see Figure D-4) allows 125 ms of processing time because print storage is standard. Forms movement for single spacing requires the last 20 ms of the print cycle. If additional forms-movement time is required by the application, time must be added to the 129 ms to determine actual printer speed. Figure D-19 shows the effective printing speeds under various forms-movement considerations. Additional forms skipping time beyond the first 8 lines is calculated by multiplying the number of lines skipped by 2.3 ms. Some program instructions cause form movement to start immediately. If the printer is printing when an immediate forms-control instruction is given, or if Lines Printed Per Minute 465 447 431 416 412 389 377 365 Figure D-19. D-8 Length of Cycle ems} 129.0 134.0 139.0 144.0 149.0 154.0 159.0 164.0 Available Process Time ems} Max. Spaces Skipped Within Cycle 125.0 130.0 135.0 140.0 145.0 150.0 155.0 160.0 1 2 3 4 5 6 7 8 Effective Printing Speeds - IBM 1403, Model 5 the carriage is already in motion, the system waits until the previous operation is complete before the immediate skip is executed. Immediate skips require 20 ms for the first space, 5 ms for each additional space up to and including 8, and 2.3 ms for each space thereafter. Refer to Figure D-17 for forms-movement timing requirements for immediate-skip instructions. -IBM 1403, Model 6, Timing The IBM 1403 Printer, Model 6, operates at a rated speed of 340 lines per minute. The 176.5 ms print cycle ( see Figure D-5) allows 171 ms of processing time because print storage is standard. Li nes Pri nted Per Minute Length of Cycle {ms} 176.5 181.5 186.5 191.5 196.5 201.5 206.5 211.5 340 330 321 313 305 297 290 283 Figure D-20. Available Process Ti me ems} Max. Spaces Skipped Within Cycle 171.0 176.0 181.0 186.0 19].0 196.0 201.0 206.0 1 2 3 4 5 6 7 8 Effective Printing Speeds - IBM 1403, Model 6 Forms movement for single spacing requires the last 30 ms of the print cycle. If additional forms movement is required by the application, time must be added to the 171 ms to determine actual printing speed. Figure D-20 shows the effective printing speeds under various forms-movement considerations. Some program instructions cause form movement to start immediately. If the printer is already busy when an immediate forms-control instruction is given, the system waits until the previous operation is complete before the immediate skip is executed. Immediate skips require 30 ms for the first space, plus 5 ms for any additional spaces. Figure D-21 shows forms-movement timing requirements for immediate-skip instructions. Lines Skipped 1 2 3 4 5 6 7 8 Figure D-21. Time Required ems} 30 35 40 45 50 55 60 65 Forms-Movement Time - IBM 1403, Model 6 IBM 1442 Card Read-Punch This section describes the insh'uctions the IBM 1440 Data Processing System uses to control the IBM 1442 Card Read-Punch , and the IB~[ 1442, Model 4, Card Reader. The IB~[ 1442, Model 4, Card Reader operates under the control of the same read and stacker insh1.1Ctions as the IBM 1442 Card Read-Punch. (Refer to IBM 1442 Card Read-Punch, Form A24-3119.) Data Flow Thc card path and data flow for the IBM 1442 Card Read-Punch (Figure D-22 ) is shown in Figure D-23. Th e cards are placed in the 1,200-card capacity hopper fa ce down , 9-ed ge first. Th e first card cycle moves the card from the hopper to the read station where it is registered at column zero. During the second card feed cycle, the card is fed to the reading station by a READ CARD instmction. This operation causes each card column to b e read twice as the card moves by the reading station column-by-column. During read cycle 1, the punched-card code for a colurnnis translated to BCD code and stored in corestorage positions specified by th e B-address of the READ CARD insh·uction. On read cycle 2, the punchedcard code for the same column is read a second time. Th e resultant BCD-coded character from the second reading is compared to th e BCD-cod ed character read into storage from th e first read cycle. If no error is detected , th e process continu es for each column until a group mark with a word mark is detected a t th e end of th e B-field. After the read operation is comple ted , the card is registered in column 1 a t the punch station. During th e third card-feed cycle, which is started by a PUNCH AND FEED insml ction, the BCD-coded characters to b e punched are read from core storage, translated to punch ed-card code, and punch ed column-bycolumn into th e card at the punch station. A second core-storage read-out cycle occurs that compares the BCD characters in storage to the BCD translation of th e punched-card code punched in the card. If no error is detected , this operation continues for the length of the B-field in storage identified by a gro up mark with a word mark. 'W h en the card leaves the punch station , it is car ried to the stacker by a continuously-moving mechanism. Th e data flow for th e IBM 1442, Model 4, Card Reader is the same as th e read operation on the ruM 1442 Card Read-Pun ch . Core Storage I Check Readout 1 : Readout During Read Cycle 2 Translation Circuitry Read Cycle 1 I Read -Back I I I Read Cycle Punch Station 21 Read Station Optional Stacker (Standard on M.odel 2) Figure D-22. IBM 1442 Card Read-Punch Figure D-23. IBM 1442 Card Read-Punch Data Flow D-9 Card Read-Punch Instruction format All card read-punch operations are initiated by a CARD READ PUNCH instruction. This instruction can initiate different card read-punch operations by using specific characters in certain locations of the actual instruction (Figure D-24). The various parts of the and their uses are: CARD READ PUNCH instruction General Mode of Operation This part of the instruction identifies the operation as a move operation. Word marks are not affected in the specified core-storage area during punching Dr reading operations. Unit Number This part of the instruction specifies which Dne of the operating units will be active when there is more than one card read-punch attached to the system. The first 1442, Modell, 2, Dr 4 attached to the system has a unit-select number of 1. The second 1442, Modell, 2, or 4, has a unit-select numboc Df 2. Only one 1444 can be attached to the system. Its unit-select number is always 3. B-Address This part of the instruction specifies the first corestorage position that win be involved in the operation. d-Modifier Character This part Df the instruotion specifies the type of operation that will be performed in the card read-punch. . . . . . . - - - - - - - - - - - - - General Mode of Operation M-Move Mode (No word marks Involved) . . . . . . - - - - - - - - - - - - Operating Input/Output Unit %G - Card Read - Punch . . . - - - - - - - - - - - - Unit Number . . . - - - - - - - - - - - B-Address The first core storage address involved in the operation. r - - - - - - - - - d - Modifier Character R - Read Card P - Punch Card G - Punch and Feed x XXX XXX l Figure D-24. D-10 IBM 1442 Card Read-Punch Instructions Instructions applying to the 1442 cannot be successfully chained. Read Card Instruction Format. Mnemonic R Op Code M A-address B-address d-character %Gn BBB R Function. This instructiDn is used to transfer data read at the card read-punch read station into a specified core-storage area. The data punched in card column 1 is translated and stored in the core-storage position specified by the B-address. The rest of the data pupched in the card is transferred, column-by-column, into the adjacent core-storage positions until a group mark with a word mark in core storage is sensed. The number of characters read from the card depends on the B-field length that is established in core storage. The B-field length can be from 1 to 80 positions, plus one position for the group mark with a word mark. (The system will hang-up in a read operation with the reader-ready light OFF, if the group mark with a word mark is missing. An end-around check condition occurs when the data record length is longer than the number of carre-storage positions from the B-address to the highest-numbered position in core storage. In a system of 4,000 storage positions, for example, if the input data is 75 characters long, and the B-address is 3980, the first 20 input data characters are read into positions 3980 through 3999, and the remaining 55 characters are read into positions 000 through 054. The storage light on the 1447 console is turned ON to indicate this check condition. As the card at the read station isread, any card at the punch station is also being moved at the same speed, and is ejected intO' the number 1 stacker at the end of the read operation. Word Marks. Word marks are not affected. A group mark with a word mark is needed to end the operation . Timing . Model 1: T = 25.0999 + Model 2: T = 15.0999 + 1) ms. + (LB +1) ms. (LB Address Registers After Operation. X mM 1442 Card Read-Punch Instrut!tion Format I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. BBB B+LB+1 Example. Transfer the data read from card read-punch 1 to the area in core storage labeled RDLIN (0303), Figure D-25. Address Registers After Operation. Autocoder Example. Punch the data on card read-punch 1, beginning in the area labeled PCHOUT (0303) and ending with a group mark with a word mark (Figure D-26). OPERAND label :~ Assembled Instruction: Figure D-25. M ~ I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. BBB B+LB + 1 %G 1 303 R Read Card Autocoder Assembled Instruction: M %Gl 303 P Punch and Stop Figure D-26. Punch and Stop Instruction Format. Mnemonic PS Op Code M A-address B-address d-character %Gn BBB P Function. This instruction is used to transfer data from core storage to the card read-punch where it is punched in a card. The data in the core-storage position specified by the B-address is transferred and punched in the card column registered beneath the punching mechanism. The rest of the data located in the adjacent correstorage positions is transferred, column-by-column, and punched in the adjacent card columns until a group mark with a word mark in core storage is sensed. The number O'f characters punched in the card depends on the B-field length that is established in core storage. The B-field length can be from 1 to 80 positiO'ns, plus one position fOil' the group mark with a word mark. (All characters in excess of 80 are punched in column 81 and 100st.) When the punching operation ends, the card movement also ends. No other card movement takes place during a punchand-stO'p operation. Word Marks. Word marks are nO't affected. A group mark with a word mark is needed to end the opertion. Timing. Model 1: T Model 2: T = 6.3499 + 12.5 (L = 3.2299 + 6.25 (LB ) B) ms. ms. Note. When a punch-and-stop operation follows either a readcard or a punch-and-feed operation, the card at the punch station is registered in column 1, and punching begins in column l. When a punch-and-stop operation follows another punch-and-stop operation, the card at the punch station is the card that was punched during a previous operation, and punching begins in the column adjacent to the last column previously punched. Punch and Feed Instruction Format. Mnemonic Op Code A-address B-address P M %Gn BBB d-character G Function. This instruction is used to' transfer data frO'm core storage to the card read-punch where it is punched in a card. When the punching opmatiO'n ends, the card is ejected frO'm the punch station and selected into a stacker. The data stored in the core-storage position specified by the B-address is transferred and punched in the card column registered beneath the punching mechanism. The rest of the data located in the adjacent cO're-storage positions is transferred, columnby-column, and punched in the adjacent card columns until a grO'up mark with a word mark in core storage is sensed. The number of characters punched in the card depends on the B-field length that is established in core storage. The B-field length can be from 1 to 80 positiO'ns, plus O'ne position foc the group mark with a word mark. (All characters in excess of 80 are punched in column 81 and lost.) When the punching operation ends, the card is ejected from the punch statiO'n and selected into a stacker. The card located at the read station advances during this operation also, but the data in the card is not transferred into core storage. A card from the hopper is also advanced and registered at the read station during the punch-and-feed operation. D-ll Word Marks. Word marks are not affected. A group mark with a word mark is needed to end the oper,ation. Timing. Model 1: T = 6.3499 + 12.5 (L + 210~ ms. Model 2: T = 3.2299 + 6.25 (L B ) + 160 ms. B ) ~When a PUNCH AND FEED instruction is initiated, a period of 210 ms elapses before another card read-punch operation can be executed. N ate: When a punch-and-feed operation follows either a read- card or a punch-and-feed operation, the card at the punch station is registered in column 1, and punching begins in column 1. When a punch-and-feed operation follows a punch-and-stop operation, the card at the punch station is the card that was punched during a previous operation, and punching begins in the column adjacent to the last column previously punched. The card is punched and stacked. ~NOTE: The d-character for the first card read-punch or card reader installed on the system is designated by 2, and the second card read-punch or card reader installed on the system is designated by O. This instruction must he issued prior to the PUNCH AND or READ CARD instruction that moves the card on through the feed. GO Function. This instruction causes the card at the punch station to fall into stacker 2. Unless stacker 2 has been selected before the operation that ejects the card (read or punch feed), the ejected card is directed to stacker 1. Note: The IBM 1444 and the IBM 1442, Models 2 and 4, have two stackers as standard equipment. A second stacker is provided on the IBM 1442, Modell, as a special feature. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. BBB B +LB + 1 Example. Punch the data on card read-punch 1, beginning in the area labeled PCHOUT (0303) and ending with a group mark with a word mark, and then eject the card (Figure D-27). Word ~larks. Word marks are not affected. Timing. T = .0333 ms. Address Registers After Operation. I-Add Reg. NSI A-Add. Reg. 2bb or Obb B-Add. Reg. 2bb or Obb Autocoder ~perati~• Label .5. I 'PC~HDur: ~ 0 OPERAND ~' Example. Select the following card into pocket 2 (Figure D-28). Assembled Instruction: M %G 1 303 G Figure D-27. Punch and Feed Autocoder Label Select Stacker D-12 OPERAND ~ Instruction Format. Mnemonic SS .5.~perati~ Assembled Instruction: Op Code K d-character 2 or O~ Figure D-28. Select Stacker 40 IS. 2 :~ : Branch if Reader Error Branch Instruction Format. Mnemonic BIN if Punch Error Instruction Format. Op Code B I-address III d-character ? (plus zero) Mnemonic BIN Function. If an error occurs during the card-read operation, this indicator is set, and the reader light glows on the console. If the I/O check-stop switch is OFF, this indicator can be tested and reset by the BRANCHIF INDICATOR ON instruction. If the indicator is ON, the program is interrupted, and a branch to the I-address occurs. If the indicator is not ON, no branch occurs. Note: This error indicator operates for both the first and second 1442 card reader, when the I/O check-stop switch is OFF. Word Nlarks. YVord marks are not affected. I-address III d-character ! (minus zero) Function. Same as for Reader Error, except that specifics apply to the punch operation. Note: This error indicator is effective for the 1444, and first or second 1442 Modell or 2 punch operations, when the I/O check-stop switch is OFF. Word Marks. Word marks are not affected. Timing. No branch, 01' branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 Address Registers After Operation. Timing. No branch, or branch without indexing: T = .0666 ms. Branch with indexing: T Op Code B = .0777 ms. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI Ibb Branch (without indexing): NSI BI blank NSI BI NSI Branch (with indexing): Example. Branch to the instruction labeled PUNCHZ ( 3775) if a punch operation error occurred on any attached punch device. If no punch error occurred, proceed to the NSI (Figure D-30). Address Registers After Operation. Autocoder I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI ?bb BI blank Branch (without indexing): NSI Branch (with indexing); NSI BI NSI I' Label Assembled Instruction: B 075 Figure D-30. Example. Test the reader-errol" indicator to determine if an error occurred on the immediately preceding read operation. If an error occurred, branch to the instruction labeled RDER02 (0943). If no read error occurred, continue processing with executiOon of NSI, Figure D-29. Autocoder ~ Label .: trati~ I I OPERAND I 5 ulkDEJO).t f. ~ 0 Assembled Instruction: B 943 ? Figure D-29. Branch If Reader Error 40 :~ : Branch Branch If Punch Error if Last Card Instruction Format. Mnemonic BLC BLC2 Op Code ~ 1! I-address III III d-character A (first read-punch) & (second read-punch) Function. This instruction causes a branch to the addres's specified by the I -address, if the last card has been read and is ready fOor punching. Word Marks. Word marks are not affected. D-13 Eject and Register Clutch Pick -up - 1Oms I Reading Time I. 54ms 126ms I _ _ _ Sys!!,.m...!.n~locked _ _ _ _ _ "', (32.4+1.3LB) ms- - - - - "I" Clutch Latch Point 20ms- Available Processing Time - - - - - - - - _ _ _ [?4+(104-1.3L B)] m s _ Read Cycle Time 210ms ... Inc ludes Instruction Time Figure D-32. Card Read Cycle-285 cpm (80 Card Columns) Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0666 = .0777 ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI Abb or &bb BI blank Branch (without indexing): NSI Branch (with indexing): NSI BI NSI Example. If the last card has been read and is ready for punching in the second 1442 card reader-punch, branch to a subroutine labeled LCTOT (0884). If the last card has not been read in the second card reader-punch, advance to the next sequential instruction (Figure D-31). The time the system is interlocked during a read operation, when the clutch latches up after each operation, is shown in Figures D-32 and D-33. This timing formula can be consolidated as shown in Figure D-33. By using the consolidated formula, the total time available for other processing during one card-read cycle can be found by subtracting the consolidated formula from 210. The bottom porrtion of Figure D-33 shows the approximate processing times available by the number of card columns being read. 300 Cards per Minute The 300-cpm cycle occurs when the next CARD READ instruction is given before the last 20 ms of a card-read T = .0999 + 10 + [21 + 1.3 (L B + with: = .0999 10.0 21.0 1 .3 (LB + 1) Autocoder OPERAND :~ ~ Assembled Instruction: B 884 & Figure D-31. 1)J ms = == = Instruction Reading Time Clutch Pickup Time Reading Setup Time 1 .3 ms per core storage position in the B-field (LB), plus one additional position for the group-mark with a word-mark TIMING FORMULA CONSOLIDATION Branch If Last Card, Second Card Read-Punch .1 ms 10.0 21.0 1.3 IBM 1442 Card Read-Punch Timing T= Instruction Reading Time (.0999) Clutch Pickup Time Reading Setup Time Time to read GM-WM 32.4 + 1.3 LB ms Model 1 Card Reading Card reading on the IBM 1442, Modell, C{ln be done at either 285 or 300 cards per minute (cpm) AVAILABLE PROCESSING TIME (APPROXIMATE) No. of Card Columns Read 285 Cards per Minute The 285-cpm cycle occurs when the next CARD READ instruction is given during the last 20 ms of a card-read cycle (Figure D-32). The clutch is allowed to latch up and the 10-ms clutch-pickup time must take place at the beginning of the next card-read cycle. D-14 1 20 40 60 80 Figure D-33. ,IBM System Interlocked (ms) 34 58 84 110 136 Process Ti me Available (ms) 176 152 126 100 74 1442, Modell; Timing-285 cpm Eject and Register I Clutch I Reading Time 126ms I System 54ms Interlock~ ____ - - - - - - 2Oms- .. 1111 Available Processing Time "I (22.4 +1.3LB)ms- - Latch Point - [74+(104-1 .3LS) J ms Read Cycle Time 200ms .. Includes Instruction Time Figure D-34. Card-Read Cycle-300 cpm (80 Card Columns) cycle (Figure D-34). The clutch remains engaged, and does not latch up. The clutch-pickup time of 10 ms is not needed, and the card-cycle time is reduced to 200 ms, which is equivalent to 300 cpm. The time the system is interlocked during a cardread operation, when the clutch does not latch up after each operation, is shown in Figures D-34 and D-35. This timing formula can be consolidated as shown in Figure D-35. By using the consolidated formula, the total time available for other processing during one card-read cycle can be found by subtracting the consolidated formula from 200. The bottom portion of Figure D-35 shows the approximate processing time available by the number of card columns being read. Fewer than 285 Cards per Minute If the card-reading time and the necessary processing time between card-read cycles exceeds 210 ms, there is a corresponding drop in the number of cards read per minute. The formula to compute the number of cards read per minute is shown in Figure D-36. The table in Figure D-36 shows the approximate number of cards read per minute when the elapsed time between a given card column in a card-read operation is at least 210 ms later than the same card column in the preceding card-read operation. Model 2 Card Reading Card reading on the IBM 1442, Model 2, can be done at either 375 or 400 cards per minute (cpm). T = .0999 + [21 + 1.3(L B + l}J ms with: .0999 21.0 1.3 (LB+l) = = = Instruction Reading Time Reading Setup Time 1 .3 ms per core storage position in the B-field (LB)' plus one additional position for the group-mark with a word-mark TIMING FORMULA CONSOLIDATION CARDS READ PER MINUTE FORMULA CPM 60,000 -X-- with: 60,000 number of ms in 1 minute elapsed time between card read operations in ms • (This will be greater than, or equal to 210 ms) X • 1 ms 21.0 1.3 T= Instruction Reading Time (.0999) Reading Setup Time Time to Read GM-WM 22.4 + 1.3 LB ms AVAILABLE PROCESSING TIME (APPROXIMATE) No. of Card Columns Read 1 20 40 60 80 System Interlocked (ms) 24 48 74 100 126 Process Time avai lable (ms) 176 152 126 100 74 Time Between Card Read Operations (ms) 210 300 400 500 600 Figure D-36. Figure D-35. IBM 1442, Modell; Timing-300 cpm CPM 285 200 150 120 100 1442, Modell; Timing, Fewer Than 285 cpm IBM D-15 Clutch Pick -up Eject and Register Eject and Register ICI"Ch Latch ICI.tch Latch Reading Time 96ms lOmsl· I __ ~~ ~erlocked _ _ _ _ ·1 96ms 39rns -+15ms .. 39ms-+15ms • Available Pro~essing Time 1 ~l- Jstem ~erlock~ _ _ 1~9+(80- LB~ ms 1---(16.1 + LS)ms- - - - - - Read Cycle Time 1 1 I+-- (26. I + LB) ms- - - - - - - - Read Cycle Time Point Read ing Time Point "I I I 160ms E @9+(80-LS mk 150ms ·Includes Instruchon Time Figure D-37. Available Pro~essing Time I .. Includes Instruction Time Card-Read Cycle-375 cpm (80 Card Columns) 375 Cards per Minute The 375-cpm cycle occurs when the next CARD READ instruction is given during the last 15 ms of a card-read cycle (Figure D-37). The clutch is all owed to latch up and the 10-ms clutch-pickup time must take place at the beginning of the next card-feed cycle. The time the system is interlocked during a cardread operation, when the clutch latches up after each operation, is shown in Figures D-S7 and D-38. This timing formula can be consolidated as shown in Figure D-38. By using the consolidated formula, the total time available for olther processing during one card-read cycle can be found by subtracting the consolidated formula from 160. The bottom portion of Figure D-38 T = .0999 + 10 + [15 + {L B+ l)J ms Figure D-39. Card-Read Cycle-400 cpm (80 Card Columns) shows the approximate processing time available by the number of card columns being read. 400 Cards per Minute The 400-cpm cycle occurs when the next CARD READ instruction is given before the last 15 ms of a card-read cycle (Figure D-39). The clutch-pickup time of 10 ms is not needed, and the card-cycle time is reduced to 150 ms, which is equivalent to 400 cpm. The time the system is interlocked during a cardread operation, when the clutch does not latch up after each operation, is shown in Figures D-39 and D-40. T = .0999 + [15 + (L B+ l)J ms with: with: .0999 10.0 15.0 Instruction Reading Time Clutch Pickup Time Reading Set up Time 1.0 ms per core storage position in the B-fie Id (LB), plus one additional position for the group-mark with a word-mark (LB + 1) TIMING FORMULA CONSOLIDATION .1 ms 10.0 15.0 1.0 .1 ms 1.0 No. of Card Columns Read D-16 Instruction Reading Time (.0999) Reading Setup Time Time to Read GM-WM T = 16. 1 + LB ms AVAILABLE PROCESSING TIME (APPROXIMATE) IBM (LB + 1) 15.0 T = 26. 1 + ~B ms Figure D-38. Instruction Reading Time Reading Setup Time 1.0 ms per core storage position in the B-field (L B), plus one additional position for the group-mark with a word-mark TIMING FORMULA CONSOLIDATION Instruction Reading Time (.0999) Clutch Pickup Time Reading Setup Time Time to Read GM-WM 1 20 40 60 80 .0999 15.0 System Interlocked (ms) 27 47 67 87 107 Process Time available (ms) 133 113 93 73 53 1442, Model 2; Timing-375 cpm AVAILABLE PROCESSING TIME (APPROXIMATE) No. of Card Columns Read 1 20 40 60 80 Figure D-40. System Interlocked (ms) 17 37 57 77 97 IBM Process Ti me available (ms) 133 113 93 73 53 1442, Model 2; Timing-400 cpm This timing formula can be consolidated as shown in Figure D-40. By using the consolidated formula, the total time available for other processing during one card-read cycle can be found by subtracting the consolidated formula from 150. The bottom portion of Figure D-40 shows the approximate processing time available by the number of card columns being read. T = .0999 + 6.25 + 12.5 (L B) ms with: .0999 6.25 12.5 (LB) Instruction Reading Time Average clutch pickup time 12.5 ms punching cycle per core storage position in the B-fie Id (L B) Fewer than 375 Cards per Minute If the card-reading time and the necessary processing time between card-read cycles exceeds 160 ms, there is a corresponding drop in the number of cards read per minute. The formula to compute the number of cards read per minute is shown in Figure D-41. The bottom portion of Figure D-41 shows the approximate number of cards read per minute when the elapsed time between a fixed point in a card-read operation is at least, or more than, 160 ms later than the same fixed point in the preceding card-read operation. Figure D-42. IBM 1442, Modell; Punch-and-Stop Timing time, and the card-column-punching time as shown in Figure D-42. Card movement is not considered, because the card is already located under the punching mechanism at the beginning of the operation, and the card is still under the punching mechanism when the operation ends. Punch and Feed Operation Model 1 Card Punching The total punch-cycle time in an IBM 1442, Madel 1, depends on the number of card columns being punched and the operation being performed. Punching one card column requires 12.5 ms. Eighty card columns at 12.5 ms per column, therefore, require 1,000 ms. Punch and Stop Operation The only timing involved in a punch-and-stop operation is the instruction-reading time, the clutch-pickup CARDS READ PER MINUTE FORMULA 60,000 CPM -X-- with: 60,000 X TIME BETWEEN CARD READ OPERATIONS (ms) 160 Number of ms in 1 minute Elapsed time between card read operations in ms. (This will be greater than, or equa I to 160 ms). CPM 400 375 300 200 150 500 120 200 300 Figure D-41. 1442, Model 2; TimingFewer Than 375 cpm IBM There are three parts to a punch-and-feed operation: the instruction-reading operation, the punching operation, and the feeding operation. The instruction is read during the instruction-reading portion of the punchand-feed operation, and requires .0111 (LI + 1) ms. The time varies during the punching portion of the operation from 12.5 ms (1 column) to 1,000 ms (80 columns). When the punching is done, the card is ejected from the punching station, another card moves from the reading station to the punching station, and another card moves from the hopper to the reading station. This portion of the operation takes 210 ms, and other processing can take place during that time. The timing formula can be consolidated as shown in Figure D-43. The cards per minute can be determined by dividing 60,000 (number of milliseconds in one minute) by the consolidated formula. The bottom portion of Figure D-43 shows the breakdown of punchcycle time and the associated cards per minute rate by the number of card columns punched. Fewer than 50 Cards per Minute If the total punch-cycle time is greater than 1,216 ms ( the time required to punch 80 columns plus 216 ms), there is a corresponding drop in the number of cards punched per minute. The formula to compute the number of cards punched per minute is shown in Figure D-44. The bottom portion of Figure D-44 shows the approximate number of cards punched per minute when the elapsed time between a fixed point in a punch and feed operation is at least, or more than, 1,216 ms later than the same fixed point in the preceding punch-and-feed operation. D-17 T = .0999 + 6.25 + 12.5 (La) + 210. ms CARDS PUNCHED PER MINUTE FORMULA with: .0999 6.25 12.5 (LB) Instruction Reading Time Average clutch pickup time 12.5 ms punching cycle per core storage position in the B-field(L ) B Card read cycle at end of punch cycle that moves card into punching station. 210.0 TIMING FORMULA CONSOLIDATION .1 ms 6.25 210.0 T 60,000 CPM Instruction Reading Clutch pickup Card Read Cycle Time -X- with: 60,000 Number of ms in one minute Elapsed time between punch and feed operations in ms. (This will be greater than, or equal to 1210 ms) X TIME BETWEE N PUNCH AND FEED OPERATION (ms) CPM (.0999) 1216 1300 1500 2000 = 216.35 + 12.5 LB ms 49 46 40 30 PUNCH CYCLE TIMES AND CPM RATES (APPROXIMATE) No. of Card Columns Punched System Interlo~ed (ms) 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 1 Figure D-43. 1000 938 875 813 750 688 625 563 500 438 375 313 250 188 125 63 13 IBM Total Punch Cycle Time (ms) 1216 1154 1091 1029 966 904 841 779 716 654 591 529 466 404 341 279 229 Figure D-44. CPM 49 52 55 58 62 66 71 77 84 92 102 113 127 149 176 215 202 1442, Modell, Punch-and-Feed Timing Model 2 Card Punching The total punch-cycle time on an mM 1442, Model 2, depends on the number of card columns being punched and the operation being performed. Punching one card column requires 6.25 ms. Eighty card columns at 6.25 ms per column, therefore, requires 500 ms. Punch and Stop Operation The only timing involved in a punch-and-stop operation is the instruction-reading time, the clutch-pickup time, and the card-column-punching time as shown in D-18 1442, Modell, Punch and Feed TimingFewer Than 50 cpm IBM Figure D-45. Card movement is not considered, because the card is already located under the punching mechanism at the beginning of the operation, and the card is still under the punching mechanism when the operation ends. Punch and Feed Operation There are three parts to a punch-and-feed operation: the instruction-reading operation, the punching operation, and the feeding operation. The instruction is read during the instruction-reading portion of the punchand-feed operation and requires .0111 (Lr + 1) ms. The time varies during the punching portion of the operation from 6.25 ms (1 column) to 500 ms (80 columns). When the punching is done, the card is ejected from the punching station, another card moves from the reading station to the punching station, and another T = .0999 + 3.13 + 6.25 (1.B) ms with: .0999 3.13 6.25 (L B) Figure D-45. IBM Instruction Reading Time Average clutch pickup time 12.5 ms punching cycle per core storage position in the B-field (L ) B 1442, Model 2, Punch and Stop Timing card moves from the hopper to the reading station. This portion of the operation takes 160 ms, and other processing can take place during that time. The timing formula shown in Figure 46 can be consolidated as shown. The cards per minute can be determined by dividing 60,000 (number of ms in one minute) by the consolidated formula. The bottom portion of Figure D-46 shows the breakdown of punchcycle time and the assO'ciated cards per minute rate by the number of card columns punched. Fewer than 91 Cards per Minute If the total punch-cycle time is greater than 663 ms ( the time required to punch 80 columns plus 163 ms ) , there is a correspO'nding drop in the number of cards CARDS PUNCHED PER MINUTE FORMULA CPM with: 60,000 -X-- Number of ms in a minute Elapsed time between punch and feed operations in ms. (This wi II be greater than, or equal to 660 ms). X TIME BETWEEN PUNCH AND FEED OPERAT IONS (ms) CPM 91 80 66 60 663 750 900 1000 Figure D-47. = 60,000 1442, Model 2, Punch and Feed TimingFewer Than 91 cpm IBM T = .0999 + 3.13 + 6.25 (LB) + 160 ms with: .0999 3.13 6.25 (LB) 160.0 = Instruction Reading Time = Average Clutch Pickup Time = 6.25 punching cycle per = core storage position in the B-field (L ) B Card read cycle at end of punch cycle that moves card intc punching station. punched per minute. The formula to' compute the number O'f cards punched per minute is shown in Figure D-47. The bottom portion of Figure D-47 shows the approximate number of cards punched per minute when the elapsed time between a fixed point in a punch-and-feed operatiO'n is at least, or more than, 663 ms later than the same fixed point in the preceding punch-and-feed operation. TIMING FORMULA CONSOLIDATION Combined Reading and Punching, Models 1 and 2 .1 ms 3.13 160.0 Instruction Reading Time (.0999) Clutch Pkkup Card Read Cycle = 163.23 + 6.25 LB ms PUNCH CYCLE TIMES AND CPM RATES (APPROXIMATE) No. of Card Columns Punched System Interlocked (ms) Total Punch Cycle Time (ms) 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 1 500 469 438 406 375 663 632 601 569 538 507 476 444 413 382 351 319 288 257 226 194 169 Figure D-46. 344 313 281 250 219 188 156 125 94 63 31 6 IBM CPM 91 95 100 105 112 118 126 135 145 157 171 188 208 233 265 309 355 1442, Model 2, Punch and Feed Timing Certain applications call for reading a card, prO'cessing the information read, and then punching the result in the same card. Because the IBM 1442 is a serial-type machine, the card design significantly affects the cardper-minute rate through the 1442, as shown in Figures D-48 and D-49. The example illustrated in Figure D-48 assumes that card columns 1-40 are read during the read cycle and card columns 41-80 are punched during the punch operation. The read O'peration requires 210 ms (Modell timing at 285 cpm). Because only 40 columns are read, the Read Operation 210 ms I II 126 ms Process Ti me Punch Operation Total Time Figure D-48. t---++I 1006 ms 1216 ms Read from Colunms 1-40; Punch into Columns 41-80 D-19 Read Operation Process Time card columns 1-40 are punched during the punch operation. 210 ms I II 1-+1 Punch Operation 503 ms 713 ms Total Time Figure 0-49. The read operation requires 210 ms as before. The 40 columns read during this operation occur at the end of reading time, and none of the 126-ms reading time can be used for other processing. Because of this, only the last 74 ms of the read cycle can be used for other processing. 74 ms Punch into Columns 1-40; Read from Columns 41-80 last 126 ms of the operation can be used to process the informa tion. The punch operation takes 1,000 ms. Because the last 40 columns are being punched, the B-field in core storage must be 80 positions in length (the first 40 positions contain blanks). A 12.5-ms cycle occurs for each one of these 40 positions containing a blank, even though no punching occurs. The data in the last 40 positions of the 80-position field is punched in the last 40 columns of the card. This brings the time for the punch operation to 1,000 ms (80 columns @ 12.5 ms/col plus 6.25 ms for clutch-pickup time), and the total time for the entire operation to 1,216 ms. The example illustrated in Figure D-49 assumes that card columns 41-80 are read during the read cycle, and Last Card Column Read 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 Figure 0-50. D-20 Available Processing Time Modell Model 2 171 165 158 152 146 139 133 126 119 113 106 100 93 87 80 74 128 123 118 113 108 103 98 93 88 83 78 73 68 63 58 53 Relationship Between Card Colunms Read and Available Processing Time Left (Approximate) In this example the available, processing time is less than the time jn the first example, because the reading takes place durirlg the entire 126 ms. The data is 10'cated in the last 40 columns of the card, but the first 40 columns are also read. Figure D-50 illustrates the relationship between the reading of card columns and the available processing time. The punch operation takes only 503 ms. Because the first 40 columns are being punched, the B-field in core storage must be only 40 positions in length. This brings the total time for the entire operation to 713 ms. As can be seen from these examples, the important consideration is not how many columns are punched, but where the punched c0'lumns are in the card. Punching 5· columns in the first 5 columns of the card instead of columns 26-30, for example, results in a faste!- cpm rate (Figure D-51). A cpm rate 0'f 215 results on an IBM 1442, Model 2, when the first 5 columns are punched; a cpm rate of 102 when columns 26-30 are punched. Last Card Column Read 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 Figure 0-51. Available Processing Time Modell Model 2 215 176 149 127 113 102 92 84 77 71 66 62 58 55 52 49 309 265 233 208 188 171 157 145 135 126 118 112 105 100 95 91 CPM Rates for Punching into a Card Previously Read (Approximate) IBM 1443 Printer , - - - - - - - - - - - - - - Genera l Mode of Operation M-Write Operation in Move fv\ode (No word ma rks invo lved) F - Carriage Ope ration The IBM 1443 Plinter (Figure D-52) is another output medium for the 1440 system. The number of lines that can be plinted per minute depends on the 1443 model and the character set b eing used . Refer to IBM 1443 Printer, Form A24-3120. , - - - - , - - - - - - - - - d - Modifier Charocter Jr _ (See Figure D-54) ,------'~._t_------- Operating Input/ Output Unit %Y l - Prin ter ,----+- - - - - - - B - Add ress The first core storage address invo lved in the ope ration . r - - - - - - - d - Modifier Cha rocter IBM J443 Prin ter In struction Format All printer operations are initiated by either one of two types of printer instru ctions. If the instruction is two characters long, an operation involving the printer carriage is specified. If the instruction is eight characters long, an operation involving a write operation is specified. The various parts of th e printer insb'uction (Figure D-53) are: W -Write S - Write and Suppress Spoce X ~ L, ~L, XXX XXX X Figure D-53. IBM 1443 Printer Instruction Format Operating Input/Output Unit Ge neral Mode of Operatio n This part of the insb'uction identifies the operation as either a write operation or a carriage operation. The write operation is performed in the move mode. Any word marks in th e specified core-storage area are un affected by the operation. This part of th e insb'uction specifies the printer as the active unit for this operation. B·Address This part of the insh'uction specifies the first corestorage position that will b e involved in the operation. d-Modifie r Characte r If the instruction is two characters long, th e second character is the d-modifier character. This character specifies th e type of carriage operation that will occur. Refer to Figure D-54 for a list of the d-characters and the carriage operations th ey initiate. d·Modifier Character This part of the insb'uction specifies the type of write operation that will be p erformed in the prin ter, when the d-character modifies a write operation cod e. d 1 @ 0 d Immed ia te spa ce d Afte r p ri nt, spa ce # J K L 1443 Printer Sk ip aft e r p ri nt to Chan nel 1 Ch a nn e l 2 Channe l 3 Cha nn e l 4 Ch anne l 5 Chann e l 6 Cha nne l 7 Ch anne l 8 Chann e l 9 Chann e l 10 Chann e l 11 Chann e l 12 3 4 5 6 7 8 9 0 IBM d Channel 1 Chan nel 2 Chann e l 3 Ch a nnel 4 Ch an ne l 5 Chan nel 6 Chan nel 7 Ch a nn e l 8 Channel 9 Ch a nne l 10 Chann e l 11 Ch a nnel 12 2 Figure D-52. Immediate skip to 1 spa ce 2 spaces 3 sp aces Figure D-54. A B C 0 E F G H I ? • / S T 1 space 2 spa ces 3 spa ces Control Carriage d-Characters D-21 ISM 1443 Printer Instructions Write Line and Suppress Space Instructions applying to the 1443 cannot be successfully chained. Instruction Format. Write Line Mnemonic WS Instruction F orrnat. Mnemonic W Op Code A-address %Y1 M B-address B01 d-character W Function. This instruction is used to transfer data from core storage to the 1443 printer, where it will be printed. The high-order position of data in the core-storage position specified by the B-address is transferred and printed in print-position 1. The rest of the data located in the adjacent core-storage positions is transferred, cO'lumn-by-column, and printed in the adjacent print PO'sitions until a grO'up mark with a word mark in core storage is sensed. The B-address must always specify one of the zerO'-one positions (xOl) in core storage when using an unbuffered printer. The number of characters printed depends on the B-field length established in core storage. The B-field length can be from 1 to either 120 or 144 positions (24 additional print positiO'ns are available as a special feature), plus one positiO'n for the group mark with a word mark. An automatic single space operation occurs after the actual printing ends unless a different carriage operation is programmed. Word Marks. Word marks are nOit affected. A group mark with a word mark is required to end the operation. Timing. T = .0999 + 386~ ms. ~ 120 print positions Note. An address-validity-check condition occurs if the Baddress specifies the 01 position of the last 1oo-position block in core storage as well as any starting position other than 01 (unbuffered printer). The system interlocks with the console I/O printer light ON. The 1443 goes out of ready status. A-Add. Reg. %81 B-Add. Reg. B+LB+1 Example. Print the data beginning in the area labeled PRTOUT (0101) and ending with a group mark with a word mark (Figure D-55). Autocoder Data in the core-storage position specified by the B-address is transferred and printed in print-position 1. The B-address must always specify one of the zerQl-one positi0'ns (xOl) in core storage when using an unbuffered printer. The rest of the data located in the adjacent core-storage positi0'ns is transferred, character-by-character, and printed in the adjacent print positions until a group mark with a word mark in core st0'rage is sensed. The number of charaoters printed depends 0'n the B-field established in oore st0'rage. The B-field lengths can be from 1 to' either 120 or 144 PO'sitiO'ns (24 additional print positions are available as a special feature), plus one positiO'n for the grO'up mark with a word mark. Word Marks. W0'rd marks are not affected. A group mark with a wO'rd mark is needed to end the operation. Timing. T = .0999 + 386~ ms. ~ 120 print positions Nate: An address validity-check condition occurs if the B-address specifies the 01 position of the last 100-position block of core storage as well as any starting position other than 01 (unbuffered printer). The system interlocks with the console I/O printer light on. The 1443 goes out of ready status. Address Registers After Operation. A-Add. Reg. %81 B-Add. Reg. B+LB+l Example. Print the data beginning in the area labeled PRTOUT (0101) and ending with a group mark with a word mark, and suppress the automatic single space (Figure D-56). Assembled Instruction: Write Line M %Yl OPERAND label ! D-22 B-address d-character B01 S Autocoder 40 Figure D-55. A-address %Y1 Function. This instruction is used to transfer data from core storage to the 1443 where it will be printed. The automatic single space, normally taken after printing, is suppressed. I-Add. Reg. NSI Address Registers After Operation. I -Add. Reg. NSI Op Code M :~ : 101 W Assembled Instruction: Figure D-56. M %Yl 101 S Write Line and Suppress Space , ~9 Branch if Printer Error Note 1: This indicator is effective for any 1403, 1443, or 1445 attached to the system. Instruction Format. Note 2: The Branch if Printer Busy instruction should be included in any program where one print and space/skip operation has not been completed before the next print and space operation is initiated. If this instruction is not used, incorrect carriage spacing or skipping can result. The following sample program segment illustrates how these instructions might be coded: Mnemonic BIN Op Code B I-address III d-character =F Function. If an error occurs during a printer operation, this indicator is set ON, and the printer light glows on the console. This indicator can be tested to effect a branch. If the indicator is on, it is reset. The next instruction to be executed is at the location specified by the I-address of the BRANCH IF INDICATOR ON instruction. Note: This error indicator applies to any 1403, 1443, or 1445 attached to the system, when the I/O check-stop switch is OFF. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T ms. = .0666 Branch with indexing: T = .0777 IDS. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI :J:bb Branch (without indexing): NSI BI blank Branch (with indexing): NSI BI NSI Example. Test the printer-error indicator to determine if an error occurred on the immediately preceding print instruction. If an error occurred, branch to the instruction labeled PRNTXY ( 0661). If no error occurred, continue processing with execution of NSI (Figure D-57). ~ label .: tperati 111 N ~,RN T~:,y , .. 1 ~o Figure D-57. :0 ~!! Assembled Instruction: B 661 BPBB CC W NSI Frequently, there are other processing steps that can be performed while waiting for the carriage to complete the last print/space/skip function. The Branch if Printer Busy instruction could have branched to perform these other functions. This precaution applies only to systems having buffered printers. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 Example. Test the printer-busy indicator to determine if the printer is occupied with some other operation. If it is, branch to another series of instructions beginning at the instruction labeled PRBUZY (0486) while waiting for the printer to become available. If the printer is not busy, execute the NSI (Figure D-58). Autocoder OPERAND :5 I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI Pbb Branch (without indexing): NSI BI blank Branch (with indexing): NSI BI NSI ~ I! " label t 1trati~ ~PB -~R.r.v~y: OPERAND I ~II ~I :~ :11 ~ Assembled Instruction: B 486 P Branch If Printer Error Figure D-58. Branch if Printer Busy Branch If Printer Busy Branch if Channel 9 Instruction Format. Mnemonic BPB PRBUSY, S NET PAY Address Registers After Operation. Address Registers After Operation. Autocoder PRBUSY SPACE WRITE Instruction Format. Op Code I-address B III d-character P Function. If the printer or printer carriage is currently occupied with another operation, this indicator can be tested to effect a branch to another series of instructions. The indicator is reset as soon as the printer is available for another operation. Using this instruction allows processing to continue while the printer is busy, thus, in effect, allowing temporary overlapping of processing and printer operation. Mnemonic BC9 Op Code B I-address III d-character g Function. If the channel 9 position of the carriage-control tape has been sensed, this instruction will cause a branch to the address specified by the I -address. This indicator is reset by the branch test, or by a channel-1 punch in the carriage-control tape. Word Marks. Word marks are not affected. D-23 Autocoder Timing. No branch, or branch without indexing: T = .0666 Label .: ~perati~ OPERAND Be V 3)\1 F\..~H 0 1 1 21 5 :: ~o illS. Branch with indexing: T = .0777 ms. Assembled Instruction: B 659 @ Address Registers After Operation. Figure D-60. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI 9bb Branch (without indexing): NSI BI blank NSI BI NSI Branch (with indexing): Control Carriage Example. Test to determine if the carriage-control tape ( forms) channel 9 has been sensed. Branch to a subroutine called BC9YES (0784) if the test is positive (Figure D-59). Autocoder OPERAND Label :: : Assembled Instruction: Figure D-59. ! Branch on Printer Carriage Channel 9 B I-address III d-character @ Function. If the channel 12 (forms overflow) position of the carriage-control tape has been sensed, this instruction will cause a branch to the address specified by the I -address. This indicator is reset by the branch test, or by a channel-I punch in the carriagecvntrol tape. 'Vord Marks. W.ord marks are not affected. Timing. No branch, or branch without indexing: T ms. = .0666 Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI @bb Branch (without indexing): NSI BI blank Branch (with indexing): NSI BI NSI D-24 Op Code d-character d (see text) F F unction. This instruction causes the carriage to move as specified by the d-character. If the d-character is: 1. a digit, an immediate skip to the specified channell in the carriage tape occurs. 4. an alphabetic character containing a zero-zone, a space operation, as specified by the digit portion of the character, occurs after the next line is printed. Refer to Figure D-54 for a list of the d-characters and the carriage operations they specify. If the carriage is already in motion when another CONTROL CARRIAGE instruction is given, the stored program execution is suspended until the carriage operation being performed is completed. At that time, the carriage action specified by the instruction begins, and the program advances to the next instruction. Note: There is no CARRIAGE CONTROL stmction for the 1440 system. Branch with indexing: T = .0777 illS. Example. ( 0659) control present Mnemonic CC 3. an alphabetic character containing an II-zone, an immediate space operation, as specified by the digit portion of the character, occurs. Instruction Format. Op Code Instruction Format. 2. an alphabetic character containing a 12-zone, a skip to the specified channel in the carriage tape occurs after the next line is printed. 784 9 Branch if Channel 12 Mnemonic BCV Branch on Printer Carriage Forms Overflow Branch to a subroutine laheled OVFLHD if the hole in channel 12 of the carriagetape has been sensed, indicating that the form is filled; Figure D-60. AND BRANCH (CCB) in- Word Marks. Word marks are not affected. Timing. T = .0333 ms + remaining form-movement time, if carriage is already in motion when this instruction is given. The total form movement time depends on the specific carriage operation being performed. Refer to the IBM 1443 Printer Timing section for more detail. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. dbb B-Add. Reg. dbb Example. Skip to channell after print operation (Figure D-6I). Autocoder OPERAND label 40 Assembled Instruction: Figure D-61. ! :~ ~ A 52-character typebar is installed. The duration of the print cycle is 250 ms (Figure D-63). A total of 218 ms is needed during the 250-ms print cycle to transfer the data from core storage and print it. Up to two lines of form movement can take place during the normal print cycle. Additional lines extend the print-cycle time by 10 ms per line. For information on the additional form-movement timing, refer to the Carriage Speed section. Control Carriage IBM 1443 Printer Timing Modell Printing Speed Model 1 of the IBM 1443 Printer operates at a maximum rated speed of 150 lines per minute when the 52-character typebar is installed. The print cycle is 400 ms long (Figure D-62). A total of 368 ms is needed during the 400-ms print cycle to transfer the data from core storage and print it. The form movement takes place during the last 32 ms of the print cycle. Up to two lines of form movement can take place during this time if the delayed forms op is programmed prior to the WRITE instruction. Additional lines (beyond 2) extend the print-cycle time by 10 ms per line. To establish the new line-per-minute rate, divide 60,000 by the print-cycle time (400 ms) to have a 150-ms time for one print line. For information on the additional form-movement timing, refer to the Carriage Speed section. No other processing can take place during the datatransfer and' print time. The entire form-movement time is available to perform other systems operations. Model 2 Printing Speed Model 2 of the IBM 1443 Printer operates at a maximum rated speed of 240 lines per minute when the No other processing can take place during the datatransfeT and print time. The entire form-movement time (32 ms) is available to perform other systems operations. Carriage Speed Normal Form-Movement Operation Form movement is normally accomplished during the last 32 ms of a print cycle. It is possible to space two lines during the nonnal print cycle, if a DELAYED CONTRoL CARRIAGE instruction is programmed before the WRITE instruction. Each additional line requires another 10 ms. This speed is equivalent to approximately 15 inches per second. Immediate Form-Movement Operation Figure D-64 shows various timings that result when an immediate form-movement operation is specified by the CONTROL CARRIAGE instruction. If the carriage is already in motion when the instruction is given, the stored program execution is suspended until the carriage operation being performed is completed. At that time, the immediate form-movement operation, specified by the instruction, begins. The time required for spacing the first line is 60 ms, and each additional line requires another 10 ms. Print Cycle 400ms Forms 1 Movement Time I 32ms Pri nt Ti me 368 ms Figure D-62. IBM 1443, Modell, Print Cycle; 52-Character Typebar Print Cycle 250ms Print Time 218 ms I I Figure D-63. IBM Forms Movement Time .. 32ms 1443, Model 2, Print Cycle; 52-Character Typebar D-25 MODEL 2 MODEL 1 LPM Cycle Length (ms) LPM Cycle Length (ms) Available Process Time (ms) No. of lines Spacedj Skipped Total No. of Lines Spacedj Skipped 133 450 200 300 74 1 2 130 460 196 310 84 2 3 127 470 188 320 94 3 4 125 480 182 330 104 4 .5 122 490 176 340 114 5 6 Figure 0-64. Immediate Forms Space/Skip Operation Timings MODEL 2 " MODEL 1 LPM Cycle Length (ms) LPM Cycle Length (ms) Available Process Time (ms) Total No. of Lines Spacedj Skipped 150 400 240 250 24 1 150 400 240 250 24 2 146 410 231 260 34 3 143 420 222 270 44 4 140 430 214 280 54 5 Figure 0-65. D-26 Delayed Forms Space/Skip Operation Timings IBM 1444 Card Punch TIle ID}' { 1444 Card Punch ( Figure D-66) provides a high-speed card output to the IDM 1440 Data Processing Sys tem. This section describes the instruction used with th e 1440 system to conh'ol the card punch. ( Refer to IBM 1444 Ca rd Pu nch, Form AM -3152 ) . W ord Marks. Word marks associated with the data being h·ansferred are neither considered nor affected. Th e data transfer ends when the group mark with a word mark located in core-storage position B01 + LH (length of B-field ) is sensed. Timing. T = .0999 ms + I/ O. Input/ Ouput time equals 240 ms plus punch-access time of 0-60 ms. The processing-unit interlock is released after 217.5 ms of the MO-ms punch cycle. IBM 1444 Card Punch Instructions Address Registers After Operation. Instructions applyin g to th e 1444 cannot be successfully chained. Punch Card OJ! Code P M A -Add . Reg. BBB B-Adcl. Reg. B + L Il + 1 Example . Punch the data on card punch, beginning in the area labeled PCHOUT ( 401 ) and ending with a group mark with a word mark (Figure D-67 ). Instruction Format. Mn emonic I-Add . Reg. NS I A -add ress %G3 B-address BOI d- character G Function. This insh'ucti on is used to transfer data from core storage into th e card punch where it is punched in a card. Th e data transfer from core storage to the punch ends wh en a group mark with a word mark is sensed. No te: The fi rst 1442, Modell , 2, or 4, attached to th e sys tem has a un it-selec t numhe r of 1. The second 1442, Modcl 1, 2, or 4, has a uni t-select number of 2. Only one 1444 can be attached to the system. Its unit-select number is always 3. Autocoder OPERAND label ~. Assembled Instruction : Figure D-67 , M :~ , ~ %G 3 401 G Punch Card Select Stacker Instruction Format. Mnem onic SS Op Code K d -cllOracte r # Function. This instruction causes the card that was just punched to be selected into stacker 2 after the next punch operation takes place. (The card just punched must be checked at the punch-read station before it can be stacked. ) If a punch-check condition occurs during the next punch operation, the card is au tomatically directed to stacker 1. Note 1: This instruction must be issued prior to the PUN C H AND GO or READ C ARD instru ction that moves the card on through the feed. Note 2: The IBM 1444 and the IBM 1442, Models 2 and 4, have two stackers as standard equipment. A second stacker is provided in the IBM 1442, Modell , as a special feature. W ord Marks. Word marks are neither considered nor affected. Timing. T = .0333 ms. Address Registers A fter Operation. Figure D-66. IBM 1444 Card Punch I-Add. Reg. NSI A-Add. Reg. #bb B-Add. Reg . #bb D -27 Example: Place the card, just punched, in stacker 2 (Figure D-68). Autocoder OPERAND 40 :~ , ~ Autocoder , 35 30 40 45, : Assembled Instruction: Figure D-68. Assembled Instruction: B G75 OPERAND label , ~Q Figure D-69. .K # Branch If Punch Error Select Card in Stacker 2 IBM 1444 Card Punch Timing Branch if Punch Error Function. Same as for Reader Error, except that specifics apply to the punch operation. The card punch operates at a rated speed of 250 cycles per minute (240 ms per cycle). Aotual card punching, at an optimtIm rate of 250 cards per minute, is oontrolled by punch instructions in the program. There are four points in the cycle occurring at 60millisecond intervals when the punch feeding mechanism oan receive an impulse to start the punch cycle. Note: This error indicator is effective for the 1444 and first or second 1442 Modell or 2 punch operations, when the I/O check-stop switch is OFF. The punch cycle is divided into three separate functions (Figure D-70): Instruction Format. Mnemonic BIN Op Code B I-address III d-character ! (minus zero) Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI lbb Branch (without indexing): NSI BI blank NSI Branch (with indexing): NSI BI Example. Branch to the instruotion labeled PUNCHZ (3775) if a punch operation error occurred on any attached punch device. If no punch error occurred, proceed to the NSI (Figure D-69). 1. Punch-start time is 37 ms. After the feed mechanism has been impulsed, the time required for the card to feed and be positioned for punching is called punchstart time. The ffiM processing unit is interlocked during punch-start time. 2. Card punching time is 181 ms. Actual card punching takes place during this part of the cycle. The processing unit is always interlocked during cardpunching time. 3. Processing time is 22 ms. This is the remainder of the punch cycle allotted for processing in the system. The next PUNCH CARD instruction must be given during this 22-ms period, or the punch operation will end, and at least 60 ms will elapse before the punch can start again. CARD PUNCHING 250 CARDS PER MINUTE (Assume that the punch card instruction was given during the previous cycle) ~~ ~____3_7_m_s__~.~.I~J~____________________________ Punch Start Time I "' Figure D-70. D-28 Punch Cycle ~ 181 --------------------------~.~I~.22ms Punching Processing Time feed and be positioned for punching is called punchstart time. The mM processing unit is interlocked during punch-start time. 2. Card punching time is 181 ms. Actual card punching takes place during this part of the cycle. The processing unit is always interlocked during cardpunching time. 3. Processing time is 22 ms. This is the remainder of the punch cycle allotted for processing in the system. The next PUNCH CARD instruction must be given during this 22-ms period, or the punch operation will end, and at least 60 ms will elapse before the punch can start again. Figure D-71 shows card-punching speeds and the processing time available with each. Cards Punched Per Minute 250 200 166 143 125 Figure D-71. Length of Cycle (ms) 240 300 360 420 480 Processing Time (ms) 22 82 142 202 262 Card Punching Speeds D-29 On unbuffered systems the B-address (B01) must specify an address with the units and tens positions being 01, except the last 100-position block of storage. The number of characters printed depends on the B-field length established in core storage. The B-field length is 113 positions plus one for the group mark with a word mark. An automatic single-space opera tion occurs after the actual printing ends unless a different carriage operation is programmed. IBM 1445 Printer The IBM 1445 Printer provides a means of inscribing in magnetic ink A.B.A. (E-13B) type font (Figure D-72) as well as conventional characters for another medium of printed output. Refer to IBM 1445 Printer Models 1 and N1, Form A24-3210. IBM 1445 Printer Instructions Instructions applying to the 1445 cannot be successfully chained. Write Line Timing. T Instruction Format. Mnemonic W Op Code M A-address %Yl B-address BOl d-character W Function. This instruction is used to transfer data from core storage to the 1445 printer to be printed. The high-order position of data in the core-storage position specified by the B-address is transferred and printed in print-position 1. The rest of the data located in the adjacent core-storage positions is transferred, character-by-character, and printed in the adjacent print positions until a group mark with a word mark in core storage is sensed. E-13B Character Card Code 0 0-4-8 ~ 0-5-8 2 0-7-8 3 3-8 t. 4-8 5 5-8 b 7-8 C 7 12-0 C 8 11-0 D-30 C Address Registers After Operation. I-Add. Reg. NSI 8 4 A 8 4 A 8 4 8 B Example. Print the data beginning at the core-storage address of the label PRTOUT (0101), and ending Name 4 8 4 8 4 % or ( Percent or Left Parenthesis 1 y Word Separator 2 1 -ffI- Tape Segment Iv\ark 2 1 Hor= Number Sign or Equa I Sign @or 2 I At Sign or Apostrophe 1 : Colon 1 .J Tape Iv\ark 2 ? (Plus Zero) 8 2 ! (Minus Zero) A 8 2 T Record Mark A 8 4 1 [ Left Bracket 8 4 1 ] Right Bracket 8 4 nor) Lozenge or Right Parenthesis &or+ Ampersand or Plus Sign 0-2-8 .: 12-5-8 .,' 11-5-8 C B II" 12-4-8 C B A .11 12 C B A E-13B Characters and Codes %81 8 A B B 8 B-Add. Reg. B+LB+l A-Add. Reg. Equivalent Character A C = .0999 + 361 ms. Note: An address-validity-check condition occurs if the Baddress specifies xOl position of the last lOO-position block of core storage, as well as any starting position other than xOl for unbuffered systems. The system interlocks with the console I/O printer light on. The 1445 goes out of ready status. BCD Code ~ Figure D-72. Word Marks. Word marks are not affected. A group mark with a word mark is required to end the operation. with the core- storage location containing a group mark with a word mark (Figure 0-73). Autocoder Label , t-roti~ SRTO~T I I 5 Autocoder ~ trotl~ =RIO~T Label ~. ~o , Assembled Instruction: M %Y1 Figure D-73 :0 OPERAND :/1 Assembled Instruction: ~ Figure D-74. 101 W ~ %Y1 101 5 Write Line and Suppress Space Write Line Branch if Printer Error Write Line and Suppress Space Instruction Format. Mnemonic BIN 1nstruction Format. Mnemonic WS Op Code M A-address %Yl B-address BOI S Data in the core-storage position specified by the B-address is transferred and printed in print-position 1. The rest of the data located in the adjacent corestorage positions is transferred, character-by-character and printed in the adjacent print positions until a group mark with a word mark in core storage is sensed. The number of characters printed depends on the B-field established in core storage. The B-field length is 113 positions plus one for the group mark with a word mark. Word Marks. Word marks are not aHected. A group mark with a word mark is needed to end the operation. = .0999 + 361 ms. N.ote: An address-validity-check condition occurs if the Baddress specifies xOl position of the last 100-position block of core storage, as well as any starting position other than xOI for unbuffered systems. The system interlocks with the console I/O printer light on. The 1445 goes out of ready status. Address Registers After Operation. I-Add. Reg. A-Add. Reg. ~SI %81 I-address III d-character =+ d-character Function. This instruction is used to transfer data from core storage to the 1445 to be printed. The automatic single space, normally taken after printing, is suppressed. Timing. T Op Code B B-Add. Reg. B +L B + 1 Function. If an error occurs during a printer operation, this indicator is set ON, and the printer light glows on the console. This indicator can be tested to effect a branch. If the indicator is ON, it is reset. The next instruction to be executed is at the location specified by the I-address of the BRANCH IF INDICATOR ON instruction. Note: This error indicator applies to any 1403, 1443, or 1445 attached to the system, when the I/O check-stop switch is OFF. Word Marks. Word marks are not aHected. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0666 = .0777 ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI :J:bb Branch (without indexing): NSI BI blank Branch (with indexing): NSI BI NSI Example. Test the printer-error indicator to determine if an error occurred on the immediately preceding print instruction. If an error occurred, branch to the instruction labeled PRNTXY (0661). If no error occurred, continue processing with NSI (Figure D-75). Autocoder OPERAND Example. Print the data beginning at the core-storage address of the label PRTOUT (0101), and ending with the core-storage location containing a group mark with a word mark, and suppress the automatic single space (Figure D-74). 49 Assembled Instruction: B 661 Figure D-75. :~ ~o * Branch If Printer Error D-31 Branch if Printer Busy Autocoder II Instruction Format. Mnemonic BPB 0)) Code B I-address III label Note: This indicator is effective for any 1403, 1443, or 1445 atta<.:hed to the system. :~ .: d-character P Function. If the printer or printer carriage is occupied with another operation, this indicator can be tested to effect a branch' to another series of instruction. The indicator is reset as soon as the printer is available for another operation. Using this instruction allows processing to continue while the printer is busy, thus, in effect, allowing temporary overlapping of processing and printer operation. OPERAND , : Assembled Instruction: B 486 P Figure D-76. Branch If Printer Busy Branch if Channel 9 Instruction Format. Mnemonic BC9 Op Code I-address III B d -character 9 Note 1: This indicator is effective for any 1403, 1443, or 1445 attached to the system. Function. If the channel-9 position of the carriage-control tape has been sensed, this instruction will cause a branch to the address specified by the I-address. This indica tor is reset by the branch test, 0'1' by a channel-1 punch in the carriage-contrO'I tape. Note 2: The Branch if Printer Busy instruction should be included in any program where one print and space/skip operation has not been completed before the next print and space. operation is initiated. If this instruction is not used, incorrect carriage spacing or skipping can result. The following sample program segment illustrates how these instructions might be coded: Timing. No branch, or branch without indexing: T = .0666 ms. Branch with indexing: T = .0777 ms. Address Registers After Operation. W ol'd Marks. \Vord marks are not affected. PRBUSY SPACE WRITE BPBB CC W NSI PRBUSY, S NET PAY Frequently, there are other processing steps that can be performed while waiting for the carriage to complete the last print/space/skip function. The Branch if Printer Busy instruction could have branched to perform these other functions. This precaution applies only to systems having buffered printers. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T = .0666 ms. Branch with indexing: T = .0777 ms. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI 9bb Branch (without indexing): NSI BI blank Branch (with indexing): NSI BI NSI Example. Test to determine if the carriage-contro.l tape ( fO'rms) channel 9 has been sensed. Branch to a subroutine called BC9YES (0784) if the test is positive (Figure D-77). Autocoder II OPERAND label Assembled Instruction: Figure D-77. :5 ~o ! : 784 9 Branch on Printer Carriage Channel 9 Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. No Branch: NSI BI Pbb Branch (without indexing): NSI BI blank Branch (with indexing): NSI BI NSI Branch if Channel 12 Instruction Format. Mnemonic BCV Example. Test the printer-busy indicator to determine if the printer is occupied with some other operation. If it is, branch to anO'ther series of instructions beginning at the instruotio.n labeled PRBUZY (0486) while waiting fo.r the printer to become available. If the printer is not busy, execute the NSI (Figure D-76). D-32 Op Code B I-address III d-character @ Function. If the channel 12 (forms overflow) position o.f the carriage-oontrol tape has been sensed, this instruction will cause a branch to the address specified by the I -address. This indicator is reset by the branch test, or by a channel-1 punch in the carriagecontrol tape. Word Marks. Word marks are not aHected. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0666 = .0777 ms. Timing. T = .0333 ms + remammg form-movement time, if carriage is already in motion when this instruction is given. The total form-movement time depends on the specific carriage operation being performed. Address Registers After Operation. I-Add. Reg. Address Registers After Operation. NSI B-Add. Reg. dbb A-Add. Reg. dbb I-Add. Reg. A-Add. Reg. B-Add. Reg. BI @bb No Branch: NSI Branch (without indexing): NSI Branch (with indexing): NSI Example. ( 0659) control present BI BI blank NSI Branch to a subroutine labeled OVFLHD if the hole in channel 12 of the carriagetape has heen sensed, indicating that the form is filled (Figure D-78). Autocoder Immediate skip to d 1 2 3 4 5 6 7 8 9 0 (ji' 0 Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8 Channel 9 Channel 10 Channel 11 Channel 12 d Immediate space d After print-space J Figure D-78. Branch on Printer Carriage Forms Overflow Control Carriage Skip after print to Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8 Channel 9 Channel 10 Channel 11 Channel 12 # Assembled Instruction: 8 659 @ d 1 space 2 spaces 3 spaces K L Figure D-79. A B C D E F G H I ? • / S T 1 space 2 spaces 3 spaces Control Carriage d-Characters Instruction Format. Mnemonic CC Op Code F d-cha1'llctel' d Function. This instruction causes the carriage to move as specified by the d-character (Figure D-79). If the d -character is: 1. a digit, an immediate skip to the specified channel in the carriage tape occurs. 2. an alphabetic character containing a 12-zone, a skip to the specified channel in the carriage tape occurs after the next line is printed. 3. an alphabetic character containing an II-zone, an immediate space operation, as specified by the digit portion of the character, occurs. 4. an alphabetic character containing a zero-zone, a space operation, as specified by the digit portion of the character, occurs after the next line is printed. Note: There is no CARRIAGE CONTROL stmction for the 1440 system. AND BRANCH Word Marks. Word marks are not affected. (CCB) in- Example. Skip to channel 1 after a print operation (Figure D-80). Autocoder Label 40 .: Assembled Instruction: F A Figure D-80. Control Carriage IBM J445 Printing Speeds The IB~[ 1445 Printer operates at a maximum speed of 19() lines per minute when the 56-character bar is installed. Rated speeds for special feature character sets are: Character Set 42-Character Bar (Alphameric Type) 14-Character Bar (Standard Numeric Type) Speed (LPM) 240 525 D-33 II Tape Input/Output Operations IBM 7335 Magnetic Tape Unit An additional storage med ium with the advantage of compact record handling is now available to the 1440 system user by a ttaching the IBU 7335 Magnetic Tape Unit, Models 1 and 2 ( Figure E-1) to his 1440 system. Refer to IBM 7335 Magnetic Tap e Unit, Form A226789. Figure E-2 shows th e 7335 magnetic tape unit charac teri stics . Data Rate 20,000 characters per second (CPS) Bit Density 556 per inch (CPO Tape Speed 36 inches per second Interrecard Gap 3/ 4 inch Rewind (H igh Speed) 2.2 minutes Figurc E -2. 11 1]1{ 7335 Magneti c Tape Unit Characteristics Data Flow The lB",I 7335 Magn e tic Tape Unit functions as both an input and an output device. Th e 7335 transports the tape and accompli shes th e actual reading and writing of information as direc ted by outside control from the sys tem's stored program. _Ea ---- Magnetic Tape Instructions Instructions applying to the cessfully chained. IBM 7335 cannot b e suc- Read Tape Instru ction Format . Mn emonic 0]1 Code HT M A-address %Un B-address BBB tf-cllllracie r n Function. The tape unit specified in the A-address is started. Th e d-character specifies a tape read operation. Th e B-address specifies the high-order position of th e tape read-in area of storage. The machine b egins to read magnetic tape, and continues to read until eith er an inter-record gap in the tape record or a group mark with a word mark in core storage is sensed . Th e in ter-record gap indicates the end of the tape record, and a group mark (code CBA 8421) is inserted in core storage at this point. If the group mark with a word mark occurs before th e inter-record gap is sensed, the transfer of data from tape stops, but tape movement continues until the inter-record gap is sensed. Note: Wh en a tape-mark (EOR) record is read, a group mark will be inserted in the second position of th e tape reall-in area. Word Marks. Word marks are not affected. Figure £-1. IIlllI 7335 Magnetic Tape Unit ( Modell ) Timing. T = .0999 ms + T M • ( See Magnetic-Tape Timing for TM time.) E-1 Addmss Registers After Operation. Timing. T I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI %4n Group-mark + 1 Autocoder OPERAND :'. label .: Assembled Instruction: Figure E-3. M %U2 419 M. Address Registers After Operation. Example. Read the recO'rd from tape unit 2 (labeled 2) into core storage. The high-order tape-record character is moved to' INPUT (.0419), the next character is moved to the next higher positiO'n (.042.0), etc., until transfer of data is stopped by an inter-record gap in the tape record, or a group mark with a word mark in core storage (Figure E-3). ~ = ..0999 ms + T ~ R I-Add. Reg. A-Add. Reg. %4n NSI B-Add. Reg. Group-mark + 1 Example. Read the record from tape unit 1 (labeled 1) into core storage, and insert word marks where word-separator characters exist in the tape record. The high-order character is moved to INRECI (.0518), the next character is moved to the next higher position (.0519), etc., until the transfer of data is stopped by an inter-record gap in the tape recO'rd, or until a group mark with a word mark is sensed in 144.0 core storage (Figure E-5). Autocoder OPERAND label Read Tape (Move Operation) :~ . ~ Assembled Instruction:! Figure E-5. %Ul 518 R Read Tape with 'Vord Marks (Load Operation) Read Tape with Word Marks Instruction Format. Mnemonic Op Code A-address B-address d-character RTW L %Un BBB R Write Tape Function. With the fO'llowing exceptions this instruction is the same as the Read Tape operation. WordseparatO'r characters (written with the WRITE TAPE WITH WORD MARKS instruction) are translated to word marks during the transmissiO'n into core-stO'rage. As in all load-mode O'perations, word marks encountered in the B-field are cleared. N ate: When a tape-mark (EOR) record is read, a group mark is inserted in the second position of the tape read-in area. Word Marks. A word-separator character (A841) read from tape causes a word mark to be associated with the next tape character transferred into core storage (Figure E~4). Note. If a record has been written on tape by a WRITE TAPE instruction, it should be read back by a READ TAPE WITH WORD MARKS instruction so that word-separator characters are translated to word marks. Instruction Format. Mnemonic Op Code A-address B-address d-character WT M %Un BBB W Function. The tape unit deSignated in the A-address is started. The d-character specifies a tape write operation. The data from core storage is written on the tape record. The B-address specifies the high-O'rder position of the record in storage. A group mark with a word mark in core storage stops the operation. The group mark with a word mark causes an inter-record gap on the tape. Word Marks. Word marks are not aHected. WITH WORD MARKS Tape Positions Tape Code 1440 Core-5torage Locations 1440 Meaning 1440 Core-Storage Code Figure E-4. E-2 A 82 B A841 C 41 A 0 B 5 C 4 C82 41W 4 D C4 Word-Separator Character Handling during Read Tape with Word Marks Operation Timing. T = ..0999 ms + T M. Note. If a group mark with a word mark is the first character of B-address, the tape-adapter unit and the tape unit hangs up. The condition can be reset by pressing the start-reset key if the tape-select switch on the system console is in the N ( normal) position. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %4n B-Add. Reg. Group-mark +1 Example. Transfer the contents of core storage to tape unit 1 (labeled 1), starting at the location labeled OUTPUT (0525) and ending at the location of the first group mark with a word mark (Figure E-6). Example. Transfer the contents of core storage to tape unit 2 (labeled 2). Insert a word-separator character where word marks exist in core storage, beginning at OUTREC (0696) and ending at the first group mark with a word mark in core storage (Figure E-8). Autocoder Autocoder label OPERAND Label Assembled Instruction:!. O/OU1 525 :' : W Assembled Instruction: Figure E-6. 1 %U2 696 W Write Tape (Move Operation) Figure E-8. Write Tape with Word Marks Write Tape with Word Marks Backspace Tape Record Instruction Format. Mnemonic \VTW OJ) Code A-address B-address d-character k %Up BBB \V Function. This is the same as the write tape operation except that the WRITE TAPE WITH WORD MARKS instnlCtion affects word marks in core storage. "Vord "A1arks. A word mark associated with any position in core storage causes a word-separator character (A841) to be written automatically on tape, one character ahead of that which contained the word mark. Thus, word marks are translated to wordseparator characters for tape storage (Figure E-7). Timing. T = .0999 ms + T M • Note. Load operations must be used when word marks are needed. for identification in tape storage. If tape is written by a WHITE TAPE WITH WORD :MARKS instruction, it must be read back by a READ TAPE WITH WORD MARKS instruction to insure proper translation between the tape and core storage. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI %4n Group-mark + 1 1440 Core-Storage Locations 1440 Core-Storage Code 10440Meaning Tape Positions Tape Code A B C C82 0 A 82 41W 5 4 4 C 41 Tape meaning 0 Word 5 Separator B Mnemonic BSP 0]) Code U d-character %Un B Function. The tape unit specified in the A-address backspaces over one tape record. The first illiterrecord gap (IRG) encountered stops the backspace operation specified by the d-character, B. Word Marks. Word marks are not affected. Timing. T = .0666 ms + T M' () ()Backspace after Read operation: (428 + .050 N) ms Backspace after Write operation: (435 + .050 N) ms Note: The system is interlocked for the duration of tape movement for any instructions that have a percent sign (%) in the hundreds position of the A-address. Other functions are not affected. I-Add. Reg. A-Add. Reg. NSI %4n B-Add. Reg. Bbb Example. Backspace tape unit 1 (labeled 1) until an IRG is sensed (Figure E-9). 0 C4 Autocoder OPERAND :: Label 4 Assembled Instruction: Figure E-7. A-address Address Registers After Operation. Address Registers Afte1' Operation. A841 Instruction Format. Word-Separator Character Handling during Write Tape with Word Marks Operation Figure E-9. y. %U1 . ~ B Backspace Tape Record E-3 This signals the system prO' gram that the end of a major graup of records has been reached (end-offile) or the end af utilized tape has been reached. Skip and Blank Tape Instruction F o·rmat. Op Code U Mnemonic SKP d-character E A-address %Un Function. The tape unit, designated by the A-address, spaces forward and erases approximately 4 inches of tape. The actual skip occurs when the next WRITE TAPE instruction is given. This instruction makes it possible to bypass defective tape areas. Word Marks. Word marks are not affected. Timing. T = .0666 ms + T M. Note: The system is interlocked for the duration of tape movement for any instructions that have a percent sign (%) in the hundreds position of the A-address. Other functions are not affected. Address Registers After Operation. Word Marks. Word marks are not affected. Timing. T = .0666 ms. Processing can continue immediately after this operation. However, 110 ms must be added to the next WRITE TAPE instruction time. B-Add. Reg. A-Add. Reg. %4n I-Add. Reg. NSI Mbb Example. Insert a tape mark on the tape in tape unit 2 (labeled 2); Figure E-11. Notes. The SKIP AND BLANK TAPE instruction should be given immediately preceding a WRITE TAPE instruction for the tape unit specified by both instructions. The system is interlocked for the duration of tape movement for any instructions that have a percent sign (%) in the hundreds position of the A-address. Other functions are not affected. Address Registers After Operation. OPERAND Label :5. : Figure E-lO. y. %Ul ,~ E Skip and Blank Tape Assembled Instruction: M %U2 ,~ M Write Tape Mark Diagnostic Read Instruction Format. Mnemonic Op Code CU CU U U A-address %Bn %Un d-character A A Function. This instruction causes the tape unit specified in the A-address to reposition its tape to' the next inter-record gap (IRG) without transmitting any data to' core storage. If the tape record contains a first character tape mark, the end-af-file (EOF) indicator is turned on. Write Tape Mark This instructian is useful in skipping recards or files an tape. The system is free to' praceed with internal processing during the tape movement. Instruction Format. Mnemonic OJ) Code WTM Q A-address %Un d-character M Function. This instruction causes a tape mark character (C8421) to be recorded immediately follOwing the last record on tape. When the tape mark is read back from a tape, the end-of-reel indicator is turned on. E-4 :~ : Ebb Autocoder Assembled Instruction: , B-Add. Reg. Example. Erase tape on tape unit 1 (labeled 1) when the next write operation is ordered for that unit (Figure E-10). , OPERAND Label Figure E-ll. A-Add. Reg. %4n I-Add. Reg. NSI Autocoder The tape operations are interlocked until the check character of the record being skipped is sensed. Word Marks. Word marks are nat affected. Timing. T = .0666 ms + T M. Note: The system is interlocked for the duration of tape movement for any instructions that have a percent sign (%) in the hundred's position of the A-address. Other functions are not affected. Autocoder OPERAND ~'. !~ Assembled Instruction: ~ %Ul ~ R Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %2n Figure E-13. B-Add. Reg. Abb Example. Read one tape record from tape drive number 1 but do not enter the tape data into core storage. If the record has a first-character tape mark, turn on the end-of-file indicator (Figure E-12). Rewind Tape Rewind and Unload Instruction Format. Mnemonic RWU Op Code A-address d-character U %Un U Autocoder I' OPERAND label !~ :~ ! ~ Assembled Instruction: U %U 1 A Figure E-12. Diagnostic Tape Read Function. This instruction causes the tape unit specified in the A-address to rewind its tape. At the end of the rewind, the tape is out of the vacuum columns, and the reading mechanism is disengaged. The unit is effectively disconnected from the system, and is not available again until the operator restores it to a ready status. Word Marks. Word marks are not affected. Timing. T = .0666 ms. Rewind time is 2.2 minutes, but it is not calculated with program time. Processing can continue immediately after this instruction is interpreted. Rewind Tape Instruction Format. Mnemonic RWD 0]) Code A-address U %Un d-character R Function. This instruction is usually given after an endof-reel condition, and causes the selected tape unit to rewind its tape. When the operation is initiated, the tape unit is, in effect, disconnected from the system. Note. Processing unit not interlocked during tape-movement time. Address Registers After Operation. B-Add. Reg. Ubb A-Add. Reg. I-Add. Reg. NSI %4n Exarriple. Rewind the tape in tape unit 2 (labeled 2), and make it unavailable to the stored program (Figure E-14). Word Marks . Word marks are not affected. Autocoder Timing. T = .0666 ms. Rewind time is 13.3 minutes, but it is not calculated with program time. Processing can continue immediately after this instruction is interpreted. Note. Processing unit not interlocked during tape-movement time. OPERAND !~ Assembled Instruction: Figure E-14. Y ~. %U2 ~ ! U Rewind Tape and Unload Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %4n B-Add. Reg. Rbb Example. Rewind the tape in tape unit 1 (labeled 1); Figure E-13. Branch if End of Reel Instruction Format. Mnemonic Op Code BEF B I-address III d-character K E-5 Function. The end-of-reel indicator (EOR) turns on in the system processing unit if a tape mark is read by the system or if a reflective spot is sensed during a write tape operation. This instruction tests, the indicator and causes an automatic branch to the I-address if the indicator is on. If it is off, the program continues normally. Word Marks. Word marks are Timing. not affected. = No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T .0777 ms. = = Note: This instruction must be executed immediately after testing for a tape error, following a tape read or tape write operation (particular tape unit still in select and ready status) to ensure correct results and reset the EOR indicator OFF, if it is on. If another tape unit is selected before a BRANCH IF ENDOF-REEL IDNICATOR ON instruction is executed, the indicator remains ON and a false EOR test specifying the wrong tape unit results. I-Add. Reg. A-Add. Reg. B-Add. Reg. Kbb BI NSI NSI BI blank NSI BI NSI Note. The tape read-in area must be cleared if an error occurs because the error may have created a group mark with a word mark somewhere in the read-in area. This false bit configuration will cause all subsequent tape read operations to terminate too early. Address Registers After Operation. No Branch Branch (without indexing) Branch (with indexing) Address Registers After Operation. No Branch Branch (without indexing) Branch (with indexing) Word Marks. Word marks are not affected. Timing. No branch: T .0666 ms. Branch (without indexing): T .0666 ms. Branch (with indexing): T .0777 ms. = system and the tape light on the console glows red. This instruction tests the error indica tOT , and branches to the I-address fOT the next instruction if the indicator is on. If it is off, the program continues with the next sequential instruction. I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg Lbb NSI BI blank NSI BI NSI Example. Read a tape recoTd from the tape unit 1 Example. Test the tape ,unit just used fOor an end-ofreel condition. If there is an EOR condition, branch to T APERI (0685) for the next instructiOon. If no EOR exists, continue the program with the next sequential instructiOon (Figure E-15). (labeled 1) into core-storage area labeled TAPEIN (0629) and test for a tape error. If there is an error, branch to TAPER2 (0539) for the next instruction. If there is no error, continue processing with the next sequential ins:truction (Figure E-16). Autocoder OPERAND OPERAND Label .~ .: Assembled Instruction:! :0. . 68.5 ~ Assembled Instruction: K M %Ul 1. Figure E-15. Branch If End of Reel Figure E-16. 629 R .539 Branch If Tape Error Branch if Tape Error Instruction Format. Mnemonic BER Op Code B I-address d-character III L Function. If an error occurs in transmission between a tape unit and the system during a tape read or tape write operation, an error indicator turns on in the E-6 Read Binary Tape Instruction Fonnat. Mnemonic RTB Op Code M A-address %Bn B-address BBB d-character R Function. A tape record written in binary form is read into core storage, beginning at the location specified by the B-address and ending at an inter-record gap between tape records or a group mark with a word mark in core storage. The A-address indicates the tape unit selected, and signals the column-binary tape operation. The d-character (R) specifies a read operation. \Vord A-l arks. Word marks are not affected. Timing. T = .0999 ms + T M. A-Add. Reg. %2n B-Add. Reg. Group-mark + 1 Autocoder Label .: , ti ti~ '~I~ Assembled Instruction:!! Figure E-17. OPERAND :'. : %Bl J80 R A-Add. Reg. %2n B-Add. Reg. Group-mark + 1 Example. \Vrite a tape record in the binary mode on the tape unit labeled 2, with the data stored in the area labeled BTPOUT (2001) and ending when a group mark with a word mark is sensed in core storage (Figure E-18). Autocoder Example. Read the binary tape record from the tape unit labeled 1 into the area of core storage labeled BTPIN (2080) and ending at the group mark with a word mark sensed in core storage or at the first interrecord gap encountered in the tape record (Figure E-17). ~ I-Add. Reg. NSI ~ Address Registers After Operation. I-Add. Reg. NSI Address Registers After Operation. Label .: = trati~ '!is Assembled Instruction:!! Figure E-18. OPERAND :~ 'AT~.OUT, ~o %~2 JOl : W Write Binary Tape M'agnetic-Tape Timing The tape units attached to the 1440 system are under the control of a tape-adapter unit (TAU). This unit controls the operation of only one tape unit at a time. If the one tape unit is busy, the other tape unit cannot be used until all operations on the one that is busy has been completed. The following symbols and figures are used in the 7335 timing formulas: Read Binary Tape Character Rate of the 7335 at 556 Characters per Inch: .050 ms. N: the number of characters in the record. Write Binary Tape Start Time: the time necessary for the tape unit to accelerate to operating speed. Instruction Format. Mnemonic Op Code WTB M A-address %Bn B-address BBB d-character W Function. This instruction writes a tape record in the odd-parity mode. The A-address specifies the tape unit to be selected, and signals that this is a binarytape operation. The B-address specifies the highorder position of the tape record in core storage. The d-character indicates a tape-write operation. Sensing a group mark with a word mark in core storage stOops transmission from the system to the tape unit. Word Marks. Word marks are not affected. Timing. T = .0999 ms + T M. Stop Time: the time necessary for the tape unit to decelerate and stop. Record Check Time: the time it takes to read or write the check character. This time is based on the readwrite head gap (the distance that separates the read and write heads) and the time it takes a single character written on tape to travel from the write head to the read head. Load Point Time. When reading or writing from load point, a skip of 3.5 inches occurs prior to. reading or writing a record and the start time is increased about 27 milliseconds. E-7 Read Operation Timing During a 7335 tape-read operation, the tape-adapter unit .is interlocked 20.5 +.OOON ms (Figure E-19). This includes: unit is interlocked 20.5 + .OOON ms (Figure E-19). This includes: 7.2 ms - start time 4.4 ms - stop time 8.7 ms - record check time .050N ms - record time 10.3 ms - start time 9.8 ms - stop time .4 ms - record check time .050N ms - record time 20.3 20.5 + .050N ms During the same read operation, the processing unit is interlocked for lOA + .050N ms (Figure F -19). This includes: ms During the same write operation, the processing unit is interlocked for 7.2 + .050N ms (Figure E-19). This includes: 7.2 ms - start time .050N ms - record time 10.3 ms - start time .1 ms - part of A ms record check time .050N ms - record time 7.2 + .050N ms lOA + .050N ms Therefore, in a tape-read operation, processing can take place during 10.1 ms of stop time and record-check time. A tape-transmission-error condition can be recognized .3 ms after the processing interlock is released. Write Operation Timing During a 7335 tape-write operation, the tape-adapter Therefore, in a tape-write operation, processing can take place during the 13.1 ms record check and stop time. A tape-transmission-error condition can be recognized 8.7 ms after the processing interlock is released. If the tape-transmission-error test is given during the 8.7 ms record check time, the processing unit is interlocked until the error indicator is interrogated. The difference between the reading record-check time of A ms and the writing record-check time of 8.7 ms is due to the read-writ_e head gap time (8.3 ms ). READ OPERATION Start Time + .050N Record Time 4t---1-0 -.3- ms--·*I·t------------------..,5 5.050 N ms I"'" Record Check Time .I 1 Stop Time I .4 ms' , 9.8 ms Tape Adapter Uriit Interlocked I·~------------------------~55' 20.5 + .050 N ms Processing Unit Interlocked Can Test Tape .3 ms~ r- Error Indicator )~4----------------------~)S~--------------------~ 10.4 + .050 N ms Available Processing Time I WRITE OPERATION 1-01 Start Time 4 1--- Record Time -+1. . -------~S 5.050 N ms - - ....... 7 •2 ms ~ I 10.1 ms Ii: Record St Check Time I 8.7 ms I 4.4 ms Tape Adapter Unit Interlocked 1·.... . . .-------------------~5 520.3 + 050 N ms Can Test Tape Error Indicator, ~.~--------------------------~()r~--~P-ro-c-e-u-in~g-U-n-i--tln-te-r-'o-c-ke-d----------------------~~-8_._7_ms--~-1 ) 7.2 + .050 N ms Available Processing Time t+-_--.;;1..;;.3.;.,;.1;...,;ms=-_-+1 Figure E-19. E-8 IBM 7335 Read-Write Operation Timing IBM 1011 Paper Tape Reader Read from P'a per Tape Instruction Format. Th e IBM 1011 Paper Tape Read er (Figure E-20) for the IBM 1440 Data Processing System is an input device controlled by stored programs in th e same manner as other input/ output equipment. Refer to IBM 1011 Paper Tape Reader, Form A26-5754. Information punch ed in paper or Mylar'" tape can b e read by the IBM 1011 directly into any area of core storage. Any character punched in 5-track telegraphic, 8-track IBM , or many other paper-tape codes can be encoded into any valid 1440 character through the flexibility of control-panel wiring on the tape read er. IBM JOJ J Pa per Ta pe Reader Instructions Instructions applying to the 1011 cannot be successfully chained. Mn emonic Oil Code A-address MU M %Pl B-address BBB d-character R Punction . This instruction causes data to be read from th e paper tape reader into core storage, beginning at th e B-address. The M op cod e specifies that th e operation is to be performed in th e move mode. When the M operation code is used, word marks are not transferred into core storage with the data read from the paper tape, and word marks in the core-s torage paper-tape read -in areas are undisturbed. The A-address, %P1, is th e code assigned to both the IBM 1011 Paper Tape Reader and the IBM 1012 Tape Punch. The B-address specifies the core-storage position (high-order ) that receives the first character of information from th e paper-tape reader. The succeeding characters are read into the adjacent higher-numbered core-storage positions. The d -character R specifies a read operation. The read operation ends either b y detection of a group mark with a word mark in core storage (signifies the end of the read-in area), or by reading an E OR (endof-record character) character punched in the tape. Any paper-tape character can b e used as an endof-record character. Wiring the assigned end -ofrecord character decod e-exit hub to the end-ofrecord Ii\' hub terminates th e paper-tape read operation and enters a group mark in core storage. Note. If a group mark with a word mark in core storage is used to terminate the paper-tape-read operation, the character read into th e A-register, when the group mark with a word mark is sensed, is lost. Word Marks. \Vord marks are not affected. Timing. T = .0999 ms + record transmission time. Address Registers After Operation. I-Add . Reg. NS I Figure E-20. IDM 1011 Paper Tape Reader °Trademark of E. I. d u Pont de Nemours & Co. A-Add. Reg. %71 B-Add. Reg. B + message length + 1 Example. Read a record from paper-tape reader 1 into core stomge. The high-order paper-tape character is moved to a storage location labeled READIN (0541 ); the next character is moved to the next higher position ( 0542 ), etc. , until the transfer is terminated. The transfer is stopped either by detecting a group mark with a word mark in core-storage (signifying the limit of the read-in area) , or by reading an EndE-9 of-Record (EOR) character punched in the tape (Figure E-21). Word marks in the read-in area are not affected. Autocoder Autocoder I. lai:lel .: read from the paper-tape reader causes a word mark to be associated with the next charaoter inserted in core-storage from the 1011 (Figure E-22). trati~I I I If J 5 I I. , SO ,;~l "R OPERAND label , ~ Assembled Instruction: L %P1 418 R Assembled Instruction: M %P1 541 R Figure E-21. :~ Read from Paper Tape Figure E-22. Read from Paper-Tape Reader with Word Marks Branch if Input/Output Indicator On Read from Paper Tape with Word Marks Instruction Format. Instruction Format. Mnemonic LU Op Code L A-address %P1 B-address BBB d-character Note: See Read from Paper Tape section. Word Marks. Word marks are removed from the papertape read-in area in core storage, and word-separator characters read from the paper-tape reader cause a word mark to be associated with the next character read from the 1011. = .0999 ms + record transmission time. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %71 B-Add. Reg. B + message length + 1 Example. Read a record from paper-tape reader 1 into core-storage. The high-order paper-tape character is moved to a storage location labeJed RDPTWM (0418); the next character is moved to the next higher position (0419) until the read operation ends either by detecting a group mark with a word mark in storage, or by reading an End-of-Record (EOR) character punched in the tape. Any existing word marks in the read-in area are cleared. A word-separator character E-10 Op Code B I-address III d-character 1 R Function. This instruotion is similar to the READ FROM PAPER TAPE instruction, except that word marks are removed from the paper-tape read-in area in core storage, and word -separator characters read from the paper-tape reader cause the insertion of a word mark in core storage with the next character read from the 1011. The.1. op code specifies that the operation is to be performed in the load mode. Timing. T Mnemonic BIN Function. \iVhen a parity error is detected during a read operation, the PE hub provides an error output (8-track tape only). When the error condition occurs, the error character is suppressed and a special output is made available on the paper-tape-reader control panel. This signal can be used to either substitute a unique error character, or delete that position. Refer to CONTROL and SPECIAL PURPOSE hubs in IBM 1011 Paper Tape Reader, Form A26-5754. The detected parity error also turns on the input/ . output error latch in the system. A paper-tape-read operation should always be followed by a BRANCH IF INPUT-OUTPUT INDICATOR ON instruction. This instruotion checks the status of the input/output error latch. If the latch is ON, the system branches to the error subroutine. If the latch is OFF, the program goes to the next sequential instruction. ·W ord Marks. \Vord marks are not affeoted. Timing. No Branch: T = .0666 IDS. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Address Registers After Operation. I-Add. Reg. No Branch (no indexing) Branch ( no indexing) Branch (with indexing) A-Add. Reg. B-Add. Reg. NSI BI lbb NSI BI blank NSI BI NSI Example. Branch to an enor subroutine labeled PAPERR (0661) if the input/output indicator signals a paper-tape read error (Figure E-23). routine that begins at the core-storage position specified by the instruction I-address. Word Marks. Word marks are not affected. Autocoder I' Label .: _eperati~•. '11 N :J~PEiR,l ~o Assembled Instruction: B 661 Figure E-23. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. 1 Branch If Input/Output Indicator On Address Registers After Operation. I-Add. Reg. NSI No Branch Branch (no indexing) NSI Branch (with indexing) NSI Instruction Format. Op Code B B-Add. Reg. BI BI blank NSI 2bb Example. Branch to a paper-tape read routine labeled READY (0767) if the 1011 is ready to read (Figure E-24). Branch if Paper Tape Reader Ready Mnemonic BIN A-Add. Reg. BI I-address d-character III 2 Autocoder Label Function. This instruction checks the status of the tapereader-ready indicator. If the paper-tape reader is not ready, when tested, the program goes to the next sequential instruction. If the paper-tape readeT is ready, when tested, the program branches to the sub- 40 Assembled Instruction: B 767 2 Figure E-24. Branch If Paper Tape Reader Ready E-ll IBM 1012 Tape Punch The IBl\I 1012 Tape Punch (Figure E-25) attached to the IBM 1440 Data Processing System is an output device controlled by stored programs in the same manner as other input/ output equipment. Refer to IBM 1012 Tape Punch, Form A26-5776. The IBM 1012 Tape Punch operates at the rate of 150 tape characters pel' second, using 5-, 6-, 7-, or 8-track paper or Mylar tape, supplied from a reel. Data, stored in the core-storage area of 1440 system and ready to be punched, is converted to the appropriate tape code by using a translation program that includes the appropriate stored code table. Write on Tape Punch Instruction Format. 0]1 Code M Mnem onic MU A-address %Pl B-address BBB d-clwractel' W Function. This inshuction causes one Vei·tical tape column to be punched. The M op code specifies an operation in the move mode. When the M operation code is used, word marks are not h'ansferred from core storage to th e tape punch. The A-address, %P1, is the code assigned to both the IBM 1011 Paper Tape Reader and the IBM 1012 Tape Punch. The B-address specifies th e first core-storage position (high-order) of the three-position field. The three-position fi eld contains th e total bit configuration that will be punched in one vertical column in the tape. The d-character W specifies a write operation. IBM JOJ 2 Tape Punch Instructions Instructions applying to the 1012 cannot be successfully chained. Word Marks . Word marks are not affected. Timing. T = .0999 ms + transmission time. Address Registers After Operation. B-Add. Reg. B +3 A-Add. Reg. I-Add. Reg. NS I %71 Example. Read a record from core storage identified by the label WRITE (0551 ), and punch into paper tape. (Figure E-26) . Autocoder OPfRAND Labe l :~ Assemb led In struction : M %Pl Figure E-26. ~ 551 W Write on Paper Tape Tape.Punch Read·Back Check Instruction Format. Figure E-25. E-12 IBM 1012 Tape Punch Mnemonic MU Or Code A-address M %Pl B-address BBB d-clwl'Octer R Function. This instruction reads one vertical tape column when a read-back check is desired on the characters punched in the tape. The M op code specifies an operation in the move mode. When the M operation code is used, word marks in core storage are not removed or affected. The A-address, %P1, is the code assigned to both the IBM 1011 Paper Tape Reader and the IBM 1012 Tape Punch. The B-address specifies the first core-storage position (high-order) of the three-position field. The three-position field contains the tO'tal bit configuration of the character being read from the tape at the reading station. The d-character R specifies a read operation. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. Abb B-Add. Reg. Abb Example. Move paper tape backwards one vertical cO'lumn (Figure E-28). Autocoder OPERAND Label Assembled Instruction: K A Figure E-28. Backspace (Paper) Tape Word Marks. Word marks are not affected. Backspace Tape and Branch Timing. T = .0999 ms + transmission time. Instruction Format. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %71 B-Add. Reg. B+3 Example. Read one vertical paper-tape column to check the character punched intO' the tape. The label RDBKCK (0686) specifies the first core-storage (highorder) of the 3-position field (Figure E-27). Mnemonic Op Code SSB K I-address III d-character A Function. This instruction is similar to the BACKSPACE TAPE instruotion, except that the location of the next instruction is taken from the I-address. Word Marks. Word marks are not affected. Autocoder ~ OPERAND Label Timing. Branch (withO'ut indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Assembled Instruction: M %Pl 686 R Figure E-27. Tape-Punch Read-Back Check Address Registr:rs After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. Branch (without indexing) NSI BI blank Branch (with indexing) NSI BI NSI Backspace Tape Instruction Format. Mnemonic Op Code SS K d-character A Function. This instruction moves the tape backward O'ne vertical column. The program then goes to the next sequential instruction. Word Marks. Word marks are not aHected. Timing. T = .0333 ms. Example. Move the paper tape backwards one verti.cal column, and branch to a core-storage location laheled BKSPBR (0777) for- the next instruction to be executed (Figure E-29). Autocoder OPERAND Label ,: Assembled Instruction: Figure E-29. K 777 A Backspace (Paper) Tape and Branch E-13 Branch if in Backspace Operation Instruction F onnat . Op Code B Mnemonic BIN I-address III d-character 1 Function. This instruction checks to see whether the tape punch is in a ready condition. The tape punch ~s considered in a ready conditiO'n when each of the following conditions is satisfied: 1. Tape properly loaded 2. Tape tension is normal Function. This instruction checks to see whether the tape punch is executing a backspace operation. The backspace operation condition is pTesent from the time the tape punch is signaled to execute the backspace operation until the operation is completed. 3. Electrical pO'wer is supplied 4. Start switch has been pressed. If the tape punch is in a ready condition, when checked, the program branches to the subrO'utine that starts at the I-address specified in the instruction. If the tape punch is not in a ready condition, when checked, the program goes to' the next sequential instruction. If a backspace opeTation is in progress, when checked, the pTogram branches to the subroutine that starts at the I-address specified in the insbuction. If a backspace operation is not in progress, when checked, the program goes to the next sequential instruction. Word Marks. Word marks are nO't affected. Word Marks. Word marks are not affected. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Address Registers After Operation. Address Registers After Operation. No Branch Branch (no indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. Ibb BI NSI BI blank NSI BI NSI Example. TeS't an indicator to determine if the 1012 punch is presently performing a. ta.pe-backspace operation. If it is, branch to' a core storage location labeled BKSPBY ( 0525 ) for the next instruotion (Figure E-30). No Branch Branch ( no indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. BI 2bb NSI BI blank NSI BI NSI Example. Branch to a subroutine labeled TPRDY (0818) if the 1012 tape punch is ready (Figure E-31). Autocoder I' OPERAND Label Autocoder Assembled Instruction: OPERAND Figure E-31. Assembled Instruction: Figure 30. B 818 2 Branch If Tape Punch Ready B 525 1 ' Branch If in Backspace Operation Branch if Tape Punch Ready Branch if Tape Punch Not Ready to Accept Data Instruction F onnat. Instruction Format. Mnemonic BIN E-14 Op Code B I-address III d-character 2 Mnemonic BIN Op Code B I-address III d-character 3 Function. This instruction checks to see whether the· tape punch is in the correct mechanical position to accept data. The IBM 1012 Tape Punch punches tape at the speed of 150 characters per second (6.6 milliseconds between characters). The data can be accepted during a l.5-millisecond (ms) portion of the 6.6 ms time interval between characters. If the tape punch is not in correct mechanical position to accept data, when checked, the program branches to the subroutine that starts at the I-address specified in the instruction. If the tape punch is in correct mechanical position to accept data, the program goes to the next sequential instruction. Word Marks. Word marks are not affected. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Word Marks. Word marks are not affected. Address Registers After Operation. Address Registers After Operation. I-Add. Reg. NSI If the reading portion of a punch cycle has not been reached, when checked, the program branches to the subroutine that starts at the I-address specified in the instruetion. If the reading portion of a punch cycle has been reached, the program goes to the next sequential instruction. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Timing. No Branch Branch (no indexing) Branch (with indexing) The IBM 1012 Tape Punch punches tape at the speed of 150 characters per second (6.6 milliseconds between characters). A l.8-millisecond (ms) portion of the 6.6 ms time interval between characters is reserved for the actual read operation. No Branch Branch (no indexing) Branch (with indexing) A-Add. Reg. B-Add. Reg. BI 3bb NSI BI blank NSI BI NSI Example. Branch to a core-storage location labeled NOPCH (0343) if the 1012 tape punch is not ready to accept da.ta (Figure E-S2). A-Add. Reg. B-Add. Reg. BI 4bb I-Add. Reg. NSI NSI BI blank NSI BI NSI Example. Branch to a subroutine at a core-storage location labeled NORD (0381) if the 1012 tape punch is not ready to read (Figure E-33). Autocoder OPERAND Label ,~ Autocoder Label OPERAND :~ Assembled Instruction: Figure E-32. : Assembled Instruction: Figure E-33. B 343 3 40 :~ ~o B 381 4 Branch If the Tape Punch Is Not Ready to Read Branch If the Tape Punch Is Not Ready to Accept Data Branch if Tape Punch Overextended Instruction Format. Branch if Tape Punch Not Ready to Read Mnemonic BIN Instruction Format. Mnemonic BIN Op Code B I-address III d-character 4 Function. This instruction checks to see whether the reading portion of a punch cycle has been reached. Op Code B I-address III d-character 5 Function. This instruction checks to see whether a previous punch (qr read) operation occurred within the allotted time during the last possible punch (OT read) cycle. E-15 If a punch (or read) operation did not occur within the allotted time, it may indicate a machine malfunction, and the tape punch can be stopped through programming. This condition: 1. Always exists when the tape punch is idle 2. Exists until a punch (or read) operation starts 3. Never exists when the tape punch is punching (or reading) at its maximum speed. If a punch (or read) operation did not occur within the allotted time, when checked, the program branches to the subroutine that starts at the I-address specified in the ins'truction. If a punch (or read) operation did occur within the allotted time, when checked, the program goes to the next sequential instruction. Function. This instruction checks to see whether either an end-of-reel (supply reel low ) condition exists or the chad box is full or not in position. Additional punching can occur after the supply-reel-low condition occurs, but the amount of additional punching depends upon the length of the records being punched. If the supply reel is low, or the chad box is full, or not in position, when checked, the program branches to the subroutine that starts at the I-address specified in the instruction. Otherwise, the program goes to the next sequential instnlCtion. Word Marks. Word marks are not affected. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Word Marks. Word marks are not affected. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Address Registers After Operation. Address Registers After Operation. No Branch Branch (no indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. BI 5bb NSI BI blank NSI BI NSI Example. Branch to a subroutine designed to handle a case of tape-punch overextension. This subroutine mlight be located at core-storage location 0820, and have the label OVEREX (Figure E-34). No Branch Branch (no indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 6bb NSI BI blank NSI BI NSI Example. Branch to a subroutine which can serf: up conditions to allow limited additional punching, if the chad-box is nearly full or the supply reel has approached its end. If either of these conditions arise, branch to a core-storage location labeled SRLCBF (0904). (Figure E-35). Autocoder OPERAND :5 I : Autocoder ~ Label Assembled Insttuction: Figure E-35. Assembled Instruction: Figure E-34. 8 904 6 Branch If Supply Reel Low Or Chad Box Full B 820 5 Branch If Tape Punch Overextension IBM 1012 Programming Concepts Branch if Supply Reel Low or Chad Box Full Instruction Format. Mnemonic BIN E-16 Op Code B . I-address III d-character 6 The basic logic of programmed translation is based on a programming device known as chm'acter selection. Character selection uses a stored table to translate the system characters to the pattern required by the mM 1012 Tape Punch. This method of translation makes a control panel unnecessary. A stored-program routine controls the over-all operation of the 1012. PTAPE (punch tape), a macro instruction, will be provided in the Autocoder library of routines. The operand of the PTAPE command is the symbolic name of the output area to be punched. A second operand is used to designate whether the routine is to punch standard Teletype ~ (5-track) code or IBM standard (8-track) code. Therefore, when punching is desired, the programmer need merely write PTAPE with the appropriate operand(s). The autocoder Processor then generates the necessary instructions to punch the tape. The programs used for 6-and 7-track operation are basically the same as those used for 5- and 8-track operation. The major difference is in the stored table used for translating the system BCD codes into punch codes. Once the theory of operation and the 5-and 8-track programs are understood, altering the program and the stored table is a simple task. The decoding routine is within the 6.6-millisecond time interval between characters in the record that are to be punched. No attempt is made to overlap this tim.e with the user's program. A special test is made for the 5-track tape to automatically generate mode-change characters where appropriate. A brief description of the theory of operation is given to aid the user in understanding the over-all operation of the IBM 1012 Tape Punch. The exampJes used are not necessarily the only methods of programming the various operations. The examples are used primarily as an aid in simplifying the explanations. The methods, constants, and stored code tables used in the following explanations do not necessarily represent these items as they would appear in the macro instruction PTAPE. The theory of operations (8-track operation) is explained in the following order: 1. Move character from record into test location 1. Move Character from Record into Test Location The record to be punched in tape can be any length (within the limits of available core storage) and may be stored in any system core-storage location. When a new record is ready to be punched into tape, a threeposition field (the record address), is initialized to the first (high-order) postion of the record. This field is moved to the A-address of a move instruction which, when executed, moves the first record character to a location in core storage where it can be analyzed. A character compare instruotion then checks the character for an end-of-record indication. An equal compare causes a branch to the end-of-record routine; otherwise the program advances to the decode routine. 2. Decode to a Table Address A table address (Figure E-36) is developed for every character in the record. After the character is moved from the record into another core-storage location, it is analyzed to develop the table address. This is accomplished in the following manner. A constant is moved to the A-address of a MOVE instruction. The constant would be the starting location * * * * * * * * * * 2. Decode to a table address 3. Get table argument for punching 4. Punch character in tape 5. Read-check * * * * 6. End-of-Record routine 7. Automatic enor correction 8. End-of-Reel routine 9. Five-track tape operation. #Trademark of Teletype Corporation. * * Table Address 0- 2 3- 5 6- 8 9-11 12-14 15-17 Card BA8421 Char Code XX & 2 XX XXX 0 XX XX X [ XX XX 18-20 XX XXX < 21-23 XX XX XX 24-26 27-29 30-32 X 33-35 36-38 XX $ X 39-41 X XX 42-44 X X ] XX 45-47 X ; 48-50 X XXX XX XX A 51-53 X 54-56 57-59 -tl X 60-62 63-65 66-68 XX XX , 69-71 % 7'2-74 XXX X v 75-77 XXX '-. XX 78-80 XX 81-83 XX XXX 84-86 87-89 BL 90-92 93-95 96-98 XX I X 99-101 @ XX 102-104 * - . • 105-107 108-110 111-113 114-116 117-119 XX X XXX XX XX : > r 2-3-8 2-4-8 2-5-8 2-6-8 12-7-8 11 11-3-8 11-4-8 11-5-8 11-6-8 11-7-8 2-8 0-3-8 0-4-8 0-5-8 0-6-8 0-7-8 No Punch 3-8 4-8 5-8 6-8 7-8 Card Table Address BA8421 f,.har Code ? 12-0 120-122 X X X X XA 12-1 123-125 X X B X X X 12-2 126-128 12-3 X 129-131 X X X 12-4 132-134 X X 12-5 X XE 135-137 X X 12-6 138-140 X X XX F 12-7 XX XG 141-143 X X H 12-8 144-146 XXX XI 12-9 147-149 XXX X ! 11-0 X 150-152 X XJ 11-1 153-155 X 11-2 X K 156-158 X X XL 11-3 159-161 X X M 11-4 162-164 X XN 11-5 X 165-167 X XX 0 11-6 168-170 X XX XP 11-7 171-173 X Q 11-8 X 174-1/6 X XR 11-9 X 177-179 X XX X 0-2-8 180-182 xl 0-1 X 183-185 0-2 X X S 186-188 X XT 0-3 X 189-191 X 0-4 192-194 X U X XV 0-5 X 195-197 XX ~ 0-6 X 198-200 XX XX 0-7 X 201-203 0-8 XX Y 204-206 XX XZ 0-9 207-209 X 0 X 0 210-212 Xl 1 213-215 X 2 2 216-218 X X3 3 219-221 X 4 4 222-224 X X5 5 225-227 XX 6 6 228-230 XX X7 7 231-233 X 8 8 234-236 X9 9 X 237-239 xk: P * *Nat Used Figure E-36. Table Address Chart E-17 of the table plus two. Assume the stored table s,tarts in location 400. The constant used would be 402. The character to be punched is now analyzed to develop a table address. If the character contains a B-bit only, the constant 30 is added to the number (402) already in the A-address of the MOVE instruction. An A-bit, only, adds the constant 60, no zone-bits adds the constant 90; and if the character contains A- and B-bits, nothing is added. A further test determines whether the charaoter is a special character or blank. The constant 120 is also added to the A-address of the MOVE instruction if the character is not a blank or special character. Furthermore, the sum of the digit bits in the -character being analyzed is tripled and also added to the number already developed. As an example, assume the character B (BA2) is being analyzed. The presence of an A- and B-bit would add nothing; however, 120 would be added because B is nO't a special character. The 2 bit is tripled, adding 6 to the number. The table address developed would therefore be 402 plus 120, plus 6, O'r a total of 528. Figure E-37 illustrates the arrangement of the characters in the table, and the bit pattern for punching that is contained in each 3-position character location. Assuming the starting 10catiO'n of the table is 400, the address 528 wO'uld direct the system to the low-order position of the 3-pO'sition 10catiO'n fO'r the character B. 3. Get Table Argument for Punching L Starting Location of Table The table address for the characwr to be punched is developed in the A-address location O'f a MOVE instruction. The MOVE instructiO'n, when executed, moves the proper field from the table and places it in an unused 3-position storage 100cation referred to as QD. The character is now ready fO'r punching using the bit pattern in location QD. 4. Punch Character in Tape The punch instruction M(%P1) (BBB)W is executed next, which causes data to be transferred to the 1012 for punching. The address in the punch instructiO'n refers to the high-order pO'sition O'f the three-positiO'n field (QD) that cO'ntains the bit pattern to punch O'ne vertical column in the tape. Figure E-38 illustrates the bit pattern to tape-punching translation. 5. Read-Check Because of the delay between punching and reading, the punching bit pattern for fO'ur characters must be retained for checking. Four consecutive 3-position fields are set aside for this purpO'se. As nO'ted in the punch routine, the bit pattern to' be punched is mO'ved from the stored table into loca.tion QD. By a method described later, the character bit pa,ttern fO'r the column O'f the tape that can be read during this punch cycle is put in location QA. 3 Positi ons of Core Storage used for Each Character in Tab Ie. Figure E-37. E-18 mM Eight-Track Code Table The read instruction M(%P1) (BBB)R causes data to be transferred from the reading station into three consecutive core-storage locations beginning in (BBB ). The data transfer is in accordance to the pattern shown in Figure E-39. This is similar to the punch transfer but with direction reversed. The 3-position field into which data is read is compared to the contents of location QA. Thus, the punched tape is given a bit-by-bit B 8 B A A A 8 8 8 4 4 4 2 2 2 Location XXX Location XXX+l Location XXX+2 Figure E-38. Eight-Track Bit Pattem to Tape Punching Translation EOL-Track X-Track O-Track CK-Track 0 8- Track Feed Hole 4-Track 8-Track Paper or Mylar Tape 2-Track 1-Track comparison check. If punching and reading were correct, the BRANCH COMPARE instruction would not cause a branch to the error routine, but would continue to the next sequential instruction. After a valid compare, the contents of the four fields (QD, QC, QB, and QA) are shifted in preparation for the next read-check instruction. The program is then directed to the beginning to process the next character in the record. 6. End-of-Record Routine Anyone of many characters can be assigned as an EOR (End-Df-Record) character. However, to' simplify the explanatiDn of this routine, assume that a group mark with a word mark is used. The main program routine checks every character to determine whether or not it is a group mark. If a group mark is detected, a further check determines whether a word mark is present. If a wDrd mark is detected, this Signifies an end-of-record character, and the system branches to the end-ofrecord routine. Figure E-40 illustrates the cycle-bycycle operation of the punch and the relationship of the characters in locations QD, QC, QB, and QA dur- Location XXX Location XXX+l Location XXX+2 EOL-Track X-Track 8-Track Paper or Mylar Tape A 0- Track 8 CK-Track 8-Track Feed Hole 4- Track 2-Track 0 4 1-Track Figure E-39. Eight-Track Tape Punching to Bit-Pattem Translation E-19 QD E F QC D E QB QA C D B C Step 1 Step 2 EOl F E D Step 3 EOl EOL EOl EOl F EOl E F Step 4 SI ide Contents of Q locations EOl EOl F F Shift QA to QB Before Next Record is Punched A EOl F F Step 5 B A EOl F Step 6 C D B C A EOl A Step 7 Step 8 • B ---- ,~ Setup Setup Setup '0 EOl A F Q) Q) on E 0...Punch EOl 01Punch F Punch E ....J Read E Read C Read D Escape Escape Escape E~c:c:~e Punch C y cle 5 Punch Cy cle 1 Punch Cycle 2 Punch Cy cle 3 Punch C y cle 4 Setup E Punch D Read B End of Record Figure E-40. Setup Setup C D Punch C Punch B Read A Read EOl Esc ape Esc lpe Escape Punch Cy cle 6 Punch Cy cle 7 Punch Cy cle 8 Setup B Punch A Read F Next Record End-of-Record Punch and Read Routine ing an end-of-record routine. Assume that EOL (Endof-Line) is the tape representation fDr the end-of-record character and that the record to be punched consists of A, B, C, D, E, F, and end-Df-recard character. ter F and EOL remain to be read and checked. At this time, a new record is ready to be punched. The contents Df QA is shifted intO' IDcation QB before the first character in the next recDrd is prDcessed. . The main lXogram routine is in effect until an endof-recDrd character is detected. At the beginning of step 3 (Figure E-40) , an EOR character is detected and the EOL constant (2, blank, blank) is moved intO' location QD. During punch cycle 3 (Figure E-40), the EOL cDde is set up in the punch magnets, the character F is punched, and the character D is read. Because EOL is the last character in the record to be punched, nothing is set up in the punch magnets during the punch cycle 4. Because EOL was set up during the previous cycle, it is punched in punch cycle 4. The tape is always advanced after punching takes place, which makes a read operation necessary during punch cycle 4. Without the extra read aperation, character E would not have been read and checked. After EOL is punched and an escapement maves the tape, the contents of the Q 10catiDns are shifted to' the right so that locations QD, QC, and QB cantain EOL codes, and location QA contains the code for character F. At the completion of cycle 4, all characters in the recard have been punched, including EOL. Hawever, the charac- The first character Df the next recDrd (assume A) is mDved into location QD. During punch cycle 5, character A is set up in the punch magnets. A read operation does not take place during cycle 5 because the character F is read and checked in the next punch cycle. During punch cycle 6, character B is set up, character A is punched, and character F is read and checked. During punch cycle 7, character C is set up, character B is punched, and EOL is read and checked. The main program rDutine cDntinues until the next end-Df-record character is detected in the record. E-20 7. Automatic Error Correction The system program branches to the automatic enorcarrection-program routine when an unequal compare cDndition is detected following a read-check instruction. When an error is detected, the tape is backspaced until the character in error is under the punch station. The tape is then moved in a forward direction and fDur delete cDdes (all tracks punched except EOL) are punched. The constant 177 is the bit pattern for punch- ing all tracks in the tape, except EOL. The delete codes tha t are punched are also read back and checked. A valid EOL may be encountered when the delete codes are checked (a hole punched in all tracks). This condition is recognized by the program routine, but no action is taken. When the tape is read later as an input to another system, this condition (even parity) signals an error. Howevel', control-panel wiring or a program subroutine can be used to circumvent this condition. If an unequal compare (except EOL) is detected when the delete codes are checked, the error is corrected by branching to the normal error-correction routine. After the delete codes have been punched, the characters that were deleted are now repunched. These characters are still in locations QD, QC, QB, and QA. These characters are punched starting with QA through QD. 8. End-of-Reel Routine An end-of-reel test is made after every end-of-record program routine has been completed. After EOL has been punched (EOR), an appropriate end-of-flle charaoter (if required) can be punched in the tape. The last character in the record, EOL, and the end-of-flle character (if required), are read back and checked before the end-of-reel program routine is completed. After a new reel of tape has been installed, pressing the feed switch on the 1012 causes delete codes to be punched in the leader portion of the tape. Pressing the start key on the 1012 places the 1012 in a ready status. The last two delete codes punched in the leader portion of the tape are read and checked when the first record is punched in the new reel of tape. 9. Five-Track Tape Operation Basically 5-track tape operation is similar to 8-track tape operation, with a limited number of exceptions. Only fifty-eight characters are punched when using 5-track tape, which necessitates the use of a different code table (Figure E-41 ). To properly identify a char- 3 Positions of Core Storage used for i3 Ea eh C h arae te r.... -...L.....'--'-..!......L-L-L....L..J......J"-'--'-!.-L-...L-L--!-..I.-.L....!.-J-...L....I...-L-L-...!...-.J-J......J-....J in Table Figures Shift Last Figure E-41. Five-Track Code Table E-21 1012 is presently in. If a figures-shift character is to be punched and the 1012 is in a letters-shift mode, a change in mode is required. If a letters-shift character is to be punched and the 1012 is presently in figuresshift, a change in mode is required. acter punched in the tape, a figures-shift or lettersshift code must precede the punched character, if a mode change takes place. Development of the stored-table address (see Figure E-36) remains the same as for 8-track operation (described in Decode to a Table Address section). The code number assigned to each character in the stored table differs from the code assigned to each character in the 8-track code table. If a change in mode is required, one of two constants is moved into location QD. The constant is 33 if a change to figures-shift is required, or 37 if a change to letters-shift is required. These constants, when decoded (Figure E-42), punch either a figures-shift or letters-shift code in the tape. The character to be punched is then moved back into location QD and punched. If a mode change is not required, punching takes place from QD without moving the constants. vVhen a mode change is executed, it is retained to identify what mode the 1012 is presently in. Figure E-41 illustrates the code assigned to each of the fifty-eight characters in the stored table. Only two positions of each 3-position field are used for the bit pattern of the code number. The high-order position of the 3-position field contains a Dash (B-bit), or Ampersand (A- and B-bits). The dash signifies a figures-shift character, and the ampersand signifies a letters-shift character. After the table address has been developed for a character to be punched, the contents of the 3-position table location are moved into location QD. The high-order position of QD is analyzed to determine whether the character is a figures-shift, or letters-shift character. After the mode of the character has been established, it is compared with the mode the When a READ-CHECK instruction is executed, the high-order position of location QA is not involved in the comparison. However, if an error is detected, the bits in the high-order position of QA indicate the shift of the character when it is repunched. Figure E-43 illustrates the 5-track tape punching to bit-pattern transla tion. B B B A A A 8 8 8 4 4 4 2 2 2 Location XXX Location XXX+1 Location XXX+2 5- Track 5-Track Paper or Mylar Tope 4-Track Feed Hole 3-Track 2-Track 0 1-Track Figure E-42. E-22 Five-Track Bit Pattern to Tape Punching Translation B 5-Track Paper or Mylar Tape Figure E-43. A 5-Track 4-Track Feed Hole 3-Track 2-Track B 8 0 4 I-Track Location Location Location XXX XXX+I XXX+2 Five-Track Tape Punching to Bit-Pattern Translation E-23 • Disk-Storage Input/Output Operations IBM 1301 Disk Storage, Models 11 , 12, 21, 22 The mM 1301 Disk Storage, Models 11, 12, 21, 22 ( Figure F-l), provides th e 1440 system user with the advantages of large capacity random access storage. As many as five mM 1301 modules can b e attached to a 1440 system. Refer to IB M 1301 Disk Stomge, Form A24-3157. Alternate Code x or 1',S,U,W,Y ):l Figure F-2. Disk-Control Field A lO-digit disk-conh-ol field specifies the disk-storage area that is involved in the data transfer. This diskcontrol fi eld is loca ted in core storage, and b egins at th e core-storage address specified by the di sk-storage instruction B-adch-ess. The data involved in the b-ansfer follows the disk-control fi eld (no data area is required for a seek-disk operation). Core-Sector Address Sector Count xxx xxx xxx 000000 - 999, 999 000 - 999 Disk-Control Field than the drive specifi ed by the sector address. The =1=, S, U, W , and Y characters select the first, second , third, fourth , and fifth disk modules respectively. A word mark can be placed in the alternate-cod e position. Th e word mark does not affect the operation and is not lost. A I-bit should never appear in th e altern a te-code position. Core-Sector Address The various parts of the disk-control fi eld are : alternate code, core sector address, and sector count ( Figure F-2) . Alternate Code If a lozenge (D) is used in this position, the core sector address specifies th e disk drive that is to b e select ed . A record mark (=1=), S, U, W , or Y character in the alternate-code position is used to select a drive other The core-sector address contain s the 6-digit address of the first sector to b e operated upon. Before any disk opera tion is p erformed , an automatic comparison is made of the sector address in core storage with the disk-sector addresses on th e specific track. If an equal comparison is made, the operation proceed s. If no equal comparison is made, th e unequal-address compare indicator turns ON, and the disk operation is not p erf0l11l ed . (vVh en a multiple-sector operation is executed , only the address of the first-specified sector on each b-ack involved in th e operation is compared. ) W hen sector opera tions are p erformed , the core sector address is automatically increased by 1 immediately following th e data b-ansfer of each sector, except under these conditions: 1. Track operation b eing p erformed. 2. Sector-count field reaches the value of 000. 3. Wrong-length record. When any of these conditions occurs, the core-sector address is not increased by 1. Figure F-l. IBM 1301 Disk Storage Notes: 1. The six positions of the 6-digit core-sector address may contain any valid character that has a numeric-bit value of zero through nine. 2. Zone bits over the core-sector address positions are lost through the adder if any address modification takes place. 3. Word marks in the core-sector address positions do not affect th e operation, but are lost during any operation performed in the load mode that involves address modification . F-l Sector Count This field indicates the number of sectors to be operated upon during the disk operation. The sector-count field is not used during a seek operation, but the positions must be there because the disk-control field must be 10 positiO'ns long. During the transfer of data to O'r from disk storage, the sector-count field is automatically decreased by 1 _immediately follOwing a successful address comparison, and before each additional sector is transferred. This operation results in the sectO'r-count field reflecting the number of sectors transferred. If a sector count of 000 is used when initiating a disk sector read or write operation, an error conditiO'n occurs. Before the first sector is transferred, a 1 is subtracted from the sector-count field. In this case, the result would be 999. Therefore, data would be transferred until a group mark with a word mark is encountered in core storage. Because the sector count is not zero at this time, the wrong.,.length record and any-disk condition indicators would be turned ON. Notes: 1. Word marks cannot be placed over the sector-count field units position. Word marks in any other position do not affect the operation, but are lost during any operation performed in the load mode that affects sector-count modification. 2. Zone bits are always removed from all three positions of the sector-count field. Basic Disk Operations The four basic operations performed by the 1301 are seek, read, write, and write disk check. data from disk storage to a specified area in core s,torage. (The three types of instructions are explained following the write-operation description.) The specified disk-storage area involved in the transfer is partially identified by the previous seek operation, and the rest of the area is fully identified before the data transfer takes place. The identification is accomplished by comparing the sector addresses on the dis'k with the sector address in core storage. The seotor address in CO!I'e stO!I'age is part of the disk-control field, and the B-address position of the read-disk ins1truction contains the corestorage address of the disk-control field. The data from the disk is placed in a core-storage area located immediately to the right of the disk-control field. Write Operation The write ope!I'ation is initiated by one of the three different types of write-disk instructions, and transfers data from a specified core-storage area into disk stOT'age. (The three types of instruotions are explained following this operation description.) The specific diskstorage area invDlved in the transfer is partially identified by the previous seek operation, and the rest of the area is fully identified before the data transfer takes place. The identification is accomplished by comparing the sector address'es on the disk with the sector address in core storage. The seotor address in core storage is part of the disk-control field, and the B-address portion of the write-disk instruotion contains the core-storage address of the disk-control field. The data that is to be transfered to. the disk is' stored in a core-storage area located immediately to the right of the disk-control field. Types of Read and Write Operations Seek Operation The seek operation is initiated by a seek-disk instruction, which direots the read/write heads to the proper cylinder on the disk drive. This instruction is followed by a read or write operation. The data on the disk records is not acted on during this seek operation. The seek operation positions the access arms over the specified cylinder. The B-address position of the instruction contains the core-storage address of the diskcontrol field and it is this field that specifies the proper cylinder plus: other pertinent information. Read Operation The read operation is initiated by one of the three different types of read-disk instructions, and transfers F-2 Each read or write operation can operate in three different ways, or modes: sector, track sectors with addresses, and sector-count overlay modes. Sector Mode. Read and write operations in the sector mode transfer data, but do not transfer disksector addresses. The sector mode is the normal mode of operatiDn. The number of sectors to be handled during one operation is specified by the sector-count portion of the disk-control field. Each sectO!I' is transferred only afte:!I' a COITect comparison Df the sector address in· the core-storage disk-control field is made with the initial seotor address on each track of the disk. For more information, refer to the specific instruction. Track-Sectors with Addresses Mode. This mode of operation transfers both the data and the disk-sector addresses to and from the disk, one complete track at a time. The mode of operation makes it possible to change the previously recorded sector addresses. The operation requires that the sector-address portion of the disk-control field contain the address of one of the sectors within the specified track, and the sector-count portion of the disk-control field must contain 020 (20 s'ectors will be transferred). The transfer can occur only after a correct comparison of the sector address in the core storage disk-control field with a sector address on the specified track. For more information, refer to the specific instruction. Sector-Count Overlay Mode. This mode of operation allows a portion of the data record itself to specify the number of sectors to be involved in the data transfer. The disk-sector addresses are not part of the transfer. This mode of operation permits better disk-storage utilization for sequential applications involving variable-size records. For more information, refer to the specific instruction. Reading and Writing with Word Marks "fttfode. Wordmarks can be transferred with the data during all reading and writing operations by an L Op code instead of an M Op code. When word marks are written on the disk, the data is written in an 8-bit BCD coding. When the M Op code is used, characters are written or read in 7-bit mode (CBA 8421). The sector character capacity in the 7-bit mode is 100 characters. The 1. Op code causes characters to be read or written in 8-bit mode (CBA 8421M). The 8-bit mode provides for a possible word mark with the character being written on, or read from, the disk record. The sector character capacity in the 8-bit mode is 90 characters. A·Address %Fn signals that the disk unit is to be selected; n represents the digit used to perform various operations. n-Position Operation o Seek a disk record. Sector-Reading or writing characters from the number of sectors specified by the sector-count field is stopped when a group mark with a word mark, or the end-of-sector, is sensed. If a group mark with a word mark is sensed before the reading of the sector ( s) is completed, reading stops and the wrong-length record and any-disk condition indicators turn ON. If the group mark with a word mark is sensed before the writing of a record on a disk is completed and it is before the end of a record, the remainder of the disk record is filled with valid blanks (C-bit), and the any-disk condition and wrong-length-record indicators are turned. on. Disk Track-Sector with Addresses-Allows the reading or writing of a full track (20 sectors) including sector addresses. Write Disk Check-Data written on a disk in a preceding write operation is read from the disk and compared, character-by-character, with the data in core storage. A write-disk-check instruction must be given following a write operation, unless an error occurred during the write operation. A write-disk-check operation can be executed after a read operation if a check on the information read is desired. The operation is pedormed exactly the same as a write-disk-check operation following a write operation. Sector-Count Overlay-Allows for records of a variable number of sectors (more than one) to be read or written with a single instruction. The number of sectors to be read/written is controlled by the" multiple sector-count field. This control field is in the first three data positions of the first sector of the disk record. This technique permits better disk storage utilization for sequential applications involving variable-size records. The record itself specifies the number of sectors involved. 1 6 Write Disk Check The write-disk-check operation causes the data in the specified disk area to be compared against the comparable data in the specified core-storage area. When the disk data does not compare, bit-by-bit and character-by-character, with the core-storage data, a diskerror indicator is set ON. This operation takes the form of a write-disk-check instruction, which normally must follow each write operation. The write-disk check operation compares the data written in disk storage with the original source data in core storage. 3 5 IBM 1301 Instruction Format and Instructions Instructions applying to the 1301 cannot be success. fully chained. Mnemonic xx Op Code A-address B-address ~/!:: %Fn BBB d-character R/W Op Code This is always a single character that defines the basic operation to be performed. Either the M or L operation code can be used with IBM 1301 instructions. B·Address The B-address specifies the high-order postion in core storage of the 10-digit disk-control field. The diskcontrol field is followed by the area of core storage that is to have data read into or out of by a group mark with a word mark. F-3 d-Character Sector Operations The d-character is used to specify the operation to be performed. The d-character R specifies a read operation; the d-character W specifies a write operation. If only the data portion of a disk record is to be affected, the operation is classified as a secto1' operation ( addresses are not aHected ). Disk records can be read, written, or scanned during sector operation. The term sector operation does not mean that a disk record is confined to a 100-character sector. The data needed for a record can be written in as many sectors as needed. Seek Operation Seek Disk Instruction Format. Mnemonic SD LV Op Code A-address M %FO %FO L B-address BBB BBB d-charactm' R R Note: Because word marks have no meaning for the seek-disk operation, no load-mode Autocoder mnemonic is provided. However, the "general" mnemonic (LV) can be used if an L op code is desired. Function. The A-address specifies that a seek operation is to be performed by the access assembly. The Baddress specifies the high-order position in core storage of the disk-control field. Only the alternatecode pOositiOon and the six-position core-seotor address are used during a seek-disk operation, but the disk-control field must be 10 positions long. The selected access assembly moves from the old setting directly tOo the new setting. The functions, associated with the direct-seek special feature are standard in the 1301. Word Marks. Word marks are not aHected. Timing. T = .1665 ms + access time. o 0180 ms is maximum access time for a seek. 160 ms is average access time for a seek. o ms if access mechanism is at track (seek-disk instruction not given). N ate: If the access mechanism is already at the disk track that is to be used, a seek-disk instruction need not be given. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. B+6 B+7 Read Disk Sector(s) Instruction Format. Mnemonic RD Op Code M A-address %Fl B-address BBB d-character R Function. This instruction causes data to be read from disk storage into core storage. The digit 1 in the Aaddress (%Fl) specifies that a sector operation is to be performed. The number of sectors to be read is specified by the sector-count field. The reading of the disk is stopped by a grOoup mark with a wOord mark in core storage and by the end of the sector. Reading begins at the address contained in the core-sector address field and continues for the number of sectors specified by the sector-count field. The core-sector address field is increased by one for each sector read, and the sector-count field is reduced by one as a sector is read. When the sector-count field reaches 000, an endof-operation is indicated to the system. An error condition results from any disk-sector read or write operation that begins the operatiOon with a sector count of 000. Before the first sector is transferred, a one (1) is subtracted from the sector-count field, resulting in a sector count of 999. Data would then be transferred until a group mark with a word mark is encountered in core storage. Because the sector count is not zero at this time, the wrong-length record and any-disk condition indicators are turned on. Example. Seek record 015734 with the access assembly. Storage locations 0590-0599 (labeled INPUTA) conor 0 015734001 (Figure F -3). tains The B-address specifies the high-order position in core storage of the disk-control field, and the area in storage reserved for the data read from the disk. Autocoder The R in the d-charaoter position signifies a read operation. + ~ label .: Assembled Instruction: Figure F-3. F-4 Seek Disk M %FO 590 R Word Marks. A group mark with a word mark must be one position to the right of the last position reserved in core storage for the disk record. If a group mark with a word mark is detected before reading of the record is completed, the wrong-length-record indicator turns on and reading stops. The position of the group mark with a word mark can be determined by using the formula: GMWM =B + Ns(Ls) + 10 B = Address of high-order position of disk address in core storage. Ns Number of sectors read. Ls = Number of characters per sector. Word Marks. A group mark with a word mark in core storage terminates the read operation. If the group mark with a word mark is not in the position to the right of the last character read from the disk into core storage, the wrong-length-record and any-disk condition indicators turn ON. Timing. T = .0999 ms + 1.7N s + disk rotation. 0 035 ms is maximum time for disk rotation. = Timing. 035 18.4 1.7 Note: If a disk is read in a mode different from the one in which it was written (M. or 1. operation code), a parity error occurs. The disk-error indicator turns ON. T = .0999 ms + 1.7Ns + disk rotation. 0 ms is maximum time for disk rotation. ms is average time for disk rotation. ms is minimum time for disk rotation. Address Registers After Operation. Note: Before reading starts, an automatic comparison is made of the core-sector address with the sector address on the disk. This check is made for the first sector on each track involved in the operation. If they are not the same, the unequal-address compare indicator turns on, and the data on the disk cannot be read into storage. Address Registers After Operation. I-Add. Reg. NSI B-Add. Reg. B + 11 + NsLs (no overlay) A-Add. Reg. B+6 18.4 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Example. Read one sector from disk storage into core storage beginning at location 0600 (labeled INPUTA.) In Figure F-4, the disk-control field is in the ten positions preceding the label (0590-0599). I-Add. Reg. NSI A-Add. Reg. B+6 B-Add. Reg. B + 11 + NsLs (no overlay) Example. Read a record, with its associated word marks, from disk storage into the area labeled INPUT (first position of data is at 0600). The diskcontrol field is located in the ten positions preceding the label (0590-0599); Figure F -5. Autocoder ~ OPERAND :'. . : Label Assembled Instruction: 1. %Fl 590 R Figure F-5. Read Disk Sector with Word Marks Autocoder ~ OPERAND :'. Label Assembled Instruction: Figure F -4. M %Fl ~ 590 R Read Disk with Sector-Count Overlay Read Disk Sector Instruction Farrnat. Mnemonic Rnco Instruction Format. Op Code A-address b. %Fl B-address BBB M RDCOW L (with word marks) Read Disk Sector(s) with Word Marks Mnemonic RDW Op Code d-character R Function. This is similar to the read-disk-sector instruction except that (1) word marks in the record area of core storage are removed, and (2) word marks from the disk record are written in core storage. The length of the sector read from disk storage into core storage is 90 positions. A-address %F5 %F5 B-address BBB BBB d-character R R Function. This operation is similar to the read-disksector( s) instruction except that the number of sectors to be read is controlled by the first three positions in the first record read. The digit 5 in the Aaddress specifies that an overlay operation is to be performed. As the first sector is read from disk storage, the first three digits of the record being read are placed in the sector-count field of the disk-control field in core storage. Therefore, if a variable number of secF-5 Disk-Control Fie Id Core Storage DOl 2 4 5 0 n n n - L...-,---J Data Area Any Number ( Greater than 1) Disk Storage 01245000304 '----..,I,--....!~ Disk-Sector Address Core Storage Disk-Control Field Counter Sector Read g 0 1 2 4 5 1 0 0 3 0 4 Data from 1st Sector Read Disk - Sector-Count Overlay Operation tors is to be read from disk storage, the sectorcount field must contain a value greater than 001 to cause the first sector to be read. The firs,t three positions of the first sector read contain the number of additional sectors to be read. Figure F -6 illustrates the operation of an overlay ins,truction, which causes four sectors of data to be read from disk storage into core storage. The operation proceeds as a normal read operation with appropriate changes to the core-sector address and sector-count fields. Word Marks. If the exact number of positions of data to be read from disk storage is not known when this operation is initiated, place the group mark with a word mark (signalling the end-of-operation) Q!ne position to the right of the last possible character to be read using this instruction. If the maximum number of records is not read, the read-into-storage stops because the end-of-sector is reached and the sectorcount field is all zeros before the group mark with a word mark is sensed. The wrong-length-record indicator also turns on. The programmer can check core storage in this case to see if the correct number of sectors has been read. This can be accomplished by setting up a counter in the fourth and, if necessary, fifth position of the first secto:r of the record. This counter, when the read operation is completed, is located in the first and/or second position of the data record in core storage. These positions can be used to check the number of sectors in the recQ!rd. These counter posiF-6 Timing. T 0 = .0999 ms + 1.7Ns + disk rotation. 0 35 ms is maximum time for disk rotation. 18.4 ms is average time for disk rotation. 1.7 ms is minimum time fQ!r disk rotatiQ!n. ,....-.----'----...... ~ After First Figure F -6. NewSector Count tions should equal the number of sectors read. Therefore, data reading should have stopped at B + 6 + N sLs. If it did not, then an error did occur and appropriate action should be taken. If a correct read has occurred, the error indication can be disgarded. Notes: 1. Before reading starts, an automatic comparison is made of the sector address in core storage with the sector address on the disk. This check is made for the first sector on each track involved in the operation. If the addresses are not the same, the unequal-address compare indicator is turned on, and the data on the disk cannot be read into storage. 2. Special consideration must be given to single-sector records read in the sector-count overlay mode. When the read operation begins, the first three data characters of the record overlay the sector-count portion of the disk-control field. When a single-sector operation is specified, 000 is read in and overlaid in the sector-count positions. The system-detection circuits only detect a zero sector count when it is produced by automatically decreasing the sector-count field, however. After reading the single-sector record, the read operation does not end. The sector address is increased by one, and the sector-count field is decreased by one, resulting in a sector count of 999. Because the sector-count field does not contain all zeros at the end of the operation, the wrong-lengthrecord and any-disk indicators are turned ON. When an initial sector count of 003 is used and the first three digits of the first sector read are 000 (the three digits to be overlaid), the following occurs: 1. The operation does not stop because the sector count has not been decremented to 000. 2. The sector address has been incremented and the second sector is read. 3. The special-add operation (used to keep account of the sector count) decrements the sector count (000) to 999. Because the last step (item 3) does not produce a carry to increment the sector address, an unequal-address compare occurs on the attempt to read the third sector. The unequaladdress compare does not occur when the initial sector count is 001, but the read continues until a group mark with a word mark is sensed in core storage. Single-sector and multiple-sector read operations cannot be interspersed (using the MIl:. %F5 BBB R instruction) without prior knowledge of exactly when each read occurs. If a disk drive includes single-sector records, a special routine must be included to verify the validity of the record read. Before execution of a read operation, a special character that would never be found in the last position of a record can be moved to the lOOth position of the core-storage input area. The' wrong-length-record routine can then check to see whether the counter in the first position of the record contains a one (1). If it does, the routine looks to see that the special character has been overlaid in core storage. If it has been, the record was read in its entirety. The B-address specifies the high-order position in core storage of the disk-control field, and is followed by the data to be written Oon the disk. Address Registers After Operation. B-Add. Reg. B +3+N sL s A-Add. Reg. B+6 I-Add. Reg. NSI Example. Read into core storage a variable number of sectors that contain the data for a record beginning at location 0900 (labeled INPUTB). In Figure F -7, the disk-control fie~d address is located in the ten positions preceding the label (0890-0899). t Autocoder Label ! t;0ti~ kic o~ NP u; a- I.O~ ! , Assembled Instruction: Figure F -7. OPERAND :' 0 . ~ M. %F5 890 R Read Disk with Sector-Count Overlay The W in the d-character position signifies a write operation. Word ~larks. A group mark with a word mark must be one position to the right of the last character of the recOord in core storage. The writing of data stops when the end-of-record is reached on the disk and a group mark with a word mark is sensed in core storage. If the group mark with a word mark is sensed before the end of a recOord, the remainder of the disk record is filled with valid blanks (C-bit), and the any-disk-cOondition and the wrong-length-record indicators are turned ON. The position of the group mark with a word mark can be determined by using the formula: GMWM = B + Ns(Ls) Timing. T = .0999 ms + 1.7Ns + disk rotation. 0 035 ms is maximum time for disk rotation. Write Disk Sedor(s) Instruction Format. Mnemonic WD Op Code M + 10 A-address %Fl B-address BBB d-character W Function. This instructiOon causes record data in core stOorage to be written on a disk recOord. The digit 1 in the A-address (%F1) specifies that a sector operation is to be performed. The number of sectors to be written is specified by the sector-count field. The writing of the disk record is stOopped by a group mark with a word mark in cOore storage and by the end-of-sector. Writing begins at the address contained in the core-sector address field and continues for the number Oof sectors specified by the sector-count field. The core-sector address field is increased by one fOor every sector written. The sector-count field is reduced by one as a sector is written. 18.4 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Notes: Before writing starts, an automatic comparison is made of the core-sector address with the record address on the disk, This check is made for the first sector on each track involved in the operation. If the addresses are not the same, the unequal-address-compare indicator is turned on, and the data in storage cannot be written on the disk. If the data in core storage contains characters with word marks only, the CBA8421 portion of the character is written on the disk (the word mark is ignored). A write-disk-check instruction must be performed following a write-disk operation unless an error occurred during the write operation. No other disk-storage operation can be performed until the check of data written on the disk is accomplished. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+6 B-Add. Reg. B + 11 + NsLs (no overlay) When the sector-count field reaches 000, an endof-operatiOon is indicated to the system. An error condition results from any disk sector read or write operation that begins the operation with a sector count of 000. Before the first seetor is transferred, a one (1) is subtracted from the sector-count field, resulting in a sector count of 999. Data would then be transferred until a group mark with a word mark is encountered in core stOorage. Because the sector count is not zero at this time, the wrong-Iengthrecord and any-disk-condition indicators are turned Example. Write a disk record (one sector) from the data in the area labeled INPUTA (first position if data is at 06(0). In Figure F -8, the disk-control field is located in the ten positions preceding the label ( 0590-0599 ) . ON. Figure F-8. Autocoder OPERAND ~. Assembled Instruction: M. %Fl ~ 590 W Write Disk Sector F-7 Write Disk Sector{s) with Word Marks Write Disk with Sector-Count Overlay Instruction Format. Mnemonic WDW Instruction Format. Op Code A-address 1. %Fl B-address BBB d-character W Function. This instruction is similar to' the write-disksectDr instructiDn, except that word marks set with the data in core storage are recDrded on the disk recDrd. This mode of Dperation permits writing programs on disk records for system use. Ninety pDsitiDns Df data with word marks are recorded on each sectDr during the write operation. Word Marks. A grO'up mark with a word mark one position to the right O'f the last character of the recDrd in core storage terminates the write operation. If the group mark with a word mark is sensed before the end O'f a recDrd, the remainder of the disk record is filled with valid blanks (C-bit), and the anydisk-condition and the wrong-length-record indicators are turned ON. Timing. T = .0999 ms + 1.7Ns + disk rotation. ~ ~ 35 ms is maximum time for disk rotation. Mnemonic Op Code WDCO M WDCOW L (with word ma;ks) Notes: The programmer should be certain that all records on a specific track are written in the same mode (M or L. operation code). Otherwise, track operations are not possible. Before writing starts, an automatic comparison is made of the record address in storage with the record address on the disk. If the addresses are not the same, the unequal-addresscompare indicator is turned on, and the data in storage cannot be written on the disk. A write-disk-check operation must be performed following this instruction. d-character W W Function. This operation is similar to' the write-disk sector instruction except that the sector-count field of the disk-control field is automatically decreased by O'ne and then written in the first three data positions of the first sector written. The digit 5 in the Aaddress specifies that an overlay operation is to' be performed. Therefore, the sector-count field in core storage should cO'ntain the number of sectors to' be written. The first three data positions of the first sector written contain the number of additiDnal sectors that were written. Figure F-10 iUustrates the operation of an overlay instructiDn, which causes four sectors of data to' be written from core storage onto disk storage. Word Nlarks. A group mark with a word mark should be placed one position to the right of the last sectDr to be written. The group mark with a word mark must be placed at B + 7 + N sLs to avoid a false wrDng-Iength-record indication. Disk-Control Fie Id Counter Address Registers After Operation. A-Add. Reg. B +6 B-address BBB BBB %F5 %F5 The Dperation proceeds as a normal write operation with appropriate changes to the core-sector address and sector-count fields. 18.4 ms is average time for disk rO'tation. 1.7 ms is minimum time fDr disk rotation. I-Add. Reg. NSI A-address r.L, B-Add. Reg. B + 11 + NsLs (no overlay) Core Storage Example. Write a disk record, with word marks, frO'm the data in the area labeled OUTPUT (first ppsition of da,ta is 0600). In Figure F -9, the disk-control field is located in the ten pDsitions preceding the label ( 0590-0599 ) . Disk Storage o0 12 4 5 0 0 0 4 0 4 ~ Data Area Sector-Count Field o 1 2450 I Data I Disk-Sector Address Core Storage Disk-Control Field After First Autocoder OPERAND :'. Assembled Instruction: Figure F-9. F-8 1. %Fl Sector Write DO 1 2 4 5 1 0030 4 Data on 1st Sector L,--J SectorCount Field . ~ 590 W Write Disk Sector with Word Marks Figure F-IO. Write Disk - Sector-Count Overlay Operation Timing. T = .0999 ms + 1.7Ns + disk rotation. ° °35 ms is maximum time for disk rotation. Word Marks. A group mark with a word mark must appear one position to the right of the disk data in core storage. 18.4 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Timing. T = .0999 ms + 1.7Ns + disk rotation time. o 035 ms is maximum time for disk rotation. Note: Before writing starts, an automatic comparison is made of the record address in core storage with the record address on the disk. This check is made before the first sector on each track involved in the operation. If the addresses are not the same, the unequal-address-compare indicator is turned on, and the data in core storage cannot be written in disk storage. 18.4 ms is average time for disk rotation. 1.7 ms is minimum time fOT disk rotation. Notes: If the disk address in core storage is not the same as the address on the record, the unequal-address compare indicator turns on. If any of the characters on the disk record do not agree with the characters in core storage, the disk-error indicator turns on. A write-disk-check operation can be executed after a read operation if a check on the information read is desired. The operation is performed exactly the same as a write-disk-checkoperation following a write operation. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+6 B-Add. Reg. B +8+N s L s Example. Write a number of sectors for a record on disk storage that contains data beginning at location 0900 (labeled OUTPUT). In Figure F-11, the diskcontrol field is located in the ten positions preceding the label (0890-0899). Address Registers After Operation. I-Add. Reg. NSI Autocoder OPERAND label :' Assembled Instruction: Figure F-ll. A-Add. Reg. B-Add. Reg. Depends on previous operation ~ Example. !:! %FS 890 W Write Disk with Sector-Count Overlay Compare the disk record with a record in core-storage area labeled OUTPTC (beginning at 07(0). In Figure F -12, the disk-control field is located in the ten positions preceding the label (0690-0699). Autocoder OPERAND :~ Assembled Instruction: Write Disk Check Figure F-12. !:A %F3 ~ 690 W Write Disk Check Instruction Format. Mnemonic Op Code WDC M WDCW L (wih word marks) A-address %F3 %F3 B-address BBB BBB d-character W W Function. This instruction causes a comparison, character-by-character, of the data in core storage with the data just written on the disk. The instruction must be executed after a write operation and before any other disk-storage operation is initiated. Address Operations The ability to read and/or alter disk addresses is conditioned by certain mM 1440-1301 instructions. These instructions contain the term Address in their description. If the proper instruction is not used when trying to perform an address operation, the system stops and the RAMAC light on the system console turns on. The digit 3 in the A-address specifies that a is to be performed. Either an bor M operation code is used, depending on how the dat; was recorded in disk storage. WRITE DISK CHECK The B-address specifies the area in core storage that contains the disk-control field and the data recorded on the disk. Read Disk Track Sector with Addresses The sector-address and sector-count fields of the sector-control word must be restored to the values present at the beginning of the write operation. Mnemonic Op Code RDT M RDTW L (with word marks) Instruction Format. A-address %F6 %F6 B-address BBB BBB d-character R R F-9 Function. This instruction causes the conte:nts of an entire disk track (addresses and data) to be read in the mode specified by the operation code M or L. If the L operation code is used, the track is read into storage with its associated word marks. The CDre-sector address must correspond tD any 'One of the sector addresses 'On the track. The disk track is scanned fDr an address equal tD the sector address in core storage. The disk-track reading begins when the first track-index pulse foll'Owing a successful address-compare operation is sensed. If the result of the address-compare 'Operation is unequal, the unequal-address-compare indicator turns ON. All twenty sectDrs 'On the track, including the disk-sector addresses, are read into core storage. The sector-count field of the disk address must be set at 020 before the operation begins. The core-sector address field is not modified by plus-one during this operation. To keep track of the number 'Of sectors read, however, the sectorc'Ount field is modified by minus-one for each sector read. Word "Nlarks. A group mark with a wDrd mark must be placed one position to the right of the last character read intD CDre storage. This positiDn can be fDund by adding 2130 tD the B-address fDr 'Operations performed with the M DperatiDn code, and 1930 fDr DperatiDns perfDrmed with the L operation code. Timing. T = 33.3999 ms + disk rotation.(t (t 35 ms is maximum time for disk rotation. 18.4 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Address Registers After Operation. I-Add. Reg. NSI B-Add. Reg B + 11 + 2120 (M Op code) or B + 11 + 1920 (L. Op code) A-Add. Reg. B +9 Example. Read disk track 17550, with its associated word marks, into the core-storage area labeled RDTSAD (first position of data is at 0800). In Figure F -13, the disk-control field is located in the ten positions preceding the label (0790-0799). Autocoder ~ OPERAND :'. Label Assembled Instruction: Figure F-13. F-IO ~ %F6 790 R Read Disk Track Sectors with Addresses . ~ Write Disk Track Sectors with Addresses Instruction Format. Mnemonic Op Code WDT M WDTW (with word marks) r A-address %F6 %F6 B-address BBB BBB d-character W W Function. This instruction causes the record data and addresses in core storage to be written on a disk track in the mode specified by the operation code (M or .1). If the L operation code is used to write the track, word marks in the record area of core storage are written on the track. The core-sector address must correspond to any one of the sector addresses Dn the track. The disk track is scanned for an address equal to the seotor address in core storage. Writing the disk track begins when the track-index pulse is sensed (signaling first sector on track), if the address-compare operation results in an equal condition. If the result 'Of the address-compare operation is unequal, the unequal-address-compare indicator turns on. All 20 sectors on the track, including the disk sector addresses, are written on disk storage. The sector-count field of the disk-cDntrol field must be set at 020 before the operatiDn begins. The core-sector address field is nDt modified by plus-one during this operation. To keep track of the number of sectDrs written, however, the sectorCDunt field is mDdified by a minus fDr each sector read. Word Marks. A group mark with a word mark must be orne position to the right of the last character written on disk storage. This position can be found by adding 2130 to the B-address for operations performed with the M operation code, and 1930 for operations performed with the ~ operation code. Timing. T = 33.3999 ms + disk rotation.(t (t 35 ms is maximum time for disk rotation. 18.4 ms is average time for disk r'Otation. 1.7 ms is minimum time for disk rotation. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+9 B-Add. Reg. B + 11 + 2120 (M Op code) or B + 11 + 1920 (!:.Op code) Example. Write a disk track (with address) from the data in the area labeled WRTSAD (first position 'Of data is at 1000). In Figure F-14, the disk-control field is located in the ten positions preceding the label (0990-0999). Autocoder OPERAND Label :' Assembled Instruction.: Figure F-14. ~ M. %F6 990 W Write Disk Track Sectors with Addresses An access arm becomes inoperable if the logic safety circuit detects improper operation. A customer engineer can also render an arm inoperable. In either instance, this indicator turns on, at which time the operation is terminated and the next sequential instruction is started. At the same time, the RAMAC light turns on. This indicator also turns on if power is not supplied to the disk-storage unit addressed, or if certain datasafety conditions occur. The indicator is hlrned off during the I -phase portion of the next disk-storage operation. Branch if Indicator On The BRANCH IF INDICATOR ON instruction tests the indicators that might be set on during a disk-storage operation. When a disk-storage instruction occurs in the program, it turns off all disk-storage indicators that were turned on by a previous disk-storage operation. The execution of a disk-storage instruction can result in a disk-storage indicator being turned on. Instruction Format. Mnemonic BIN Op Code B I-address III d-character d Function. The d-character specifies the indicator tested. If the indicator is on, the next instruction is taken from/ the I -address. If the indicator is off, the next sequential instruction is taken. Figure F-15 shows symbols that are valid d-characters, and the indicators they test. More than one indicator can be turned on as the result of a disk-storage operation. Because the program continues in sequence, a BRANCH IF INDICATOR ON instruction should immediately follow any disk instruction. Indicators Access Inoperable. This indicator turns on if either an invalid (not installed) arm or disk-storage unit is addressed. d - Character N V W X y \ Figure F-15. Indicator Access Inoperable Validity Error Wrong - Length Record Unequa I - Address Compare Any Disk Condition Access Busy d-Characters for Instruction BRANCH IF INDICATOR ON Disk Error. This indicator turns on if even-bit parity occurs during reading or writing on a disk. Another condition that turns the indicator on is a data unequal-compare condition during a write-check operation. In this case the operation is completed. The indicator is turned off during the I-phase portion of the next disk-storage operation. vVl'ong-Length Record. This indicator turns on if the following conditions are not satisfied: a group mark with a word mark in core storage is sensed at the same time as an end of sector and an all-zero condition in the sector-control field occurs. It also turns on during a scan operation if the search argument is longer than, or equal to, a sector length. Detection of a wrong-length record terminates the operation and starts the next sequential instruction. The indicator is turned off during the I-phase portion of the next disk-storage operation. Unequal-Address Compare. An unequal-addresscompare condition occurs during the automatic comparison of the sector address in storage with the sector address on the disk. This unequal condition turns the unequal-address-compare indicator on after the disk track is searched and the track-index pulse is sensed twice. This is an automatic check and does not have to be programmed. During multiple-sector operations, the indicator also turns on after the data transfer begins when the next sector address to be compared does not compare. The internal circuitry is the same as that used by the COMPARE instruction. In programming, be careful that a normal-compare operation and the addresscompare operation do not interfere with the settings of the equal-, low-, and high-compare indicators set by a previous instruction. Detection of an unequaladdress-compare terminates the operation and starts the next sequential instruction. F-ll The indicator is turned OFF during the I-phase portion of the next disk-storage operation. Access Busy. This indicator is turned off by every disk storage command. If the access assembly is in motion, the indicator is turned on and the instruction is not executed. Timing. No branch, or branch without indexing: T = .0666 ms. Branch with indexing: T = .0777 ms. Note: After each disk-unit read or write operation, the program must test for error indications to prevent processing of unusable data. A branch-access-busy command tests the indicator. If on, this indicates that the previous disk-storage instruction was not executed and should be repeated. Address Registers After Operation. An indicator is provided for each drive attached to the system. No Branch: NSI Branch (without indexing): NSI Branch (with indexing): NSI The following examples illustrate the access-busy operation. Remarks Operation Start Begins program execution. Seek Access 0 Turns indicator (0) off Test for access motion - no motion Indicator (0) remains off Instruction executed. Seek Access 2 Turns indicator (2) off Test for access motion - no motion Indicator (2) remains off Instruction executed. Branch Access Busy No branch Any-Disk Condition. This indicator turns on if any of the other disk-storage indicators are on. It can be tested by the program, and if it is off, the program can proceed. If this indicator is on, check the other indicators to determine where corrective measures should be taken. I-Add. Reg. A-Add. Reg. B-Add. Reg. F-12 dbb blank NSI Example. At the completion of a disk-read operation, test the any-disk-unit error-condition indicator. If it 'is OFF, continue in the main program. If it is ON, branch to the routine labeled DISKER (0690) to determine the type of error condition. This tests aill disk-unit indicators and branches to the error routine of the respective indicator that is ON. In Figure F-16, the routines are labeled: ACINOP (0690), UNADCL ( 0695) WRLENR (0700), RWPARC (0705). Autocoder t= ~perat~121 Label II OPERAND 25 50 I IS,I.N. ID,' 5 K E.R. •.Y, I> I.~.t<. E..R: IAo.ut ACINOP,N IJNADeL.,x, wltL..E..N.Rt W I : : IB.I N IS.I.N, BI.N, 55 40 Il,WP.A,R,C., V y Assembled Instruction: 480 .! 690 690 .! .! .! 740 N 790 X 695 700 705 Figure F-16. 45 50 -- I This indicator is turned off during the I-phase portion of the next disk-storage operation. "Vord Alarks. Word marks are not affected. BI BI BI 890 W B 990 V Branch If Indicator On Testing Routine IBM 1301 Disk-Storage Ti'ming The QrganizatiQn of data in disk stQrage and the methQd of processing data affect the seek time fQr a given Qperation and alsO' affect the total system thrQughput. Access Motion Time The access mechanism requires time to mQve frQm Qne cylinder to' another. The time required is related to hQW far the mechanism mQves within ceTtain machinedefined limits. TO' calculate how much time is required, consider the 250 cylinders of a mQdule as being organized intO' five areas of 50 cylinders per area (Figure F -17). Also consider each area Qf cylinders further divided into six sectiQns (Figure F-17). Access motiQn time fQr anyone access can be determined by one of the following statements: 1. TO' mQve the access mechanism within a section of any Qne area requires 50 millisecQnds. 2. TO' mQve the access mechanism from one section to another section of an area requires 120 milliseconds. 3. TO' mQve the access mechanism from one area to another area (crossing an area boundary) requires 180 milliseconds. For example, to move the access mechanism from track 000000 to track 039999 requires 120 milliseconds of access motion time. To move the access mechanism from track 039999 to track 040000 requires 180 milliseconds of time. area of the track is located. Rotational-delay time is the time required for the disk to position the desired record at the selected read/write head after an insbuction has been initiated. Maximum machine rQtational-delay time is 33.3 milliseconds; average rotational-delay time is 16.7 milliseconds. Data-access time includes the combination of access motion time and rotational-delay time. Figure F -18 is a cQmplete chart of access motion time. Access time from one sector address to another can be determined frQm Figure F -19. The point of intersection of two lines on a coded area of the figure, one drawn horizontally frQm a FROM sectQr address and one drawn vertically frQm a TO sector address, indicates access time in milliseconds. Sector Processing Time The times required to execute a I-sector and a 3-sector opera tion are: Seek Average Rotational Delay Read (Includes Module Select Time-1.66 ms) Rotational Delay Write (Includes Module Select Time-1.66 ms) Rotational De]ay 'Write Disk Check (Includes Module Select Time-1.66 ms) If PQssible, keep processing within the available rotational time. If nQt, the cycle is increased by one 33.3 ms revolution for each extension of available processing time. Processing time between a write operation and a write-disk-check operation can be used for such processing as updating control totals and/or arranging fields of printing. Rotational-Delay Time I-Sector Operation A disk-storage read or write operation includes a timing factor called rotational-delay time. An index point for each circular disk track denotes the beginning and end of a track. After a cylinder of tracks has been accessed and the proper read/write head for a specific track of the cylinder is cQnditioned, actual reading or writing must wait until the specific data or data AREA 160.0 16.7 3.4 30.0 3.4 30.0 3.4 246.9 ms ms ms ms ms ms ms ms 3-Sector Operation 160.0 16.7 6.7 26.7 6.7 26.7 6.7 250.2 ms ms ms ms ms ms ms ms CYLINDER A 0-49 8 50-99 C 100-149 D 150-199 E 200-249 Figure F -17. 44 45 19\20--24\25 Section 1 Section 2 Section 3 Section 4 Section 5 1 49 Section 6 Sections within a Cylinder Area Access Motion Areas and Sections F-13 1 AREA A Cylinders 0-49 Sector Addresses 000000 - 039999 AREA B Cylinders 50-99 Sector Addresses 040000 - 079999 AREA C Cylinders 100-149 Sector Addresses 080000 - 119999 AREA 0 Cylinders 150- 199 Sector Addresses 120000 - 159999 AREA E Cylinders 200 -249 Sector Addresses 160000- 199999 000000 - 007999 040000 - 047999 080000 - 087999 120000 - 127999 160000- 167999 2 008000 - 0 15999 048000 - 055999 088000 - 095999 128000 - 135999 168000 - 175999 3 016000 - 0 19999 056000 - 059999 096000 - 099999 136000 - 139999 176000 - 179999 4 020000 - 027999 060000 - 067999 100000 - 107999 140000- 147999 180000 - 187999 5 028000 - 035999 068000 - 075999 108000 - 115999 148000- 155999 188000 - 195999 6 036000 - 039999 076000 - 079999 116000 - 119999 156000- 159999 196000 - 199999 SECTIONS NOTE: Numbers shown above are the sector addresses of the lowest - and highest -numbered sector addresses in each section of each area. Examples: Area A, section 1 contains 8000 sector addresses (000000 -007999) Area A, section 3 contains 4000 sector addresses (016000 - 0 19999) Access Motion Time is calculated as follows: 1. Movement between sector addresses in the same section of an area is 50 mi lliseconds. 2. Movement between sector addresses not in the same section of an area requires: 120 milliseconds when movement is within the same area (Between 000000 and 015000; 020000 and 036000) 180 milliseconds when movement is between two of the five aretls (Between 015000 and 055000; 108000 and 1680(0) Figure F-18. F-14 Access Motion Time To Sector Address 000000 - 007999 Q08000- 0 15999 016000 - 0 19999 020000 - 027999 028000 - 035999 036000 - 039999 040000 - 047999 048000 - 055999 056000 - 059999 060000 - 067999 068000 - 075999 076000 -.079999 1------080000 - 087999 088000 - 095999 096000 - 099999 100000 - 107999 108000 - 115999 116000 - 119999 120000 _ 127999 \ - - - - - - - + - - - - 128000 - 135999 136000 - 139999 140000 - 147999 148000 - 155999 156000-159999 ~---------1-----------+--------~ 160000 - 167999 168000 -175999 176000-179999 180000 - 187999 188000 - 195999 196000-1999991--_ _ _ _+-_ _ _ _+-_ _ _ _+-_ _ __ Sector Area • 120 Mi II iseconds o 180 Milliseconds WJ Figure F-19. 50 Milliseconds Note: Access time within one cylinder is 0 milliseconds. Sector-Address-to-Sector-Address Access Time F-15 IBM 1311 Disk Storage Drive The IDJ\I 1311 Disk Storage Dlive (Figure F -20) provides the 1440 user with fast, efficient disk storage. As many as five IDYl 1311 drives can be attached to a 1440 system, and each drive is equipped with an interchangeable disk pack capable of storing from 2 to 2.9 million alphameric characters. Refer to IBM 1311 Disk Storage Drive, Form A24-3086. The first disk-storage drive attached to the 1440 system must be a 1311 Modell; additional dlives are 1311 Model 2. Alternate Code Core-Sector Address Sector Count x xxxxxx xxx 000000 - 099, 999 000 - 999 * or 0- 8 {even} F igure F-21. Disk-Control Field The various parts of the disk-control field are: alternate code, disk-sector address, and sector count (Figure F-21). Disk-Control Field Alterna te Code A 10-digit disk-control field specifies the disk-storage area that is involved in the data transfer. This diskcontrol field is located in core storage, and begins at the core-storage address specified by the disk-storage instruction B-address. The data involved in the transfer follows the disk-control field ( no data area is required for a seek-disk operation). If an asterisk (0) is used in this position, the disk-sector addresses of the disk pack correspond to the address range for th e disk drive on which the disk pack is placed. A digi t in the alternate-code position can be used to select the disk dlive by the instruction. It allows drives with the same range of sector addresses to be used by the program during the same lUn. When all disk drives have different sector addresses, an as terisk (0) instead of a numeric code can be placed in the alterna te-code position if the address range of the disk packs and disk drive are the same. Both word marks and zone bits can be placed in the alternate code position. The word marks and zone bits do not affect the operation and are not lost. If an A-bit is present, a 1301 operation is specified. If a B-bit is present, it is considered an 0. If 1301 disk storage units are a ttached, refer to IBM 1301 Disk Stomge section. Disk-Sector Address Figure F -20. F-16 IBM 1311 Disk Storage Drive, Model 1 The disk-sector address contains th e 6-digit address of the first sector to b e operated upon. Before any disk operation is performed, an automatic comparison is made of th e sector address in core storage with the disk-sector addresses on the specific track. If an equal comparison is made, the operation continues. If no equal comparison is made, the unequal-address compare indicator turns on, and th e disk operation is not perfonned. When sector operations are perfonned, the disksector address is automatically increased by 1 immedi- ately following the data transfer of each sector, except under these conditions: cylinder on the disk pack. This instruction is followed by a read or write operation. 1. track operation being perfonned. The data on the disk records is not acted on during this seek operation. 2. sector-count field reaches the value of 000 3. wrong length record. When any of these conditions occurs, the disk-sector address is not increased by 1. Notes: 1. The high-order position of the 6-digit disk-sector address must contain a zero. 2. The other five position of the 6-digit disk-sector address may contain any valid character that has a numeric-bit value of zero through nine. 3. Zone bits over the disk-sector address positions are lost through the adder if any address modification takes place. 4. Word marks over the disk-sector address positions do not affect the operation, but are lost during any operation that involves address modification. Sector Count This field indicates the number of sectors to be operated upon during the disk operation. The sector-count field is not used during seek operations. During the transfer of data to or from disk storage, the sectorcount field is automatically decreased by 1 immediately following a successful address comparison so that the sector-count field reflects the number of successful address comparisons. If a sector count of 000 is used when initiating a diskread Qr write operation, an eTror condition occurs. Before the first sector is transferred, a 1 is subtracted from the sector-count field. In this case, the result would be 999. Therefore, data would be transferred until a group mark with a word mark is encountered in core storage. Because the sector count is not zero at this time, the wrong length record and any-disk condition indicators would be turned on. ~ector Notes: 1. Word marks cannot be placed over the sector-count field units position. Word marks in any other position do not affect the operation, but are lost during any operation that affects sector-count modification. 2. Zone bits are always removed from all three positions of the sector-count field. Basic Disk Operations The four basic operations perfonned by the 1311 are seek, read, write, and write disk check. The seek operation positions the access arms over the specified cylinder. The B-address position of the instruction contains the core-storage address of the disk-control field and it is this field that specifies the proper cylinder plus other pertinent information. Read Operation The read operation is initiated by one of the three different types of READ DISK instructions, and transfers data from disk storage to a specified area in core storage. (The three types of instructions are dis'cussed following the write-QperatiQn description.) The specified diskstorage area involved in the transfer is partially identified by the previous seek operation, and the rest of the area is fully identified before the data transfer takes place. The identification is accomplished by comparing the sector addresses on the disk with the sector address in core storage. The sector address in core stQrage is part of the disk-control field, and the B-address position of the READ DISK instruction contains the core-storage address of the disk-control field. The data from the disk is placed in a core-storage area located immediately to' the right of the disk-control field. Write Operation The write operation is initiated by one of the three different types of WRITE DISK instructions, and transfers data frO'm a specified core-storage area into disk storage. (The three types of instructions are discussed following this operation descriptiO'n.) The specific diskstorage area involved in the transfer is partially identified by the previous seek operation, and the rest of the area is fully identified befO're the data transfer takes place. The identification is accomplished by comparing the sector addresses Qn the disk with the sector address in ~ore storage. The sector address in core storage is part of the disk-contrQl field, and the B-address portion of the WRITE DISK instruction cO'ntains the core-storage address of the disk-control field. The data that is to be transferred to the disk is stored in a core-storage area located immediately to the right of the disk-control field. Types of Read and Write Operations Seek Operation The seek operation is initiated by a SEEK DISK instruction, which directs the read/write heads to the proper Each read or write operation can O'perate in three different ways, or modes: sector, track sectors with addresses, and sector-overlay modes. F-17 Sector Mode. Read and write operatinns in the sectnr mnde transfer data, but dO' nnt transfer disk-sectnr addresses. The sectnr mode is the normal mode of nperation. The number nf sectnrs to' be handled during nne operatinn is specified by the sector-CDunt pnrtinn O'f the disk-cO'ntrol field. Each sectnr is transferred only after a cnrrect comparisDn of the sectnr address in the core-storage disk-cnntrnl field is made with the sectnr address on the disk. For more detailed informatinn, refer to' the specific instructinn. Track-Sectors with Addresses Mode. This mO'de O'f operation transfers both the data and the disk-sectnr addresses to and from the disk, Oone complete track at a time. The mode Df operatinn makes it possible to change the previnusly recnrded sectnr addresses. -The operatiDn requires that the sectOor-address portion nf the disk-cnntrol field contain the address nf one O'f the sectors within the specified track, and the sectorcount portion Oof the disk-cnntrol field must cO'ntain 020 (20 sectors will be transferred). The transfer can only occur after a correct cnmparison nf the sectnr address in the core-storage disk-contrnl field with a sectnr address on the specified track. For mnre detailed informatinn, refer to' the specific instructinn. Sector-Count Overlay Mode. This mnde nf nperatiOon F-18 allnws a portion nf the data recnrd itself to specify the number of sectnrs to' be involved in the data transfer. The disk-sectnr addresses are nOot involved in the transfer. This mode of operatinn permits better disk stOorage utilization for sequential applicatiOons involving variable-size records. For more detailed information, refer to' the specific instruction. Reading and Writing with Word Marks lttl ode. WOord mark can be transferred with the data during all reading and writing Ooperations by an -1. Op code instead of an M Op code. When word marks are written on the disk, the data is written in an 8-bit BCD cnding. Write Disk Check The write-disk-check nperatinn causes the data in the specified disk area to' be compared against the comparable data in the specified core-storage area. When the disk data does not cnmpare, bit-by-bit and character-by-character, with the code-stnrage data, a diskerror indicator is set ON. This operatiOon normally takes the form O'f a WRITE DISK CHECK instruction, which must follow each write operatiOon. The write-disk-check nperation compares the data written in disk storage with the O'riginal source data in core storage. storage utilization for sequential applications involving variable-size records. The record itself specifies the number of sectors involved. IBM 1311 Instruction Format and Instructions Mnemonic xx 017 Code A-address B-address d-character ~/!:. %Fn BBB R/W Instructions applying to the 1311 cannot be successfully chained. Op Code This is always a single character that defines the basic operation to be performed. Either the M or L operation code can be used with IBM 1311 instructions. B-Address The B-address specifies the high-order position in core storage of the 10-digit disk-control field. The disk-control field is followed by the area of core storage that is to have data read into or out of by the disk-storage drive. The data area must be followed by a group mark with a word mark. d-Character When the MOp-code is used, characters are written or read in the 7-bit mode (CBA 8421). The LOp-code causes characters to be read or written in 8-bit mode ( CBA 8421 M). The 8-bit mode provides for a possible word mark with the character being written on, or read from, the disk record. A-Address %Fn signals that the disk unit is to be selected; n represents the digit used to perform various operations. n-Position Operation o Seek a disk record. 1 Sector-Reading or writing characters from the number of sectors specified by the sector-count field is stopped when a group mark with a word mark, or the end-of-sector is sensed. If a group mark with a word mark is sensed before the reading of the sector( s) of the track is completed, reading stops and the wrong length record and any-disk condition indicators turn ON. If the group mark with a word mark is sensed before the writing of a record on a disk is completed and it is before the end of a record, the remainder of the disk record is filled with valid blanks (C-bit), and the any-disk condition and wrong length record indicators are turned ON. 6 3 5 Disk Track-Sector with Addresses-Allows the reading or writing of a full track (20 sectors) including sector addresses. To perform this operation, the write-address key-light on disk-storage unit 0 must be on. When the write-address light is ON, write-sector operations cannot be performed. Write Disk-Cheek-Data written on a disk in a preceding write operation is read from the disk and compared, character-by-character, with the data in core storage. A WRITE DISK CHECK must be given following a write operation, unless an error occurred during the write operation. A write-disk-check operation can be executed after a read operation if a check on the information read is desired. The operation is performed exactly the same as a write-disk-check operation following a write operation. Sector-Count Overlay-Allows for records of a variable number of sectors (more than one) to be read or written with a single instruction. The number of sectors to be read/written is controlled by the multiple sector-count field. This control field is in the first three data positions of the first sector of the disk record. This technique permits better disk- The d-character is used to specify the operation to be performed. Seek Operation Seek Disk Instruction Format. Mnemonic Op Code SD M LV (with word marks) L A-address B-address d-character %FO %FO BBB BBB R R Note: Because word marks have no meaning for the seek-disk operation, no load-mode Autocoder mnemonic is provided. However, the "general" mnemonic (LV) can be used if an LOp-code is desired. Function. The A-address specifies that a seek operation is to be performed by the access assembly. The Baddress specifies the high-order position in core storage of at least the first six positions of the diskcontrol field. Only the alternate-code position and the first five positions of the core-sector address are used during a seek-disk operation. The selected access assembly is first withdrawn from the disks to the home position, and then is moved toward the center of the disk pack. Movement of the mechanism stops when the correct cylinder is reached. Figure F -22 shows a functional schematic of a seek-disk operation. \Vol'd Marks. Word marks are not affected. Timing. T = .1887 ms + access time. ~ ~ 400 ms is maximum access time for a seek. 250 ms is average access time for a seek. Note: If the access mechanism is already at the disk track that is to be used, a SEEK DISK instruction need not be given. F-19 Tum Off All Disk-Storage Indicotors Alternote Code To Drive-Address Register Note I Cylinder Number From Disk-Sector Address To Multiple-Use Counter Note 2 No Turn On Access Inoperable and Any-Disk Condition Indicators No Processing Interlock Released Turn On AccessBusy and Any-Disk Condition Indicators Return Access Assembly To Home Position Processing Interlock Released Move Access Assembly One Cylinder Subtract Two From MultiDle Use Counter Note 1. Drive address is derived from the 8, 4 and 2 bits of the second address-digit, if the a Itemate-code posi tion has a B-bit. Note 2. Cylinder number is taken from: I-bit of the second address-digit 8, 4, 2, and I-bits of the third address-digit, and 8, 4, and 2bits of the fourth address-digit. Note 3. Subtroction does not take place when seeking to cylinder zero. No Seek Completed To Main Program Figure F-22. F-20 Seek-Disk Functional Schematic Note 3 Address Registers After Operation. A-Add. Reg. B+6 I-Add. Reg. NSI B-Add. Reg. B+7 Example. Seek record 015734 with the access assembly. Storage locations 0590-0599 (labeled INPUTA) contains 0015734001 (Figure F -23). Autocoder OPERAND Label :~ . ~ .: Assembled Instruction: ~ %FO 590 R Figure F -23. Seek Disk tion results from any disk sector read or write operation that begins the operation with a sector count of 000. Before the first sector is transferred, a one (1) is subtracted from the sector-count field, resulting in a sector count of 999. Data would then be transferred until a group mark with a word mark is encountered in core storage. Because the sector count is not zero at this time, the wrong length record and any-disk condition indicators are turned ON. The B-address specifies the high-order pOSition in core storage of the disk-control field, and the area in storage resenred for the data read from the disk. The R in the d-character position signifies a read operation. Refer to Figure F -24 for a functional schematic of a read operation. Sector Operations If only the data portion of a disk record is to be affected, the operation is classified as a sector operation (addresses are not affected). Disk records can be read, written, or scanned during sector operation. The term sector operation does not mean that a disk record is confined to a loo-character sector. The data needed for a record can be written in as many sectors as needed. Word Marks. A group mark with a word mark must be one position to the right of the last position resenred in core storage for the disk record. If a group mark with a word mark is detected before reading of the record is completed, the wrong-length-record indicator turns on and reading stops. The position of the group mark with a work mark can be determined by using the formula: GMWM = B + Ns(Ls) + 10 B = Address of high-order position of disk address in core storage Read Disk Sector(s) N s = Number of sectors read Instruction Format. Ls = Number of characters per sector Mnemonic RD Op Code A-address M %Fl B-address BBB d-clzaracfer R Function. This instruction causes data to be read from disk storage into core storage. The digit 1 in the A-address (%Fl) specifies that a sector operation is to be performed. The number of sectors to be read is specified by the sector-count field. The reading of the disk is stopped by a group mark with a word mark in core storage and by the end of the sector. Reading begins at the address contained in the core-sector address field and continues for the number of sectors specified by the sector-count field. The core-sector address field is increased by one for each sector read, and the sector-count field is reduced by one as a sector is read. When the sector-count field reaches 000, an end of operation is indicated to the system. An error condi- Timing. T = .0999 ms + 2N s + disk rotation. 0 042 ms is maximum time for disk rotation. 22 ms is average time for disk rotation. 2 ms is minimum time for disk rotation. Note: Before reading starts, an automatic comparison is made of the core-sector address with the sector address on the disk. This check is made for each sector read. If they are not the same, the unequal-address compare indicator turns ON, and the data on the disk cannot be read into storage. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+6 B-Add. Reg. B + 11 + NsLs Example. Read one sector from disk storage into core storage beginning at location 0600 (labeled F-21 Read-Disk-Sector ( ~J'r---------i ~~~r~ction.M. %FI - 1 - - - - - - ----~------ -- --- - -- - - -- J - - -- _--<~d~:sses ....--No Disk-Control Field To Driye Control Equal Yes ~ as No Disk Storage Ready Subtract One From SectorCount Field In Core Storage Entire, Disk Track Been Scanned ~ ecto~ count ")--_~Yes Yes Turn On Any-Disk Condition And Unequal-Address Compare Indicators Yes Turn On Access Inoperable And Any-'Disk Condition Indicato .. - Compare CoreSector Address To Sector Address On Disk Processing Interlocked -< -- y Turn Off All DiskStorage Indicato .. ... N_o_ _ _ - No Is Access Busy Yes Turn On Access Busy And Any-Disk Condition Indicato .. Field Zero 9 Wait For Start of Next Disk Sector No Set 100 In Multiple Use Counter Set Zero-Latch On -- Read Operation Or ~ ! Character Read From Disk Storage To A-Register Processing Interlock Released Write Operation Character Read From Core-Storage To A-Register J Character Read From A-Register To Disk Storage Character Read From A-Register To Core Storage Is Zero Latch On No Add One to CoreSector Address I I"'- Yes Has GM-WM Been Sensed No Turn On WrongLength Record And Any-Disk Condition Indicato .. Parity Error No Yes Read is Completed Processing Interlock Re leased I Figure F-24. F-22 Read/Write Disk Functional Schematic Subtract One From MultipleUse Counter NO Multi~ e-use ~ Counter Zero ""------_.... Yes Yes Turn On Any-Disk Condition And DiskError Indicato .. In Figure F-25, the disk~control Held is located in the ten positions preceding the label (05900599). INPUTA). Autocoder Label OPERAND Assembled Instruction: !. %Fl 590 R Autocoder Label OPERAND 00 .: Figure F-26. Read Disk Sector with Word Marks Assembled Instruction: ~ %Fl 590 R Figure F -25. Read Disk Sector Read Disk with Sector-Count Overlay Instruction Format. Mnemonic Op Code RDCO M RDCOW L (with word marks) Read Disk Sector(s) with Word Marks Instruction Format. Mnemonic RDW Op Code A-address B-address d-character 1... %Fl BBB R Function. This is similar to' the struction except that READ DISK SECTOR in- 1. wQrd marks in the recQrd area of CQre stO'rage are remQved, and 2. wQrd marks frQm the disk recQrd are written in cO're stQrage. The length of the sectQr read frQm disk stQrage intO' core stQrage is 90 PQsitiQns. Word Marks. A grO'up mark with a word mark in CQre stO'rage terminates the read operatiO'n. If the grO'up mark with a word mark is not in the PQsitiQn to' the right O'f the last character read frQm the disk intO' cO're storage, the wrQng length recO'rd and any-disk cO'ndition indicatQrs turn Qn. Timing. T = .0999 ms + 2N s + disk rQtatiQn. o 042 ms is maximum time fO'r disk rQtatiO'n. 22 ms is average time fO'r disk rQtatiO'n. 2 ms is minimum time fQr disk rotatiQn. A-address B-address d-character %F5 %F5 BBB BBB R R Function. This Qperation is similar to' the READ DISK SECTOR( s) instruction except that the number O'f sectQrs to' be read is cQntrQlled by the Hrst three positions in the first record read. The digit 5 in the Aaddress specifies that an Qverlay operatiQn is to' be perfQrmed. As the first sectQr is read frQm disk stQrage, the first three digits of the record being read are placed in the sectQr-count field Qf the disk-cQntrO'I Held in CQre stQrage. TherefQre, if a variable number of sectQrs are to' be read frO'm disk stO'rage, the sectQrCQunt field must cO'ntain a value greater than 001 to' cause the first sectQr to' be read. The first three positiQns of the first sector read contain the number of additiO'nal sectQrs to be read. Figure F -27 illustrates the QperatiO'n O'f an O'verlay instructiO'n which causes four sectQrs Qf data to' be read frQm disk storage intO' CQre stQrage. Disk-Control Field Core Storage Disk Storage Note: If a disk is read in a mode different from the one in which it was written (M or 1.. operation code), a parity error occurs. The disk-error indicator turns ON. * 0 12 4 5 0 nn n - Data Area L-y---J Any Number ( Greater than 1) 0 1 2450003 04 r '~ Disk-Sector NewAddr~ss Sector Count Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B +6 B-Add. Reg. B + 11 + NsLs Example. Read a recO'rd, with its assQciated wQrd marks, from disk storage intO' the area labeled INPUT (first positiO'n O'f data is at 0600). In Figure F -26, the disk-control field is IQcated in the ten positiO'ns preceding the label (0590-0599). Core Storage After First Sector Read Figure F -27. Disk-Control Field Counter . - - - - ' - - - - - . , ,-L-, .! 0 1 2 4 5 1 0 0 3 0 4 Data from 1st Secter Read Disk - Sector-Count Overlay Operation F-J:J The Dperation proceeds as a normal read DperatiDn with apprDpriate changes to' the core-sectDr address and sectDr-count fields. Word Marks. Because the exact number Df pDsitions of data to' be read from disk stDrage may not be knDwn when this DperatiDn is initiated, place the grDUp mark with a wDrd mark (signaling the end-of-operatiDn) Dne pDsition to' the right Df the last possible character to' be read using this instructiDn. If the maximum number Df recDrds is nDt read, the read intO' storage StDpS because the end Df sector is reached and the sectDr-CDunt field is all zerO"s befDre the grDup mark with a wDrd mark is sensed. The wrong-length-recDrd indicatDr alsO' turns ON. The prDgrammer can check core storage in this case to' see if the CDrrect number Df sectors has been read. This can be accDmplished by setting up a CDunter in the fourth and, if necessary, fifth pDsitiDn Df the first sectDr Df the record. This cDunter, when the read DperatiDn is cDmpleted, is IDcated in the first and/or secnnd pDsitiDn Df the data recnrd in cnre storage. These pDsitiDns can be used to" check the number of sectDrs in the recDrd. These counter positiDns shQuld equal the actual number Df sectDrs in the record. For any recDrd length other than single-sectDr records, reading data frDm disk shDuld have stQPped at B + 6 + N sLs. If it did nDt, an error did occur and apprDpriate action should be taken. If a CDrrect read has occurred, the errDr indication can be disregarded. Special cDnsideratiDn must be given to' single-sectDr recO"rds when read in the sectDr-CDunt overlay mDde. When the read Dperation begins, the first three characters Df the record overlay the sectDr CDunt. In this case, 000 is read in and overlaid. HDwever, the machine dDes not detect a zerO' sector CDunt except when prDduced by automatically decreasing the sector-count field. After reading the single-sectDr recDrd, the address' is increas'ed by one and an equal CDmpare is sDught on the next sector. vVhen fO"und, the sectDr-cDunt field is decreased by one again, resulting in a count of 999. Beoause the sectDr-count field is nnt all zerO's when this occurs, the wrnng-IengthrecDrd indicator is turned Dn if a grDUp mark with a word mark is placed in the 101st positiDn of the data field. When an initial sectnr CDunt of 002 or greater is used and the first three digits Df the first sectDr being read are 000 (the three digits to' be Dverlaid), the fnllnwing nccurs: 1. The operatinn does not stnp because the sectnr cnunt has not been decremented to' 000. F-24 2. The sectDr address has been incremented and the second sectDr is read. 3. The special-add operatiDn (used to keep track Df the sector cDunt) decrements the sectDr count (000) to' 999. Because the last step (item 3) does nDt produce a carry to increment the sectDr address, an unequaladdress CDmpare occurs Dn the attempt to' read the third sectDr. The unequal-address compare will nDt Dccur if the initial sector count was 001, and only one sectDr will be read intO' CDre storage because the sectDr CDunt has been decremented to 000. Single-sector and multiple sectDr-read DperatiDnsshnuld nDt be interspersed (using MIL %F5 BBB R instructiDn) withDut priDr knowledge Df exactly when each read will occur. When a file includes single-sector recDrds, a special rnutine must be included to verify the validity Df the recDrd read. BefDre executing a read, a special character that wDuld never be fDund in the last position O'f a recQrd can be mnved to' the l00th positinn nf the input area. The wrong-Iength-recoird rDutine Gan then check to' see whether the counter in the first positiDn of the record contains a Dne (1). If sO', it wDuld check to' see that the special character has been overlaid. If it has, the recDrd was read in its entirety. Timing. T = .0999 ms + 2N s + disk rDtation. o °42 ms is maximum time fDr disk rotation. 22 ms is average time for disk rotatiQn. 2 ms is minimum time for disk rDtation. Note: Before reading starts, an automatic comparison is made of the record address in core storage with the record address on the disk. This check is made as each sector is read. If the addresses are not the same, the unequal-address-compare indicator is turned on, and the data on the disk cannot be read into storage. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+6 B-Add. Reg. B +8 + NsLs Example. Read intO' CDre storage a variable number of sectDrs that contain the data fDr a record beginning at IDcatiDn 0900 (labeled INPUTB). In Figure F -28, the disk-contrDI field is IDcated in the ten positions preceding the label (0890-0899). Autocoder label Assembled Instruction: Figure F -28. M %F5 890 R Read Disk with Sector-Count Overlay Write Disk Sector(s) 22 ms is average time for disk rotation. 2 ms is minimum time for disk rotation. Instruction Format. Mnemonic WD Op Code A-address M %FI B-address BBB d-character W Function. This instruction causes record data in core storage to be written on a disk record. The digit 1 in the A-address (%Fl) specifies that a sector operation is to be perfonned. The number of sectors to be written is specified by the sector-count field. The writing of the disk record is stopped by a group mark with a word mark in core storage and by the end of sector. Writing begins at the address contained in the core-sectO'r address field and continues for the number of sectors specified by the sector-count field. The core-sector address field is increased by one for every sector written. The sector-count field is reduced by one as a sector is written. When the sector-count field reaches 000, an endof-operation is indicated to the system. An error condition results from any disk sector read or write operation that begins the operation with a sector count of 000. Before the first sector is transferred, a one (1) is subtracted from the sector-count field, resulting in a sector count of 999. Data would then be transferred until a group mark with a word mark is encountered in core storage. Because the sector count is not zero at this time, the wrong length record and any-disk condition indicators are turned on. The B-address specifies the high-order position in core storage of the disk-control field, and is followed by the data to be written on the disk. The W in the d-character position signifies a write operation. Refer to Figure F -24 for a functional schematic of a write operation. Word Marks. A group mark with a word mark mus,t be one position to the right of the last character of the record in core storage. The writing of data stO'ps when the end-of-record is reached on the disk and a group mark with a word mark is sensed in core storage. If the group mark with a word mark is sensed before the end of a record, the remainder of the disk record is filled with valid blanks (C-bit), and the any-disk condition and wrong-length-record indicators are turned ON. Timing. T = .0999 ms + 2Ns + disk rotation. /it /it 42 ms is maximum time fO'r disk rotation. Notes: Before writing starts, an automatic comparison is made of the core-sector address with the record address on the disk. This check is made for each sector written. If the addresses are not the same, the unequal-address-compare indicator is turned on, and the data in storage cannot be written on the disk. If the data in core storage contains characters with word marks, only the CBA8421 portion of the character is written on the disk (the word mark is ignored). A WRITE DISK CHECK instruction must be performed following a write disk operation unless an error occurred during the write operation. No other disk-storage operation can be performed until the check of data written on the disk is accomplished. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. B + 11 + NsLs B+6 Example. Write a disk record (one sector) frO'm the data in the area labeled INPUTA (first position of data is at 06(0). In Figure F-29, the disk-control field is located in the ten positions preceding the label ( 0590-0599 ) . Autocoder ~. OPERAND label ~~ Assembled Instruction: Figure F -29. M%Fl ~ 590 W Write Disk Sector Write Disk Sedor(s) with Word Marks Instruction Format. Mnemonic WDW Op Code A-address 1. %Fl B-address BBB d-character W Function. This instruction is similar to the WRITE DISK SECTOR instruction, except that word marks set with the data in core storage are recorded on the disk record. This mode of operation permits writing programs on disk records fO'r system use. Ninety positions of data with word marks are recorded O'n each sector during the write operation. Word Marks. A group mark with a word m'ark one position to the right of the last character of the record in core storage terminates the write operation. If the group m·ark with a word mark is not sensed at the same time as the end-of-a-record, the remainder of the disk record is filled with valid blanks (C-bit), and the any-disk condition and the wrong-Iengthrecord indicators are turned on. F-25 Timing. T = .0999 ms + 2N s + disk rotation. ~ ~42 ms is maximum time for disk rotation. 22 ms is average time for disk rDtation. 2 ms is minimum time for disk rDtation. Disk-Control Fie Id Couhter rL, * 0 1 2 4 5 0 0 0 4 0 4 Data Area Core Storage - Notes: The programmer should be certain that all records on a specific track are written in the same mode (M or .1. operation code). Otherwise, track operations are not possible. Before writing starts, an automatic comparison is made of the record address in· storage with the record address on the disk. If the addresses are not the same, the unequal-address compare indicator is turned on, and the data in storage cannot be written on the disk. A write-disk-check operation must be performed following this instruction. Data I I Disk-Sector Address Core Storage Disk-Control Field After First - Sector Write A-Add. Reg. B+6 Autocoder Label L...y-J SectorCount Field B-Add. Reg. B + 11 + NsLs Example. Write a disk record, with wDrd marks, from the data in the .area labeled OUTPUT (:first pos.ition of data is 0600). In Figure F-30, the disk-control :field is located in the ten positions preceding the label ( 0590-0599 ) . Figure F-31. Write Disk - Sector-Count Overlay Operation tion of an overlay instructiDn, which causes four sectors of data to be written from core storage onto disk storage. The DperatiDn proceeds as a normal write operation with appropriate changes to the core-sectDr address and sector-count :fields. Assembled Instruction: !. %Fl 590 W Figure F-30. o 12450 Disk Storage * 0 1 245 1 00304 Data on 1st Sector Address Registers After Operation. I-Add. Rg. NSI t..,.--.J Sector-Count Field Write Disk Sector with Word Marks Word Marks. A group mark with a word mark should be placed one pDsition to' the right of the last sector to be written. The group mark with a word mark must be placed at B + 7 + N sLs to avoid a false wrong-length-record indication. Write Disk with Sector-Count Overlay Instruction Format. Timing. T = .0999 ms + 2N s + disk rotation. ~ 42 ms is maximum time for disk rotation. 22 ms is average time for disk rotation. 2 ms is minimum time for disk rotation. (t Mnemonic Op Code WDCO M WDCOW L (with word marks) A-address %F5 %F5 B-address BBB BBB d-character W W Function. This operation is similar to the WRITE DISK SECTOR instruction except that the sector-count :field of the disk-control :field is autDmatically decreased by Dne and then written in the :first three data positions of the :first sector written. The digit 5 in the A-address speci:fies that an overlay operation is to' be performed. Therefore, if a variable number Df sectors are to be written Dn disk stDrage, the sector-count field in core stDrage shDuld contain the number of sectors to be written. The :first three data positions of the :first sootor written contain the number Df additiDnal sectDrs that were written. Figure F -31 illustrates the operaF-26 N ate: Before writing starts, an automatic comparison is made of the record address in core storage with the record address on the disk. This check is made before each sector is written. If the addresses are not the same, the unequal-address-compare indicator is turned on, and the data in core storage cannot be written in disk storage. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+6 B-Add. Reg. B+8+N sLs Example. Write a number of sectors for a record on disk storage that cDntains data beginning at location 0900 (labeled OUTPUT). In Figure F -32, the diskcontrol :field is located in the ten positions preceding the label (0890-0899). Address Registers After Operation. Autocoder I-Add. Reg. OPERAND Label ~. ~~ . ~ ~9. Assembled Instrudion: !! %F5 890 W Figure F -32. Write Disk with Sector-Count Overlay NSr B-Add. Reg. A-Add. Reg. Depends on previous operation Example. Compare the disk rec'Ord with a recard in care-starage area labeled OUTPTC ( beginning at 0700). In Figure F -33, this disk-control field is located in the ten positions preceding the label (06900699). Autocoder Label :: .: Write Disk Check Assembled Instrudion:!:! %F3 690 W Figure F-33. Instruction Format. Mnemonic Op Code WDC M WDCW L (with word ma~ks) OPERAND A-address %F3 %F3 B-address BBB BBB Write Disk Check d-character W W Address Operations Function. This instruction causes a comparison, characteT-by-character, of the data in core storage with the data just written on the disk. This instructian must be executed after a write operation and before any atheT disk-storage operation is initiated. The digit 3 in the A-address specifies that a WRITE is to be performed. Either an L or M apeTation code is used, depending an how the data was recorded in disk storage. DISK CHECK The B-address specifies the area in care storage that contains the disk-control field and the data recQi·ded on the disk. The sector-address and sector-count fields of the sector-control ward must be res tared to the values present at the beginning of the write operation. Word Marks. A group mark with a word mark must appear one position to the right af the disk data in core storage. Timing. T = .0999 ms + 2N s + rotation time. ~ ~ 42 ms is maximum time far disk rotation. 22 ms is average time for disk ratation. 2 ms is minimum time for disk rotation. Notes: If the disk address in core storage is not the same as the address on the record, the unequal-address compare indicator turns ON. If any of the characters on the disk record do not agree with the characters in core storage, the disk-error indicator turns on. A write-disk-check operation can be executed after a read operation if a check on the information read is desired. The operation is performed exactly the same as a write-disk-check operation following a write operation. The disk sector addresses written on the disk pack are protected from improper systems aperatian by the write-address key-light on disk-drive O. When the light is off, addresses an the disk pack cannot be altered or read inta core storage. If the light is on, disk-pack addresses can be read into core storage and new addresses can be written on the disk pack. The ability to read and/or alter disk addresses is conditioned by the setting of the write-address key-light and the stored program instructions. Certain mM 1311 instructions are used when reading ar writing disk addresses. These instructions contain the term Address in their description and a note on the setting of the writeaddress key. If the proper instruction and key setting are not used when trying to perform an address operation, the system stops and the RAMAC light on the system console turns ON. Read Disk Track Sectors with Addresses Instruction Format. Mnemonic Op Code RDT M RDTW L (with word ma~s) A-address %F6 %F6 B-address BBB BBB d-character R R Function. This instructian causes the contents of an entire disk track (addresses and data) to be read in F-27 the mode specified by the operation code (M or L). If the L operation code is used, the track is read into storage with its associated word marks. The core-sector address must correspond to any one of the sector addresses on the track. The disk track is scanned for an address equal to the sector address in core storage. The disk-track reading begins when the first track-index pulse following a successful address-compare operation is sensed. If the result of the address-compare operation is unequal, the unequal-address compare indicator turns on. All twenty sectors on the track, including the disk-sector addresses, are read into core storage. The sectorcount field of the disk address must be set at 020 before the operation begins. The core-sector address field is not modified by plus-one during this operation. To keep track of the number of sectors read, however, the sector-count field is modified by minus-one for each sector read. Word Marks. A group mark with a word mark must be placed one position to the right of the last character read into core storage. This position can be found by adding 2130 to the B-address for operations performed with the M operation code, and 1930 for operations performed with the 1= operation code. Timing. T = .0999 + 42 ms + disk rotation.# #42 ms is maximum time for disk rotation. 22 ms is average time for disk rotation. 2 ms is minimum time for disk rDtation. Note: The write-address key-light on disk-storage-drive zero must be on to perfonn the operation. When the key-light is off, disk-sector operations cannot be penormed. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+9 B-Add. Reg. B + 11 + 2120 eM op code) or B + 11 + 1920 CL Op code) Example. Read disk track 17550, with its associated word marks, into the core-storage area labeled RDTSAD (first position of data is at 0800). In Figure F-34, the disk-control field is located in the ten positions preceding the label (0790-0799). Label OPERAND 40 Assembled Instruction: F-28 Instruction Format. Mnemonic Op Code WDT M WDTW L (with word ma;:ks) M %F6 790 R Read Disk Track Sectors with Addresses A-address B-Address d-character %F6 %F6 BBB BBB W W Function. This instruction causes the record data and addresses in core storage to be written on a disk track in the mode specified by the operation code eM or!J If the L operation code is used to write the track, word marks in the record area of core storage are written on the track. The core-sector address must correspond to any one of the sector addresses on the track. The disk track is scanned for an address equal to the sector address in core storage. Writing the disk track begins when the track-index pulse is sensed (signaling first sector on track), if the address-compare operation results in an equal condition. If the result of the address-compare operation is unequal, the unequaladdress compare indicator turns ON. All 20 sectors on the track, including the disk-sector addresses, are written on disk storage. The sector-count ReId of the disk-control field must be set at 020 before the Dperation begins. The core-sector address field is not modified by plus-one during this operation. To keep track of the number of sectors written, however, the sectDr-count field is modified by a minus for each sector read. Word Marks. A group mark with a word mark must be placed one position to the right of the last character written on disk storage. This position can be found by adding 2130 to the B-address for operations performed with the ,M operation code, and 1930 for operations performed with the 1 operation code. Timing. T = .0999 + 42 ms + disk rotation. # #42 ms is maximum time for disk rotation. 22 ms is average time for disk rotation. 2 ms is minimum time fDr disk rDtation. Note: The write-address key-light on disk-storage-drive zero must be on to penorm this operation. When the key-light is off, disk-sector operations cannot be penonned. Address Registers After Operation. I-Add. Reg. NSI Autocoder Figure F-34. Write Disk Track Sectors with Addresses A-Add. Reg. B+9 B-Add. Reg. B + 11 + 2120 (M Op code) or B + 11 + 1920 (!:. Op code) Example. Write a disk track (with address) from the data in the area labeled WRTSAD (first position of data is at 1000). In Figure F -35, the disk- control field is located in the ten positions preceding the label (0990-0999). Autocoder label Assembled Instruction: Figure F-35. !! %F6 990 W Write Disk Track Sectors with Addresses Branch if Indicator On The BRANCH IF INDICATOR ON instruction tests the indicators that might be set ON during a disk-storage operation. When a disk-storage instruction occurs in the program, it turns off all disk-storage indicators that were turned on by a previous disk-storage operation. The execution of a disk-storage instruction can result in a disk-storage indicator being turned on. Instruction Format. Mnemonic BIN Op Code B I-address III d-character d Function. The d-character specifies the indicator tested. If the indicator is ON, the next instruction is taken from the I-address. If the indicator is off, the next sequential instruction is taken. Figure F -36 shows symbols that are valid d-characters, and the indicators they test. More than one indicator can be turned ON as the result of a disk-storage operation. Indicators Access Inoperable. An access arm becomes inoperable if the logic safety circuit detects improper operation. A customer engineer can also render an arm inoperable. In either instance, this indicator turns on when the program addresses the inoperable arm, at which time the operation is terminated and the next sequential instruction is started. At the same time, the RAMAC light turns on. d - Character Indicator N V W Access Inoperable Validity Error Wrong - Length Record Unequal-Address Compare Any Disk Condition Access Busy X y \ Figure F-36. d-Characters for Branch If Indicator On Instruction The indicator also turns on if an invalid (not installed) arm or disk-storage unit is addressed. Because the program continues in sequence even when an inoperable arm is addressed, a BRANCH IF INDICATOR ON instruction must immediately follow a seek instruction. Disk Error. This indicator turns on if even-bit parity occurs during reading or writing on a disk. Another condition that turns the indicator on is an UNEQUAL COMPARE during a write-check operation. In this case the operation is completed. "Vrong Length Record. This indicator turns on if the following conditions are not satisfied: a group mark with a word mark in core storage is sensed at the same time as an end-of-s€-ctor and an all-zero condition in the sector-control field occur. It also turns on during a scan operation if the search argument is longer than, or equal to, a sector length. Detection of a wrong length record terminates the operation and starts the next sequential instruction. Unequal-Address Compare. An unequal-addresscompare condition O'ccurs during the automatic comparison of the sector address in storage with the sector address O'n the disk. This unequal condition turns the unequal-address-compare indicator on after the disk track is scanned and the track-index pulse is sensed twice. Each sector operated on by a diskstorage read-write instruction is checked for ADDRESS COMPARE. This is an automatic check and does not have to be programmed. During multiple-sector operations, the indicator also turns on after the data transfer begins when the sector address following a correct address comparison does not compare. The internal circuitry is the same as that used by the COMPARE instruction. In programming, be careful that a normal-compare operatiO'n and the addresscompare operation do not interfere with the settings of the equal-, low-, and high-compare indicators set by a previous instruction. Detection of an unequaladdress compare terminates the operatiO'n and starts the next sequential instruction. Any-Disk Condition. This indicatO'r turns on if any of the other disk-storage indicators are on. It can be tested by the program, and, if it is off, the program can proceed. If this indicator is on, check the other indicators to determine where corrective measures should be taken. Access Busy. This indicator is turned off by every disk-storage command. If the access assembly is in motion, the indicator is turned on and the instruction is not executed. F-29 A branch-access-busy command tests the indicator. If on, the previous disk-storage instruction was not executed and should be repeated. Note: After each disk unit read or write operation, the program must test for error indications to prevent processing of unusable data. Address Registers After Indexing. With the seek-overlap feature, an indicator is provided for each drive attached to the system. Without the feature there is only one indicator. The following examples illustrate the access-busyoperation. I-Add. Reg. A-Add. Reg. NSI BI dbb NSI BI blank NSI BI NSI No Branch: Branch (without indexing) Branch (with indexing): B-Add. Reg. With Seek Overlap Remarks Operation Start Begins program execution. Seek Access 0 Turns indicator (0) off Test for access motion - no motion Indicator (0) remains off Instruction executed. Seek Access 2 Turns indicator (2) off Test for access motion - no motion Indicator (2) remains off Instruction executed. Branch Access Busy No branch Example. At the completion of a disk-read operation, test the any-disk-unit error condition indicator. If it is OFF, continue in the main program. If it is ON, branch to the routine labeled DISKER ( 0690 ) to determine the type of error condition. This tests all disk-unit indicators and branches to the error routine of the respective indicator that is on. In Figure F-37, the routines are labeled: ACINOP (0690), UN ADCL (0695), WRLENR (0700), RWPARC (705). Without Seek Overlap Remarks Operation Start Begins program execution. Seek Access 0 Turns indicator off Test for access motion - no motion Indicator remains off Instruction executed. Seek Access 2 Branch Access Busy Tum indicator off Test for access motion - motion Indicator is turned on Instruction is not executed. Autocoder Label pperatiar 1516 - I OPERAND lB.I,N, iA.I./oi ACINOP,N lRI N lSt,,,", UNADCL,X I : B I,lII P.WP,A,R,C" " i ~ t>1~K£RI I I Branch 20 II) 15K e.R. •.'{, "" 6 w~L.E..N.Rt W 690 695 Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. F-30 700 = .0666 705 Figure F -37. 4n 4~ 50 - Assembled Instruction: 480 Word Marks. Word marks are not affected. 30; 2S .! .! .! .! 690 Y 740 N 790 X 890 W B 990 V Branch H Indicator On Testing Routine IBM 1311 Disk Storage Drive Timing Variation in speed is covered here so it can be considered when data is being organized in disk storage. The organization of data in disk storage and the method of proC'essing data affect the seek time for a given operation and also affect the total systems' throughput. Some methods of seeking records and the sequence of disk storage and input/output instructions are considered here as an aid to program development. After a SEEK DISK instruction in either mode has been is SlUed, processing can continue until another diskstorage instruction is issued. The length of the seek depends on the total number of cylinders that must be passed during the seek operation. Figure F -38 provides actual seek time for cylinder-to-cylinder movement in increments of ten cylinders. Seeking Disk-Storage Records Two modes of operation for seek instructions are: Return-to-H orne and Direct Seek, a special feature. The return-to-home mode is the standard mode of operation. In this mode, all seeks are achieved by first moving the access arms to a home position outside cylinder 00 and then counting into the desired cylinder. This function is automatically performed by the system. The direct-seek special feature enables the programmer to write the program so that the system can seek from one track to another track without requiring the access arms to return to home position. Another factor to be considered in systems planning is that the access arms move at both a low speed and a high speed. Access-arm movement within ten cylinders is at low-speed rate of 2 inches per second. If more than ten cylinders are searched, the access arms move at the high-speed rate of 16 inches per second for all cylinders in excess of ten. These two speeds (2 inches and 16 inches per second) are not used by the programmer in timing disk-storage operations because the timing charts incorporate these variations in speed. TO FROM ~ 00 09 19 29 39 49 59 69 79 89 99 00 75 88 101 114 127 140 153 167 179 192 204 09 175 188 201 214 227 240 253 267 279 292 304 19 143 156 169 182 195 208 221 235 247 260 272 29 153 166 179 192 205 218 231 245 257 270 282 39 168 181 194 207 220 233 246 260 272 285 297 49 184 197 210 223 236 249 262 276 288 301 313 59 200 213 226 239 252 265 278 292 304 317 329 69 215 228 241 254 267 280 293 307 319 332 344 79 232 245 258 271 284 297 310 324 336 349 361 89 248 261 274 287 300 313 326 340 352 365 377 99 263 276 289 302 315 328 345 355 367 380 392 Figure F -38. Cylinder Seek Time without Direct Seek In the return-to-home mode, the total throughput time can be reduced by using a technique known as dummy seek to cylinder 00. The total time for this operation is 106 ms, for approximately 2% disk revolutions. The available processing time is 68 ms. Processing time is reduced as more sectors are read or written. The timing for a 4-sector operation illustrates this point: Read Process Write Process Write Check. 2 ms head select delay time 20 ms average rotational time 8 ms to read four sectors 30 ms processing 2 ms head select delay time 8 ms to write four sectors 30 ms processing 2 ms head select delay time 8 ms write check 110 ms Total A summary of the disk-storage times follows: Rotational Delay Average Rotational Delay Head Select Delay Read One Sector Write One Sector Write Check One Sector 40 ms 20 ms 2 ms 2 ms 2 ms 2 ms Seek time - without direct access Maximum Mean Seek Time 400ms 250ms Seek time - with direct access Maximum Mean Seek Time 250ms 150ms The total time in the preceding example is 110 ms (2% revolutions), only 4 milliseconds longer than the 2-sector operation. However, total processing time is 60 ms as opposed to 68 ms in the earlier example. If possible, processing should be kept within the available rotational time. If not, the cycle is increased by one 40-ms revolution for each extension of available processing time. F-31 2 ms for head-select delay 20 ms average rotational time to find the proper sector 4 ms to read 2 sectors Read 2 sectors (4ms) Process During Seek Time Processing (up to 34 ms) 34 ms for processing 2 ms head-select delay 4 ms to write 2 sectors Process (up to 34 ms) Process During Rotational Time Write Check (4 ms) Figure F -40. 34 ms for processing 2 ms for head-select delay ..Lms to write check 2 sectors 106 ms. Total Disk-Storage Timing for a Two-Sector Record Process During Rotational Time Processing time between a write operation and a instruction can be used for updating control totals and/or arranging fields of printing. When the print-storage special feature is installed, most disk operations may be completely overlapped by the printing operation. WRITE DISK CHECK Dummy-Seek to Cylinder 00 Process During Return to Home Figure F-39. F-32 Note: Reading, punching or printing may be done during the pertinent recordseeking and the seek 00 time. Block Diagram for Dummy Seek Technique Return-to-home seek has two access motions: retumto-home, and advance-from-home. Over-all job-time may be reduced if some other I/O or CPU operation is required before the next seek address is given. In this case, a seek to cylinder 00 will direct the access mechanism back to the home position until it is needed. When the next seek is initiated, the access mechanism is already at the home position, and need only travel directly to the correct cylinder (Figure F -39) . Timing Considerations for Reading and Writing When designing a program utilizing the disk pack, the programmer should consider ways to place read, write, and write-check operations to save job time. Because the disks revolve at 1500 rpm, 40 ms are required to complete a revolution, and 2 ms to read or write one sector. The rotational time that must elapse before a disk operation can be executed should be utilized for processing, if possible. Assume, for example, that a 2-sector record (200 characters) is to be read, updated, and then returned to the file. The timing chart and block diagram for this operation are shown in Figure F-40. IBM 1311 Error Routine mended that the busy loops after all disk input/output instructions include a routine that halts the system after a length of time has elapsed sufficient for the longest possible seek operation. Note 4 Although not noted in this block diagram, the contents of the address registers at the time of a· halt should uniquely identify the cause of the halt. Note 5 The sequence of tests shown is justified by the fact that: 1. In the event of cylinder overflow, checking parity first ensures that the portion read or written is correct. Figure F -41 shows the correct method of programming input/ output operations on the IBM 1311 Disk Storage Drive. The method presented is, baSically, the routine generated by the IBM 1440 Input/Output Control System. Explanation of the notes in Figure F -41 are: 2. In the event of cylinder overflow, both the unequaladdress compare and the wrong-length-record indicators are on. If only the wrong-Iength-record indicator is on, the error must be a true wronglength-record error. Note 1 Note 6 Where possible, utilize seek time by including a processing routine in the busy loop. If cyfinder overflow is encountered, the three low-order digits of the address in the disk-control field will be 200, 400, 600, 800, or 000. Note 2 IOCS does not test for ANY DISK ERROR after the seek and write operations. If an error occurs at either of these points, it is caught later. Tests for ANY DISK ERROR can be made after every BUSY test, however, and can often be justified by the ability to locate more easily the cause of the error. Note 3 When the direct-seek special feature is used, the diskcontrol field contains a number equal to twice the number of cylinders to be crossed. If a number is used that causes the access mechanism to attempt to go past the last, or 100th cylinder, the disk drive remains in a BUSY status until manually turned off and then back on. A machine malfunction or programming error may allow a reverse direct seek to go past the first cylinder and cause a system hang-up. In either case, the cause of the programming or machine error must be corrected. In testing programs using the direct seek, it is recom- Note 7 None of the IBM programming systems will produce a block that overflows from one disk pack to another. However, IOCS can accommodate such a block in an input file. If the condition occurs when processing labeled files, the program must add 20 to the address in the disk-control field and change the drive number in the alternate-code position before branching to the SEEK instruction. Note 8 When using the direct-seek special feature, the error routine should include a separate, return-to-home seek instruction instead of going back to the common SEEK DISK instruction of the main program. The reason for this is that when using the DIRECT SEEK, the program must be sure of the starting point of the seek· Because an error condition exists, assume that the program is not sure of the present position. F-33 Halts: System Error Restore Portion of Record Displaced Save Last 10 Positions of Portion Read or Written Restore Original Address and Sector Count in DiskControl Field Move Disk-Control Field to last 10 Positions of Portion Read or Written Modify B -Ad- dress of I/o Instructions Add One to elTor Counter Yes Halt Figure F -41. F-34 IBM 1311 Operation and Error Routin~ II Miscellaneous Input I Output Instructions IBM 1009 Data Transmission Unit The IBM 1009 ( Figure G-1 ) permits high-speed twoway communica tion b etween the IBM 1440 Data Processing System and any of th e following terminals: 1013 Card Transmission Terminal IBM 7701 Magne tic Tape Transmission Terminal IBM 7702 !vlagnetic Tape Transmiss~on Terminal IBM 7710 D a ta Communication Unit IB:M 7711 Data Communica tion Unit IBM 7740 Communi cation Control Sys tem IBM 7750 Programmed Transmission Control or another 1009 attached to anoth er 1440, 1401, 1460, 1410, 7080, or oth er sys tem . Block diagrams of the logic are provided as programming aids. Transmit Subroutine IBM With this unit, the 1440 sys tem can tran smit at speeds up to 600 charac ters per second over toll or leased communications-company lin es. Hefer to IBM 1009 Data Transmission Unit, Form A24-1039, and IBM 1009 Spec ial Features section of this publication. IBM 1440 Programming Logic When a terminal is made up of a 1009 and a 1440 sys tem, transmitting and receiving follow set patterns. Before the transmitting 1440 program moves th e first message from the cards or tape and assembles it in the read-out area, it first tes ts to see that the receiving 1009 is ready to accept data . This is don e by testing indi cators 3 and/ or 4 (Fi gure G-2). Indica tor 4 is tes ted in case th e last message of th e previous transmission was received in error. Then a !2 % D1 E instruction starts the transmission of th e message. One character is h'ansmitted a t a time to the receiving 1440, through th e two IBM 1009 Data Transmission Units connected to the 1440 sys tem. Before each charac ter is sent to the transmittin g 1009, the 1440 checks for a group mark with a word mark tha t signals the end-of-message. If there are more characters in the message, th e 1440 program increases th e B-address of th e move or load insh'uction th a t stores th e character in the 1009, and rep eats the transmittin g process. vVh en th e transmittin g 1440 encounters an end-of-message signal, it must wait for 250 ms ( milliseconds ) while the receiving 1440 sends back a good-transmission or transmissionerror signal. Th e transmittin g 1440 can use these 250 ms for any processing that does not call upon the 1009. This max imum delay of 250 ms, commonly referred to as tum-around time, is substantially reduced on shortdistance transmissions. On a four-wire (full duplex) service, th e turn-around delay is elimina ted . The next part of the subroutin e includes two tes ts for th e status of th e message. See Branch if Indicator On instruction for an explanation of this test loop. vVhen a good-message condition is recognized , the program branches to initialize and load a new message. Receive Subroutine Figure G-l. IBM 1009 Data Transmission Unit The receiving 1440 program first tests to see that the 1009 is in a RU N condition ( Figure G-3) . Then it prepares the read-in area , and se ts up conditions for ready-to-receive. This includes acknowl edging th e previous message, it any. D epending upon the type of communications-company data set used, anywhere from 200 to 300 ms elapse b efore the first character is received. This allows for turn-around-time when halfG-l Start Receive Program Te,t 1009 Run Indicator (B III I) No No Yes Test 1009 Run Status Test Goad Transmission Yes Yes Indicator (B 1113) Initialize Yes Set Ready to Receive 250±50ms ** 250±50m s-' Receive Character Initialize and Load Message from 1009 6 2/3ms * Increase B-Address of Receive Instruction Start Transmission (U%DI E) Unload Message No Test EOM Receive Indicator Yes Transmit a Character to 1009 (M %DI BBB W) Test Receive Error Indicator No No * See ** See Figure G 2 Figure G 2 Figure G-3. duplex facilities are used. If the communications-company transmission facilities are full-duplex (4-wire), there is virtually no turn-around-time. After it receives each character, the 1009 checks for an end-of-message (EOM) signal. The receiving 1440 tests the indicator and, if the indicator is off, increases the B-address by one, and returns to receive another character. If it recognizes an EOM signal (the indicator is on), the program branches to test the receive error indicator. If there is an error, the program branches to an error subroutine. If there is no error, the message is unloaded, and the program returns to the initializing step. No • Character time (ms/char.) as related to characters per second (C PS) and bits per second (baud) is: ~ BAUD 75 93.75 125 600 750 1000 1200 1500 2000 2400 3000 4000 4800 ISO 187.5 250 390 375 500600 Figure G-2. G-2 MS/CHAR 13.3 10.65 8.0 6.67 5.7 4.0 3.33 2.66 2.0 1.67 Transmit Subroutine Receive Subroutine ** fv\aximum turn-around time using halfduplex facilities. A full-duplex line requires no turn-around time. This tim can be used for any system functions nc requiring the 1009. IBM 1009 Instructions Several 1440 instructions are expanded to provide program control for operations that involve the ffiM 1009 Data Transmission Unit. Instructions applying to the 1009 cannot be successfully chained. Start Transmission B-Add. Reg. A-Add. Reg. %41 I-Add. Reg. NSI Dbb Example. Signal the transmitting station and indicate the condition of the message received (Figure G-5). Instruction Format. Mnemonic Op Code CU 1[ A-address %Dl d-character Word Marks. Word marks are not affected. = .0666 ms. A-Add. Reg. %41 OPERAND Label :~ Assembled Instruction: Figure G-5. y : %D1 D Set Ready to Receive Move Character to the Transmitting 1009 Instruction Format. Mnemonic Op Code MU M A-address %Dl B-address d-character BBB W Function. The transmitting 1440 sends the single character at the B-address to 1009. The d-character, \V, specifies a transmit operation. Address Registers After Operation. I-Add. Reg. NSI Autocoder E Function. This instruction initiates a start-of-message signal if the 1009 is in a send-run condition (transmit-receive switch is set to TRANSMIT). If the 1009 is in a receive-run condition (transmit-receive switch set to RECEIVE) the ins,truction oauses an alarm to sound, signaling that operation intervention is necessary. The A-address specifies the 1009 and the dcharacter specifies the start transmission operation. Timing. T Address Registers After Operation. B-Add. Reg. Ebb Example. Signal the 1009 to initiate a start-of-message signal (Figure G-4). Word }.tfarks. Word marks are not affected. Timing. T = .1110 ms. Note. If a group mark with a word mark is sensed in 1440 storage, an end-of-message transmit condition is recognized. Autocoder t Address Registers After Operation. Label Assembled Instruction: Figure G-4. !! I-Add. Reg. NSI %D1 E A-Add. Reg. B-Add. Reg. %41 B+1 Example. Move the character at location 3950 to the 1009 (Figure G-6). Start Transmission Set Ready to Receive Autocoder Lobel 40 Instruction Format. Mnemonic Op Code CU U A-address %Dl d-character D Assembled Instruction: M %D1 150 W Function. The receiving 1009 signals the transmitting station that it is ready to receive and indicates the status of the previous message (see Branch if Indicator On instruction). Figure G-6. Word Marks. Word marks are not affected. Move Character from the Receiving 1009 Timing. T = .0666 ms. Instruction Format. Note. The transmit-receive switch on the receiving 1009 should be set to RECEIVE. If it is set to sounded to signal the operator. Move Character to the Transmitting 1009 TRANSMIT, the alann is Mnemonic Op Code A-address B-address d-character MU M %D1 BBB R G-3 Function. This instructiOon transfers the single character in the receiving 1009 tOo the receiving 1440 correstarage location specified by the B-address. The d-character specifies a receive Ooperatian. A-Add. Reg. %41 I-Add. Reg. NSI B-Add. Reg. B+1 Example. Send the character and word mark at locatian 0685 tOo the 1009 (Figure G-8). Word Nlarks. Word marks are not affected. Timing. T Address Registers After Operation. Autocoder = .1110 ms. OPERAND label Note. Whcn the 1009 recognizes an end-of-message condition, the receiving 1440 gets an end-of-message receive signal and inserts a group mark in the core-storage location specified by the next M %D 1 BBB R instruction. :5 Assembled Instruction: Figure G-8. ~ ~o %D1 685 W Load Character to the Transmitting 1009 Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %41 B-Add. Reg. B+1 Load Character from the Receiving 1009 Example. Read a character from the 1009 and place it in core-storage position 0986 (Figure G-7). Autocoder lobel ~perati~ 151 5 u 1'IH ,'~986 ,R 0 :5 40 M %01 ~ 986 R Move Character from the Receiving 1009 Instruction Format. LV Op Code LV L A-address %D1 B-address BBB d-character R OJ) Code L Function. This instruction transfers the single character in the 1009 tOo the receiving 1440 storage location specified by the B-address. The d-character, R, signals a receive operation. Word Marks. If a worrd mark is associated with the character, it is transmitted and inserted in carre storrage with the character. Two transmission cycles are required to transfer the character and the word mark. The re-cycle for the word-marked character is automatic. The 1440 converts the word-separator character tOo a work mark. Load Character to the Transmitting 1009 Mnemonic Mnemonic OPERAND I Assembled Instruction: Figure G-7. Instruction Format. Timing. T A-address %D1 B-address BBB d-character W Function. The transmitting 1440 sends the character at the B-address to the 1009. The d-character, W, specifies a transmit operation. \l'ord Alal'ks. If a word mark is associated with the character, the 1440 converts the ward mark to a word -separator character (A841). In twa separate transmission cycles, the 1440 sends the word separator' then the character to the 1009. The re-cycle far the character associated with the word separator is automatic. = .1110 ms. Note. When the 1009 recognizes an end-of-message condition, the receiving 1440 interprets an end-of-message receive signal and inserts a group mark in the core-storage location specified by the next 1:. %D 1 BBB R instruction. Address Registel's After Operation. I-Add. Reg. NSI A-Add. Reg. %41 B-Add. Reg. B+1 Example. Read a character with word mark from the 1009 and place it in core-storage position 2398 (Figure G-9). Autocoder label 40 Timing. T = .1110 ms. Assembled Instruction: .!:. %D1 L98 R Note. A group mark in core storage signals an end-of-message transmit condition. G-4 Figure G-9. Load Character from the Receiving 1009 End af Message Receive. Turns on when the endof-message signal is recognized by the receiving 1009. Branch if Indicator On Instruction Format. Mnemonic BIN Op Code B I-address III d-character d Function. This instruction tests the indicator specified by the d-character. If the indicat0'r is on, the pr0'gram branches to the I -address fOT the next instruction. If it is off, the program continues with the next instnlCtion in sequence. d-character Indicatm' 1 1009 2 END-OF-MESSAGE TRANSMIT 3 4 GOOD TRANSMISSION TRANSMISSION ERROR 5 END-OF-MESSAGE RECEIVE 6 RECEIVE ERROR RUN Indicators 1009 Run. Turns 0'n when the 1009 is in RUN c0'ndition. If the 1009 is n0't in a RUN conditi0'n, the program should st0'P, or I0'op until the RUN condition is established. Receive Error. Turns on if an error was detected during the transmission from the transmitting 1009 to the receiving 1440. The receiving 1440 tests the indicator and branches to an error routine if it is on. Word Marks. W0'rd marks are not affected. Timing. NO' branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 Address Registers After Operation. I-Add. Reg. A-Add. Reg. NSI BI dbb NSI BI blank NSI BI NSI No Branch: Branch (without indexing) Branch (with indexing): B-Add. Reg. Example. Branch to location 3498 if the end-of-message receive indica tOT is nn (Figure G-10). Autocoder OPERAND label :~ . 40 End-ot-Message Transmit. Turns 0'n in the transmitting 1440 when the 1401 or 1460 senses a group mark with a word mark at the B-address during the execution of an 1 %D1 xxx W, 0'r M %D1 xxx \V instruction. The indic~t0'r is turned 0'ff by the next !l%D1 E instructi0'n. The 1009 is busy during the next 250 milliseconds. Good Transmission. Turns 0'n if the signal sent to the transmitting station by the U %D1 D instructi0'n specified that a good transmission occurred. The transmitting 1440 should test this indicat0'r and branch to the routine for the next message if it is on. If the indicator is n0't on, the program should advance to test the transmission-error indicator. Transmission Error. Turns on if the signal sent to the transmitting station by the 12 %D1 D instructi0'n specified that a transmissi0'n error OCcurred. The transmitting 1440 should test this indicator and branch to an error subroutine if an error occurred. If there was no indication of error, the program should loop to retest the good transmission indicator. The logic behind this technique is that it is possible that a goodtransmission condition exists, but that the signal has not been received by the transmitting 1440 before the first good-transmission test is given. This loop is repeated until one of the indicators is turned on. Assembled Instruction: Figure G-lO. ~ : 098 5 Branch If End-of-Message Receive Indicator On Suppress 3-Second Alarm Instruction Format. Mnemonic Op Code K SS d-cha1'acter A Functian. This instruction prevents the 3-second alarm from sounding during a delay (such as tape rewind). Normal alarm functions will be restored when any subsequent instnlCtion addresses the 1009. This instruction can be given when a delay in processing can be foreseen. Word Marks. Word marks are not affected. Timing. T = .0333 ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI Abb Abb G-5 Example. Suppress the 3-second alann during process delay (Figure G-11). tion can he given when the delay in processing can be foreseen. The address of the ne~t instruction is taken from the I -address. Autocoder OPERAND Label :~ . .: : Assembled Instruction: .IS. A Figure G-ll. Word Marks. Word marks are not affected. Timing. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Suppress 3-Second Alarm Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. Branch (without indexing) Branch (with indexing) Suppress 3-Second Alarm and Branch Op Code K I-address III d-character A Function. This instruction prevents the 3-second alann from sounding during a delay such as, tape rewind. Normal alarm function is restored when any SiUhsequent instruction addresses the 1009. This instruc- G-6 BI blank NSI BI NSI Example. Suppress the 3-second alarm during processing, delay, and branch to COMAN (0926); see Figure G-12. Instruction Format. Mnemonic SSB NSI Autocoder Lobel .: ~perati~ sse jiOMA~,'A . ~ 151 I 5 OPERAND 0 40 Assembled Instruction: K 926 A Figure G-12. Suppress 3-Second Alarm and Branch :~ ~ IBM 1412 Magnetic Character Reader, Modell Instructions applying to the 1412 cannot be successfully chained. The IBM 1412 Magnetic Character Reader (Figure G-13 ) can be used as a second unit to sort documents (off-line ), or it can b e attached to an IHM 1440 Data Processing System with sorting controlled either by the 1412 or by the stored program (on-line ). This flexibility permits the most efficient use of both the data processing system and the 1412. Refer to IBM 1412 Magnetic Character Reader, Form A24-1421 and A243004. Engage MICR (Mag netic In k Character Recognition) Reader Data Flow The IB « 1412 reads documents into the processing unit for processing when the read er is instructed by the stored program to feed a document. Control over the selection of data for transmission to the processing unit remains with the 1412 read-field keys. Sorting functions are identical in the reader on-line mode and reader off-line mode because sorting, in both instances, remains under th e control of the 1412. Th e stored program must insh"lct the 1412 to read each document. After the data is read into the processor, th e stored program can determine the pocket to which each document is directed by examining the sort-column digit. In the case of error documents, the read-check indicator and the appropliate fielderror indicators can b e interrogated ~() determin e the type of error. Instrtl.ction Format. Mn emonic 0/1 Code A-oddTess CU U %Sl d -character E Function. This instruction selects the 1412 and starts document feedin g. This insh"lction must precede LOAD FROM MAGand MOVE FROM MAG ETIC CHARACTER READER insh·uctions. Once selected, the 1412 begins feedin g documents . Document feeding continu es until th e 1412 is instructed to stop feeding documents , or until a system stop occurs. NETIC CHARACTER READER Word Mark s. \I\ford marks are not affected. Timing. T = .0666 ms + I/ O. Refer to tming chart (Figure G-30). Address Registers After Operation. I-Add . Reg. A-Add. Reg. B-Add. Reg. NSI %21 Ebb Example. Engage the 1412 and start feeding documents ( Figure G-14) . Autocoder Labe l O PE RAN D :'. .5 )0 IBM 1412 Instructions One IBM 1412 can b e connected with the ffiM 1440 Data Processing System to read magnetic-ink characters. Insh'uction s that control 1412 operations are presented in this section. Assembled Instruction: Figure G-14. ~ U %51 E Engage Magneti(; Character Reader Disengage MICR Reader Instruction Format. Op Code U M'1emoni c CU A-address d-character %S! D Function . This instruction disengages the 1412 and signals it to stop feeding documents. W ord Marks. \i\Tord marks are not affected. Timing. T = .0111 (LI + 1 ) ms + I/ O . Reft-r to the timin~ chart ( Fi~ure G-30). Address Registers After Operation. I-Add . Reg. Figure G-13. IBM 1412 Magnetic Character Reader SI A-Add. Reg. B-Add. Reg. %21 Dbb G-7 Example. Disengage the 1412 and stop feeding (Figure G-15). A read instnlCtion is required for each document. If the leading edge of the document reaches photocell 3 without a read instruction for that document, the late-read indicator turns on. The indicator turns off when the leading edge of the next document reaches photocell 2 (read-ready time for the next document). When the stored program is controlling document distribution, the document must be directed to a pocket with a SELECT STACKER instruction (~d). '''hen the 1412 controls distribution, the late-read document automatically enters the reject pocket. Autocoder OPERAND label :~ Assembled Instruction: Figure G-15. , ~ U %51 D Disengage Magnetic Character Reader Word Marks. The word marks are read into storage as a result of sensing A. B. A. special symbols. Therefore each position in storage containing A. B. A. symbols also contains a word mark. Load from MICR Reader lnstnlction Format. l\fnemonic Op Code A-address B-address d-clwracter LU 1.. %Sl BBB R Function. This operation causes a serial transfer of characters from the 1412 to the processing unit. The 1412 must have previously been signaled to begin feeding documents before this instruction can be executed. The data processing system cannot perform any other operation during the execution of this instruction. The first character (including A. B. A. special symboIs) transferred from the reader to the processing unit is placed in the storage location specified by the B-address. Subsequent characters transmitted from the same document enter successively lower storage locations. Timing. T = .0999 ms movement~ + 1. + message + document \)Refer to Figure G-30. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %21 B-Add. Reg. Groupmark+ 1 (see text) Example. Transfer characters serially from the 1412 to area labeled INPUTA (0705); Figure G-1B. Autocoder I' label Assembled Instruction: Figure G-16. l %51 705 R Load from Magnetic Character Reader When the load instruction is used, a word mark is automatically placed in each storage position containing an A. B. A. special symbol. Move from MICR Reader Note: The read operation is completed when the processing unit receives an end-of-data signal. Instruction Format. The earliest-occurring of the following conditions generates an end-of-data signal: length Mnemonic Op Code A-address B-address MU M %Sl BBB d-character R 1. The high-order field-definition symbol for the last field selected for reading passes the read head (photocell 3). Function. This operation is the same as the LOAD FROM MAGNETIC CHARACTER READER operation, with two exceptions: 2. The leading edge of the document reaches photocell 3A during processing unit on-line operations. vVhen this condition generates an end-of-data signal, 7.5 ms are available for stacker selection. 1. No word marks are placed in storage in those positions containing special symbols. 3. The trailing edge of the document reaches photocell 3. 4. The processing unit encounters a group mark with a word mark in read-in storage. G-8 2. This operation does not clear word marks from storage. Note: If a word mark exists in storage where a group mark mark is placed by an end-of-data signal, the storage position thereafter contains a group mark with a word mark. Word Marks. Word marks are not affected. Timing. T = .0999 ms movement O + 1. ~Refer + message length + document to Figure G-30 Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %21 B-Add. Reg. Groupmark + 1 (see text) Example. Transfer characters serially from the 1412 to area labeled INPUTA (0705); Figure G-17. Autocoder ~ OPERAND Label :~ ~ Photocell 3A is located in the transport mechanism in such a position that the end-of-data signal occurs after all possible inscribing positions on the document have passed under the read head. If a SELEcr STACKER instruction is nDt given in time, the 1412 stops feeding documents (sort-compare) and directs all dDcuments that have left the separator station to the reject pocket. Word Marks. Word marks are not affected. Assembled Instruction: M %51 705 R Figure G-17. If the trailing A. B. A. field-definition symbol is missing from the last read field selected, an end-ofdata signal is provided by either photocell 3 or 3A to guarantee at least 7.5 ms for a SELECT STACKER decision. Move from Magnetic Character Reader = .0333 ms. Timing. T Address Registers After Operation. Select Stacker-MICR Reader I-Add. Reg. NSI Instruction Format. Mnemonic SS Op Code K d-charactel' d (See Figure G-18) B-Add. Reg. dbb A-Add. Reg. dbb Example. Selects the document that was just read into pocket number 1 (Figure G-19). Autocoder Function. This instructiDn directs the document that was just read by the reader to the reader pocket specified by the d-character. Label :: Assembled Instruction: K D The reader must be operating in the processing unit on-line mode to execute this instruction. If this instruction is given when the reader is operating in the reader Dn-line mode, the 1412 feeding stops and the processing unit light turns on. The d -character (A -M) representing one of the 13 reader pockets is sent to the 1412 and activates the chute blade that directs the document to the selected pocket. The SELECT STACKER instruction must be given before the document reaches photocell 4. Processing time available to determine pocket selection depends on the position of the leading edge of the document when all required reading has been completed. For example, a minimum of 13 ms is available fDr pocket selection if the tranSit-routing field is the last read field selected. d - character Reader Pocket A A B C through L B o through 9 M Figure G-18.. Reject Seleet Stacker d-Characters Figure C-19. Select Document into Stacker 1 Select Stacker and Branch - MICR Reader I nstJ'uction F oJ'mat. Mnemonic SSB Op Code K I-address III d-character d Function. The SELECT STACKER AND BRANCH instruction functions exactly like the SELECT STACKER instructiDn, except that the address Df the next instructiDn to' be execu ted is specified by the I -address. \VoJ'd ~Jarks. Word marks are nQlt affected. Timing. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. AddJ'ess Registers After Operation. I-Add. Reg. Branch (without indexing) : Branch (with indexing) : A-Add. Reg. B-Add. Reg. NSI BI blank NSI BI NSI G-9 Branch if MICR Reader Late-Read Indicator On Instruction Format. Mnemonic BIN Op Code B I-address III d-character Timing. No branch, or branch without indexing: T ms. Branch (with indexing): T = .0777 ms. 1 Function. This operation tests the 1412 to determine whether or not it has detected a late-read condition (document reaching photocell 3 without a READ instruction for that document). This indioator turns off when the next document creates a read-ready condition. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing. T ms. Branch (with indexing): T = .0777 ms. = .0666 Address Registers After Indexing. No Branch: Branch (without indexing) Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 2bb NSI BI blank NSI BI NSI Example. Test the read-not-ready indicator. If the indicator is ON, branch to RNRTST (0735); Figure G-21. Autocoder r OPERAND :'. Label Address Registers After Operation. No Branch: Branch (without indexing) Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. Ibb NSI BI blank NSI BI NSI Autocoder . ~ Assembled Instruction: B 735 2 Figure G-21. Example. Test the late-read indicator. If the indicator is ON, branch to LRDTST (0623); see Figure G-20. r = .0666 Branch If Magnetic Character Read-Not-Ready Indicator On Branch if MICR Reader Read-Check Indicator On lnstruction Format. label Mnemonic BIN Assembled Instruction: B 623 1 Figure G-20. Branch If Magnetic Character Reader Late-Read Indicator On Branch if MICR Reader Read-Not-Ready Indicator On Op Code l!. I-address III d-character 2 Function. This instruction tests the read-not-ready indicator and branches to the instruction specified by the I -address when the indicator is ON. The leading edge of a document passing photocell 2 turns off the indicator when the trailing edge of the previous document has passed under photocell 3. This occurs for the 15 ms prior to the reading of the document. This indicator turns on when the leading edge of the document passes photocell 3. A read instruction should be given only when the read-not-ready indicator is off. 'Vord Marks. Word marks are not affected. G-IO J! I-address III d-character 3 Function. This operation tests the read-check indicator and branches to the instruction specified by the I -address when the indicator is on. The indicator turns on during a read operation if any of the selected fields have: 1. an unreadable digit or symbol Instruction Format. Mnemonic BIN Op Code 2. a wrong sequence of symbols 3. missing digits or symbols 4. a missing field 5. an account number self-check-digit verification error. This indicator turns off when the leading edge of the next document passes photocell 3. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T = .0666 ms. Branch (with indexing): T = .0777 ms. Address Registers After Indexing. No Branch: Branch (without indexing) Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 3bb NSI BI blank NSI BI NSI Example. Test the amount-field indioatDr. If the indicator is ON, branch to AFDTST (0688); see Figure G-23. Autocoder OPERAND :'. Example. Test the read-check indicator. If the indicator is on, branch to RCKTST (0432); Figure G-22. Assembled Instruction: B 688 4 Figure G-23. OPERAND Branch If Magnetic Character Reader ReadCheck Indicator On Branch if MICR Reader Amount-Field Indicator On Instruction Format. Mnemonic BIN Or Code B Branch If Magnetic Character Reader AmountField Indicator On Branch if MICR Reader Process-Control Field Indicator On Assembled Instruction: B 432 3 Figure G-22. ~ I-address III d-character 4 Function. This Dperation tests the amount-field indicator and branches to' the instruction specified by the I-address when the indicatDr is ON. The indicat01.' turns on during a 1412 read Dperation if: l. Any of the characters in the amount field (including the amDunt special symbDls) are unreadable. 2. Special symbols are missing or Dut of sequence. 3. The field is missing. 4. The field length is invalid. Instruction Format. Mnemonic 017 Code BIN B I-address III d-character 5 Function. This Dperation tests the prDcess-control field indicatDr and branches to' the instructiDn specified by the I-address when the indicator is on. The indicator turns ON during a 1412 read operation if: 1. Any of the characters in the process-control field (including the special symbDls) are unreadable. 2. The field is missing. 3. Special symbols are out Df sequence or are missing. 4. The field length is invalid. 5. The late-read indicatDr is on. The process-control field indicator turns off when the leading edge of the next document passes photocell 3. 'Vord Marl(s. Word marks are not affected. 5. The late-read indicatDr is on. The amount-field indicatDr turns off when the leading edge of the next dDcument passes photocell 3. Word Marks. Word marks are not affected. Timing. NO' branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 Address Registers After Indexing. No Branch: Branch (without indexing) Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 4bb NSI BI blank NSI BI NSI Timing. No branch, or branch without indexing: T = .0666 ms. Branch with indexing: T = .0777 ms. Address Registers After Indexing. No Branch: Branch (without indexing) Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 5bb NSI BI blank NSI BI NSI Example. Test the process-control field indicator. If the indicatDr is ON, branch to PCFTST (0892); see Figure G-24. G-ll Autocoder L Label r .: Autocoder .p'p-t'd 'lilN :!Pc F/:."tJ 5. ~ OPERAND OPERAND :'. :'. .~ Assembled Instruction: B 392 6 Assembled Instruction: B 892 5 Figure G-24. Branch If Magnetic Character Process-Control Field Indicator On Figure G-25. Branch If Magnetic Character Account-Number Field Indicator On Branch if MICR Reader Account-Number Field Indicator On Branch if MICR Reader Transit-Routing Field Indicator On Instruction Format. Instl'uction Format. Mnemonic BIN Op Code B I-address III ~ d-character 6 Mnemonic BIN Op Code Jl I-address III d-character 7 Function. This operation tests the account-number field indicator and branches to the instruction specified by the I -address when the indicator is on. The indicator turns on during a 1412 read operation if: Function. This operation tests the transit-routing field indicator and branches to the instruction specified by the I -address when the indicator is on. The indicator turns on during a 1412 operation if: 1. Any of the characters in the account-field (including the special symbols) are unreadable. I. Any of the characters in the transit-routing field (including the special symbols) are unreadable. 2. The field is missing. 3. Special symbols are missing or out of proper sequence. 4. The field length is invalid. 5. The late-read indicator is on. If the 1412 is equipped with the self-checking number special feature, self-checking digit errors also tum on the account-number field indicator. The accountnumber field indicator turns off when the leading edge of the next document passes the photocell 3. 2. The field is missing. 3. Special symbols (except the dash) are missing or out of sequence. 4. The field length is invalid. 5. The late-read indicator is on. The transit-routing field indicator turns off when the leading edge of the next document passes photocell 3. ~lo1'd Marks. Word marks are not affected. ''''ord Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 6bb NSI BI blank NSI BI NSI Example. Test the account-number field indicator. If the indicator is on, branch to ANFTST (0392); see Figure G-25. G-12 = .0666 Address Registers After Indexing. Address Registers After Indexing. No Branch: Branch (without indexing) Branch (with indexing): Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. No Branch: Branch (without indexing) Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 7bb NSI BI blank NSI BI NSI Example. Test the transit-routing field indicator. If the indicator is ON, branch to TRFTST (0543); see Figure G-26. Programming Considerations on the laM '4' 2 Autocoder OPERAND :'. ~ Assembled Instruction: B 543 7 Figure G-26. Document Spacing Error Branch If Magnetic Character Reader TransitRouting Field Indicator On Branch if MICR Reader Document-Spacing Check Indicator On Op Code ~ I-address III d-character 8 Function. This instruction tests the document-spacing check indicator and branches to the instruction specified by the I -address when the indicator is on. The testing must be made only after the trailing edge of the document passes photocell 3. This is nearly equivalent to read-ready time. The document-spacing check indicator turns on when there is less than a minimum space between documents, or when a document is longer than a specified maximum. This indicator turns off when the leading edge of the next document passes photocell 3. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 Branch (without indexing) Branch (with indexing): 1. The space between documents at the read station is less than 3 inches. 3. The document is more than 9 inches long. 1£ the indicator is on at read-ready time, the document just read is directed to the reject pocket, regardless of instructions. SELECT STACKER Engage Line After the engage line is turned on by an instruction, it is turned off only: 1. by a DISENGAGE 2. by pressing ENGAGE 1412 1412 instruction. START/RESET on the console panel. 3. if the check-reset light, located on the console panel, is on. These machine errors require a restart procedure. This restart procedure must always include an ENGAGE 1412 instruction. Serial Number (Auxiliary On-Us) Field Consider these facts when processing data from the serial number field: Address Registers After Indexing. No Branch: The document-spacing indicator turns on if: 2. The distance between leading edges of adjacent documents at photocells 3 and 4 is less than 9 inches. I nstruction Format. Mnemonic BIN The conditions described in this section are items that will assist th~ programmer in developing the programs. I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 8bb NSI BI blank NSI BI NSI Example. Test the check indicator, and branch to location labeled DSCTST (0650); see Figure G-27. 1. When operating in the processing unit on-line mode, inscribing in the serial number field must not extend beyond 7% inches from the leading edge if the serial number is to be read. 2. The reader on-line mode allows reading beyond the first 7% inches of a document. 3. There is no field-length count on the serial number field. Autocoder OPERAND ~: . ~ Assembled Instruction: B 650 8 Figure G-27. Branch If Magnetic Character Reader Document Spacing Check Indicator On Word Marks A word mark accompanies each special symbol read into the processing unit when the LOAD instruction is used. All special symbols (except the dash symbol) associated with active read fields read into the system. G-13 1-987 YOUR NATIONAL B~_K ~ NO...--L-/_ _ _- '~~ ': 1l.~~.«/ ~ ............. -II New York, N. Y.~19M =d¥~~ $ CHIECK "OUTING .YM.OL 2iO AaA T"AN.IT NUM_IE" ~,",' ,<;> ,,,0 $ ~~ N DOlLARS A B. DBPOSITOR MARY F. DBPOSITOR ~V::,c?~.a:v ACCOUNT NUMalE" -----" ~-------~ ~O.TQUALI".IIED ~"ItQUALI"'II£D 5 5 5 IIIIIIIJj Figure G-28. Inscribed 6-Inch Check Read into Storage Correctly Group Marks A group mark only enters storage in the processing unit at the end of each READ FROM 1412 operation. Clearing Storage after Read Errors Clear the read-in area before each read-from-1412 operation. This ensures that only data from the document currently being read is in storage at the end of any read operation. minated by recognition of the proper trailing special symbol or any other field definition special symbol. (Dashes are not interpreted as field definition special symbols.) The following examples are used to illustrate the preceding statements. Note that a field is not valid unless it has the proper leading symbol and the proper trailing symbol. For the examples, a document containing all fields except the serial number field has been chosen. All inscribed fields on the document have been selected. Data Stored without Read Errors Data in Storage A field cannot be read if the proper leading special symbol of that field is not recognized. The field is ter- Figure G-28 illustrates data correctly inscribed on the original document, and illustrates its appearance in storage. 5 5 7 7 3 4 V Figure G-29. G-14 Data Read into Storage, First Amount Symbol Nat Identified 5 8 3 V 5 9 4 V 5 9 9 V Data Stored with Read Error Conditions 1. If the low-order amount field symbol (1 S S 1) is not identified, nothing enters storage until a special symbol is identified. The dollar amount field never enters storage. The amOount and process control fields are in error. All fields except the amount field enter stOorage (Figure G-29). Note that the dash does not enter storage. 2. If the second amount symbol (2 S S 1) is not identified, the dollar amount field and process control field are in error. They appear in storage with the second amount symbol represented as an asterisk. All other fields are in storage. 3. If the first on-us symbol (1 S S 2) is not identified, the process control and account number fields are in error. They appear in storage with the first on-us symbol represented as an asterisk. All other fields are in storage. 4. If the first transit symbol (1 S S 3) is not identified, the account number and transit fields are in error. They appear in storage with the first transit symbol represented as an asterisk. All other fields are in storage. 5. If the second transit symbol (2 S S 3) is not identified, the transit field is in error. The second transit symbol appears as an asterisk. All other fields are in storage. When operating in the processing unit on-line mode, the end of data occurs, for documents less than 7% inches long, when the trailing edge of the document passes photocell 3, and, for documents 7~,~ inches or longer, when the leading edge of the document passes photocell 3A. When operating in the reader on-line mode, the end of data occurs when the trailing edge of the document passes photocell 3. 6. If a dash in the transit field is not identified, the transit field is in error. An asterisk appears as aL extra character position in storage. 7. A missing dash (S S 4), a missing blank space, extra dashes, or extra blank spaces cause no readin errors. Blank spaces and missing dashes are not transmitted to storage. 8. A missing character in any field causes that field to be in error. It forces all data that is to the left of the missing character on the check to shift one position up in storage. 9. An unreadable character (including the dash symbol) causes that field to be in error and an asterisk tOo be inserted in that pOosition. 10. A missing field symbol is the same as an unreadable symbol except that an asterisk is not placed in storage. 11. If the transit routing field is not selected and the first transit symbol (1 S S 3) is not identified, the 1412 continues to load the transit field and stops after sensing the secOond transit symbol. The first transit symbol enters storage as an asterisk. The account-number field is in error. The accountnumber field and the transit field enter storage. For this example, assume that the account-number field has been selected. 12. If the amount and transit fields are selected and the second amount symbol is not sensed, the 1412 continues to read data into storage until it senses a field-definition special symbol or an end-oF-data condition. 13. If the amount and transit fields are selected and the first transit symbol is not senseG: only the amOount field and the second transit syrnbol enter storage. The 1412 considers the second transit symbol to be the first transit symbol (1 S S 3) and continues to read data until it senses an end-ofdata condition. If the serial number is on the check, sensing an on-us symbol causes an endof-data signal. 14. A second on-us' symbol (S S S 2) before the first transit symbol (1 S S 3) is acceptable. The S S S 2 acts as a closing symbol for the account number field and takes an extra position in storage. If the S S S 2 is unreadable, the account number field is in error and an asterisk enters storage, even though the first transit symbol is readable. 15. If the S S S 2 is missing but the first S S 3 is present and readable, the account number field enters storage as a valid field. 16. Any special symbol conflict causes all field error la tches to tum on. Stop Conditions The stored program must be written to handle stops initiated in the data processing system. Whenever possible, initiate system stops by pressing the 1412 stop-restore key. When this is done, source documents stop feeding in the 1412. All data read is properly entered into the system and correctly processed. The system can then be stopped with a mini- G-15 mum of problems, and the program will have stopped in a read-not-ready condition. All additional processing will have been accomplished. uct is the average number of milliseconds required f0'r each document. Whenever any other stop key in the system is pressed, the stored program executes the instruction being handled. Then, the processing unit stops operating. Example: If the average document length is 8 inches, then 8 in/doc. X 2 X 5 ms/in. = 80 ms per dDcument. Because 2 and 5 are constants, they can be combined to arrive at the formula: A X 10 = ms/document, where A is the average length of the document. All documents in the 1412 whose leading edges are past photocell 1 when the processing unit stops continue to' feed through the reader. Those whose leading edges are past phDtocell 4 have been read into the system, and have been correctly distributed. Those whose leading edges have nDt reached photocell 4, but whose active read-fields have passed the read head when the system stops, have entered data into the system cDrrectly, but have not been properly distributed. Those that have started under the read head but whDse active data fields have not completely passed under the read head, have entered part of their data into the system, and have not been assigned distribution. Those whDse leading edges have not yet reached phDtocell 3 have been neither read nor assigned distributiDn. A system-error stop acts upon the 1412 in the same manner. The stored program, therefore, must be written to print Dut (or otherwise indicate to the operator) the last data entered into storage. With this information the operator can determine the last document read and verify the accuracy of document distributi0'n. This print-out indication is also needed in case of 1412 jams and 1412 emergency stops. IBM J4 J2 Timings Determining the 1412 Feeding Rate To devel0'p a formula for the 1412 feeding rate: 1. Documents move through the 1412 at a rate ms per inch. Df 5 2. The average space between documents apprDximates the average length of the documents. 3. One millisecDnd is equal to 1/1000 of one second. To find the average 1412 document cycle time: However, a figure in documents-per-minute will be more practical. To determine the number of milliseconds per minute, multiply 1000 (ms per sec.) X 60 (seconds per minute). 1,000 X 60 = 60,000 milliseconds in a minute. To determine the number of dDcuments per minute, divide the number of millisecDnds per minute by the dDcument cycle time (in milliseconds). Therefore, the formula is: 60,000 6,000 -7- -7- (A X 10), or A Example: Using the example 0'f 8 inches for an average document: 6000 -7- 8 = 750 documents per minute. Feed Call Figure G-30 illustrates, schematically, the path Df a document through the 1412. The positions of five photoelectric cells, which detect the presence or absence of a document, are shDwn. Pressing the 1412 start key feeds documents to photocell 1. To m0've documents past photocell 1 when operating on-line, the stored program must initiate a 1412 feed call by supplying an ENGAGE 1412 instruction. During normal operations, the feed call is available when documents reach phDtocell 1. This allows a continuous flow of documents from the separator station. However, if a feed call is not available when the leading edge 0'f a dDcument is sensed at ph0'tocell 1, the document stops. If a feed call is interrupted at any time after its leading edge is sensed at phDtoceB 1, that document feeds on to a pocket. Conditions that I ntel'rupt the Feed Call. Conditions that interrupt a feed call and stop document feeding with a document under photocell 1 are: 1. Determine the average length of the documents. 1. A 2. Multiply this figure by two. (This accounts for the space between documents.) 2. A pDcket in (he 1412 is full. 3. Multiply this result by 5 (ms per inch). This prDd- . 3. The unIDad-pocket/restart key has been pressed. G-16 DISENGAGE 1412 instructiDn has been issued. Documents stop feeding here unless reader is engaged Engage-feed line is broken by: disengage instruction, full pocket, pressing unload-pocket/restart switch before a full pocket condition, no· read-field key activated during processing unit on-line operations, electronic accumulator print cycle, single-feeding mode, single-cycle operation (customer engineering aid). Leading edge turns late-read indicator off Document-spacing test. Leading edge resets document reject latch. Leading edge turns read-not-ready line off Document spacin"g test. Both test indicators on indicates less than 3" between documents. Leading edge turns late-read indicator on Leading edge resets recognition circuits Leading edge resets sort register Leading edge resets error indicators Leading edge turns read-not-ready indicator on. If the 1412 is disengaged and this indicator remains on 150 there are no more documents. Trailing edge of documents indicates end of data signal to processing unit causing group mark in storas if last field definition special symbol is missing (on-line modes) Trailing edge of documents less than 7X inches in length initiates end-of.data signal, causing group mark processing unit storage if last field definition special symbol is missing (processing unit on-line mode only) All data fields have passed read head. This photocell is activ~ in (processing unit on-line mOl only) Leading edge of documents exceeding 7X inches in length initiates end of data signal, caush group mark in processinng unit storage, if last field definition special symbol is missing (proce! ing unit on-line mode only) Program must provide stacker-select instruction by the time the leading edge of the doc ment reaches this position. Leading edge resets routing register. Trailing edge of document initiates the sort-compare test. Document -Iength-f--o test here. Leading edge sensed here before} Indicates a long document or two trailing edge is sensed here documents over· lapped. ~---------+--r---------- ....................-150 ms 50 ms minimum till read.ready time from engage instruction ~ 50 ms minimum 15 ms 37.5 ms 7.5 ms POCKETS Photocell 1 Photocell 2 - Photocell 3 Photocell 3A . l! Photocell 4 .. DIRECTION Of DOCUMENT MOVEMENT Figure G-30. IBM 1412 Timing Chart G-17 4. No read-field key was pressed for a processing unit-on-line operation. 5. The electronic accumulator - sequence-checking feature is executing a print cycle. 6. The machine is single-cycling in the customerengineeTing single-feed mode. All these conditions except the disengage instruction cause the stored program to enter a programmed read-not-ready loop (no document sensed by photocell 2). end-of-data signal. The SELECT STACKER instruction must be available to the 1412 when the document reaches photocell 4. The time available for selection can be determined by measuring the distance between the leading edge of the document and photocell 4 when the stored program receives an end-of-da.ta signal. A formula for select-stacker time is: (9 - R) X 5. 9 = inches between read head and photocell 4. R = distance between the leading edge of the document and the read head when the end-of-data signal is generated. ,5 = number of milliseco;nds per inch of document travel. When no read-error occurs, these timings apply: Time Between Documents The minimum time between documents is 15 ms. 1. Amount field only is selected. The available time is 35 ms for stacker selection and'l-35 ms for processing. Documents in Flight 2. Process control field is last field selected. Timing depends upon the maximum number of digits to A disengage 1412 instruction interrupts the feed call. Any documents whose leading edges have passed photocelll must be processed by the processing unit program. Photocell 3 is located near the read head. The distance between photocell 1 and photocell 3 is 101%6 inches. NormaHy, the spacing between documents is approximately equal to the length of the trailing document. The minimum spacing is 3 inches. 'When the minimum length check (6 inches) and the m,inimum spacing requirements are considered, a program would, under valid conditions, need to handle the processing of two documents after a disengage instruction. However, if less than the minimum spacing is present, or a document is short, it is possihle to have as many as three documents whose leading edges have passed photocell 1, but have not yet reached the read head. Because everyone of these documents must be read and distributed (if only to determine invalid spacing), write .the program to halt if more than three documents are read after a disengage instruction. When a read-not-ready condition exists for 115 ms after a DISENGAGE 1412 instruction has been executed, the stored program can proceed as if there are no more documents to be processed. Select Stacker Timings Processing time for stacker selection begins with the G-Z8 be read. Use the formula to determine select-stacker and processing time. 3, Account number field is last field selected, Read fields can use 4 1.Y1r, inches of document space. Available time is 20 ms for stacker selection and 20 ms for processing. 4. Transit routing field is the last field selected. The transit/routing field can extend as far as 6%6 inches from the leading edge. This condition allows 13 ms for stacker selection and 15 ms fO'r processing. 5. Serial number field is selected. If the serial number field is selected, only 71h ms are available for stacker selection. Because this field may not be inscribed on some documents, the end-of-data signal must be generated by the leading edge of the document passing photocell SA. Processing time is 15 ms. Note: More than tion when: 7~~ ms may be available for stacker selec- 1. the document is completely read before the leading edge of the document reaches photocell 3A. 2. the document is less than 7* inches long 3 a group mark with a word mark is reached in storage. Because it is impossible to estimate the actual time available in such cases, 71h ms should be used as the minimum time available fO'r processing and programsorting the error document. IBM 1448 Transmission Control Unit Data processing, without fast accurate communication, is limited by the numerous d elays b etween th e source of data and the processor . A da ta processing system serving as a central control for many remote locations requires the b est techniques of data communication. The ideal method is a combination of communication and processing operations in an effective single system. IBM Tele-processing systems are serving business and industry by combining computer operations and data transmission facilities into integrated data processing systems. H ere are th e speed, convenience, and efficiency of centralized data processing for the business, large or small, that is physically decentralized. H ere is the control center for the financial institution that requires, at a cen tral point, variable or fixed information from many loca tions. Refer to IBM 1448 Tmnsmission Control Unit, Form A24-3010. Transmission Control Each line added to a communication network increases the possibility of delay and error. Speed and dependability of a communication system depend on the control equipment, which blends the array of tran smission lines into an efficien t ne twork. Transmission control is the nucleus of any communication system made up of many lin es, each with a number of terminals, leadirrg to a central point. The three basic purposes for transmission control in an integrated data processing system are: 1. to establish a connection b etween the central processor and the terminals on the communication circuit. Fif,,'1.lre G-31. mM: 1448 Transmission Control Unit Th e 1448 with its associa ted processor handles such applications as inquiry and file updating. The 1448 and processor combination controls transmission of info rmation, and processes this information in-line. 2. to prevent indeterminate situations on th e line, such as distorted transmission or garbled or lost signals. 3. to allow for the requirements of the data processing equipment. The IBM 1448 Transmission Control Unit (Figure G-31 ) is an economical means of entering numeric, alphabetic, and special-character data directly into an IBM data processing system from as many as 40 halfduplex multipoint communication lines (Figure G-32). Information can b e transmitted on half-dupl ex lines in either direction , but only on e direction at a time. This IB;V[ Tele-processing system component llirects and regulates the flow of data and provides compatibility among terminals and processing and exchange devices. Card Rea dPunch Data Processing System 1448 As Many as 40 Half-Duplex Communicat ion lines Figure G-32. The Processor Controls as Many as 40 HalfDuplex Channels G-19 Magnetic Tape Processing Unit Figure G-33. IBM Direct Data Channel 1448 and Processor Serving a Central Data Processing System The 1448 and the data processing system provide on-line peripheral service to other IBM data processing systems (Figure G-33). In this role, the 1448 processor combination functions as a stored-program transmission control system that controls and monitors the lines and assembles messages. Transmission data is transferred from communication lines to processor core storage. The processor stores the message data on disks, and transfers the data to another processor Dn a scheduled or demand basis. The disks can also be transferred manually to other systems having IBM 1311 Disk StDrage Drives. With the direct-data-channel feature, data is transferred directly to and from another IBM data processing system having direct-data-channel capabilities. This expanded system covers a list of other operations: format checking of incoming messages, editing and scheduling outgoing messages from the data of the second processor, message accounting, and message switching. The second processor takes over a share of the total required systems function, and uses the first processor with its di:ik-storage capabilities as a backup. Effectiveness and efficiency of large systems increase substantially with the IBM 1440 Data Processing System as a peripheral data converter (card-to-tape, tapeto-tape, and tape-to-printer). A 1448/1440 system (for transmission, data cDnversion, and editing) magnifies even more the economy and efficiency of the system. With the 1448, a decentralized system becomes, in effect, centralized. The program of the processing unit control unit is an instrument of that control. G-20 As Many as 40 Half-Duplex Communication Lines Operation The exchange Df informatiDn between the 1448 and the processor is initiated by a scan operation code associated with a priority interrupt. An interrupt is a temporary interruption of the processor's main routine by an external signal, in this case, from the 1448. The main routine continues in sequence after the interrupt routine, including the scan operation if completed. The scan operation itself causes the automatic transfer of characters from the 1448 to the message assembly areas in the processor. The stored program assigns the message-assembly and distributiDn areas, which are variable in both length and location. IBM 1448 Instructions The instructions described in this section are used with the IBM 1440 Data Processing System to provide for the exchange of information between the IBM 1448 and the processor. Instructions applying to the 1448 cannot be successfully chained. Scan Instruction Format. Mnemonic 0]) Code B-Address None o BBB Function. The SCAN instruction, in actual machine language, is made up of an alphabetic 0 as the opera- tion code, and a 3-character address representing the high-order position of the scan control field. The SCAN instruction is restricted to basic singleaddress format and must be followed by a word mark in the next location. An attempt to force a 2-address format causes an improper address in the B-address register at the beginning of instruction execution time, and the instruction affects storage locations other than the intended control field. 1. Any buffer-full condition on the receiving lines. 2. Any buffer-empty condition Dn the transmitting lines. 3. Any status condition with an EOB (end-of-block) bit. 4. The 1448 requests the next polling address. Word Marks. Word marks are not affected. Timing. T Interrupt Instructions Any of these conditions in the 1448 makes the 1448 request an interrupt Df the processor's main program: The interrupt routine contains the necessary preparatory operations and the scan operation. The actual interruption of the main prDgram takes place when an instruction is being read, but before the execution of = .0111 (6 + 2NI + 5M + 6P + 7R) ms. NI = The number of idle lines or receiving lines with empty line buffers, andlor the number of transmitting lines with one or more characters in the line buffers at the beginning of the scan operation, and lor the number of polling lines that do not need a new polling address. M = The number of receiving lines with one character in the line buffers at the beginning of the scan operation. P = The number of receiving lines with two characters in the line buffers, andlor the number of transmitting lines with empty line buffers at the start of the scan operation. R = The number of lines in RECEIVE-CONTROL status that are transferring 2-character polling addresses from the processor to the 1448. OPERATIONS DESCRI PTIO N Add Branch Branch if Bit Equal A B W 7 5,8 8 A B W 1,4 1,4 1,4 Branch if Word Mark or Zone Compare Control Carriage V C 8 7 5 V C 1,4 1,4 2 / 7 7 / % E 7 7 7 Control Unit Clear C lear Word Mark 0 Maximum execution time: T = .0111( 6 + 7L) ms. Halt Address Registers After Operation. B-Add. Reg. End of Control Field + 3 Example. Scan 1448 lines for input or output traffic. In Figure G-34, the beginning address of the control field is labeled CTRLWD (0300). Autocoder OPERAND label ~o Assembled Instruction: 0 Figure G-34. Scan 40 45 X . 0 % E X 2,5 1,4 1,4 4 4 1,4 . All L 7 All L Modify Address Move (Excluding I/O) Move Digit # M D 7 7 7 # M D 1,4 1,4 1,4 Move Record Move and Suppress Zeros Move Zone P Z Y 7,8 7 7 P Z Y 1,4 4 1,4 Multiply No Operati on Scan @ N 7 5,7,8 @ N 4 1,2,4 4 Load (Excluding A-Add. Reg. F 5,7 I/o Operations Storage address of the last data cycle. If no data cycles are taken, it is the address of the beginning of the control field. F U Divide Edit Expand Compressed Tape NSI Non -Interrupta bl e Op Code Length Op Code Length Minimal execution time: T = .0111(6 + 2L) ms. L = The number of Hnes. I-Add. Reg. Interruptable I/O) 0 1,2,4 1,4 Q 5 7 7 Q 2 1,4 1,4 Store B - Register Subtract Translate H S T 7 7 7,8 H S T 1,4 1,4 1,4 Zero and Add Zero and Subtract ? ! 7 7 ? ! 1,4 1,4 Se lect Stacker Set Word Mark Store A - Register K , K , ~o 300 Figure G-35. Interruptible Instructions G-21 that instruction. Only unchained operations can be interrupted. Figure G-35 is a list of interruptible operations. The interrupt causes a program skip to address 182 in the processor, where the first instruction of the interrupt routine is located. An interlock prevents interrupting while the system is in the interrupt routine. The ENABLE INTERRUPT AND BRANCH instruction resets the interlock at the end Df the interrupt subroutine. The interrupt routine must include: 1. Store B-address register contents. The address in the B-address register must be decreased by four to establish the position of the interrupted mainprogram instructiDns. This new address is placed in the ENABLE INTERRUPT AND BRANCH instruction. 2. Saving program conditions (arithmetic overflow, high-low-equal compare and index locations), if they might be lDst during the interrupt subrDutine. After the interrupt subroutine, the program must restore these conditions. The maximum time for noninterruptible operations in the main program immediately following a soan operation is 132.5 ms (14.8 cps) minus the time taken by the interrupt routine. Assume that the time from interrupt to the execution of the scan operation is 4.0 ms .. The maximum length of a noninterruptible operation in the main program is then, about 128.5 ms (time D for 14.8 cps). With a mixed system (more than one type of terminal) the shorter time applies. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. >bb B-Add. Reg. >bb Example. Reset the internlpt indicator after an input/ output request from a 1448 line (Figure G-37). Autocoder [ L 6Label p'perati~ OPERAND L====:. ==~'~is;s~s=~J~Ot~;==~~~5===~~~O===~3:5===~4O~===~4~5===~~O =: Assembled Instruction: K Figure G-37. > Enable Interrupt Enable Interrupt Instruction Format. Mnemonic Op Code d-character 5S K > Disable Interrup! Function. The ENABLE INTERRUPT instruction is made up of K for the operation code and a bit cDnfiguration ofB-4-2 for the d-character. The interrupt subroutine is reset, and the program continues with the next sequential instruction. Word Marks. Word marks are not affected. Timing. T = .0333 ms. The interrupt precedes a possible 1448 buffer-overflow by at least the number of milliseconds in time A of Figure G-36. It follDws a scan operation no sooner than time B of Figure G-36. The minimum time between a scan operation and a possible 1448 buffer-overflow is time C of Figure G-36. Character Rate of Terminal 14.8 Time A 67.5 ms 41 ms 59 59 ms ms Time C 132.5 ms 100.2 ms Time D 128.5 ms 96.2 ms Interrupt Timing Mnemonic SS Op Code K d-character < Function. The DISABLE INTERRUPT instruction consis,ts of K for the operation code and a bit configuration of B-A-8-4-2 for the d-character. This ins,truction, by setting the interrupt interlock, prevents the processor from honoring any interrupt requests. The interrupt interlock is reset by the ENABLE INTERRUPT instruction. Word Marks. Word marks are not affected. Timing. T 60 Time B Figure G-36. G-22 Characters Per Second 1nstruction Format. = .0333 ms. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg.Function. The ENABLE INTERRUPT AND BRANCH ins.truction, which is used to re-enter the main program, is made up of K as the operation code, a 3-character I-address representing the contents of the B-address register minus four at the time of interrupt, and the d-character with bit configuration 8-4-2. The interrupt routine interlock resets, and the program branches to the instruction address. Word Marks . Word marks are not aHec:ted. B-Add. Reg. NSI BI blank NSI BI NSI Example. Reset the interrupt indicator and return to a non-multiplexing routine by branching to NEXT (0800); Figure G-39. Autocoder ! OPERAND 49 NSI BI blank NSI BI NSI Autocoder Label : perati~21 rsSS8SHtFT,< I~ lIS ! ~5 OPERAND • ~9 49 Assembled Instruction: K 900 :~ ~9 < Disable Interrupt and Branch Instruction Format. A-Add. Reg. Label B-Add. Reg. Branch If End-of-Block Address Registers After Operation. Branch (without indexing) Branch (with indexing): A-Add. Reg. Example. Prevent a 1448 interrupt and branch to the disk-file routine labeled MORE (0900). See Figure G-40. Figure G-40. Timing. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. I-Add. Reg. I-Add. Reg. Branch (without indexing) Branch (with indexing): 4~ ~9 Mnemonic Op Code BIN B I-address III d-character > Function. The BRANCH IF END OF BLOCK instruction is made up of H as the operation code, an I-address, and the d-character > with bit configuration 8-4-2. When a processor status character contains an end-of-block bit, the end-of-block indicator turns on. If it is ON, when the BRANCH IF END OF BLOCK instruction is executed, the next instruction is taken from that branch address. If the indicator is OFF, the program continues to the next sequential instruction. : Assembled Instruction: ~ 800 Figure G-39. The indicator is reset at the start of each scan operation. > W01'd Marks. \;Yord marks are not aHected. Enable Interrupt and Branch Disable Interrupt and Branch Instruction Format. Mnemonic SSB Op Code K I-address III d-character < Function. The DISABLE INTERRUPT AND BRANCH instruction is made up of K as the operation code, a 3character I -address representing the next instruction, and a bit configuration of B-A-8-4-2 as the d-charactel'. This instruction is the same as DISABLE INTERRUPT except that the next instnlCtion is specified by the Timing. No branch, or branch without indexing: T ms. Branch with indexing: T = .0777 ms. = .0666 Address Registers After Operation. No Branch: Branch (without indexing) Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. >bb NSI BI blank NSI BI NSI G-23 Address Registers After Operation. Assembled Instruction:!. T13 Figure G-41. No Branch: Branch (without indexing) Branch (with indexing): > Branch if End of Block Example. If the end-of-block indicator is ON, branch to routine beginning at EOBRTN (1313); Figure G-41. I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. -y:.;;,;es_---f ~No~_-< Set Program-Switch End-ol-Job in Main Program Routine This branch indicator is set ON when the document hopper is empty. If this indicator is on, the program can be made to stop the system, or to branch to another routine. Timing-Mark Check This branch indicator comes on when the timing-mark track on the data sheet just read was found to be unacceptable, either by extra or missing timing marks. Note: 75ms must elapse between Buffer-Full and Timing-Mark-Check il Control-Timing-Mark switch is set to YES. Figure G-53. IBM 1231 Program Control- On-Demand Mode G-33 IBM 7770 Audio Response Unit, Modell, Programming Evaluate Inquiry and Compare Reply The IBM 7770 Audio Response unit provides a spoken reply message to a digital inquiry entered by the user. This reply is formed by selecting pre-recorded words in a specific sequence to form a message. Because the 7770 is merely an input, storage, and output device, the processing unit must generate and issue the word sequence to the 7770. This is accomplished by a userwritten program. Refer to IBM 7770 Audio Response Unit, Form A22-6800. The 7770 message-control portion of the program should consist of the following phases: Store the B Address of Instruction at ~.. Write Reply tomO Testing SubRoutine, Figure G-58 Inquiry Input: -Read the inquiry into core storage. Determine if it is a test message. Check inquiry for proper length. Evaluat-ion of Input: Determine the information required. Check security code, if present. Figure G-54. Information Retrieval: Obtain requested information from system resources (core storage, disk or ~ape files, etc.). GET output-message format, if required. Message Assembly and Output: Extract requested information from the account £Ie, and place in the proper order in the output area. Write the output area to the 7770. The IOCS for 1311 file provides the necessary GET and PUT instruction macros for the retrieval and placement of 7770 input and output information. The IOCS requirements must be properly defined. See IOCS Usage. Figure G-54 shows the program necessary to service the 7770 in a disk-storage environment. Perform the unconditional branch of the polling subroutine about every 3 to 5 seconds of main-line program time (a maximum of 10 seconds is permitted). This time depends on the type of main-line program being run. The wide latitude of time between polling operations is provided because polling and servicing routines should allow service of all waiting inquiries before returning to the main-line program. Inquiry Processing Subroutine inquiry to be processed, the read will return a firstcharacter-tape-mark response. This must be interpreted by the user's program as no-service-required and a return to the main-line program can take place at this point. IBM 7770 Instructions Generally, the same instructions and error routines used with disk storage pply to the 7770. The following is a more detailed explanation of the program phases. See the IBM 1311 Disk Storage Drive section. Inquiry Input Because the polling and servicing subroutines together probably will not exceed 300 milliseconds (including one disk seek to GET the record about which inquh:y is being made), the delays in CPU service will not cause excessive wait-time for the calling party. The inquiry is brought into core storage by a readfile instruction sequence (Figure G-54). In the event of transmission errors, a reread is possible in exactly the same way as a file reread. If the reread does not correct the error condition, a standard message can be sent to the 7770 indicating the necessity of a redial by the calling party. Except in the case of the transfer of a first-character-tape-mark to core storage, the user must return a reply to "the 7770. The 7770 must always receive a write after a read, if a tape mark is not received. The BRANCH IF TAPE MARK instruction is particularly important. When the 7770 does not have an Because of the unique character of the 7770, one input line can be used for testing while the other ones G-34 are perfonning their normal function. For this reason, .a testing routine should be built into the user's normal servicing program. This is simplified because the test message entered from the CE panel is one character followed by a group mark ( *); no other input messages have this characteristic. In addition, no actual processing of this test message is required. It is read into core storage, recognized by the program, and returned unmodified to the 7770. Because the inquiry is already in core storage (through the polling routine), a routine similar to the one shown in Figure 'G-55 might be used. If the inquiry is not of a prescribed length, an error condition exists. There mayor may not be a test made at the discretion of the user. In applicati~ns .requiring inquiries of various lengths due to the particular characteristics of the access of stored information (i.e., in banks, mortgage accounts might be six digits and savings ,accounts seven digits), additional verification techniques may be required. However, if all inquiries are to be of one specific length, record length might be considered adequate. Other record-verifying techniques may be used at the option of the user. In the event of an invalid in- Last Character is a *? quiry, an error message (such as redial) must be sent by the user's program to the 7770 to release it for further line servicing. After a read-back check with no errors, the program must delay for about 2.8 ms. before proceeding to the next read. This delay is required because of 7770 timing, and can be accomplished by a simple timing loop subroutine. Evaluation of Input The information required by the inquiry from file storage must be indicated by the inquiry if many different types of spoken replies are to be given. For example, a retailer may desire to know the amount of a certain stock number on hand. To obtain the information desired, and only that information, assign transaction codes as part of the inquiry (Figure G-56). ~ Transaction Stock Number Code ________ ______ ~A~ ~,~ Figure G-56 The length of the stock number and transaction code is variable at the discretion of the user. The user's program must interpret the meaning of both the stock number and transaction code. The evaluation of the inquiry might also involve the length of the inquiry. See Inquiry Input. In some applications, the user may desire to have the transaction code located elsewhere in the inquiry. Because this program is interruptible, the placement is not limited. On occasion, some stored information must be inaccessible except to certain persons. To perform this function, several methods may be used. See IBA-l 7770 Audio Response Unit - Modell, Form A22-6800. Some security codes may appear as part of the data from which the response message is to be composed. Others may be part of the inquiry itself in much the same manner as the transaction code. If a blank is received as the first character of an inquiry read from the 7770, the user's program should interpret this as a transmission error and return a redial message. Information Retrieval Figure G-55. Testing Subroutine Once the actual inquiry has been evaluated, a response message must be composed. To do this, the general source of information, described by the inquiry, "is brought into core storage. The general source of information in a file system would probably be one or more sections from disk. G-35 To simplify message assembly, some systems may utilize a message format method. With the inquiry transaction code evaluated, it would be known that a certain form of reply is required. Prepare this form in advance and store it either in core storage or on file, to be moved to the output area. There it is added to information extracted from the data brought into core storage to form the completed response message. AUTOCODER Line 35~peratiro41 Label 23 2526 o o o 2 3 04 10.0 Ev.tkES PR OC E ID.I S sIs T.v.pIE .K.D.Rl, V.E S 05 : IFI L~vlD~ 07 U,p ,I) ,A,T o 8 ID.I S K IRA NOOM lB. El ID' Sit' 0 A "lnO.M.• I.NP.U,T IVES IOA,R.E.Al 11 I 0 NS £ CT OiRS IN.R.E. CO R:n.s. I INAT ,0 P A:r..K Is. I 60 IOTF 06 09 55 I)IOCS ~ I OPERAND 50 45 0 Message Assembly and Output Figure G-57. A number of methods may be employed for the composition of response messages. An understanding of vocabulary organization is necessary. See IBM 7770 Audio Concepts and Vocabulary, Form A22-6805. The response message may be assembled for output in the same buffer area reserved for input because only one message is handled at a time. The maximum length of an inquiry is 40 characters. The maximum length of the response is 38 characters plus one group mark. The response message is sent to the 7770 through a write disk to disk control field (DCF) 8000000001. A read-back check is issued after a write. The transmistion error indicator must be tested immediately and, in the event of an error, a user-written error routine must issue a rewrite within 2.2 ms of the read-back check. If longer delay before rewrite is desired, a seek should be given within 2.2 ms. N otel: Because a calling party may dial or otherwise unintentionally put in an irlcorrect inquiry code, the user should program-protect the caller from getting information that is incorrect. Because it is generally not possible to determine if a number has been incorrectly dialed until a response is made to that number, it is advisable to provide some means of checking the input number. One of the easiest .methods of doing this is to program the IBM 7770 to repeat back to the calling party the number as received by the 7770. If the number repeated back is not what the caller expects, the caller should place the inquiry again. Other checking methods may be used, but the repeat-back is one of the simplest. The group mark (end-of-message character) must appear as the last character of any message. A message may contain a maximum of 38 address characters plus one group mark. Note 2: If the Extended Vocabulary feature is installed on the 7770, the maximum inquiry length decreases to 36 characters and the response length to 35 characters plus group mark. IOCS Usage The 7770 operates with the 1311 File lOCS program packages. See Autocoder for IBlJ.,l 1440: Operating Procedures, Form C24-3011 for 1440 applications. The 7770 appears as a slave 1311 file. Figure G-57 shows the minimum definitions. G-36 Minimum 7770 laCS Definitions The disk-control field of the 7770 is 8000000001. A file instruction brings information into core storage from the 7770 buffers. The information retrieved is inspected by a user's program and appropriate action is taken. GET If the GET brings all BCD blanks into storage, the user's program should evaluate all BCD blanks as a no-service-required indication and return to his original program. If the GET returns data from the 7770. other than BCD blanks, the user program must branch to a subroutine that evaluates the data and takes appropriate action to assemble a digital response message to be returned to the 7770 on a PUT file. To avoid lengthy delays in responding to the 7770 by the processing unit after a PUT has been satisfactorily completed, issue another GET to the 7770 (after the prescribed delay) to ascertain if service is not required by another input line. If advanced programming is specified in the control card at assembly time, the error routine lOCEHT in the lOCS must be changed to a NO OP instruction, and the HALT AND BRANCH instruction at IOCEHT+7 must be changed to an UNCONDITIONAL BRANCH instruction to the user's error routine. If advanced programming is not specified in the control card, this procedure is followed, except that the labels IOCEHT and IOCEHT+7 are replaced with IOCMHT and IOCMHT+7, respectively. TO' determine if a 1311 O'peration or a 7770 operation has caused an error, a program switch must be set by the user prior to issuing a 7770 macro. Thus the user's error routine could test this switch to determine whether to treat a given error as a 1311 error or as a 7770 error. Large-Vocabulary Programming Special cO'nsideratiO'n must be given in programming the 7770 if more than 63 wO'rds of vocabulary are available on the vocabulary drum. A BCD character ordinarily has six information bits that decode to a maximum of 64. The addition of one more information bit is required and that is the word mark. To transfer information to or from the 7770 with word marks, the WDW and RDW instructions are used. This mode of operation is not supported by the 1311 file IOCS and must be programmed by the user. However, the PUT used by the 7770 may be altered by the user to permit word mark transfers as follows: 1. Load an L with a word mark into FILENAME+ 16 prior to PUT macro. 2. After the PUT macro, restore the M with word mark. 3. Be certain that a group mark with a word mark is in the proper position to satisfy move and load mode conditions for checking length. 4. Prior to the issuing of the GET macro, the user must supply an address of the form xxxxxxO to the storage location located at the IOCS label IOCADR (this does not have to be done prior to the issuing of the PUT macro). G-37 available on the vocabulary drum. A BCD character ordinarily has six information bits that decode to a maximum of 64. The addition of one more information bit is required and that is the word mark. To transfer information to or from the 7770 with word marks, the WDW and RDW instructions are used. This mode of operation is not supported by the 1311 file IOCS and must be programmed by the user. However, the PUT used by the 7770 may be altered by the user to permit word mark transfers as follows: 1. Load an L with a word mark into FILENAME+ 16 prior to PUT macro. 2. After the PUT macro, restore the M with word mark. 3. Be certain that a group mark with a word mark is in the proper position to satisfy move and load mode conditions for checking length. 4. Prior to the issuing of the GET macro, the user must supply an address of the form xxxxxxO to the storage location located at the IOCS label IOCADR (this does not have to be done prior to the issuing of the PUT macro). G-37 IBM 1285 Optical Reader header or full-l ine correction information is entered from the keyboard, characters are transmitted in single-character mode - one character for each read instruction. The character is entered in the corestorage location sp ecified by the B-address and the operation is terminated . Assuming the op erator keys in information from left to right, the B-address of this instruction should be modified by 1 for each subsequent read operation. The IBM 1285 Optical Reader Model 1 (Figure G-58), serves as an input device for the IBM 1440 Data Processing System. The 1285 reads printed paper tapes such as those produced on cash registers and adding machines. Using advanced optical-recognition techniques to read directly from the source document of many business transactions, the 1285 eliminates much of the time required by a system in which information is punched into cards b efore being entered into the system. Refer to IBM 1285 Optical Reader, Component Description, Form A24-3256, for additional information. IBM + When d ata is read from the journal tape, characters are transmitted in line mode, one line of information for each read instruction. The line is read from right to left, with the first character b eing read into the core-s torage location specified by the B-address. The contents of the B-address register are automaticalIy modified b y - 1 b efore transferring each subsequent character. J285 Instructions Instructions applying to the 1285 cannot b e successfully chained. A character entered from the keyb oard for singlecharacter on-line correction is handl ed in the same manner as one read from the tape in this lin e-reading mod e. Read in Move Mode Instruction Format. Mnemonic MU 0]) Code M A-address %YI B-address BBB d-character R A read operation is normalIy terminated when the reader senses the left margin of the tape. When this occurs, a group mark is automatically inserted in the core-storage position to the left of the last ch aracte.r read, and the end-of-lin e indicator is turned on. If a group mark with word mark is detected in core storage b efore reading the last character of the line, the read operation is terminated , and the end-of-lin e bran ch indicator is not turned on. Function. This instruction reads either one character or one line into core storage from the 1285. When A read operation is also terminated if th e branch on error indi cator is set on. 'Vord Marks. Word marks are not affected. A group mark with a word mark will terminate the read operation. Timing. See IBM 1285 Timing Considerations section. Address Registers After Operation. I -Add. Reg . NS I A -Add. Reg. % 51 NSI % 51 B-Adcl. Reg. B.. -Iength of line. or Figure G-58. G-38 IIlM 1285 Optical Reader GMWM-l Form A 24-3116-3 Page re vised 12/ 66 By T NL N 24- 0392 IBM 1285 Optical Reader The IB"! 1285 Optical Reader Model 1 (Figure G-58), serves as an input d evi ce for th e IBM 1440 Data Processing System. Th e 1285 reads printed paper tap es such as th ose produced on cash registers and adding machines. Using advanced optical-recognition techniqu es to read directly from the source document of many business transactions, th e 1285 eliminates mu ch of the tim e required by a sys tem in which information is punched into cards b efore being entered into the sys tem. Refer to IBM 1285 Optical Reader, Component D escription, F orm A24-3256, for additional information. IBM J285 Instructions Instructions applying to the 1285 cannot be successfull y chained. Read in Move Mode Instruction F annat. Mn emollic MU 0]7 Code M A-address % YI B-address BBB d -chara cter R Function. This instruction reads either one character or one li ne in to core storage from the 1285. When header or fu ll-line correcti on in fo rma tion is entered from the keyboard , characters are transmitted in sin gle-character mod e - one character fo r each read instru cti on. Th e charac ter is entered in th e corestorage location specifi ed b y the B-address and the operation is termin ated. Assuming the operator keys in inform ati on fro m left to right, th e B-address of thi s instru ction shoul d be modifi ed by + 1 for each subseq uent read operation, by a subroutin e. Such a subroutine is necessary because of the singlecharacter transmission from the keyboard to core in these modes. Th e subroutine should be entered when th e reader firs t becomes ready (branch on ind ica tor 7). Wait loops for characters {indicator 5) should include repeated tests fo r Reader Ready (7), for Ready to Read a lin e (6, indicating the end of data input for the subroutine), and for Read er Error (1, ind icating operator Cancel Enter). If Reader E rror occurs in this subroutine, it is advisable to notify the operator throu gh a printout or cod ed halt, and to re-initialize the subrou tine. The subrou tine should also be en tered after givin g a Set Correction Mod e ins tru ction to begin Full-Lin e Correction or to handl e re-entry of Header or Full-Line Correction data for verification . 'W hen d ata is read from the journ al tape, characters are tran smitted in lin e mode, one lin e of in formati on for each read instructi on. Th e line is read from right to left, with th e first character being read into the core-storage loca tion specified b y the B-address. The contents of the B-address register are automati call y modified by - 1 before transferrin g each subsequen t character . A character entered from the keyboard fo r sin glecharacter on-line correction is handl ed in the same mann er as one read from the tape in this line-reading mode. Figure C -S8. G-38 lIJ M 1285 Optical Reader A line read op eration is normally terminated when the reader senses th e left margin of the tape. W hen th is occurs, a group mark is automatically inserted in th e core-s torage position to the left of the las t character read, and the end-of-line indicator is turn ed on . If a group mark with word mark is detected in core storage befo re reading the last character of the line, th e read operation is terminated , and the end-of-line branch indicator is not turned on. Example. Read the 1285 keyboard and place the character in the core-storage location labeled KB1285 (0881). The enter key must be pressed after each character key is pressed (Figure G-59). OPERAND : :' Assembled Instruction: Figure 0-59. Read IBM if- %V 1 ~ Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI Gbb Gbb Go to next line: Go to next line and branch (without indexing): Go to next line and branch (with indexing): NSI BI blank NSI BI NSI Example. Cause the 1285 to advance to the next journal-tape line, and branch unconditionally to a subroutine labeled RDTAPE (1286) specified by the I-address (Figure G-60). 881' R 1285 in Move Mode t Autocoder aead in Load Mode OPERAND :'. LaM' Instruction Format. Mnemonic LU Op Code .1=.. A-address B-address d-character %V1 BBB R Function. This instruction functions in the same manner as the read in move mode instruction except that, in line reading, word marks accompany characters sent from the keyboard in on-line reject correction. This allows the CPU to distinguish between characters read from tape and characters entered from the keyboard. Go to Next Line I nstruction Format. Mnemonic SS SSB Op Code .K.. X I-address d-character III a a Function. This instruction causes the reader to advance to the next line. The normal procedure is to test the end-of-line branch indicator after a read instruction and, if on (indicating a valid read), to issue this instruction. to cause the reader to begin scanning for the next line. If not given after a read operation is terminated, the next read instruction will reread the line. The next instruction executed is that specified by the I-address, if supplied, or the next instruction in sequence, if no I-address is specified. Word Marks. Word marks are not affected. Assembled Instruction: Figure G-60. .!. 586 ~ G Go to Next Line and Branch Set Correction Mode Instruction Format. Mnemonic SS SSB Op Code A. L I-address III d-character C C Function. This instruction causes the 1285 to go into a line display and sets up controls for character-bycharacter reading from keyboard entry. If the first line of the tape has not yet been read, the enter light turns on, indicating to the operator that he should enter header data. If at least one line of the tape has been read, the reject light turns on, indicating to the operator that he should do a full-line correction. The next instruction executed is either specified by the I -address or the next sequential instruction (if no I-address is specified). Word Marks. Word Marks are not affected. Timing. Set correction mode: T = .0333 ms. Set correction mode and branch (without indexing): T=.0666ms. Set correction mode and branch (with indexing): T=.0777ms. Address Registers After Operation. Timing. Go to next line: T = .0333 ms. Go to next line and branch (Without indexing): T=.0666ms. Go to next line and branch (with indexing): T= .0777ms. Set correction mode: Set correction mode and branch (without indexing): Set correction mode and branch (with indexing): I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI Cbb Cbb NSI BI blank NSI BI NSI G-39 Form A24-3116-3 Page revised 12/66 By TNL N24-0392 A read operation is also terminated if the branch on error indicator is set on. Word Marks. Word marks are not affected. A group mark with a word mark will terminate the read operation. Timing. See IBM 1285 Timing Considerations section. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %51 NSI %51 B-Add. Reg. Bp-Iength of line. issue this instruction to cause the reader to begin scanning for the next line. If not given after a read operation is terminated, the next read instruction will reread the line. The next instruction executed is that specified by the I-address, if supplied, or the next instruction in sequence, if no I-address is specified. To accomplish line skipping, the program should wait for the Ready-to-Read-a-Line indicator (6) before issuing the next Go To Next Line. I Word Marks. Word marks are not affected. or Timing. Go to next line: T = .0333 ms. Go to next line and branch (without indexing): T= .0666ms. Go to next line and branch (with indexing): T= .0777ms. GMWM-l Example. Read the 1285 keyboard and place the character in the core-storage location labeled KB1285 (0881). The enter key must be pressed after each character key is pressed (Figure G-59). Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI Gbb Gbb Autocoder IROKBB.S: OPERAND Label :5. . Assembled Instruction: Figure G-59. Read IBM l:!:! %Vl ~ 881 R 1285 in Move Mode Instruction Format. 0]) Code -.h NSI BI blank NSI BI NSI Example. Cause the 1285 to advance to the next journal-tape line, and branch unconditionally to a subroutine labeled RDTAPE (1286) specified by the I-address (Figure G-60). Read in Load Mode Mnemonic LV Go to next line; Go to next line and branch (without indexing); Go to next line and branch (with indexing); A-address %V1 B-address BBB d-character R Function. This instruction functions in the same manner as the read in move mode instruction except that, in line reading, word marks accompany characters sent from the keyboard in on-line reject correction. This allows the CPU to distinguish between characters read from tape and characters entered from the keyboard. t Autocoder OPERAND Label :~ . Assembled Instruction: Figure G-60. .!. 586 : G Go to Next Line and Branch Set Correction Mode Instruction Format. Mnemonic SS SSB Go to Next Line Instruction Format. Mnemonic SS SSB 0]) Code X- X I-ad~lress d-character G III G Function. This instruction causes the reader to advance to the next line. The normal procedure is to test the end-of-line branch indicator after a read instruction and, if on (indicating a valid read), to Op Code I-address l ..x. III d-character C C Function. This instruction causes the 1285 to go into a line display and sets up controls for character-bycharacter reading from keyboard entry. If the first line of the tape has not yet been read, the enter light turns on: indicating to the opera tor that he should enter header data. If at least one line of the tape has been read, the reject light turns on, indicating to the operator that he should do a full-line correction. G-39 Example. Cause the 1285 to go into line display and set up controls for character-by-character entry from keyboard (Figure G-BO.1). Example. Cause the reader to mark the line it is now reading, after the next GO-TO-NEXT-LINE instruction (Figure G-B1). Autocoder Autocoder ~ label .: ~ Assembled Instruction: Figure G-60.1. OPERAND :'. label C Assembled Instruction: Figure G-61. Set Correction Mode ! ~ M Mark a Line Branch if Indic.ator On Mark a Line Instruction Format. Instruction Format. Mnemonic SS SSB Op Code X I-address III l d-character M M Function. This instruction causes the line that the reader is on to be marked by the reject line marker. The line is transported to the top of the scan window and marked after the next GO TO NEXT LINE instruction. The MARK A LINE instruction can be given at any time after the ready-to-read-a-line indicator is turned on and before the GO TO NEXT LINE instruction. Note: If the line is re-read (a GO-TO-NEXT-LINE instruction is not given), the effect of this instruction is cancelled. The next instruction executed is that specified by the I -address, or the next sequential instruction (NSI) if no I-address is specified. Word Marks. Word Marks are not affected. G-40 JL I-address III d-character d Function. This instruction tests for the IBM 1285 operational conditions specified by the d-character. If the indicator is on, the next instruction is taken from the I-address. If off, the program goes to the next sequential instruction. d-character 1 2 3 4 5 6 7 8 Indicator ERROR END-OF-LINE READER-TRANSPORTING MARKED-LINE HEADER-INFORMATION READY -TO-READ-A-LINE READER-READY END-OF -FILE Indicators Branch if Error. This indicator (d-character 1) is turned on if any of the following conditions exist. This indicator remains on until tested. • A skew error occurs during a read operation. • The scanner is unable to follow a line due to extraneous material on the tape during a read operation. • A reject display exceeds the time limit. • A line of header or a full-line of correction data is cancelled (cancel-enter sequence) from the reader. Address Registers After Operation. I-Add. Reg. NSI Op Code • A process check occurs in· the processing unit during a read operation. Timing. Mark a line: T = .0333 ms. Mark a line and branch without indexing: T= .0666ms. Mark a line and branch with indexing: T=.0777ms. Mark a line: Mark a line and branch (without indexing): Mark a line and branch (with indexing): Mnemonic BIN A-Add. Reg. B-Add. Reg. Mbb Mbb NSI BI blank NSI BI NSI Branch if End of Line. This indicator (d-character 2) is turned on after the last character of a line is transferred to the processing unit and the reader senses the left edge of the tape. If this indicator is not on when a read operation is completed, an error condition may exist, depending on the program and the tape format. This indicator is turned off by the goto-the-next-line instruction, or by re-reading the same line. Form A24-3116-3 Page revised 12/66 By TNL N24-0392 The next instruction executed is either specified by the I-address or the next sequential instruction (if no I-address is specified). Purposes: 1. To call for re-entry of Header or Full-Line data if verification is used. 2. To call for Full-Line Correction. This is recommended in the event of persistent (10 tries) Error indications after reading a line, or the presence of a reject symbol (@) entered in Single-Character Correction. The latter may be indicated by the presence of a reject symbol with a word mark in core storage after a Read in Load Mode, or the presence of the Reject Character in Line (4) indicator when a sense switch indicates the use of online reject correction. Word "A-1arks. Word Marks are not affected. Timing. Set correction mode: T = .0333 ms. Set correction mode and branch (without indexing): T= .0666ms. Set correction mode and branch (with indexing): T= .0777ms. Set correction mode: Set correction mode and branch (without indexing): Set correction mode and branch (with indexing): Note: If the line is re-read (a GO-TO-NEXT-LINE instruction is not given), the effect of this instruction is cancelled. The next instruction executed is that specified by the I-address, or the next sequential instruction (NSI) if no I-adrl~ess is specified. Word Marks. Word Marks are not affected. Timing. Mark a line: T = .0333 ms. Mark a line and branch without indexing: T= .0666 ms. Mark a line and branch with indexing: T= .0777 ms. Address Registers After Operation. Address Registers After Operation. A-Add. Reg. B-Add. Reg. Cbb Cbb I-Add. Reg. NSI Function. This instruction causes the line that the reader is on to be marked by the reject line marker. The line is transported to the top of the scan window and marked after the next GO TO NEXT LINE instruction. The MARK A LINE instruction can be given at any time after the ready-to-read-a-line indicator is turned on and before the GO TO NEXT LINE instruction. NSI BI blank NSI BI NSI Example. Cause the 1285 to go into line display and set up controls for character-by-character entry from keyboard (Figure G-60.1). I-Add. Reg. NSI Mark a line: Mark a line and branch (without indexing): Mark a line and branch (with indexing): A-Add. Reg. B-Add. Fi.eg. Mbb Mbb NSI BI blank NSI BI NSI Example. Cause the reader to mark the line it is now reading, after the next GO-TO-NEXT-LINE instruction (Figure G-61). Autocoder Autocoder l~1 ,: I' Itroti~c OPERAND ~Ii , ~Ii ~I! ~I!, ~:I, , ~I! label I' , : 1~~roti~M OPERAND ~Ii ~I! ~Ii ~I! ~Ii, , ~ Assembled Instruction: K M Assembled Instruction: !.. C Figure G-61. Figure G-60.1. Mark a Line Force On-Line Correction Instruction Format. Mnemonic SS SSB G-40 Mark a Line Set Correction Mode Op Code X l Instruction Format. I-address d-character III M M A A Mnemonic SS SSB Op Code K I-Address K xxx d-character F F Branch if Reader Tran.sporting. This indicator (d-character 3) is turned on when the transport mechanism is started to bring a new segment of tape over the scan window. I t is turned off when the transport mechanism is stopped. Note that a minimum of 1 millisecond elapses between execution of the GO-TONEXT-LINE instruction and the beginning of the transport operation. Also, this indicator is turned off as soon as the transport stops, leaving about 6 milliseconds until the ready-to-read-a-line indicator is turned on. This indicator may be used to determine if sufficient time is available to execute other instructions. This indicator is also on when displaying a line. Branch if Marked Line. This indicator (d-character 4) is turned on if the last line read will be marked by the reject line marker. If the MARK A LINE instruction was given, or if the line contains a reject symbol (@), it will be automatically transported to the reject line marker after the next GO TO NEXT LINE instruction is given. This indicator is reset by a GO TO NEXT LINE instruction, or by the re-reading of the line (either line read or full-line correction). Branch if Header Information. This indicator (d-character 5) is turned on when a character of header information or full-line correction is entered from the keyboard. It is reset for each character read by the program. As long as this indicator is on, the reader will not respond to the start key to begin processing the journal tape. When no more information is to be entered, the start key is pressed, and the ready-toread-a-line indicator is turned on. Branch if Reader Ready to Read a Line. This indicator (d-character 6) is turned on when the reader has found a line and is ready to read it. The indicator is turned off by a go to next line instruction, or by loss of the reader-ready condition. Note: When a line is found, the scanner enters the normalizing mode and continues from character to character in the line until a read instruction is given. At that time, the flying spot sweeps back to the low-order character. To keep read time to a minimum, a read instruction should be given within 1.5 ms after this indicator is turned on. Otherwise, up to 3 ms may be lost in returning to the loworder position. Branch if Reader Ready. This indicator (d-character 7) is turned on when a tape is loaded and the first line is found by the scanner. The indicator remains on until the operator runs the end of the tape through the transport by pressing the end-of-file key, or until an error occurs that requires operator intervention. Branch if End of File. This indicator (d-character 8) is turned on when the trailing end of the roll is run through the transport by pressing the end-of-file key. The indicator is reset when another roll is loaded. Word Marks. Word marks are not affected. Timing. No branch or branch without indexing: T= .0666ms. Branch with indexing: T = .0777 ms. Address Registers After Operation. No Branch: Branch (without indexing): Branch (with indexing): I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI BI dbb NSI BI blank NSI BI NSI Example. Branch to a subroutine labeled G01285 (1644) if the reader-ready indicator is on (Figure G-62). Autocoder ~ OPERAND :'. Label .: Assembled Instruction: Figure G-62. !. W 44 ~ 7 Branch if Reader-Ready Indicator On IBM 1285 Timing Considerations The reading speed of the IBM 1285 Optical Reader depends upon factors which vary with individual applications. The optimum reading speed when using the IBM 1428 character font is given by the following formula: Throughput 60,000 (Lines per minute) = - - - - - - 4 7 - - - ± 5% 1.7W + 1.9S + r+1.4C Where: C= L= W= S= characters per line lines per inch tape width in inches distance from tape edge to first character in inches With the NCR Optical Character Recognition Font, the optimum reading speed is found with the following formula, using the same symbols for the same variables: (Lines per minute) = 60,000 ------------+ 1.7W + 1.9S + f 5% + 1.55C - 0.5 G-41 Form A24-3116-3 Page revised 12/66 By TNL N24-0392 Function. This instruction will cause the next line read by a Read Instruction to be read in On-Line Correction Mode, regardless of the setting of the offline correction on the 1285 Operator Panel. It allows a program decision to change correction mode on re-reading of a line. The switch light should be on (in off-line correction mode) to make use of this instruction. d-character 1, I Indicator 2 ERROR END-OF-LINE 3 4 READER-TRANSPORTING RE]ECT-CHARACTER-IN-LINE 5 HEADER-INFORMATiON READY-TO-READ-A-LINE 6 7 8 READER-READY END-OF-FILE Indicators The next instruction executed is that specified by the I-address, if supplied, or the next instruction in sequence, if no I-address is specified. Branch if Error. This indicator (d-character 1) is turned on if any of the following conditions exist. This indicator remains on until tested. Word Marks. Word marks are not affected. • A process check occurs in the processing unit during a read operation. Timing: • A skew error occurs during a read operation. • The scanner is unable to follow a line due to extraneous material on the tape during a read operation. Force On-Line Corr.: T = .0333 ms. Force On-Line Corr. & Br. (without indexing): T= .0666 ms. Force On-Line Corr. & Br. (with indexing): T=.0777 ms. Address _Registers After Operation. I-Add. Reg. Force On-Line Corr. NSI Force On-Line Corr. & Br. (without indexing): NSI Force On-Line Corr. & Br. (with indexing): NSI A-Add. Reg. Fbb B-Add. Reg. Fbb BI blank BI NSI Example. Causes the next line read by a Read Instruction to be read in On-Line-Correction Mode (Figure G-61.1). Autocoder ~o Assembled Instruction: • Figure 0-61.1 JS. F Force On-Line-Correction Branch if Indicator On Instruction F orrnat. Mnemonic BIN Op Code I-address JL III d-character d Function. This instruction tests for the IBM 1285 operational conditions specified by the d-character. If the indicator is on, the next instruction is taken from the I-address. If off, the program goes to the next sequential instruction. • A reject display exceeds the time limit. • A line of header or a full-line of correction data is cancelled (cancel-enter sequence) from the reader. I A test for this indicator should be the first instruction following a READ. Wait loops for Header Information (5) should also include a test for Error (Cancel-Enter). Branch if End of Line. This indicator (d-character 2) is turned on after the last character of a line is transferred to the processing unit and the reader senses the left edge of the tape. If this indicator is not on when a read operation is completed, an error condition may exist, depending on the program and the tape format. This indicator is turned off by the goto-the-next-line instruction, or by re-reading the same line. Branch if Reader Transporting. This indicator (d-character 3) is turned on when the transport mechanism is started to bring a new segment of tape over the scan window. It is turned off when the transport mechanism is stopped. Note that a minimum of 1 millisecond elapses between execution of the GO-TONEXT-LINE instruction and the beginning of the transport operation. Also, this indicator is turned off as soon as the transport stops, leaving about 6 milliseconds until the ready-to-read-a-line indicator is turned on. This indicator may be used to determine if sufficient time is available to execute other instructions. This indicator is also on when displaying a line. Branch if Reject Character in Line. This indicator (dcharacter 4) is turned on if the last line read (Line Reading only) contains at least one reject symbol (@). This indicator is turned off by Go-to-Next-Line or by Re-read instruction (either line read or full line correction). G-41 Note: Items that can lower the optimum calculated speed are: res cans, branch-1 errors, rereads of wrong length lines, and line marking. Both equations pertain to calculations for constant line length and uniform line spacing only. c= L= W= s= 4 characters per line 4 lines per inch tK, inches 0.1 inch Throughput = 3035 lines per minute Using the mM 1428 character font, two examples of throughput are given. c= L= W= s= 10 characters per line 4 lines per inch 2 inches 0.2 inch ISM '285 Programming Techniques Throughput = 2030 lines per minute NOTES: 1. This chart illustrates possible uses of IBM 1285 instructions. Actual use of these instructions is application-dependent. 2. In the event of a solid error condition (ten tries for that linel, the prog-ammer might elect to mark that line and skip to the next one, or to go to a full-line correction entry. For the latter, do a set correction mode Clnd branch to a routine similar to the header routine. Figure G-63. G-42 mM 1285 Programming Schematic Figure G-63 shows how some of the IBM 1285 instructions might be used. F~ure G-63 is only a guide: the application to be performed will dictate the actual use of the instructions. Form A24-3116-3 Page revised 12/66 By TNL N24-0392 Branch if Header Information. This indicator (d-character 5) is turned on when a character of header information or full-line correction is entered from the keyboard. It is reset for each character read by the program. As long as this indicator is on, the reader will not respond to the start key to begin processing the journal tape. When no more information is to be entered, the start key is pressed, and the ready-toread-a-line indicator is turned on. Branch if Reader Ready to Read a Line. This indicator (d-character 6) is turned on when the reader has found a line and is ready to read it. The indicator is turned off by a go to next line instruction, or by loss of the reader-ready condition. Note: When a line is found, the scanner enters the normalizing mode and continues from character to character in the line until a read instruction is given. At that time, the flying spot sweeps back to the low-order character. To keep read time to a minimum, a read instruction should be given within 1.5 ms after this indicator is turned on. Otherwise, up to 3 ms may be lost in returning to the loworder position. I Any wait loops testing this indicator should also include a test for Reader Ready (7). Branch if Reader Ready. This indicator (d-character 7) is turned on when a tape is loaded and the first line is found by the scanner. The indicator remains on until the operator runs the end of the tape through the transport by pressing the end-of-file key, or until an error occurs that requires operator intervention. Any wait loops testing other indicators should include a test for Reader Ready. If Reader Ready is lost, the End-of-File indicator (8) should be tested. I G-42 Branch if End of File. This indicator (d-character 8) is turned on when the trailing end of the roll is run through the transport by pressing the end-of-file key. The indicator is reset when another roll is loaded. I The test for this indicator should be executed immediately after the loss of the Reader Ready (7) indicator. Word Marks. Word marks are not affected. Timing. No branch or branch without indexing: T = .0666 ms. Branch with indexing: T = .0777 ms. Address Registers After Operation. No Branch: Branch (without indexing): Branch (with indexing): I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI BI dbb NSI BI blank NSI BI NSI Example. Branch to a subroutine labeled G01285 (1644) if the reader-ready indicator is on (Figure G-62). Autocoder ~ label t: Assembled Instruction: Figure G-62. !. W 44 7 Branch if Reader-Ready Indicator On ISM 1285 Timing Considerations The reading speed of the IBM 1285 Optical Reader depends upon factors which vary with individual applications. The optimum reading speed when using the IBM 1428 character font is given by the following formula: Throughput (Lines per minute) Where: = 60,000 ------4--,--7---:----- ± 5% 1.7W + 1.9S + L + l.4C With the NCR Optical Character Recognition Font, the optimum reading speed is found with the following formula, using the same symbols for the same variables: 60,000 1.7\V + l.9S + C = 10 characters per line L = 4 lines per inch W = 2 inches S = 0.2 inch = tape width in inches distance from tape edge to first character in inches (Lines per minute) = Using the IBM 1428 character font, two examples of throughput are given. C L= W = S= = characters per line = lines per inch C L W == S= Note: Items that can lower the optimum calculated speed are: rescans, branch-l errors, rereads of wrong length lines, and line marking. Both equations pertain to calculations for constant line length and uniform line spacing only. f + 1.55C :- 0.5 ±50/0 4 characters per line 4 lines per inch l7{6 inches 0.1 inch Throughput = 2030 lines per minute Throughput = 3035 lines per minute ISM 1285 Programming Techniques Figure G-63 shows how some of the IBM 1285 instructions might be used. Figure G-63 is only a guide: the application to be performed will dictate the actual use of the instructions. G-42.l Lost Reader Ready File Started Without Header Information OK Reader Ready Go to Next Line Header Information Complete NOTES: 1. This chort illustrates possible uses of IBM 1285 instructions. Actual use of these instructions is application-dependent. 2. In the event of a sol id error condition (ten tries for that line), the programmer might elect to mark ,hot line and skip to the next one, or to go to a full-I ine correction entry. For the latter, do a set correction mode and branch to a routine similar to the header routine. Figure G-63. G-42.2 IBM 1285 Programming Schematic Reader Ready IBM 1026 Transmission Control Unit The IBM 1026 Transmission Control Unit ( Figure G-64 ) provides an economical means of communicating num eric, alphabetic, and special-character data b etween the IBM 1440 system and any of the following sources, via a half-duplex multipoint communications lin e (publication form numbers appear in parentheses) : • IB M • IBM • lllM • IB M 1030 1050 1060 1070 D ata Collecti on Sys tem ( A24-301 B) D ata Communication System ( A24-3020 ) Data Communicati on System ( A24-3034) P rocess Communication System ( A 24-57BO ). As man y as four 1026 units can b e attached to the 1440 system. Information can b e transmitted on a half-duplex lin e in either direction, but in only one direction at a time. The 1026 directs and regulates the flow of data and provides compatibility among terminals and the central processing unit. Refer to IBM 1026 Transmission Control Unit, F orm A24-3244. IBM IBM 1026 Programming Considerations When the IBM 1026 is attached to the IBM 1440 system, the indexing and store-address register features are required if IOCS is to b e used. Without IOCS, programmin g for th e 1026 is made easier and more flexible b y using these features. Once a p articular line has b een selected, it need not be reselected b efore executing instructions p ertaining to th at line, unless an intervening line-select operation is executed. The Select Request-Service Indicator and Select Digital Time Unit instructions, as w ell as Select Line instru ctions, deselect the lin e previously selected . Some special-character d-modifiers used in IBM 1026 instructions are not printable graphics for certain IBM 1440 system configurations. Confusion between uncon ditional and conditional branches can b e reduced by identifying such conditional branches in the comments area of the autocoder coding sheet. Instructions requiring a U op code with a d-character op code must b e coded in actual machine language. IBM 1026 Programming Example Mode Switch This 3-position toggle switch has the followin g functions: 1. The bottom reset p osition provides a means of re- setting the 1026 controls after system power has b een turn ed on. 2. The center 1026 position allows normal 1026 opera tions. 3. The top 1447 position allows the processing unit to address the 1447 console directly. Although actual IBM 1026 programming dep ends upon the application , the following programming examples mu st b e considered . To write to the 1447 console: WCO so U6SEL EXITW TYPE W SBR U6 BI WCP B DA EXITW+ 3 U6SEL, D TYPE W o lX100, G 1, 1 Save return to ma in line. Select 1026 chann el. Branch if buffer busy. 'vVrite to console printer. Branch to main line. Typeout I/O storage area. To read from 1447 console: HCONSO SBR WI U6 WCP BIN U6 BIN B W2 Rl EXIT H TYPER HCP B DA POLST DCW EXITlH 3 POLST Wl ,o Rl, Q W2 TYPER 0 lX200, G 1, 1 @ AO@, G Save return address to main line. Select 1026 channel. Poll th e console. Branch if error. Select 1026 channel. Branch if service request. Branch if no service request. Read from console. Return to main lin E'. Type-in I/ O area. Console polling list . The polling count is stored in the first position of the read-in I/ O area . IBM 1026 Instructions Figure G-64 . IB!I [ 1026 Transmission Control Unit Instructions applying to the cessfully chained. IBM 1026 cannot b e sucG-43 Select Request-Service Indicator Select Digital Time Unit Instruction Format. Instruction Format. d-character Op Code Mnemonic None # Function. This instruction causes the master requestservice (Q) indicator to be selected. This instruction deselects the 1026 line previously selected. Word Marks. Word marks are not affected. Timing. T = .0333 ms. Address Registers After Operation. I-Add. Reg. NSI o Function. This instruction causes selection of the IBM 1032 Digital Time Unit so that clock data can be transferred into core storage by a subsequent Read Console Printer (Rep) instruction. This instruction deselects the 1026 line previously selected. The desired 1026 line must be res elected before 1026 operations can proceed. Word Marks. Word marks are not affected. B-Add. Reg. #bb A-Add. Reg. #bb d-charactef Op Code U Mnemonic None U Example. Select the master request-service indicator so that it can be tested. This instruction does not test the indicator. (Figure G-65). = .0333 ms. Timing. T Address Registers After Operation. I-Add. Reg. NSI Autocoder Lobel A-Add. Reg. B-Add. Reg. Obb Obb 40 Assembled Instruction: Figure G-65. Example. Select the digital time unit as the datatransfer source for the next read-console-printer instruction (Figure G-67). .!L # Select Request-Service Indicator Autocoder I' OPERAND ~o Lobel ~!! :~ :0 Select Line Instruction Format. Assembled Instruction: Operati&n Line 1 Line 2 Line 3 Line 4 Mnemonic None None None None Select Select Select Select Op Code d-character U 6 U 7 U 8 U 9 Figure G-67. Select y. 0 1032 Digital Time Unit IBM Bid Operation Function. These instructions cause selection of the indicators and data channels for a particular IBM 1026 for later examination or data transfer. Instruction Format. Word Marks. Word marks are not affected. Function. This instruction issues a bid to secure a line (previously selected) so that a 1026 can transmit on the polling line. This instruction is not itself a lineselection operation, and does not deselect the 1026 line previously selected. Timing. T = .0333 ms. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. dbb B-Add. Reg. dbb Autocoder OPERAND 40 Assembled Instruction: Q Figure G-66. G-44 7 Select the mM 1026 on Line 2 Op Code U d-character 5 Word Marks. Word marks are not affected. Example. Select the second 1026 so that indicator tests and data transfers can be handled relative to line 2 (Figure G-66). Lobel Mnemonic None :5 ~ Timing. T = .0333 ms. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. 5bb B-Add. Reg. 5bb Example. Issue a bid for line 2, so that polling can be initiated on that line. A SELECT LINE 2 instruction must have been executed prior to this instruction (Figure G-68). Autocoder Write to 1026 lobe I Rperati? v~t! 1 1:lE: OPERAND :5 :0 49 ~o Instruction Format. Assembled Instruction:..!:!. 5 Figure G-6S. Issue mM 1026 Line Bid Instruction Format. Op Code RCP RCPW M. L A-address %TO %TO B-address d-character BBB BBB R R Function. This instruction causes data currently held in the selected 1026 buffer (on the last line selected) to be read into core storage, beginning at the address specified by the B-address. EOB M. L A-address %TO %TO B-address BBB BBB d-character W W • An EOB (in the message) is transferred to the 1026 buffer to go to the line. • A group mark with a word mark is transferred to the 1026 buffer. • After 210 characters have been written. Word Marks. Word marks are not affected when operating in move mode (M op code). Data transfer continues until: 1. An Op Code WCP WCPW Function. This instruction causes information such as a polling list or data to be transferred from core storage to the 1026 attached to the most recently selected line. The transfer stops when: Read from 1026 Mnemonic Mnemonic When operating in load mode (L op code), word marks are transferred to the 1447 console. Word marks are ignored when transferred to the line. is sensed from the line, or 2. A group mark with a word mark is sensed in core storage (an error condition), or 3. A group mark with a word mark is written into the 1026 buffer from the IBM 1447 Console. Records can contain up to 208 characters. Timing. T = .0999 ms + 4.6 ms (delay-line constant) + .02 ms for each character transferred. Address Registers After Operation. I-Add. Reg. NSI Word Marks. Word marks are not affected when in move mode (M op code). Word marks generated from the 1447 console are transferred to core storage when operating in load mode (!: op code). Timing. T = .0999 ms + maximum of 4.2 ms for first character + .02 ms for each character transferred. A-Add. Reg. %30 B-Add. Reg. B + LB + 1 Example. Write the contents of the core-storage area labeled POLL02 (11,601) to line 2 (Figure G-70). Autocoder I" label i 1 1 I~~perati :121 OPERAND 25 59 35 40 45 50 /J,T IMlc,P, IOOLL.o. .2. I I I I I I I I Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %30 Example. Read from 1026 on line 'S, and place the data in core storage beginning at the location labeled IN260S (0632). Line S must first have been selected (Figure G-69). Autocoder Assembled Instruction: .!! M Figure G-69. Read from mM 1026 Assembled Instruction: B-Add. Reg. B + LB + 1 8 %TO 632 R .!L 7 .&. %TO Figure G-70. FOJ W Write to mM 1026 Enable Interrupt and Enable Interrupt and Branch Instruction Format. Mnemonic Op Code I-address SS SSB K K III d-character > > Function. This instruction (d-character bit-configuration 8-4-2) resets the interrupt-routine interlock. The program continues with the next sequential instruction unless an I -address is present. The interG-45 rupt interlock is set either automatically upon entering the interrupt or when the DISABLE INTERRUPT instruction is executed. Refer to Example of Interrupt Subroutine section of IBM 1026 Transmission Control Unit, Form A24-3244. Figure G-71 lists the interruptible instructions of the IBM 1440 system. Word Marks. Word marks are not affected. Address Registers After Operation. Enable Interrupt Enable Interrupt and Branch (without indexing) : Enable Interrupt and Branch (with indexing) : I-Add. Reg. NSI A-Add. Reg. >bb B-Add. Reg >bb NSI BI blank NSI BI NSI Example. Enable the system to accept interruptions, and branch to the subroutine labeled INTOK ( 15,407); Figure G-72. Timing. Enable Interrupt: T = .0333 ms. Enable Interrupt and Branch without indexing: T= .0666ms Enable Interrupt and Branch with indexing: T = .0777ms. Autocoder II OPERAND Label 40 ,: Assembled Instruction: Figure G-72. OPERATIONS DESCRIPTION Interruptable Op Code Disable Interrupt and Disable Interrupt and Branch Instruction Format. 7 5,8 8 A B W 1,4 1,4 1,4 Branch if Word Mark or Zone Compare Control Carriage V C V C F 8 7 5 F 1,4 1,4 2 U 2,5 / 7 / 1,4 1,4 4 4 1,4 0 7 0 % E 7 7 7 % E X X . 5,7 . 7 All L All L Modify Address Move (Excluding I/O) Move Digit # 7 7 7 # M D 1,4 1,4 1,4 Move Record Move and Suppress Zeros Move Zone P Z 7,8 7 P Z Y 7 Y Multiply No Operation Scan @ 7 5,7,8 @ Halt I/O Operations Load (Excluding I/O) N M D N 0 1,2,4 1,4 1,4 4 1,4 4 1,2,4 4 Select Stacker Set Word Mark Store A - Register K 5 Q 7 7 Q 2 1,4 1,4 Store B - Register Subtract Translate H S T 7 7 7,8 H S T 1,4 1,4 1,4 Zero and Add Zero and Subtract ? ! 7 ? ! 1,4 1,4 , Enable Interrupt and Branch Non-Interruptable A B W Divide Edit Expand Compressed Tape 7 K , Mnemonic SS SSB Op Code K I-address d-character K III < < Function. This instruction (d-character B-A-8-4-2) sets the interrupt interlock and prevents the system from honoring any interrupt requests. The interrupt interlock is reset by the ENABLE. INTERRUPT instruction. If an I -address is present, a branch occurs. Word Marks .. Word marks are not affected. Timing. Disable Interrupt: T = .0333 ms. Disable Interrupt and Branch without indexing: T = .0666 ms. Disable Interrupt and Branch with indexing: T = .0777 ms. Address Registers After Operation. Disable Interrupt: Disable Interrupt and Branch (without indexing): Disable Interrupt and Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. Length Op Code Length Add Branch Branch if Bit Equal Control Unit Clear Clear Word Mark .!S. DOG Interruptible Instructions Figure G-73. Disable Interrupt K. < ~ Branch if Request-Service Indicator On Address Mode Status Q Tronsmit EOBt Off Transmit Control EOB Checkt tl Off * Off Line Condition Instruction Format. Good transmission to terminal or console. Off Off On This combination should not occur in transmit mode. Off On Off Program initiated operations are in process (addressing or transmitting). Off On On This combination should not occur in transmit mode. On Off Off I. Answerback not received by 1026 in response to text. 2. Loss of communication line detected during transmission. Transmit Control EOBt On Off On @ Transmit Control EOB Checkt On On Off I. Addressing answerback time-out (no response received from terminal). received in response to addressing. Mnemonic BIN Op Code B I-address d-character III Q Function. This instruction causes a branch to the specified I-address if the selected line CQ6, !I7, !IB, 29, or Q.O) has its request-service (Q) indicator on, or if the master Q indicator is selected (U #) and on. The master Q indicator is on if any line's Q indicator is on, or if any line's buffer-busy (D) indicator is off. The request-service indicator is not reset by this instruction. Figure G-74 is a summary of the 1026 condition indicators. The IBM 1026 Programming Considerations section illustrates the use of IBM 1026 instructions. 2. Loss of communicotion line detected during oddressing. Transmit EOB Check t On On On I. Transmission (to terminal or console) has VRC check which was detected by 1026. 2. Text answerback from terminal is other than 0 Timing. No branch, or branch without indexing: T = .0666ms. Branch with indexing: T = .0777 ms. Polling Mode Status Idle t Q t:I * Off Off Off Line Condition I. End of polling list. 2. Text answerback has been sent to terminal without multiblock feature. 3. Line has been idled. 4. Disconnect operation has been completed. 5. Connection not establ ished when dialing on an automatic calling line. Buffer Check t Off Off On Input message from terminal or console exceeds capacity of buffer or console. Receive Control Off On Off Program initiated operations are in process (polling, bidding, receiving, sending of answerbacks). Off On On This combination should not occur in polling mode. On Off Off Control EOB Check t I. Text time-out (22.6- 23 seconds). No Branch: Branch (without indexing): Branch (with indexing): On Off On I. © G)· B-Add. Reg. NSI BI Qbb NSI BI blank NSI BI NSI Autocoder I' Label 49 Assembled Instruction:.!. 776 Figure G-75. Q Branch if Request-Service Indicator On (0 3. Connection established by dialing on automatic calling line. Receive EOBt On On Off Good message received from terminal or console. Receive Check EOBt On On On Message has VRC or LRC check (from terminal or console). tStatus causes request for interrupt IBM A-Add. Reg. received by 1026 in response to text answerback or 2. Successful bid for line when response to polling is @ Figure G-74. I-Add. Reg. Example. Test the request-service indicator to determine if a request for service is pending for the selected 1026 line, or if any request-service indicator is on. If the test is positive, branch to a subroutine labeled ADDRES (0776); Figure G-75. 2. Successful bid for line due to polling time-out (522-533 millisecands). 3. Loss of communications line during polling or receiving. Control EOBt Address Registers After Operation. 1026 Status-Indicator Settings Branch if Buffer-Busy Indicator On Instruction Format. Mnemonic BIN Op Code B I-address d-character III o Function. This instruction causes a branch to the speci£ed I-address if the selected line's buffer-busy ( D) indicator is on. The indicator is not reset by this instruction. It is reset when the desired line is again selected, and the particular selected 1026 buffer is G-47 available. Refer to Figure G-74 for a summary of 1026 condition indicators, and to the IBM 1026 Programming Considerations section. IBM Word Marks. Word marks are not affected. Autocoder Timing. No branch, or branch without indexing: T = .0666 ms. Branch with indexing: T = .0777 ms. :~ 40 Assembled Instruction:!. Figure G-77. I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. obb NSI BI blank NSI BI NSI 63,E ~o * Branch if Inquiry-Clear Indicator On Branch if Time-Emitter Indicator On Instruction Format. Example. Test the availability of the 1026 buffer on line 4. If the buffer is busy, branch to a routine labeled BY264 (0199). Line 4 must first be selected (Figure G-76). Autocoder OPERAND Label 40 Assembled Instruction:...! 199 Figure G-76. OPERAND Label Address Registers After Operation. No Branch: Branch (without indexing): Branch (with indexing): Example. If the inquiry-clear indicator for line 1 is on, branch to a routine labeled IC2601 (12,635). If the indicator is not on, execute the next sequential instruction. The desired line must first have been selected (Figure G-77). :~ ~o 0 Branch if Buffer-Busy Indicator On Mnemonic BIN Op Code B d-character I-address III Function. The Time Emitter special feature sets an indicator every 3.6 seconds (1/1000 of an hour). This instruction (d-character B-8-4-1) causes a branch to the I -address if 3.6 seconds has elapsed since the indicator was last tested. This instruction resets the indicator, and another 3.6-second time interval is begun. When the interrupt feature is installed, the time emitter automatically causes an INTERRUPT every 3.6 seconds. Word Marks. Word marks are not affected. Branch if Inquiry-Clear Indicator On Instruction Format. Mnemonic BIN Op Code B I-address III d-character ~ Function. This instruction causes a branch to the I-address specified if the inquiry-clear (~) indicator for the selected line is on. This indicator is not reset by the branch instruction. See Figure G-74 for 1026 indicator conditions, and the IBM 1026 Programming Considerations section. Timing. No branch, or branch without indexing: T = .0066ms. Branch with indexing: T = .0777 IDS. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. ]bb NSI BI blank NSI BI NSI Word Marks. Word marks are not affected. No Branch: Branch (without indexing): Branch (with indexing): Timing No branch, or branch without indexing: T = .0666 ms. Branch with indexing: T = .0777 ms. Example. Test the time-emitter indicator, and branch to a routine labeled MDHOWE (9999) if 3.6 seconds have elapsed since the indicator was last tested (Figure G-78). Address Registers After Operation. Autocoder No Branch: Branch (without indexing): Branch (with indexing): G-48 I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. NSI BI blank NSI BI NSI Label 40 ~bb Assembled Instruction: Figure G-78. .!!.. Z9R Branch if Time-Emitter Indicator On • IBM 1440 Data Processing System, Special Features Only those IBM 1440 Data Processing System special feahlres that require program instructions are listed here. For a complete list of special features for this system, refer to the IBM 1440 System Summary, Form A24-3006. Word Marks. Word marks are not affected. Timing. No Branch: T = .1110 ms. Branch (without indexing): T = .1110 ms. Branch (with indexing): T = .1221 ms. Address Registers After Operation. Bit Test This feature is a BRANCH instruction that compares the character located at the B-address with the d-character, bit-by-bit. If any bit in the character located at the B-address matches any bit in the d-character, the program branches to the specified I -address. (WM and C-bits are not compared.) No Branch Branch (without indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. B-1 NSI BI blank NSI BI NSI Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Branch if Bit Equal Instruction Format. Mnemonic Op Code BBE W I-address III B-address BBB d-character d Function. The d-character can contain any character or any combination of bits (BA 8421) that can exist in a Single position of core storage. If the character at the B-address contains any bit that matches any bit in the d-character, the program branches to the I-address. Otherwise, the program continues normally. Example. Examine the storage location labeled UNPOS ( 0759) for a match in the d-character bit configuration. The d-character is a 9 (8- and I-bits). Therefore, if the character contains either an 8- or I-bit, the program branches to BITEST (0985), Figure H-1. Autocoder ~ Label .: iiati~ Assembled Instruction: Figure H-l. OPERAND '!!. 985 759 9 Branch If Bit Equal H-1 = .0333 ms. Direct Data Channel Timing. T This feature provides for the attachment of the 1440 to a 1401, to another 1440, or to a 1460 system. With the direct data channel sproial feature, the two· processing systems are cable-connected through the serial I/O adapter feature on each system. When the direct data channel feature is in use, no other input/output unit can use the serial I/O adapter feature Qn either system. Address Registers After Operation. The cable length between the two systems can be any length up to a maximum of 100 feet. Data transmission takes place serially by chara:cter and parallel by bit (WM BA8421 plus a parity bit). The type of data transmission operatiQn that can be performed is varied and at the discretion of the user. Depending on the program written, bQth systems can send and receive data, or Qne system can send data only while the other system can receive data only. To permit this flexibility, the direct data channel feature makes use of three types of instructions: 1. SIGNAL CONTROL 2. BRANCH 3. MOVE instructions LOAD A-Add. Reg. B-Add. Reg. NSI Cbb Cbb Example. The system executing this instruction signals the other system that it wants to receive data from the other system (Figure H -2) . Autocoder OPERAND :~ Assembled Instruction: Figure H-2. instructions. Signal Control Instructions The SIGNAL CONTROL instructions are used by one processing system to 1. inform the other processing system that it wants to perform a particular operation, or 2. actually perform a particular function in the other system. Signal control instructions applying to the direct data channel feature cannot be successfully chained. KC Read Request Read Request and Branch Mnemonic Op Code SSB K I-address III d-character C Function. The READ REQUEST AND BRANCH instruction functions exactly . like the READ REQUEST instruction, except that the address of the next instruction to be executed is specified by the I -address. Word Marks. Word marks are not aHected. Timing. Branch (without indexing): T = .0666 ms. Branch (with indexing) : T = .0777 ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. Branch (without indexing) : Branch (with indexing) : Read Request Instruction Format. Mnemonic Op Code SS K NSI BI blank NSI BI NSI d-character C Function. This instruction informs the other system that the system initiating this instruction wants to read (receive) data from the other system. This condition is tested for in the other system with its B ( III) 3 instruction. Word Marks. Word marks are not aHected. H-2 : Instruction Format. instructions and I-Add. Reg. Write Request Instruction Format. Mnemonic Op Code d-character SS K D Function. This instruction infonns the other system that the system initiating this instruction wants to send (write) data to the other system. This condition is tested for in the other system with its B (III) 4 instruction. Word Marks. Word marks are not affected. Timing. T Address Registers After Operation. A-Add. Reg. Dbb Instruction Fm·mat. Mnemonic SS B-Add. Reg. Dbb Example. The system executing the instruction signals the other system that it wants to send data to the other system (Figure H -3 ) . OPERAND Assembled Instruction: Figure H-3. d-character K E This reset instruction must be included at the start of every direct-data channel program. Word Marks. Word marks are not affected. Autocoder :~ Op Code If one of the systems is a 1401, this instruction must be given prior to the executing each read- or writedata instruction. This reset instruction must be executed by the 1401 every time the 1440 system is started or restarted. Because the 1401 start-reset key does not include this function, this resets the end-of-transmission circuitry in the 1440 system. = .0333 ms. I-Add. Reg. NSI Reset ~ Timing. T = .0333 ms. Address Registers After Operation. KD I-Add. Reg. NSI 'Write Request A-Add. Reg. Ebb B-Add. Reg. Ebb Example. Reset the end-of-transmission circuitry in the other system (Figure H -4) . Autocoder OPERAND :'. ,~ Assembled Instruction: Write Request and Branch Figure H -4. Instruction Format. Mnemonic SSB Op Code I-address III K .!S. E Reset d-character D Function. The WRITE REQUEST AND BRANCH instruction functions exactly like the WRITE REQUEST instruction, except that the address of the next instruction' to be executed is specified by the I-address. Reset and Branch Instruction Format. Mnemonic SSB Word Marks. Word marks are not affected. Op Code K I-address III d-character E Function. The RESET AND BRANCH instruction functions exactly like the RESET instruction, except that the address of the next instruction to be executed is specified by the I -address. Timing. Branch (without indexing) : T = .0666 ms. Branch (with indexing) : T = .0777 ms. Word Marks. Word marks are not affected. Address Registers After Operation. Branch (without . indexing): Branch (with indexing) : ~ I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI BI blank NSI BI NSI Timing. Branch (without indexing) : T = .0666 ms. Branch (with indexing) : T = .0777 ms. H-3 Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI BI blank NSI BI NSI Branch (without indexing) : Branch (with indexing) : Function. This instruction and its associated d-characters are used by the system initiating these instructions to check for various conditions on the other system. When a tested condition is present, the program branches to the previously written subroutine. The BRANCH IF INDICATOR ON instruction, the condition it tests for, and other associated information is shown in Figure H-5. Branch Instructions Word Marks. Word marks are not affected. Branch if Indicator On Instruction Format. OpCode B Mnemonic BIN I-address III d-character d Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. System B, Testing Conditions in System A with Branch-If-Indicator-On Instructions Line/Signal Conditions in System Initiating Li nelS igna I (System A) Sent Process Check due to detection of Transmission Error Reset By Branch Instructi on * Indicator Reset Start Reset Key ! (III) 1 By executing the Branch Instruction in System B, or by pressing Start Reset Key in System A; both alternatives after pressing the Check Reset Key in System A. End of Transmission. A GMWM was reached in the System A I/O-area during the previous data transfer. (The I/O-area in System A was smaller or equa lin si ze to the System B). I/O Disconnect 1401, 1440, 1460 executing a K E instruction in"the other system. 1440, 1460 Start Reset Key ~(1II)2 By executing a K E Instruction in System B or by pressing the Start Reset Key in System A, if System A is a 1440 or 1460 System. Note: This indicator must be off in bothsystems before initiating any data transfer. A Read Request Instruction (K C ) has been executed in SystemA. Read Request Start Reset Key ~ (III) 3 By executing a Write Data (with or without word marks) instruction, or pressing the Start Reset Key in System A. A Write Request Instruction (K D) has been executed by System A. - Write Request Start Reset Key !(1II)4 By executing a Read Data (with or without word marks) instruction, or pressing the Start Reset Key in System A. A Write Data Instruction is being executed in System A. Start Reset Key !(III)6 When System A ends the Write operation • (This is done when System B has executed a read instruction or by pressing the Start Reset Key in System A, or if the Indicator 2 was not reset in System A.) A Read Data Instruction is being executed in System A. Start Reset Key ~ (III) 7 When System A ends the read operation. (This is done when System B has executed a write operation or by pressing the Start Reset Key in System A, or if the Indicator 2 was not reset in System A. ) System A stopped (Stop key pressed, STOP Instruction, error stop, etc.). Start Reset Key ! (III) 8 When System A starts. * The d-character Figure H-5. H-4 must be in the operand field when using a BIN mnemonic. Branch If Indicator On Instruction Summary Direct Data Channel Feature Address Registers After Operation. 't\o Branch Branch (without indexing) Branch (with indexing) Read Data I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. dbb NSI BI blank NSI BI NSI Instruction Format. Mnemonic MU Example. Test for end of transmission by other system. If other system did signal an end - of - transmission, branch to MSGSNT (0843), Figure H -6. Op Code M A-address %H1 B-address BBB d-character R Function. This instruction causes-·the data sent from the other system to read into core storage, beginning at the core-storage location specified in the instruction. Autocoder OPERAND label :~ Assembled Instruction: Figure H-6. ! . ~a 843 2 Word Marks. Word marks are not stored when operating in the move mode (M operation code). Timing. T = .0999 ms + transmission and start time. Branch If Indicator On Address Registers After Operation. I-Add. Reg. NSI Move and Load Instructions The MOVE or LOAD instruction [M or L (%Hl) (BBB) R or W] is used by the systems to transmit or receive the data in either the move mode or the load mode. The parts of the instruction and their uses are: M or!=.. The M or 1. operation code specifies whether the data transmission will be performed in the move mode or load mode. If the move mode is specified, up to 7 bits per character (CBA8421) are involved in the data transmission. If the load mode is specified, up to 8 bits per character (WM CBA8421) are involved in the data transmission. The same mode must be used by both systems for anyone particular data transmission. Word marks wOuld be lost if the message transmission were in the load mode, but the message reception were in the move mode. %Hl. The A-address (%Hl) specifies that the direct data channel feature is used in perfonning this instruction. BBB. The B-address specifies the high-order position of the message in core-storage area involved in the data transmission. R or W. A d-character of R specifies a read operation. This d-character is used when the other system is sending the data. A d-character of W specifies a write operation. This d-character is used when the other system is receiving the data. A-Add. Reg. %81 B-Add. Reg. B + message length + 1 Example. Read data from the other system and place it in core storage, beginning at location 0633 (area is labeled INPDAT), Figure H-7. Autocoder ~ OPERAND :: label Assembled Instruction: Figure H-7. M %Hl . ~ 633 R Read Data Read Data with Word Marks Instruction Format. Mnemonic Op Code LU L A-address %H1 B-address BBB d-character R Function. This instruction is similar to the READ DATA instruction except that word marks in the record area of core storage are removed, and word marks sent with the other data are written in core storage. Word Marks. Word marks transmitted from other systems are written in core storage. Timing. T = .0999 ms + transmission and start time. Address Registers After Operation. Instructions applying to the direct data channel feature cannot be successfully chained. I-Add. Reg. NSI A-Add. Reg. %81 B-Add. Reg. B + message length + 1 H-!5 Example. Read data from the other system, with its associated word marks, and place it in core storage, beginning at location 0633 (area is labeled INPDAT), Figure H-8. Function. This instruction is similar to the WRITE DATA instnlCtion except that word marks in the output area of core storage are transmitted with the associated data. Autocoder Word Marks. Word marks are sent to the other system. ~ label' ! Timing. T : Assembled Instruction: Figure H-8. 1. = .0999 ms + transmission and start time. %Hl 633 R Address Registers After Operation. Read Data with Word Marks I-Add. Reg. NSI Instruction Format. Op Code MU M B-Add. Reg. B + message length + 1 Example. Send data to the other system, with its associated word marks, from the core-storage area labeled OUTDAT (first position of the data located in 0633); Figure H-IO. Write Data Mnemonic A-Add. Reg. %81 A-address %H1 B-address BBB d-character W Autocoder ~ F unction. This instruction causes data to be sent to the other system from core storage, beginning at the core-storage location specified in the instruction. OPERAND :: label .: Assembled Instruction: Figure H-lO. ! ~ %Hl 633 W Write Data with Word Marks Word Marks. Word marks are not sent to the other system when operating in the move mode (M operation code). Instruction Utilization in the Program Timing. T = .0999 ms + transmission and start time. With the instructions just descri~ed, the specific type of system-to-system data transm~ssion can be set up. The type of operation performed is at the discretion of the user because the operatiOV is completely programmed. Add1'ess Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %81 B-Add. Reg. B + message length + 1 Example. Send data to the other system from the corestorage area labeled OUTDAT (first position of the ~ata located in 0633), Figure H-9. Autocoder ~ Each system has its own specifically designed program, using the previously described instructions. Some instructions are used in both programs, while other instructions might appear in only one program, if at all. The instructions used are completely dependent on the specific type of data transmission involved. OPERAND label :' AssembJed Instruction: M ! ~ l-Way System-to-System Data Transmission %Hl 633 W Write Data with Word Marks To illustrate one kind of system-to-system data transmission, assume a hypothetical case where one system sends data only, while the other system receives data only. The program procedure illustrated in Figure H-ll is meant only as an example to show the use of the various instructions and should not be considered the optimum procedure for this kind of operation. Instruction Format. Sending-System Operation Figure H-9. Write Data Mnemonic OpCode LU L H-6 A-address %H1 B-address d-character BBB W 1. The sending system enters its system-to-system data transmission program and executes a BRANCH instruction, !!. (III) 8, which checks to see whether the othel' system is operating. IF INDICATOR ON 2. If the other system is stopped for any reason, the program branches into a previously specified subroutine, which may, for example: a. permit processing of some other information, or, b. stop the system that initiated the instruction, or, c. notify the system operator in some way. 10. If no transmission error occurred, a BRANCH IF INDICATOR ON instruction, B (III) 2, is executed, which checks to see whether the other system ended the data transmission. 11. If the other system did not end the data transmission, it means that the entire message was transmitted. The subroutine ends, and the system returns to its main program. 3. If the other system is operating, another BRANCH IF INDICATOR ON instruction, li (III) 7, is executed, which checks the other system to see whether it is trying to execute a READ instruction. If the other system is trying to execute a READ instruction, it informs the sending system by setting the indicator tested by a ~ (III) 7 instruction. 12. If the other system did end the data transmission, a check must be made to see whether the entire message was transmitted. One method that could be used is to compare the address stored in step 7 with the address known to be the last core-storage address in the sending system data area. 4. When a !! (III) 7 instruction results in a branch, the sending system immediately executes a WRITE instruction, M or 1: (%Hl) (BBB) W. 9. If the two addresses do not compare, the end-oftransmission circuitry in the other system is reset, and the sending system tries to send the data again (step 4) because the receiving system did not receive the complete message. The actual data transmission occurs between the two systems and continues until one of the systems encounters a preset group mark with a word mark in its core storage. The group mark with a word mark terminates the data transmission operation and sends a termination signal to the other system. (See Notes at the end of this data-transmission example for further information.) 5. If any transmission error occurs in the sending system during the data transmission, the sending system stops at the end of the data transmission operation. 6. The system operator must start the system operating again and will either try to send the data again (step 4) or start at the beginning of the subroutine (step 1). 7. If no transmission error occurred in the sending system during the data transmission, the corestorage address contained in the B-address register is stored in a location specified by the STORE BADDRESS REGISTER instruction, H (BBB). This information is used later to determine whether the complete message was transmitted. 8. A BRANCH IF INDICATOR ON instruction, !! (III) 1 is executed, which checks to see whether any transmission errors occurred in the other system. 9. If any error occurred in the other system, the endof-transmission circuitry in that system is reset (~E instruction) and the sending system tries to send the data again. The actual data transmission does not start until the operator corrects the error condition in the other (receiving) system and starts that system operating again. 13. If the two addresses do compare, the entire message was transmitted. The end-of-transmission circuitry in the other system is reset. 11. The subroutine ends, and the system returns to its main program. Or, if the other system is not trying to execute a read instruction: 3. A BRANCH IF INDICATOR ON instruction, !! (III) 7, is executed, which checks to see whether the other system is trying to execute a READ instruction. 14. If the other system is not trying to execute a READ instruction, the sending system informs the other system that the sending system wants to send data by executing a WRITE REQUEST instruction, ~D. Receiving-System Operation In the receiving system operation being used in this example, three conditions can occur: 1. Sending system wants to send data, or, 2. Sending system is trying to execute a struction, or, WRITE in- 3. Sending system does not want to send data and is not trying to execute a WRITE instruction.. Each one of these situations is explained. 15. The receiving system enters its system-to-system data transmission program and executes a BRANCH IF INDICATOR ON instruction, B (III) 8, which checks to see whether the other system is operating. H-7 Subroutine At Discretion of The Programmer Trying To Execute A Read Instruction Send Data To Other System M or L %Hl Signal Other System That This System Wants To Send Data (Write) Trying To Execute A OR -------Write Instruction ii'BBW Write Request .!SD Operator Intervenes Receive Data From Other System MorL%Hl BBB K- Store B - Address Register Contents H BBB Operator Intervenes mission Circuitry In Other System .!S.E Clear And Readjust 1-_ _...... The Read-In Area Reset End-ofTransmission Circuitry In Other System .!S.E Yes Reset End-of-Transmission Circuitry In Other System .!S.E Reset End-of-Transmission Circuitry In other System .!S. E Figure H-U. H-8 Programming Example of One-Way System-to-System Data Transmission Return To Main Program 16. If the other system is stopped for any reason, the program branches into a previously specified subroutine that may be similar to the subroutine described in step 2. Condition 1: Sending system wants to send data. 17. If the other system is operating, another BRANCH IF INDICATOR ON instruction, Ji (III) 4 is executed. This instruction checks to see whether the other system wants to send data. This condition originated in step 14 of the sending system program. If the other system wants to send data, the receiving system immediately tries to execute a READ instruction, M or L (%H1) (BBB) R. The data transmission does not take place immediately, however. In trying to execute a READ instruction, the receiving system signals the sending system that it is trying to execute a READ instruction. After a negligible time interval, the sending system enters its system-to-system data-transmission program and this condition initiates the data transmission previously described in step 4. 18. When the execution of a 12. (III) 4 instructipn results in a branch, the receiving system immediately executes a READ instruction, M ur L (%H1) (BBB) R. The actual data transmission occurs between the two systems and continues until one of the systems encounters a preset group mark with a wurd mark in its core storage. The group mark with a word mark terminates the data transmission operation and sends a termination signal to the other system. (See Notes at the end of this data-transmission example for further information. 19. If any transmission error occurs in the receiving system during the data transmission, the system stops at the end of the data transmission. 20. The system operator must start the system operating again and will either try to receive the data again (step 18) or start at the beginning of the subroutine (step 15). 21. If no transmission errur occurred in the receiving system during the data transmission, a BRANCH IF INDICATOR ON instruction, l!. (III) 1 is executed, which checks to see whether any transmission errors occurred in the other system. 22. If any error occurred in the other system, the endof-transmission circuitry in that system is reset and the receiving system tries to receive the data again (step 18). 23. If no transmission error occurred, a BRANCH IF IN- instruction, 13. (III) 2 is executed, which checks to see whether the other system ended the data transmission. DICATOR ON 24. If the other system did not end the data transmission, it means that the receiving system read-in area was not large enough to accept the incoming message. A subroutine is executed to readjust the read-in area so that it can accept the entire incoming message, and the receiving system tries to receive the data again (step 18). At approximately this same time, steps 10, 12 and 9 are being executed in the other system. As previously described in these steps, the other system automatically tries to send the message again. As sOOin as the read-in area is adjusted, another data transmission operation takes place. 25. If the other system did end the data transmission, the end-of-transmission circuitry in the other system is reset by initiating a RESET (KE) instruction. 6. The subroutine ends and the system returns to its main program. Condition 2: Sending system trying to execute a instnlCtion. WRITE 27. If the other system is operating, and is not trying to send data, another BRANCH IF INDICA'FOR ON instruction, ~ (III) 6 is executed. This instruction checks to see whether the other system is trying to execute a WRITE instruction as a result of an operator intervention or some other condition. If the other system is trying to execute a WRITE instruction, it informs the receiving system by setting the indicator tested by a B (III) 6 instruction. When the execution of a ~ (III) 6 instruction results in a branch, the program previously described in steps 18-26 is executed. Condition 3: Sending system does not want to send data and is not trying to execute a WRITE instruction. 15, 17, 27, 26. If the other system is operating, but does not want to send data, and is not trying to execute a WRITE instruction, the subroutine ends and the system returns to its main program. Notes: 1. The conditions that specify the terminating system are: a. The writing system temlinates the data transmission (activates its I/O disconnect line to the other system) when the read input area is longer than the write output area. h. Both the reading and writing systems terminate the data transmission when the read input area is the same size as the write output area. H-9 c. Both the reading and writing systems terminate the data transmission when the read input area is one core-storage position shorter than the write output area. d. The reading system terminates the data transmission when the read input area is shorter than the write output area by more than one core-storage position. 2. When either system, or both systems, ends data transmission, one, or both, I/O disconnect lines are activated. As long as this line is active, neither system can execute a direct-datachannel input/output instruction. A WRITE DATA instruction is treated as a NO OPERATION instruction; a READ DATA instruction places a group mark in the first position of the addressed I/O area in core storage, and then ends the operation. 3. Each system must reset the other system's I/O disconnect line. If a B (III) 2 instruction causes a branch, the system in which the branch occurred must execute a KE instruction before the system can execute a direct-data-cl;annel input! output instruction. 2-Way System-to-System Data Transmission The programming involved in a 2-way system-tosystem data transmission operation is, of necessity, more involved than the I-way system-to-system programming just described. If both systems send and re- H-10 ceive data, then the same program routine used by one system can also be used by the other system. To permit maximum efficiency, each system must test the status of the other system at regular intervals. If the data transmission operations of one system have priority over the other system's operations, the program must include routines that will terminate, or delay, the other system's operations. If two duplicate programs are used, each program should include a dissimilar timing loop so that the systems do not re-enter their routines together after terminating an operation. If both programs try to execute READ instructions at the same time, both the systems stop operating because all program execution stops. Each system then waits for the other system to start sending data, but neither one ever starts. This condition can be elimina ted by proper programming. If both programs try to execute WRITE instructions at the same time, the write operations are completed, but neither message is transferred, resulting in the 10'ss of one message in each system. This condition can be eliminated by proper programming. Direct Seek This special feature reduces access time on the 1311 disk storage drive (from 400 to 250 ms maximum, and from 250 to 150 ms average) by allowing the access assembly to be positioned directly at a new setting without returning to the home position. CHARACTER BIT CODE BA 8 21 * BA 8421 B 8 21 $ B 8421 A821 The instruction used for the direct-seek operation is the same as that used with normal seek (M%FO BBB R). The B-address position of the instruction contains the core-storage address of the high-order position of the 10-digit disk-control field used. 8421 Figure H-13. Disk-Control Field Direct-seek operations use a 6-position sector address from the specified disk-control field (Figure H -12) . The first position of the disk-control field (the alternate code position) contains the disk-drive number (0, 2, 4, 6, or 8). An asterisk cannot be used for· this operation. The next four positions (2-5) contain a signed 4-digit number equal to twice the number of cylinders to be advanced (+) or retracted (-). A8421 +It Unacceptable Characters in Sixth Position of Disk-Control Field The sixth position contains a pound (#) sign to indicate a direct-seek operation. Any other character with an 8-2-1 bit combination will be taken to indicate a direct-seek operation and cannot, therrefore, be used in the sixth position. See Figure H-13 for a list of these characters. The signed difference field can be calculated by the method shown in Figure H-14. This method uses the four high-order positions of the disk address at which the access arm is positioned and the four high-order positions of the disk address to be sought. Both fields must be changed to either odd or even (either add one to an even number to make both numbers odd, or, subtract one from an odd number to make both numbers even). The old address is then subtracted from the new address. The result of the subtraction has the conect sign to indicate that the mechanism is to advance (+) or retract (-). If, for 'Some reason, the address fails to specify the module in the alternate-code position, the direct seek is executed on the master file. Disk Control Field Alternate Code Sector Address Sector Count Field X X XXXXXX XXX ~##X T Remarks Any Valid Digit Any Valid Digit Direct Seek Code Figure H-12. Both Odd 0043 Signed Difference (No. of Cylinders to be crossed Times 2 must be signed). New Address 004372 0043 Old Address 003291 0032 Drive Number (0, 2, 4, 6 or 8) Signed Difference 0010 (+because increase in address) Disk-Control Field for Direct Seek +1 0033 difference 0010 + Figure H-14. Calculating Signed Difference H-ll Number of Cylinders Traveled I Time In Milliseconds 1 54 Minimum 67 80 90 5 --------105 6 115 7 130 2 3 4 8 9 10 ~ 30 40 50 60 70 80 90 99 Figure H-15. 140 155 165 130 137 154 170 185 202 217 235 248 Maximum Cylinder Seek Time with Direct Seek Expanded Print Edit The basic operations of the MOVE CHARACTERS AND EDIT instruction can be increased by the expanded print edit feature. With this feature, asterisk protection, floating dollar sign, decimal control, and sign control left, operations can be performed. The zerosuppression code in the control word should be in the position immediately to the left of the decimal, except as required in Decimal Control. Note: Floating dollar sign and asterisk protection or floating dollar sign and decimal control cannot be used in the same edit operation. When asterisk protection and decimal control are combined, and a blank data field is edited, the result is asterisks in all positions to the left of, but not including, the decimal-control position. Asterisk Protection When asterisks are to appear to the left of significant digits, the asterisk protection feature is used (Figure H -16). The control word is written with the asterisk immediately to the left of the zero suppression code. Zero-balances can be protected with asterisks by placing control zeros in the right-most position. In this instance, asterisks print in all positions including the decimal position. Direct-Seek Timing Figure H-15 provides seek times when direct-seek feature is installed on the system. Forward Scan: 1. The normal editing process proceeds until the asterisk is sensed. 2. The corresponding digit from the A-field replaces the asterisk (in the output field). 3. The editing process continues normally until the B-field word mark is sensed and removed. Reverse Scan: Expanded Disk-Storage Control 1. Asterisks replace zeros, blanks, and commas, to the left of the first significant digit. This feature provides the controlling circuitry necessary for the attachment of any IBM 1301 Disk Storage units to the system. (The disk-storage control special feature is a prerequisite.) 2. The word mark (set during the forward scan) signals the end of editing. It is erased, and the operation is stopped. For more detailed information on 1301 operation, refer to IBM 1301 Disk Storage, Models 11, 12, 21, and 22, Form A24-3157. H-12 Floating-Dollar Sign This feature causes the insertion of a dollar sign in the position at the left of the first Significant digit in an A-field Control word (B-field) Forward scan 20257426 bbb, b*O. bb&CR • 002,574.26 CR --+ Q037894'O A-field Control word (B-field) CR&bbb, -, bbO. bb Forward scan CRb003, 782.40 • Reverse scan **2,574.26 CR Reverse scan CRbbb3,789.40 Results of edit **2,574.26 CR Results of edit CR Figure H-16. Figure H-18. Asterisk Protection amount field (Figure H-17). The control word is written with the $ immediately to the left of the zero-suppression code. N ate: The control word must be larger than the A-field. Three scans are necessary to complete this editing operation. First Forward Scan: 1. The editing proceeds until the $ is sensed. 2. The corresponding digit from the A-field replaces the $ (in the output field). 3. Editing continues until the B-field word mark is sensed and removed. Reverse Scan: 3,789.40 Sign Control Left (Figure H-18). The control word is written with the OR or minus symbols in the high-order position. Forward Scan: 1. The scan proceeds until the zero suppression character in the control field is sensed. 2. The corresponding character from the A-field is placed in this position of the output field. 3. A word mark is automatically inserted in this position in the output field. 4. Editing continues and the CR or minus symbols are undisturbed in their cOl'responding positions in the output field, only if the sign of the A-field is minus, If the sign is plus, they are blanked. Reverse Scan: 1. Blanks replace both zeros and commas to the left of the first significant digit. 2. The reverse scan continues until the word mark (set during the first forward scan) signals the start of the second forward scan. 1. Blanks in the output field replace zeros and commas. The scan continues until the automatically set word mark is sensed. 2. This word mark is erased and the operation ends. Second Forward Scan: 1. The word mark is erased and the scan continues until the first blank position is sensed. This blank position is replaced by $, and the operation stops. Sign Control Left CR or minus symbols can be placed at the left of a negative field, if the sign control left feature is used A-field Control word (B-field) Q0257426 • 002,57~.26 Reverse scan bbb 2,574.26 Results of edit Figure H-17. Floating Dollar Sign This feature ensures that decimal points print only when there are significant digits in the A-field (Figure H-19). Two scans are sufficient to complete this editing operation, unless the field contains no Significant digits. Then three scans are required. First Forward Scan: ebbb, b$O. bb First forward scan Second forward scan Decimal Control -- $2,574.26 $2,574.26 1. When the zero suppression code (0) is sensed during editing, the corresponding digit from the A-field replaces this position. 2. A word mark is set automatically in this position in the B- (output) field. 3. Editing continues normally until the B-field word mark is sensed and removed. H-13 QOOOO 1. A.field Control word (B.field) !!bb. bO ~ First forward scan Reverse scan Second forward scan Results of edit -- 000·02 bbb.OO bbb (Blank Field) ~9437 2. A·field Control word (B-field) First forward scan Reverse scan Result of edit 3. A·field -- .ebb. bO 294.31 294.37 294.37 Q0001 Control word (B·field) ~bb.bO First forward scan - -.... Reverse scan bbb.01 Results of edit Figure H-19. A large-scale data processing system (such as the IBM 1410/7010) can transmit data to and from an IBM 1440 Data Processing System. The large-scale system must have a control adapter feature, priority feature, and processing overlap feature installed, while the 1440 system must have the Expanded Serial I/O Adapter feature installed. Also, a prerequisite for the 1440 system is the indexing and store-address register feature and the bit-test feature . Throughout this section, the large-scale data processing system is referred to as the primary system; the IBM 1440 Data Processing System is referred to as the secondary system. See Figure G-35 for a list of instructions that can be interrupted. OOO.O! .01 Decimal Control Reverse Scan: 1. Blanks in the output field replace zeros and commas until the decimal point is sensed. 2. The decimal point and the digits at its right are unaltered. The automatically-set word mark is erased. If there are no significant digits in the field, the second forward scan is initiated. Otherwise, the edit operation stops. Second Forward Scan: 1. Blanks replace the zeros at the right of the decimal point and the decimal point itself. 2. The operation stops at the decimal column. H-14 Expanded Serial Input I Output Adapter Primary System Operation The primary system can initiate four types of operations: 1. Read operation 2. Write operation 3. Control operation 4. Sense operation. Any of these can cause an interrupt in the secondary system. Read Operation When the primary system initiates a read operation, it sends a read command signal to the secondary system. This signal sets the primary read latch ON in the secondary system (latch remains on until the operation ends). When the secondary system program tests the primary read latch and finds it on, the program branches into a subroutine that sends data from the secondary system to the primary system. Write Operation 1. read command When the primary system initiates a write operation, it sends a write command signal to the secondary system. This signal sets the primary write latch ON in the secondary system (latch remains on until the operation ends). When the secondary system program tests the primary write latch and finds it on, the program branches into a subroutine that receives data in the secondary system from the primary system. 2. write command 3. control command 4. sense command 5. end response 6. operational aut line 7. stop. Figure H-20 shows a summary of the primary system Signals. Control Operation When the primary system initiates a control operation, it sends a control command signal to the secondary system. This signal sets the primary control latch ON in the secondary system (latch remains on until the operation ends). When the secondary system program tests the primary control latch and finds it on, the program branches into a subroutine that receives control data in the secondary system from the primary system. The data must be analyzed by the secondary system to determine what it must do under primary system control. Read Command The read command signal is sent to the secondary system by the primary system to initiate a primary system read operation. The read command signal sets ON the primary read latch in the secondary system. The status of the primary read latch is checked with a BRANCH IF INDICATOR ON instruction - ~ (III) 3. Signal Function Sense Operation When the primary system initiates a sense operation, it sends a sense command signal to the secondary system. This signal sets the primary sense latch ON in the secondary system (latch remains on until the operation ends). When the secondary system program tests the primary sense latch and finds it on, the program branches into a subroutine that sends status data from the secondary system to the primary system. The status operation is usually initiated by the primary system when the secondary system initiates an unusualend signal or an attention signal. This status data sent to the primary system is usually only four characters in length and indicates what condition initiated the unusual-end signal. Some af the conditians that can initiate the signal are: 1. program check Read-Command Signal Sent to the secondary system to initiate a primary system-read operation. Turns ON primary read latch, and the latch status is checked with a ~ (III) 3 instruction. Write-Command Signal Sent to the secondary system to initiate a primary system-write operation. Turns ON primary write latch, and the latch status is checked with a ~ (III) 4 instruction. Control-Command Signal Sent to the secondary system to initiate a primary system-control operation. Turns ON primary control latch, and the latch status is checked with a ~ (III) 7 instruction. Sense-Command Signal Sent to the secondary system to initiate a primary system-sense operation. Turns ON primary sense latch, and the latch status is checked with a ~ (III) 6 instruction. End-Response Signal Sent to the secondary system as an acknowledgement signal after receiving an end or unusual end signal. Turns OFF any primary latch in the secondary system that is ON. Operational Out Line Tells the secondary system if pri mary system is operating. Can be program-tested wi th a ~ (III) 8 instruction. Stop Signal Tell s the secondary system that pri mary system has terminated the data-transmission operation. 2. message length check 3. nO' storage available. Primary System Signals The primary system communicates with the secondary system by using seven signals: Figure H-20. Primary System Signal and Line Condition Summary H-15 Write Command Stop The write cammand signal is sent to' the secandary system by the primary system to' initiate a primary system write operation. The write command signal sets ON the primary write latch in the secandary system. The stop signal is used to inform the secondary system that the primary system has tenninated the datatransmissian operatian in process. The secondary system then terminates its own read or write aperation and proceeds to the next instruction. Depending on the program procedure, the secondary sySitem sends either an end or an unusual-end signal to the primary system as a recognition signal of the stop. The status of the primary write latch is checked with a BRANCH IF INDICATOR ON instruction - ~ (III) 4. Secondary System Instructions Control Command The control command signal is sent to' the secandary system by the primary system to initiate a primary system control operation. The control command signal sets ON the primary control latch in the secondary system. The status of the primary control latch is checked with a·BRANCH IF INDICATOR ON instruction - ~ (III) 7. The secondary system makes use of three types of instructions to communicate with the primary system: 1. SIGNAL CONTROL instructions. 2. BRANCH IF INDICATOR ON instructians. 3. READ AND WIUTE instructions. These instructions cannot be successfully chained. Signal-Control Instructions Sense Command The SIGNAL CONTROL instructions are used by the secondary system to': The sense command signal is sent to' the secandary system by the primary system to' initiate a primary system sense operation. The sense command signal sets ON the primary sense latch in the secondary system. 2. inform the primary system of a particular sooondarysystem condition. The status of the primary sense latch is checked with a BRANCH IF INDICATOR on instruction - ~ (III) 6. Figure H -21 shows a summary of all SIGNAL CONTROL instru'Ctions. End Response The end response signal is sent to the secondary system by the primary system after the primary system accepts either the end ar the unusual-end signal sent to' it fram the secondary system. The end response signal turns aff any primary latch (primary read, primary write, primary control, primary sense) that is an, and terminates the end ar unusual-end conditian in the secondary system. 1. perform a particular function in the secondary system, Of, Send Attention Signal Instruction Format. Op Code Mnemonic SS .K INSTRUCTIONS H-16 DESCRIPTION ~ A or ~ III A Originates an attention signal that is sent to the primary system. K E or ~ III E Originates an end signa I that is sent to the primary system. Operational-Out Line An active operational-aut line tells the secondary system that the primary system is aperating. If the operational-out line becomes inactive during a secondary system read, write, control, or sense operation, the secondary system data transfer is terminated. The status of this line can be program-tested in the secondary system by executing a BRANCH IF INDICATOR ON instructian - ~ (III) 8. d-character A 1$ F or ~ Originates an unusua 1- end signa I that is sent to the primary system. III F III > Permits secondary system program interruption by anyone of the four primary systemoperation commands. ~ III < Prevents secondary system program interruption. ~ > or !S !S < or Figure H-21. Signal Control Instruction Summary Function. This instruction sends an attention signal to the primary system, which sets ON an attention indicator in the primary system, and indicates that the secondary system wants t9 transfer data with the primary system. When the primary system tests the attention indicator, it also sends an attention response signal back to the secondary system, and the attention signal is reset. The secondary system does not suspend system operation after executing this instruction, but proceeds to the next instruction. Example. Send an attention signal to the primary system and branch to core-storage location 0385 (area labeled PSTST); Figure H-23. Autocoder OPERAND :~ , : Assembled Instruction: .IS. 385 A Figure H-23. Send Attention Signal and Branch Word Marks. Word marks are not affected. Timing. T = .0333 ms. Send End Sign.al Note. For proper operation, this instruction should be followed by one of the primary latch test instructions (primary read, write, sense, or control). Instruction Format. Mnemonic SS !tddress Registers After Operation. I-Add. Reg. NSI A-Add. Reg. Abb B-Add. Reg. Abb Example. Send an attention signal to the primary system (Figure H -22). Autocoder ~ OPERAND :' : label KA Assembled Instruction: Figure H-22. Function. This instruction sends an end signal to the primary system and is usually used to signify that a normal end condition resulted from the previous data transfer between the primary and secondary system. The signal causes the primary system to automatically terminate its operation, and proceed to the next instruction. Either this instruction or the UNUSUAL-END instruction must be executed to end the data transmtission. Timing. T Send Attention Signal and Branch = .0333 ms. Address Registers After Operation. I-Add. Reg. NSI Instruction Format. Op Code K d-character E Word Marks. Word marks are not affected. Send Attention Signal Mnemonic SSB Op Code K I-address III B-Add. Reg. Ebb A-Add. Reg. Ebb d-character A Function. This instruction is similar to the SEND ATTENTION SIGNAL instruction, except that the next instruction is taken from the I-address. Example. Send an end signal to the primary system (Figure H -24) . Autocoder ~ label Word Marks. Word marks are not affected. Assembled Instruction: Timing. Branch (without indexing) : T = .0666 ms. Branch (with indexing) : T = .0777 ms. Figure H-24. Address Registers After Operation. I-Add. Reg. Branch (without indexing): Branch (with indexing) : KE Send End Signal Send End Signal and Branch A-Add. Reg. B-Add. Reg. NSI BI blank NSI BI NSI Instruction Format. Mnemonic SSB Op Code K I-address III d-character E H-17 Function. This instruction is similar to the SEND END SIGNAL instruction, except that the next instruction is taken from the I -address. Example. Send an unusual-end signal to the primary system (Figure H-26). Word Marks. Word marks are not affected. ~ Autocoder Timing. Branch (without indexing) : T = .0666 ms. Branch (with indexing) : T = .0777 ms. OPERAND :'. : Label Assembled Instruction: Figure H-26. ! F Send Unusual-End Signal Address Registers After Operation. I-Add. Reg. Branch (without indexing) : Branch (with indexing) : A-Add. Reg. B-Add. Reg. NSI BI blank NSI BI NSI Example. Send an end signal to the primary system and branch to core-storage location 0853 (area labeled MPRET); Figure H -25. Autocoder ~ OPERAND :'. : Label .: Assembled Instruction: Figure H-25. ! 853 E Send End Signal and Branch Send Unusual-End Signal and Branch Instruction Format. Mnemonic SSB Op Code I-address III ! d-character F Function. This instruction is similar to the SEND UNUSUAL-END SIGNAL instruction, except that the next instruction is taken from the I -address. Word Marks. Word marks are not affected. Timing. Branch (without indexing) : T = .0666 ms. Branch (with indexing) : T = .0777 ms. Address Registers After Operation. Send Unusual.;End Signal I-Add. Reg. Instruction Format. Mnemonic SS Op Code K d-character F Function. This instruction sends an unusual-end signal to the primary system, and is usually used to signify that some condition has occurred in the secondary system and should be investigated. The signal 'causes the primary system to automatically terminate its operation, and the secondary system proceeds to the next instruction. The primary system normally replies to this signal with a secondary system sense operation, which makes it possible for the secondary system to inform the primary system, in more detail, of the condition that caused the unusual end. Either this ins'truction or the END instruction must be executed to end the data transmission. Word Marks. Word marks are not affected. Timing. T = .0333 ms. Address Registers After Operation. I-Add. Reg. NSI H-18 A-Add. Reg. Fbb B-Add. Reg. Fbb Branch (without indexing) : Branch (with indexing) : A-Add. Reg. B-Add. Reg. NSI BI blank NSI BI NSI Example. Send an unusual-end signal to the primary system and branch to core-storage location 0538 (area labeled PSROUT); Figure H-27. OPERAND :'. Assembled Instruction: Figure H-27. : IS. 538 F Send Unusual-End Signal and Branch tEnable Interrupt Instruction Format: Mnemonic SS Op Code d-character K > Function. This instruction makes it possible for the primary system to interrupt secondary system operation with anyone of the four primary system opera- tion commands (read, write, control, sense), unless the secondary system has already been interrupted and that interrupt is being processed. See Figure G-35 for a list of instructions that can be interrupted. Disable Interrupt Instruction Format. Mnemonic Op Code d-character SS K- < Word Marks. Word marks are not affected. Timing. T = .0333 ms. Function. This instruction prevents any secondary system program interruption by the primary system. Secondary system program interruption cannot occur until the ENABLE INTERRUPT instruction is executed. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. >bb B-Add. Reg. >bb Example. Permit interruption of the secondary system operation by the primary system (Figure H-28). Autocoder OPERAND :~ ,~ Assembled Instruction: Figure H-28. ~ ~> Word Marks. Word marks are not affected. Timing. T = .0333 ms. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. Figure H-30. ~ K< Disable Interrupt Function. This instruction is similar to the ENABLE INTERRUPT instruction, except that the next instruction is taken from the I -address. Word Marks. Word marks are not affected. Disable Interrupt and Branch Timing. Branch (Without indexing) : T = .0666 ms. Branch (with indexing) : T = .0777 ms. Instruction Format. Address Registers After Operation. I-Add. Reg. Branch (without indexing) : Branch (with indexing) : A-Add. Reg. B-Add. Reg. NSI BI blank NSI BI NSI Autocoder OPERAND Assembled Instruction: Figure H-29. ! 385 Enable Interrupt and Branch > Op Code SSB K I-address III d-character < Function. This instruction is similar to the DISABLE INTERRUPT instruction, except that the next instruction is taken from the I -address. Word Marks. Word marks are not affected. Example. Permit interruption of the secondary system operation by the primary system and branch to corestorage location 0385 (area labeled pmoUT); Figure H-29. :'. Mnemonic ~ Timing. Branch (without indexing) :T = .0666 ms. Branch (with indexing) : T = .0777ms. Address Registprs After Operation. I-Add. Reg. Branch (without indexing): Branch (with indexing): A-Add. Reg. B-Add. Reg. NSI BI blank NSI BI NSI H-19 Example. Do. not permit interruptian of the secondary system -aperation by the primary system and branch to. core-:starage locatian 0853 (area labeled NOSSIN); Figure H-31. Autocoder OPERAND Label :~ t: Assembled Instruction: !S. 853 Figure H-31. ~ < Disable Interrupt and Branch Branch if Indicator on Instructions The BRANCH IF INDICATOR ON instructians - B (III) n are used by the secondary system to. check far primary system conditions and secondary system conditions. When a tested conditian is present, the program branches to. a previausly written subroutine. The subrautine begins at the address specified in the BRANCH IF INDICATOR ON instruction. Figure H-32 shows a summary af all instructians. BRANCH IF INDI- Function. This instruction tests the conditian of the t;ransmission errar indicator in the secandary system. This indica tar turns ON whenever an A-register error is detected while the secondary system is accepting data from the primary system (primary system write or ;control aperation). When the indicator turns an, it resets the A-register errar candition OFF. The system does not stap. The indica tar is alSo. turned on if the primary system staps operating during a read, write, contral, ar sense operation. If the indica tar is ON, when tested, the pragram branches to the subrautine that starts at the I -address specified in the instructian, and this branch turns off the transmission error indicator. Word Marks. Ward marks are not affected. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Address Registers After Operation. CATOR ON No Branch Branch (without indexing) Branch (with indexing) Branch if Transmission Error Indicator O'n Instruction Format. Mnemonic BIN I NSTRUCTIO N ~ (III) 1 Op Code B I-address III d-character 1 Causes a branch to the specified I - address whenever the transmission - error indicator in the secondary system is ON, when tested. Causes a branch to the specified I - address whenever the primary read indicator in the secondary system is ON, when tested. ~(11I)4 Ca uses a branch to the spec ifi ed I - address whenever the primary write indicator in the secondary system is ON, when tested. ~. (III) 6 Causes a branch to the specified I - address whenever the primary sense indicator in the secondary system is ON, when tested. ~ (III) 7 Causes a branch to the specified I - address whenever the primary control indicator in the secondary system is ON, when tested. ~ (III) 8 Causes a branch to the spec ified I - address whenever the status of the operational out line specifies that the primary system is operating. H-20 A-Add. Reg. BI B-Add. Reg. Ibb NSI BI blank NSI BI NSI Example. Test the secandary-system transmission error indicatar. If the indicatar is ON, branch to. carestarage locatian 0385 (area labeled TRERRT); Figure H-33. DESCRIPTIO N ~ (III) 3 Figure H-32. I-Add. Reg. NSI Branch If Indicator On Instruction Summary Autocoder Label t: Assembled Instruction: Figure H-33. !! 385 1 Branch If Transmission Error Indicator On Branch if Primary-Read Indicator On Instruction Format. Mnemonic BIN Op Code B I-address III d-character 3 Function. This instructian tests the status of the primary read indicator lacated in the secondary system. This indica tar turns on whenever the primary system sends a read command signal to the secondary system, and remains on until the operation ends (end response signal received. from primary system) . If the indicator is ON, when tested, the program branches to the subroutine that starts at the I-address specified in the instruction. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Address Registers After Operation. Word Marks. Word marks are not affected. No Branch Branch (without indexing) Branch (with indexing) Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Address Registers After Operation. No Branch Branch (without indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 3bb NSI BI blank NSI BI NSI Example. Test the secondary-system primary read indicatol'. If the indicator is ON, branch to cOl'e-storage location 0853 (area labeled PRRDRT); Figure H-34. I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 4bb NSI BI blank NSI BI NSI Example. Test the secondary-system primary-write indicator. If the indicator is ON, branch to corre-storage location 0538 (area labeled PRWRRT); Figure H-35. Autocoder OI'EItAND L_I :~ Assembled Instruction: Figure H-35. ~ ~ 538 4 Branch If Primary-Write Indicator On Autocoder r OPERAND L_I :~ . ~ Assembled Instruction: Figure H-34. I!. 853 3 Branch if Primary-Sense Indicator On Branch If Primary-Read Indicator On Instruction Format. Mnemonic BIN Branch if Primary"Write Indicator On Instruction Format. Mnemonic BIN Op Code ~ I-address III d-character 4 Function. This instruction tests the status of the primary write indicator located in the secondary system. This indicatDr turns on whenever the primary system sends a write command signal to the secondary system, and remains Dn until the operation ends (end response signal received from primary system). If the indicator is ON, when tested, the program branches to' the subroutine that starts at the I -address specified in the instruction. Word Marks. Word marks are not affected. Op Code B I-address III d-character 6 Function. This instruction tests the status of the primary sense indicatDr located in the secondary system. This indicatol' turns Dn whenever the primary system sends a sense command signal to the secondary system, and remains on until the operation ends. If the indicator is ON, when tested, the program branches to the subrDutine that starts at the I -address specified in the instruction. The subroutine, among other things, should contain four characters of status data that specify the secondary system's present status. Refer to Figure H -36 for the charactel's and some typical conditions. Word Marks. Word marks are not affected. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. H-21 Word Marks. Word marks are not aHected. Character Conditions 1st Program check Data check Other conditions further specified by 2nd character 2nd Message - length check No available storage area System does not want data 3rd Secondary system detects an incoming parity check 4th Secondary system ready to send a data message to primary system Secondary system input storage area is avai lable Figure H-36. Sense Data Character Examples Timing. No Branch: T = .0666 oms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Address Registers After Operation. No Branch Branch (without indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 7bb NSI BI blank NSI BI NSI Example. Test the secondary-system primary control indicator. If the indicator is ON, branch to core~stor age location 0853 (area labeled PRCTRT); Figure H-38. Address Registers After Operation. No Branch Branch (without indexing) Branch (with indexing) Autocoder I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 6bb NSI BI blank NSI BI NSI Label Assembled Instruction: Figure H-38. ~ 853 7 Branch If Primary Control Indicator On Example. Test the secondary-system primary-sense indicator. If the indicator is ON, branch to core-storage location 0385 (area labeled PRSNRT); Figure H-37. Autocoder Branch if Operational Out Label Instruction F onnat. Assembled Instruction: Figure H-37. ~ 385 6 Branch If Primary-Sense Indicator On Instruction Format. Op Code B I-address III d-character 7 Function. This instruction tests the status of the primary control indicator located in the secondary system. This indicator turns on whenever the primary system sends a control command signal to the secondary system, and remains on until the operation ends. If the indicator is ON, when tested, the program branches to the subroutine that starts at the I-address specified in the instruction. H-22 Op Code B I-address III d-character 8 Function. This instruction tests the status of the operational line which tells the secondary system when the primary system is operating. If the primary system is operating when tested, the program branches to the subroutine that starts at the I-address specified in the instruction. Branch if Primary Control Indicator On Mnemonic BIN Mnemonic BIN Any signals sent by the secondary system when the primary system is not operating are ignored by the primary system. Word Marks. Word marks are not aHected. Timing. No Branch: T = .0666 ms. Branch (without indexing): T = .0666 ms. Branch (with indexing): T = .0777 ms. Address Registers Afte1' Operation. No Branch Branch (without indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 8bb NSI BI blank NSI BI NSI Example. Test the operational line. If the line is OUT (primary system operating), branch to core-storage location 0385 (area labeled OPOTRT); Figure H -39. Description ~ (%01) (BBB) R Data sent from primary system is received by secondary system without word-mark control. !:. (%01) (BBB) R Data sent from primary system is received by secondary system with word-mark control. ~ (%01) (BBB) W Data is sent from secondary system to primary system without word-mark control. !:. (%01) (BBB) W Data is sent from secondary system to primary system with word-mark control. Figure H-40. Autocoder Assembled Instruction: Figure H-39. Instruction ~ Read and Write Instruction Summary 385 8 Branch If Operational Out Read from Primary Read and Write Instructions The READ and WRITE instruction - M or L (0/001) (BBB) R or W, initiates the data transmission operation between the primary system and the secondary system, in the specified mode. These instructions cannot be successfully chained. The parts of the instruction and their uses are: M or L. The M or L operation code specifies whether the data transmission is pedormed in the move or load mode. In both the move and load mode, up to 7 bits per character (CBA8421) are involved in the data transmission. If the load mode is specified, a word-separator character precedes each wordmark-associated character, and each word-separator character. 0/001. The A-address (0/001) specifies that the secondary system is going to operate with a primary system. Instruction Format. Mnemonic Op Code MU M Figure H -40 shows a summary of the WRITE instructions. READ and B-address BBB d-character R Function. This instruction specifies a data transmission from the primary system to the secondary system. The data transmission is terminated in one of two ways: 1. A group mark with a word mark sensed in the secondary system ends the operation, and the program then proceeds to the next instruction. 2. An end ,condition sensed in the prim,ary system (no group mark with a word mark sensed in the secondary system) forces the secondary system to end the operation, and the secondary system proceeds to the next instruction. Word Marks. Word marks are not stored when operating in the move mode (M operation code). BBB. The B-address specifies the high-order position of the message involved in the data transmission. R or W. The d-character R specifies a read operation. This d-character is used when the primary system is sending the data to the secondary system. The d-character W is used when the secondary system is sending data to the primary system. A-address %01 Primary System Secondary System Read Write Core-Storage Transmitted Core Storage Before After Op Code Op Code As Contents V M V M ABC ABC D~F AIlC M AVB AYB DEF ~vB M Note. If the primary system sends data, with word-mark control, to the secondary system, the word marks are transmitted as word-separator characters (V). For example: H-23 Primary System Secondary System Primary System Write Corer-Storage Transmitted Core Storage Read Op Code Contents As Before After Op Code v y AB L v vAB Avy AY L Timing. T DEF vAB DEF Av'Y' A-Add. Reg. %61 V M M M Timing. T Address Registers After Operation. I-Add. Reg. NSI Write Core-Storage Transmitted Core Storage Read Op Code Contents As Before After Op Code M = .0999 ms + transmission time. Secondary System 'V' ABC 'V' AvB ABC QEF ABC .1. AvB QE[ ABF L = .0999 ms + transmission time. Address Registers After Operation. B-Add. Reg. B + message length + 1 Example. Read data from the primary system and place in core storage, beginning at location 0942 (area is labeled INPDAT); Figure H-41. Autocoder I-Add. Reg. NSI A-Add. Reg. %61 B-Add. Reg. B + message length + 1 Example. Read data from the primary system, with its associated word marks, and place in core storage, beginning at location 0294 (area is labeled INPDAT); Figure H -42. Label I' Autocoder .: Assembled Instruction: Figure H-41. OPERAND Label :~ M %01 942 R Assembled Instruction: Read from Primary Figure H-42. h %01 ~ 294 R Read from Primary with Word Marks Read from Primary with Word Marks Write to Primary Instruction Format. Mnemonic LV Op Code L A-address %01 B-address d-character BBB R Function. This instruction is similar to the READ FROM PRIMARY instruction except that word marks in the message area of core storage are removed, and word marks sent from the primary system are written in core stmage. Word Marks. Word marks transmitted from the primary system are written in core storage. Notes. When the primary system sends data, with word-mark control, to the secondary system, the word marks are transmitted as word-separator characters (Y). A word-separator character is transmitted as two word-separator characters. For example: Primary System Secondary System Write Core-Storage Transmitted Core Storage Read Op Code Contents As Before After Op Code y v vABC DEF ABC L ABC L y L Mnemonic MV Op Code M A-address %01 B-address BBB d-character W Function. This instruction specifies a data transmission from the secondary system to the primary system. The data transmission is terminated in one of two ways: 1. A group mark with a word mark sensed in the secondary system ends the· operation, and the program then proceeds to the next instruction. 2. An end condition sensed in the primary system (no group mark with a word mark sensed in the secondary system) forces the secondary system to end the operation, and the secondary system proceeds to the next instruction. Word Marks. Word marks are not sent to the primary system when secondary system is operating in the move mode (M operation code). y AVB vAvyB QEE. ~YB 1. When the primary system sends data, without word-mark control, to the secondary system, the word marks are not transmitted. A word-separator character is transmitted and converted to a word mark. For example: H-24 Instruction Format. Notes. When the primary system is accepting data, without word-mark control, the word marks in the specified primary system core-storage area are not affected. The data is read into the specified primary system core-storage area as sent from the secondary system. For example: Primary System Secondary System Secondary System Read Write Core-Storage Transmitted Core Storage Before After Op Code As Contents Op Code y M ABC ABC M yAB yAB Write Core-Storage Transmitted Core Storage Read As Before After Op Code Contents Or Code Y V' DEF ABC v DEF vAS M L AB VAB DE} M L vA Y'yA DEF Secondary System L DEF ABC ABC Y'ABC L L DEF ABC Primary System y .y y y "V L = .0999 ms + transmission time. Timing. T i1 Write Core-Storage Transmitted Core Storage Read As Before After Op Code Contents Or Code v y YA~C yY.1\. When the primary system is accepting data, with wordmark control, the word marks in the specified primary system core-storage area are erased. A word-separator character is transmitted as two word-separator characters. Any word separator character (..y) transmitted from the secondary system may be permanently altered by the time they are written in the primary system core-storage area. For example: Write Core-Storage Transmitted Core Storage Read Before After Op Code Op Code Contents As .M M Primary System Secondary System ABC y V YAB y When the primary system is accepting data, with wordmark control, the word marks in the specified primary system core-storage area are erased. Any word-separator characters (""V') transmitted from the secondary system may be permanently altered by the time they are written in the primary system core-storage area. For example: M P1'imary System Timing. T ABC YABC v "'r yYAvB vAB L DEF ABC DEF vAB t = .0999 ms + transmission time. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %61 Address Registers After Operation. B-Add. Reg. 13 + message length + 1 Example. Send data to the primary system from the core-storage area labeled OUTDAT (first position of the data located in 0942); Figure H -43. Autocoder I' label .l!?Peratid OPERAND I 11M 1/<;01 ,j)UIDAI, W ~5 Assembled Instruction: M. :5 I-Add. Reg. NSI A-Add. Reg. %61 + message length + 1 Example. Send data to the primary system with its! associated word marks, from the core-storage area labeled OUTDAT (first position of the data located in 0429); Figure H -44. Autocoder : I' label I~ ~QI ;6UIOAi,w %01 942 W Assembled Instruction: Figure H-43. B-Add. Reg. 13 Write to Primary Figure H-44. ~5 1. 0/001 429 W Write to Primary with Word Marks Write to Primary with Word Marks Instruction Format. Mnemonic Op Code LU ~ feature Operation A-address %01 B-address BBB d-character W Function. This instruction is similar to the WRITE TO PRIMARY instruction, except that word marks are transmitted to the primary system with the associated data. Word Marks. Word marks are sent to the primary system when the secondary system is operating in the load mode (L operation code). Notes. When the primary system is accepting data, without word-mark control, the word marks in the specified primary system core-storage area are not affected. The data is read into the specified primary system core-storage area as sent from the secondary system. A word-separator character is transmitted as two word-separator characters. With the signals and instructions just described, the specific type of data transmission desired is set up. To illustrate one type of data transmission operation, assume that the primary system wants to receive data from the secondary system. The program procedure shown in Figure H-45 and the accompanying writeup are presented only as an example that shows the use of the various signals and instructions in an operation. This example should not be considered the optimum procedure for this type of operation. 1. The primary system signals the secondary system that it wants to read from the secondary system by sending it a read command signal. 2. The read command signal sets ON the primary read latch in the secondary system. If program H-25 interruption can occur (prior execution of.K > or K (III) > instruction), the secondary system im-;ediately branches to the interrupt subroutine, which includes the program shown in Figure H-45. 3. The secondary system program tests the various primary indicators and finds the primary read indicator set ON. If all indicators had been turned off, the main program execution would continue - step 3A. 4. With the primary read indicator OJ\', the secondary system is checked to see if it wants to ignore the primary system read command. 4A. If the secondary system does want to ignore the read command, a SEND UNUSUAL-END SIGNAL instruction is executed, which signals the primary system that some condition has occurred in the secondary system and the condition should be investigated. The program then branches back to the point where the primary sense indicator is checked to see if it was ON. 4B. The primary system recognizes and accepts the unusual-end signal, and generates an end-response signal that turns off the primary read indicator in the secondary system. SECONDARY SYSTEM IPRIMARY SYSTEM 1 I 1 System Wants To Receive Data I 1 1 Read Command Signa I I r--------I-------- J , r -_ _ _ _ _ _ _ _ _ _y.:.,:;e;!..(s:Sense I;n~;~:~;: On? I I ~ (III) 6 Primary Read Indicator Set On I I I I 46 I r ____U~u:u~I_E~_ S~g~~ ___ 1_ .... No : 1 I I I r - - : 4A 1 Primary Read Indicator Set Off No 40 Send Data To Pri mary System M or L (%01) (BBB) W r4C~____'L-~ I 1 __ J1 l :n~ ~e!~7!"_ S~g:!a~ _ J , I Send Unusual-End Signal - .!S F System Accepts Signal I I System Wants To Receive SenseStatus Data 1 I I I I r - - :e:!,: 5~~~n~ !i!!n~l __ .J , I 5A 1 r-:---------, 1 Stop Operation 1 1 1 _________________St~p_ S~g~~I _______________________ 1________ Primary Sense Indicator Set On J I I I I I I I 1 I Send End Signal ~C 7A ,----------, I End Signal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1- -- System Accepts Signal 1 I r-------1------End Response Signal I Primary S~~a.;~ndicator I 1 I I Figure H-45. H-26 Data Transmission Operation Schematic I .J 4C. The primary system signals the secondary system that it wants to receive status data from the secondary system by sending it a sense command signal. 4D. The sense command signal sets ON the primary sense indicator in the secondary system. 5. If the secondary system wants to accept the read command, the secondary system executes a WRITE instruction - M.. (0/001) (BBB) W. The actual data transmission begins and continues until one of the systems ends the operation. The secondary system ends the operation when a group mark with a word mark is encountered in core storage. 5A. The primary system could end the operation by using the stop line. This would cause the secondary system to end its write operation; and, depending on program procedure, send either an end or an unusual-end signal to the primary system as a recognition signal of the stop. The end or unusualend signals are accepted and the procedures discussed elsewhere in the example writeup are carried out (steps 6, 4A-4D or 7). 6. Afrer the data transmission ends, the data is checked to see if it was acceptable. If the data sent was not acceptable, then steps 4A-4D are repeated at this time. 7. If the data sent was acceptable, a SEND END SIGNAL instnlCtion is executed, which sends an end signal to the primary system. 7A. When the primary system recognizes and accepts the end signal, it generates an end-response signal that turns off the primary read indicator in the secondary system. SA. With the completion of the data transmission operation, the next sequential instruction in the main program is executed. Notes: The conditions that specify the terminating system are: 1. The writing system terminates the data transmission when the read input area is longer than the write output area. 2. Both the reading and writing systems terminate the data transmission when the read input area is the same size as the write output area. 3. Both the reading and writing systems terminate the data transmission when the read input area is one core-storage position shorter than the write output area. 4. The reading system terminates the data transmission when the read input area is shorter than the write output area by more than one core-storage position. H-27 Indexing and Store Address Register This feature provides the IBM 1440 Data Processing System with greater program flexibility, by making address indexing and address storing more automatic. Indexing The indexing portion of the indexing and store address register special feature provides three 3-position index locations (registers) that can be used to modify addresses automatically. These three index registers are part of core storage and can be used as normal storage positions when not being used as index register locations. The core-storage addresses assigned and the index register numbers are: Index Register Numbers Core-Storage Positions 087-089 092-094 097-099 1 2 3 Both the A-address and/or the B-address can be modified by the factor contained in anyone of the three index registers; however, only core-storage address can be modified. The A- and/or B-address specifies which index register is to be used by a combination of A- and B-bits in the tens position of the address. The bit combipations and the registers they specify are: Bit Combination A-hit, No B-hit B-hit, No A-bit A-hit, B-hit Index Register Numbers 1 2 3 When the tens position of an A- and/or B-address contains one of these zone-bit combinations, the address is referred to as being tagged. OP OP Factors contained in the index registers can be initialized and modified in several ways. The index factor can be placed in the index register by nonnal programming (ADD or MOVE instructions, for instance), and the factor can be changed (add or subtract operations, for example). In these instances, a word mark must be set in the high-order position of the index register prior to inserting or changing the index factor. Zone Punch Zero Eleven Twelve Positions Tagged -!- -!- AAA BBB Note: After any arithmetic operation that affects the indexing factor) zones that appear in the units or tens position of any index location must he removed. (The modify-address instruction is not, in this sense, an arithmetic function.) The modification of the A- and/or B-address occurs in their respective address registers. For instance, if the A-address is indexed, the indexing occurs in the A-address register. This means the original instruction in storage is in no way changed or modified. The two-address STORE B-ADDRESS REGISTER instruc1. The A-address and B-address are analyzed for intion is usually easier to use. The ADD and SUBTRACT indexing as they are moved into the address registers. structions can cause unwanted zone-bits to appear in the resultant factor. Figure H-46 illustrates how index , 2. The contents of the proper index location (indexing factor) is added to the contents of the address regisregister 1 can be initialized to zeros, index register~ ter and develops the effective address there, when incremented by 19, and index register 3 decremented indexing is indicated. by3. Autocoder OPERAND 4 Assembled Instruction: Jj 089 000 Jj 094 OJO .tl Increasing an Address 099 IIG Note: Assuming the Autocoder equates the 1440 index registers to the actual machine addresses': Xl' 089, X2 094, and = = X3 =099. Figure H-46. H-28 3. Three or four additional cycles are required for each address indexed. (The fourth 'Cycle is required when the new address has been modified so that it is in the next highest group of 4,000 storage positions. The zone-bit configuration in the units position must reflect the new group of positions.) Initializing, Incrementing, and Decrementing Index Registers To increase a core-storage address using the indexing feature, the contents of the index location is added to the selected address register. Figure H-47 illustrates various methods of address modification using the index locations. INSTRUCTION IN STORAGE BEFORE 11l 080 lA7 010 025 050 AFTER 11l 080 lA7 010 025 050 BEFORE 11l OSO 1J7 010 025 050 AFTER M OSO 1J7 010 025 050 BEFORE ~ JBO 8CO 010 025 050 AFTER M JBO 8CO 010 025 050 1. INDEX THE B·ADDRESS 2. INDEX A· AND B·ADDRESS 3. INDEX A· AND B·ADDRESS Figure H-47. INDEX LOCATION 3 1 2 EFFECTIVE INSTRUCTION !:!J. 080 167 !:!J. 030 142 ~ J70 880 Indexing Decreasing an Address To decrease an address, the 16,000's complement of the amount to be subtracted from the address must be stored in the index location. Example. Decreasing Required: Decrease a B-address by 10 Indexing Faotor (Complement): 16,000 - 10 (15,990) The 15,990 converts to the three digit factor 19? (Figure H-48). U sing the modulus 16 rules, the arithmetic overflow adds an A-bit in the hundreds position (both the hundreds and units positions already contain A- and B-bits, the combination of which indicates a 15,000-15,999 black address). The addition of the A-bit increases the value of the zone bits to 16 which, according to. modu(000-999 block adlus 16, has an address value of dress). Therefore, the new address is 927. With the indexing feature, even though there was an overflow, the arithmetic overflow indicator is not turned on. ° easier to re-enter the main pragram from a subroutine. Because the address of the next instruction in sequence can be retained, program re-entry is Simplified. A subroutine is a set of pragram instructions that are executed, if a particular condition arises during the main routine. For example, if an unequal compare accurs during processing, the program branches to a subroutine in which a special set of instructions handles the condition. Each time a subroutine is used, some method must be emplayed to link it with the main program. The function of the STORE A-ADDRESS REGISTER, and STORE B-ADDRESS REGISTER instructions is to establish subroutine linkage so that upon leaving the sequence of the main program it is possible to execute the steps of the subroutine, and return to the main program where the sequence was interrupted. Store A·Address Regi'ster Instruction Format. Store Address Register The stare address register portion of the indexing and store address register special feature make it possible to store the contents of the A- and B-address registers. Thus, the A- and B-addresses of program instructions can be modified directly in cases where variable length records are being processed. This facility also makes it INSTRUCTION IN STORAGE INDEX LOCATION 1 2 3 1. 123 9T7 19? AFTER 1 123 9T7 19? 937 + 19? = 927 (with overflow) 1= (AB9) ? = (ABO) Converting Address 0]') Code Q A-address AAA Function. This instruction stores the contents of the A-address register from the previous operation, in the 3-position field that has its units position defined by the A-address of the STORE A-ADDRESS REGISTER instruction. Word Marks. Word marks are not affected. EFFECTIVE INSTRUCTION Timing. T BEFORE Figure H-48. Mnemonic SAR ~ 1123 927 = .0111 (LI + 5 or 6~) ms. Plus 5 or 6, depending on the presence or absence of zone bits in the units position of the address being stored. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A-3 B-Add. Reg. Ap H-29 Chaining. If this instruction is chained (operation code only) to the preceding operation, the following will result: M 617 xxx Base instruction. (Assume I-position field.) Nonnal STORE A-ADDRESS REGISTER operation. The address factor 616 is stored in locations 611, 612, and 613. Q Chained STORE A-ADDRESS REGISTER instruction. The address factor 610 will be stored in locations 608, 609, and 610. NSI Store B-Address Register (One Address) Instruction Format. Mnemonic SBR Q 613 If the A-address factor is required in more than one place, follow the base instruction (which leaves the address factor to be stored) with one STORE A-ADDRESS REGISTER instruction, followed by as many STORE B-ADDRESS REGISTER instructions as might be required to satisfy the program requirements. Example. Store the contents of the A-address register in area labeled AADRG (0625); Figure H-49. Autocoder :: ,~ Assembled Instruction: Q Figure H-49. OPERAND ~~ ~ Op Code H A-address AAA Function. This instruction stores the contents of the B-address register resulting from the previous operation, in the 3-position field that has its units position defined by the A-address of the STORE B-ADDRESS REGISTER instructi0'n. Word Marks. Word marks are n0't affected. Timing. T ~ = .0111 (LI + 4 0'r 5~ ) ms. Plus 4 or 5, depending on the presence or absence of zone bits in the units position of the address being stored. Note. When indexing is installed in the 1440, the functioning of all branch commands is altered to simplify subroutine linkage. With these alterations, each time a branch occurs as a result of one of these commands, the address of the next sequential instruction in the main routine is inserted in the B-address register. Although the subroutine may be entered from many distant points in the main program, this use of the SBR operation makes the subroutine linkage complete. Address Registers After Operation. 625 I-Add. Reg. NSI Store A-Address Register A-Add. Reg. B-Add. Reg. Bp A-3 IBJ.1 Form X24·13S0- 2 Printed in U.S.A. Program _ _ _ _ _ _ _ __ Programmed by _ _ _ _ _ __ 1 o 2 I I 76 AUTOCODER CODING SHEET 80 Page No.W of _ _ IBM 1401-1410-1440-1460 Date o Identification INTERNATIONAL BUSINESS MACHINES CORPORATION 03 04 05 06 07 o e () 09 10 II Assembled Instructions: !. 495 A 880 990 Branch to multiply subroutine. First main-program step after mUltiply subroutine. This instruction-address is stored in the branch-out instruction: MULAST +3. ~ Main-program steps. !i Store address of instruction following subroutine step. 654 ! MULTRU in I-address of last multiply- Multiply subroutine steps. !. 000 Figure H-50. H-30 Completes linkage between MULTRU subroutine and main program. Store B-Address Register (One Address) Chaining. This instruction can be chained to the preceding operation (if that instruction left usable address-register contents) by supplying only the operation code. Word Marks. Word marks are not affected. Example. The main routine branches to a multiply subroutine labeled MULTRU (0495). This example shows the last step in the main routine, and the first and last steps of the multiply routine, and illustrates subroutine linkage (Figure H-50). The last instruction (labeled MULAST) J plus three ,contains the address of the next instruction in the main routine. Address Registers After Operation. Timing. T = .0111 (LI + 4 or 5°) ms. o Plus 4 or 5, depending on the presence or absence of zone bits in the units position of the address being stored. I-Add. Reg. NSI A-Add. Reg. A-3 B-Add. Reg. B Chaining. This instruction can be chained to the preceding operation ( if that instruction left usable address-register contents) by supplying only the operation code. Store B·Address Register (Two Addresses) Instruction Format. Mnenomic Op Code A-address B-address SBR H AAA BBB Function. This instruction stores the present contents of the B-address register in the 3-position field that has its units position defined 'by the A-address of the STORE B- ADDR~S REGI~TER instr·uction. The Baddress register contains the number specified by the B-register portion of the sToIlli B-ADDRESS REGISTER instruction. Example. Store contents (0456) of the B-address register (any 3-character factor) in the area labeled BADRG (0123); Figure H-51. Autocoder OPERAND :'. Assembled Instruction: Figure H-51. tt . ~ 123 456 Store B-Address Register (Two Addresses) H-31 Multi ply-Divide This feature makes it possible to perform direct multiplication and division in the IBM 1440 Data Processing System. 4. Zone bits that appear in the multiplicand field are undisturbed by the multiply operation. Zone bits in the units p.osition of the multiplicand are interpreted for sign control. Multiply Instruction Format. Mnemonic Op Code M @ A-address AAA B-address BBB Function. The multiplicand (data located in the Afield) is repetitively added to itself in the B-field. The B-fieldcontains the multiplier in the high-order positions, and enough additional positions (low order) to allow for the development of the product. At the end of the multiply operation, the units position of the product is located at the B-address. The multiplier is destroyed in the B-field as the product is developed. Therefore, if the multiplier is needed for subsequent operations, it must be retained in another storage area. The multiply-divide feature for the 1440 system has additional circuitry that automatically eliminates readdressing machine cycles when recomplementing is required during the operation. Rules: 1. The product is developed in the B-field. The length of the B-field is determined by adding 1 to the sum of the number of digits in the multiplicand and multiplier fields. Example: 1246 X 543 + 4-digit multiplicand 3-digit multiplie¥ 2. A word mark must be associated with the highorder positions of both the multiplier and multiplicand fields. 3. A- and B-bits need not be present in the units positions of the multiplier and multiplicand fields. The absence of zone bits in these positions indicates a positive sign. At the completion of the multiply operation the B-field has zone bits in the units position of the product only. The multiply operation uses algebraic sign control ( Figure H-52). Multiplier Sign + + - - Multiplicand Sign + - + - + - - + Figure H-52. H-32 T = .1110 + 2Lc + 5LcLM + 7LM ms. Lc = length of multiplicand field. LM = length of multiplier field. A chart of approximate timing is included in the section on Multiply and Divide Timing. Notes. The first addition within the multiply operation inserts zeros in the product field from the storage location specified by the B-address up to the units position of the multiplier. The A-address register and the B-address register indicate positions within the A- and B-fields on which operations are currently being performed. Word Marks. A word mark must be associated with the high-oTdeT positions of the multiplier and multiplicand fields. Address Registers After Operation. I-Add. Reg. A-Add. Reg. NSI A-La Lp = Length of product field. La = Length of multiplicand field. B-Add. Reg. B-Lp Chaining. This instruction cannot be successfully chained. Example. Multiply: 1 8 positions must be allowed in the B-field. Sign of Product Timing. The aveTage time required for a multiply operation is: Algebraic Sign Control for Multiplication Label MULCAN MULIER PRODCT Location of Data Word 0502 0065 0610 Contents of Data Word 1246 543 Description Multiplicand Multiplier Product The size of the product field is 4 + 3 + 1 = 8. The multiplier is placed in the three high-oTder positions of the PRODCT area (0603, 0604, and 0605). At the completion of the multiply operation, load the product in the area labeled OUT2 (0178). The units positions of the multiplier and multiplicand fields may be signed (Figure H -53) . Autocoder Assembled Instruction: 1.. @ r Figure H-53. Multiply 065 502 610 605 610 178 Divide Instruction Format. Dividend Op Code % Mnemonic D Function. This instruction divides the data (dividend) in the low-Drder pDsitiDns of the B-field hy the divisor located in the A-field, and develops the quotient in the high-order positions of the B-field. The remainder is left in the low-Drder positions Df the B-field. Rules: 1. The quotient is developed in the B-field. The length of the B-field is determined by adding 1 to' the sum Df the number Df digits in the divisor and dividend fields. Example:__ __ 543 I 1246 + ± B-address BBB A-address AAA 4-digit dividend 3-digit divisor 1 8 positions must be allowed in the B-field. 2. A word mark must be associated with the bighDrder position of the A-field. 3. In all cases either A- and B-bits (plus sign) or B-bit (minus sign) must appear in the units position of the dividend field. The divisDr may be either signed Dr unsigned. If there are nO' bits in the units positiDn of the divisor, the machine assumes the divisDr factDr is positive. The divide Dperation uses algebraic sign contrDI ( Figure H-54). 4. The dividend is loaded in the low-order positions of the B-field (Figure H-55) by a ZERO. AND ADD instructio.n to ensure that zeros are present in the high-Drder positions of the B-field. ooooxxxx Figure H-55. Dividend in B-Field a. The quotient is in the high-order positions of the B-field. The location of the units position of the quotient, is the address of the units position of the dividend, minus the length of the divisor, minus one. b. The remainder is in low-order positions of the B-field. c. The sign of the quotient is over the units position of the quotient field. d. Because only one quotient digit can be developed at a time, it is important to address the high-order position of the dividend (B-address of the DIVIDE instruction). This ensures that the first divide operation results in a single high-order quotient digit. A dividend improperly addressed can cause an arithmetic overflow if the result of the first divide operation is greater than 9. Note: A divide operation refers to the process of developing each quotient digit. If the quotient field is not large enough, no overflow is indicated. The machine does not check for this programming error. Division by zero results in an arithmetic overflow condition. Figure H-56 shows the result of a divide operation. Extra zeros can be added to the dividend priDr to a divide operation when a larger quotient is required. For each additional qUDtient digit desired, place one zero to the right of the dividend as shown in Figure H-57. Note that in this example, the units position of the quotient is not located in the positiDn previously described in Item 5a. Word Marks. A word mark must define the high-order position Df the divisDr. 5. The B-address in the DIVIDE instructiDn specifies the high-order position of the dividend. At the completion of division: Timing. Average time required for the executiDn of a divide operatiDn is calculated: T = .0999 + 7LR L Q + 8LQ ms. L Q = length Df the quotient field. LR = length of the divisor field. Divisor Sign + + - - Dividend Sign + - + - Quotient Sign + - - + + + xxxx xxx Remainder Sign + - + - Quotient Remainder B-FIELD Figure H-54. Algebraic Sign Control for Division Figure H-56. Location of the Results of a Divide Operation H-33 Regular 0001 Quotient r------------ ~ ~ 1234 0001 ± 000001234 L.y--' Dividend 1234 Divisor Additional Quotient digits desired. ~ Quotient 0001. 000 ~ 1234.000 0001.000 + 000001234.00'0 ~ Dividend 1234 Divisor Figure H-57. Multiply and Divide Subroutine These are subroutines for multiply and divide operations, discussed here to illustrate programming m.ethods and to aid in programming machines not equipped with the multiply-divide special feature. These are not the only methods of performing these operations; they are typical methods. These sample (actual-machine language) programs are easily converted to Autocoder language to fit the particular application. Additional Quotient Digits Multiply Subroutine The block diagram in Figure H -59 illustrates the logic used to develop the multiply subroutine discussed here. The subroutine provides for a maximum of a 9-digit multiplier, II-digit multiplicand, and a 20-digit product, and uses positive factors. Clear Product Area A chart of approximate timings is included in the section on Multiply and Divide Timing. Note. The quotient field is not cleared before actual division begins. Load Multiplier Address Registers After Operation. I-Add. Reg. NSI B-Add. Reg. Tens position of quotient. If divisor has all zeros, the B-address register stands at the units position of the dividend, minus the length of the divisor, minus the length of the dividend, minus 1. A-Add. Reg. A-LR Chaining. This instruction cannot be successfully chained. Example. Figure H -58 is a symbolic example for DIVIDE. Label DIVEND DIVSOR QUOT Locaton of Data Word Data Word 0502 0065 1246 543 0985 Description Dividend Divisor Quotient No Add Multiplicand To Product Yes Shift Ri9ht Reduce Multiplier By 1 Autocoder Branch Unconditional To Zero Test Assembled Instruction: ~ ~ Figure H-58. . Divide H-34 502 985 065 982 Figure H-59. Multiply Flow Chart Branch Unconditiona I To Zero Test The subroutine is written in actual language (Figure H-60), and Dccupies the 900 blDck of storage. A multiplier area is prDvided in storage positions 901909, and the product area is assigned in storage pDsitions 910-929. The multiplicand can be IDcated anywhere. Any program that uses this subrDutine must include a step that mDves the multiplier address (XXX) to' IDcation 937 and the multiplicand address (YYY) to' IDcatiDn 960. Divide Subroutine The restrictiDns placed on this subroutine (Figures H-61 and H-62) are: Adjust Addresses At the completion Df the multiply subroutine, the program instruction step 12 is a branch to' the main program Dr stDP instructiDn. The routine starts in storage position 930. The prDduct is found in 929 for a 9-digit multiplier, 928 for 8digit, 927 fDr 7-digit, 926 for 6-digit, etc. Note: The multiply subroutine results in blanks instead of zeros in the low-order position of a product when the multiplier contains low-order zeros. To correct this situation, set the product area to zeros. Yes Add One To Address and Quotient Counter Find Number of Significant Digits In Divisor Adjust Addresses IBM PROGRAM CHART fORM XU60437 PRINTED IN U.S.A. IBM 1401·1440·1460 Program: Slep Insl. Multiply Subroutine 0 No. Address P d' f-1 2 Programmer: ~slrUClio~ Remarks d C lear Product Area 934 L XiX 'X 9'0 '9 941 B 9 '7 '5 9 '0 I9 Load Multiplier 0 Test 909 for true zero 949 B 9 '7 '5 9 '0 '9? 957 A Y I Y 'y 9 '2 '1 No zero - odd Multiplicand to Product 91$4 S 9 '9' 4 9' 0 '9 Reduce Multiplier by 1 B 9 '4 Branch to zero test 975 I" Test 909 for Word Mark 1 I I ' 9 ' 9' 5 9' 0 ' 9 1 10 990 B 9' 4 11 994 12 995 I 1 9' 2 I 9 I I No Word Mark - Shift Riaht No 11111 Add Divisor Back to Dividend Multiplication complele - Branch bock to I I Program : X I X' X I , Location of Multiplier y' y' Y I I Location of Multiplicand Z IZ ' Z ' I Address of next Proarom StOD I I I Yes Branch to zero test Constant B Z IZ ' Z , Subtract Divisor From Dividend No true zero - test for plus zero 971 L 9 ' 2 '8 of Characters Inst. Dolo Toiol 9301/9'2'9 983 Dole: Effeclive No. Adjust Addresses One Position To the Right Add One To Quotient , I I I , Yes 9 dioit Multiplier 11 diait Multiplicand I I I I I I I I , I Figure H-60. 20 diait Product Multiply Subroutine (Actual) Figure H-61. Divide Flow Chart H-35 INTERNATIONAL BUSINESS MACHINES CORPORATION IBJt1 Dblide RQutioe Program: E~gmj:2lf1 Instructi on Step Inst. 0 A/I B No. Address P dl dl , I 516 523 531 538 545 t;t;? 559 !)f.,f, 573 tiRO 587 I Programmer: Remarks M 5: 0: 7 5 : 2: I B 6 : 6: 2 Y: Y: I S 5 : 1 ~ 2 5: 1: I I I A 5: 1: 5 5: 0: I I I IA 5: 1: 5 5:0: I I I<: t;: ':l t; In: I I I l Is t;: 11 1 t; 1 0: I I 1 Iv 7 !): !) !): 0: I 1 I l 1 I 1 Y 7+5: 5 5 0: 1 IMt;: 0 1 1 1M 5: 0 1 6: 4: 1: 9 68~ R ~RR 5 1 Adiust Dividend Address 4 Modify Addresses 1 A- 1 4 from low-order position to address assianment. from low-order position to address assiQnment. Set Modified Addresses into Divide Routine DATA FOR DIVISION SUBROUTINE Subtract Divisor from Dividend X: X:X -, Add One to Quotient I : : I I 5: 21 9 T 692 A 699 Y 706 A 713 V 7: 6: 0 W.W:W 1 I A 5: 1: 3 6: 4: 2 I I IA 5: 1: 3 6: 4: 9 728 Address of word mark position (high order) of dividend 504 XXX Address of word mark position (high order) of quotient 507 YYY Address of word mark position of divisor 510 ZZZ Divisor Address 512 00 Counter for number of zeros in divisor 513 1 Constant 515 NN Length of the divisor Add One to YYY Address If Eaual Divisor Eauals Zero Branch Unenua I Halt - cannot Divide bv Zero Add Divisor to Dividend Move blank zone to word mark position of dividend Test for End of Divide Modify Addresses to Develop Next Quotient DiQit " " " " " " " " " " " " " " II 749 IA 5: 1: 3 7: 0: 5 I I 756 B 61 31 6 I I I I 1 I I I 760 II " " " " " " I : : : Description of Data Increase Counter by One " Figure H-62. WWW Repeat Subtraction " : 501 Branch if Negative Result A 5: 1: 3 6: 5: 7 T I I A 5: 1: ~ 6: 9: 8 7A-? Data Word I 721 735 Location of Data Word Set Divisor Address 6: 9: 5 I W:W:W I ~ WWK : I C lear zone prepare for C lear zone prepare for 9 5: 1: 2 1 1 51 11 5 I !): 2: ~ I -I / I i I 7: 6: 0 I I I : I ZIZIZ ~'W:W· I I I I 7: 51 5 W:W:W I I I 5 I 1: 3 7 1 1: 9 I Store Address of Word Mark Position (High Order) of Divisor Branch if Divisor Digit Equa Is Zero ~umber of !-figh (Length of Divisor) rder Zeros) YO ~+~ 629 IN 5: 1: 0 1 I 6~6 S ZI ZI Z I 643 V 6: 9: 2 I I 651 A 5: 11 3 I r I I 658 IR 6 I 31 6 1 I 662 A 5: 1: 3 I r 669 A 5: 1: 3 : 1 676 C 51 11 2 Date: Effective No. of Characters Inst. Data Total d , 594 1M 5: 0: 1 6: 9: 8 1 1 7: 0:., 5 601 M 5: 0: - -f-. I 1 7: 1: 9 M 5: 0: 908 f-T I I T I 1 I 1 615 N 5+O+A 6151 7 -"1 "1 1 I 622 IN 5 I 11 0 6: 3: 9 H-36 FORM X24·6437 PRINTED IN U.S.A. PROGRAM CHART IBM 1401-1440-1460 Return to Divide Calculations Divide Complete Divide Subroutine (Actual) 1440 Multiply Times Based on Multiply Subroutine (mi lIiseconds) Number of Positions in Multiplicand - j Figure H-63. 4 3.725 7.517 11.358 15.247 19.184 23.160 27.194 31.256 35.367 5 3.831 7.739 11.696 15.691 19.734 23.826 27.966 32.144 36.361 6 3.937 7.961 12.024 16.135 20.294 24.492 28.747 33.032 37.365 7 4.053 8.183 12.362 16.579 20.844 25.158 29.519 33.920 38.359 1440 Multiply Times (Based on Multiply Subroutine) Q)= 3.503 7.073 10.692 14.359 18.074 21.828 25.640 29.481 33.370 3 3.609 7.295 11.030 14.083 18.625 22.494 26.412 30.369 34.364 IBM ...Q) a.. ...... 00.. ......c 5::E z 2 .S II> c ~o 1 3.387 6.851 10.364 13.915 17.515 21.162 24.858 28.593 32.366 1 2 3 4 5 6 7 8 9 3. The divisor must have no zone for its positive indication. This is necessary only if the divisor could be zero. 4. The divisor cannot 'contain more than nine leading zeros. 5. All fields must be located completely below address 999. 6. At the completion of the subroutine, the address of the units position of the quotient can be found in the B-address of the instruction located in 651. 7. The remainder is left in the dividend field. 8. A word mark must be located immediately to the right of the units position of the dividend. 9. The quotient area must be preset to zeros or blanks to develop the correct quotient. If the area is not zeroed or blanked, the quotient is added to whatever is there. The positions added de- 9 4.275 8.627 13.028 17.467 21.954 26.489 31.073 35.695 40.356 10 4.391 8.849 13.356 17.910 22.513 27.155 31.855 36.583 41.360 11 4.507 9.071 13.693 18.354 23.064 27.821 32.627 37.471 42.354 pend on the number of leading zeros in the divisor. 1. The dividend and quotient fields must be of equal length. 2. The dividend and divisor must both be positive. 8 4.169 8.405 12.690 17.023 21.404 25.823 30.301 34.808 39.362 10. The information shown in Data for Division Subroutine (Figure H -62), except the constant I in location 513, must be set initially for each desired execution of the divide subroutine. The two addresses in locations 507 and 510, associated with' the divisor, are not altered. Thus, they do not have to be reinitialized if the divisor is contained in the same area. Multiply and Divide Timings The four timing charts give the approximate timings of multiply (Figures H-63 and H-64) and divide (Figures H-65 and H-66) operations. Two of the charts are based on the timings when a subroutine written in actual language is used. The other two charts are based on the timings required when the system is equipped with the special feature for multiply and divide. 1440 Multiply Times With Special Feature (milliseconds) Number of Positions in Multiplicand----+ 1 2 c 3 ~ 4 '8 a.. ... Q) 5 ...... 00.. 6 .... Q)= 7 ..c 5::E 8 z .S 9 10 II> j Figure H-64. IBM 1 .266 .400 .532 .666 .799 .932 1.065 1.198 1.331 1.465 2 .335 .533 .722 .910 1.099 1.287 1.476 1.665 1.854 2.042 3 .403 .666 .911 1.154 1.399 1.642 1.888 2.131 2.376 2.619 4 .472 .799 1.100 1.398 1.699 1.998 2.299 2.597 2.898 3.196 5 .540 .932 1.289 1.643 1.999 2.353 2.7l0 3.063 3.420 3.773 6 .609 1.065 1.478 1.888 2.300 2.708 3.121 3.529 3.942 4.350 7 .677 1.199 1.668 2.132 2.600 3.063 3.532 3.995 4.464 4.927 8 .746 1.332 1.857 2.376 2.900 3.418 3.943 4.461 4.986 5.504 9 .814 1.465 2.046 2.620 3.200 3.773 4.354 4.927 5 .• 508 6.081 10 .883 1.598 2.235 2.864 3.500 4.128 4.765 5.393 6.030 6.659 11 .951 1.731 2.424 3.108 3.800 4.483 5.176 5.859 6.552 7.236 1440 Multiply Times (with Special Feature) H-37 1440 Divide Times Based on Divide Subroutine {mi liseconds} Number of Positions in Quotient .. 1 2 '"c 3 ~ 4 0. 5 '0 0 6 ~ .'" 7 CD ..a .~ go 8 Z .!: 9 10 ·s ~ 1 8.204 8.560 8.915 9.270 9.625 9.980 10.335 10.690 11.045 11.401 2 13.223 13.413 13.601 13.790 13.978 14.167 14.355 14.544 14.733 14.927 m~1440Divide Figure H-65. 3 18.242 18.266 18.287 18.310 18.331 18.354 18.376 18.399 18.420 18.444 4 21.965 22.107 22.253 22.396 22.541 22.684 22.830 22.973 23.119 23.261 5 25.487 25.794 26.107 26.416 26.729 27.037 27.350 27.659 27.971 28.280 6 29.008 29.482 29.961 30.436 30.916 31.390 31.870 32.345 32.824 33.299 7 32.529 33.169 33.816 34.456 35.103 35.744 36.390 37.031 37.677 38.318 8 36.050 36.856 37.670 38.476 39.290 40.097 40.910 41.717 42.530 43.337 9 39.572 40.544 41.524 42.497 43.477 44.450 45.430 46.403 47.383 48.356 10 43.093 44.231 45.378 46.517 47.664 48.803 49.950 51.089 52.236 53.375 8 1.432 2.054 2.672 3.296 3.921 4.539 5.164 5.782 6.404 7.025 9 1.598 2.298 2.993 3.696 4.398 5.094 5.797 6.493 7.191 7.891 10 1.765 2.542 3.315 4.095 4.876 5.649 6.430 7.203 7.980 8.756 Times (Based on Divide Subroutine) 1440 Divide Times With Special Feature {milliseconds} Number of Positions in Quotient '"c ~ ·s 0. .....0 () '" ~ .CD ~c5 ;:) Z .!: .1 2 3 4 5 6 7 8 9 10 Figure H-66. H-38 IBM 1 .266 .345 .423 .500 .577 .655 .732 .811 .888 .966 2 .433 .589 .744 .899 1.055 1.210 1.366 1.521 1.676 1.832 3 .599 .833 1.065 1.299 1.532 1.765 1.999 2.231 2.464 2.697 4 .766 1.077 1.387 1.698 2.010 2.320 2.632 2.941 3.252 3.563 5 .932 1.321 1.708 2.098 2.488 2.875 3.265 3.652 4.039 4.428 1440 Divide Times (with Special Feature) 6 1.099 1.565 2.029 2.497 2.965 3.430 3.898 4.362 4.828 5.294 7 1.265 1.809 2.351 2.897 3.443 3.984 4.531 5.072 5.615 6.160 Scan Disk Feature Starting-Address Control Field The scan-disk special feature provides an automatic search of 1311 and/or 1301 (Models 11, 12, 21, 22) disk data for a specific identifier or condition predetermined by the program. Instructions applying to. the 1301 and 1311 cannot be successfully chained. Alternate Control or Module I [ Coco Slomg. B-Address Figure H-67. Scan Disk Instruction Format. Mnemonic Op Code SDL SDLW SDE SDEW SDH SDHW M L M 1M L A-Address %F7 %F7 %F8 %F8 %F9 %F9 B-address d-character BBB BBB BBB BBB BBB BBB W W W W W W Function. This instruction compares a specified search argument in core storage (factor B) to the records within a specified group of sectors in disk storage (factor A). The A-address units position controls the operation. A 7 in the units position specifies a scan operation that stops when the search argument in core storage is either less than (BA), or equal to (B=A), a record in the specified section of disk storage. (The operation also stops when the end of the cylinder is reached, or when the sector count reaches zero.) The B-address of the instruction specifies the high-order position of the disk-control field in core storage that specifies the starting address in disk storage. The record area associated with the disk control field contains the search argument. The search argument must be placed in the same positions of the core-storage record as it appears in the diskstorage record. Skip codes ($) are used in those positions of the core-storage record that are not a part of the search argument (Figure H-67). The search argument can be variable in length, but must be no. longer than 99 characters. The last character (l00th) of the record cannot be included as part of the search argument. The units positions of the search argument should be followed by a group mark with a word mark to signal the end of the search argument. --- 0 1 J Track ~,.c;,ector ~kiP Codes 2T5t2 l 0 $ $,A 4 7 9 8,'1' 1 Search Argument Head Module 5 Sector Count Record in Core Storage for Scan Disk Operation Scanning begins at the disk record specified by the B-address and ends: 1. When the specified comparison is found. The sector-count field may, or may nat, be all zeros at this time. 2. When the aperation reaches the end of a cylinder. The sector-count field may, or may not, be all zeros at this time. S. When the sectar-count field is reduced to all zeros. Word Marks. A group mark with a word mark must be set one position to the right of the last character of the search argument. Timing. T = .0999 + 2N s + disk rotation. 400 ms is the maximum time for scanning one 1311 cylinder (200 sectors), 1,3S2 ms is the maximum time for scanning one IS01 cylinder (800 sectors). Notes. 1. The result of the scan is determined by testing the high, low, or equal compare indicators with the BRANCH. IF INDICATOR ON instruction. 2. The scan operation can be performed only on disk records written in sector format. Address Registers After Operation. I-Add. Reg. A-Add. Reg. NSI B +6 LF = length of factor B. B-Add. Reg. B + 11 +LF Example. Scan disk storage for an equal compare beginning at sector-address 012510 and continue scanning until the record with part number A24537 is found. The disk-control field is located in the highorder positions of the area of core storage labeled SCAN AR (0966-0974); Figure H -68. Autocoder Assembled Instruction: ~ %FS 966 W Figure H-68. Scan Disk Equal H-39 Seek Overlap Feature (1311 Models 1 and 2) The Seek Overlap Feature provides the flexibility to allow a seek operation to be overlapped with one 1311 read or write operation, plus any number of other seek operations on the other 1~11 Drives. Note: The Seek Overlap function is standard on all 1301 Model 11, 12, 21 or 22's that are attached to the 1440. On the systems which have 1301's and the 1311, under certain conditions, the Seek Overlap function may be obtained by proper programming, even when the Seek Overlap Feature is not installed on the 1311's. Thus, if the Seek instructions are issued for the 1301's before they are given for the 1311, then we effectively have Seek Overlap. Sense switch A (last-card test) is standard on the 1440 system. Sense Switches B through G are available as a special feature, These manually modify programs to follow alternate routines, depending upon varying conditions or requirements. See the Branch if Indicator On section, and Figure B-15. Track Record (1301) The track record special feature provides for reading or writing an entire disk track with or without the track address. A single, 6-digit address is used, followed by 2,543 characters in the move mode and 2,261 characters in the load mode. Track records can be used fol' storing programs, tables, blocked recol'ds, and other data requiring a single large storage block. When this feature is installed on the system, it provides the track-record function to all the attached 1301 units. , Instructions applying to the 1301 cannot be successfully chained. Read Disk-Track Record Instruction Format. The core-sector address field in core storage is not modified, but the sector-count field in' core storage is reduced by one as the track is read. The sectorcount field must be set at 001 before the operation begins so that reducing it by one can signal an endof-opeTation (000 in sector-count field). The R in the d-character position signifies that this is a read operation. Word Marks. A group mark with a word mark must be one position to the right of the last position reserved in core storage for the track record. If a group mark with a word mark is detected before reading of the track is completed, the wrong-length record and any-disk condition indicators tum on and reading stops. The position of the group mark with a word mark is determined by adding 2,554 to the B-address. Timing. T 'it = 33.3999 ms + disk rotation. 'it 35 ms is maximum time for disk rotation. 18.4 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Notes. Track-record read operations can be performed only on a track written with a track record operation. Before reading starts, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are not the same, the unequal-address compare and any-disk condition indicators are turned on, and the data in storage cannot be read from the disk. Address Registers After Operation. Op Code A-address B-address d-character %F2 BBB R M L %F2 BBB R Function. This instruction causes data to be read from a disk track into core storage. The digit 2 in the A-address (%F2) specifies that a track-record operation is to be performed. Data is read from the disk track (2,543 characters in move mode or 2,261 charH-40 Reading from the track begins follOwing the address specified by the core-sector address. This address is located at the beginning of the track, directly after the index pulse. The B-address specifies the high-order position in core storage of the disk-control field, and the area in storage reserved for data read from the disk track. Sense Switches Mnemonic RDTR RDTRW(word marks) acters in load mode). The additional characters read are accounted fOT by using the nonnal gap between disk sectors and the sector-address positions. Reading from the disk is stopped by a group mark with a word mark in core storage. I-Add. Reg. NSI A-Add. Reg. B +6 B-Add. Reg. B + 11 +2543 or B+ 11 +2261 Example. Read disk track 012540 in core storage beginning at location 0976 (area is labeled TRsEc1). The high-order position of the disk-control field is located in the ten positions preceding the label (0966-0975); Figure H -69. Autocoder OPERAND lobe I :', ~o Assembled Instruction: ~ M %F2 966 R and any-disk condition indicators tum on and reading stops. The position of the group mark with a word mark is determined by adding 2560 to the B-address. Timing. T = 33.3999 ms Figure H-69, Read Disk-Track Record #35 ms is maximum time for disk rotation. 18.4 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Read Disk-Track Record with Address Instruction Format. Mnemonic RDTA RDTAW(word marks) Op Code A-address B-address d-character M %F@ BBB R L %F@ + disk rotation. # BBB R Function. This instruction is similar to the READ D1SKTRACK RECORD instruction except that the @ in the A-address (%F@) specifies that the address of the track record in disk storage is also read into core storage with the data on the disk track. Data is read from the disk track (2,549 characters in move mode or 2,267 characters in load mode). The additional characters read are accounted for by using the normal gap between disk sectors and the sector-address positions. Reading from the disk is stopped by a group mark with a word mark in core storage. When a disk-track record operation is initiated, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are equal, reading begins immediately following the index pulse on the disk track. (The index pulse signals the system that the beginning of a track is about to come under the access assembly.) The track-recDrd address in the high-order position of the disk data field in core storage is written in the first sector-address position after the index pulse. Notes. Track-record read operations can be performed only on a track written with a track-record instruction. Before reading starts, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are not the same, the unequal-address compare and any-disk condition indicators are turned on, and the data in storage cannot be read from the disk. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+9 B-Add. Reg. B + 11 +2549 or B + 11 +2267 Example. Read the address and data from disk track 012540 into core storage beginning at location 0476 (area is labeled TRECAD). The high-order position of the disk-control field is located in the ten positions preceding the label (0466-0475); Figure H-70. Autocoder OPERAND label ~o Assembled Instruction: Figure H-70. :~ , ~ M. %F@ 466 R Read Disk-Track Record with Address Write Disk-Track Record The core-sector address field in core storage is not modified, but the sector-count field in core storage is reduced by one as the track is read. The sectorcount field must be set at 001 before the operation begins, so that reducing it by one can signal an end~of-operation (000 in sector-count field). The B-address specifies the high-order position in core storage of the disk-control field, and the area in storage reserved fDr the track-recDrd address and da ta read from the disk track. The R in the d-character position signifies that this is a read operation. Word Marks. A group mark with a word mark must be one position to the right of the last position reserved in core storage for the disk track. If a group mark with a word mark is detected before reading of the track is completed, the wrong-length record Instruction Format. Mnemonic Op Code A-address B-address d-character WDTR M %F2 BBB W WDTRW(word marks) %F2 BBB W L Function. This instructiDn causes data from core storage to be written on a disk track. The digit 2 in the A-address (%F2) specifies that a track-record operation is to be performed. An entire disk track is written from the data in core storage (2,543 characters in move mode or 2,261 characters in load mode). The additional characters are accounted for by writing in what is normally the gap between disk sectors and the sector address positions. Writing of the disk track is stopped by sensing a group mark with a word mark in core storage and the end of track. H-41 Writing begins at the track address specified by the core-sector address field. This address is located at the beginning of the track, directly after the index pulse. The core-sector address field in storage is not modified, but the sector-count field in core storage is reduced by one as the track is written. Set the sector-count field to 001 before the operation begins so that reducing it by one can signal an end-ofoperation (000 in sector-count field). The B-address specifies the high-order position in core storage of the disk-control field, and the area in storage where the data to be written on the disk track is stored. The W in the d-character position signifies that this is a write operation. Word Marks. A group mark with a wOl"d mark must be one position to the right of the last character of the data in core storage. The writing 'Of data stops when the end of track is reached on the disk and a group mark with a word mark is sensed in core storage. If the group mark with a word mark is sensed before the end of track, the remainder of the disk track is filled with valid blanks (C-bits), and the wrong-length record and any-disk condition indicators are turned on. The position 'Of the group mark with a word mark is determined by adding 2554 to the B-address. Timing. T = 33.3999 ms + disk rotation. ~ ~35 ms is maximum for disk rotation. 18.4 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Notes. 1. Before writing starts, an automatic check is made of the core-sector address in storage with the record address on the disk. If the addresses are not the same, the unequaladdress compare and any-disk condition indicators are turned on, and the data in storage cannot be written on the disk. 2. A WRITE DISK CHECK instruction must be performed follOWing a write operation unless an error occurred during the write operation. No other disk-storage operation can be performed until the check of data written on the disk is accomplished. 3. If the data in core storage contains characters with word marks and the write operation is performed in the move mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored). 4. Disk tracks adjacent to, but not above or below, a disk track written with the WRITE DISK-TRACK RECORD instruction must be either unused or set up as a track record. Tracks five and seven are adjacent to track six; track six (Oll disk surfaces 1 and 3) is "above or below" track six on disk surface 2. If the adjacent tracks are written using WRITE DISK SECTO~ or WRITE· DISK SECTOR WITH ADDRESSES instructions, interference occurs to the track-record data stored in what is normally the gap between sectors. H-42 Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+6 B-Add. Reg. B + II +2543 or B+ II +2261 Example. Write a disk-track record from the data in the core-storage area labeled TRSEc1 (the first position of data is at 0976). The high-order position 'Of the disk-control field is located in the ten positions preceding the label (0966-0975); Figure H -71. Autocoder OPERAND Label :'. Assembled Instruction: Figure H-71. ~ M %F2 966 W Write Disk-Track Record Write Disk-Track Record with Address Instruction Format. Mnemonic WDTA WDTAW(word marks) Op Code A-address B-address d-character M %F@ BBB W L %F@ BBB W Function. This is similar to the WRITE DISK TRACK RECORD instruction except that the @ in the A-address (%F@) specifies that the address of the track record in core storage is also written on the disk. When a disk-track record 'Operation is initiated, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are equal, writing begins immediately following the index pulse on the disk track. (The index pulse signals the system that the beginning of a track is about to come under the access assembly.) The track-record address in the high-order position of the disk data field is written in the first sectoraddress position after the index pulse. An entire disk track is written from the data in core storage (2,549 characters in move mode or 2,2137 characters in load mode). The additional characters are accounted for by writing in what is normally the gap between disk sectors and the sector-address positions. Writing of the disk track is stopped by sensing a group mark with a wOl"d mark in core storage and the end of track. The core-sector address field in stDrage is not modified, but the sector-count field in core storage is reduced by one as the track is written. The sectorcount field should be set to 001 before the operation 2. A WRITE DISK CHECK instruction must be performed following a write operation. No other disk-storage operation can be performed until the check of data written on the disk is accomplished. 3. If the data in core storage contains characters with word marks and the write operation is performed in the move mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored). 4. Disk tracks adjacent to, but not above or below, a disk track written with the WRITE DISK TRACK RECORD or WRITE DISK TRACK RECORD WITH ADDRESS instructions must be either unused or set up as a track record. Tracks five and seven are adjacent to track six; track six (on disk surfaces 1 and 3) is "above or below" track six on disk surface 2. If the adjacent tracks are written using WRITE DISK SECTOR or WRITE DISK SECTOR with ADDRESSES instruction, interference occurs to the track-record data stored in what is normally the gap between sectors. begins, so that reducing it by one can signal an end-of-operation (000 in sector-count field). The B-address specifies the high-order position in core storage of the disk-control field. It also specifies the area in storage where the address and data to be written on the disk track are stored. The W in the d-character position signifies that this is a write operation. Word Marks. A group mark with a word mark must be one position to the right of the last character of data in core storage. The writing of data stops when the end of track is reached on the disk and a group mark with a word mark is sensed in core storage. If the group mark with a word mark is sensed before the end-of-track, the remainder of the disk track is filled with valid blanks (C-bits), and the wrong-length record, and any-disk condition indicators are turned on. Processing is interlocked until the end of the sector. The position of the group mark with a word mark is determined by adding 2560 to the B-address. Timing. T = 33.3999 ms + disk rotation. ~ ~35 ms is maximum time for disk rotation. 18.4 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+9 B-Add. Reg. B+ 11 +2549 or B + 11 +2267 Example. Write a disk track record with its new address from the data in the core-storage area labeled TRECAD (the first position of the address is at 0476). The high-order position of the disk-control field is located in the ten positions preceding the label (0466-0475); Figure H-72. Autocoder Notes. 1. Before writing starts, an automatic check is made of the core-sector address in storage with one of the sector addresses on the pack. If the address is not found, the unequal-address compare and any-disk condition indicators are turned on, and the data in storage cannot be written on the disk. label OPERAND Assembled Instruction: M. %F@ 466 W " Figure H-72. Write Disk-Track Record with Address H-43 Track Record (1311) The track record special feature provides for reading or writing an entire disk track with or without the track address. A single, 6-digit address is used, followed by 2,980 characters in the move mode and 2,682 characters in the load mode. Track records can be used for storing programs, tables, blocked records, and other data requiring a single large storage block. When this feature is installed on the system, it provides the track-record function to' all the atta1ched 1311 drives. Instructions applying to the 1311 cannDt be successfully chained. Read Disk-Track Record Op Code A-address B-address d-character M %F2 BBB R L %F2 BBB + disk rotation. lit lIt42 ms is maximum time for disk rotation. 22 m's is average time fDr disk rotation. 2 ms is minimum time fDr disk rotation. Notes. 1. Track-record read operations can be performed only on a track written with a track-record instruction. 2. Before reading starts, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are not the same, the unequal-address compare and any-disk condition indicators tum on, and the data in storage cannot be read from the disk. I-Add. Reg. NSI A-Add. Reg. B +6 R Function. This instruction causes data to be read from a disk track into core storage. The digit 2 in the A-address (%F2) specifies that a track-record operation is to be performed. Data is read from the disk track (2,980 characters in move mode or 2,682 characters in load mode). The additional characters read are accounted for by using the nonnal gap between disk sectors and the sector-address positions. Reading from the disk is stopped by a group mark with a word mark in core storage. Reading from the track begins follDwing the address specified by the coresector address. This address is located at the beginning of the track, directly after the index pulse. The core-sector address field in core storage is not modified, but the sector-count field in core storage is reduced by one as the track is read. The sectorcount field must be set at 001 before the operation begins sO' that reducing it by one can signal an end of operation (000 in sector-CDunt field). The B-address specifies the high-order position in core storage of the disk-control field, and the area in storage reserved for data read from the disk track. The R in the d-character position signifies that this is a read operation. Word Marks. A group mark with a word mark must be one position to' the right of the last position reserved in CDre stDrage for the track record. If a group mark with a word mark is detected before H-44 Timing. T = 40.0999 ms Address Registers After Operation. Instruction Format. Mnemonic RDTR RDTRW(word marks) reading of the track is completed, the wrong-length record and any-disk condition indicators turn on and reading stops. The position of the group mark with a word mark is determined by adding 2,991 (move mode) or 2,693 (load mode) to' the B-address. B-Add. Reg. B + 11 +2980 or B + 11 +2682 Example. Read disk track 012540 in core storage beginning at IDcation 0976 (area is labeled TRSECl). The high-order position of the disk-control field is IDcated in the ten positions preceding the label ( 0966-0975 ); Figure H -73. Autocoder label ! 40 : Assembled Instruction: Figure H-73. M %F2 966 R Read Disk-Track Record Read Disk-Track Record with Address Instruction Format. Mnemonic RDTA RDTAW(word marks) Op Code A-address B-address d-character M %F@ BBB R L %F@ BBB R Function. This instruction is similar to' the READ DISKTRACK RECORD instruction except that the @ in the A-address (%F@) specifies that the address of the track record in disk storage is alsO' read into core storage with the data on the disk track. Data is read from the disk track (2,986 characters in move mode or 2,688 characters in load mode). The addi- tional characters read are accounted for by using the normal gap between disk sectors and the sectoraddress positions. Reading from the disk is sto.pped by a gro.UP mark with a word mark in core storage. When a disk-h'ack record operation is initiated, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are equal, reading begins immediately follo.wing the index pulse on the disk track. (The index pulse signals the system that the beginning of a track is abo.ut to come under the access assembly). The track-record address in the high-order Po.sitio.n of the disk data field in co.re storage is written in the first sector-address position after the index pulse. The core-sector address field in 'core stDrage is not modified, but the sector-count field in core storage is reduced by one as the track is read. The sectorcount field must be set at 001 before the operatio.n begins so that reducing it by one can signal an end of operation (000 in secto.r-count field). The B-address specifies the high-order position in core storage reserved for the track-record address and data read from the disk track. The R in the d-character position signifies that this is a read operation. Word Marks. A group mark with a word mark must be one position to the right of the last position reserved in core stDrage for the disk track. If a groupmark with a word mark is detected before reading of the track is completed, the wrong-length recDrd and any-disk condition indicators turn Dn and reading stops. The position of the group-mark with a word mark is determined by adding 2,997 (move mode) or 2,699 (load mode) to the B-address. Timing. T fit = 40.0999 ms + disk rotation. fit 42 ms is maximum time for disk rotation. 22 ms is average time for disk rotation. 2 ms is minimum time fo.r disk rotation. Notes. 1. Track-record read operations can be performed only on a track written with a track-record instruction. 2. Before reading starts, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are not the same, the unequal-address compare and any-disk condition indicators tum on, and the data in storage cannot be read. from the disk. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+9 B-Add. Reg. B+ 11 +2986 or B+ 11 +2688 Example. Read the address and data from disk track 012540 into core storage beginning at location 0476 (area is labeled TRECAD). The high -order position of the disk-control field is located in the ten positions preceding the label (0466-0475); Figure H -74. Autocoder Label Assembled Instrudion: Figure H-74. ~ %F@ 466 R Read Disk-Track with Address Write Disk-Track Record Instruction Format. Mnemonic Op Code A-address B-address d-character M %F2 BBB W WDTR WDTRW(word marks) %F2 BBB W L Function. This instruction causes data from core storage to be written o.n a disk track. The digit 2 in the A-address (%F2) specifies that a track-record operation is to be performed. An entire disk track is written from the data in core storage (2,980 characters in move mode Dr 2,682 in load mode). The additional characters are accounted for by writing in what is nonnally the gap between disk sectors and the sector-address positions. Writing o.f the disk track is sto.pped by sensing a group mark with a word mark in core storage and the end of track. Writing begins at the track address specified by the core sector address field. This address is located at the beginning of the track, directly after the index pulse. The core-sector address field in storage is not modified, but the sector-count field in core stora.ge is reduced by one as the track is written. Set the sector-count field to 001 before the operation begins so that reducing it by one can signal an end of operation (000 in sector-count field). The B-address specifies the high-order position in core storage of the disk control field, and the area in storage where the data to be written on the disk track is stored. The W in the d-character position signifies that this is a write operation. H-45 Word Marks. A group mark with a word mark must be one position to the right of the last character of the data in core storage. The writing of data stops when the end of track is reached on the disk, and a group mark with a word mark is sensed in core storage. If the group mark with a word mark is sensed before the end of track, the remainder of the disk track is filled with C-bits (blanks), and the wrong-length record and any-disk condition indicators tum on. The position of the group mark with a word mark is determined by adding 2,991 (move mode) or 2,693 (load mode) to the B-address. Timing. T = 40.0999 ms + disk rotation. (f< 42 ms is maximum time for disk rotation. 22 ms is average time for disk rotation. 2 ms is minimum time for disk rotation. (f< Notes. 1. Before writing starts, an automatic check is made of the core-sector address in storage with the record address on the disk. If the addresses are not the same, the unequaladdress compare and any-disk condition indicators tum on, and the data in storage cannot be written on the disk. 2. A WRITE DISK CHECK instruction must be performed following a write operation unless an error occurred during the write operation. No other disk-storage operation can be performed until the check of data written on the disk is accomplished. 3. If the data in core storage contains characters with word marks and the write operation is performed in the move mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored). 4. Disk tracks adjacent to, but not above or below, a disk track written with the WRITE DISK-TRACK RECORD instruction must be either unused or set up as a track record. Tracks five and seven are adjacent to track six; track six (on disk surfaces 1 and 3) is "above or below" track six on disk surface 2. If the adjacent tracks are written using WRITE DISK SECTOR or WRITE DISK SECTOR WITH ADDRESS instructions, interference occurs to the track-record data stored in what is normally the gap between sectors. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B+6 B-Add. Reg. B + 11 +2980 or B+ 11 +2682 Example. Write a disk-track record from the data in the core-storage area labeled TRSEC1 (the first position of data is at 0976). The high-order position of the disk-control field is located in the ten positions preceding the label (0966-0975); Figure H -75. Autocoder Label OPERAND Assembled Instruction: Figure H-75. H-46 M. %F2 966 W Write Disk-Track Record Write Disk-Track Record with Address Instruction Format. Mnemonic WDTA WDTAW(word marks) Op Code A-address B-address d-character M %F@ BBB W L %F@ BBB W Function. This instruction is similar to the WRITE DISKTRACK RECORD instruction except that the @ in the A-address C%F@) specifies that the address of the track record in core storage is also written on the disk. When a disk-track record operation is initiated, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are equal, writing begins immediately following the index pulse on the disk track. ( The index pulse signals the system that the beginning of a track is about to come under the access assembly.) The track-record address in the high-order position of the disk data field in core storage is written in the first sector-address position after the index pulse. An entire disk track is written from the data in core storage (2,986 characters in move mode or 2,688 in load mode). The additional characters are accounted foro by writing in what is nmmally the gap between disk sectors and the sector-address positions. Writing of the disk track is stopped by sensing a group mark with a word mark in core storage and the end of track. The core-sector address field in storage is not modified, but the sector-count field in core storage is reduced by one as the track is written. The sector-,count field should be set to 001 before the operation begins, so that reducing it by one can signal an end of operation (000 in the sector-count field). The B-address specifies the high-order position in core storage of the disk-control field. It also specifies the area in storage wher-e the address and data to be written on the disk track are stored. The W in the d-character position signifies that this is a write opeTation. Word Marks. A group mark with a word mark must be one position to the right of the last character of data in core storage. The writing of data stops when the end of track is reached on the disk and a group mark with a word mark is sensed in core storage. If the group mark with a word mark is sensed before the end of track, the remainder of the disk track is erased. Because even a valid blank must have a C-bit, a parity error condition results. The disk DISK-TRACK RECORD WITH ADDRESS instructions must be either unused or set up as a track record. Tracks five and seven are adjacent to track six; track six (on disk surfaces 1 and 3) is "above or below" track six on disk surface 2. If the adjacent tracks are written using WRITE DISK SECTOR or WRITE DISK SECTOR WITH ADDRESSES instructions, interference occurs to the track-record data stored in what is normally the gap between sectors. The write-address key on disk-storage-drive zero must be on to perform this operation. error, wrong-length record, and any-disk condition indicators are turned on. Processing is interlocked until the end of the sector. The position of the group mark with a word mark is detennined by adding 2,997 (move mode) or 2,699 (load mode) to the B-address. Timing. T = 40.0999 ms + disk rotation. o Address Registers After Operation. °42 ms is maximum for disk rotation. 22 ms is average time for disk rotation. 2 ms is minimum time for disk rotation. I-Add. Reg. NSI Notes. 1. Before writing starts, an automatic check is made of the core-sector address in storage with sector address on the pack. If the address is not found, the unequal-address compare and any-disk condition indicators tum on, and the data in storage cannot be written on the disk. 2. A WRITE DISK CHECK instruction must be performed following a write operation. No other disk-storage operation can be performed until the check of data written on the disk is accomplished. 3. If the data in core storage contains characters with word marks and the write operation is performed in the move mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored). 4. Disk tracks adjacent to, but not above or below, a disk track written with the WRITE DISK-TRACK RECORD or WRITE Baudot Character T 5 (FIGS-n CR CR (FIGS) 0 9 (FIGS-O) SPACE FIGS-SPACE H '(FIGS-H) N ,(FIGS-N) M .(FIGS-M) LF FIGS-LF L )(FIGS-L) R 4 (FIGS-R) G &(FIGS-G) I 8 (FIGS-I) P o (FIGS-P) C :(FIGS-C) V i(FIGS-V) E 3(FIGS-E) Enters Storage as: 2 C21 4 C41 C42 421 8 C81 C82 821 C84 841 842 C8421 A CAl CA2 A21 CA4 A41 A42 CA421 CA8 A81 A82 CA821 A84 CA841 CA842 A8421 B CBl Generates TranslateTable Address X02 .X03 X04 X05 X06 X07 Xl0 Xll X12 X13 X14 X15 X16 X17 X20 X21 xn X23 X24 X25 X26 X27 X30 X31 X32 X33 X34 X35 X36 X37 X40 X41 Baudot Character Z "(FIGS-Z) D $(FIGS-D) B ?(FIGS-B) S Bell (FIGS-S) Y 6(FIGS-Y) F !(FIGS-f) X /(FIGS-X) A -(FIGS-A) W 2(FIGS-W) J '(FIGS-J) FIGS U 7(FIGS-U) Q 1(FIGS-Q) K ( (FIGS-K) LTRS BLANK FIGS-BLANK A-Add. Reg. B+9 B-Add. Reg. B + 11 + 2986 or B+ 11 +2688 Example. Write a disk-track record with its new address from the data in the core storage area labeled TRECAD (the first position of the address is at 0476). The high-order position of the disk-control field is located in the ten positions preceding the label (0466-0475); Figure H -76. Autocoder OPERAND Label ::1 I' Assembled Instruction: Figure H-76. !::A %F@ 50 466 W Write Disk-Track Record with Address Enters Storage aSI Generates TranslateTable Address CB2 B21 CB4 B41 B42 CB421 CB8 B81 B82 CB821 B84 CB841 CB842 B8421 CBA BAl BA2 CBA21 BA4 CBA41 Deleted From Input by Adapter BA8 CBA81 CBA82 BA821 CBA84 BA841 Deleted From Input by Adapter C 1 X42 X43 X44 X45 X46 X47 XSO X51 X52 X53 X54 X55 X56 X57 X60 X61 X62 X63 X64 X65 X70 X71 xn X73 X74 X75 XOO XOl (Note: X in table address represents any hundreds-position digit.) Figure H-77. Baudot Code to Generate Translate-Table Address H-47 Translate aCD Character This special feature provides the data processing system with the capability of fast, flexible translation of codes to and from the code of the system. The feature uses stored-program instructions to initiate the code translation and subsequent record movement. One translate instruction translates a complete record, moving left to right as it replaces each record character with a character from a translate table in core storage until a group mark with a wm:-d mark is detected in the field being translated. Each code translation requires a table in storage beginning at an even-hundreds address for TRANSLATEWITH-WaRD-MARKS and at any hundreds address for TRANSLATE-WITHOUT-WORD-MARKS. The number of various code translations that can be handled at one time in a system is limited only by the core storage available for tables. The LOAD RECORD instruction (included in the translate feature) moves characters and word marks from an A-field to a B-field, moving left to right up to and including an A-field group mark with a word mark. Original B-field word marks are cleared. Instructions applying to the translate feature cannot be successfully chained. BLANK 1 2 3 4 5 6 7 8 9 0 # @ : > V ¢ / S T U V W X Y Z f , % ;:: I " Generates TranslateGenerates TranslateBCD Character Table Address Table Address XOO XOl X02 X03 X04 X05 X06 X07 Xl0 Xll X12 X13 X14 X15 X16 X17 X20 X2l X22 X23 X24 X25 X26 X27 X30 X3l X32 X33 X34 X35 X36 X37 J K L M N 0 P Q R ! $ "" ) ; A & A B C D E F G H I ? 0 ( < * X40 X4l X42 X43 X44 X45 X46 X47 X50 X5l X52 X53 X54 X55 X56 X57 X60 X6l X62 X63 X64 X65 X66 X67 X70 X7l X72 X73 X74 X75 X76 X77 Note: Word marks with the BCD characters will generate the same sequence of addresses at (X+ 1)00, (X+1)O 1, etc. Figure H-78. BCD Character to Generate Translate-Table Address Translate with Word Marks Mnemonic TRW Op Code T A-address AAA B-address d-character BOO > The TRANSLATE WITH WORD MARKS instruction consists of T (C A 2 1 WM) forr the operation code, a 3-character A-address representing the initial address of the record to be translated, a 3-character B-address representing the initial address of the translate table, and a d-character with a bit configuration of 8-4-2. The record to be translated must end with a group mark with a word mark. The initial address of the translate table is restricted to any available evenhundreds address 'such as 200, 400, 600, 800, or 1000. Two table sizes ean be accommodated: a 78-character table provides as many as 64 usable positions, and a 156-character table provides as many as 128 usable positions. (Figures H-77 and H-78 show that the digits 8 and 9 are not used in the units or hundreds position of any generated address of the translate table.) The I50-character table consists of the 78-character table, beginning at an even-hundreds address (for example 200-277), combined with another 78-character table, beginning at the next sequential hundreds address (300-377). H-48 Characters and word marks from the translate table (initial address specified by B-addres,s) replace the characters and word marks in the record being translated, beginning at the address specified by the Aaddress of the translate instruction. The TRANSLATE WITH WORD MARKS instruction interprets word marks in the A-address field as DATA or SHIFT bits, and the word marks actually take part in the translate function. The translate instructions are interruptible. The B-field address (initial translate-table address) cannot be indexed. The B-address register contains blanks in the units and tens position at the completion of a translate operation. Therefore, the use of a STORE B-ADDRESS REGISTER instruction immediately following a translate operation causes the system to interlock. Translate without Word Marks Mnemonic TR Op Code T A-address AAA B-address BOO The TRANSLATE WITHOUT WORD MARKS instruction format is the asme as the TRANSLATE WITH WORD MARKS instruction, but without a d-character. It functions the same, with these exceptions: 1. One table size can be accommodated: the 78character table, which provides as many as 64 usable positions. 2. A-field word marks do not take part in the actual translation, and are not altered by the translation. General Description of Translate The program assigns locations and contents in the translate table depending Q1n the desired translation. Each position of the translate table contains the BCD character to which a particular character is to be translated. For each character to be translated, the translate feature automatically selects the appropriate position of the translate table. The contents Q1f that position replaces the character in the A-field. The contents of the translate table are undisturbed. The translate-table characters must contain odd parity. The input/output device, channel or adapter (for example, the IBM 1448 TransmissiQln Control Unit ) performs any necessary parity conversion for input and output. The tables also must contain required SHIFT bits for shifted codes. The adapter detects SHIFT-bit transitions, generates the required SHIFT character, and removes the SHIFT bit. Figure H -77 is an example of how a code (Baudot telegraph code in this case) enters the system and the addresses that are generated (assuming Baudot 1-2-3 4-5 bits respectively are equal to BCD bits B-A-8-4-2 with the I-bit designating figures shift. Figure H -78 shows the BCD character and the table address generated. Translation of each character is accomplished in a 3-cycle sequence (first A-cycle, B~cycle, and second A-cycle). Refer to Figure H -79 while reading the sequence described here. Here again Baudot code is used as an example. Although the examples show the function of the translate with incoming data, it functions the same way for outgoing data using another translate table. The translate instruction acts uPQln all the -characters of the A-field. Figure H-79 shows how the instruction T 900 600 (as an example) translates one character. In this case the first character of the A-field is used as the example. The contents of position 900 has a bit configuration of 2-4-A (Baudot-code G). The first A-cycle moves this first character in the A-field to the B-register. From the B-register, the operation moves the 1-2-4 bits of this character (with proper parity) to the units position Q1f the storageaddress register together with the A-B bits frQlm the units position of the B-address register. A-B bits in the units position of the generated address designate corestorage blocks over 3999. In Figure H-79 the 2-4 bits produce a 6 in the units position of the storage-address register. If the 1-2-4 bits are all blanks (nQl-bits), the operation generates an 8-2-C bit configuration (zero) into the units position of the storage-address register. The first A-cycle also moves the 8-A-B bits (interpreted as 1-2-4 bits) of the same character (with proper parity) to the tens PQlsition of the storage-address register. In Figure H-79 the A-bit, which becomes a 2-bit, prQlduces a 2 in the tens position of the storageaddress register. Again, if the 8-A-B bits are all blanks, the operation generates an 8-2-C bit configuration ( zero) into the tens position of the storage-address register. If the insmlCtion is a TRANSLATE WITH WORD MARKS, a word-mark bit in the B-register is interpreted as a I-bit and is combined with the bits already selected for transfer to the hundreds position of the storageaddress register. This adds 1 to the hundreds position of the storage-address register and thus generates an address from the second' half of a 156-character table. If the table's base address was 600 (as in Figure H-79) the generated address would be 726. Because in the example the B-register has no word mark, the generated address is 626. A TRANSLATE WITHOUT WORD MARKS instruction blocks a word mark in the B-register so it takes no part in the generation of the address. B-Cycle The B-cycle of the operation reads a character or character with word marks out of a specified translatetable address in storage into the A-register. It uses the address generated in the first A-cycle. The translate table is unaltered. First A-Cycle The first A-cycle generates the appropriate translatetable address specified by the character to be translated. Second A-Cycle The second A-cycle of the operation again reads out the character being translated and replaces it in core H-49 900 901 2 4 A 902 1 4 WM 2 4 903 B-REG 1M] ~M 1 2 4 WM \~ \ (Reconl 10 be I.on.loled) \ \ \ 0 1 1 r-8 A B 0 1 0 r-- } } C 0 WM ro} \ I I9 1 0 10 I 0 10 ,.... I I 16 Blank Blank A-Address Register {Remains the same before and at the end of first A-cycle} {Translate Instruction} Figure H-79. If the instruction is translate-with-word-marks, WM is transferred as a 1-bit combined with even bits of B-address register to storage address register. Storage Address Register at end of cycle • .. I 91 1. Transfer to tens position of storage address register as 1-2-4. 2. Generate parity. I-3. If all zeros, generate 8-2-C to main address register units position. Storage Address Register at beginning of cycle. I6 I2 I6 t 1. Transfer to units position of storage address register as 1-2-4. 2. Generate parity. I--3. If all zeros, generate 8-2-C to storage address register units position. B-Address Register {Initial Table Address} !. 900 600 > First A-Cycle of Translate Sequence storage with the contents of the A-register, which contains the character read out of the translate table on the B-cycle. The original A-field character is destroyed. A TRANSLATE WITH WORD MARKS instruction destroys original A-field word marks but moves word marks from the translate table to the A-field. A TRANSLATE WITHOUT WORD MARKS instruction regenerates original A-field word marks into the A-field and moves translate-table word marks to the A-field. Figures H-SO and H-Sl show how the translate instruction affects processor-storage areas. No particular codes are specified. 900901 902903904905906907908909910 0 1 0 1 0 0 0 1 0 1 1 2 0 0 1 1 1 1 0 0 0 0 1 4 1 1 1 0 1 0 1 0 1 0 1 8 0 1 0 0 1 1 0 0 1 0 1 A 0 1 0 0 1 1 0 0 1 0 1 B 0 1 0 0 1 1 0 0 1 0 1 C 0 1 1 0 0 0 1 0 0 1 0 WM 0 1 0 1 0 1 1 0 0 1 1 Original A-field (record to be translated) 1 600 60 1 602 603 604 605 606 607 608 674 675 676 677 jTranSlate I I I I lXli I I I I Tables 600-677 700 701 702 703 704 705 771 772 773 774 775 776 777 700-777 I I I I I I I I I H I I I I I I I I (Coded characters are assigned by the program) Timing. I:8j Represents an unused table address (X08, X09, X 18, X 19, etc.) The formula for the translate-operation execution time (T) for the 1440 is: T = .0111 (Lr + 2 + 3N) ms. N = The number of characters in A-field to be translated. LI = 7 for TRANSLATE WITHOUT WORD MARKS. 8 for TRANSLATE WITH WORD MARKS. 900 901 902 903 904 905 906 907 908 909 910 © © © © © © © © © © 6 0 4 7 7 5 6 0 6 7 0 3 Resultant A-field. word mark). 6 7 6 7 7 2 7 0 4 6 0 1 6 7 4 7 0 1 © 604 means the contents of 604 (character and I 900 600 > Example: N = lOO-character record T=l.Sms H-50 Figure H-BO. * WM Translate with Word Marks 1 2 4 8 A B C WM 900 901 902 903 904 905 906 907 908 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 IBM 1009 Data Transmission Unit Special Features 909 910 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 ISM 1009 Data Transmission Control Unit Suffer Feature Original A-field (record to be translated) (Note: Same bit configurations as example translate with word marks.) 600 60 1 602 603 604 605 606 607 608 672 673 674 675 676 677 I I I I I I I rxu I I I I I I I Translate table 600-677 (coded characters are assigned by the program) cgJ Represents an unused table address (X08, X09, X18, X19, X28, X29, etc.) 900 901 902 903 904 905 906 907 908 909 910 © © © © © © © © © © 6 0 4 6 7 5 6 0 6 Resultant A-field. word mark). T 900 600 © 6 6 7 7 6 WM WM Figlue H-81. 6 0 3 2 6 0 4 WM WM 6 0 1 6 7 4 6 0 1 * WM WM 604 means the contents of 604 (character and Translate without Word Marks Load Record The translate feature includes a special move instruction that moves characters and associated word marks in a record from one storage area to another. Mnemonic MRCWG Op Code A-address B-address d-character R AAA BBB > The LOAD RECORD instruction consists of X (B 4 2 1 WM) for the operation code, a 3-character A-address representing the address of the record to be moved, a 3-character B-address representing the address of the field to which the record is moved, and a d-charaoter with a bit configuration of 8-4-2. The operation moves characters and word marks in the A-field to the B-field, moving from low-numbered to high-numbered storage position up to and including an A-field group mark with a word mark, which stops the operation. Original B-field word marks are cleared. Substantially improved 1009 operation is provided by this buffer feature. Refer to IBM 1009 Data Transmission Unit, Form A24-1039, and to the IB~l 1009 Data Transmission Unit section of this publication. While the buffer is being loaded with data from the transmission line, or unloading data to the transmission line, the processor is freed for other operations. The buffer feature provides a 4OO-character corestorage buffer that is divided into four 100-character blocks. Blocks of 100 characters are transferred be-tween buffer storage and the processor by a single MOVE or LOAD instruction. After a block of 100 characters has been moved into the core-storage I/O area, the processor (receive mode) interrogates indicators to determine whether more data is stored and available for transfer to the processor. After a block of 100 charaoters has been moved into the 1009 buffer from the processor core storage (transmit mode), the program routine can interrogate the buffer to determine whether it can accommodate another block of 100 characters. If additional data is available in the 1009 buffer (receive mode), or additional space is available in the 1009 buffer (transmit mode), the program routine can initiate another MOVE or LOAD instruction. The B-addresS' of the LOAD or MOVE instruction should be increased by 100 before the instruction is executed. This procedure is followed until a group mark with word mark (end-of-message) is detected in the processor core storage (transmit mode) or an end-of-message is detected in 1009 buffer storage (receive mode). The processor program must determine the validity of the data received by tes:ting the appropriate indicator. The data is processed if it is valid. If the data is invalid, it is automatically retransmitted a maximum of two more times. A counter in the 1009 buffer keeps track of the number of transmissionS' made during an error routine; however, the retransmission of data is under program control. If the data is still invalid after three transmissions, the transmission of data ceases, and an alarm sounds indicating operator intervention is required. H-51 The buffer feature also provides the 1009 with the ability to answer automatically and establish a telephone connection for transmission of data and disconnect at the end of transmission without operator intervention. The direction of the transmission can automatically controlled through appropriate programming. edges this inquiry under control of the U %D1 D processor instruction. After the inquiry signal is acknowledged, the £rst message is' received in 1009 buffer storage. Ending the Operation Console Panel, IBM 1009 Buffer Feature The console panel remains the same except for the transmit/receive switch. This switch now has three positions: transmit, receive, and automatic. The switch must be set to AUTOMATIC if the auto-answer, autodisconneot, and/or automatic control of transmission direction features are used. IBM 1009 Auto'matic Mode Operation Procedure for making retransmission connection: 1. The operator places the call after loading the program in the processor and placing the 1009 in a ready status (power on, binary-BCD mode switch set to desired mode, test-normal switch set to NORMAL, and transmit-receive-automatic switch set to AUTOMATIC). 2. After placing the 1009 in a ready status and completing the line connection, press the data key on the data set, and cradle the handset. 3. Press the auto key on the data set if future calls are to be answered automatically. 4. Press the start key on the processor. The IBM 1009, under program control, automatically performs all necessary disconnect functions. When an end-of-£Ie signal is received. the receiving station can, under program control, either reverse direction and proceed in a transmit mode, reestablish the receive mode, or ignore the end-of-£Ie signal. Ignoring the end-of-£Ie signal automatically disconnects the transmission line after about 30 seconds. The receive station can also send an end-of-£Ie signal to the transmitting station manually or under program control. The transmitting station acknowledges this signal by sending an end-of-£Ie signal to the receive station, which terminates the transmission on both ends. IBM 1009 Data Transmission Unit Line Speed Speed Select Switch Setting 600 750 1000 1200 1500 2000 2400 3000 4000 CPS 75 93.75 125 150 187.5 250 300 375 500 0-600 5. The K E instruction in the program routine sets the transmission direction to transmit. ~Speed MS/CHAR 13.3 10.65 8.0 6.67 5.7 4.0 3.33 2.66 2.0 EXT.~ LINE depends upon type of data set used 6. The :Q %D1 E instruction initializes the transmission of the message. Procedure for making the receiving connection: l. Load the program- in the processor and place the 1009 in a ready status (power on, binary-BCD mode switch set to desired mode, test-normal switch set to NORMAL, and transmit-receive-automatic switch set to AUTOMATIC). 2. Press the auto key on the data set. 3. Press the start key on the processor console. 4. The K D instruction in the program routine sets the direction of transmission to receive. The 1009 automatically answers a call and receives an initial inquiry signal from the sender. The 1009 acknowlH-52 Maximum Processor Time Required for Data Movement Blocks of 100 characters (with or without word marks) are transferred by each MOVE or LOAD instruction. Timing (without indexing). T= + + .0999 ms .0111 L + 1.0989 (Instruction time) (First character) (Line-character speed in ms! character) . (Subsequent 99 characters of the block. Each character requires .0111 ms. When fewer characters are transferred, reduce this factor accordingly). 1.2099 ms (plus line speed) for each 100character block. Timing (with indexing). Initialize a Reply from Receiver (ReV) T= + + + .0999 ms .Olll .0333 L + 1.0989 ( Instruction time) (First character) (Indexing cycle time) (Line-character speed in ms/ character) . (Subsequent 99 characters of the block. Each character requires .Olll ms. When fewer characters are transferred, reduce this factor accordingly). 1.2432 ms (plus line speed) for each 100character block. Instruction Format. Mnemonic Op Code U CU A-address d-character %D1 D Function. The receiving 1009 signals the transmitting station that it is ready to' receive and indicates the status of the previO'us message (see BRANCH IF INDICATOR ON instructiO'n). Word Marks. WO'rd marks are not affected. Timing. T Additional and Modified Instructions for J009 Buffer Feature Several prO'CeSSO'r instructiO'ns are expanded to' provide prO' gram cO'ntrol fO'r the mM 1009 Data Transmission Unit with buffer feature. InstructiO'ns applying to' the 1009 cannO't be successfully chained. = .0666 ms. Note: The transmit/receive switch on the receiving 1009 should be set to RECEIVE. If it is set to TRANSMIT, the processor is interlocked and an alarm is sounded to signal the operator. This instruction is also used when the transmit, receive, and automatic switch is set to the automatic position (buffer feature installed) and a ~ D instruction has been issued. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %41 B-Add. Reg. Dbb Initialize a Message Transmission (XMIT) Instruction Format. Mnemonic Op Code A-address CU Q %Dl d-character E Function. This instruction initiates a start-of-message signal if the 1009 is in a send-run conditiO'n (transmit/receive switch is set to' TRANSMIT). If the 1009 is in a receive-run condition ( transmit/receive switch set to' RECEIVE) the instructiO'n causes the prO'cessor to' interlock and an alarm to' sO'und, signaling that operation interventiO'n is necessary. This instructiO'n is alsO' used when the transmit, receive, and autO'matic switch is set to' the autO'matic positiO'n (buffer feature installed) and a K E (set directiO'n to' TRANSMIT) instruction" has been issued. The A-address specifies the 1009, and the d-character specifies the start-transmission operation. Move Character to the Transmitting 1009 Instruction Format. Mnemonic Op Code A-address B-address MU M %Dl BBB d-character W Function. The transmitting prO'cessor sends 100 characters to' the 1009 buffer, starting with the pO'sitiO'n in core storage specified by the B-address. The dcharacter, W, specifies a transmit operatiO'n. Word Marks. WO'rd marks are not affected. = 1.210 + 1L T = 1.243 + 1L Timing. T ms (wi,thO'ut indexing) ms (with indexing) Timing. T = .0666 ms. Note. If a group mark with word mark is sensed in processor core storage, an end-of-message transmit condition is recognized. See Maximum Processor Time Required for Movement of Data section. Address Registers After Operation. Address Registers After Operation. Word Marks. WO'rd marks are not affected. I-Add. Reg. NSI A-Add. Reg. %41 B-Add. Reg. Ebb I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. %41 B + 100 or GM + 1 H-53 Address Registers After Operation. Move Character from the Receiving 1009 I-Add. Reg. NSI Imtruction Format. Mnemonic MU Op Code M A-address %Dl B-address d-character BBB R Function. This instruction transfers 100 characters in the receiving 1009 buffer to the receiving processor core-storage location starting with the position specified by the B-address. The d-charaoter specifies a receive operation. Word Marks. Word marks are not affected. Timing. T = 1.210 + 1L ms (without indexing) T = 1.243 + 1L ms (with indexing) Note. When the 1009 recognizes the end-oF-message condition, the receiving processor gets an end-oF-message receive signal and inserts a group mark in the core-storage location immediately beyond the location containing the last character of the message. See Maximum Process Time Required for Movement of Data. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %41 B-Add. Reg. B + 100 ~r GM + 1 Load Character to the Transmitting 1009 1nstruction Format. Mnemonic Op Code LU L A-address %Dl B-address BBB d-character W Function. The transmitting processor sends 100 characters, starting with the location specified by the Baddress, to the transmitting 1009 buffer. The d-character, W, specifies a transmit operation. Word Marks. If a word mark is associated with a character, it is placed with the character in 1009 buffer storage during one transfer cycle. When the character is placed on the transmission line, the word mark is converted to a word separator. Placing the character and word separator on the transmission line takes two transmission cycles. = 1.210 + 1L T = 1.243 + 1L Timing. T ms (without indexing) ms (wi,th indexing) Note. A group mark with word mark in processor core storage signals an end-oF-message transmit condition. See Maximum Process Time Required for Movement of Data. H-54 A-Add. Reg. B-Add. Reg. B + 100 or GM + 1 %41 Load Character from the Receiving 1009 1mtruction Format. Mnemonic LV Op Code A-address %Dl h B-address d-character BBB R Function. This instruction transfers 100 characters in the receiving 1009 buffer to receiving processor core storage starting with the location specified by the B-address. The d-character, R, signals a receive operation. Word Marks. If a word mark is associated with a character, it is received as a word separator followed by its associated data character, but converted to a word mark and placed with its associated character in the receiving 1009 buffer storage. This operation takes two transmission cycles. The charaoter and associated word mark are then transferred to processor core storage during one transfer cycle. Timing. T = 1.210 + 1L ms (without indexing) T = 1.243 + 1L ms (with indexing) Note. When the 1009 recognizes an end-oF-message condition, the receiving processor interprets an end-oF-message receive signal and inserts a group mark in the core-storage location immediately beyond the location containing the last character of the message. See Maximum Process Time Required for Movement of Data. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %41 B-Add. Reg. B + 100 or GM +1 Branch if Indicator On Instruction Format. Mnemonic BIN Op Code B I-address III d-character d Function. This instruction tests the indicator specified by the d-character. If the indicator is on, the program branches to the I -address for the next instruction. If it is off, the program continues with the next sequential instruction. d-character 1 2 3 4 5 6 7 8 Indicator 1009 Ready Buffer Service Reply Good Reply Bad Receive Error Attention 1009 Receive EOM or Initial Inquiry Receive EOF Station RCVor XMIT RCVor XMIT XMIT XMIT RCV RCVor XMIT ReV RCVor XMIT Indicators B III 1. This indicator turns on when the 1009 is in. a run condition. If the 1009 is not in a run condition, the program should stop, or loop until the run condition is established. on until the next U %D 1 D instruction is issued. This also comes onin response to the initial twocharacter inquiry sequence (transmi,t leader/inquiry) sent by the transmitting 1009 prior to the start of transmission. BIII8. This indicator, when on, indicates to the proc- essor that the 1009 has received an EOF (end-offile) signal from the remote terminal. Word Marks. Word marks are not affected. Timing. No branch, or branch without indexing: T Branch with indexing: T = .0777 ms. Address Registers After Operation. 1!.III 2. This indicator, when on, indicates to the processor that the 1009 is in a buffer-available condition when in either the transmit or receive mode. This indicator turns on the firs,t time when 100 characters have been placed in the receive 1009 buffer or when a U %D1 E instruotion has been issued when in a transmit mode. .!!. III 3. This indicator turns on if the signal sent to the transmitting station by the :Q %D 1 D instruotion specified that a good transmission occurred. The transmitting processor should test this indicator and branch to the routine for the ne~t message if it is on. If the indicator is not on, the program should advance to test the transmission-error indicator. .!! III 4. The reply-bad indicator turns on if the signal sent to the transmitting station by the .!2 %D1 D instruction specified that a transmission error occurred. The transmitting processor should test this indicator and branch to an error subroutine if an error occurred. J!III5. This indicator, when on, indicates to the processor that the condition for acknowledgment that has been set in the 1009 is error-reply. This indicator turns on when the first error charaoter is detected in a message and remains on until the next Q %D1 D ins'truction is issued. B III 6. This indicator turns on when anyone of the - following indicators turns on: Branch 2, Branch 3, Branch 4, Branch 7, and Branch 8. When the Branch 6 indicator is on, the 1009 requires program attention. BIll 7. This indicator, when on, indicates to the - processor that the conditions for an acknowledgment have been set (reply-good or reply-bad) in the 1009. This indicator turns on when the processor receives an end-of-message signal from the 1009 and remains = .0666 ms. No Branch: Branch (without indexing) Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. dbb NSI BI blank NSI BI NSI Suppress 3-Second Alarm Instruction Format. Mnemonic SS SSB Op Code I-address d-character K ..!. III A A Function. This instruction prevents the 3-second a,larm from sounding during a delay (such as tape rewind). N0rmal alarm funotions will be restored when. any subsequent instruction addresses the 1009. This instruction can be given when a delay in processing can be foreseen. Word Marks. Word marks are not affected. Timing. Suppress 3-Second Alarm: T = .0333 ms. Suppress 3-Second Alarm and Branch (without indexing: T .0666 ms. Suppress 3-Second Alarm and Branch (with indexing): T .0777 ms. = = Address Registers After Operation. Suppress 3-Second Alarm Suppress 3-Second Alarm and Branch (without illdexing): Suppress 3-Second Alarm and Branch (with indexing): I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI Abb Abb NSI BI blank NSI BI NSI H-55 Address Registers After Operation. Set Direction to Receive I-Add. Reg. Instruction Format. Mnemonic SS SSB Op Code K I-address .K III d-character D D Function. This instruction is incorporated in the processor receive program routine to set the line direction to RECEIVE. This instruction is effective only if the transmit, receive, and automatic switch is set to Set Direction to Transmit: Set Direction to Transmit and Branch (without indexing): Set Direction to Transmit and Branch (with indexing): A-Add. Reg. B-Add. Reg. NSI Ebb Ebb NSI. BI blank NSI BI NSI AUTOMATIC. Word Marks. Word marks are not affected. Timing. Set Direction to Receive: T = .0333 ms. Set Direction to Receive and Branch (without indexing): T = .0666 ms. Set Direction to Receive and Branch (with indexing): T = .077 ms. Send End-of-File (EOF) Instruction Format. Mnemonic SS SSB Address Registers After Operation. I-Add. Reg. A-Add. Reg. Op Code K I-address d-character K III F F B-Add. Reg. NSI Dbb Dbb Function. This instruction is incorporated in the processor transmit or receive program routine to initiate an EOF (end-of-file) code signal to the remote 1009. NSI BI blank Word Marks. Word marks are not affected. NSI BI NSI Set Direction to Transmit Send End-of-File: T = .0333 ms. Send End-of-File and Branch (without indexing): T = .0666 ms. Send End-of-File and Branch (with indexing) ): T = .0777 ms. Instruction Format. Address Registers After Operation. Set Direction to Receive: Set Direction to Receive and Branch (without indexing): Set Direction to Receive and Branch (with indexing): Mnemonic SS SSB Op Code I-address d-character E III E K K Function. This instruction is incorporated in the processor transmit program routine to set the line direction to TRANSMIT. This instruction is effective only if the transmit, receive, and automatic switch is set to AUTOMATIC. Timing. Send End-of-File Send End-of-File and Branch (witho~t indexing): Send End-of-File and Branch (with indexing): I-Add. Reg. NSI A-Add. Reg. Fbb B-Add. Reg. Fbb NSI BI blank NSI BI NSI Word Marks. Word marks are not affected. Timing. Set Direction to Transmit: T = .0333 ms. Set Direction to Transmit and Branch (without indexing): T = .0666 ms. Set Direction to Transmit and Branch (with indexing): T = .0777 ms. H-56 Operate in Load Mode Instruction Format. Mnemonic SS SSB Op Code I-address d-character III L L K .!.. Function. This instruction is placed ahead of the U %Dl D instruction in the processor receive program routine if the receiving 1009 is operating in the load mode. This instruction causes all word separators to be converted to word marks as they are received at the receiving 1009 and before they are placed in the receiving 1009 buffer. The receive station operates in a load mode until an end-of-message signal is received. Timing. Operate in Load Mode: T = .0333 ms. Operate in Load Mode and Branch (without indexing): T = .0666 ms. Operate in Load Mode and Branch (with indexing): T = .0777 ms. Program Instructions The existing 1012 I/O instructions are used foc read tape feature operations. (See IBM 1012 Tape Punch section of this publication.) For example, with the read/punch switch set to READ, a PUNCH BLANK instruction followed by a READ instruction causes the infonnation at the read station to be transmitted to the processor and the tape to be moved one character position. A PUNCH BLANK instruction followed by a READ instruction is required to read each character. The same considerations for starting and stopping the tape for punching, apply for reading as well. The read operation, m timing purposes, is the same as punching with READ BACK CHECK. See IBM 1012 Tape Punch, Form A26-5776-0. Address Registers After Operation. Operate in Load Mode: Operate in Load Mode and Branch (without indexing): Operate in Load Mode and Branch (with indexing): I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI Lbb Lbb NSI BI blank NSI BI NSI IBM 1012 Tape Punch Special Features IBM J0 J2 Tape Punch, Read Feature The addition of the read special feature to the mM 1012 allows the 1012 to operate as a reader (input to a using system) or as a punch (output from a using system). The mode of operation is controlled by a read/punch switch that is' installed in the blank position next to the rewind switch. When the read/punch switch is set to READ, the 1012 Tape Punch is modified as follows: • All punching is inhibited. • The reel sense arm's function is inhibited. The trailing end of the tape is allowed to feed from the supply reel without causing the machine to stop. • The supply arm's lower-limit switch is bypassed. This allows the trailing end of the tape to pass the read station without causing the machine to stop. • The feed switch, when pressed, causes the tape to advance without being punched with feed codes. H-57 IBM 1403 Special Features The IDM 1403 Printer special features add to the flexibility of the output applications for particular jobs, and also reduce the time required. Only those 1403 special features which require programmed instructions are listed here. Refer to IBM 1403 Printer, Form A24-3073. Selective Tape Listing Feature The selective tape listing feature can be attached to either of the Models 2 and 3 of the IDM 1403 Printer so that output results of data processed on a system can be printed on adding-machine style paper tapes (Figure H -82) . Operation An IDM 1403 Printer with the selective tape listing feature installed continues to operate at regular 1403 speeds. Each tape is individually linespaced, one line at a time (no skipping or ejecting is possible). Tape is spaced by using modified 1403 CONTROL CARRIAGE Op code (f ), when used with a d-character of A through H , which signals a single linespace for the corresponding tape. ( The space operation takes place after the next print operation.) The modifier characters and the tapes they control are: A B C D - Tape Tape Tape Tape 1 2 3 4 E F G H - Tape Tape Tape Tape 5 6 7 8 When a double-width tape is used, two tape linespace instructions are given, using the d-charaoters corresponding to the positions occupied by the doublewidth tape. If additionallinespacing is wanted, a tape linespace instruction (CONTROL CARRIAGE Op code and the specific d-character and a PRINT instruction ) are given. The print operation is a dummy print operation, and the print area in core storage should be clear so that nothing is plinted. The linespace operation occurs after the print operation. To equalize the ribbon wear, the customer can vary the location of the master tape. This can b e done by using the same width tape in another location and altering the program (changing the d-character to the character that corresponds to the new location ) . An end-of-tape condition, sensed at the tape-spool tray, stops the printing operation and turns on the 1403 end-of-forms light. When programming selective tape listing, the program should not select more than four tape-feeds simultaneously. Control Carriage Selective Tape Listing Feature Instruction Format. Mnemonic CC d-character d Op Code F Function. Space a specific tape (as defined by the dmodifier character). Each such instruction causes a single tape to space up one line. Multiple instructions (with the correct d-characters) are required for spacing more than one tape. Word Marks. Word marks are not affected. Timing. See 1403 Printer Timings section. Address Registers After Operation. B-Add. Reg. dbb A-Add. Reg. dbb I-Add. Reg. NSI Chaining. This instruction cannot be successfully chained . Example. Space up tapes 1, 2, 7, and 8 after the next print operation. Tapes 7 and 8 might represent a single double-width tape (Figure H-83). Autocoder Label :;pera,;?; I I I , I Z(l ~c. ~ .I'!. :.c :c I >5 50 4a O PERAND A B H. G. Assembled Instruction: F A F B F G F H Figure H-82. H-58 Selective Tape Listing Feature Mechanism Figure H-83. Control Carriage, Selective Tape Listing Feature "" IBM 1442, Models 1, 2, and 4, Special Features Card Image Feature This feature is available for the IBM 1442 Card ReadPunch, Models 1 and 2, and the IBM 1442 Card Reader, Model 4, with the IBM 1440 System. The card-image feature provides the circuitry to convert binary-coded cards into BCD codes, and BCD codes into binarycoded cards. This feature also permits processing cards with multiple significant-digit punching in a single column. When reading in card-image code, the validity check is suspended because all charcaters are considered valid. However, validity checking is still in effeot for card columns designated as BCD (see Word Marks section), so if the I/O check stop switch is ON, the system will stop on a reader (or punch) validity error, 01' if the I/O check-stop switch is OFF, a BRANCH IF ERROR instruction may be used to enter a subroutine. Cards with interspersed, oonventional punched codes and binary-coded data can be read. Note: When this feature is installed on the first mM 1442 attached to an IBM 1440 system, it also functions on the second 1442 installed on the system. This feature permits reading punched data into the 1441 unit without the normal translation from the standard IBM punched-card code to BCD code. In BCD mode, each Card column of data is stored in two adjacent positions of core storage. Similarly, the data in two adjacent core positions can be punched into one card column (Figure H-84). IBM Instructions applying to the 1442 cannot be successfully chained. Read Card Image Instruction Format. Mnemonic ReB Op Code M A-address %Gri B-address BBB d-character R Function. This instruction causes a read-card-image operation to be performed by the presence of a 9 or 0 (zero) in the n position of the A-address. The 9 also selects the number-1 unit on the system; a 0 (zero) in this position selects the number-2 unit when two units are on the same system. n { l l}------. n iJr-------------------------------------~ Figure H-84. Card Image Representation The B-address is the address of the cme storage where column-1 information is to be stored. The instruction terminates when. a group mark with word mark is sensed at location (B + LB ), where LB is the number of card columns to be read into the processing-unit core storage. Word Marks. Special significance is assigned to a word mark during the execution of a CARD IMAGE READ instruction. The word mark is used to signal a change in the mode of operation. For example, in the cardimage-read operation in the normal reading mode, each card column read is translated and stored in single core-storage locations until a word mark is detected in core storage. This signals the reading mode to change. Translation from the standard IBM punched-card code is suspended. Suspension causes the card data beginning at the word mark to be stored in two adjacent core-storage positions for each column read. Detectio.n of another word mark causes the reading to revert to. the normal reading mode. Note. If the word marks are incorrectly placed, undetected invalid characters can be stored. The word mark must be associated with the upper character of a card-image set. Any given card column must be stored in either binary-codeddecimal or card-image mode. Timing. Modell T = 21.0999 + 1.3 (LB Model 2 T = 15.0999 + 1.0 (LB + 1) ms + 1) ms H-59 Address Registers After Operation. Address Registers After Operation. I-Add. Reg. NSI I-Add. Reg. NSI B-Add. Reg. B+Ln+l A-Add. Reg. BBB Example. Transfer the data in card image form from card read-punch 1 to the area in core storage labeled RDBIN (0303); Figure H -85. A-Add. Reg. BBB B-Add. Reg. B+L B + 1 Example. Punch the data in card image form on card read-punch 1 beginning in the area labeled PCHCI (0303) and ending with a group mark with a word mark (Figure H-86). Autocoder ~perati~ 15111 RCA 1 OPERAND 5 JJi~hR.D81 .~~;R Assembled Instruction: ~ 40 :~ : Autocoder 40 %G9 303 R Assembled Instruction: Figure H-85. !:!l %G9 303 P Read Card in Card Image Mode Figure H-86. Punch-and-Stop in Card Image Mode Punch Card Image and Stop Instruction Format. Mnemonic None Op Code M A-address %Gn B-address BBB d-character P Function. This instruction causes a punch-card-image operation to be performed by the presence of a 9 or o (zero) in the n position of the A-address. The 9 also selects the number-1 unit on the system; a 0 (zero) in this position selects the number-2 unit when two units are on the same system. The B-address is the location of the data in storage to be punched. The data in core storage is transferred in ascending sequence to the card punch beginning at B-address until a group mark with word mark is sensed at (B + Ln). This information is punched in successive columns of the card at the punch station. A punching op€ration following another punch operation (no intervening card feed) causes the data at the B-address to be punched in the next successive card column. The program must be written so as not to exceed 80-columns of punching per card. If 80 columns are exceeded, data is lost. The operation is terminated by a group mark with word mark in the rightmost position of the field. Word Marks. The word marks within the data being punched are neither considered nor affected. Timing. Modell. T = 216.3499 + 12.5 (Ln) ms Model 2, T = 163.2299 + 6.25 (Ln) ms H-60 Punch Card Image and Feed Instruction Format. Mnemonic PCB Op Code M A-address %Gn B-address BBB d-character G Function. This instruction is used to transfer data from core storage into the card read-punch for punching into a card. When punching ends, the card is ejected from the punch station and selected into a stacker. This instruction causes a punch-card-image operation to be performed by the presence of a 9 or 0 (zero )in the n position of the A-address. The 9 also selects the number-1 unit on the system; a 0 (zero) in this position selects the number-2 unit when two units are on the same system. The data stored in the core-storage position specified by the B-address is transferred and punched in the card column registered beneath the punching mechanism. The rest of the data located in the adjacent core-storage positions is transferred,columnby-column, and punched in the adjacent card columns until a group mark with word mark in core storage is sensed. The number of characters punched in the card depends upon the B-field length that is established in core storage. The B-field length can be from 1 to 80 positions, plus one position for the group mark with word mark. (Characters in excess of 80 all punch in column 81, and are lost.) When the punching operation ends, the card is ejected from the punch station and selected into a stacker. The card located at the read station advances during this operatiOon, also, but the data in the card is nOot transferred into core storage. A card from the hopper is also advanced and registered at the read statiDn during the punch-and-feed operation. 'Vord Marks. Word marks are not affected. A group mark with word mark is needed to end the operation. Timing. Modell. T = 216.3499 + 12.5 (LB ) ms Select Stacker Instruction Format. d-character Op Code K Mnemonic SS 2 Function. This instruction directs the card at the punch statiOon into stacker 2. Unless stacker 2 has been selected before the operation that ejects the card (READ OR PUNCH FEED), the ejected card is directed to stacker 1. Word Marks. Word marks are not affected. Model 2, T = 163.2299 + 6.25 (LB ) ms Timing. T = .0333 ms A period of 210 ms elapses before another card read-punch operation can be executed. N ate. When a punch-and-feed operation follows either a readcard or punch-and-feed operation, the card at the punch station is registered in column 1, and punching begins in column 1. When a punch-and feed-operation follows a punchand-stop operation, the card at the punch station is the card that was punched during the previous operation; punching begins in the column adjacent to the last column punched. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. 2bb B-Add. Reg. 2bb Example. Enter selected card into pocket 2 (Figure H-88). Autocoder I-Add. Reg. NSI A-Add. Reg. BBB B-Add. Reg. B+LB+1 Autocoder OPERAND ~5 Figure H-87. !l. :5 ~o : Assembled Instruction: K 2 Example. Punch the data in card-image form Dn card read-punch 1 beginning in the area labeled FCHCI ( 0303) and ending with a group mark with word mark, and then eject the card (Figure H -87) . Assembled Instruction: OPERAND Label Address Registers After Operation. ~ %G9 303 G Punch-and-Feed in Card Image Mode Figure H-88. Selective Stacker Punch-Column Skip feature This special feature ·increases card output by allowing the punch portion Oof the attached card read-punch( es ) to space over a specified number of card columns without interlocking the system. The punch-cOolumn-skip operation is initiated by executing a PUNCH COLUMN SKIP instruction. Punch-Column Skip Instruction Format. Selective Stacker This feature provides a second stacker fOor the mM 1442 Modell, so that cards can be selected under program control for special applications. The mM 1442 Models 2 and 4, have two stackers each as standard equipment. Mnemonic PSK Op Code M A-address %Gn B-address nnn d-character C Function. This instruction initiates the skip operation. A-address of %Gn specifies Oone of the two card read-punches. The first 1442 attached to the system H-61 is designated by a 1 in the n position. The second 1442 attached to the system is designated by a 2 in the n position. The B-address is a 3-position number that specifies the number of card columns to be spaced through the punch station. For example, if a punchcolumn-skip operation of 40 columns is specified, the 3-position B-address would be 040. The Cd-character specifies a punch-column-skip operation. Word Marks. Word marks are not affected. Timing. T = .0111 (81 - L B ) + .1110 ms Time available to the processor is: T = 3.13 + (6.25 X number of columns skipped) ms for mM 1442, Model 2. T = 6.25 + (12.5 X number of columns skipped) ms for mM 1442, Modell. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI BBB 081 Chaining. This instruction cannot be successfully chained. The stored program is released for further processing as soon as the instruction is executed in the processing unit, so that the processing of subsequent instructions and the skip operation are taking place at the same time. Example. Skip 24 columns on card read-punch 2 (Figure H -89) . Autocoder label ~Q 'I Assembled Instruction: M %G2 024 C Figure H-89. H-62 Punch Column Skip Address Registers After Operation. IBM 1447 Special Features Branch If Buffer Busy Instruction Format. Mnemonic BIN Op Code 1!. I-address III d-character o Function. This branch indicator is turned on when the inquiry-request (Q) indicator is on, or when the 1447 buffer is occupied. Note: Refer to IBM 1447 Console, Fonn A24-3031, for special feature considerations and additional infonnation. Word Nlarks. Word marks are not affected. No Branch Branch (without indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. ebb NSI BI blank NSI BI NSI Example. Test the buffer-busy indicator and branch to a subroutine labeled Buzy47 (0554) if the test: is successful; Figure H-90. Autocoder OPERAND Timing. No branch, or branch without indexing: T = .0666 ms Branch with indexing: T = .0777 ms. Assembled Instruction: B 554 Figure H-90. e Branch if Buffer-Busy Indicator On H-83 Appendix COll SEQ DEFINED CHARACTER o 1 2 0 3 [ 4 5 ;$= 6 & 7 $ * 8 9 ] 10 ; 11 12 13 / 14 15 % 16 Y 17 \ 18 if19 ;j) 20 # 21 @ 22 : 23 24 25 ? 26 A 27 B 28 C 29 0 30 E 31 F 32 G 33 H 34 I 35 ! 36 J 37 K 38 l 39 M 40 N 41 0 42P 43 Q 44 R < a > V 45 46 47 48 =F 49 V W 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Blank Period lozenge left Bracket less Than Grou~ Mark Ampersand Dollar Sign Asterisk Right bracket Semicolon Delta Hyphen Diagonal Comma Percent Mark Word Separator Left Oblique Segment Mark Substitute Blank Number Sign At Sign Colon Greater Than Radical (Plus Zero) CARD CODE C 12-3-8 U 11-6-8 C B 11-7-8 B 0-5-8 C 8 9 Figure 1-1. X X X X X X X X X X % X X = 8 4 2 8 4 2 1 B A 8 8 8 11-4 11-5 11-6 11-7 C B B C B 11-8 C B B X X X X X X X X X X X X X X X X X X X X X X X X X X X X 1 2 2 2 1 4 4 1 X X X X 4 2 4 2 1 8 8 2 A 8 2 A 2 1 A 4 A A 4 1 4 2 A 4 2 1 A X 8 X X X X X X X X X X X X X X X X X X X X X X X X X 2 X X X X X X X X X X X X X X X X X X X X X 2 X C 2 1 X C C 4 4 1 4 2 421 X X X X X X 8 8 X X X X X X X X X X X X X X A 8 A 8 1 C X X X X X 4 2 4 2 1 B C X X X X X X X B C B C B B C C X 1 C B A C X X 12-9 11-0 0-4 0-5 X 2 1 8 C X 2 B A 0-2 0-3 X B A 12-8 X X X X X X X X X X X X X X B A 4 4 X X X X X X X X X X X X X X X B A X X X 1 B A 0-2-8 X X 2 B A C ( X 6-8 7-8 C C B A B A 3 4 5 6 7 8 9 X # 12-6 12-7 3 X X X @ C X X X X X X X X 2 1 8 C 2 x + 842 842 1 12-3 12-4 12-5 2 X 8 4 841 12-0 12-1 o & 4-8 C 5-8 0-9 7 X X A 2-8 3-8 Z 5 6 x x x A 8 4 1 A 8 4 2 A 8 4 2 1 0-6-8 C 0-7-8 X Y 4 X 1 11 B 0-1 C A 1 0-3-8 C A 8 2 1 0-4-8 A 8 4 0-6 0-7 0-8 (Zero) X X X X X o ) X C B A 12 11-3-8 C B 8 2 1 11-4-8 8 4 B 11-5-8 C B 841 11-9 T x B A 8 4 2 12-6-8 12-7 -8 C B A 8 4 2 1 11-2 11-3 Record Mark 2 1 8 12-4-8 C B A 8 4 12-5-8 B A 8 4 11-1 S 0 1 B A 12-2 (- zero) CHARACTER SET 52 52 13 39 A H 63 BCD CODE 1 X X X X X X X X X X X X X X X X X X X X X 1440 Character Code Chart in Collating Sequence 1-1 Declarative and Assembler-Control Statements DECLARATIVE OPERATIONS Mnemonic Op Code Description Define Area DA Define Constant (No Word Mark) DC Define Constant With Word Mark DCW Define Symbol OS DSA Define Symbol Address EQU Equate ASSEMBLER CONTROL OPERATIONS Mnemonic Description Mnemonic Description Origin Control ORG cn XFR Transfer END End ENT Enter New SFX Suffix Coding Mode Job JOB Execute INSER Insert EX Delete LTORG Literal Origin DE LET Resume Listing LIST SPCE Space n Lines ULST Stop Listing Figure 1-2. Declarative and Assembler Control Operation SELECT STACKER (1442,1444) Unit (Device) d Feed Stacker Pocket 1 ( 1442) 2 Read/Punch 2 2 ( 1442) 0 Read/Punch 2 3 ( 1444) # Punch 2 Note: See Programm ing Note, 1440 Autocoder Assemb Iy sect ion. Figure 1-4. Select-Stacker d-Characters Imperative Statements Figure 1-5 is an imperative-statement reference chart that lists all valid mnemonic imperative operation codes. The information given for each mnemonic is: 1. The mnemonic description. Figure 1-2 lists all the declarative and assembler-control mnemonic operation codes that are valid for the disk Autocoder language. Figure 1-3 shows all valid control-carriage instruction d-modifier characters. Figure 1-4 iUustrates all valid (1440 Autocoder) select-stacker instruction d-modifier characters. Note: Several miscellaneous input/output devices that can be attached to the 1440 system require special SS mnemonic d-characters. These are coded in the operand portion of the instruction statement. Refer to Programming Note, 1440 Autocoder Assembly section. d Immediate skip to 1 2 d Skip after print to A B C @ Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8 Channel 9 Channel 10 Channel 11 Channel 12 0 Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8 Channel 9 Channel 10 Channel 11 Channel 12 d Immediate space d After print-space 3 4 5 6 7 8 9 0 # J K L Figure 1-3. 1 space 2 spaces 3 spaces D E F G H I ? • / S T Control Carriage d-Characters 1 space 2 spaces 3 spaces 2. The machine-language operation code. 3. The operand sequence. This entry represents the valid set of operands to be used with the mnemonic. Deviations from the specified operand sequences are detected, and the appropriate error message is printed. The following symbols are used to describe the operand sequence: Symbol RD Meaning Declared field. An actual, symbolic, or asterisk address, or an area-defining literal. Address-adjustment and indexing are permitted. D Constant or declared field. An actual, symbolic, or asterisk address, or a literal. Address-adjustment and indexing are permitted. XC X-control field. Address of a unit, such as %U1, used to address a unit of system feature. Addressadjustment and/or indexing are not permitted, but XC may be a symbolic address if it has been equated to the desired I/O device. n Single numeric character. S Symbolic address. Address-adjustment and/or indexing are not permitted. d d-modifier character. Used to modify the operation code. Operand separator. / Optional operand separator. For example, n/XC/S means that either a single numeric character, an X-control field, or a symbolic address may be used for the operand. 1 Single alphabetic character. Op Code Description Mnemonic Operand Sequence Chain X-Control Field dCharacter ARITHMETIC OPERATIONS @ D,RD D,RD D,RD F No No S ? I D,RD D,RD D,RD F F F A D M Add Divide* Multiply* A % S ZA ZS Subtract Zero and Add Zero and Subtract DATA CONTROL OPERATIONS MIZ ~CE MCS MRCWG MLCWA MRCM MLC MLNS MlZS Move and Insert Zeros* Move Characters and Edit Move Characters and Suppress Zeros X E Z D,RD D,RD D,RD No No No Move Characters and Word Marks to Group Mark-Word Mark in A-Field* Move Characters and Word Marks to Word Mark in A-Field Move Characters to Record Mark or Group Mark-Word Mark P D,RD F l D,RD HF P D,RD F Move Characters to Word Mark in A- or B-Field Move Single Numeric Move Single Zone M D,RD HF D Y D,RD D,RD F F > LOGIC OPERATIONS BWZ BWZ BWZ Branch if O-Zone (A-bit, no B-bit) Branch if 11-Zone (B-bit, no A-bit) Branch if 12-Zone (AB-bits) V V V RD,D,d RD,D,d RD,D,d F F F S** K** B** BIN BIN BIN Branch if Access Busy Branch if Access Inoperable Branch if Any Disk Error B B B RD,d RD,d RD,d No No No \** N** y** BAV BBE BC9 Branch if Arithmetic Overflow Branch if Bit Equal* Branch if Carriage Channel 9 B W B RD RD,D,d RD No F No Z ** BCV BCE BIN Branch if Carriage Overflow (12) Branch if Character Equal Branch if Disk Error B B B RD RD,D,d RD,d No F No @ ** V** BEF BE BH Branch if End of File or End of Reel Branch if Equal Compare (B A) Branch if High Compare (B>A) B B B RD RD RD No No No K S U BIN BIN BLC2 Branch if Inquiry Clear* Branch if Inquiry Request* Branch if Last Card (Reader Unit 2) B B B RD,d RD,d RD No No No * ** Q** & BLC Bl BM Branch if Last Card (Sense Switch A) Branch if low Compare (B MAGNETIC TAPE OPERATIONS U n/xc/s U M XC/S,d n/XC/S,RD No No No %Un %In %Un R M L U n/XC/S,RD n/XC/S,RD n/XC/S No No No %Bn %Un %Un R ~ R U No No No %Un %Un %Un E M n/XC/S n/XC/S n/XC/S,RD M U L n/XC/S,RD n/XC/S n/XC/S,RD No No No %Bn %Un %Un W No No No %In %In %In ** ** ** BSP CU RT Backspace Tape Control Unit Read Tape RTB RTW RWD Read Tape Binary Read Tape with Word Marks Rewind Tape RWU SKP WT Rewind and Unload Tape Skip and Blank Tape Write Tape U WTB WTM WTW Write Tape Binary Write Tape Mark Write Tape with Word Marks B ** U W W M 1/0 DEVICE OPERATIONS CU LU MU P PCB PS PSK R RCB U L M XC/S,RD,d XC/S,RD,d Punch a Card and Feed Punch Column Binary and Feed* Punch a Card and Stop M M M n/XC/S,RD n/XC/S,RD n/XC/S,RD No No No %G'l %Gn %Gn G Punch Skip* Read a Card Read Column Binary* M M M n/XC/S,RD n/XC/S,RD n/XC/S,RD No No No %Gn %Gn %Gn C * Special Feature ** d-Character must be placed in operand when coding in Autocoder. Figure 1-5. 1-4 XC/S,d Control Unit Load Unit Move Unit Imepartive Operations (Part 2 of 3) G P R R Mnemonic Op Code Description Operand Sequence Chain X-Control Field dCharacter 1/0 DEVICE OPERATIONS (CONT.) RCP RCPW W Read Console Printer Read Console Printer with Word Marks Write a Line M L M RD RD RD No No No %TO %TO %Yl R R W WCP WCPW WS Write Console Printer Write Console Printer with Word Marks Write and Suppress Space M L M RD RD RD No No No %TIO %TO %Yl W W S R R DISK OPERATIONS CU RD RDW Control Unit Read Disk Sector(s) Read Disk Sector(s) with Word Marks U XCIS,d M L RD RD No No No %In %Fl %Fl RDTR RDTRW RDTA Read Disk Track Record* Read Disk Track Record with Word Marks* Read Disk Track Record with Address* M L M RD RD RD No No No %F2 %F2 %F@ R R RDTAW Read Disk Track Record with Address and Word Marks* Read Disk Track Sectors with Addresses Read Disk Track Sectors with Addresses and Word Marks L RD No %F@ R M L RD RD No No %F6 %F6 R M L RD RD No No %F5 %F5 R R SD Read Disk with Sector Count Overlay Read Disk with Sector Count Overlay with Word Marks Seek Disk M RD No %FO R SDE SDEW SDH Scan Disk Equal* Scan Disk Equal with Word Marks* Scan Disk High, Equal* M L M RD RD RD No No No %FS %FS %F9 W W SDHW SDL SDLW Scan. Disk High, Equal with Word Marks* Scan Disk Low, Equal* Scan Disk Low, Equal with Word Marks* L M L RD RD RD No No No %F9 %F7 %F7 W W W WDC WDCW WD Write Disk Check Write Disk Check with Word Marks Write Disk Sector(s) M L M RD RD RD No No No %F3 %F3 %Fl W WDW WDTR WDTRW Write Disk Sector(s) with Word Marks Write Disk Track Record* Write Disk Track Record with Word Marks* L M L RD RD RD No No No %Fl %F2 %F2 W W WDTA WDTAW Write Disk Track Record with Address* Write Disk Track Record with Address and Word Marks* Write Disk Track Sectors M L RD RD No No %F@ %F@ W W L RD No %F6 W Write Disk Track Sectors with Addresses Write Disk with Sector Count Overlay Write Disk with Sector Count Overlay with Word Marks M M RD RD RD No No No %F6 %F5 %F5 W W W RDT RDTW RDCO RDCOW WDTW WDT WDCO WDCOW L ** R R W W W W * Special Feature ** d-Character must be placed in operand when coding in Autocoder. Figure 1-5. Imperative Operations (Part 3 of 3) 4. The code that indicates whether chaining (deletion of one or more operands) is permitted (see Chaining section). Code F Meaning of the B-field address causes the A-field to modify itself. Thus, a SUBTRACT instruction with only an A-field address will cause the field specified to be subtracted from itself. This is in no sense chaining. The move and load operations having only an A-field address are considered chaining. Refer to the particular instruction for additional information. Full chaining only - both operands must be deleted for a logical chaining operation. 5. The X-control field, if required. HF Half or full chaining - either the last or both operands deleted for a logical chaining operation. NO No chaining - no operands deleted. 6. The d-character, if required. Figures 1-3 and 1-4 list the Control Carriage (CC) and Select Stacker ( SS) mnemonics. Note: Except for the move, load, store, branch, and I/O operations, the presence of an A-field address and the absence Note: See Programming Note, 1440 Autocoder Assembly section. 1-5 II Index of Branch Instructions and d-Modifiers This alphabetic listing of 1440 branch instructions contains the following information: • The branch op-code. • The feature or device to which the instruction applies. • The page number in this manual where the instruction is defined. • The instruction name. N ate: Although the various branches associated with the select-stacker mnemonic (SSB) are considered unconditional, they are also listed here. • The branch d-modifier character. • The autocoder mnemonic. Direct Data Channel Feature I nstruction Mnemonic Op Code Branch if End of Transmission .... . . . . . . . . . . . . . . . . . . . .. Branch .if Indicator On ............................... Branch if Process Check ............ . . . . . . . . . . . . . . . . .. BIN BIN BIN B B B d-Char. 2 d 1 Branch if Read Data ....... . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Read Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if System A Stopped . . . . . . . . . . . . . . . . . . . . . . . . . .. BIN BIN BIN B B B 7 3 8 H-4 H-4 H-4 Branch if Write Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Write Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Read Request and Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . .. BIN BIN SSB B B K Reset and Branch .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Write Request and Branch ........................... , SSB SSB K K 6 4 C E D H-4 H-4 H-2 H-3 H-3 Op Code B B B B B B d-Char. < > Page H-4 H-4 H-4 Expanded Serial Input/Output Adapter Feature Instruction Mnemonic Branch if Operational Out. . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Primary Control Indicator On .......... . . . . . .. Branch if Primary Read Indicator On . . . . . . . . . . . . . . . . . . .. BIN BIN BIN Branch if Primary Sense Indicator On . . . . . . . . . . . . . . . . . .. Branch if Primary Write Indicator On . . . . . . . . . . . . . . . . . .. Branch if Transmission Error Indicator On .. . . . . . . . . . . . .. BIN BIN BIN Disable Interrupt and Branch . . . . . . . . . . . . . . . . . . . . . . . . .. Enable Interrupt and Branch ................... . . . . . .. Send Attention Signal and Branch ............... . . . . . .. Send End Signal and Branch .......................... Send Unusual End Signal and Branch .................. , SSB SSB SSB SSB SSB K K K Instruction Mnemonic Op Code Branch if Attention .................................. Branch if Buffer Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Rec. EOM or Init. Inq. . . . . . . . . . . . . . . . . . . . . . .. Branch if Receive EOF ........................ . . . . . .. Branch if Receive Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Reply Bad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Reply Good........... .............. ....... Branch if 1009 Ready ................................ BIN BIN BIN BIN BIN BIN BIN BIN' BIN B B B K K 8 7 3 6 4 1 A E F Page H-22 H-22 H-20 H-21 H-21 H-20 H-19 H-19 H-17 H-17 H-18 IBM 1009 Data Transmission Unit B B B B B B d-Char. 6 2 d 7 8 5 4 3 1 Page H-55 H-55 G-5, H-54 H-55 H-55 H-55 H-55 H-55 H-55 /-1 Instruction Mnemonics Op Code d-Char. Page Operate in Load Mode and Branch ... . . . . . . . . . . . . . . . . .. Send EOF and Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Set Direction to Rec. and Branch .. . . . . . . . . . . . . . . . . . . . .. SSB SSB SSB K K K L F D H-56 H-56 H-56 Set Direction to Trans. and Branch .............. . . . . . .. Suppress 3-Second Alarm and Branch ................. " SSB SSB K K E A H-56 G-6,H-55 Instruction Mnemonic Op Code d-Char. Branch if Input/Output Indicator On ................... Branch u Paper Tape Reader Ready ..... . . . . . . . . . . . . . .. BIN BIN B B 1 E-lO 2 E-U IBM 1011 Paper Tape Punch Page IBM 1012 Tape Punch Instruction Mnemonic Op Code Backspace Tape and Branch ........................... Branch if In Backspace Oper. .. . . . . . . . . . . . . . . . . . . . . . . .. Branch if Tape Punch Not Ready to Accept Data . . . . . . . .. SSB BIN BIN K B B Branch if Tape Punch Not Ready to Read .. . . . . . . . . . . . .. Branch u Tape Punch Overextended. . . . . . . . . . . . . . . . . . .. BIN BIN B B 4 5 E-15 E-15 Branch if Tape Punch Ready .......................... Branch if Supply Reel Low or Chad Box Full .. . . . . . . . . .. BIN BIN B B 2 6 E-14 E-16 d-Char. A 1 3 Page E-13 E-14 E-14 IBM 1026 Transmission Control Unit Instruction Mnemonic Op Code d-Char. Page Branch u Buffer-Busy Indicator On ..................... Branch if Inquiry-Clear Indicator On ................... Branch if Request-Service Indicator On ................. BIN BIN BIN B B B D G-47 G-48 G-47 Branch if Time-Emitter Indicator On . . . . . . . . . . . . . . . . . . .. Disable Interrupt and Branch .... . . . . . . . . . . . . . . . . . . . . .. Enable Interrupt and Branch .......................... BIN SSB SSB B K K < > G-48 G-46 G-45 # Q ] IBM 1231 Optical Mark Page Reader Instruction Mnemonic Op Code d-Char. Page Branch if Auto-Select . . . . . . . . . . . . . . . . . . . . . . . . . . ...... , Branch if Buffer Full ... . . . . . . . . . . . . . . . . . . . . . . . . ..... , Branch if Hopper Empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. BIN BIN BIN B B B 1 G-29 G-29 G-30 Branch if Read Error or Overrun Detection . . . . . . . . . . . . .. Branch if Timing Mark Check ......................... BIN BIN B B Branch if 1231 Ready to Read . . . . . . . . . . . . . . . . . . . . . . . .. Select Stacker and Branch ... . . . . . . . . . . . . . . . . . . . . . . . . .. BIN SSB B K A G-29 G-31 2 4 5 6 3 G-30 G-30 IBM 1285 Optical Reader Instruction Mnemonic Op Code d-Char. Page Branch if End of File . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . Branch if End of Line . . . . . . ......................... . Branch if Error . . . . . . . . . . . . . . . . . . ................... . BIN BIN BIN B B 8 2 B 1 G-40 G-40 G-40 Branch if Header Information . . . . . . . . . . . . . . . . . . . . ..... . Branch if Indicator On ......... ..................... . Branch if Marked Line .............................. . BIN BIN BIN B 5 d Branch if Reader Ready ...... "' ...................... . Branch if Reader Ready to Read a Line ................ . Branch if Reader Transporting .. . . . . . . . . . . . . . . . . . ..... . BIN BIN BIN B B B 7 6" 3 G-40 G-40 G-40 Go to Next Line and Branch .......................... . Mark a Line and Branch ............................. . SSB SSB K K G M G-39 G-39 /-2 B B 4 G-40 G-39 G-40 IBM 1301 Disk Storage Page Instruction Mnemonic Op Code Branch if Access Busy ................................ Branch if Access Inoperable ........................... Branch if Any Disk Condition . . . . . . . . . . . . . . . . . . . . . . . . .. BIN BIN BIN B B B Branch if Disk Error ................................. Branch if Indicator On ............................... BIN BIN B B V Branch if Unequal Address Compare. . . . . . . . . . . . . . . . . . .. Branch if VVrong Length Record . . . . . . . . . . . . . . . . . . . . . .. BIN BIN B B X VV F-ll F-ll d-Char. Page d-Char. \ N Y d F-ll F-ll F-ll F-ll F-ll IBM 1311 Disk Storage Drive Instruction Mnemonic Op Code Branch if Access Busy " ............................. , Branch if Access Inoperable ........................... Branch if Any Disk Condition ......................... BIN BIN BIN B B B Branch if Disk Error ................................. Branch if Indicator On ............................... , BIN BIN B B V Branch if Unequal Address Compare. . . . . . . . . . . . . . . . . . .. Branch if VVrong Length Record. . . . . . . . . . . . . . . . . . . . . .. BIN BIN B B X d-Char. \ N Y d VV F-29 F-29 F-29 F-29 F-29 F-29 F-29 IBM 1403 Printer Instruction Mnemonic Op Code Branch if Channel 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Channel 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Printer Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. BCV BC9 BPB B B B 9 P Branch if Printer Carriage Busy " . . . . . . . . . . . . . . . . . . . . .. Branch if Printer Error ............................... , BPCB BIN B B R :I: @ Page D-6 D-4 D-4 D-4 D-4 IBM 1412 Magnetic Ink Character Recognition Reader Instruction Mnemonic Op Code d-Char. Page Branch if Account-Number-Field Indicator On . . . . . . . . . . .. Branch if Amount-Field Indicator On . . . . . . . . . . . . . . . . . .. Branch if Document-Spacing-Check Indicator On ......... BIN BIN BIN B B B 6 4 Branch if Process-Control-Field Indicator On ............. Branch if Read-Check Indicator On . . . . . . . . . . . . . . . . . . . .. Branch if Late-Read Indicator On .. . . . . . . . . . . . . . . . . . . .. BIN BIN BIN B B B 5 Branch if Read-Not-Ready Indicator On . . . . . . . . . . . . . . . .. Branch if Transit-Routing-Field Indicator On . . . . . . . . . . . .. Select Stacker and Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . .. BIN BIN SSB B B K 7 d G-12 G-ll G-13 G-ll G-lO G-lO G-lO G-12 G-9 Instruction Mnemonic Op Code d-Char. Page Branch if Arithmetic Overflow ..... . . . . . . . . . . . . . ...... . Branch if Bit Equal (Special Feature) ................. . Branch if Character Equal . . . . . . . . . . . . . . . . . . . . . ....... . BAV BBE BCE B VV B Z B-7 d d H-1 Branch if Equal Compare (B = A) .................... . Branch if High Compare (B > A) ..................... . Branch if Indicator On ................... , .......... . BE BH BIN B B B S n..7 U B-7 B-7 Branch if Low Compare (B < A) ..................... . Branch if Minus .................................... . Branch if No Zone .................................. . BL BM BVVZ B V V 8 3 1 2 IBM 1441 Central Processing Unit d T K 2 B-8 B-7 B-9 . B-9 J-3 ,Op Code Instruction Mnemonics Branch IT Process Check ............................. . Branch IT Sense Switch A Branch IT Sense Switch B BIN BSS BSS Branch IT Sense Switch C Branch IT Sense Switch D Branch if Sense Switch E BSS BSS BSS B B Branch IT Sense Switch F ............................ . Branch IT Sense Switch G ............................ . Branch Unconditionally .............................. . B d-Char. Page % A B B-7 B-7 B-7 B C D E B-7 B-7 B-7 BSS BSS B B B B F G none B-7 B-7 B-7 Branch if Unequal Compare .......................... . Branch IT Word Mark ............................... . Branch IT Word Mark or No Zone ..................... . BU BW BWZ B V V / 1 3 B-7 B-9 B-9 Branch if Word Mark or Zone ......................... . Branch IT Word Mark or O-Zone ....................... . Branch IT Word Mark or ll-Zone ...................... . BWZ BWZ BWZ V V V d T L B-9 B-9 B-9 Branch if Word Mark or I2-Zone ...................... . Branch if O-Zone . . . . . . . . . . . . . . . . . . . . . . . . . . .......... . Branch IT II-Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . BWZ BWZ BWZ V V V C S K B-9 B-9 B-9 Branch IT I2-Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . BWZ V B B-9 B B IBM 1442 Card Read-Punch Instruction Mnemonic Op Code d-Char. Page Branch if Last Card, First Read-Punch. . . . . . . . . . . . . . . . .. Branch if Last Card, Second Read-Punch. . . . . . . . . . . . . . .. BLC BLC2 B B A & D-I3 D-I3 Branch IT Punch Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Reader Error .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. BIN BIN B ? D-I3 D-I2 Op Code B B d-Char. 9 B IBM 1443 Printer Page Instruction Mnemonic Branch IT Channel 9 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch IT Channel 12 ............................... " BC9 BCV Branch IT Printer Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Printer Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. BPB BIN B P B :j: D-23 D-23 Instruction Mnemonic d-Char. Page Branch if Punch Error BIN Op Code B Op Code B d-Char. 9 B @ @ D-23 D-24 IBM 1444 Card Punch D-28 IBM 1445 Printer Instruction Branch if Channel 9 ................................. , Mnemonic Page D-32 D-32 Branch IT Channel 12 ................................ ' Be9 BCV Branch if Printer Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Printer Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. BPB BIN B P B :j: D-32 D-31 Instruction Mnemonic Page BIN BIN BIN Op Code B B d-Char. Branch IT Buffer Busy ................................ Branch IT Inquiry Clear . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .. BraI,lch IT Inquiry Request . . . . . . . . . . . . . . . . . . . . . . . . . . . .. o B Q H-63 C-3 C-3 IBM 1447 Console 1-4 ~ IBM 1448 Transmission Control Unit Instruction Mnemonic Op Code d-Cltar. Page Branch if Early Warning ........ , . . . . . . . . . . . . . . . . . . . .. Branch if End of Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Disable Interrupt and Branch ....... . . . . . . . . . . . . . . . . . .. Enable Interrupt and Branch .......................... BIN BIN SSB SSB B B G-24 G-23 K < > < > Instruction Mnemonic Op Code d-Char. Branch if End of Reel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Tape Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. BEF BER B B K E-5 L E-6 Instruction Mnemonic Op Code Attention Response and Branch .. . . . . . . . . . . . . . . . . . . . . .. Branch if Attention-Signal Indicator On ................. Branch if Data Transmission Ended .................... SSB BIN BIN K d-Ch«. B B B 4 1 Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Receive-Request Indicator On .. . . . . . . . . . . . . . .. Branch if Successful-Completion Indicator On .. . . . . . . . . .. Control Request and Branch . . . . . . . . . . . . . . . . . . . . . . . . . .. End Response and Branch .... , . . . . . . . . . . . . . . . . . . . . . . .. Read Request and Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . .. BIN BIN BIN SSB SSB SSB B B B K Sense Request and Branch ............................ , Signal Control and Branch ............................ Write Request and Branch. . . . . . . . . . . . . . . . . . . . . . . . . . .. SSB SSB SSB K K K d 3 2 F E C G K G-23 G-23 IBM 7335 Magnetic Tape Unit Page IBM 7740 Communication Control System K K D D Page G-27 G-27 G-27 G-27 G-27 G-27 G-27 G-27 G-27 G-27 G-27 G-27 ]-5 • Index of Instructions Instruction Add (One Field) .................................. .. Add (Two Fields) ..................... ............. . Attention Response . . . . . . . . . . . . . . . . . . . . . ............. . Attention Response and Branch .................... ... . Backspace Tape .................................... . Backspace Tape and Branch .......................... . Backspace Tape Record ................. . . . . . . . . ..... . Bid Operation ............................ : ......... . Branch if Access Busy ............................... . Branch if Access Busy ............................... . Branch if Access Inoperable .......................... . Branch if Access Inoperable .......................... . Branch if Account-Number-Field Indicator On .......... . Branch if Amount-Field Indicator On .................. . Branch if Any Disk Condition ........................ . Branch if Any Disk Condition ........................ . Branch if Arithmetic Overflow ........................ . Branch if Attention 1009 ............................. . Branch if Attention-Signal Indicator On ................. . Branch if Auto Select ............................... . Branch if Bit Equal ................................. . Branch if Buffer Busy ............................... . Branch if Buffer Busy. ............................... . Branch if Buffer Full ... . . . . . . . . . . . . . . . . . . . . . . . . . . ... . Branch if Buffer Service ............................. . Branch if Channel 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if Channel 9 ................................. . Branch if Channel 9 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if Channel 12 ................................ . Branch if Channel 12 ................................ . Branch if Channel 12 ................................ . Branch if Character Equal ........................... . Branch if Data Transmission Ended ................... . Branch if Disk Error ................................ . Branch if Disk Error ................................ . Branch if Document-Space-Check Indicator On .......... . Branch if Early Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if End of Block ........................... ... . Branch if End of File ............................... . Branch if End of Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . Branch if End of Reel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if End of Transmission ......... . . . . . . . . . . . . . . . . Branch if Equal Compare (B = A) .................... . Branch if Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if Header Information .. . . . . . . . . . . . . . . . . . . . . . . . . Branch if High Compare (B > A) .................... . Branch if Hopper Empty ............................ . Branch if Late-Read Indicator On .................... . Branch if in Backspace Operation ..................... . Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if Indicator On ............................... . Branch if Indicator On . . . . . . . . . . . . . . . ... '.' . . . . . . . . . . . . Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Branch if Input/Output Indicator On .................. . Branch if Inquiry Clear ............................. . Branch if Inquiry Clear ............................. . Branch if Inquiry Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type Mnemonic Format Page 7740 7740 A A SS SSB A AAA A AAA BBB KB K III B B-4 B-3 G-27 G-27 SS SSB BSP None BIN BIN BIN BIN BIN BIN BIN BIN BAV BIN BIN BIN BBE BIN BIN BIN BIN BC9 BC9 BC9 BCV BCV BCV BCE BIN BIN BIN BIN BIN BIN BIN BIN BEF BIN BE BIN BIN BH BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN KA K III A U %Un B U 5 B III \ B III \ B III N B III N B III 6 B III 4 B III Y B III Y B III Z B III 6 B III 4 B III 1 \V III BBB d B III D B III D B III 2 B III 2 B III 9 B III 9 B III 9 B III @ B III @ B III @ B III BBB d B III 1 B III V B III V B III 8 B III < B III > B III 8 B III 2 B III K B III 2 B III S B III 1 B III 5 B III U B III 4 B III 1 B III 1 B III d B III d B III d B III d B III d B III d B III d B III d B III 1 B III 0 B III 0 B III Q E-13 E-13 E-3 G-44 F-ll F-29 F-ll F-29 G-12 G-ll F-ll F-29 B-7 H-55 G-27 G-29 H-1 G-47 H-63 G-29 H-55 D-4 D-23 D-32 D-6 D-24 D-32 B-8 G-27 F-ll F-29 G-13 G-24 G-23 G-40 G-40 E-5 H-4 B-7 G-40 G-40 B-7 G-30 G-I0 E-14 B-7 H-4 G-5 H-54 G-40 F-ll F-29 G-27 E-10 G-48 C-3 C-3 1012 1012 7335 1026 1301 1311 1301 1311 1412 1412 1301 1311 1009 7740 1231 BIT 1026 1447 1231 1009 1403 1443 1445 1403 1443 1445 7740 1301 1311 1412 1448 1448 1285 1285 7335 DDC 1285 1285 1231 1412 1012 DDC 1009 1009 1285 1301 1311 7740 1011 1026 1447 1447 K-l Instruction Type Mnemonic Format Page Branch if Last Card (First Reader Punch) ............ .. Branch if Last Card (Second Reader Punch) ........... . Branch if Late-Read Indicator On ..................... . Branch if Low Compare (B < A) ..................... . Branch if ~arked Line .............................. . Branch if ~inus ........................ ............ . Branch if No Zone .................................. . Branch if Operational Out .. . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Paper-Tape Reader Ready ................... . Branch if Primary-Control Indicator On ............... .. Branch if Primary-Read Inndicator On ................. . Branch if Primary-Sense Indicator On .................. . Branch if Primary-Write Indicator On .................. . Branch if Printer Busy ..... . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Printer Busy .... . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Printer Busy ............................... . Branch if Printer-Carriage Busy .. . . . . . . . . . . . . . . . . . . . . .. Branch if Printer Error ............................. .. Branch if Printer Error ............................ . .. Branch if Printer Error .............................. . Branch if Process-Control-Field Indicator On ., .......... . Branch if Process Check ............................ .. Branch if Process Error .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Punch Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Punch Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Read-Check Indicator On ................... . Branch if Read Data ............................... .. Branch if Read Error or Overrun Detection ............. . Branch' if Read-Not-Ready Indicator On ............... . Branch if Read Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Branch if Reader Error .............................. . Branch if Reader Ready ............................. . Branch if Reader Ready to Read a Line ................ . Branch if Reader Transporting ...................... . .. Branch if Receive End of ~essage or Initial Inquiry ...... . Branch if Receive (EOF) ............................. . Branch if Receive Error .............................. . Branch if Receive-Request Indicator On ................ . Branch if Reply Bad ................................ . Branch if Reply Good ............................... . Branch if Request-Service Indicator On ................ . Branch if Sense Switch A On ......................... . Branch if Sense Switch B On ................ . ....... . Branch if Sense Switch C On .. . . . . . . . . . . . .. . ........ . Branch if Sense Switch D On . . . . . . . . . . . . .. .......... . Branch if Sense Switch E On ......................... . Branch if Sense Switch F On ......................... . Branch if Sense Switch G On ......................... . Branch if Successful-Completion Indicator On ........... . Branch if System A Stopped ......................... . Branch if Tape Error ................................ . Branch if Tape-Punch Not Ready to Accept Data ........ . Branch if Tape-Punch Not Ready to Read ............... . Branch if Tape-Punch Overextended .................. . Branch if Tape-Punch Ready ......................... . Branch if Time-Emitter Indicator On ................... . Branch if Timing-~ark Check ........................ . Branch if Transit-Routing Indicator On ................. . Branch if Transmission-Error Indicator On .............. . Branch if Unequal-Address Compare ................... . Branch if Unequal-Address Compare ................... . Branch if Word ~ark ......................41. • • • • • • • . • • Branch if Word ~ark or No Zone ...................... . Branch if Word ~ark or Zero Zone .................... . Branch if Word ~ark or Zone ........................ . Branch if Word ~ark or 11 Zone ...................... . Branch if Word ~ark or 12 Zone ...................... . Branch if Write Data ................................ . Branch if Write Request ............................. . Branch if Wrong-Length Record ...................... . Branch if Wrong-Length Record ...................... . 1442 1442 1412 BLC BLC2 BIN BL BIN B B B B B B~ V V D-13 D-13 G-IO B-7 G-40 B-9 B-9 H-22 E-11 H-22 H-20 H-21 H-21 0-4 D-23 0-32 0-4 0-4 0-23 0-31 G-11 H-4 B-7 0-13 0-28 G-1O H-4 G-30 G-I0 H-4 0-12 G-40 G-40 G-40 H-55 H-55 H-55 G-27 H-55 H-55 G-47 H-40 H-40 H-40 H-40 H-40 H-40 H-40 G-27 H-4 E-6 E-14 E-15 E-15 E-14 G-48 G-30 G-12 H-20 F-11 F-29 B-9 B-9 B-9 B-9 B-9 B-9 H-4 H-4 F-11 F-29 K-2 1285 EXPS 1011 EXPS EXPS EXPS EXPS 1403 1443 1445 1403 1403 1443 1445 1412 DDC 1442 1444 1412 DDC 1231 1412 DDC 1442 1285 1285 1285 1009 1009 1009 7740 1009 1009 1026 SS SS SS SS SS SS SS 7740 ODC 7335 1012 1012 1012 1012 1026 1231 1412 EXPS 1301 1311 DDC DDC 1301 1311 BWZ BIN BIN BIN BIN BIN BIN BPB BPB BPB BPCB BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BSS. BSS BSS BSS BSS BSS BSS BIN BIN BER BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BW BWZ BWZ BWZ BWZ BWZ BIN BIN BIN BIN B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B V V V V V V B B B B III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III III A & 1 T 4 BBB 1 BBB 2 8 2 7 3 6 4 P P P R :j: :j: :j: 5 1 % ! I 3 7 5 2 3 ? 7 6 3 7 8 5 3 4 3 Q A B C D E F B-7, B-7, B-7, B-7, B-7, B-7, B-7, G 2 8 L 3 4 5 2 ] 6 7 1 X X BBB BBB BBB BBB BBB BBB 6 4 W W 1 3 T d L C Instruction Branch Branch Branch Branch Branch Branch Branch Type if Zero Zone ................................. . if 1009 Ready ................................ if 11 Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . if 12 Zone ................................... . if 1231 Ready to Read. . . . . . . . . . . . . . . . . . . . . . . .. if Supply-Reel Low or Chad-Box Full ............ Unconditional ............................... . 1009 1231 1012 Mnemonic Format Page BWZ BIN BWZ BWZ BIN BIN B V III BBB S B III 1 V III BBB K V III BBB B B III 3 B III 6 B III B-9 H-55 B-9 B-9 G-29 E-16 B-7 CS CS CW CW H H ce cc cc / AAA / III BBB CI AAA CI AAA BBB • CCC CCC • Cbb Cbb C AAA BBB F d Fd Fd Fd SS SSB K III F B-16 B-16 B-16 B-15 B-18 B-18 B-9 D-6 D-24 D-33 H-58 G-27 G-27 Clear Storage ...................................... . Clear Storage and Branch ............................ . Clear Word Mark (One Address) ..................... . Clear Word Mark (Two Addresses) .................... . Coded Halt ........................................ . Coded Halt ........................................ . Compare .......................................... . Control Carriage ..................................... Control Carriage ..................................... Control Carriage ..................................... Control Carriage Selective Tape Listing Feature. . . . . . . . . .. Control Request ..................................... Control Request and Branch .,. . . . . . . . . . . . . . . . . . . . . . . .. 1403 1443 1445 1403 7740 7740 Diagnostic Read ..................................... Disable Interrupt .................................... Disable Interrupt .................................... Disable Interrupt .................................... Disable Interrupt and Branch .... . . . . . . . . . . . . . . . . . . . . .. Disable Interrupt and Branch ..... . . . . . . . . . . . . . . . . . . . .. Disable Interrupt and Branch. . . . . . . . . . . . . . . . . . . . . . . . .. Disengage MICR Reader. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Divide........ .............................. ....... 7335 EXPS 1026 1448 EXPS 1026 1448 1412 MD CU SS SS SS SSB SSB SSB CU D Edit .............................................. . Enable Interrupt .................................... , Enable Interrupt .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Enable Interrupt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Enable Interrupt and Branch .......................... Enable Interrupt and Branch .......................... Enable Interrupt and Branch .......................... End Response ....................................... End Response and Branch. . . . . . . . . . . . . . . . . . . . . . . . . . . .. Engage MICR Reader. . . . . . . . . . . . . . . .. . . . . . .. . . . . . . .. EXPS 1026 1448 EXPS 1026 1448 7740 7740 1412 MCE SS SS SS SSB SSB SSB SS SSB CU K III E V %SI E B-19 H-18 G-45 G-22 H-19 G-45 G-23 G-27 G-27 G-7 Go to Next Line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Go to Next Line and Branch ... ,...................... 1285 1285 SS SSB KG K III G G-39 G-39 H H • • III B-17 B-18 1009 1009 1026 CV U %Dl E U %Dl D U5 H-53 H-53 G-44 1009 1009 1009 1009 LV LV LV LV L L L L L L %Dl BBB R %Dl BBB W %Dl BBB W %Dl BBB R AAA AAA BBB P AAA BBB > L %SI BBB R P AAA BBB > H-54 G-4 H-54 G-4 B-14 B-13 H-51 G-8 H-51 KM G-40 G-40 A-15 A-15 G-30 H-54 Halt .............................................. . Halt and Branch ., .................................. . Initialize a Message Transmission (XMIT) . . . . . . . . . . . . . . . . Initialize a Reply from Receiver (Rev) ............ ..... . Issue IBM 1026 Line Bid ............................. . Character from the Receiving 1009 ............... Character to the Transmitting 1009 . . . . . . ......... Character to the Transmitting 1009 . . . . . . . . . . ..... Characters from the Receiving 1009 .............. Characters to A-Field Word Mark (One Field) ..... Characters to A-Field Word Mark (Two Fields) .... Characters to Record Mark or GMWM ............ from MICR Reader ............................ Record ....................................... . . . . . . . . . Mark a Line ................... '" ................. Mark a Line and Branch ............................. Modify Address (One Address) ............... ........ Modify Address (Two Addresses) ..................... Move .............................................. Move Character from the Receiving 1009 ............... . . . . . . Load Load Load Load Load Load Load Load Load TRAN 1412 TRAN 1285 1285 1231 1009 C CC CU None MLCWA MLCWA MRCWG LV MRCWG SS SSB MA MA MV MU KF U %Un A K< K< K< K III K III K III < < < U %SI D % AAA BBB E AAA BBB K> K> K> K III K III K III KE > > > K III M # # AAA AAA BBB M %S3 BBB R M %Dl BBB R E-4 H-19 G-46 G-22 H-19 G-46 G-23 G-7 H-33 K-3 Instruction Type Mnemonic Move Character to the Transmitting 1009 . . . . . . . . .. Move Character to the Transmitting 1009 . . . . . . . . .. Move Characters and Edit ............................ . Move Characters and Suppress Zeros .................. . Move Characters from the Receiving 1009 ............... Move Characters to A- or B-Field Word Mark (One Field) Move Characters to A- or B-Field Word Mark (Two Fields) Move Characters to Record Mark or GMWM ............ . Move from MICR Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Move Numeric ..................................... . Move Record .................................... . Move Zone ................................ , ....... . Multiply ........................................... 1009 1009 MU MU MCE MCS Format Page M %01 BBB W G-3 H-53 B-19 B-11 G-3 B-11 B-11 B-12 G-8 B-13 B-12 B-13 H-32 M %01 BBB W 1009 MU 1412 MLC MLC MRCM MU MLNS MRCM MLZS MD M E AAA BBB Z AAA BBB M %Dl BBB R M AAA M AAA BBB P AAA BBB M %S1 BBB R D AAA BBB P AAA BBB Y AAA BBB @ AAA BBB NOP N B-17 H-56 H-56 No Operation Operate in Load Mode .............................. . Operate in Load Mode and Branch .................... . 1009 1009 5S 55B KL K III L Punch and Feed .................................... Punch and Stop .................................... Punch Card ......... " .... '" ..... '" .............. Punch Card Image and Feed ......................... Punch Card Image and Stop .......................... Punch-Column Skip ................................. 1442 1442 1444 1442 1442 1442 P M M M M M M . . . . . . Read ............................................. . Read Binary Tape .................................. . Read Card ...................... , .................. . Read Card Image ................................... . Read Data ......................................... . Read Data with Word Marks ......................... . Read Disk Sectors ................................ .. . Read Disk Sectors ................................ .. . Read Disk Sectors with Word Marks ................... . Read Disk Sectors with Word Marks ................... . Read Disk-Track Record ............................. . Read Disk-Track Record ............................. . Read Disk-Track Record with Address ................. . Read Disk-Track Record with Address ................. . Read Disk-Track Record with Address with VVord Marks .. Read Disk-Track Record with Address with Word Marks .. Read Disk-Track Record with Word Marks ............. . Read Disk-Track Record with Word Marks ......... . Read Disk-Track Sectors with Addresses ................ . Read Disk-Track Sectors with Addresses ................ . Read Disk-Track Sectors with Addresses and Word Marks .. Read Disk-Track Sectors with Addresses and Word Marks .. Read Disk with Sector-Count Overlay ................. . Read Disk with Sector-Count Overlay ................. . Read Disk with Sector-Count Overlay with Word Marks .. . Read Disk with Sector-Count Overlay with Word Marks .. . Read from IBM 1026 ................................ . Read from IBM 1026 with Word Marks ................. . Read from Paper Tape .............................. . Read from Paper Tape with Word Marks ............... . Read from Primary ................................. . Read from Primary with Word Marks .................. . Read from 1447 Console ............................. . Read from 1447 Console with Word Marks .............. . Read in Load Mode ................................ . Read in Move Mode ................................. . Read Request ...................................... . Read Request ....................................... . Read Request and Branch ............................ . Read Request and Branch ............................ . Read Tape ........................................ . Read Tape with Word Marks ......................... . Read with Word Marks .............................. . R~set ............................................. . Reset and Branch ................................... . Rewind Tape ...................................... . Rewind Tape and Unload ............................ . K-4 7740 7335 1442 1442 DDC DDC 1301 1311 1301 1311 1301 1311 1301 1311 1301 1311 1301 1311 1301 1311 1301 1311 1301 1311 1301 1311 1026 1026 1011 1011 EXPS EXPS 1447 1447 1285 1285 DOC 7740 DOC 7740 7335 7335 7740 DOC DOC 7335 7335 PS P PCB None PSK MU RTB R RCB MU LU RD RO ROW ROW RDTR ROTR ROTA ROTA ROTAW RDTAW RDTRW ROTRW ROT ROT RDTW ROT\V ROCO ROCO ROCOW ROCOW RCP RCPW MU LU MU LU RCP RCPW LU MU SS SS SSB SSB RT RTW LU SS SSB RWD RWU %Gn %Gn %G3 %Gn %Gn %Gn BBB G BBB P B01 G BBB G BBB P nnn C D-11 D-11 D-27 H-60 H-60 H-61 M %A1 BBB R M %Bn BBB R M %Gn BBB R M %Gn BBB R M %H1 BBB R L %Hl BBB R M %F1 BBB R M %Fl BBB R L %F1 BBB R L %F1 BBB R M %F2 BBB R M %F2 BBB R M %F@ BBB R M %F@ BBB R L %F@ BBB R L %F@ BBB R L %F2 BBB R L %F2 BBB R M %F6 BBB R M %F6 BBB R L %F6 BBB R L %F6 BBB R M %F5 BBB R M %F5 BBB R L %F5 BBB R L %F5 BBB R M %TO BBB R L %TO BBB R M %Pl BBB R L %P1 BBB R M %01 BBB R M %01 BBB R M %TO BBB R L %TO BBB R L%V1 BBB R M %V1 BBB R KC KC K III C K III C M %Un BBB R L %Un BBB R L %A1 BBB R KE K III E U %Un R U %Un U G-28 E-6 0-10 H-59 H-5 H-5 F-4 F-21 F-5 F-23 H-40 H-44 H-41 H-44 H-41 H-44 H-40 H-44 F-9 F-27 F-9 F-27 F-5 F-23 F-5 F-23 G-45 G-45 E-9 E-10 H-23 H-24 C-1 C-l G-39 G-38 H-2 G-27 H-2 G-27 E-l E-2 G-28 H-3 H-3 E-5 E-5 Instruction Type Mnemonic Format Page Scan .............................................. . Scan Disk Equal .................................... . Scan Disk Equal with Word Marks .................... . Scan Disk High .................................... . Scan Disk High with Word Marks ..................... . Scan Disk Low ..................................... . Scan Disk Low with Word Marks ..................... . Seek Disk ......................................... . Seek Disk ......................................... . Seek Disk with Word Marks .......................... . Select Digital Time Unit ............................. . Select IBM 1026 on Line 1 ......................... .. . Select IBM 1026 on Line 2 ........................... . Select IBM 1026 on Line 3 ..... . . . . . . . . . . . . . . . . . . . . .. . Select IBM 1026 on Line 4 . . . . . . . . . . . . . . . . . . . . . . . . . .. . Select Request-Service Indicator ...................... . Select Stacker .................................. . Select Stacker ................................. ..... . Select Stacker ...................................... . Select Stacker ...................................... . Select Stacker and Branch ........................... . Select Stacker and Branch ...................... ..... . Select Stacker MICR Reader ......................... . Select Stacker (Selective-Stacker Feature) .............. . Send Attention Signal ............................... . Send Attention Signal and Branch ..................... . Send End of File (EOF) ............................. . Send End of File (EOF) and Branch ................... . Send End Signal .................................... . Send End Signal and Branch ......................... . Send Unusual-End Signal ............................ . Send Unusual-End Signal and Branch .................. . Sense Request ...................................... . Sense Request and Branch ........................ ... . Set Correction Mode ................................. . Set Direction to Receive ............................. . Set Direction to Receive and Branch . . . . . . . . . . . . . . . . . .. . Set Direction to Transmit ....... . . . . . . . . . . . . . . . . . . . .. . Set Direction to Transmit and Branch .................. . Set Ready to Receive .. , ............................. . Set Word Mark (One Address) ....................... . Set Word Mark (Two Addresses) ..................... . Signal Control ...................................... . Signal Control and Branch ........................... . Skip and Blank Tape ................................ . Start Transmission .................................. . Store A-Address Register ............................. . Store B-Address Register (One Address) ............... . Store B-Address Register (Two Addresses) ............. . Subtract (One Field) ................................ . Subtract (Two Fields) .............................. . Suppress 3-Second Alarm ............................ . Suppress 3-Second Alarm and Branch . . . . . . . . . . . . . . . . .. . 1448 SCAN SCAN SCAN SCAN SCAN SCAN 1301 1311 1301 1026 1026 1026 1026 1026 1026 1231 1442 1442 1444 1231 1412 1412 1442 EXPS EXPS 1009 1009 EXPS EXPS EXPS EXPS 7740 7740 1285 1009 1009 1009 1009 1009 None SDE SDEW SDH SDHW SDL SDLW SD SD LU None None None None None None SS SS SS SS SSB SSB SS SS SS SSB SS SSB SS SSB SS SSB SS SSB SSB SS SSB SS SSB CU SW SW SS SSB SKP CU SAR SBR SBR S o G-20 H-39 H-39 H-39 H-39 H-39 H-39 F-4 F-19 F-4 Tape-Punch Read-Back Check ........................ . Translate ............... . ........................ . Translate with Word Marks .......................... . Write Write Write Write Write Write Write Write Write Write Write Write Write ............................................. Binary Tape .................................. Data ........................................ Data with Word Marks ......................... Disk Check .................................. Disk Check .................................. Disk Check with Word Marks ................... Disk Check with Word Marks ................... Disk Sectors .................................. Disk Sectors .................................. Disk Sectors with Word Marks .................. Disk Sectors with Word Marks .................. Disk-Track Record ............................ . . . . . . . . . . . . . 7740 7740 7335 1009 INDX INDX INDX S III M %F8 BBB W L %F8 BBB W M %F9 BBB W L %F9 BBB W M %F7 BBB W L %F7 BBB W M %FO BBB R M %FO BBB R L %FO BBB R UO U6 U 7 U 8 U9 U# KA K2 K 0 K# K III A K III d K d K 2 KA K III A KF K III F KE K III E KF K III F KG K III G K III C KD K III D KE K III E U %D1 D , AAA , AAA BBB K d K III d U 5bUn E U %D1 E Q AAA H AAA H AAA BBB S AAA S AAA BBB G-44 G-44 G-44 G-44 G-44 G-44 G-30 D-12 D-12 D-27 G-30 G-9 G-9 H-61 H-16 H-17 H-56 H-56 H-17 H-17 H-18 H-18 G-27 G-27 G-39 H-56 H-56 H-56 H-56 G-3 B-15 B-15 G-27 G-27 E-4 G-3 H-29 H-30 H-31 B-4 B-4 G-5, H-55 G-6, H-55 1009 1009 SS SSB KA 1012 TRAN TRAN MU TR TRW M %P1 BBB R T AAA BOO T AAA BOO> E-12 H-48 H-48 7740 7335 DDC DDC 1301 1311 1301 1311 1301 1311 1301 1311 1301 MU WTB MU LU WDC WDC WDCW WDCW WD WD WDW WDW WDTR M %A1 BBB W M %Bn BBB W M %H1 BBB W L %H1 BBB W M %F3 BBB W M %F3 BBB W L %F3 BBB W L %F3 BBB W M %F1 BBB W M %F1 BBB W L %F1 BBB W L %F1 BBB W M %F2 BBB W G-28 E-7 H-6 H-6 F-9 F-27 F-9 F-27 F-7 F-25 F-8 F-25 H-41 K III A K-5 Type Instruction Write Disk-Track Record ............................ . Write Disk-Track Record with Address ................. . Write Disk-Track Record with Address ................. . Write Disk-Track Record with Address with Word Marks .. Write Disk-Track Record with Address with Word Marks .. Write Disk-Track Record with Word Marks ............. . Write Disk-Track Record with Word Marks ............. . Write Disk-Track Sectors with Addresses ............... . Write Disk-Track Sectors with Addresses ............... . Write Disk-Track Sectors with Addresses with Word Marks Write Disk-Track Sectors with Addresses with Word Marks Write Disk with Sector-Count Overlay ................. . Write Disk with Sector-Count Overlay ................. . Write Disk with Sector-Count Overlay with Word 'Marks Write Disk with Sector-Count Overlay with Word Marks .. . Write Line ........................................ . Write Line ........................................ . Write Line ........................................ . Write Line and Suppress Space ....................... . Write Line and Suppress Space ....................... . Write Line and Suppress Space ....................... . Write on Tape Punch ............................... . Write on 1447 Console .............................. . Write on 1447 Console with Word Marks ............... . Write Request ..................................... . Write Request ..................................... . Write Request and Branch ........................... . Write Request and Branch ........................... . Write Tape ........................................ . Write Tape Mark ................................... . Write Tape with Word Marks ......................... . Write to IBM 1026 .................................. . Write to IBM 1026 with Word Marks ................... . Write to Primary .................................... . Write to Primary with Word Marks .................... . Write with Word Marks ............................. . Zero Zero Zero Zero K-6 and and and and Add (One Field) ........................... Add (Two Fields) .......................... Subtract (One Field) ....................... Subtract (Two Fields) ........... ........... . . . . 1311 1301 1311 1311 1301 1301 1311 1301 1311 1311 1301 1301 1311 1301 1311 1403 1443 1445 1403 1443 1445 1012 1447 1447 DDC 7740 DDC 7740 7335 7335 7335 1026 1026 EXPS EXPS 7740 Mnemonic WDTR WDTA WDTA WDTAW WDTAW WDTRW WDTRW WDT WDT WDTW WDTW WDCO WDCO WDCOW WDCOW W W W WS WS WS MU WCP WCPW SS SS SSB SSB WT WTM WTW WCP WCPW MU LU LU ZA ZA ZS ZS Format M %F2 BBB W M %F@ BBB W M %F@ BBB W L %F@ BBB W L %F@ BBB W L %F2 BBB W L %F2 BBB W M %F6 BBB W M %F6 BBB W L %F6 BBB W L %F6 BBB W M %F5 BBB W M %F5 BBB W L %F5 BBB W L %F5 BBB W M %Yl BBB W M %Yl BOI W M %Yl BOI W M %Yl BBB S M %Yl BOI S M %Yl BOI S M %Pl BBB W M %TO BBB W L %TO BBB W KD KD K III D K III D M %Un BBB W U %Un M L %Un BBB W M %TO BBB W L %TO BBB W M %01 BBB W L %01 BBB W L %Al BBB W ? AAA ? AAA BBB ! AAA ! AAA BBB Page H-45 H-42 H-46 H-46 H-42 H-41 H-45 F-I0 F-28 F-28 F-I0 F-8 F-26 F-8 F-26 D-3 D-2'2 D-30 D-3 D-22 D-31 E-12 C-2 C-2 H-2 G-27 H-3 G-27 E-2 E-4 E-3 G-45 G-45 H-24 H-25 G-28 B-5 B-5 B-6 B-5 II Index A-Address ....................................... A-2 A-Address [1301] ................................. F-3 A-Address [1311] ................................ F-19 A-Address Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-11 A-Register ...................................... A-11 A-Register Error .................. . . . . . . . . . . . . . . .. A-8 Access Busy [1301] .............................. F-12 Access Busy [1311] .............................. F-29 Access Inoperable [1301] ......................... F-11 Access Inoperable [1311] ......................... F -29 Access Motion Time [1301] ....................... F-13 Add (One Field) ................................. B-4 Add (Two Fields) ................................ B-3 Additional and Modified Instructions for 1009 Buffer.. H-53 Address Modification ............................. A-13 Address Operations [1301] ......................... F-9 Address Operations [1311] ........................ F-27 Address Registers ................................ A-11 Address Registers after Operation . . . . . . . . . . . . . . . . . . .. A-3 Addressing ...................................... A-8 Addressing System .............................. " A-8 Alternate Code [1301] ............................. F-1 Alternate Code [1311] ............................ F-16 Any Disk Condition [1301] ........................ F-12 Any Disk Condition [1311] ........................ F-29 Appendix ........................................ 1-1 Arith Error ...................................... A-8 Arith Register ................................... A-11 Arithmetic ....................................... A-6 Arithmetic Instructions ....... . . . . . . . . . . . . . . . . . . . . .. B-3 Arithmetic Operations ............................. B-1 Arithmetic Operations .............................. 1-3 Assembled Instructions ............................ A-4 Asterisk Protection [Edit] ......................... H-12 Attention Response [7740] ........................ G-27 Attention Response and Branch [7740] .............. G-27 Auto Select [1231] .............................. G-31 Automatic Error Correction [1012] ................. E-20 B-Address ....................................... B-Address [1301] ................................. B-Address [1311] ................................ B-Address [1403] ................................ B-Address [1442] ................................. B-Address [1443] ............................... B-Address [1447] ................................. B-Address Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-Cycle [Tran] '. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-Register ...................................... B-Register Error .................................. Backspace Tape [1012] .......................... Backspace Tape and Branch [1012] ................. Backspace Tape Record [7335] ..................... Basic Disk Operations [1301] ....................... Basic Disk Operations [1311] ...................... Bid Operation [1026] ............................ Bit Test [Bit] .................................... Branch if Access Busy [1301] ...................... Branch if .Kccess Busy [1311] ...................... Branch if Access Inoperable [1301] ................. Branch if Access Inoperable [1311] ................. Branch if Account-Number-Field Ind. On [1412] ..... Branch if Amount-Field Indicator On [1412] ......... Branch if Any Disk Condition [1301] ............... Branch if Any Disk Condition [1311] ............... A-2 F-3 F-19 0-3 0-10 0-21 C-l A-11 H-49 A-II A-8 E-13 E-13 E-3 F-2 F-17 G-44 H-l F-11 F-29 F-11 F-29 G-12 G-11 F-11 F-29 Branch if Arithmetic Overflow ........ . . . . . . . . . . . . .. B-7 Branch if Attention 1009 ......................... H-55 Branch if Attention-Signal Indicator On [7740] ...... G-27 Branch if Auto Select [1231] ...................... G-29 Branch if Bit Equal [Bit] .......................... H-l Branch if Buffer Busy [1026] ...................... G-47 Branch if Buffer Busy [1447] ...................... H-63 Branch if Buffer Full [1231] ....................... G-29 Branch if Buffer Service [1009] ................... H-55 Branch if Channel 9 [1403] ........................ D-4 Branch if Channel 9 [1443] ....................... 0-23 Branch if Channel 9 [1445] ....................... 0-32 Branch if Channel 12 [1403] ....................... 0-6 Branch if Channel 12 [1443] ...................... D-24 Branch if Channel 12 [1445] ...................... 0-32 Branch if Character Equal ... :....... . . . . . . . . . . . . .. B-8 Branch if Data Transmission Ended [7740] .......... G-27 Branch if Disk Error [1301] ....................... F-11 Branch if Disk Error [1311] ....................... F-29 Branch if Document-Space-Check Ind On [1412] ..... G-13 Branch if Early Warning [1448] ................... G-24 Branch if End of Block [1448] ........... G-23 Branch if End of File [1285] ...................... G-40 Branch if End of Line [1285] ..................... G-40 Branch if End of Reel [7335] ...................... E-5 Branch if End of Transmission [DOC] .............. H-4 Branch if Equal Compare (B = A) .................. -B-7 Branch if Error [1285] ........................... G-40 Branch if Header Information [1285] ............... G-40 Branch if High Compare (B > A) ................... B-7 Branch if Hopper Empty [1231] ................... G-30 Branch if in Backspace Operation [1012] ............ E-14 Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-7 Branch if Indicator On [DOC] ..................... H-4 Branch if Indicator On [1009] ..................... G-5 Branch if Indicator On [1009] ..................... H-54 Branch if Indicator On [1285] ..................... G-40 Branch if Indicator On [1301] ..................... F-11 Branch if Indicator On [1311] ..................... F-29 Branch if Indicator On [7740] ..................... G-27 Branch if Indicator On Instructions [EXPS] .......... H-20 Branch if Input/Output Indicator On [1011] ......... E-I0 Branch if Inquiry Clear [1026] .................... G-48 Branch if Inquiry Clear [1447] ..................... C-3 Branch if Inquiry Request [1447] ................... C-3 Branch if Last Card (First Reader Punch) [1442] ..... D-13 Branch if Last Card (Second Reader Punch) [1442] .. D-13 Branch if Late-Read Indicator On [1412] ............ G-I0 Branch if Low Compare (B < A) ................... B-7 Branch if Marked Line [1285] ..................... G-40 Branch if Minus .................................. B-9 Branch if No Zone ... . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-9 Branch if Operational Out [EXPS] ................. H-22 Branch if Paper-Tape Reader Ready [1011] .......... E-11 Branch if Primary-Control Indicator On [EXPS] ...... H-22 Branch if Primary-Read Indicator On [EXPS] ........ H-20 Branch if Primary-Sense Indicator On [EXPS] ....... H-21 Branch if Primary-Write Indicator On [EXPS] ....... H-21 Branch if Printer Busy [1403] ...................... 0-4 Branch if Printer Busy [1443] ..................... D-23 Branch if Printer Busy [1445] ..................... D-32 Branch if Printer-Carriage Busy [1403] .............. D-4 Branch if Printer Error [1403] ...................... 0-4 Branch if Printer Error [1443] ..................... D-23 Branch if Printer Error [1445] .................... 0-31 L-l Branch if Process Check [DOC] .................... H-4 Branch if Process-Control Indicator On [1412] ........ G-11 Branch if Process Error ............................ B-7 Branch if Punch Error [1442] ..................... 0-13 Branch if Punch Error [1444] ..................... 0-28 Branch if Read-Check Indicator On [1412] .......... G-lO Branch if Read Data [DOC] ....................... H-4 Branch if Read Error or Overrun Detention [1231] ... G-30 Branch if Read-Not-Ready Indicator On [1412] ...... G-10 Branch if Read Request [DOC] ..................... H-4 Branch if Reader Error [1442] ..................... 0-12 Branch if Reader Ready [1285] .................... G-40 Branch if Reader Ready to Read a Line [1285] ....... G-40 Branch if Reader Transporting [1285] .............. G-40 Branch if Receive End of Message or Initial Inquiry [1009] .......................... H-55 Branch if Receive-Request Indicator On [7740] ...... G-27 Branch if Receive (EOF) [1009] ................... H-55 Branch if Receive Error [1009] .................... H-55 Branch if Reply Bad [1009] ....................... H-55 Branch if Reply Good [1009] ...................... H-55 Branch if Request-Service Indicator On [1026] ......... G-47 Branch if Sense Switch On [SS] .............. B-7, H-40 Branch if Successful-Completion Indicator On [7740] .. G-27 Branch if System A Stopped [DOC] ................ H-4 Branch if Tape Error [7335] ....................... E-6 Branch if Tape Punch Not Ready to Accept Data [1012] E-14 Branch if Tape Punch Not Ready to Read [1012] ..... E-15 Branch if Tape Punch Overextended [1012] .......... E-15 Branch if Tape Punch Ready [1012] ................ E-14 Branch if Time-Emitter Indicator On [1026] ......... G-48 Branch if Timing-Mark Check [1231] ............... G-30 Branch if Transit-Routing-Field Indicator On [1412] .. G-12 Branch if Transmission Error Indicator On [EXPS] .... H-20 Branch if Unequal-Address Compare [1301] .......... F-11 Branch if Unequal-Address Compare [1311] ......... F-29 Branch if Word Mark ............................. B-9 Branch if Word Mark or No Zone ....... . .. . . . . . . . .. B-9 Branch if Word Mark or Zero Zone .. . . . . . . . . . . . . . . .. B-9 Branch if Word Mark or Zone . . . . . . . . . . . . . . . . . . . . . .. B-9 Branch if Word Mark or 11 Zone . . . . . . . . . . . . . . . . . . .. B-9 Branch if Word Mark or 12 Zone . . . . . . . . . . . . . . . .. . .. B-9 Branch if Write Data [DOC] ...................... H-4 Branch if Write Request [DOC] .................... H-4 Branch if Wrong-Length Record [1301] ............. F-11 Branch if Wrong-Length Record [1311] ............. F-29 Branch if Zero Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-9 Branch if 1009 Ready [1009] ...................... H-55 Branch if 11 Zone ................................ B-9 Branch if 12 Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-9 Branch if 1231 Ready to Read [1231] .............. G-29 Branch Instructions [DOC] ........................ H-4 Branch if Supply-Reel Low or Chad-Box Full [1012] .. E-16 Branch Unconditional ............................. B-7 Buffer Full [1231] ........................ G-31, G-32 Card Image Feature [1442] ....................... Card Read-Punch Instruction Format [1442] ......... Carriage Speed [1443] ........................... Chaining. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Chaining Instructions .. . . . . . . . . . . . . . . . . . . . . . . . . . .. Character Registers .............................. Clear Storage ................................... Clear Storage and Branch ......................... Clear Word Mark (One Address) ................... Clear Word Mark (Two Addresses) ................. Clearing Storage after Read Errors [1412] ........... Coded Halt ..................................... Combined Reading and Punching (1442 Models 1 and 2) ......................... Compare ........................................ Complement Add ................................. Conditions that Interrupt the Feed Call [1412] L-2 H-59 0-10 0-25 A-3 A-11 A-11 B-16 B-16 B-16 B-15 G-14 B-18 0-19 B-9 B-2 G-16 Console Instruction Format [1447] ................. . Console Panel, IBM 1009 Buffer Feature ........... . Console Printer Timing .......................... .. Continuous Feed Mode [1231] .................... . Control Carriage [1403] ........................ .. . Control Carriage [1443] ......................... . Control Carriage [1445] ......................... . Control Carriage (Selective Tape Listing Feature) [1403] ............................. . Control Command [EXPS] ....................... . Control Operation [EXPS] ....................... . Control Request [7740] .......................... . Control Request and Branch [7740] ............... . Core Sector Address [1301] ....................... . Core Storage Area Assignment .................... . C-1 H-52 C-4 G-31 0-6 0-24 0-33 H-58 H-16 H-15 G-27 G-27 F-1 A-lO D-Character ................................... .. A-2 D-Character [1301] .............................. . F-4 D-Character [1311] ............................. . F-19 D-Modifier Character [1403] ...................... . 0-3 D-Modifier Character [1442] ................. . 0-10 D-Modifier Character [1443] ..................... . 0-21 D-Modifier Character [1447] ................. . C-1 Data Control Operations ........................... . 1-3 Data Field Addressing ........................... . A-9 Data Flow [1403] .................. . 0-1 Data Flow [1412] ......................... . G-7 Data Flow [1442] ......................... . 0-9 Data Flow [7335] ......................... . E-l Data in Storage [1412] ....... . G-14 Data Moving Instructions .... . ....... . B-11 Data Moving Operations B-11 Data Stored with Read Error Conditions [1412] G-15 Data Stored Without Read Errors [1412] ..... . G-14 Decimal Control [Edit] H-13 Declarative and Assembler Control Statements ....... . 1-2 E-17 Decode to a Table Address [1012] Decreasing an Address [INDX] ................... . H-29 Delayed Form-Movement Operation [1443] 0-26 Determining the 1412 Feeding Rate [1412] ......... . G-16 E-4 Diagnostic Read [7335] ............ . Direct Data Channel [DOC] ................ . H-2 Direct-Dat~-Channel-Interrupt [1448] ......... . G-24 ................. . Direct Seek [DRSK] H-11 Direct Seek Timing [DRSK] ........ . ........... . H-12 Disable Interrupt [EXPS] ... . ............ . H-19 Disable Interrupt [1026] G-46 Disable Interrupt [1448] ........................ . G-22 Disable Interrupt and Branch [EXPS] ........ . H-19 G-46 Disable Interrupt and Branch [1026] Disable Interrupt and Branch [1448] G-23 Disengage MICR Reader [1412] G-7 Disk Control Field [DRSK] H-11 Disk Control Field [1301] ....... . F-l F-16 Disk Control Field [1311] Disk Error [1301] ....... .......... . ....... . F-11 Disk Error [1311] F-29 Disk Operations .. . ........... . 1-5 F-16 Disk-Sector Address [1311] .......... . Disk-Storage Input/Output Operations F-l ............. . Divide [MD] H-33 H-35 Divide Subroutine [MD] Document Spacing Error [1412] ............. . G-13 Documents in Flight [1412] ........ . G-18 Dummy Seek to Cylinder 00 [1311] F-32 Edit Operations ............................... .. Editing ......................................... . Editing Rules .................................. . Enable Interrupt [EXPS] ..................... , .. . Enable Interrupt [1026] ......................... . Enable Interrupt [1448] ......................... . Enable Interrupt and Branch [EXPS] ............. . B-19 A-7 B-19 H-18 G-45 G-22 H-19 Enable Interrupt and Branch [1026] ................ Enable Interrupt and Branch [1448] ................ End of Message (Receive) [ 1009] .................. End of Message (Transmit) [1009] ................. End of Record Routine [1012] ..................... End of Reel Routine [1012] ....................... End Response [EXPS] ........................... End Response [7740] ............................ End Response and Branch [7740] .................. Ending of Operation [1009] ....................... Engage Line [1412] . . . . . . . . . . . . . . . . . . . . .. Engage MICR Reader [1412] ...................... Evaluation of Input [7770] .................. G-34, Example . . . . . . . . . . . . . . . . .. Expanded Disk-Storage Control [EXDK] ........ , Expanded Print Edit [Edit] ....................... Expanded Serial Input/Output Adapter [EXPS] ...... G-45 G-23 G-5 G-5 E-19 E-21 H-16 G-27 G-27 H-52 G-13 G-7 G-35 Feature Operation [EXPS] Feed Call [1412] First A-Cycle [Tran] Five Track Tape Operation [1012] .. Floating Dollar Sign [Edit] Function H-25 G-16 H-49 E-21 H-12 A-3 General Description of Translate [Tran] General Mode of Operation [1403] General Mode of Operation [1442] General Mode of Operation [1443] General Mode of Operation [1447] Get Table Argument for Punching [1012] Go to Next Line [1285] ................... . Go to Next Line and Branch [1285] ........ . Good Transmission [1009] ....... . Group Marks [1412] H-49 D-2 D-lO D-21 C-1 E-18 G-39 G-39 G-5 G-14 Halt Halt and Branch Hopper Empty [1231] A-4 H-12 H-12 H-14 B-17 B-18 G-32, G-33 I-Address I-Address Register IBM 1009 Automatic Mode Operation ........... . IBM 1009 Data Transmission Unit .......... . IBM 1009 Data Transmission Unit, Buffer Feature ..... IBM 1009 Data Transmission Unit, Line Speed Operation IBM 1009 Data Transmission Unit, Special Features .. . IBM 1009 Instructions ......................... . IBM 1011 Paper Tape Reader ............ . IBM 1011 Paper Tape Reader Instructions .....' ....... . IBM 1012 Programming Concepts .................. . IBM 1012 Tape Punch ........... . IBM 1012 Tape Punch Instructions ................. . IBM 1012 Tape Punch, Read Feature ............... . IBM 1012 Tape Punch, Special Features ...... . InM 1026 Instructions ........................... . InM 1026 Programming .. . ........... . InM 1026 Programming Considerations ............. . InM 1026 Transmission Control Unit ............... . IBM 1231 Instructions ........................... . IBM 1231 Optical Mark Page Reader IBM 1231 Program Control .................... . IBM 1285 Instructions ................. . IBM 1285 Optical Reader ......................... . IBM 1285 Programming Techniques ................ . IBM 1285 Timing Considerations ................ IBM 1301 Disk Storage Models 11, 12, 21, and 22 .... . IBM 1301 Disk Storage Timing ., .................. . IBM 1301 Instruction Format and Instructions ......... . IBM 1311 Disk Storage Drive ...................... . IBM 1311 Disk Storage Timing .................... . IBM 1311 Error Routine .......................... . IBM 1311 Instruction Format and Instructions ....... . A-2 A-11 H-52 G-1 H-51 H-52 H-51 G-2 E-9 E-9 E-16 E-12 E-12 H-57 H-57 G-43 G-43 G-43 G-43 G-29 G-29 G-31 G-38 G-38 G-42 G-41 F-1 F-13 F-3 F-16 F-31 F-33 F-19 1403 Model 2' Printer Timings. . . . . . . .. ......... D-7 1403 Model 3 Printer Timings. . . . . . . . . . . . . . . . . .. D-7 IBM 1403 Model 5 Printer Timings. . . . . . . . . . . . . . . . . .. D-8 IBM 1403 Model 6 Printer Timings. . . . . . . . . . . . . . . . . .. D-8 IBM 1403 Printer Instruction Format- . . . . . . . . . . . . . . . .. D-2 IBM 1403 Printer Instructions ....................... D-3 IBM 1403 Printer Model 2 ......................... D-1 IBM 1403 Printer Model 3 . . . . . . . . . . . . . . . . . . . . . . . . .. D-1 IBM 1403 Printer Model 5 . . . . . . . . . . . . . . . . . . . . . . . . .. D-2 IBM 1403 Printer Model 6 . . . . . . . . . . . . . . . . . . . . . . . . .. D-2 IBM 1403 Printer Models 2, 3, 5, and 6 .............. D-1 IllM 1403 Printer Operations . . . . . . . . . . . . . . . . . . . . . . .. D-1 IllM 1403 Special Features ......... .............. H-58 IBM 1412 Instructions . . . . . . . . . . . . . . . . . . . . . .. G-7 IBM 1412 Magnetic Character Reader Modell. . . . . . .. G-7 IllM 1412 Timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. G-16 IBM 1440 Data Processing System ................... A-I IBM 1440 Data Processing System, Special Features .... H-1 IBl\[ 1440 Programming Logic ..................... G-l IBM 1441 Processing Unit .......................... A-5 IBM 1442 Card Read-Punch ........................ D-9 IIlM 1442 Card Read-Punch Instructions .. . . . . . . . . . .. D-I0 IBM 1442 Card Read-Punch Timing. . . . . . . . . . . . . . . .. D-14 IBM 1442 Models 1, 2, and 4, Special Features . . . . . . .. H-59 IBM 1443 PriIiter . . . . . . . . . . . . . . . . . .. D-21 IBM 1443 Printer Instruction Format ...... '.' . . . . . . .. D-21 IBM 1443 Printer Instructions . . . . . . . . . . . . . . . . . . . . .. D-22 IBM 1443 Printer Timing. . . . . . . . . . . . . . . . . . . . . . . . .. D-25 IBM 1444 Card-Punch . . . . . . . . . . . . . . . . . . . . .. D-27 IBM 1444 Card-Punch Instructions ............... :.. D-27 IBM 1444 Card-Punch Timing ..................... D-28 IBM 1445 Printer. . . . . . . . . . . . . . . . . . . . . . . . . .. D-30 IBM 1445 Printer Instructions .. . . . . . . . . . . . . . . . . . . .. D-30 IBM 1445 Printing Speeds ..... . . . . . . . . . . . . . . . . . . .. D-33 IBM 1447 Console Instructions ..................... C-l IBM 1447 Console Operations ....................... C-l IBM 1447 Special Features ........................ H-63 IBM 1448 Instructions . . . . . . . . . . . . . . . . . . .. G-20 IBM 1448 Transmission Control Unit ............... G-19 IBM 7335 Magnetic Tape Unit . . . . . . . . . . . . . . . . . . . . .. E-l IBl\I 7740 Communications Control System . . . . . . .. G-27 IBM 7740 Instruetions .... . . . . . . . . . . . . . . . .. G-27 IBM 7770 Audio Response Unit Modell Programming. G-34 IBM 7770 Instructions ............................ G-34 Immediate Form-Movement Time [1443] ........... D-25 Imperative Statements .. 1-2 Increasing an Address [INDX] .................... H-28 Index of Branch Instructions and d-Modifiers .......... J-l Index of Instructions Including Special Features ....... K-l Indexing [INDX] . . . . . . . . . . . . . . . . . . . . . . . . .. H-28 Indexing and Store Address Registers [INDX] ........ H-28 Indexing Method A-15 Indicators [1009] . . . . . . . . . . . . . . . . .. G-5, H-55 Indicators [1301] ................................ F-11 Indicators [1311] ................................ F -29 Information Retrieval [7770] ............... G-34, G-35 Initialize a Message Tnmsmission (XMIT) [1009] ..... H-53 H-53 Initialize a Reply from Receiver (Rev) [1009] ..... Input/Output Device Operations. . . . . . . . . . . . . . . . . . . .. 1-4 Inquiry Input [7770] ............................ G-34 Instmction Addressing ............ A-lO Instruction Descriptions ............................ A-3 Instruction Format . . . . . . . . . . . . . . . . . . . . .. A-2, A-3 Instruction Initialization in the Program [DDC] ....... H-6 Instmction Length .. ................... A-3 Internal Checking .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-7 Interrupt Instmctions [1448] ...................... G-21 IOCS Usage [7770] . . . . . . . . . . . . . . . . . . . . . . . .. G-36 Issue IBM 1026 Line Bid .......... . . . . . . .. G-44 IBM IBM Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-5 Large Vocabulary Programming [7770] ............. G-36 Less Than 285 Cards per Minute [1442] ............ D-15 L-3 Less Than 375 Cards per Minute [1442] ............ 0-17 Less Than 50 Cards per Minute [1442] ............. 0-17 Less Than 91 Cards per Minute [1442] ............. 0-19 Line Control [1448] ............................. G-24 Line Control Mode [1448] ........................ G-25 Line-Feed Operation .............................. C-3 Load Character from the Receiving 1009 .... . . . . . . .. H-54 Load Character to the Transmitting 1009 .. . . . . . . . . . .. G-4 Load Character to the Transmitting 1009 ............. H-54 Load Characters from the Receiving 1009 . . . . . . . . . . . .. G-4 Load Characters to a Field Word Mark (One Field) ... B-14 Load Characters to a Field Word Mark (Two Fields) .. B-13 Load Characters to a Record Mark or GMWM [Tran]. H-51 Load from MICR Reader [1412] .................... G-8 Load Point Time [7335] ........................... E-7 Load Record [Tran] ............................. H-51 Logic ........................................... A-6 Logic Instructions ............ ........ ,........... B-7 Logic Operations ............................ B-7, 1-3 Magnetic Core Storage ........................ ... . A-5 Magnetic Tape Instructions [7335] ................. . E-1 Magnetic Tape Operations ......................... . 1-4 Magnetic Tape Timing [7335] ..................... . E-7 Mark a Line [1285] ............................. . G-40 Mark a Line and Branch [1285] ................... . G-40 Maximum Processor Time Required for Data Movement [1009] ......................... H-52 Message Assembly and Output [7770] ....... G-34, G-36 Miscellaneous Input/Output Instructions ............. G-1 Miscellaneous Instructions ......................... B-15 Miscellaneous Operations ..................... B-15, 1-4 Mnemonic ....................................... A-2 Mode Switch [1026] ............................. G-43 Model 1 Card Punching [1442] .................... 0-17 Model 1 Card Reading [1442] ..................... 0-14 Model 1 Printing Speed [1443] .................... 0-25 Model 2 Card Punching [1442] .................... 0-18 Model 2 Card Reading [1442] ..................... 0-15 Model 2 Printing Speed [1443] .................... 0-25 Modify Address Instruction Method ................ A-15 Modify Address (One Address) . . . . . . . . . . . . . . . . . . .. A-15 Modify Address (Two Addresses) .................. A-15 Modulus 4 Arithmetic Method ..................... A-13 Move [1231] ................................... G-30 Move and Load Instructions [DOC] ................. H-5 Move Character from the Receiving 1009 . . . . . . . . . . .. H-54 Move Character to the Transmitting 1009 . . . . . . . . . . . .. G-3 Move Character to the Transmitting 1009 .......... " H-53 Move Characters and Edit. . . . . . . . . . . . . . . . . . . . . . . .. B-19 Move Characters and Suppress Zeros. . . . . . . . . . . . . . .. B-ll Move Characters from Record into Test Location [1012] E-17 Move Characters from the Receiving 1009 .. . . . . . . . . .. G-3 Move Characters to A- or B-Field Word Mark (One Field) ........................ B-11 Move Characters to A- or B-Field Word Mark (Two Fields) ....... : .............. . B-11 Move Characters to Record Mark or GMWM' ........ . B-12 Move from MICR Reader [1412] .................. . G-8 Move Numeric ........... , ..................... . B-13 Move Record ................................... . B-12 Move Zone .................................... . B-13 Multiply [MO] ................................. . H-32 Multiply.and Divide Subroutines [MD] ............ . H-34 Multiply and- Divide Timing [MD] ................ . H-37 Multiply Divide [MD] .......................... . H-32 Multiply Subroutine [MD] ....................... . H-34 No Operation ................................... B-17 Normal Form-Movement Operation [1443] .......... 0-25 Notes ........................................... A-3 On Demand Feed [1231] ......................... G-32 Op Code........................................ A-2 L-4 Op Code [1301] .................................. Op Code [1311] ................................. Op Register ............................... A-7, Operate in Load Mode [1009] ..................... Operate in Load Mode and Branch [1009] .......... Operating Input/Output Unit [1403] ................ Operating Input/Output Unit [1443] ............... Operating Input/Output Unit [1447] ................ Operation [1403] ................................ Operation [1448] ................................ Operational Out Line [EXPS] ..................... Parity Checking ........................... ...... . Primary System Operations [EXPS] ............... . Primary System Signals [EXPS] .................. . Printer Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . Process Error Functions Affected by Process Check Stop Switch ............................ " Process Error Functions Not Affected by Process Check Stop Switch ............................ " Processing ....................................... Program Instructions [1012] ....................... Programming Considerations on' the IBM 1412 . . . . . . .. Programming Note 1440 Autocoder Assembly . . . . . . . .. Punch and Feed [1442] .......................... Punch and Feed Operation [1442] .......... 0-17, Punch and Stop [1442] ........................... Punch and Stop Operations [1442] .......... 0-17, Punch Card [1444] .............................. Punch Card Image and Feed [1442] ............... Punch Card Image and Stop [1442] ................ Punch Character in Tape [1012] ................... Punch Column Skip [1442] ....................... Punch Column Skip Feature [1442] ................ Punch Error [1442] ............................... Punch Error [1444] ...................... ........ Read [1231] ............................. G-31, Read [7740] .................................... Read and Write Instructions [EXPS] ............... Read Binary Tape [7335] .......................... Read Card [1442] ............................... Read Card Image [1442] ......................... Read Check [1012] .............................. Read Command [EXPS] .......................... Read Data [DOC] ................................ Read Data with Word Marks [DOC] ................ Read Disk Sectors [1301] .......................... Read Disk Sectors [1311] ......................... Read Disk Sectors with Word Marks [1301] .......... Read Disk Sectprs with Word Marks [1311] .......... Read Disk-Track Record [1301] ................... Read Disk-Track Record [1311] ................... Read Disk-Track Record with Address [1301] ........ Read Disk-Track Record with Address [1311] ........ Read Disk-Track Record with Address with Word Marks [1301] ....................... Read Disk Track Record with Address Read Disk-Track Record with Address with Word Marks [1311] ....................... Read Disk-Track Record with Word Marks [1301] .... Read Disk-Track Record with Word Marks [1311] .... Read Disk-Track Sectors with Addresses [1301] ........ Read Disk-Track Sectors with Addresses [1311] ...... Read Disk-Track Sectors with Addresses and Word Marks [1301] ............................. Read Disk-Track Sectors with Addresses and Word Marks [1311] ............................ Read Disk with Sector-Count Overlay [1301] ......... Read Disk with Sector-Count Overlay [1311] ......... Read Disk with Sector-Count Overlay with Word Marks [1301] ............................. Read Disk with Sector-Count Overlay with Word Marks [1311] ............................ F-3 F-19 A-11 H-56 H-56 0-3 0-21 C-1 H-58 G-20 H-16 A-7 H-14 H-15 A-8 A-7 A-7 A-6 H-57 G-13 A-4 0-11 0-18 0-11 0-18 0-27 H-60 H-60 E-18 H-61 H-61 A-8 A-8 G-33 G-28 H-23 E-6 0-10 Ii-59 E-18 H-15 H-5 H-5 F-4 F-21 F-5 F-23 H-40 H-44 H-41 H-44 H-41 H-44 H-40 H-44 F-9 F-27 F -9 F-27 F-5 F-23 F-5 F-23 Read Error [1231] ........................ G-31, Read from IBM 1026 ............................. Read from IBM 1026 with Word Marks. . . . . . . . . . . . .. Read from Paper Tape [1011] ...................... Read from Paper Tape with Word Marks [1011] ..... Read from Primary [EXPS] ....................... Read from Primary with Word Marks [EXPS] ....... Read from 1447 Console .......................... , Read from 1447 Console with Word Marks. . . . . . . . . .. Read in Load Mode [1285] ....................... Read in Move Mode [1285] ....................... Read Operation [EXPS] .......................... Read Operation [1301] ............................ Read Operation [1311] ........................... Read Operation Timing [7335] ..................... Read Request [DDC] ............................. Read Request [7740] .. ,.......................... Read Request and Branch [DDC] ................... Read Request and Branch [7740] .................. Read Tape [7335] ........................ ~ . . . . . .. Read Tape with Word Marks [7335] ................ Read with Word Marks [7740] .................... Reader Error .................................... , Readers, Punches, and Printers ..................... , Reading and Writing with Word Marks Mode [1301] .,. Reading and Writing with Word Marks Mode [1311] .. Ready to Read [1231] ............................ Ready to Read [1231] ............................ Receive Error [1009] .............................. Receive Subroutine [1009] ......................... Receiving System Operation [DDC] ................. Record Check Time [7335] ......................... Reset [DDC] .................................... Reset and Branch [DDC] .......................... Rewind Tape [7335] .............................. Rewind Tape and Unload [7335] .................... Rotational Delay Time [1301] ..................... G-33 G-45 G-45 E-9' E-IO H-23 H-24 C-1 C-1 G-39 G-38 H-14 F-2 F-17 E-8 H-2 G-27 H-2 G-27 E-l E-2 G-28 A-8 D-1 F-3 F-18 G-32 G-31 G-5 G-l H-7 E-7 H-3 H-3 E-5 E-5 F-13 Scan [1448] .................................... Scan Disk Equal [Scan] .......................... Scan Disk Equal with Word Marks [Scan] .......... Scan Disk Feature [Scan] ......................... Scan Disk High [Scan] ........................... Scan Disk High with Word Marks [Scan] ............ Scan Disk Low [Scan] ........................... Scan Disk Low with Word Marks [Scan] ............ Second A-Cycle [Tran] ........................... Secondary System Instructions [EXPS] .............. Sector Count [1301] .............................. Sector Count [1311] ............................. Sector-Count Overlay Mode [1301] .................. Sector-Count Overlay Mode [1311] ................. Sector Mode [1301] ............................... Sector Mode [1311] .............................. Sector Operations. [1301] .......................... Sector Operations [1311] .......................... Sector Processing Time [1301] ..................... Seek Disk [1301] ................................. Seek Disk [1311] ................................ Seek Disk with Word Marks [1301] ................. Seek Operation [1301] ....................... F-2, Seek Operation [1311] ..................... F-17, Seek Overlap Feature [1311] ...................... Seeking Disk Storage Records [1311] ............... Select Condition in Document [1231] ............... Select Digital Time Unit [1026] ................... Select IBM 1026 on Line 1 ........................ Select IBM 1026 on Line 2 ........................ Select IBM 1026 on Line 3 ........................ Select IBM 1026 on Line 4 ........................ Select Request-Service Indicator [1026] ............ Select Stacker [1231] ...................... G-30, Select Stacker [1442] ............................ Select Stacker [1444] ............................ G-20 H-39 H-39 H-39 H-39 H-39 H-39 H-39 H-49 H-16 F-2 F-17 F-3 F-18 F-2 F-18 F-4 F-21 F-13 F-4 F-19 F-4 F-4 F-19 H-40 F-31 G-31 G-44 G-44 G-44 G-44 G-44 G-44 G-32 D-12 D-27 Select Stacker and Branch [1231] .................. Select Stacker and Branch [1412] ................... Select ,Stacker MICR Reader [1412] ................. Select Stacker (Selective Stacker Feature) [1442] .... Select Stacker Timings [1412] ..................... Selective Stacker [1442] .......................... Selective Tape Listing Feature [1403] .............. Send Attention Signal [EXPS] ..................... Send Attention Signal and Branch [EXPS] ........... Send End of File (EOF) [1009] .................... Send End of File (EOF) and Branch [1009] ......... Send End Signal [EXPS] ......................... Send End Signal and Branch [EXPS] ............... Send Unusual-End Signal [EXPS] ................. Send Unusual-End ~ignal and Branch [EXPS] ....... Sending System Operation [DDC] ................... Sense Command [EXPS] ......................... Sense Operation [EXPS] .......................... Sense Request [7740] ............................ Sense Request and Branch [7740]. . . . . . . . . . . . . . . . .. Sense Switches ................................... Serial-Number-Auxiliary-On-Us Field [1412] ........ Set Correction Mode [1285] . . . . . . . . . . . . . . . . . . . . . .. Set Direction to Receive [1009] ................... Set Direction to Receive and Branch [1009] ......... Set Direction to Transmit [1009] ................... Set Direction to Transmit and Branch [1009] ........ Set Ready to Receive [1009] ....................... Set Word Mark (One Address) .................... Set Word Mark (Two Addresses) ................... Sign Control Left [Edit] .......................... Signal Control [7740] ............................ Signal Control and Branch [7740] .................. Signal Control Instructions [DDC] .................. Signal Control Instructions [EXPS] ................. Skip and Blank Tape [7335] .......... . . . . . . . . . . . . .. Start [1231] .................................... Start Time [7335] ................................ Start Transmission [1009] .......................... Stop [EXPS] ................................... Stop Conditions [1412] ........................... Stop Time [7335] ............... '.' . . . . . . . . . . . . . .. Storage Address Register .................... A-7, Storage Error .................................... Store A-Address Register [INDX] .................. Store Address Register [INDX] .................... Store B-Address Register (One Address) [INDX] .... Store B-Address Register (Two Addresses) [INDX] '" Stored Program Instructions ........................ Subtract (One Field) ............................. Subtract (Two Fields) ............................. Suppress 3-Second Alarm [1009] ............. G-5, Suppress 3-Second Alarm and Branch [1009] ... G-6, System Check Conditions .......................... System Operations ................................ G-SO G-9 G-9 H-61 G-18 H-61 H-58 H-16 H-17 It-56 H-56 H-17 H-17 H-18 H-18 H-6 H-16 H-15 G-27 G-27 H-40 G-13 G-39 H-56 H-56 H-56 H-56 G-3 B-15 B-15 H-13 G-27 G-27 H-2 H-16 E-4 G-31 Tape Input/Output Operations [7335] ............... Tape Punch Read-Back Check [1012] ............... Text Mode [1448] ............................... The Stored Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Time Between Documents [1412] .................. Timing. . . . . . ... ... . . . ... . ... ..... .. . ... .... . .... Timing Considerations for Reading and Writing [1311] Timing-Mark Check [1231] .................. G-31, Title ............................................ Track Record [1301] ............................. Track Record [1311] ............................. Track Sector with Addresses Mode [1301] ............ Track Sectors with Addresses Mode [1311] .......... Translate [Tran] .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Translate with Word Marks [Tran] ................. Transmission Control [1448] ...................... Transmission Error [1009] ......................... Transmit Subroutine [1009] ........................ E-l E-12 G-25 A-I G-18 A-3 F-33 G-33 A-3 H-40 H-44 F-2 F-18 H-48 H-48 G-19 G-5 G-1 E-7 G-3 H-16 G-15 E-7 A-ll A-8 H-29 H-29 H-30 H-31 A-2 B-4 B-4 H-55 H-55 A-7 B-1 L-5 True Add .......... .' '" . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-2 Types of Read and Write Operations [1301] .......... F-2 Types of Read and Write Operations [1311] ......... F-17 Unequ~f Address UIl;~qual Address Compare [1301] ................. Compare [1311] .................. Unit Number [1442] ............................. F-11 F-29 D-1O Validity Checking. . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . .. Variable Word Length. . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-7 A-2 Word Marks ..... . . . . . . . . . . . . . . . . . . . . . . . . . .. A-2, Word Marks [1412] .............................. Write [7740] ................................... Write Binary Tape [7335] ......................... Write Command [EXPS] ......................... Write Data [DDC] ............................... Write Data with Word Marks [DDC] ............... Write Disk Check [1301] ..................... F-3, Write Disk Check [1311] ................... F-18, Write Disk Check with Word Marks [1301] .......... Write Disk Check with Word Marks [1311] .......... Write Disk Sectors [1301] ......................... Write Disk Sectors [1311] ........................ Write Disk Sectors with Word Marks [1301] .......... Write Disk Sectors with Word Marks [1311] ......... Write Disk Track Record [1301] ................... Write Disk Track Record [1311] .................. Write Disk-Track Record with Address [1301] Write Disk-Track Record with Address [1311] ....... Write Disk-Track Record with Address with Word Marks [1311] ........................... Write Disk-Track Record with Address with Word Marks [1301] .......................... . Write Disk-Track Record with Word Marks [1301] .. . Write Disk-Track Record with Word Marks [1311] .. . Write Disk-Track Sectors with Addresses [1301] Write Disk-Track Sectors with Addresses [1311] ..... . Write Disk-Track Sectors with Addresses with Word Marks [1311] ........................... Write Disk-Track Sectors with Addresses with Word Marks [1301] ............................ Write Disk with Sector-Count Overlay [1301] ......... Write Disk with Sector-Count Overlay [1311] ........ Write Disk with Sector-Count Overlay with Word Marks [1301] ............................. A-3 G-13 G-28 E-7 H.,;16 H-6 H-6 F-9 F-27 F-9 F-27 F-7 F-25 F-8 F-25 H-41 H-45 H-42 H-46 L-6 H-46 H-42 H-41 H-45 F-10 F-28 F-28 F-1O F-8 F-26 F-8 W rite Disk with Sector-Count Overlay with Word Marks [1311] ........................... . Write Line [1403] ............................... . Write Line [1443] .............................. . Write Line [1445] .............................. . Write Line and Suppress Space [1403] .............. . Write Line and Suppress Space [1443] ............. . Write Line and Suppress Space [1445] ............. . Write on Tape Punch [1012] ..................... . Write on 1447 Console ........................... . Write on 1447 Console with Word Marks ............ . Write Operation [EXPS] ........................ . Write Operation [1301] ......................... . Write Operation [1311] .......................... . Write Operation Timing [7335] .................... . Write Request [DDC] ........................... . Write Request [7740] ........................... . Write Request and Branch [DDC] ................. . Write Request and Branch [7740] ................. . Write Tape [7335] ........................... . Write Tape Mark [7335] ......................... . Write Tape with Word Marks [7335] ............... . Write to IBM 1026 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write to IBM 1026 with Word Marks .............. . Write to Primary [EXPS] ........................ . Write to Primary with Word Marks [EXPS] ........ . Write with Word Marks [7740] .................. . Wrong-Length Record [1301] .................... . Wrong-Length Record [1311] .................... . Zero Zero Zero Zero Zero F-26 D-3 D':'22 D-30 D-3 D-22 D-31 E-12 C-2 C-2 H-15 F-2 F-17 E-8 H-2 G-27 H-3 G-27 E-2 /E.,;4 E-3 G-45 G-45 H-24 H-25 G-28 F-ll F-29 and Add (One Field) ........................ . B-5 and Add (Two Fields) ....................... . B-5 B-6 and Subtract (One Field) .................. . and Subtract (Two Fields) ................... . B-5 Suppression Operation ...................... . B-21 I-Way System-to-System Data Transmission [DDC] ... . 1009 Run ...................................... . 1440 Register Operation ..................... . 2-Way System-to-System Data Transmission [DDC] .. , 285 Cards per Minute [1442] .................... . 300 Cards per Minute [1442] .................. .. . 375 Cards per Minute [1442] .................... . 400 Cards per Minute [1442] .................... . H-6 G-5 A-I0 H-I0 D-14 D-14 D-16 D-16 Technical Newsletter System General 03 Re: Form No. A24-1499-1 A24-1421-2 This Newsletter No. N24-0354 Date: November 5, 1965 Previous Newsletter Nos. N24-0314 (1419) (1412) N24~0316 This newsletter provides additional operating information for the IBM 1412 or IBM 1419 when attached to the IBM System/360. POWER ON - POWER OFF A system-error condition will result if power to the 1412/1419 is turned on or off while the System/360 is in operation. The following procedure must be used when power is turned on or off on the 1412/1419: 1. 2. 3. 4. 5. 6. Stop the CPU by pressing the stop key on the CPU console. Set the rate switch on the CPU console to SINGLE CYCLE. Press the start key on the CPU console. Turn power on or off on the 1412/1419. Set the rate switch back to the process position. Press the start key to resume operation. CHANNEL LINE TERMINATION If the 1412/1419 is physically the last device on the channel (that is, the channel line terminators are located in the 1412/1419), power to the 1412/1419 must be on continuously whenever the System/360 is operating. The 1412/1419 can be operated in anyone of the three available modes. SORT MODE SELECTION Changing the 1412/1419 from one mode to another can be done with the System/ 360 in operation, provided the program in process is not using the 1412/1419. Changing the mode of the 1412/1419 while the CPU program is communicating with the 1412/1419 may cause a System/360 error condition. IBM Corp., Product Publications Dept., Endicott, N. Y. 13764 N24-0354 (A24-1499-1) (A24-1421-2) PRINTED IN U.S.A. Technical Newsletter File No. 1440-01 Re: Form No. A24-3116-3 This N ewsletter No. N2 4- 03 92 Date: December 30, 1966 Previous Newsletter Nos. None Replacement pages for System Operation Reference Manual, IBM 1440 Data Processing System., Form A24-3116-3. To bring your publication up to date, please replace the following pages with the pages attached to this Newsletter. Changed figures are deSignated by a bullet (e) to the left of the figure title. Changes to text are indicated by a vertical line ( I) next to the affected text. G37, G3S G39, G40 G41, G42 G42.1, G42.2 Please insert this page to indicate that your publication now includes the modified pages issued with this Technical Newsletter. IBM Corp., Product Publications Dept., Endicott, N. Y. PRINTED IN U.S.A. 13760
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2015:01:09 16:45:33-08:00 Modify Date : 2015:01:09 16:09:20-08:00 Metadata Date : 2015:01:09 16:09:20-08:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:357e9125-183c-f74b-9f46-69ceb715a932 Instance ID : uuid:60daac82-3d6c-0649-92e3-3988b1f1686a Page Layout : SinglePage Page Mode : UseOutlines Page Count : 279EXIF Metadata provided by EXIF.tools