D24 1401 1_General_Information_Manual_IBM_1401_Feb60 1 General Information Manual IBM Feb60
D24-1401-1_General_Information_Manual_IBM_1401_Feb60 manual pdf -FilePursuit
D24-1401-1_General_Information_Manual_IBM_1401_Feb60 D24-1401-1_General_Information_Manual_IBM_1401_Feb60
User Manual: D24-1401-1_General_Information_Manual_IBM_1401_Feb60
Open the PDF directly: View PDF .
Page Count: 64
Download | ![]() |
Open PDF In Browser | View PDF |
Jrrn~ ® General Information Manual 1401 Data Processing System MINOR REVISION (February, 1960) This edition D24-1401-1 is a minor revision of the preceding edition but does not obsolete D24-1401-0. The principal changes in this edition are: PAGE 20 23,24 28 30 32 35 41 42 43 51 55 57 58,59 60 62 SUBJECT Input-Output Storage Assignments Input-Output Branch Codes B (I) Unconditional Branch, Figure 24 Z (A) (B) Move and Zero Suppress • (I) Stop and Branch Figure 30 Cycles 1 through 8 Auxiliary Console Figure 37 Printer Controls A and B Auxiliary Registers Figures 54 and 55 MUltiply Subroutine Figure 57 Divide-Subroutine Character Code Chart 1401 Timing Formulas Magnetic Tape Timings © 1959 by International Business Machines Corporation Contents INTRODUCTION 5 IBM 1401 DATA PROCESSING SYSTEM 5 THE PHILOSOPHY OF THE IBM 1401 6 The Stored Program Concept Magnetic-Core Storage Magnetic-Tape Storage Language .. Processing Solid State Circuitry Advanced Design 6 7 8 8 9 9 10 IBM 1401 CARD SYSTEM 11 Physical Features Data Flow Checking Word Mark 12 16 18 18 STORED PROGRAM INSTRUCTIONS Instruction Format ADDRESSING Input-Output Storage Assignments Address Registers Chaining Instructions Loading Instructions INPUT-OUTPUT OPERATIONS Input-Output Codes ARITHMETIC OPERATIONS Arithmetic Operation Codes 19 19 LOGIC OPERATIONS .. Logic Operation Codes Move and Load Codes Miscellaneous Operation Codes EDITING Expanded Print Edit OPERATING FEATURES Console Keys, Lights, and Switches Auxiliary Console IBM 1402 Card Read-Punch Operating Keys and Lights . . . . . .. IBM 1403 Pri~ter Operating Keys, Lights IBM 1401 MAGNETIC TAPE SYSTEMS 28 28 29 31 33 36 -----~ 38 38 40 42 42 44 Data Flow Magnetic Tape 46 46 T~eSillti~ 50 51 Console Keys, Lights, and Switches COLUMN BINARY DEVICE (Optional) 52 20 PROGRAM LOADING ROUTINE 54 20 21 21 22 CLEAR ROUTINE 55 MUL TIPLICA TION AND DIVISION SUBROUTINES 55 23 23 25 25 Multiplication Division IBM 1401 TIMINGS Card Systems Magnetic Tape INDEX 55 56 60 60 62 63 FIGURE 1. IBM 1401 DATA PROCESSING SYSTEM IBM 1401 Data Processing System Significant characteristics in the growth of data processing are the transitions from manual to mechanical, and from mechanical to electronic methods. Tremendous advantages accrue to business when manual or semi-manual procedures are converted to mechanical procedures. The curve of efficiency rises sharply while the curve of cost declines in such a changeover. Furthermore, important gains are realized in quantity and accessibility of significant data when unit-record equipment and the punched card replace manual and semi-automatic methods. As the volume of data to be processed increases, as the decision-making process is refined to the point where it requires more and more information, as the time available for decision-making becomes shorter, unit-record equipment continues to offer economies and advantages, but not at the same rate of improvement in time-saving and dollar-saving. The next available step in the mechanization process takes the businessman into intermediate and large-scale data processing. Each time this step from unit-record data processing to data processing systems is taken, it must be preceded by a carefully planned program. The IBM 1401 Data Processing System was specifically designed and planned in various configurations to make this transition. Punched-card input is at much higher rates of speed than those used in unit-record equipment, and yet the processes in punched-card input are very similar to the unit-record equipment. The same appJies to punched-card and printed output. The speeds are greater, the concepts are similar. The processing unit of the IBM 1401 is built with a degree of accessibility and utility that makes it the equivalent of storage units of greater capacity. The IBM 1401 is further enhanced by configurations that include tape systems, and the advantages of magnetic-tape data-handling. 5 The Philosophy of IBM 1401 The IBM 1401 can be considered in two major configurations: the card systems, and the tape systems. Card systems configurations are planned fOor procedures involving large volumes of card documents as source data and output, with particular advantage to applications requiring re-entry data. Tape system configurations JProvide for the handling of magnetic tape, which has the advantages of compact record handling and storage medium for high-speed data processing systems. In data processing systems, the program is more complex. It controls the entire flow of data in and out of various processing units. If, for instance, original data is punched into cards, the program would control the reading of this data, its transport to various proc- The Stored Program Concept The philosophy of data processing systems is self-controlled performance of procedures, carried to various degrees. Any such self-controlled performance involves simply a series of actions or movements, each depending on another, and requiring no operator intervention in the completion of the series. The series may be very short, or very long. The series may be completely sequential, or the next action to be taken may be chosen by the last action completed. An automatic record player is a good example of a series of actions, each one depending on the one immediately preceding it. When records are loaded on the spindle and the record player turned on, the record plays, the arm returns to a neutral position, the next record in sequence drops into place, the playing arm returns to the starting position on the new record, the record plays, and so on until all the records have been played once, without any need for intervention or assistance by anyone. This series of actions is called a program (Figure 2). 6 Test Record File for More Records FIGURE 2. SCHEMATIC OF A PROGRAM essing areas for addition, subtraction, multiplication, division, modification, classification, recording, and any other kind of action to which data can be subjected. ," A data processing system is a group of various mechanical and electronic components, interconnected. A system of this kind must be able to handle and complete such a program. The concept of stored programming provides this flexibility and efficiency. In punched-card data processing, the wires in the control panel actually comprise the program of instructions. The requirements of the procedure are studied carefully, and then the proper wires are placed in the control panel. The entire program can be changed by removing one control panel and replacing it with another for a different procedure. The limiting factors in the extent of the program that unit-re~ord equipment can handle is the number of program steps that can be provided within the physical confines of the control panel, and the number of control panels that can be conveniently utilized. Stored-program data processing systems use a similar, but much more flexible, concept. All the instructions needed to complete a procedure are written in the form of program steps. These program steps are made available to the machine by various methods, the most common of which is punched cards. The data processing system stores these program steps in some kind of storage medium. Thus, when a procedure is to begin, the stored program is loaded into the system (Figure 3), and the entire procedure can be performed from beginning to end. The IBM 1401 Data Processing Systems make use of three kinds of storage: magnetic-core storage, magnetic-tape storage, and the already familiar punchedcard storage. Magnetic-Core Storage All configurations of the 1401 Data Processing System use magnetic-core storage for storing instructions and data. The magnetic-core storage unit is composed of a number of tiny rings made of magnetic material. Several electric wires are passed through each of these rings, and each ring is magnetized. Every magnetic field has polarity. This can be demonstrated by the common phenomenon of two horseshoe-shaped magnets, which attract each other firmly when turned one way, and repel each other just as firmly when turned the other way. Similarly magnetic cores possess a magnetic field, and its polarity can be reversed by passing a current through the wires. These phenomena-magnetism, reverse magnetism, and the change from one to the other (Figure 4) --are used by the magnetic-core storage units to store information. No Bit FIGURE Storage Stored Program FIGURE 3. STORED PROGRAM 4. Bit Reversed MAGNETIC CORE A core magnetized in one direction contains a bit of information which has a value of 1; when the polarity is reversed, the value of the bit is zero. (This condition is referred to as no-bit.) Furthermore, all data in core storage is instantly available, and in the IBM 1401, the core-storage units have been specifically designed for high utility by making each location of core storage addressable. This means that a program step can designate the exact cores needed for that step. 7 Location of Letter 1/ A" ~ I FIGURE 5. Data can be read from a variety of sources, and put on the tape. The magnetic spots representing the information that has now been stored on the tape remain until they are changed by positive action. This means that, in addition to being us{~d as data storage, this data itself can be part of input and output. This makes magnetic tape an ideal storage medium for a large volume of data, because there is no limit to the amount of information that can be kept permanently. The reels of tape are removable from the system, and can be filed (Figure 6). They can also be transported from place to place, and used in other systems. REPRESENTATION OF LETTER "A" IN CORE STORAGE Each location of core storage consists of a number of planes or levels of magnetic cores. Various combinations of bits designate digits, letters, and special characters (Figure 5). Notice that the planes are stacked, and the cores representing a single character (in this case the letter "A") are all at the intersection of the same two wires in each plane. The physical makeup of each core storage location and its associated circuitry makes it possible for the IBM 1401 to modify instructions and process data directly in the storage area. (This is called add-to-storage logic. ) The design, construction, and circuitry of the corestorage unit in the IBM 1401 make it possible for this compact but extremely powerful storage unit to do as much or more than storage units of greater size. FIGURE 6. REEL OF MAGNETIC TAPE Data stored on the magnetic tape is read sequentially. The data proce'lsing system can search the tape to find the data to be used. Progra r ;! steps can be stored on magnetic tapes, and tnis mef of storing is a common one for collecting a library l.. Hie of procedures. Another great ad\l~ntage of magnetic-tape storage is that a reel of tapc that has been produced as an output of a procedure can be removed from the data processing system, and reports written with an independent unit, while the data processing system proceeds with the next program to be perf?rmed. Magnetic .. Tape Storage Language Magnetic tapes are made of plastic material, coated with a metallic oxide. It has the property of being easily magnetized in tiny spots, so that patterns of these magnetized spots are codes for digits, alphabetic characters, and special characters. 8 In the punched-card area of data processing, the language of the machine is the holes in the card. As data processing needs increase, the basic card language remains the hole in the card. But in the transition from unit record systems to the 1401 Data Processing Systems, and from there into computer systems, another faster, more flexible machine language emerges. Just as each digit, letter in the alphabet, or special character is coded into the card as a punched hole or a combination of punched holes, it is coded into magnetic storage as patterns of magnetized spots. Obviously, many different code patterns can be set up. The internal code used in the IBM 1401 Data Processing System is called binary-coded-decimal. All data and instructions are translated into this code as they are stored. No matter how information is introduced into the system (most commonly by means of punched cards), the binary-coded-decimal code is used 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 1401 internal code, and subsequently reconverting, is completely automatic. Processing The manipulation that data undergo in order to achicve desired results is called processing, and the part of the 1401 systems that houses these operations is called processing unit. Processing can be divided into three general categories: logic, arithmetic, and editing. Logic The logic function of any kind of data processing system is comprised of its ability to execute program steps; but even more, its ability to evaluate conditions and select alternative 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 or No X, or based on a positive or negative value, or perhaps based on a comparison of I:;ontrol numbers in a given card field. Similarly, the logic functions of the 1401 system control comparisons, branching (alternative 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 all variations. Arithmetic The 1401 processing unit has the capacity to perform add, subtract, multiply, and divide operations. Multipli- cation and division can be accomplished in any 1401 system, by programmed sub-routines. When the extent of the calculations might otherwise limit the operation, a direct multiply-divide feature is available. Editing As the term implies, editing adds significance to output data by punctuating and inserting special characters and symbols. The IBM 1401 has a unique ability to perform this function, automatically, with very simple program instructions. Checking Advanced circuit design with extremely reliable components is built into the 1401 system to provide assurance of accurate results. Self-checking within the machine is separated into three categories: parity, validity, and hole count. PARITY CHECKING. Achieved by testing for the proper number of I-bits for any given character, known as parity for that character. VALIDITY CHECKING. Checking for the correct configuration of bits to represent each character in storage. HOLE COUNT. Counting the number of holes punched in a card, to establish that it is equal to the number of holes called for in the same card at a previous station. Solid State Circuitry Transistorization of 1401 components is another significant design characteristic. In addition to providing a lower cost system, use of transistors increases reliability, while decreasing maintenance requirements. Other advantages are carefully controlled; space requirements heat dissipation power requirements The physical arrangement of the system components offers a less tangible, but equally important benefit, in greater operating efficiency, in that the components requiring operator attention can be situated for accessibility and convenience. The controls and arithmetic components are consolidated into a single set of modular cabinets. rhus far, only the most obvious advantages offered by the 1401 have been given. As the system components and features are described in greater detail, further advantages become evident. The power and econ9 omy of the 1401 is not derived from any single characteristic or component, but from the many considerations that led to the design of a balanced system in which every component can operate at its optimum rate. Advanced Design Advanced systems design of the IBM 1401 permits use of the machine as a complete, independent, accounting 10 system. It can also perform low-cost, direct input and output, and auxiliary tape-operations for large scale data processing systems. The entire system is operated by the stored. program. Time saving features, such as the powerful editing function, and the elimination of control panels, provide increased flexibility for application development. The capacity to use magnetic-tape data means economy in recording, transporting, and storing large volumes of information in compact form. IBM 1401 Card System The IBM 1401 Card Systems are completely transistorized, and utilize the modem technique of stored-program control. This system can perform all basic functions (such as: read-a-card, print-a-line, compare, add, subtract, edit), and variations of these functions. The IBM 1401 incorporates an advanced design of many outstanding features of existing equipment, for improved programming and operating efficiency. Instant access to information, and application of stored programming. Every position CORE STORAGE. Component Permits a maximum utilization of the storage facility. VARIABLE WORD-LENGTH. HIGH SPEED PRINTING. Model Al-A2-A3 Modlell Modell or 2 Not Available A medium of output efficiency. Simplified inputoutput facilities and easy integration of the 1401 into existing accounting machine procedures. HIGH SPEED READING AND PUNCHING. Completeness in preparing output information for printing, or with magnetic tape operations. EDITING. Card System IBM 1401 Processing Unit IBM 1402 Card Read Punch IBM 1403 Printer IBM 729 Magnetic Tape Unit IBM J 401 is alphanumerical, and individually addressable. Model Bl-B2-B3 Modell Modell or 2 N ot Available Magnetic Tape System Model Cl-C2-C3 Modell Model 2 Model II or IV Model Dl-D2-D3 N ot Available Model 2 Model II or IV II PROCESSING UNIT SPECIAL FEATURES *Expanded Print Edit *Additional Print Control Optional Optional Optional Optional Optional Optional Optional Optional Standard Standard Standard ,Standard Standard Not Available Standard Standard Multiply-Divide Print Storage Column Binary High-Low-Equal Compare Not Available Not Available Not Available Not Available Optional Optional Optional Optional Optional Optional Optional Optional Not Available Optional Not Available Optional *Read Punch Release *Sense Switches *Can be field installed NOTES: 1403 Modell has 100 print positions. 1403 Model 2 has 132 print positions, also requires the Additional Print Control optional feature. 1401 Processing Unit Models Al-Bl-CI-Dl have 1400 storage positions. 1401 Processing Unit Models A2-B2-C2-D2 have 2000 storage positions. 1401 Processing Unit Models A3-B3-C3-D3 have 4000 storage positions. Dual Speed Carriage is a standard feature for the 1401 DPS, Models B, C, and D. It is not available on Model A. All Model A's provide a low cost card system-only certain special features (as indicated above) may be installed. All Model B's provide the expanded card version-all special features except magnetic tape may be included. All Model C's provide the full magnetic tape system with certain features standard and others optional. All Model D's provide an edit system without card I/O-it should be noted that some options available on Model C are not available on Model D. FIGURE 7. IBM 1401 DATA PROCESSING SYSTEM COMPONENTS 11 Physical Features IBM 1401 Processing Unit The physical features of the units that make up the card system are compact and of modern design. All units are mobile for convenient and efficient arrangement for operating. The processing unit is the only unit that is changed in physical size when the different systems configurations (Figure 7) are required. The 1401 Data Processing System in its card configurations is composed of three interrelated units: 1. IBM 1401 Processing unit, containing 1400 characters of alphanumerical core storage (expandable to 2000 or 4000 positions) 2. IBM 1402 Card Read-Punch, equipped with an 800card-per-minute read feed and a 250-card-perminute punch feed 3. IBM 1403 Printer, capable of printing up to 600 lines per minute, with a print span of 100 positions of alphanumerical data per line (expandable to 132 print positions). FIGURE l2 8. IBM 1401 PROCESSING UNIT (2 CUBE & 4 The processing unit (Figure 8) contains the magneticcore storage unit to perform all the machine logic. The storage capacity is 1400, 2000, or 4000 alphanumerical characters of 8-bit core storage. The eight bits consist of six bits for alphanumerical binary code, a redundant bit for checking, and an eighth bit for field definition. Three areas of storage are reserved for input and output data. In the first, 80 storage positions receive 80 columns of card information from the card reader. Another 80 positions are reserved for assembly of data to be punched. The third area is reserved for the assemblyof 100 (or 132) characters of printer information. However, when these areas are not being used as specified, they can be used for other purposes. (N aTE: If 132-character printing is ordered, the Additional Print Control feature is required in the 1401.) CUBE) CODED ADDRESSES Actual Addresses 000 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 to to to to to to to to to to to 999 1099 1199 1299 1399 1499 1599 1699 1799 1899 1999 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 to to to to to to to to to to 2099 2199 2299 2399 2499 2599 2699 2799 2899 2999 3000 3100 3200 3300 3400 3500 3600 3700 3800 3900 to to to to to to to to to to 3099 3199 3299 3399 3499 3599 3699 3799 3899 3999 >:< IN STORAGE 3-Character Addresses No zone bits 000 to 999 ~ +00 to +99 A-bit, using O-zone B-bit, using II-zone A-B-bit, using 12-zone /00 SOO TOO UOO VOO WOO XOO YOO _ ZOO to to to to to to to to to /99 S99 T99 U99 V99 W99 X99 Y99 Z99 000 100 KOO LOO MOO NOO *000 POO QOO ROO .+ 000 AOO BOO COO DOO EOO FOO GOO HOO 100 to to to to to to to to to to 099 199 K99 L99 M99 N99 099 P99 Q99 R99 + 099 A99 B99 C99 D99 E99 F99 G99 H99 199 to to to to to to to to to to Letter 0 followed by Zero Zero FIGURE 9. STORAGE ADDRESS CODES Each of the storage positions is identified by a 3character address. The first 1000 positions of storage have' the addresses 000-999. The remaining 3000 storage positions require the use of an alphabetic or special character in the hundreds position of the address, as in Figure 9. The 1401 Processing Unit stores the program instructions and the data. It employs a variable word-length concept, and each position is addressable. Stored programming involves the concept of words. A word is a single character, or group of characters, that represents a complete unit of information. One of the most important characteristics of the IBM 1401 Data Processing System is this variable word-length principle, in which words are not limited to any predetermined number of character positions in the storage unit. Each word occupies only that number of character positions actually needed for each specific instruction, or for the specific data involved. This facility contributes to the high efficiency of the 1401 core··storage unit. FIGURE 10. IBM 1402 CARD READ-PUNCH IBM 1402 Card-Read Punch The IBM 1402 Card Read-Punch (Figure 10) provides the card system with simultaneous punched-card input and output. This unit has two card feeds. The read section has a rated reading speed of 800 cards per minute. Actual card speed realized is governed by the program routine for each particular run. The read feed is equipped with a device for large capacity loading, called a file feed. With the file feed device, the read feed can be loaded with as many as 3000 cards, which reduces operator-attendance requirements. The cards feed through the read side of the machine 9-edge first, face down. The feed path is from right to left, passing two sets of brushes. The first reading station reads 80 columns of the card to establish a holecount for checking purposes. The second reading station also reads the 80 columns, proves the hole count, 13 and directs the data into storage. At the end of the card transport path, three stackers are available to receive the cards. The normal read stacker is the stacker closest to read hopper and is used unless the cards are program-directed to stackers 1 or 2. The punch section has a rated speed of 250 cards per minute. The card hopper capacity is 1200 cards. The cards feed 12-edge first, face down. The feed path is left to right, passing a blank station, a punching station, and a reading station. The punching station consists of 80 punches for recording information. The punch-reading station counts all the holes in all 80 columns of the card, for punch-checking. At the end of the card transport path on the punch side, three stackers are available to receive the cards. The normal punch stacker is used unless the cards are program-directed to stacker 4 or 8 (Figure 11). IBM 1403 Printer The printer (Figure 13) is another output medium for the 1401 DPS Card System. This unit has a rated printing speed of 600 lines per minute. The standard printing capacity is 100 positions, with an additional 32 positions optional. Horizontal spacing is 10 characters to the inch. Vertical spacing of six or eight lines to the inch can be manually selected by the operator. In the 1401 Card System, Model A, vertical line spacing is performed by single-speed, tape-controlled carriage directed from the 1401 stored program. In Models B, C, and D a dualspeed tape-controlled carriage is standard. This carriage skips at the rate of 75 inches per second after the first eight lines of any skip. The single-speed carriage has a constant speed of 33 inches per second while skipping. Punches G~~;" 1~ Check ~ I Blank Station Read and Select Stacker Select Stacker C21k~ NormaIUUUUU= Punch Read 4 8/2 Np FIGURE 11. IBM 1402 CARD TRANSPORT SCHEMATIC All these stackers are radial-type stackers (Figure 12) with a capacity of 1000 cards each. Cards can be removed from the stackers without stopping the machine. Two stackers are assigned exclusively to the reader and two are assigned exclusively to the punch. The center or common stacker (8/2 stacker) can be used by either unit, but it must be assigned by the program to one or the other, in anyone run. All stackers other than the normal stackers are selected only. under program control. Both feeds are equipped with jam detection devices and with misfeeding detection. A card jam or a misfeed in either the read or punch feed causes the 1401 DPS to stop, and a console light glows, indicating which feed caused the stop. There is no electrical or mechanical coupling between the read and punch units. Therefore, any information from the read side must be entered into storage and read out of storage to. the punch unit, for operations equivalent to reproducing or gang punching. 14 FIGURE 12. RADIAL STACKERS Each position can print 48 different characters: 26 alphabetic; 10 numerical; and 12 special characters, (& , . }:! - $ * + / % # @). In tape systems, the "+" character is replaced by a record-mark character (:1:). The printing format is controlled by the 1401 DPS stored program. The information to be printed is checked when it is read out to the printer. FIGURE 13. IBM 1403 Print Storage (Optional) This optional feature provides 100 or .!~~.!lOn-addres.s able extra positions of core storage. They are used III conjunction with printer output. These extra positions of core storage increase processing speed in applications where printing volume is high. The data to be printed is moved by the PRINT instruction from the area in core storage assigned to the PRINTER 15 Type Array 1401 Processing IS ill ~~ Hammer ~ e 1 Armature Hammer Magnet 1403 Printer Printed Output FIGURE 14. SCHEMATIC OF PRINTING MECHANISM FIGURE printer to the optional Print Storage area. The time req uired for the transfer of data is 1.15 milliseconds for a 100-character print span; 1.52 milliseconds for a 132characte~ print span. On completion of this transfer of data, normal program execution is resumed while the print storage area sets up the print mechanism. During this setup, other operations can be performed in the normal manner. Only one instruction that involves the printer can be executed at anyone time. Method of Printing The alphabetic, numerical, and special characters are assembled in a chain (Figure 14). As the chain travels in a horizontal plane, each character is printed as it is positioned opposite a magnet.-driven hammer which presses the form against the chain (Figure 14). 16 15. GENERAL DATA FLOW SCHEMA TIC Before a character is printed, it is checked against the corresponding position in the print area of core storage to insure the accuracy of printed output. Data Flow The IBM 1402 Card Read Punch and the IBM 1403 Printer are input and output units for the IBM 1401 Card System. All data passes through the 1401 Processing Unit, where arithmetic and logical functions are performed (Figure 15). Each operation code is analyzed in the operation register. The A and B Registers contain the data characters at the storage location shown by the A and B Address Registers. The I Address Register contains the instruction address (Figure 16). r .JI "- l J~ - 'of l Reader Punch 'f I I Printer J H ..--~, Core Storage ....., ~ co ~ --, .~ 01 Q) 0:: < ~ ,~ 01 Q) 0:: , Logic Add, Subtract Edit, Compare ~ - ~~ J1~ , , -I ""' .--'-----I ~ ...., os::: ... '';: ~ Q) Storage Address ~ '5, Q) 8'0:: ,r t " 1 1 1 I-Address Register A-Address Register B.Address Register } FIGURE 16. IBM 1401 I '"'"- f CARD SYSTEM DETAIL DATA FLOW SCHEMATIC 17 Checking The IBM 1401 Data Processing System contains many important design factors to insure maximum efficiency and reliability. The self-checking features built into the 1401 are designed to insure a high degree of error detection. Each data character is represented by an alphanumerical binary code consisting of 6 bits, plus 1 bit for an oddparity check, and 1 bit for field definition.~ < Parity Check The odd-number bit configuration is used for the parity check. The proper number of bits for any given character is known as parity for that character. Word marks are included in the odd-number bit configuration on a parity check when they appear with a character. When information is moved within the system, a parity check is performed to test the presence of an oddnumber of bits for each character being moved. Validity Check A validity check is performed on all information when it is read into storage from the card reader, to insure that all characters are valid. A validity check is also made on data in the op code register and address registers. If any invalid characters are detected, the machine stops and the associated c:heck light comes on. Hole Count Check The Hole Count feature compares the total number of punches read in a card column at the first reading station, with the tDtal number of punches in the same card column at the second reading station. The Hole Count feature is also effective with the punch side to CDmpare the total number of holes set up for punching in a column, with the number Df holes punched in the card 18 column. If in either case, the result of the Hole Count comparison is unequal, the system stops, and check lights indicate the unit involved. If storage is scanned, the scanning process stops at the position corresponding to' the card column in error. Word Mark 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.~ The word mark serves several functions: 1. indicates the beginning of an instruction -2. defines the size of a data word ~ 3. signals the end of execution of an instruction. ~ 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 locations throughout the complete program. The word marks are set into storage location by a loading routine.-' 2. Word marks are not moved with data during processing, except when a load instruction (see Move and Load) is used.v 3. For an arithmetic operation, the B field must have a defining wDrd mark; and the A field must have a word mark only when it is shorter than the B field. 4. A load instruction moves the word mark and data from the A field to' the B field, and clears any other word marks in the designated B field, up to the length of the A field. 5. When moving data from one location to another, only one of the fields need have a defining word mark, because the MOVE instruction implies that both fields are the same lengtb 6. A word mark must be associated with the highorder character (Operation Code) of every instruction. Two Dperation codes are provided for setting and clearing word marks during program execution. Stored Program Instructions All arithmetic and logical functions are performed by the instructions retained in storage. One form of an instruction consists of an operation code followed by two 3-character addresses. The 2-address instruction is required to move data from one location to another, to perform the arithmetic operations of addition or subtraction, to compare two fields, or to edit. Because the 1401 system uses a variable word-length concept, the length of an instruction can vary from one to eight characters. Instruction Format OP (A/I) (B) d x xxx xxx x OP is a I-character operation code, which defines the basic instruction. A word mark is associated with the Op Code position. (This word mark is set under program control or by loading routines.) (A/I) is a 3-character storage address. A is the location of a data word. I is the address of the next instruction to be executed. (B) is a 3-character storage address of a data word. Instruction Example OP (A) (B) A 072 423 This is an add instruction. The operation code A, causes the field whose units position is in storage location 072 to be added to the field whose units position is in location 423. This operation continues until a word mark for the high-order position of field B, (which must have a defining word mark) is sensed. The word mark stops the operation being performed and causes the program to advance to the next instruction. If field A is shorter than field B, it must also have a defining word mark. As stated before, not all instructions have the /2address form. Others consist of only one address, or no address. This concept results in what is known as variable-length instructions. Examples of the six combinations possible in variablelength instructions are: Number of Positions 1 2 4 READ OP 1 ST ACKER SELECT OP d K 2 BRANCH OP (I) B 400 UNCONDITIONAL d is a I-character modifier to the operation code. It can be an alphabetic, numerical or special character. It is positioned as the last character of the instruction and can be used in any instruction length. Underlining q.ny position of an instruction or data word indicates that a word mark is associated with that position. Instruction Format Operation - - - 5 BRANCH UNEQUAL OP ([) d B 625 / 7 ADD OP (A) (B) A 072 423 TEST CHARACTER OP (I) (B) d B 650 080 4 NOTE: 8 AND BRANCH - - , 19 Addressing The 1401 processes data by following a series of stored instructions. The storage unit stores both the instructions and the data. Each position in storage can be addressed. The high-order positiion of a field in storage is identified by an associated word mark. An instruction in core storage is addressed by the location of its high-order position. The machine reads the instruction from left to right until it senses the word mark associated with the next instruction. The final instruction in the program must have a word mark set at the right of the low-order position. The high-order character is the operation code, with an associated word mark which is set by the program when the instruction cards are loaded. In contrast to this, a data word is read from right to left until a word mark is sensed with its own high-order position. In addressing a data word, we specify its units position. FIGURE 20 17. STORAGE LAYOUT Input-Output Storage Assignments Certain areas of storage are reserved for the use of the input-output devices. The assignments are such that a correlation is achieved between input-output columns and/or print positions. The storage location assignments are: card input 001 through 080 card output 101 through 180 print output 201 through 300 (or 332, as needed). Storage locations 081 through 099 and 181 through 200 can store other data used for normal processing. Storage locations 000 and 100 are also available for normal use except during a read or punch operation (Figure 17). Instruction Address Registers Three address registers are incorporated in the IBM 1401 Processing Unit. Two address registers control the transfer of data from one storage location to another; the other, controls the program location sequence. 1. The A address register contains the storage location of the data in the (A) portion of an instruction. The number in this register is decreased by 1 after the execution of the storage cycle that involves tlls (A) address. 2. The B address register contains the storage location of the data in the (B) portion of an instruction. The number in this register is decreased by 1 after the execution of the storage cycle that involves the (B) address. 3. The location of the next instruction character to be used by the stored program is contained in the I (Instruction) Address Register. Figure 18 is a detailed schematic for the loading of a 7-character instruction in the operation code register, in the A and B registers, and in the A and B address registers. Eight storage cyc1es are required to load this complete instruction in the registers. Each storage cycle takes .0115 milliseconds. Location B Register I Register 1011 19171 B Register 1011 \9\81 OP Register o 2 3 4 5 6 7 8 GJ Cycle 2 A Address Register 0 1 B Address Register !Sf? P 1 10\119191 GJ GJ OP Register A Address Register B Register I Register I A Register A Register B Address Regi ster A Register 101 21 0101 OP Register Cycle 4 A Address Register B Register B Address Reg is ter A Register I~J OP Register A Address Register B Register I Register 10 Cycle 5 B Address Register A Register 121 121 0 OP Register Cycle 6 A Address Register B Register I Register B Address Register A Register Cycle 7 OP Register A Address Register B Register B Address Register A Register 10 1 2 1 014 1 OP Register In some programs, it becomes possible to perform a series of operations on several fields that are in sequence in storage. Some of the basic operations, such as add, subtract, move, and load, have the ability to be chained so that less time is required to perform the op- I? Pi? I? B Register I Register Chaining Instructions B Address Register I Register Operation Enter OP Register Enter thousands and hundreds position of A address register; also A register. Enter tens position of A address register; also A register. Enter units position of A address register; also A register. Enter thousands and hundreds position of B address register, as well as the A register. Tens position of B address register, and the A register. Units position of B address register, and the A register. Next op code enters B register only. Cycle 1 1?1?1?111 I Register Cycle GJ A Address Register I Register A Register FIGURE 18. Cycle 8 A Address Register B Address Regi ster SCHEMA TIC OF LOADING A 7 -CHARACTER INSTRUCTION 21 erations, 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 A A A 700 695 690 685 850 845 840 835 At the completion of the first instruction, the A address 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. Eighty 'storage cycles would be required to execute these instructions, thus using up . 920 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 executed as follows: b Example: A 900 850 M A M For example; assume that the data fields are each ten characters long: The ten characters at location 900 were added to 850. The ten characters at location 890 were moved to 840. The ten characters at location 880 were added to 830. The ten characters at location 870 were moved to 820. As operation codes are individually explained, instructions that can be chained are so indicated. 700 850 A A A Connecting instructions together in this manner is called chaining. The first add instruction contains both the (A) and the (B) addresses. The following three instructions contain only the operation code for those instructions. The (A) and the (B) addresses are the results left in the A and B address registers from the previous instruction. This type of operation requires 62 storage cycles, and takes .713 milliseconds to execute. Only ten storage positions are required to store these chained instructions. The ability to chain a series of instructions is not dependent on the use of the same operation code. Chained 22 instructions may have various Op codes. The requirement is that the (A) fields to be operated on must be in sequence, and the (B) fields must be in sequence. Loading Instructions Before the 1401 can start processing, program instructions must be put into the system. This is accomplished by means of a loading routine, one of which is included in another section of this manual. Instructions are placed in the machine by the use of load cards. Several different types of load cards condition the 1401 to accept information for processing. They cause word marks to be set at specific storage locations, and load a series of instructions which allow the cards containing the actual program instructions to be stored in their correct locations. Input-Output Operations Input-output operation codes coltltrol reading and punching data cards, and printing reports. Branching instructions are provided to transfer the program automatically at the completion of a function. More than one function can be initiated by a single instruction. When the system is equipped with the Print Storage optional feature, the program can continue as soon as the data is received in print storage. Thus the interlock time is greatly reduced .. 2(1) Same as the PRINT instruction, except that the location of the next instruction is at location (I). The position immediately following this instruction must contain a character with a word mark or a blank character with or without a word mark. Input-Output Codes 1 READ 20 READ AND BRANCH Same as the READ instruction, except that when the (I) address follows the READ operation code, the next instruction is taken from the (I) address instead of from the next instruction location in sequence. This produces a branch in the program after the card has been read from the 1402 cardread unit. The position immediately following this instruction must contain a character with a word mark or a blank character with or without a word mark. 2 2 (I) tr PRINT WORD MARKS AND BRANCH Same as PRINT WORD MARKS (2 I:I ) instruction, except that the location of the next instruction is at address (I). 3 PRINT AND READ This instruction combines the operations of READ ( 1) and PRINT (2). The printer is given priority and operates first. However, a signal to start the card read unit can be given before the end of the print operation. Thus actual reading from the card may start shortly after completion of the print operation. When the system is equipped with the Print Storage optional feature, the program can continue as soon as the data is received in print storage. PRINT This instruction causes the program to stop, and the data in the print area of storage to be transmitted to the printer. The program continues sequentially, immediately after printing is complete. The print area of storage is designated as addresses 201 through 300 for the basic 1403, and addresses 201-332 for the 1403 equipped with 32 additional print positions. The printer automatically spaces one line after printing unless instructed to do otherwise. PRINT WORD MARKS This instruction causes each word mark associated with storage addresses 201 through 300 (201332 for additional print control) to print as the digit "1". The printer automatically spaces one line after printing unless instructed to do otherwise. This instruction activates the card feed, and causes all 80 columns of information to be read from the card into the IBM 1401 storage unit, addresses 001 through 080. The word marks for these 80 positions are not disturbed. 1 (I) PRINT AND BRANCH 3 (I) PRINT, READ, AND BRANCH Same as the previous instruction, except that the location of the next instruction is at address (I). The position immediately following this instruction must contain a character with a word mark or a blank character with or without a word mark. 23 4 The position immediately following this instruction must contain a character with a word mark or a blank character with or without a word mark. PUNCH This instruction causes the data located in addresses 101 through 180 to be punched into an IBM card. 7 4 (I) PUNCH AND BRANCH Same as the PUNCH (4) instruction, except that the location of the next instruction is at address (1). The position immediately following this instruction must contain a character with a word mark or a blank character with or without a word mark 5 This instruction combines the functions of priority and operates first, with the read and punch process overlapped as previously explained. 7 (1) This instruction combines the READ (1) and (4) operations as described. The machine can, in effect simultaneously read and punch when this instruction is used, because these two operations can overlap. 8 READ, PUNCH, AND BRANCH PRINT AND PUNCH 6 (I) PItINT, PUNCH, AND BRANCH Same as the previous instruction except that the location of the next instruction is at address (1). 24 READ RELEASE (OPTIONAL) This instruction causes the card reader to start the next cycle, and allows processing to continue. A READ instruction must then be given prior to the time the reader is ready to read the 9-row of the card. If the instruction is not given early enough, the card passes the brushes without being read, and the machine stops. This instruction allows a gain of 20 milliseconds of processing time between successive card read cycles. Same as the previous instruction except that the location of the next instruction is at address (1). The position immediately following this instruction must contain a character with a word mark or a blank character with or without a word mark. This instruction combines the functions of PRINT (2) and PUNCH (4). The printer has priority. However, the punch is signalled to start before the end of the print operation, so that actual punching into the card may start shortly after the print operation is completed. When the system is equipped with the Print Storage optional feature, the program can continue as soon as the data is received in print storage. PRINT, READ, PUNCH, BRANCH Same as the previous instruction, except that the location of the next instruction is at address (I). The position immediately following this instruction must contain a character with a word mark or a blank character with or without a word mark PUNCH 6 READ (1 ), PRINT (2), and PUNCH (4). The printer has READ AND PUNCH 5 (1) PRINT, READ, AND PUNCH 9 PUNCH RELEASE (OPTIONAL) This -instruction causes, the card punch to start the next cycle, and allows processing to continue. A PUNCH instruction must then be given, prior to the time the 1401 begins emitting the information to the punch for punching the 12-row of a card. If the instruction is not given early enough, the card passes the punch station without being punched, and the machine stops. This instruction allows a gain of 35 milliseconds of processing time between successive punch cycles. Arithmetic Operations Add and subtract, and the optional multiply and divide operation codes, perform the arithmetic operations. Because the operations are performed within core storage, no accumulators or counters are necessary. Thus, the capacity for arithmetic functions is not limited by a predetermined number of counter positions. Upon completion of the ADD operation, the address registers contain the addresses of the fields to the left of the original A and B fields; therefore, the ADD instruction can be chained when sequential fields are being used provided the A field is equal to or less than the B field. The ADD instruction can also be executed using only the (A) address as follows: ~ Arithmetic Operation Codes A(A) (B) ADD This instruction causes the numerical data at the (A) address to be added algebraically to the numerical data at the (B) address. If the two numerical fields contain different signs, a complement addition takes place. A word mark associated with the B field stops the ADD operation. If the A field is shorter than the B field, a word mark should be inserted with the A field to stop transmission of data from the A field. A negative field is indicated by a "B" bit and the absence of an "A" bit in the units position of that field (I1-punch in a card). Any other "A" or "B" bit combination in the units position is con-. sidered a positive sign. For compatibility with other machines all positive numbers should always be indicated by either "A" and "B" bits (I2-punch in a card) or by the absence of both "A" and "B" bits. In a true AnD operation (both fields have the same sign), the zone bits in the units position of the B field are unaffected. In a complement ADD operation (unlike signs), the -zone bits in the units position of the B field are always set to "A" and "B" bits (12-punch in a card) for a positive result, but remain as a "B" bit only for a negative result (II-punch in a card). Zone bits located in any character position within the B field other than the sign (units) position or the overflow (high-order) position are lost (removed) in any arithmetic operation. If the sign of the B field is required to change as a result of the arithmetic operation, the machine takes an automatic recomplementing cycle to restore the data to true form. NOTE: (A). In this form the (A) portion and the implied (B) portion are the same, and are added to each other. This form of the instruction can be used to double the A field. The result is located in the A field. Overflow An overflow condition can occur as a result of a true arithmetic operation if the B field is not large enough to accommodate the answer. An overflow condition sets an indicator, which can be tested by a BRANCH instruction. (This indicator is not reset until the next ADD 01 SUBTRACT instruction is given). The overflow condition also causes an "A" bit to be stored in the high-order position of the B field. If other data is added to this same B field without adjusting the length of the field, additional overflows can occur and change the "AB" bit configuration as follows: Zone Bits in High-Order Position of B Field I st 2nd 3rd 4th 5th Overflow Overflow Overflow Overflow Overflow "A" bit, No-"B" bit No-"A" bit, "B" bit "A" bit, "B" bit No-"A" bit, No-"B" bit Same as for 1st overflow, etc. Because the machine signals an overflow condition by placing zone bits in the high-order position of the field, overflow can be used for address modification. Because the address of storage positions 1000 and up are represented by an alphabetic or special character, the high-order position of an address can be modified. Example: Data word A is 550 Data word B is 840 25 If the instruction ADD (A) (B) is executed the result in location (B) is 390 with an "A" bit over the highorder position. The 1401 translates this BCD coding as the alphabetic character "T". Thus the data word T90 is in (B). If this is used as aIll address it represents storage location 1390. @ (A) (B) NOTE: If the A and B fields contain alphabetic instead of numerical digits in the positions corresponding to the high-order position of the B field, the result of a true ADD operation contains the sum of the zone bits of the positions corresponding to the high-order position of the B field in the high-order position of the result. The digit portions of both fields add correctly. However, the highorder position of the B field (;ould be modified by the overflow conditions. The rules for multiplication are: 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. An overflow condition cannot occur as a result of a complement-add arithmetic operation. S (A) (B) SUBTRACT Example: This instruction is the same as the ADD (A) instruction, except that the A field is algebraically subtracted from the B field. If both fields contain the same sign, a complement-add arithmetic operation results. This instruction can also be executed using only the (A j address as follows: 1246 x543 In this form the A field and the implied B field are the same, and the A field is subtracted from itself. This form of instruction can be used to clear the A field and put zeros in it. The SUBTRACT instruction can be chained for sequential data fields. (A) (B) 0" (A) (B) RESET SUBTRACT This instruction is simila:r to the RESET ADD instruction, except that the A field is subtracted (algebraically) from the B field, which is in effect set to zero before the A 11eld data is subtracted from it. This instruction c:an be chained. It can also be used without a (B) address, which in effect causes a sign change in the~ A field. 26 3. In all cases "A" and "B" bits for plus signs, and "B" bits for minus signs, must appear in the units position of the fields. The mUltiply operation uses algebraic sign control. As a result of a multiply operation, the multiplier in the B field is destroyed. However, it is still available at its original location. This instruction should not be chained. An example of a mUltiply routine is shown in Figure 19. RESET ADD This instruction is similar to the ADD (A) instruction, except that the B field is, in effect, set to zero before the A field is added to the (B) location. This instruction is not the same as the MOVE instruction. If the A field is shorter than the B field in a reset add instruction, high-order positions of the B field are filled with zeros. With a MOVE instruction, these positions are unaffected. The A field must have an associated word mark only if it is shorter than the B field. This instruction can be chained. 4-digit multiplicand 3-digit multiplier +1 -8-positions must be allowed in the B field. 2. The multiplicand and multiplier data words must have a sign in the units position, and a word mark associated with the high-order positions. §.(A) "6 MULTIPLY (OPTIONAL) This code causes the multiplicand (data located in the A field) to be repetitively added to the data in the B field. The B field consists of the multiplier in the high-order positions, and enough additional positions for the development of the product. At the completion of the operation, the units position of the product is at the location given by the (B) address. The multiplier can be retained in another area of storage if it is required for further use in the program. IBM 1401 PROGRAM CHART Program: MULTIPLICATION --c--=--= Programmer: Datee::_ Instruction Slep In.1 0 No. Addr P'ATI~ d L 065 Effective No. of Characters Inst D;';~lT.~tal Remark. Load multiplier in the high order positions of the. (II) field. 605 _t.,\~I!ip")l1246 x 543 and develop product beginning in I--I~_+-+--__ 1---. position_6J()_-"L~-"!I< Low Compare B < A >I< Reader Error if 110 Check Stop Switch OFF :j: U High Compare B > A 0 Punch Error if 110 Check Stop Switch OFF:j: W Divide Overflow':: + Printer Error if 110 Check Stop Switch OFF:j: Z d Branch on: Sense Switch A "Last Card" Switch K End of Reel B Carr. Chan. #9 Carr. Chan. # 12 C Sense Switch B Sense Switch C L Tape Channel Transmission Error D Sense Switch D E Sense Switch E ':' F Sense Switch F ::: G Sense Switch G ':: >I< >1< + >1< 0 * :j: * :j: - ::: optional :j: Condition reset by a Test and Branch instruction FIGURE 24. 28 d-CHARACTER FOR BRANCH INSTRUCTION % >1< Overflow:j: Procesing Check with Process Check Switch OFF :j: If this instruction is chained, 1! (601) (350) b the program also tests locations 349, 348 and 347 for blanks. Thus, the entire field is tested for blanks, and sends the program to location 601 if any blank positions are found in the field. Word marks do not affect this instruction. Thus, the next instruction can be chained, if it is to use the locations that are provided in the A and B address registers. ~!!~, v (I) (B) d M (A) The address in the B address register is used as the address of the B field. This instruction can be used to assemble fields in sequential order. TEST FOR ZONE OR WORD MARK AND BRANCH Figure 25 is a detailed schematic, showing movement of a 3-character data word from the A field to the B field. This is a single-character-test instruction, which tests the character located at address (B) for a specific condition as specified by the d-character, and branches if the condition is met as follows: STORAGE UNIT A Field Word mark No zone (No-"A", No-"B" bit) I2-zone ("AB" bits) II-zone ("B", No-"A" bit) Zero-zone ("A", No-"B" bit) Either a word mark, or no zone Either a word mark, or I2-zone Either a word mark, or II-zone Either a word mark or zero-zone. 1 2 B K S 3 C L T P sl Tl2 , ,,r------..J B Field (after) , I II II II II I, d-Character Branch to (I) if address (B) contains: l_~~_ P +1 Tl2 I ,r-J L ____ - - - - - ..., ,, M 1- ~.tR..e~ A Reg , r---, OP Reg I r---' I I I I , L ___ .J I L ___ .J : I S L. ___ J L.-r-.J (1312) (1312) A Cycle CD B Reg :----, , :"J B Cycle L _ _ _ _ _ _ _ _ _ _ _ _ --I STORAGE UNIT B Field (before) A Field 10 P, ~B M TIl I, L ___ II ,I : I l ~ L - - - - - - - - - ---, : r~~.§!.., r~'!:l!, L J B ~ - - - - __ ,' B I OP Reg :L ___ M .Jl Move and Load Codes (1311) : B Field (after) II r---1 (1311) MITll r----.J I' L ___ .J A~ r---, i ---l : : B , B~ : 0 I ~ P B Cycle L ___ .J L-T-...J L A Cycle , "L ___ ....I _____________ MOVE This instruction causes the data in the A field to be stored in the B field. If both fields are the same length, only one of the fields need have the defining word mark. If the fields are different lengths, the first word mark encountered defines the length of both fields, and stops the operation. Sensing an A word mark first allows the completion of one more B cycle before stopping the operation. The word marks themselves are not affected by the move operation, nor is the data in the A field. At the end of this operation, the A address register and B address register contain the addresses of the units positions of the fields to the immediate left of the high-order positions of the preceding locations. I M I I A Reg r---, , M , I, ,I ,I ,, L ___ .J M I~------l L~ , ~566 M (A) (B) B Field (before) 10 ~567 J STORAGE UNIT A Field B Field (before) ~565 lOB I II I I : I I II I' I I .. , II lLOP Reg r---' lL ___ M ..l: r---- J I I A Reg I I B I BtReg I I L ___ J A Reg : I :----1 l L- -L : -J r, TlO r-----, : L ___ J r ---, MI L __ , -L ~ - - - - -:- -: 1. : L - - -: (1310) B Field (after) - - - - - - - - - - -:- ---: i---i (1310) MI TIO : , A Cycle B Reg L--: Q B Cycle : L ___ J I L ____________ J FIGURE 25. SCHEMA TIC OF A 3-CHARACTER MOVE INSTRUCTION 29 Cycle Type of Cycle B Register Address Registers at End of Cycle A Register I A Address { Developed B Address { Developed FIGURE 26. Remarks lop 2 11 5 5 003 5?? 7?? M 3 12 6 6 004 56? ??? M 4 13 7 7 005 567 ??? M 5 14 T T 006 567 137? M 6 15 1 1 007 567 131? M 7 16 2 2 008 567 1312 M 8 17 Word Mark OP 2 008 567 1312 M OP code of next instruction. 9 A M M 008 566 1312 M Execute move inst. 10 B S M 008 566 1311 M 11 A B B 008 565 1311 M 12 B 008 565 1310 M 13 A 008 564 1310 M 14 B 008 564 1309 15 lop P Word Mark I Word Mark D Word Mark OP 009 564 1309 M NextOP Code ? 002 ? ?? ??? M B Word Mark I Word Mark I Word Mark I Read Instruction >- Load A Address Reoister >- Load B Address Register Completion of MOVE Instr, _ _ Read next i nstr , SINGLE CYCLE OPERATION OF MOVE INSTRUCTION (~ 567-T12) MOVE AND ZERO SUPPRESS MOVE DIGIT This instruction causes the numerical portion (8-4-2-1 bits) of the single character in the A address to be written in the B address. The zone portion (" AB" bits) at both addresses is not affected. Because this is a single-character operation, no word marks are required with the A address or the B address. This instruetion can be chained. 30 Op Reoister 1 This instruction causes the data in the A field to be stored in the B field. The B field contains blanks instead of zeros to the left of the first significant digit. At the completion of the MOVE, the A address register contains the address of the field immediately to the left of the A field and the B address register contains the address of the units position of the B field pllllS one (1). Therefore, this instruction should not be chained. Only a word mark with the A field stops the transmission of data. This code removes the sign from the units position of the resultant field. D (A) (B) B Word Mark M Figure 26 is the single:-cycle operation chart, that explains the schematic. Z (A) (B) A Y (A) (B) MOVE ZONE This instruction is similar to MOVE DIGIT (D), except that only the zone ("AB" bits) are moved. This instruction can be chained. L (A) (B) LOAD This instruction is similar to MOVE (M), except that the length of the word in the A field must be defined by a word mark. The word mark for the A field is transferred to the B field, and all B field word marks up to this newly moved word mark are cleared. This instruction is commonly used to load data into the printer, or punch areas of storage, or to bring data or instructions from the reader area of storage to another location. The word mark for the A field stops the transfer. !: (A) The address in the B address register is used as the address of the B field. This instruction can be chained. , (A) (B) SET WORD MARK This instruction can include one or two addresses, and causes a word mark to be set for each of the specified addresses without disturbing the data at these addresses. This instruction can be chained. tl (A) (B) CLEAR WORD MARK F (I) d Same as the previous instruction except that the next instruction is taken from the (I) address. STACKER SELECT Kd Same as the SET WORD MARK (,) instruction, except that the word marks are cleared at the specified addresses. This instruction can be chained. This instruction causes the card that was just read or punched to be selected into the stacker pocket specified by the d-character as follows: d-character Feed Stacker Pocket 1 2 4 8 Read Read Punch Punch 1 8/2 4 8/2 Miscellaneous Operation Codes Fd FORMS CONTROL This instruction causes the carriage to move as specified by the d-character. A numerical digit causes an immediate skip to a specified channel in the carriage tape. An alphabetic character with a 12-zone causes a skip to a specified channel after the next line is printed. An alphabetic character with an II-zone causes an immediate space. A zero-zone character causes a space after the next line is printed. The table (Figure 27) shows the effect of the d-character. In order to maintain the highest possible machine speed, the immediate skip or space instruction should be given as early in the program as possible. If the carriage is in motion when a FORMS CONTROL instruction is given, the program stops until the carriage comes to rest. At this point, the new carriage action is initiated and then the program advances to the next instruction in storage. d Immediate Sk ip to FORMS CONTROL AND BRANCH This instruction must be given in the first 10 milliseconds of process time after a read operation has been completed, in order to select the card that has just been read. Giving this instruction at any other time is ineffective for selecting a card in the card read unit, and the card enters t.he NR (non-selected reader) pocket (Figures 11 and 12). To select a card in the punch unit, this instruction can be given any time after the PUNCH instruction has been completed, as long as it is before the next PUNCH instruction. Even when this instruction is given immediately after a card is punched, the card is not selecte~ into the proper pocket until after the next PUNCH instruction is executed. It is not selected as specified by the STACKER SELECT instruction if during this second punch cycle a hole-count check occurs. -- - - - - - - d Skip After Print to d Immediate Space Channel A Channel 1 J 1 space 2 Channel 2 B Channel 2 K 2 spaces 3 Channel 3 C Channel 3 L 3 spaces 4 Channel 4 D Channel 4 5 Channel 5 E Channel 5 6 Channel 6 F Channel 6 d After Print-space 7 Channel 7 G Channel 7 / 1 space 8 Channel 8 H Channel 8 S 2 spaces 9 Channel 9 Channel 9 T 3 spaces 0 Channel 10 I + Channel 11 . Channel 10 # @ Channel 12 J:r Channel 12 FIGURE 27. 0 Channel 11 d-CHARACTER FOR FORMS CONTROL 31 An error check in the card read unit stops the entire system at the completion of the READ instruction, and the card in error is automatically selected into the NR pocket. It causes clearing in all positions from address (A) down to the nearest hundreds position. The cleared area is set to blanks. if the (A) address is 563, all positions 563 through 500 are cleared. This instruction can be chained. EXAMPLE: A punch error condition overrides the stackerselect operation, and the card enters the NP (nonselected punch) pocket. / (I) (B) K (I) d Same as the previous instruction (the B address is the start location for CLEAR) except that the location of the next instruction is indicated by address (I). STACKER SELECT AND BRANCH Same as the previous instruction except that the location of the next instruction is at address (I). C (A) (B) COMPARE This instruction causes the data in· the B field to be compared to an equal number of characters in the A field. It compares the bit configuration of each character in the two fields. When the B field is longer than the A field~ an unequal-compare results. When the A field is longer than the B field, the comparison: is stopped by the B word mark. The result of the comparison is stored in the machine for later use by a BRANCH CONDITIONAL instruction. The COMPARE instruction should not be chained. / (A) CLEAR This instruction is used to clear an area of storage (up to 100 characters) of data and word marks. 32 CLEAR AND BRANCH N NO OPERATION This operation code can be substituted for the operation code of any instruction to make that instruction ineffective. STOP This instruction causes the machine to stop, and the stop-key light turns on. Pressing the start key causes the program to resume from the next instruction in sequence. • (1) STOP AND BRANCH Same as the previous instruction, except that when the start key is pressed, the location of the next instruction is at the (1) address. A blank character immediately foHowing this instruction acts as a word mark to terminate this instruction. Editing Editing in the IBM 1401 Data Processing System is automatic control of zero suppression, insertion of identifying symbols, and punctuation of an output field. This function can be performed with two simple instructions. One single edit instruction can cause all desired commas, decimals, dollar signs, asterisks, credit symbols, and minus signs, to be automatically inserted in a numerical field. In addition, unwanted zeros to the left of significant digits are suppressed (Figure 28). Example: Edit Instruction Storage (A) (13) E (789) (300) A Field (data) B Field (control word) 00257426 1bbb, bbO. bb&CR&* * Result of Edit Storage 00257426 FIGURE 28. B Field $ 2,574.26 ** EDITING The process is analagous to the arithmetic operation. In addition, a character from the A field is read from storage; then a character from the B field is read from storage; an operation ( addition) is performed on the two characters, and the result is written back into storage. Likewise, in editing, two fields are needed: the data field, and a control field. The control field indicates how the data is to be edited. It specifies the location of commas, decimals, conditional CR and minus symbols, and indicates where zero suppression is to occur. The two fields are read from storage alternately, character-by-character, as they are in the addition process, but are under control of the editing rules. The control word is divided into two parts: the body (used for punctuating the A field) and the status portion (which contains the sign symbols and *'s). Printing sign symbols is in part controlled by the sign of the A field. To edit a field, a LOAD instruction loads the control word in the output area; the EDIT instruction moves the data to the output area, and performs the editing function. E (A) (B) This instruction takes the data in the A field, modifies it by the contents of the edit-control word in the B field, and stores the results in the B field. The type of modification is controlled by the following set of rules. 33 RULE 1. All numerical, alphabetic and special characters can be used in the control word. However, some of these have special meanings as listed below. Control Character Function b (blank) Replaced with the character from the corresponding position of the A field. o (zero) Used for zero suppression. Replaced with a corresponding character from the A field; also the right-most "0" in the control word indicates the rightmost limit of zero suppression. . (period) , (comma) Undisturbed in the punctuated data field, in the position where written. Functions as a significant character unless Expanded Print Edit feature installed (See Expanded Print Edit). Undisturbed in the punctuated data field, in the position where written, unless zero suppression takes place, and no significant numerical characters are found to the left of the comma. CR (credit) Undisturbed if the data sign is negative. It is blanked out if the data sign is positive. Can be used in body of control word without being subject to sign control. - (minus) Same as CR. & (ampersand) Causes a space in the edited field. It can be used in multiples. * (asterisk) Can be used in singular or in multiple, usually to indicate class of total. When used with the Expanded Print Edit optional feature, this takes on a special meaning ( see Expanded Print Edit) . $ (dollar sign) Undisturbed in the position where written. When used with the Expanded Print Edit optional feature, this takes on a special meaning (see Expanded Print Edit) . RULE 2. A word mark with the high-order position of the B field controls the EDIT operation. Rule 3. When the A field word mark is sensed, the remaining commas in the control field are set to blanks. 34 RULE 4. The body of the control word is defined as that portion beginning with the right-most blank or zero, and continuing to the left until the A field word mark is sensed. The remaining portion of the control field is referred to as the status portion. RULE 5. If the data field is positive, and the CR or - symbols are located in the status portion of the control word, they are blanked out. RULE 6. Zero Suppression. This is the deletion of unwanted zeros at the left of significant digits in an output field (Figure 29). EXAMPLE: QOI0900 A field Control Word (B field) !bb,bbOobb Forward scan $00,102.00 Reverse scan $bbbl09.00 Results of edit $ 'IIi II FIGURE 29. 109.00 ZERO SUPPRESSION A special 0 is placed (in the body of the control word) in the right-most limit of zero suppression. 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. 2. When the special zero is detected in the control field, it is replaced by the corresponding digit from the A field. 3. A word mark is automatically set in this position of the B (output) field. 4. The scan continues until the B field (high order) word mark is sensed and removed. Reverse Scan: 1. All zeros and punctuation at the left of the first significant character (up to and including the zero suppression code position) are replaced by blanks in the output field. 2. When the automatically set zero suppression word mark is sensed, it is erased and the operation ends. RULE 7. Any A field data that has not been moved before the word mark for the control field is sensed, does not appear in the edited output data. The data field can contain fewer, but should not contain more, positions than the number of the blanks and zeros in the body of the control word. Dollar signs and asterisks are included in the control word with the Expanded Print Edit feature. An illustration of the application of these rules is shown in Figure 30. Cycle FIGURE 30. Type of Cycle Address ReQisters I A 8 Reg. 8 A ? ~ Put 8ack into Storage "8" Field at End of Cycle Remarks 1 lop 2 11 003 On? on? 7 7 7 same Load A Address Register 3 12 004 078? 078? 8 8 8 same Load A Address Register 4 ? ~ !bbb,bbO.bb&CR&** Read Instr. OP code 002 13 005 0789 0789 9 9 9 same Load A Address Register 5 14 006 0789 0389 3 3 3 same Load 8 Address Register 6 15 007 0789 0309 0 0 0 same load 8 Address Register 7 0 16 008 0789 0300 0 0 same Load 8 Address Register 8 17 008 0789 0300 Q.P 0 OP same OP code of next instr. 9 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 81ank !bbb,bbO.bb&CRb** Rule I !bbb,bbO:bb&Cbb** Rule 1 and 5 13 8 008 0788 0296 R 6 81ank 14 8 008 0788 0295 C 6 81ank !bbb,bbO.bb&bbb** Rule I and 5 15 8 008 0788 0294 & 6 81ank !bbb,bbO.bbbbbb** Rule I 16 8 008 0788 0293 b 6 6 !bbb,bbO.b6bbbb** Rule 1 17 A 008 0787 0293 2 2 2 18 8 008 0787 0292 b 2 2 19 A 008 0786 0292 4 4 4 20 8 008 0786 0291 21 8 008 0786 0290 0 4 4 4 22 A 008 0785 0290 7 7 7 23 8 008 0785 0289 b 7 7 24 A 008 0784 0289 5 5 5 25 8 008 0784 0288 b 5 5 26 A 008 0783 0288 2 2 2 Rule 1 same !bbb,bbO.26bbbb** Rule 1 same Rule 1 same Rule 1 !bbb,bb~.26bbbb** same Zero Suppress-Rule 1 and 6 Rule 1 !bbb,b7~.26bbbb** same Rule 1 Rule 1 !bbb,57~.2bbbbb** Rule 1 same Rule 1 same Rule 1 27 8 008 0783 0287 , 2 , 28 8 008 0783 0286 b 2 2 29 A 008 0782 0286 0 0 0 30 B 008 0782 0285 b 0 0 31 A 008 0781 0285 ~ ~ ~ 32 8 008 0781 0284 b ~ 0 !002,57~. 26bbbb*~, Rule 1 33 B 008 0781 0284 ! ~ $ S002,57~.26bbbb** Sense Word Mark--Rev. Scan--Rule 1 and 6 Rule 6 !bb2,57~. 26bbbb*~< same .! b 0 2 ,5 7 ~. Rule 1 Rule 1 26 b b b b* 1,< same Rule 1 Rule 1 34 8 008 0781 0285 S ~ $ 35 B 008 0781 0286 0 ~ 81ank Sb02/57~. 26bbbb** Rule 6 36 B 008 0781 0287 0 ~ 81ank Sbb2,57i·26bbbb** Rule 6 2 same Rule 6 Rule 6 same 37 B 008 0781 0288 2 ~ 38 8 008 0781 0289 , ~ I same 39 B 008 0781 0290 5 ~ 5 same Rule 6 40 8 008 0781 0291 7 ~ 7 same Rule 6 41 B 008 0781 0291 ~ ~ 4 Sbb2,574.26bbbb** Rule 6 STEP BY STEP EDITING OPERA nON 35 EXAMPLE: Expanded Print Edit The basic operations of the EDIT instruction can be expanded by an optional Expanded Print Edit feature. This provides the functions of Asterisk Protection, Floating Dollar Sign, Decimal Control, and Sign Control Left. A field Q0257426 Control word (B field) ----Qbb,b$O.bb 002,571. 26 First forward scan -- bb2,574.26 Reverse scan $2,574.26 Second forward scan $2,574.26 Results of edit Asterisk Protection FIGURE When it is necessary to have asterisks appear at the left of significant digits, the asterisk protection feature is used (Figure 31). 32. FLOATING DOLLAR SIGN The control word is written with the "$" at the left of the zero suppression code. Three scans are necessary to complete this editing operation. EXAMPLE: Q0257426 A field Control word (B field) Forward scan ~~bb,b*O.bb&CR ....-----002,57 ±.26 CR I Reverse scan **2,574.26 CR Results of edit **2,574.26 CR FIGURE 31. ASTERISK PROTECTION The control word is written with the asterisk at the left of the zero suppression code. Forward Scan: 1. The normal editing process proceeds until the asterisk is sensed. 2. The asterisk is replaced (in the output field) by the corresponding digit from the A field. 3. The editing process continues normally until the B field word mark is sensed and removed. First Forward Scan: 1. The editing proceeds until the "$" is sensed. 2. The "$" is replaced (in the output field) by the corresponding digit from the A field. 3. Editing continues until the B field word mark is sensed and removed. Reverse Scan: 1. Zeros, and punctuation to the left of the first significant digit are replaced by blanks. 2. The reverse scan continues until the word mark (set during the first forward scan) signals the start of the second forward scan. 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 Reverse Scan: 1. Zeros, blanks, and punctuation to the left of the first significant digit are replaced by asterisks. 2. The word mark (set during the forward scan) signals the end of editing. It is erased, and the operation is stopped. CR or - symbols can be placed at the left of a negative field, if the sign control left feature is used (Figure 33). EXAMPLE: A field 00378940 Control word (B field) QR&bbb,bbO.bb Forward scan CRb003,782.40 Floating Dollar Sign Reverse scan CRbbb3,789.40 This feature causes the insertion of a dollar sign in the position at the left of the first significant digit in an amount field (Figure 32). Results of edit CR • I 36 FIGURE 33. SIGN CONTROL LEFT 3,789.40 The control word is written with the CR or - symbols in the high-order position. EXAMPLES: 1. A field 00000 Forward Scan: Control word (B field) 1. The scan proceeds until the zero suppression character in the control field is sensed. First forward scan 2. The corresponding character from the A field is placed in this position of the output field. Second forward scan -- Results of edit (Blank Field) 3. A word mark is automatically inserted in this position in the output field. 4. Editing continues and the CR or - symbols are undisturbed in their corresponding 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 . Zeros and punctuation are replaced by blanks in the output field. The scan continues until the automatically-set word mark is sensed. 2. This word mark is erased and the operation ends. Reverse scan 2. A field Result of edit 294.37 3. A field First forward scan Reverse scan Reverse Scan: 3. Editing continues normally until the B field word mark is sensed and removed. Qbb.bO 294.37 294.37 QOOOI Control word (B field) This feature insures that decimal points print only when there are significant digits in the A fie1d (Figure 34). 2. A word mark is set automatically in this position in the B (output) field. bbb Reverse scan FIGURE 34. 1. When the zero suppression code (0) is sensed during editing, this position is replaced by the corresponding digit from the A field. bbb.OO -- First forward scan Decimal Control First Forward Scan: OOO.OQ ~9437 Control word (B field) Results of edit Two scans are sufficient to complete this editing operation unless the field contains no significant digits. Then three scans are required. bbb.bO "i hbb.bO - "T-- 000.01 bbb.01 .01 DECIMAL CONTROL 1. Zeros and punctuation are replaced by blanks in the output field 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. The zeros at the right of the decimal point and the decimal point itself are replaced by blanks. 2. The operation stops at the decimal column. 37 Operating Features The IBM 1401 Data Processing System is equipped with operating features that give complete operator control for setting up and checking machine operation. Console Keys, Lights and Switches This key (Figure 35) is used to initate or resume machine operation after a stop: manual, programmed or automatic. Similar keys are found on each of the other units in the system. Operation of this key is conditioned by the setting of the mode switch. START. POWER ON. a. During a normal run mode, the system can be started by pressing the start key on any of the units. POWER OFF. b. During a single cycle process mode, any of the start keys can cause the system to advance through the program, except on an input-output Controls the main power supply for the entire system. Pressing it causes POWER ON key to light. FIGURE 38 35. Turns off the main power supply. CONSOLE execution cycle. The start key at the input-output unit must be pressed for this operation. c. To restart following an error indication, the check reset key must be pressed prior to the operation of the start key. d. Following a card jam or misfeed in either the reader or the punch, the cards in the associated feed must be run out by means of the non-processrunout key for that feed, and its hopper must be reloaded before the start key is pressed. Logic Block Lights O-FLO. Lights when an overflow condition exists. B ~ A. Is on when an unequal-compare condition exists after a compare instruction. Additional lights are provided for high-low-equal compare when this 0ptional feature is included in the system. Shows the bit configuration of the sum of the characters being processed in an arithmetic operation. BIT DISPLAY. This switch is used to reset the system (except for the data in storage) so that the operator can restart the operation. OP REGISTER. This is a lighted key, and is used to stop processing in the system. It is not effective until the instruction being executed is completed. Similar stop keys (without lights) are provided on each of the other units within the system. INSTRUCTION LENGTH LIGHTS. STAR TRESE T. STOP. This is a pull switch, located on the console. In an emergency, pulling this switch dis-, connects all the power to the entire system. This switch should be manually reset by a customer engineer before power is restored to the system. EMERGENCY OFF. An error detected by the checking circuits causes this key to light. It must be pressed following a 1401 Processing Unit error, and the system is restarted by pressing the start key. CHECK RESET. Register Lights The Op light is red when an incorrect operation code exists in the OP register, or if the code is incorrectly interpreted. The lights below indicate the coded character and the check-bit status of the character in the OP register. Indicate the number of characters in the instruction. Red when an address register parity check occurs. The lights below, displaying the address, can be checked for the error condition. STORAGE-ADDRESS LIGHT. A group of storage address lights display the storage address (in binary-codeddecimal form) contained in the address register indicated by one of three key-lights: STORAGE ADDRESS DISPLAY. Glows when the I address is in the storage address display. I ADDRESS REGISTER. Checking Lights A ADDRESS REGISTER. Four lights are provided at the top of the console panel, representing the Processing Unit, Reader, Punch, and Printer. When the machine is operating normally, these lights appear as white areas with black lettering. When the machine stops, requiring operator attendance at one of the four units, the appropriate lJlght glows red, indicating an error. The light is extinguished when proper action is performed by the operator. Glows when the A address is in the display. Glows when the B address is displayed. Stopping the machine and holding down one of these keys causes the contents of the associated register to be displayed in the storage-address lights. B AnDRESS REGISTER. The storage light is red when an error at the input to storage is detected by a parity check. STORAGE. I/O Check Stop Switch The B-light comes on when a B register parity check error occurs. The lights underneath display the BCD coding check-bit status, and the word mark status of the character in the B register. B-LIGHT. The A-light comes on when an A register parity check error occurs. The lights below indicate the coded character, check-bit status, and word mark status of the character in the A register. A-LIGHT. When in the ON position (up), the machine stops at completion of an I/O operation if an error occurs during that operation. In the OFF position (down), the machine does not stop if it detects a hole count check in the Card Reader or Card Punch, a validity for the Card Reader, or a Print Check. With the switch in the OFF position, error detection must be accomplished by programming. 39 Manual Address Switches 3. SINGLE-CYCLE PROCESS. The four dial switches labeled Manual A ddress are used to select the address to be entered in the storageaddress register. These work in conjunction with the address register key-lights and the storage-address display lights. For example, set the contents of the A address register to 1200. 4. SINGLE CYCLE-NON PROCESS. 5. CHARACTER DISPLAY. 6. STORAGE PRINT OUT. 1. Set the mode switch to ALTER. 2. Set the manual address switches to 1200. 3. Press the A address register key. 4. Press the start key. The storage-display lights then show the bit configurations for this address (1200). The manual address switches are also used to select a storage location for a display or alteration, without disturbing the contents of the address registers. Sense Switches Seven sense switches can be included in the 1401 Processing Unit. The manual toggle switches that control them are located on the console. Switch A is used to control last card operations by making the TEST AND BRANCH SENSE SWITCH ON instruction effective only when the last card in the reader has passed the second reading brushes. Switch A is standard in all systems except Model D. Six additional sense switches (B, C, D, E, F, and G) are optional features. The B (I) d TEST AND BRANCH SENSE SWITCH ON instruction can be used to interrogate the setting of the switch specified by the d-character, at any time during processing, and causes a branch to the (I) address if the switch is ON. 1. RUN. 2. I/EX (INSTRUCTION/EXECUTION). 40 When the mode switch is set to RUN, the system is under control of the stored program. When the mode switch is set to I/EX, the first time the start key is pressed, the machine reads one complete instruction from storage and stops. This is called the instruction phase. The next time the start key is pressed, the machine executes that instruction. This is called the execution phase. Subsequent pressing of the start key results in alternate instruction and execution phases. This is similar to the single-cycle-process mode, except that no data enters storage from the A register or the logic unit. Data always enters storage from the B register only. This mode permits observing the results of arithmetic operations, one character at a time, in the logic display, without destroying the original B field data. When the machine is operating in this mode, the start key is pressed to cause the character at the address selected by the manualaddress switches to be displayed in the B register. This mode of operation permits any 100-character block of storage to bt! printed. The hundreds and thousands manual address switches are used to select the desired block of storage. Example: 12xx is set in the manual address switches and the start key is pressed. The 100 characters in the selected block 1201-1300 are printed automatically in print positions 1 through 100. Another automatic print cycle causes the word marks for that block to be indicated by printing 1's in their corresponding print positions on the second line. This feature is used to great advantage in program testing, because the contents of a block in core storage is printed and can be easily examined by the programmer. Thus, this feature serves to increase both proces.sing and programming efficiency. Mode Switch The nine modes of machine operation are selected by the Mode Switch: Each time the start key is pressed, one .012 millisecond storage cycle is taken when the machine is in the single-cycle process mode. Console indicating lights display the contents of the OP, I Address, A Address, B Address, A and B registers, and the logic unit. (See Figure 25 and Figure 26.) 7. The operator can manually change the contents of any address register or storage location if the mode switch is set to ALTER. For example, to change the contents of address registers: set the manual address switches at the desired location; press the appropriate address register key-light; press the START key; the selected address register is set with the new address. ALTER. To change the contents of a storage location: set the manual address switches to the desired location; select the bit-structure of the character to be entered, by setting the eight BIT-switches located on the auxiliary console; press the ENTER key (also on the auxiliary console) . 8. STORAGE SCAN. When the mode switch is set to STORAGE SCAN, pressing the start key causes the 1401 to start reading out of storage beginning at the address set in the manual-,address switches. If an error condition is detected that had been previously set by an input-output device the machine stops, and the check light with the corresponding unit is turned on; and the location of the card column or print PO'sition in error is shown in the storage address display unit. The B-register contains the storage position in which the error was detected, the actual 10catiO'n in storage can be corrected by using the BIT-switches and ENTER key as described under the ALTER mode. After the error condition is corrected, the MODE switch is again set to STORAGE SCAN and the START key is pressed to cause a read out O'f storage starting from the address set in the manual address switches. This mode is used as a service aid to' insure that all positions of storage are correct. 9. ADDRESS STOP. When the mode switch is set to ADDRESS STOP, pressing the start: key starts the program and the machine stops at the address selected by the manual address switches. Auxiliary Console The auxiliary console panel (Figure 36) is located below the main console of the 1401 processing unit. Its purpose is to provide additional operator control of the system. Keys Lights and Switches on the t~uxiliary Console BIT SWITCHES. Eight bit switches are used to alter characters in storage. These switches are used in conjunction with the alter mode as explained in the mode switch description. l PRINTER CHECK RUN PRINTER DISPLAY READ INTERLOCK PUNCH INTERLOCK PROCESS CHECK STOP I/O CHECK RESET cQ?) FIGURE 36. AUXILIARY CONSOLE ENTER. This key is used to enter the characters selected by the BIT-SWITCHES into storage, when the mode switch is set to ALTER. PROCESS CHECK STOP SWITCH. This is normally ON to cause the machine to stop automatically when a process check occurs. If the switch is in the OFF position, the machine does not stop on error conditions, except for op register and address register checks, and input-output checks. I/O CHECK RESET SWITCH. This switch resets error conditions sensed on the read punch unit and permits the start key to be effective. It is primarily used by Customer Engineering. READ INTERLOCK. When this light is on the reader is in a ready condition, when it is off the reader is interlocked until the print operation is completed. PUNCH INTERLOCK. When this light is on the punch is in a ready condition, when it is off the punch is interlocked until the print operation is completed. PRINTER DISPLAY. This light is on when a print operation is being executed. RUN. When this light is on the printer is in a ready condition, when it is off the printer is interlocked until the print operation is completed. 41 IBM 1402 Card Read Punch Operating Keys, Lights, and Switches A condition (empty hopper, feed failure, or a card jam) causes the machine to stop and the reader stop light to come on. READER STOP. A condition (empty hopper, feed failure, or a card jam) causes the machine to stop and the punch stop light to come on. PUNCH STOP. Causes the machine to start, and feed two cards into the read feed. If the punch switch is ON, two cards are also fed into the punch unit (Figure 37). ST AR T. Used to stop the system. If a program step is in process, it is completed before the stop occurs. This light is ON if an invalid character is detected during a read operation. VALIDITY. STOP. This light comes on if a hole count error is detected during card reading. If the count from the first and second reading brushes for a given card do not agree, an error is indicated by the read check light. READ CHECK. Pressed to clear the read feed. The last two cards in the normal stacker have not been processed. NON-PROCESS RUNOUT READ. Causes the punch feed to be cleared of cards. The last two cards in the normal stacker have not been processed. NON-PROCESS RUNOUT PUNCH. Used to start loading instruction cards. Pressing the load key causes the read feed to operate until a card has passed the second read station. The I Address Register is reset to 001, and a word mark is set in address 001. All other word marks in addresses 002 through 080 are removed. This light is ON if a hole count error is detected in the punch unit. If the hole counts are unequal, an error is indicated by the punch check light. PUNCH CHECK. LOAD. If any of the five stackers becomes full, the machine stops, and this light signals the operator. STACKER. When a fuse in the Card Read Punch burns out, this light signals the condition. FUSE. When the card is read at second read, the program starts and executes the instruction that is punched in the first columns of the card. Continued operation is completely under control of any program in that card or succeeding cards, as conditioned by the first instruction in the first card. When the PUNCH SWITCH is ON, pressing the load key also causes the punch feed to operate until a card reaches the punch station. Must be pressed to reset any error indication by a punch, read, or validity check, before the start key can become effective. CHECK RESET. Controls the punch section of the machine. When this switch is OFF the punch is inoperative. When it is ON, the machine runs automatically if all the interlock circuits in the punch side are satisfied. PUNCH SWITCH. IBM 1403 Printer Operating Keys, Lights and Switches Printer Controls (Figure 38) Starts the machine. STOP. Stops the machine at completion of the instruction in process. ST AR T. This light shows an end-of-form indication and the machine stops. END OF FORM. This light indicates paper feed trouble in the forms tractor or the carriage stop has been used. This light must be cleared by the check reset key before the print start is effective. FORMS CHECK. Pressing this button permits immediate stopping of the carriage operation and turns on the Forms Check light. CARRIAGE STOP. When power is supplied to the readpunch unit, the power on light is ON. POWER ON LIGHT. PUNCH CHECK PUNCH OFF PUNCH ON FIGURE 42 37. FUSE CHIPS NOH.PROl RUN OUT 1402 PUNCH STOP STACKER POWER CHECK RESET EJ8 CARD READ PUNCH KEYS, LIGHTS & SWITCHES READER CHECK READER OFF TRANSPORT VALIDITY READER STOP NON.PIlOt RUN OUT READER ON This light comes on when the printer is in condition to print, and all error detecting devices are reset. PRINT CHECK. This light indicates a print error. SYNC CHECK. This light comes on to show that the chain was not in synchronism, at aU times, with the compare counter for the printer. The timing is automatically corrected. The light is extinguished by pressing check reset key. READY. Carriage Controls (Figure 38) Causes the carriage to position at Channel 1 (home position). If the carriage feed clutch is disengaged, the form does not move. If it is engaged, the form moves in synchronization with the control tape. RESTORE KEY. Causes the form to advance one space each time it is pressed. SINGLE CYCLE KEY. Initiates the operation of the printer for one print cycle on each pressing of the key. SP ACE KEY. FIGURE 39. PRINTER MANUAL CONTROLS Manual Control (Figure 39) Controls the carriage-tape drive and form-feeding mechanism. If it is set to neutral, automatic form-feeding can not take place. It is also used to select six- or eight-lines-to-the-inch spacing. FEED KNOB. Used to position the form vertically, and can be used only when the feed clutch is disengaged. VERNIER KNOB (vertical). Used for fine spacing adjustment of forms at the print line. Carriage tape is not affected by this knob. FEED CLUTCH. FIGURE 38. 1403 PRINTER KEYS, LIGHTS & SWITCHES The printing mechanism is positioned, horizontal1y, by using this device. HORIZONT AL ADJUSTMENT. (horizontal). Turn this knob to obtain fine horizontal positioning. FORM THICKNESS CONTROL. Sets the proper clearance between the hammer and the chain to obtain optimum printing quality on multipart forms. PRINT UNIT R E LEASE LEVER. Permits access to form transport area (Figure 40). VERNIER KNOB FIGURE 40. PRINT UNIT RELEASE LEVER 43 IBM 1401 Magnetic Tape System The IBM 1401 Data Processing System can be expanded to meet individual requirements in many areas of data processing. A 1401 System can be tailored to individual needs because it can consist of varying numbers and types of units (Figures 41, 42, and 43). The Tape System can be used alone as a complete data processing system, or as auxiliary equipment for intermediate and large-scale systems. It provides economical off-line tape editing and printing. As many as six magnetic tape units can be connected to the IBM 1401 Data Processing System, providing FIGURE 44 41. 1401 TAPE SYSTEM, MODEL C low-cost, full-scale, punched card, and magnetic tape input and output operations. The logic, arithmetic, editing, and tape instructions of the Tape System can be used to perform the primary functions: Magnetic tape to printer Punched cards to magnetic tape Magnetic tape to punched cards Punched cards to printer Tape Sorting-Merging FIGURE COMPONENTS AVAILABLE: 42. 1401 TAPE SYSTEM, MODEL D Model C-1401 Processing Unit with 1400 Character Core Storage Model D-1401 Processing Unit with 1400 Character Core Storage Model 1 Card Read Punch Model 2 Printer Model 2 Printer 729 Model II or IV Tape Units 729 Model II or IV Tape Units STANDARD FEATURES: Expand(:d Print Edit Read Punch Release Sense Switches Additional Print Control Dual Sp1eed Carriage Control Expanded Print Edit Additional Print Control Sense Switches Dual Speed Carriage Control OPTIONAL FEATURES: 2,000 or 4,000 Character Core Storage Multiply Divide High Low Equal Comp.are Column Binary Print Storage 2,000 or 4,000 Character Core Storage High Low Equal Compare Print Storage FIGURE 43 . TAPE SYSTEM COMPONENTS 45 Data Flow Magnetic Tape Data can be entered into the 1401 systems by means of punched cards, magnetic tape, or both. Information is read into the system, rearranged, calculated and edited by the stored program. Output can be in the form of punched cards, magnetic tape, or printed reports. Mode] D is not equipped with a card read-punch (Figure 44). All data passes through 1401 core storage, where a series of validity checks insure accuracy and reliability. An important feature in economical processing of business data is compact storage. A magnetic tape reel (1 OY2 inches in diameter) contains 2400 feet - sufficient tape to record as many as 14,000,000 characters. Tape reels can be easily stored or transported from one in stallation to another. In addition, magnetic tape records have gained wide acceptance as legal documents. Magnetic Tape Characteristics The magnetic tape recording code used with the IBM 1401, is the same binary-coded-decimal code used with other IBM Data Processing Systems. This compatability permits interchanging tapes between installations that employ different IBM systems. The tape itself is a ribbon, ~-inch wide, coated with a magnetic oxide rna terial. Data is recorded in a seven-bit code, in seven parallel channels along the tape. Tape characters and their corresponding codes are shown in Figure 45. Records are separated from each other by approximately % inch of blank (unrecorded) tape, called an inter-record gap. Each tape character is composed of an even number of magnetic bits. A check bit (labeled C in Figure 46) is written if the number of bits in the other six positions is odd. An even-parity check on each character insures accuracy for tape-read and tape-write operations. In addition to this vertical parity check, a horizontal check (HC in Figure 46) is made on each record. The bits in each horizontal row are automatically counted when the record is written, and a bit (similar in function to the vertical check bit) is written at the end of each odd-count row. The vertical combination of these horizontal-check bits makes up the horizontal-check 1401 Processing 1 1 I I IL __________ J Model Conly FIGURE 44. DATA FLOW SCHEMATIC 1401 TAPE SYSTEM Codes 0123456789ABCDEFGHI JKlMNOPQRSTUVWXYZ&.~-$¥/ C II • • III •• • B II A 8 II • II 4 2 II • •• • II III • II FIGURE 46 45. _ II II II II II II . • • • •• • • •• . II •• II • • • II II .. ...... -. I • II II • II • II II •• II .~ • • II II II II • II II II L._ • II II II II II ••• II • II • .......- MAGNETIC TAPE 'I-BIT CODINU - c .. II •• • II II II II II . . .-'--- .. _ • • • II II II II • II II • II II II }Check II II II •• L • •_ II II II II -- • • •• •••••••• II II . }zone " tNumed,"1 II II II • •••• ., Tape Units Checking ·.. . . . A47KS25J3 C B A 8 4 2 FIGURE U J: · ·· . . .. . .. . . · · . ... ·· 46. Two models of the IBM 729 Magnetic Tape Unit (Model II and Model IV) are available for use with the IBM 1401. The Tape System can accommodate as many as six 729 tape units, which are attached to the Tape Adapter. All the units used with one 1401 system must be of the same model, and must use the same tape density. ( IRG \ VERTICAL AND HORIZONTAL CHECK character. Thus, the coding of this character can change from record to record. When the tape is read, the same automatic count is made, but now each row in the complete record should have an even number of bits, or an error exists. The horizontal-check character is used for checking only, and is never read into 1401 core storage. Odd bit redundancy tapes can be processed by the 1401. The significant operating characteristics of the 729 II and IV tape units are outlined in Figure 47. Higher density tapes provide significant storage advantage in that fewer reels are required for a given volume of data. 729-11 Density, characters per inch 200 or 556 Tape Speed, inches per second 75 Inter-record gap size, inches 3/4 Start/Stop Time, Read/Write operation; milliseconds Character Rate, characters per second FIGURE 47. 10.8 15,000 or 41,667 OPERATING CHARACTERISTICS OF IBM 729 TAPE UNITS 47 Tape Checking The 729 tape units achieve increased reliability through two new features: the two ..gap head, and dual-level sensing. The first of these, the two-gap head, makes it possible to verify automatically the validity of recorded information at the time it is written. The relative position of the read and write gaps (Figure 48) is such that a character recorded by the write gap passes the corresponding read gap approximately four milliseconds later. Thus, as each character of a record is written, it is read and a parity check applied. FIGURE 48. READ & WRITE GAPS ON A TWO-GAP HEAD If an error is detected, the stored program receives a signal, and corrective action can be taken. With the two-gap head, a parity check is detected when the character is written. The ability of the two-gap head to read tape in both reading and writing operations makes it possible to check these operations by dual-level sensing. The read head reads the tape at two levels of pulse strength, high and low. Ther~ is a 7-position high register and a 7-position low register (one position for each channel). These registers accept the pulses from the tape at a high sensitivity level and low sensitivity level, respectively, as each character is read. The registers function in a slightly different manner for reading than for writing. In a tape-read operation, the high sensitivity level register is checked for even parity. If there is an odd number of bits, the contents of the low sensitivity level register is sent to the read-write register. The contents of the read-write register is sent to core storage. If a validity check is detected at the read-write register a validity check indicator is set. This indicator can be interrogated by use of the "L" modifier of the TEST AND BRANCH instruction. Thus a bit that results in a weak signal, but is valid, can be ~ead from tape. If the character is still invalid, a validity check signal is given. In checking tape-write operations, the unit becomes harder to satisfy by automatically making the high register less sensitive than for tape-read. (It still has a higher sensitivity level than the low register, however.) Each tape character written is read back, and must be 48 Signal Level Good Signal Weak Signals or unwanted noise FIGURE 49. RELA TIVE SENSITIVITY FOR DUAL LEVEL SENSING valid in both registers. The contents of the low register are validity checked, and then are matched, bit for bit, with the contents of the high register. If the validity check in the low register detects an odd number of bits, or if the bit-by-bit match between registers is unequal, a validity check signal is given. Figure 49 shows the sensitivity levels, and the relative strength of pulses that are acceptable or not acceptable in read and in write conditions. Note that high sensitivity means that an impulse of comparatively low strength (voltage difference) is acceptable. Low sensitivity means that signals below a certain level or strength are not detected. If a tape error is suspected, the tape unit (through programming) can be back-spaced and the record reread. If the error persists, the operator can intervene, or the program can branch to an error routine. Dust or damage to the magnetic tape is the most frequent cause of errors detected during write operations. Since such imperfections are usually isolated, the 1401 has been provided with a command that causes the tape to space forward approximately 8 inches when the next write operation is initiated, in order to skip the defective section. As the tape is passed, this short length is erased so that extraneous data are not sensed when the tape is read. After the skip is completed" the tapewrite operation continues. . . Another feature for file protection is a plastIC nng (Figure 50) that fits into a groove in the tape reel. The tape can be read with or without this file protection ring in place, but no writing can be done without it. The file protection ring should be removed from a tape reel when writing is completed, thus protecting tape records from any accidental writing. Tape Instructions OP - The operation code (A) - % xx always appears in the (A) portion of a 1401 regular tape instruction. EXAMPLE: M(%U3) (525)W. In a tape-write operation, transfers the contents of core storage to tape unit 3, starting at location 525 and ending at the first group mark sensed. L (A) (8) d LOAD MAGNETIC TAPE The load instructions are basically the same as move instructions. Where the (A) address specifies the tape unit, (B) is the 1401 core storage address of the highorder position of the tape record, and the d··character is R for tape-read, and W for tape-write. However, the L operation code affects word mark identification in core storage: A word mark associated with any position in storage causes a word-separator character (A 841) to be written automatically on tape, one character ahead of that which contained the wocd mark. Thus, word marks are translated to wordseparator characters for tape storage. TAPE WRITE. FIGURE 50. FILE PROTECTION DEVICE ON TAPE REEL The "%" sign signals that a tape unit is to be selected. The second character can be varied to specify a particular type of operation. The third digit specifies the particular tape unit involved. % U 1 selects tape unit (B) - is the location in 1401 core storage of the highorder position of a tape record. d-The actual operation is represented in this position. EXAMPLE: M (A) (8) d MOVE MAGNETIC TAPE This instruction starts the tape unit specified by the (A) address. Word marks are not afIected by a move instruction. Then the d-portion of the instruction is interpreted. (R). A tape-read operation is terminated when an inter-record-gap is sensed. A group mark (code CBA 84231) is inserted in 1401 core storage to indicate the end of a tape record. ~------------------------------------------ EXAMPLE: 1401 Core Storage Locations 1401 Core Storage Code 1401 Meaning Tape Positions Tape Code A B C C82 0 A 82 41W 5 B A841 4 4 C 41 D C4 Word-separator characters are translated to word marks in tape-read operations. A wordseparator character read from tape causes a word mark to be associated with the next tape character, when it is transferred to 1401 core storage. TAPE READ. TAPE READ EXAMPLE: M(% U2) (419)R. Read the record from tape unit 2 to 1401 core storage in a TAPE READ operation. The high-order tape-record character is moved to location 419, the next character is moved to location 420, etc., until transmission is stopped by an interrecord-gap in the tape record, or a group mark in 1401 core storage. (W). Transmission of data from 1401 core storage to a tape is stopped when a group mark is sensed. The (B) address is the high-order position of the record (in core storage) that is to be written on tape. TAPE WRITE EXAMPLE: Tape Positions Tape Code 140 1 Core Storage Locations 1401 Meaning 1401 Core Storage Code A 82 B A841 C 41 A 0 B 5 C 4 C82 41W 4 D C4 Load instructions must be used when word marks are needed for identification in tape storage. If tape is written by a LOAD instruction, it must be read back by a LOAD instruction for proper translation betwee~n the tape and 1401 core storage. 49 U(A)d UNIT CONTROL This instruction is used to control other tape operations as specified by the d-character function: d character operq!Jf!n B Backspace Tape E Erase Forward Write Tape Mark M R Rewind Tape -~------ -.. ~ The (A) address specifies the tape unit selected. U(A)B B (I) D TEST AND BRANCH An instruction for testing tape conditions is provided. The d-character specifies the type of test, and the (I) portion is the location of the next stored-program instruction if the test is successful. If the tested condition is not present the program continues in normal sequence. The "K'} and "L" modifiers reset the condition tested. condition d-character BACKSPACE TAPE This instruction causes the specified tape unit to backspace over one tape record. The backspace operastops when an inter-record-gap is sensed. EXAMPLE: !:-Z (% U4) B-Tape unit 4 backspaces until an IRG is sensed. U(A)E Tape Test Instructions ERASE FORWARD This operation causes the specified tape unit to space forward, and erase approximately 8 inches of tape, to bypass the defective tape areas. The skip does not actually occur until the next tape-write operation is given. K L End-of-reel Tape error B (I) K END-OF-REEL INDICATOR TEST When a tape mark is read by the 1401, or the reflective spot sensed during a write operation, the end-ofreel indicator is turned on. This instruction tests the indicator and branches to location (I) if it is ON. If it is OFF, the program continues normally. EXAMPLE: B( 496) K. If there is an EOR condition, the program b~anches to core-storage location 496. If no EOR condition exists, the program continues in sequence. A special tape character (8421) is recorded fol1owing the last record on a tape, to indicate an end-o/-reel condition. When the tape mark character is read back from a tape, the end-of-reel indicator is turned on. This signals the 1401 program that the end of the utilized tape has been reached. B (I) L TAPE TRANSMISSION ERROR TEST Whenever an error occurs in transmission between a tape unit and the 1401 during a tape-read or write operation, an error indicator is turned on in the 1401, and a tape-error light on the console glows red. The B (I) L instruction tests the error indicator, and branches to the location specified in the (I) address if it is ON. If no tape error occurred, the program continues in sequence. EXAM PLE: B (521 ) L. The 1401 program branches to location 521 if a tape error has occurred. If there was no error in transmission, the normal program sequence is uninterrupted. EXAMPLE: !:-Z(% U 1)M. A tape mark is inserted after the last tape record that was written on tape 1. TESTING CONDITIONS EXAMPLE: U( % U2)E-Tape unit 2 erases approximately 8 inches of tape when the next M (% U2) (B) W; or L (% U2 ) (B) W (tape-write) instruction is ordered. U(A)M U(A)R WRITE TAPE MARK REWIND TAPE This instruction is usually given subsequent to an end-of-reel condition, and causes the selected tape unit to rewind its tape. When the operation is initiated, the unit specified is effectively disconnected from the system. Rewind time is approximately 1.2 minutes per 2,400-foot reel for the 729 11, and .9 minutes for the 729 IV. The next instruction following a REWIND TAPE instruction is normally a STOP, so that the operator can replace the reel, and restore the tape unit to a ready status at the completion of the rewind operation. EXAMPLE: U(%U3)R. The tape in tape unit 3 begins to rewind. 50 The end-of-reel and tape transmission error tests must be made immediately following a tape-read or write operation to insure correct operation. A tape operation on any tape unit resets the error indicator. The EOR indicator cannot be tested if another tape unit is selected. Tape Sorting The high-low-equal compare feature provides speed and flexibility in tape-sorting operations. A control number in storage can be used to determine the sequence of records that have been read from tape. EXAMPLE: (596) ~(495) Compare the data at storage location 596 to the control number at 495. ~(797)U If the data at 596 is higher than the control number at 495, branch to location 797 for the next instruction. Console Keys, Lights and Switches TAPE SELECT. This rotary switch is set to the normal position (N) during automatic operation. The switch can be set to the number (1-6) that corresponds to any of the attached tape units, when manual operation is desired (Figure 51 ). FIGURE 51. CONSOLE KEYS, LIGHTS AND SWITCHES FOR TAPE SYSTEM TEST HIGH LOW OR EQUAL COMPARE B (I) d The B (I) d instruction tests the result of the previous compare operation and branches to the location of the next instruction if the condition is satisfied: d-character / s T U condltion Unequal (B is not equal to A) Equal (B is equal to A) B is lower than A B is higher than A BACKSPACE. This key works in conjunction with the tape-select switch. When the switch is set to a specific tape unit, pressing this key causes the tape in the selected unit to back space over one group of records, until an inter-record gap is sensed. TAPE. This light glows red if a tape error occurs during a read or write operation. It is turned off automatically when the error indicator is reset by a subsequent tape operation. TAPE LOAD. When this key is pressed, tape unit 1 is automatically selected and tape data starts loading at address 001 and continues until an inter-recordgap is sensed. A AND B AUXILIARY REGISTERS. Pressing either the A or the B Auxiliary Register key displays the contents of the particular register. The auxiliary registers are part of the multiply-divide optional feature. 51 CDlumn Binary Device (OptiDnal) valid. At the completion of this instruction, a BCD coded image of the card is stored in addresses 001 through 080. The portion of the card that contains column binary information appears as hash in the corresponding addresses 001 through 080, and the portion of the card that contained alphameric characters is stored in BCD code in storage addresses 001 through 080. Storage address 401-480 and 501-580 contains the true coded card image. In these areas all alphameric characters appear as hash and all column binary information appears as illustrated in the following example: This feature provides compatibility of input-output information between the IBM 1401 Data Processing System and IBM Scientific Data Processing Systems such as the IBM 704, IBM 709, and IBM 7090.With this feature, cards, and magnetic tapes which are binary coded, can be processed by the 1401, making use of its operational functions such as reading, writing and logic operations. The reading of column binary cards is controlled by modified feed instructions. The IBM 1401 operation codes for this feature are: lC READ COLUMN BINARY 1 (1) C READ COLUMN BINARY AND BRANCH The READ COLUMN BINARY operation code 1 C cannot be combined with any other code. The card reader takes a feed cycle and reads the information into storage as a normal feed cycle. However, instead of taking only 80 storage cycles during each read scan, the reading requires 160 storage cycles for column binary coding. During the reading of column binary information two different areas of storage are used. The read cycle is executed in two parts to permit using the two areas of storage. The card cycle time 9 through 4 uses the normal feed addresses 001 through 080 and new area addresses 501 through 580. The other portion of the card cycle time 3 through 12 uses addresses 001 through 080 and 401 through 480. A validity check on this operation is not performed because all the characters are considered 52 Punches in Card Column BCD C B Storage Address 40 I 12 11 A 8 o 1 2 3 4 2 1 Storage Address 50 I C B A 8 4 2 4 5 6 7 8 9 1 The punching of column binary cards is controlled by modified punch instructions. The IBM 1401 operation codes for this feature are: 4C PUNCH COLUMN BINARY 4 (1) C PUNCH COLUMN BINARY AND BRANCH The punch instructions require controls similar to the read instructions. The storage addresses 401 through 480 are punched in the 12 through 3 positions of the card in columns 1 through 80. The storage addresses 501 through 580 are punched in the positions 4 through 9 in the card in columns 1 through 80. Because storage positions 001-080 are scanned for a columnar count check, 160 storage cycles are required for each scan. To write the column binary information on tapes in the correct order, the data located in addresses 401-480 and 501-580 must be arranged in the following sequence: Addresses 401, 501, 402, 502, 403, 503472, 572. To arrange this information in the proper order a modified MOVE instruction is used with the stipulation that a word mark must be located in the high-order position of storage, in the 400 area. This area contains the column binary information. M (A) (B) A MOVE AND UNSCRAMBLE COLUMN BINARY This code provides for moving and arranging data into the correct order and locations for tape output. The address at (B) cart be any valid address. The (A) address is normally 572 or 580, depending on whether the ~~ard has 72 or 80 columns of binary information. At the completion of this instruction, the information is arranged in the proper binary order for writing on tape. When binary information is read into the 1401 from tape, it must be put into a coded card image. The modified MOVE instruction to do this is: M(A) (B)B MOVE AND SC:RAMBLE COLUMN BINARY This code moves and arranges information read in from a tape unit, into coded-card image (binary form). The (A) address can be any valid address, the (B) address is normally 572 or 580 depending on the number of columns being processed. A word mark must be located in the high-order position of the B field, normally 401, to end the operation. A word mark in the A field can also end the operation after the following B cycle. At the completion of this instruction, the information is in the coded card image form in addresses 401480 and 501-580. The column binary information must be put on magnetic tape with an odd redundancy mode. This operation is accomplished by using a modified tape instruction: M(%B1) (B)W WRITE TAPE BINARY Causes magnetic tapes to be written in binary form. M (%B1) (B)R READ TAPE BINARY Causes magnetic tapes, written in binary form, to be read into the 1401 system. The only difference between this type of instruction and the basic read and write magnetic tape instructions is the B character located in the third position of the instruction. This B character causes the 1401 to read or write tape in an odd redundancy mode. W (I) (B) d BIT TEST The digit (d) can be any character or combination of bits that can exist in a character position in the 1401. If the single character at address (B) contains a bit that matches a bit in the (d) character the program branches to address (I). Otherwise the next instruction follows in sequence. Example: Address (B) contains G (A, B, 1, 2, and 4 bits) and digit (d) contains 9 (8 and 1 bits), a branch occurs because the 1 bits match. This instruction can be chained so that a program branch takes place if anyone of a number of characters contains the bits tested for: 53 Program Loading Routine This is a procedure for loading information into the IBM 1401 Data Processing System. It is not the only method that can be used, but it is typical of methods used by programmers. This loading procedure pre-supposes use of an instruction card format as shown on the chart in Figure 52. The rules to be followed in preparing each of the 6 types of instruction cards used for loading are: RULE 1. Card formats must follow those shown in the storagelayout chart. The first three cards are used to set word marks necessary for succeeding operations. 1. Does not need a word mark for location 001. The load key automatically sets the program to this location. No word mark is necessary for location 008 for the first card. The 1401 recognizes the end of a SET WORD MARK instruction when it has placed seven characters into the program registers. The card sets word marks in locations 008 and 012, initiates the reading of card 2, and branches to location 00 1. CARD 2. Sets two word marks for locations 060 and 067, initiates the reading of card 3 and branches to location 001. CARD 3. Sets two word marks, for locations 074 and 078. It causes card 4 to be read, and branches to location 060 for the next instruction. INSTRUCTION CARD. A standard load card. The information contained in card columns 1-4, 8-11 and 60-80 is constant, and should be pre-punched. The data punched in card columns 5-7 identifies the location of the instruction (high-order position). The instruction to be loaded is punched starting in card-column 12, and may continue through card-column 19. CARD The length of the constant can vary from 1 character to 48 characters. The constant load card is a ftandard card and may be prepunched. The location (XXX) of variable data (units position) is in columns 5 -7. The constant to be loaded is in card columns 12-59, and the number of characters (YYY) to be loaded is in columns 2-4. NOTE: The information to be prepuncbed differs from that prepunched in the instruction load cards. Used to clear input area and to branch to the first program step. TRAILER CARD. RULE 2. Pressing the LOAD key on the reader causes an instruction card to feed, places the contents of the card into locations 001 through 080, and automatically starts execution of the load program at location 001. This eliminates the need for manual setting of console dials in preparation for loading. LEADER CARD , I DATA LOCATION W RD MARK DATA 5 o 10 ·-T~r'15r~ • r I '60' ' " 067 ',060 1 LOCATION 0 W RDMARK. i 5 iii 11001 , ··1"Cr+'-"'1S-,-,-,---cx20 ..- ~ Iii 6~ !,!, 160' iii 75' DATA DATA DATA LOCATION W RD MARK CLEAR AND BRANCH CARD CONST ANT LOAD CARD. 54 52. 80 1 '65i~~TI'8O' LOCATION W RD MARK FIGURE I I I .l_l---L....-L L __ L...L.~L"L1- i._ L .LJ INSTRUCTION CARD STORAGE FORMAT IBt.11401 PROGRAM Clear Storage Programmer: Card 1 of 2 Date: Instruction Step Inst, 0 No. Addre.. pl-"""A/~I~~6~ d 001 • 008 013 Clear Storage Routine fORM X 2~·6~37·0 PRINTED IN U.S.A CHART Program: Effective No. of Characters Remarks Inst. Data Total This is a procedure that can be used to prepare core storage to accept program and data information. This is not the only clearing routine that can be used; others are left to individual creativity of the programmer. The following two-card program can be used to clear storage of all characters and word marks. The character in column 36 of card 2 is variable according to the number of storage positions available: Set Word Marks 'in Read Area ~r~_N~O=OO~~O~4-_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _~+-+-~ ~~, 020 027 020 031 035 027 039 031 043 035 050 039 054 043 058 050 077 I--~~ IBt.11401 1 ++_________________+_+-- OB Read and Branch 001 PROGRAM -PRINTfO IN I}.S.A, Card 2 of 2 Programmer: Step Inst. bO..-"ln=.tr=uc=tio~n---l C 038 Date: Remarks of Characters Inst. Dato Total 079 Check for Clear Address t---i"_0"-'-08~Bt----=-0:3.:..5_t_---t"/+-=Of'-'-09'-!..9--------------I_- _ 013 L 073 Load Instructions into Pc:::h.~..:A~re~a---1-4--+---1 116 I-- - - '-.~ ~020 027 Define Instructions in Puneb. 105 Area ~ r-- -Effective No. No. Addr... Pf..-.c-A/~I-'-~B~d 001 T for 1400 positions, Z for 2000 positions, and an I for 4000 positions. fOAMK24.,U37·0 CHART Program: _ _--'C=le""'ar'-"S=tor""as'-".o_ _ _ _ _ _ _ _ _ _ _ _ _ __ -- f---- ----- 031 B 101 Branch to Punch Area 035 I T99 Clear Block of Storage ~ 039 043 050 036 A 076 It 036 Modify Clear Instruction To Next Lowest Century 038 Block 054 B 001 t---i"-=°-F~~--~1~B=ra=nc~ht=o=Co=~=ar=e--------_t__+_~--058 I 062 1 063 067 Cl~ar 099 -- ------ from 099 to 000 Read Card OQL - - - - I -- 001 074 100 077 099 ~~~Word 116 Mark in 001 Clear Punch Area -1---- 1--.--1--r-~t-----------~ -I-' __ ~--++.:::ma=ch:::.:ln=e.-=a-=z..::fo::.:rth:::.:.:....::2:::..Ka~nC1::..:a",-n:...:1fo:::.r--l-+_+---l the 4K model. FIGURE 53. CLEAR ROUTINE Multiplication and Division Subroutines These are subroutines for mUltiplication and division operations, discussed here to illustrate programming methods and to aid programming for machines not equipped with the multiply-divide! optional feature. These are not the only methods of performing these operations-they are typical methods. A multiplier area is provided in storage positions 901-909, and the product area is assigned in storage positions 910-929. The multiplicand can be located anywhere. Any program that uses this sub-routine must include a step that moves the multiplier address to location 937 (XXX) and the multiplicand address to location 952 (YYY). Multiplication This multiply sub-routine occupies the 900 block of storage, and provides for a maximum of a 9-digit multiplier, II-digit multiplicand, and a 20-digit product. At the completion of the multiply sub-routine the program instruction step 12 can use a branch to the main program or stop. The routine starts in storage position 930. The product is found in 929 for a 9-digit multiplier, 928 for 8-digit, 927 for 7-digit, 926 for 6-digit, etc. 55 r-------------------------- IB~ 1401 PROGRAM CHART Progrcm:~ Subro"!!!!!!L.__ Date: Effect;ve No_ I of Characters In:_IDo,o[To,ol I Yes !7!jj 8! J 1 M!L_ A YIT_ ~ _J!llli. __ 1l 98L 909 _~~=!__ B ..Jl4!_ .Jl~1_~ V _.1m 987_ _J!.ga_ No 0 add roultlp!IQll,lld to pI:"duct Test for_word_ tll.!I Ll 1 : ------------------- ----+---'+ --t--~ ! I 986 11 987 _9H _ Yes XXJ{ I YYY I FIGURE Add One to Address and Find number of significant digits in Divisor 54. Add One to Quotient MULTIPLY SCBROUTINE Add Div~.sor back to Dividend Adjust Addresses one position to the Right Clear Product Area Load Multiplier FIGURE 56. DIVIDE FLOW CHART Test for Zero 909 Test for Word Mark 909 Reduce Multiplier Shift Right b Branch Unconditional to Zero Test 56 55. 1 Move Product to Output Area Branch Unconditional to Zero Test Read and Print FlGURE Add M'cand to Product MULTIPLY FLOW CHART Division The restrictions placed on this subroutine are: l. The dividend and quotient fields must be of equal length. 2. All fields must be positive. 3. The divisor cannot contain more than nine nonsignificant zeros. 4. All fields must be located completely below address 999. 5. The remainder is left in the dividend field. IBM 1401 PROGRAM Program: Instruction Step Inst No. Addr P A/I B d 0 FORM X 24-6437-0 CHART PRINTED IN U.S.A. DIVIDE S~J""B,---,-,R-",O~U,-,T--,-,IN~=E___________________ Programmer:===:======--========-,=D'..':a'.'.'te,,;:=====__=_==; ffective No. Remarks of Characters lost. Data T~t;;I W _____ 516 f~1---5O~_~ __ ~?tore address of wor~marko~d_iv_i_so___r__________---jl___----t----+--------l r---~~- _B f---642 - - ----- 531 ___ 538 545 ----- YYY 0 ---~-+----------------------------------- S 512 515 _~!~ __ ~ --------------- A Branch if divisor digit equa!_s_"O__"________________ _ --- ---1------- ------ ----- f------- Find significant digits in divisor -----------------------------------~--I-------f--- _+-_______________________________ ~ ____ ---f-------- A 5~15+_~5~05~+-~M~oo~i~~~ad~dl---r~es~s--------------------_____ _+_-_+_-~ 552 S 513 - - ---- 502 WWW and XXX -t-----------------------------+--+--+--i _._~ ~ l.!~ _ _=_50c_5+__+__-----------------------------------~---i_____--1---_ 1---- - - - -- ----1---------- -- 1---------- - - - - - - - - - - - - - - - - - -- - -------------------------------I----t--+----l 566 M 502 628 ------1---------1------- f--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - / - - - + - - - 1 I"J 635 -- .--.C.-_ 502 --- 580 M 502 684 587 M 502 691 573 Set modified addresses into divide routine "--~.- - 594 M 502 740 M 505 643 608 M 511 62= 615 M 511 681 601 - - I---- 622 S ZZZ 629 V ____ ---------------~I___-_r---- --",------"-------- --------------------------------------t---I------- Set divisor www addr~~~ ______________ Subtract divisor from dividend 678 WWW K XXX Branch if --- Location of Data Word 499 negativc~ Add one to Quotient 637 A 513 644 B 622 648 A 513 529 -- Add one to YYY clddress -------------------------- 655 A 513 512 Increase ~ounter_I?2'_()~ ___________ 662 C 512 515 Test for divisor eCluals 0 ------------ ~ 523 ___ B Repeat 678 A c_ ZZZ _______ _WWW _ __ 685 Y 499 WWW -- -- ---r--------- - - - --692 A 513 628 - - ---1------- 513 502 - - - - _ . _ - - - - - - - - - - - _.. I. _Branch If unequal _~~4- _ 1--746+___ 699 A Data for Division Subroutine -- _- 505 508 ______________ _ Store--cannot divide by zero -- Add divisor back to dividend -- 511 512 Remove zone bits _____________ Moolfy address by_ on_e_____________---1 513 515 Data Word Description of Data blank Constant WWW Address of word mark position of dividend XXX Address of word mark position of quotient YYY Address of word mark position of divisor ZZZ Divisor address blank Counter for # of zeros in divisor Constant 1 Lq Length of quotient ~-------------------------------------------------~ 635 -j----j-+----------------- ~___~7-0--64_A~5-13~6-4~3~1----------------------------------+--+_-r---i 713 A 513 684 Modify address by one ---- -------- -- ----- ----- -- ---------- --------------~---+----+---j ___ ~~_~~_134--6-941~-------------------------------------------+--+--~~~ 727 ----- ---734 A 513 740 V 746 WWW 1 ---------- ---------------+--+----+---1 Divide complete if word mark exi.::..:st..:s_____________I--_-f-_ _I_--I --I-----t---1I--------iI--------jr-+--------------------------------------i---+----f---i 742 T __ 622 Continue dividing !~ _ f-- _____ l _ _~-l--D-iv--i-de--c-om-p'-l-e-te--- ----------------+---i_____-t-----t ---1___--I--4-----i---4--+----------------------------------~--I---+--~ FIGURE 57. DIVIDE SUB-ROUTINE 57 CHARACTER CARD CODE I BCD CODE C . A 8 X X X X X X X 12-3-8 X X 12-4-8 (Undefined Soecial Character) 12-5-8 >:c X X X X Soecial Character) 12-6-8 >:c X X X X X (GrOLJD Mark-SDecial Character) (Note 1) 12-7-8 X X X X X X X & 12 X X X $ 11-3-8 X X X X X ):c 11-4-8 X X X (Undefined Soecial Character) 11-5-8 >:c X X X X (Undefined Special Character) 11-6-8 >:c X X X X X A (Mode Chanoe (Delta) Special) 11-7-8 X X X X X - 11 X X X I. -' r~ lit: -' X X X X 0-1 X X I 0-3-8 X X X % 0-4-8 X X X (Word Separator-Special Char.) 0-5-8 >:c X X X X (Undefined Special Character) 0-6-8 ::c X X X X X Tape Segment Mark-Special Char. 0-7-8 X X X X .X 'X X / 1401 Generated Special Character (Note 2) X X # 3-8 @ 4-8 X X 5-8 ~:c X X (Undefined Soecial Character) 6-8 ~:c X X X (T ape Mark-Special Char.) X X X X X (Undefined Special Character) 58 1 [J (t FIGURE 2 X No Punches BLANK 4 B X 7-8 X + 0 12-0 X A X X X 12-1 X X B 12-2 X X X C 12-3 X X X D 12-4 X X X E 12-5 X X X X F 12-6 X X X X X G 12-7 X X X X H 12-8 X X 58. 1401 CHARACTER CODE CHART IN COLLATING SEQUENCE X X X X X X X X CHARACTER BCD CODE CARD CODE X I 12-9 0 11-0 J 11-1 X X K 11-2 X X X L 11-3 X X M 11-4 N - X X X X X X X X X 11- 5 X X 0 '11-6 X X X P '11-7 X X X X Q 11-8 X X X X X R Re cord Mark X X 11-9 :f= or + X 0-2-8 5 0-2 T 0-3 U 0-4 V X X X X X X X X X 0-5 X X W 0-6 X X X X 0-7 X X Y 0-8 X X X .Z 0-9 X X 0 1 1 2 \ X X X X 0 X X X X X X X X X X X X 2 X X 3 3 4 4 5 5 X X 6 6 X X X 7 7 8 8 9 9 X X X X X X X X X X * Coding not valid for reading or punching card codes but can be used in tape operations. The 1401 has theabil ity tOI read MLP card codes. The 1401 ignores the 8-9 punches when they appear in the same column. The 1401 does not punch out MLP card codes. Note 1. In the 705, this is punched as (12-5-8). Note 2. The A bit coding must be program generated in the 1401 (it cannot be read in from a card); however, it can be punched in a card, and punches as a 110 11 (zero zone). (FIGURE 58. CONTINUED) 59 IBM 1401 Data Processing System Timing Card Systems The following definitions are used in specifying the 1401 timings: LI -Number of characters in an instruction LA -Number of characters in the A field LB -Number of characters in the B field Ly -Number of characters back to right-most "0" in control field Name READ PRINT PRINT READ PUNCH READ PUNCH PRINT PUNCH PRINT READ PUNCH READ RELEASE PUNCH RELEASE NO OPERATION STOP STACKER SELECT UNCONDITIONAL BRANCH TEST AND BRANCH TEST CHARACTER ZONE AND WORD MARK TEST BIT TEST SET WORD MARK CLEAR WORD MARK MOVE DIGIT MOVE ZONE COMPARE LOAD MOVE RESET ADD RESET SUBTRACT ADD (no recomplement) SUBTRACT (no recomplement) ADD AND RECOMPLEMENT SUBTRACT AND RECOMPLEMENT MOVE AND ZERO SUPPRESS CLEAR EDIT FORMS CONTROL 60 OP Code 1 2 Lx -Number of characters to be cleared Lw-Number of characters in the A field or the number of characters in the B field, whichever is shorter This list contains the formulas to be used in calculating the time required to execute an instruction, in milliseconds. Formula 3 4 5 6 7 8 Require .0115 [LI+ 1] milliseconds plus the timings as shown in (Figure 59). 9 N K B B B V W n D Y C L M + o o .0115 [LI+1] " " " " .0115 [LI+2] " " " " .0115 ILI+3] " .OJ 15 [LI+l+LA+LB] .0115 rLI+1+2LA] .0115 ILI+l+2Lw] .0115 [LI+1 +LA+LB] " A S A S Z / E F " .0115 ILI+3+LA+4(LB)] " .0115 [LI+ 1+3LA] .0115 ILI+ I+Lx] .0115 ILI+ 1+LA+LB+Ly] .0115 ILI+ 1] + remaining form-movement time if carriage is moving when this instruction is given. The formmovement 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. Printing Timing Chart When the operation code 2 is given, the information in the print output area is directed to the printing mechanism. This consumes 84 milliseconds. The remaining 16 milliseconds is devoted to processing time. If the actual processing time exceeds the 16 milliseconds allotted, the basic print cycle is extended by the amount of the excess process involved. For example, if five additional milliseconds of processing were required (21 milliseconds total), the basic print cycle will now be 105 milliseconds. Converting this to lines per minute means that the machine is now printing at a rate of 571 lines per minute. The main purpose of the timing charts (Figure 59) is to illustrate the processing time available during printing, reading, and punching. Knowledge of the execution time for the individual operation codes is necessary before these charts can be used effectively. Card Read The Read Start Time is the time devoted to accelerating the card reader and positioning the card for reading. The 44 milliseconds is the time required to read the card. During these 44 milliseconds, no processing takes place. The remaining 10 milliseconds is the time devoted to processing. To maintain 800 cards/minute, another read instruction would be required during this time. If the process time exceeds the 10 milliseconds allotted, the reader will then function at a rate of 400 cards/minute. Card Punching The start time is the time devoted to accelerating the card punch and positioning the card for punching. The actual time taken for punching a card is 180.5 milliseconds. No processing takes place during this time. The remaining 22.5 milliseconds can be utilized as processing time. CARD READI N G BOO CARDS PER MINUTE (Assume that operation code "1" was given during previous cycle) -------~.lIIoIli-oICll--lO ms~ 75 ms / : ; 21 ms I. ..-___________ . __... lIr _ __ Read Start Time 44 ms Card Reading Processing Time The Read Start Time may be ulled as Process Time if the "Read Release" Option is employed. CARD PRI NTI NG 600 LINES PER MINUTE (A~.sume that operation code "2" was given during previous cycle) : ~ ~ ~- :~ ...- - - - - - - - - - - 84 ms _ _ _ _ _lO_o_m_s_ _ _ ._ _ _ _ _ ........, .... 16 ms ___ Printing Processing ,. 20ms - - -....... Form Movement CARD PUNCHI NG 250 CARDS PER MI NUTE (Assume that operation code "4" was given during previous cycle) I: 240 ms ....1 I l - - - - I. .r----------- 37 ms - - l....... Punch Start Time 180.5 ms Punching The Punch Start Time may be used as Process Time if the "Punch Release" Option is employed. FIGURE 59. 1401 '------~~I -oI ~ 2~5~ .. .... Processing Time TIMINGS 61 Magnetic Tape UNIT CONTROL U .0115 [Ll+1] + tape movement time 1. Time for tap~ instructions is .108 milliseconds. 2. Tape operations (times expressed in milliseconds) TAPE READ, WRITE 729 Model II: 729 Model IV: 10.8 + CN ms. 7.3 + CN ms. REWIND 729 Model II: 729 Model IV: 1.2 minutes/reel .9 minutes/reel BACKSPACE (after read) 729 Model II: 46.4 + CN ms. 729 Model IV: 32.6 + CN ms. BACKSP ACE (after write) 729 Model II: add 7.5 ms. to above 729 Model IV: add 5.0 ms. to above NOTE: C = Character rate, time in milliseconds per character. N = Total number of characters traversed for 729 II at at for 729 IV at at ERASE FORWARD (add to subsequent write time) * 729 Model II: 108 ms. 72 ms. 729 Model IV: *leaves about 8" between records 200 556 200 556 cpi. = .067 cpi. = .024 cpi. = .044 cpi. = .016 1401 Operation Codes Op Codej 1 2 3 4 5 6 7 8 9 A B C D E F K L 62 Function Read Print Print-Read Punch Read-Punch Print-Punch Print-Read-Punch Read-Release (optional) Punch Release (optional) Add Branch Compare Move Digit Edit Forms Control Stacker Select Load Op Codes M N S U V W Y Z @ % + 0 0 • 11 / Function Move No Operation Subtract Unit Control (optional) Zone and Word Mark Test Bit Test (optional) Move Zone Move-Zero Suppress Multiply (optional) Divide (optional) Reset Add Reset Subtract Stop Clear Word Mark Clear Set Word Mark ms. ms. ms. ms. Index A-Address Register Light _____________________________ 39 A and B Auxiliary Registers _________________________ 51 ADD _______________________________ .__________________ _ 25 Addressing _______________________________________ _ 20 Add-to-Storage Logic ______________________________ _ 8 Address Registers __________________________________ 21 Address Stop ________________________________________ 41 Advanced Design __________________________________ 10 A-Light _____________________________________________ 39 Alter ______________________________________________ 40 9 Arithmetic Arithmetic Operation _________________________________ _ 25 Arithmetic Operation Codes ________________________ _ 25 Asterisk Protection _________________________________ _ 36 Auxiliary Console __________________________________ 41 B # A ____________________._____ ~ _________________ Backspace Key __________________________ .__________ Backspace Tape ______________________________________ B-Address Register Light ____________________________ B-Light _____________________________________________ Binary Coded Decimal ______________________________ Bit ___________.____________________________ _______________ Bit Display Light __________________________________ Bit Switches __________________________________________ Bit Test __________________________________________ 39 51 50 39 39 9 7 39 41 53 Carriage Controls __________________________________ Carriage Stop ___________________________________________ Chaining Instructions _______________________________ Character Code Charts ______________________________ Character Display ___________________________________ Checking ___________________________.___________ 9, Checking Lights ___________________________________________ Check Reset __________________________________ 39, 41, Clear _______________________________________________ Clear and Branch __________________________________ Clear Storage Routine ___________________________________ Clear VVord ~ark __________________________________ Coded Addresses in Storage ___________________________ Column Binary Device _____________________________ Compare _________________________________________________ Console Keys, Lights and Switches ___________________ Console Keys, Lights and Switches for Tape System _____ Control Characters of Editing ____________________ 34, Constant Load Card _________________ ._______________ 43 42 21 59 40 18 39 42 32 32 55 31 13 52 32 38 51 35 54 Data Flow ____________________________________ 16, Decimal Control _____________________________________ Divide _________________________________ ._______________ Division Sub-Routine ________________________________ 46 37 26 57 Edit __________________________________________________ Editing _____________________________ ___________ 9, Emergency OFF __________________________________________ End of Form ______________________________________ End of Reel Indicator Test ____________________________ Enter _________________________________ ._________________ Erase Forward ___________________________________ Expanded Print Edit __________________ ._________________ 33 33 39 42 50 41 50 36 Feed Clutch _____________________________________ Feed Knob _______________________________________________ File Feed ____________________________________________ Floating Dollar Sign _______________________________ Forms Control ___________________________________________ Forms Control and Branch _____________________________ Forms Check ______________________________________ Fuse _________________________________________________ 43 43 13 36 31 31 42 42 Hole Count _______________________________________ 9 Horizontal Adjustment _________________________________ 43 I-Address Register Light _____________________________ IBM Card Systems __________________________________ IBM 1401 Tape System __________________________________ IBM 1402 Card Read Punch Operating Keys, Lights and Switches ______________________________ IBM 1402 Card-Read Punch _________________________ IBM 1403 Printer ________________________________________ IBM 1403 Printer-Keys, Lights and Switches ___________ IIEX _______________________________________________ I/O Check Reset Switch _____________________________ 110 Check Stop Switch _____________________________ Input/Output Codes ____________________________________ Input/Output Operations ____________________________ Input/Output Storage Assignments _____________________ Instruction Card ___________________________________ Instruction Format __________________________________ 42 13 14 43 40 41 39 23 23 20 54 19 Language _______________________________________________ Load ______________________________________________ 30, Loading Instructions _______________________________ Load ~agnetic Tape _______________________________________ Logic _____________________________________________ Logic Block Light ____________________________ Logic Operation Codes ______________________________ Logic Operations _________________________________________ 8 42 22 49 9 39 28 28 Core Storage _____________________________ Storage _____________________________________ ~agnetic Tape _____________________________________ ~agnetic Tape Characteristics _______________________ ~agnetic Tape Units _____________________________________ ~anual Address Switches ___________________________ ~anual Carriage Control ____________________________ ~iscellaneous Operation Codes ______________________ ~ode Switch _________________________________________ ~ove _________________ _ _____________________________ ~ove and Load ____________________________________ ~ove and Scramble Column Binary __________________ ~ove and Unscramble Column Binary ________________ ~ove and Zero Suppress _______________________________ ~ove Digit _. ___________________________________________ ~ove-~agnetic Tape _______________________________ ~ove Zone ____________________________________________ ~ultiplication Sub-Routine ___________________________ ~ultiply ___________________________________________ 7 8 46 46 47 40 43 31 40 29 29 53 53 30 30 49 30 55 26 ~agnetic ~agnetic 39 11 44 No-Bit _________________________________________________ 7 No Operation ______________________________________ 32 63 Non-Process Runout Punch _____________________________ 42 Non-Process Runout Read _______________________________ 42 Parity -_______________ _________________________________ Parity Check ______________________________________ Physical Features ____________________________________ Polarity ________________________________________________ Power Off ------- ______________________________________ Power On ----_________________________________________ Power On Light ____________________________________ Print __________________________________________________ Print and Branch ___________________________________ Print and Punch ______________________________________ Print Check _____________________________________________ Print Controls __________________________________________ Print, Read, Punch, Branch ___________________________ Print, Punch, and Branch _____________________________ Print, Read, and Branch ______________________________ 23, Print and Read ____________________________________ Print Storage ___________________________________________ Print Unit Release Lever _____________________________ Print Word Marks and Branch _________________________ Printer Display _________________________________________ Printing Method _______________________________________ Process Check Stop _________________________________ Program ______________________________________________ Program Loading Routine ____________________________ Punch ____________________________________________ Punch and Branch ___________________________________ Punch Check ______________________________________ Punch Column Binary ____________________________________ Punch Display ______________________________________ Punch Interlock ________________________________________ Punch Release _____________________________________ Punch Stop ________________________________________ Punch Switch ______________________________________ 9 18 12 7 38 38 42 23 23 24 43 42 24 24 24 23 15 43 23 41 16 41 6 54 24 24 42 52 41 41 24 42 42 Read ____________________________________________________ Read and Branch ___________________________________ Read and Punch _____________________________________ Read Check ____________________________________________ Read Column Binary _______________________________ Read Column Binary and Branch _____________________ Read Release _______________________________________ Read Tape Binary ___________________________________ Reader Stop ________________________________________ Ready __________________________________________________ Reading Stations ____________________________________ Reset Add ___________________________________________ Reset Subtract _____________________________________ Restore Key ______________________________________________ Rewind Tape ____________________________________ ____ Rules of Editing _________________________________ 34, Run ___________________________________________ 40, 23 23 24 42 52 52 24 53 42 43 13 26 26 43 50 35 41 Sense Switches _______________________________________ 40 64 (2-60:20M-VO) Set Word Mark __________________________________________ Sign Control Left ___________________________________ Single Cycle Key _______________________________________ Single Cycle Non-Process _____________________________ Solid State Circuitry _____________________________________ Space Key --___________________________________________ Stacker ____________________________________ 14, 15, Stacker Select -- ______________________________________ Stacker Select and Branch ___________________________ Start ---- _____________________________________________ Stan Key -- _______________________________________ Start Reset Key ____________________________________ Stop ____________________________________________ 32, 39, Stop and Branch ___________________________________ Storage Address Display ____________________________ Storage Address Lights _________________________________ Storage Cycle ______________________________________ Storage Light __________________________________________ Storage Print Out __________________________________ Storage Scan _________________________________________ Stored Program Concept ______________________________ Stored Programming _____________________________ 7, Subtract ____________________________________________ Sync Check-Printer ______________________________________ 30 36 43 40 9 43 42 31 32 42 38 39 42 32 39 39 21 39 40 41 6 19 26 43 Tape Instructions __________________________________ Tape Load - __________________________________________ Tape Read - ___________________________________________ Tape Select ___________________________________________ Tape Sorting ______________________________________ Tape Transmission Error Test _____________________________ Tape Write _ _____________ ____________________ _____ Test and Branch _______________________________ 28, Test Character and Branch ___________________________ Testing Condition _____________________________________ Test for Zone or Word Mark and Branch ______________ Test High Low or Equal Compare ________________________ Timings ______________________________________ 60, 61, Trailer Card ________________________________________ 48 51 49 51 50 50 49 50 28 50 29 51 62 54 Unconditional Branch ____________________________________ 28 Unit Control ___________________________________________ 50 Validity ______________________________________ ____ 9, Validity Check ____________________________________ Variable Length Instructions __________________________ Variable Word Length ______________________________ Vernier Knob (Horizontal) __________________________ Vernier Knob (Vertical) _________________________________ 42 18 19 13 43 43 Word Marks ______________________________________ Words ____________________________________________________ Write Tape Binary _________________________________ Write Tape Mark ____________________________________ 18 13 53 50 Zero Suppres~on ___________________________________ 34
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 : 2002:03:24 16:22:58Z Creator Tool : g4pdf Modify Date : 2009:09:01 13:41:18-07:00 Metadata Date : 2009:09:01 13:41:18-07:00 Producer : Adobe Acrobat 9.13 Paper Capture Plug-in Format : application/pdf Document ID : uuid:11c780bc-e4f7-4ef9-bd24-1807b0a33ff0 Instance ID : uuid:c9c7774d-8d15-4f76-a315-a4eb95145293 Page Mode : UseOutlines Page Count : 64 Creator : g4pdfEXIF Metadata provided by EXIF.tools