A24 3071 2_1401_spec Feature 2 1401 Spec
A24-3071-2_1401_specFeature A24-3071-2_1401_specFeature
User Manual: A24-3071-2_1401_specFeature
Open the PDF directly: View PDF .
Page Count: 76
Download | |
Open PDF In Browser | View PDF |
File Number 1401/1460-13 Form A24,..3071-2 Systems Reference Library Speci;;ll Feature Instructions IBM 1401 Data Processing' System IBM 1460 Data Processing System The special features described in this publication are available for the IBM 1401 and/or 1460 Data Processing Systems. Each feature is described and identified for the system to which it can be applied. These features offer additional flexibility in applicatiems where special processing requirements exist. Also included are the instructions for the special features on the IBM 1402, 1403, and 1009 when these units are used with the IBM 1401 or 1460 Data Processing System. For a list of other publications and abstracts, see the IBM 1401 and 1460 Bibliography, Form A24-1495. Preface Tape Input/Output Instructions (A24-3069) Section F Tape Input/Output Operations This publication is a portion of the reference text for the IBM 1401 and 1460 Data Processing Systems. The full set of manuals provides a detailed explanation of all the instructions used by the system to manipulate data. Detailed explanations of the instructions used with the required and available input/output units attached to the system are also included. The reader should be familiar with the IBM 1401 System Summary, Form A24-1401, or the IBM 1460 System Sum·· mary, Form A24-1496, and the various publications on programming material, such as Symbolic Programming System (SPS) and Autocoder. Disk Input/Output Instructions (A24-3070) Section G Disk Input/Output Operations Miscellaneous Input/Output Instructions (A24-3068) Section H Miscellaneous Input/Output Operations Special Feature Instructions (A24-3071) Section I Special Feature Operations The sections are independent and do not have to be used in!!le order in which they appear. A System Reference Library can be compiled using those sections applicable to the user's mach,ine configuration. The complete manual is divided functionally into these sections: System Operation Reference Manual (A24-3067) Section Section Section Section Section This publication is intended for programmers and systems personnel who have a general knowledge of the IBM 1401 or 1460 Data Processing Systems and who require a reference text for detailed information. A Introduction B System Operations C IBM 1406 Operations D IBM 1447 Operations E IBM 1402 and 1403 Operations Other publications referenced here are, in most cases, prerequisites for a complete understanding of the material presented in this publication. Maior Revision, November 1964 This publication, Form A24-3071-2, is a major revision of A243071-1. It does not, however, obsolete the previous publication. The added material includes the instructions for the special features on the IBM 1402, 1403, and 1009 when these units are used with the IBM 1401 or 1460 Data Processing System. Copies of this and other IBM publications can be obtained through Address comments concerning the content of this publication to IBM IBM Branch Offices. Product Publications, Endicott, New York Reprinted Mar ch 1966 © 1960, 1961, 1962, and 1963 by International Business Machines Corporation 13764. I Contents Special Features ............................................................ 1-1 Adapter, 51-column Feed (1401, 1460) ................ Advanced Programming (1401) ............................... 1-1 Indexing ................................................................................. Store Address Register ........................................................ Move Record (1401; Standard on 1460) ............................ Binary Transfer (1460) ................................................ Bit Test (1401, 1460) .................................................. Column Binary (1401) ................................................ Binary Tape Instructions ................................... ........ Compressed Tape (1401, 1460) ................................ Console (1447, Model 2 or 4) Attachment (1460) ...................................................... Console Inquiry Station Adapter (1401) ............. Direct Data Channel (1401, 1460Y- ........................ 1-1 1-1 1-2 1-4 1-5 1-5 1-5 1-8 1-10 1-12 1-12 1-12 1-12 1-14 1-15 Signal Control Instructions ................................................ Branch Instructions (Direct Data Channel) ........................ Move and Load Instructions ................................................ Instruction Utilization in the Program ............ ....................:r:16 Direct Seek (1460) ........................................................ Disk Storage Control (1460) ........ ........ .................... Disk-Storage Drive Adapter (1401) ....................... Expanded Print Edit (1401 and 1460) ................. High-Low-Equal Compare Feature (1401; Standard on 1460) .................................................... Indexing and Store Address Register (1460) .... Multiply-Divide (1401, 1460) .................................... Multiply and Divide Timing .................................... Multiply and Divide Subroutines .......................... Numerical Print Control (1401, 1460) ................... Print Control (1401) ..................................................... Print Control, Additional (1401) ............................. Print Sto:rage (1401, 1460) ......................................... Printer (1404) Adapter (1401) .................................. 1-20 1-21 1-21 1-21 1-23 1-24 1-24 1-27 1-27 1-30 1-30 1-30 Printer Adapter - 1403 Model 3 (1460).............. 1-33 Printer Control AdapterSecond Printer (1460) .............................................. 1-33 Processing Overlap (1401, 1460) ............................. 1-33 Processing-Overlap Instructions ........................................... Programming Considerations ............................................... System-Interlock Conditions ................................................. Processing-Overlap Timing ................................................... 1-34 1-40 1-41 1-42 Punch-Feed Read Control (1401, 1460) .............. Read Compare Adapter (1401) ............................... Read-Punch Release (1401, 14:60) .......................... Scan Disk (1460) .......................................................... Seek-Overlap Adapter (1460) ................................... Selective-Tape-Listing Control (1401, 1460) ...... Sense Switches (1401) ................................................. Serial Input/Output Adapter (1401, 1460) ......... Space Suppression (1401; Standard on 1460)... Tape Intermix (1401, 1460) ....................................... Track Record (1460) .................................................... Translate (1460) .............................................................. 1-45 General Description of Translate ......................................... 1-45 1-45 1-47 1-48 1-48 1-48 1-49 1-49 1-49 1-49 I-53 I-54 Transmission Control-Unit Attachment (1460).. I-57 800 CPI Feature (1401) ............................................. I-57 IBM 1402 Special Feature Instructions and Timing ................................................................... I-57 Early Card Read (Modell only; Standard on Model 3) .... Punch Feed Read (Models 1 and 3 only) .......................... IBM I-57 I-59 1403 Special Feature ........................................... 1-62 Selective-Tape-Listing Feature .......................................... 1-62 Buffer Feature for the IBM 1009 Data Transmission Unit ............................................ ........ 1-64 IBM 1009 with Buffer (Instructions) ....................... 1-64 1-30 Maximum Processor Time Required for Movement of Data ........ ................. ........ ........ .................... 1-33 Index .................................................................................. 1-69 1-64 I Special Features Adapter, 51-Column Feed (1401, 1460) This feature is required when the 51-column inteTchangeable-read-feed special feature is installed on the IBM 14m~ Card Read-Punch, MQdel 1, fQr the 1401 system or the IBM 1402, Model 3, for the 1460 system. The adapter furnishes the cQntrolling circuitry necessary for the proper operation of the 51-column readfeed special feature. For mQre detailed information on the 51-column interchangeable-read-feed special feature refer to IBM 1402 Card Read-Punch, A24-3072. The A- and/O'r B-address specifies which index register will be used by a combination of A- and B-bits in the tens PQsition of the address. The bit combinations and the registers they specify are: Bit Combination A-hit, No B-hit B-hit, No A-hit A-hit, B-hit Index Register No. The advanced-programming feature prQvides the 1401 system with greater prQgram flexibility, by making address indexing, address storing, and record mQvement more automatic. The variQus parts of the advanced programming feature and their methQd Qf QperatiQn are described in this sectiQn. Indexing The indexing PQrtiQn of the advanced-programming feature provides three 3-positiQn index locations (registers) that can be used to' modify addresscs automatically. These three index registers are part of core storage and can be used as nQrmal storage positiQns when not being used as index-register locations. The assigned core-storage addresses and index register numbers are: Index-Register No. 1 2 3 C ore-S torage' Positions 087 - 089 092 - 094 097 - 099 The index factor can be placed in the index register by normal programming (add or move operatiQns, for example) and the factQr can be changed (add operations norrnally). In these instances, a word mark should be initially set in the high-order PQsition of the index register befQre inserting or changing the index factor. Both the A-address and/or the B-address can be modified by the index factor in anyone of the three index registers; however, only core-storage addresses can be modified. 3 Zone Punch Zero Eleven Twelve When the tens PQsition of an A- and/or B-address contains one of these zone-bit combinations, the address is referred to as being tagged. Positions J, AAA OP Advan(:ed Programming (1401) 1 2 Tagged J, BBB The modification of the A- and/or B-address occurs in their respective address registers. FQr instance, if the A-address is indexed, the indexing occurs in the Aaddress register. This means the original instruction in storage is in no way changed or modified. When a program is written using the symbolic programming system, indexing is indicated by writing a 1, 2, and 3 in the index column of the symbolic coding sheet (cc27 for (A) operand--cc38 for (B) operand). Digit 1 2 3 Result Index operand by contents of 087-089 Index operand by contents of 092-094 Index operand by contents of 097-099 The (A) and (B) Qperands can be symbolic of actual addresses. In the processing Qf instructions: 1. The A-address and B-address are analyzed for indexing as they are moved intO' the address registers. 2. The contents of the proper index location (indexing factor) are added to the CQntents of the address register and develops the effective address there, when indexing is indicated. 3. Three Qr four additional cycles are required fQr each address indexed. Increasing an Address To increase a core-storage address using the indexing feature, the contents of the index location are added to the selected address register. Figure I-I illustrates various methods of address modification using the index locations. 1-1 INSTRUCTION IN STORAGE BEFORE M. 080 lA7 010 025 050 AFTER M. 080 lA7 010 025 050 BEFORE M. OSO 1J7 010 025 050 AFTER M OSO 1J7 010 025 BEFORE M. JBO 8CO 010 025 050 AFTER M JBO 8CO 010 025 050 1. INDEX THE B-ADDRESS 2. INDEX A- AND B-ADDRESS 3. INDEX A- AND B-ADDRESS Figure 1-1. INDEX LOCATION 1 2 3 EFFECTIVE INSTRUCTION -- . - ~- .. ._. M. -.-~--. 080 167 -------------- 050 -.-- M. 030 M J70 880 142 I Indexing Decreasing an Address To decrease an address, the 16,000's complement of the amount to be subtracted from the address must be stored in the index location. Example: Decreasing Required Decrease a B-address by 10 Indexing factor 16000 - 10 (15990) ( Complement) The 15990 converts to the 3-digit factor I9? (Figure 1-2). U sing the modulus 16 nIles, the arithmetic overflow adds an A-bit in the hundreds position (both the hundreds and units positions already contain A- and B-bits, the combination of which indicates a 15000-15999 block address). The addition of the A-bit increases the value of the zone bits to 16 which, according to modulus 16, has an address value of 0 (000-999 block address). Therefore, the new address is 927. With the indexing feature, even though there was an overflow, the arithmetic-overflow indicator is not turned on. easier to re-enter the main program from a subroutine. Because the address of the next instruction in sequence can be retained, program re-entry is simplified. A subroutine is a set of pr0'gram instructions that are executed, if a particuler condition arises during the main routine. For example, if an unequal compare 0'ccurs during processing, the program branches to a subroutine in which a special set of instructions handles the condition. Each time a subroutine is used, some meth0'd must be employed to link it with the main program. The functi0'n of the STORE A-ADDRESS REGISTER and STORE B-ADDRESS REGISTER instructi0'ns is to establish subroutine linkage S0' that upon leaving the sequence of the main pr0'gram it is possible to execute the steps of the subr0'utine, and return to the main program where the sequence was interrupted. Store A·Address Register Instruction Format. Store Address Register The store-address-register portion of the advancedprogramming special feature makes it possible to store the contents of the A- and B-address registers. Thus, the A- and B-addresses of program instructions can be modified directly in cases where variable-length records are being processed. This facility also makes it INDEX LOCATION 2 3 1 INSTRUCTION IN STORAGE ---_._--- BEFORE . _ _. -- AFTER -~~-----.- i 123 9T7 ---~-- 1. - .. ...- + - - - 19? = Converting Address - ----- 927 (with overflow) = 1-2 ----- 19? - 1= (AB9) ? (ABO) Figure 1-2. EFFECTIVE INSTRUCTION .- 017 Code A-address SAR Q xxx Function. This instruction stores the contents of the A-address register from the previous operation, in the 3-position field that has its units position defined by the A-address of the STORE A-ADDRESS REGISTER instruction. Word Marks. Word marks are not affected. 19? --- 123 9T7 937 ---- Mnemonic 1 123 927 Timing. T = .0115 (LI + 5) ms. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A-3 B-Add. Reg. Ap Example. Sture the contents of the A-address register in area labeled AADRG (0625), Figure 1-3. SPS IAIOPERANO OPERATIONI---A-OO-.ES-S 1,"':2.,;--_AO_J·---¥-'+=-_ _------'""'.~c:,._IA_OJ,____+"..'+'.<;l. 1111 17 o I 0 020 L_-._.L._.L ~f--:-..,- lSI OPERAND -TI-:!:~'·-HA-R.--r-7l--AO-OR-ES-S--Ol-':!:I-CHA-R.---.---4~ d LABEL "'tUj,LTE.JLl_~-L--l----Ic--L--'--' 1ft LL f:"-~r-~ Autocoder Autocoder Label OPERAND ~,~.~~perati~l~~.-~'---""-~ t==:r=: ':tSAR :~AD.R~ 55 45 10 Figure I-~3. !!O 625 !lAs,/. OPERAND I ~Q ,~ [au 1fu./...r.A.U~-, :I MR [L,ASr+~ I If.1 In I 40 Assembled Instruction: Q ~perati~ I i Store Contents of A-Address Register ~~ ~~ 4Q lIQ ~ Assembled Instruction: B 495 (address machine-assigned) .!! (address in main routine following the ! 495 instruction) .E Figure 1-4. Store Contents of B-Address Register (One Field) Store B·Address Register (One Field) Store B·Address Register (Two Fields) Instruction Format. Op Code Mnemonic SBR A-address xxx H Function. This instruction stores the contents of the B-address register resulting from the previous operation, in the 3-position field that has its units position defined by the A-address of the STORE B-ADDRESS REGISTER instruction. Word M'arks. Word marks are not affected. Timing. T = .0115 (LI ~ + 4 or 5(/<) Instruction Format. Mnemonic SBR Op Code H A-address xxx B-address xxx Function. This instruction stores the present contents of the B-address register in the 3-position field that has its units position defined by the A-address of the STORE B-ADDRESS REGISTER inshTlction. The B-address register contains the number specified by the Baddress portion of the STonE B-ADDRESS REGISTER instruction. Word Mark.s. Word marks are not affected. ms. Plus 4 or 5 depends on the presence or absence of zone bits in the units position of the address being stored. Note. When indexing is installed in the IBM 1401, the functioning of all branch instructions is altered to simplify subroutine linkage. With these alterations, each time a branch occurs as a result of one of these instructions, the address of the next sequential instruction in the main routine is inserted in the B-address register. Although the subroutine may be entered from many distinct points in the main program, this use of the SBR operation makes the subroutine linkage complete. Timing. T ~ = .0115 (LI + 4 or 5(/<) ms. Plus 4 or 5 depends on the presence or absence of zone bits in the units position of the address being stored. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A-3 B-Add. Reg. Bp Example. Store contents (456) of the B-address register in the area labeled BADRG (123), Figure 1-5. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A-3 B-Add. Reg. Bp Example. The main routine branches to a multiply subroutine labeled MULTRU (0495). This example shows the last step in the main routine and the first and last steps of the multiply routine, and illustrates . subrou tine linkage (Figure 1-4). The last instruotion (labeled LAST) plus three will contain the address of the next instruction in the main routine. Autocoder I' Label .: Assembled Instruction:!! Figure 1-5. 123 456 Store Contents of B-Address Register (Two Fields) 1-3 Move Record (1401; Standard on 1460) The move record portion of the advanced-programming special feature provides a special MOVE instruction that makes it possible to move a complete record from one storage area to another, without regard to word marks within the record. This instruction is especially desirable in magnetic tape operations. This feature is standard on the 1460 system. operation. Any word marks in the B-field remain unchanged. A-field word marks are not transmitted to the B-field. Timing. T \) N \) N = N~ (LI + 1 + 2L A ) ms. = .0115 on 1401 system; = .006 on 1460 system I Address Registers After Operation. I-Add. Reg. NSI Move Characters to Record or Group Mark Instruction Format. Mnemonic SPS MCM A MRCM Op Code p A-address B-address xxx xxx Function. This operation code makes it possible to move an entire record from one core-storage area to another, regardless of the presence of word marks in either field. The A- and B-addresses specify the high-order position of the respective areas. Transmission starts from the high-order addresses, and continues until a record mark (A82 bits) or a groupmark with a word-mark (WMBA8421 bits) is sensed in the A-field. The record mark or group mark transfers to the B-field. A-Add. Reg. A + LA (The length of the A-field includes the group-mark with a word-mark or record mark) Example. Move the tape record that has its high-order character in the location labeled TARCIN (0679) to another area of core storage beginning at the label WTAREC (0985), Figure 1-6). Autocoder I' OPERAND :~ . ~ Label ! : Assembled Instruction:! Word Marks. Word marks within the area do not affect the MOVE CHARACTERS TO RECORD OR GROUP MARK 1-4 B-Add. Reg. B + LA Figure 1-6. 679 985 Move Characters to Record or Group Mark Binary Transfer (1460) Column Binary (1401) This special feature makes it possible to process cards and magnetic-tape data recorded in column-binary form. This provides compatibility between the IBM 1460 and IBM scientific data processing systems, such as the IBM 704, 709, and 7090. Auxiliary operations that can be performed for largescale binary systems are: This feature makes it possible for the IBM 1401 Data Processing System to process column-binary-coded cards and magnetic tapes used with IBM scientific data processing systems such as the IBM 704, IBM 709, and IBM 7090. The reading, writing, and logic operational facilities of the 1401 can be used to process the binary-coded data. The operation codes and instructions described in this section are used whenever: 1. Card-to-tape. 2. Tape-to-card 3. Tape-to-tape 4. Card-to-card 5_ Card-to-printer 6. Tape-to-printer 7. Tape sorting, editing and merging 1. The information to be read or written is in binary cards or binary-coded tapes. 2. There are invalid multiple punches in cards containing the standard IBM card code. This means that cards, coded with several punches in one column, that were designed for other machines can be entered by using this feature. 8. File maintenance This special feature is the same as the column-binary special feature on the 1401, with one exception. The binary transfer special feature does not have the BRANCH IF BIT EQUAL instruction as does the columnbinary feature. For more detailed information on this feature, refer to the Column Binary section of this publication. Replace 1401 timing (.0115) with 1460 timing (.006) in all instructions. Bit Test (1401, 1460) This special feature is available on both the IBM 1401 and 1460 systems. It is a BRANCH instruction that causes thc character located at the B-address to be compared, bit by bit, with the d-character. If any bit in the character located at the B-address matches any bit in the d-character, the program branches to the specified 1address (WM and C-bits are not compared). For more detailed information on the bit-test special feature, refer to the BRANCH IF BIT EQUAL instruction in the Column Binary seetion of this publication. Replace 1401 timing (.0115) with .006 for 1460 timing. Read Column Binary Instruction Format. Mnemonic SPS R A RCB Op Code d-character 1 C Function. This instruction causes the card at thc read station to be read into the 1401 in the binary mode. During the reading of a card, the read cycle is divided into two parts, and three different areas in storage receive the data. Card cycle 9 through 4 time uses the normal read addresses 001-080, and column-binary-read area addresses 501-580. The other portion of the card cycle (3-12 time) uses addresses 001 through 080, and 401 through 480. Note that storage locations 001-080 are common read-in locations for both halves of the read cycle. At the completion of this read operation a BCD coded image of the card is stored in address'es 001 through 080, just as in normal card reading. The portion of the card that contains column-binary information appears as hash in the corresponding addresses 001-080, and the portion of the card that contained alphamerical characters is stored in BCD code in addresses 001 through 080. Storage addresses 401-480 and 501-580 contain the true card image. In 1-5 PUNCHES IN CARD COLUMN BCD CODE Storage C B 12 Addresses A 8 11 401-480 4 2 1 o 2 3 ~---------------------------~oroge C B Addresses 501-580 A 4 5 8 6 4 7 2 1 8 9 ~------------------------------ Storage C A 001-080 2 8 4 (BCD equivalent of the card punches if alphamerical, 2 3 4 5 6 hash if true binary.) 7 1 8 9 Figure 1-7. Autocoder I. ._ Label I iperati~ I I OPERAND Z5 !!!! 59 Assembled Instruction: Figure 1-8. :~ . ~ 49 1 c Read Column Binary 12 11 0 B Addresses Example. Read the card at the IBM 1402 read station in the column-binary mode (Figure 1-8). BCD Code and Column Binary Punches these areas all alphamerical characters and all column-binary information appear as illustrated in Figure 1-7. If, for example, the following information is recorded in a binary card and appears in core storage: Card-column 1 contains an IBM card-code H which is represented by a 12-punch and an 8-punch. Storage Locations Contains BA8 001 401 501 B 2 Card-column 2 is part of a binary field and contains punches in rows 12, 0, 1, 3, 4, 5, 6, 7, and 9. Storage Locations Contains hash CB841 BA841 002 402 502 Read Column Binary and Branch Instruction Format. Mnemonic SPS R A RCB Op Code 1 I-address xxx d-character C Function. This is the same as READ COLUMN BINARY, except that the next instruction is at the I-address. Word Marks. Word marks are not affected. Timing. T = .0115 (LI + 1) ms + I/O. Note. The READ COLUMN BINARY AND BRANCH instruction ( !xxxC) cannot be combined with any other operation. Read checking of input data is unchanged, except for the validity check, which is not performed because all characters read are considered valid. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 481 Example. Read the card at the read station in column binary mode, and branch to BININ (0922) for the next instruction (Figure 1-9). ' Word Marks. vVord marks are not affected. Timing. T = .0115 (LI + 1) ms + I/O. Note. The READ COLUMN BINARY instruction (!C) cannot be combined with any other operation. Read checking of input data is unchanged, except for the validity check, which is not performed because all characters read are considered valid. Autocoder Label .: Address Registers After Operation. t I~ r9ti~ ~ OPERAND 20 59 Assembled Instruction:! I-Add. Reg. NSI 1-6 A-Add. Reg. dbb B-Add. Reg. 481 Figure 1-9. IS 922 Read Column Binary and Branch 49 C :~ . : I Punch Column Binary Punch Column Binary and Branch Instruction Format. Instruction Format. Mnemonic SPS P A PCB Op Code 4 d-character C Function. This instruction, executed in two parts, requires that the information be stored in two different areas. Information that is to be punched in rows 12-3 (card columns 1-80) is stored in locations 401-480. Hows 4-9 of the card (columns 1-80) are punched from storage locations 501-580. U sing the same data shown in the READ COLUMN BINARY example, the card is punched: Storage Locations BCD Punches 401 501 B 2 12 8 I-address xxx d-character C Function. This is the same as the PUNCH COLUMN BINARY instruCtion, except that the next instruction is taken from the I -address. Word l'.1.arks. Word marks are not affected. Timing. T = .0115 (LI + 1) ms + I/O. Note. The PUNCH COLUMN BINARY AND BRANCH instruction ( 4xxxC) cannot be combined with any other operation. The punch checking of output data is unchanged. I-Add. Reg. NSI A-Add. Reg. BI B-Add. Reg. 181 Example. Punch a card in fhe column-binary mode, and branch to BINCD (0986) for the next instruction (Figure 1-11). Punches BCD CB841 BA8 Ll! 402 502 Op Code 4 Address Registers After Operation. This combination causes the H to punch in card column 1. Card column 2 is punched in rows 12, 0, 1, 3, 4, 5, 6, 7, and 9 as transferred from: Storage Locations Mnemonic SPS P A PCB 12,0,1,3 4,5,6,7,9 Word Marks. Word marks are not affected. Autocoder Timing. T = .0115 (LI + 1) ms + I/O. Note. The PUNCH COLUMN BINARY instruction (1C) cannot be combined with any other operation. The punch checking of output data is unchanged. Assembled Instruction: Figure 1-11. 1. 986 C Punch Column Binary and Branch Address Registers After Operation. I-Add. Reg. NSI 'A-Add. Reg. B-Add. Reg. 181 dbb Example. Punch the card at the punch station in the column-binary mode (Figure 1-10). Branch if Bit Equal Instruction Format. Mnemonic BBE Autocoder ~ l~l: I~t;ti~~ 50 Assembled Instruction: Figure I-JLO. Punch Column Binary OPERAND 35 ~ C 40 45 Op Code W I-address xxx B-address xxx d-character x Function. The d-character can contain any character or any combination of bits (BA 8421) that can exist in a single position of the 1401 core storage. If the character at the B-address contains any bit that matches any bit in the d-character, the program branches to the I -address. Otherwise, the program continues normally. 1-7 "Vord "P.larks. Word marks are not affected. of the tape record. The WRITE BINARY TAPE and READ instructions cause the data to be recorded in this manner. BINARY TAPE Timing. T = .0115 (LI + 2) ms. Address Registers After Operation. I-Add. Reg. NS1 A-Add. Reg. B1 B-Add. Reg. B-1 Example. Examine the stoTage locatian labeled UNPOS (0759) fOT a match in the d-character bit configuration. The d-character is a 9 (8- and I-bits). Therefore, if the character cantains either an 8- or I-bit, the pragram branches to BITEST (0985), Figure 1-12. Autocoder Assembled Instruction: Figure 1-12. '!!. 985 759 9 Move and Binary Decode I Instruction Format. Mnemonic Op Code SPS Mew M A MBD A-address xxx B-address xxx d-character A Function. This instruction arranges data in the correct order for tape writing. The A-address is usually 572 or 580, depending on whether the card has 72 or 80 columns of binary data. It specifies the units or loworder position of the record. The B-address specifies the low-order position of the area in core storage from which the record is tOo be written on tape by a WRITE BINARY TAPE instruction. The d-character specifies that this is a move and binary decode operation. At the completion of this operation, the tape-write area (B-address) contains the data from both the 401-480 and 501-580 areas in this sequence: Branch if Bit Equal 401, 501, 402, 502, 403, etc. Word Marks. A wOTd mark must be preset in the 401480 area to signify the high-order character of the recoTd (normally in location 401). Any word mark encountered stops the transfer to the tape-write area. = .0115 Timing. T Column-binary information should be recorded on magnetic tape in its logical order. To do this it is necessary to arrange the data from storage locations 401480 and 501-580 in the fallowing sequence in a tapewrite area: Address Registers After Operation. Address 401 followed by 501, followed by 402, 502, etc., until the entire area is so arranged. This puts the 12-3 data next to the 4-9 data from the same card column, in the proper sequence for writing on tape. This arranging can be done automatically by a MOVE AND BINARY DECODE instruction. Conversely, data read from a tape unit can be arranged as a card image with 12-3 punches in the 401480 area and 9-4 punches in the 501-580 area. The MOVE BINARY CODE operation performs this function. Column-binary information must be written on magnetic tape in the odd-parity mode. This means that an odd number of bits must be recarded in each position 1-8 I-Add. Reg. NS1 (LI + 1 + 2Ln) Binary Tape Instructions ms. A-Add. Reg. Address of the 400 area preset word mark + 99. B-Add. Reg. B-LB Example. Write the data in 401-480 (labeled CLB14A) and 501-580 (labeled CLB15A) areas in the tapewrite area labeled BITPAR (2080), Figure 1-13. Autocoder OPERAND :~ Assembled Instruction: Figure 1-13. ~ Move and Binary Decode 580 !80 A , : Move and Binary Code Instruction Format. Mnemonic Op Code SPS MCVV M A MBC A-address xxx B-address xxx d-character B Function. Information read from magnetic tape is arranged into a coded card image in binary form, when this instruction is used. Data to be punched in rows 12-3 is transferred to core-storage-area locations 401480, and data to be punched in rows 4-9 is stnred in the 501-580 area for punching. The A-address specifies the units position of the tape read-in area, and the B-address is usually 572 or 580, depending on the number of columns to be punched. The d-characteT (13) specifies a move-hinary-code operation. Word Marks. A word mark must be preset in the highorder position of the B-field (normally 401) to stop the operation. A word mark in the high-order position of the A-field can be set to stop the operation after the following B-cycle if desired. Timing. T = .0115 (L r + 1 + 2LB ) ms. Function. This instruction writes a tape record in the odd-parity mode. The A-address specifies the tape unit to be selected, and signals that this is a columnbinary-tape operation. The B··address specifies the high-order position of the tape record in core storage. The d-character indicates a tape-write operation. The sensing of a group-mark with a word-mark in core storage stops transmission from the system to the tape unit. Word Marks. Word marks are not affected. Timing. T = .0115 (L r + 1) ms + TM • Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %2x B-Add. Reg. GM-WM+l Example. Write a tape record in the binary mode on the tape unit labeled 4, with the data stored in the area labeled BTPOUT (2001) and ending at the group-mark with a word-mark sensed in core storage (Figure 1-15). Address Hegisters After Operation. I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. The address of the preset word mark in the 400 area + 99. A-LA Example. Move the data from the tape read-in area, labeled BITPAR (2080), to the column-binary punch area CLB14A (0401-0480) and CLB15A (0501-0580), and store it in the proper sequence for punching (Figure 1-14). Autocoder I' Label .: Assembled Instruction:.M Figure 1-15. %B4 !01 W Write Binary Tape Read Binary Tape Instruction Format. Assembled Instruction: Figure 1-14. M !80 580 B Move and Binary Code Write Binary Tape Instruction Format. Mnemonic SPS MU A WTB Op Code M A-address %Bx B-address xxx d-character W Mnemonic SPS MU A RTB Op Code M A-address %Bx B-address xxx d-character R Function. A tape record writtern in binary form is read into core storage, beginning at the location specified by the B-address and ending at an inter-record gap between tape records or a group-mark with a wordmark in core storage. The A-address indicates the tape unit selected, and signals the column-binary tape operation. The d-character (R) specifies a read operation. Word "Atlarks. Word marks are not affected. 1-9 Timing. T = .0115 (LI + 1) ms + TMo Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %2x B-Add. Reg. Message Length + 1 Example. Read the binary tape record from the tape unit labeled 5 into the area of core storage labeled BTPIN (2080) and ending at the group-mark with a word-mark sensed in core stO'rage or at the first interrecord gap encountered in the tape record (Figure 1-16) . Function. This operatiO'n code causes an entire tape recDrd to' be read intO' core storage beginning at the B-address and ending with the detection of an interrecDrd gap (IRG) in the tape recDrd. A group-mark without a word-mark is placed in storage at the right of the last data character transmitted when the IRG is sensed. At the end of the operation, the B-address register contains the address of the inserted group mark. Mode changes (alpha to numerical and vice versa) are made automatically, and are controlled by the presence of mode change characters (Ll) in the tape record. Word Marks. Word marks are not affected. Timing. T Autocoder r Label .: '38 =, Figure 1-16. (LI + 1) ms + TM • Address Registers After Operation. arPIN , ~o Assembled Instruction:!! =N %85 180 I-Add. Reg. NSI R Read Binary Tape A-Add. Reg. %3x B-Add. Reg. Address of the inserted group mark Example. Read a tape record from tape unit 2 (labeled 2) in the area O'f core storage labeled TPAREA ( 0498 ), Figure 1-17. Compressed Tape (1401, 1460) This feature makes it possible for the IBM 1401 and 1460 Data Processing Systems to' read compressed tape prepared by the IBM 7070 Data Processing System, and to expand it within core storage for processing by the stored program. The 7070 writes a compressed-tape record under contrO'I of the WRITE WITH ZERO ELIMINATION (TWZ or TWC) instruction. By using this 7070 instruction, as many as five high-order zeros in each numerical word in storage can be eliminated while the data is recO'rded on magnetic tape, thus conserving tape capacity and read-write time. The READ COMPRESSED TAPE and MOVE AND INSERT ZEROS operation codes are incorporated in the 1401 to enable it to process cDmpressed-tape re-cO'rds. Autocoder r Label .: , Instruction Format. Mnemonic Op Code MU M 1-10 A-address %Cx B-address xxx d-character R 51! Assembled Instruction: M Figure 1-17. %C2 OPERAND 5 40 498 R Read Compressed Tape Move and Insert Zeros Instruction Format. Mnemonic MIZ Read Compressed Tape trQtl~ Op Code X A-address xxx B-address xxx Function. The MOVE AND INSERT ZEROS instruction moves the compressed tape data that was read intO' core storage by a READ COMPRESSED TAPE instruction to another storage area, and expands each field to' fill the stDrage IDcations allotted to it by the field-defining wO'rd marks. The A-address specifies the units I position of the compressed tape record in core storage. (To obtain the A-address, execute a STORE B-ADDRESS REGISTER instruction immediately following the execution of the READ COMPRESSED TAPE instruction. This stores the address that contains the group mark ( =F) that indicated the end of the compressed tape record.) The B.-address of the MOVE AND INSERT ZEROS instruction specifies the units positiOon of the expanded area. The data moves from the compressed area to the expanded area, and zeros are inserted into the high-order positions of the expandedarea fields. Word Marks. Word marks must be preset in the expanded area to indicate the high-order position of each field. A group-mark, with a word-mark that has also been preset by the program, must appear at the position immediately tOo the left of the high-order storage location of the A-field. It is this group mark that signals the end of the MOVE AND INSERT ZEROS operation. Timing. T = N (LI ~ = Number +1+2 ~ LA ~ Lz) ms. of fields included in an operation. Note. When the IBM 7070 writes a tape record, it writes each word on tape in either the alphabetic or numerical mode. Each time the mode changes from alphabetic to numerical or vice versa, a mode change character, delta (Ll), is automatically written on tape. Each time a delta is read into core storage by the READ COMPRESSED TAPE instruction, it changes the setting of an internal switch to either the alphabetic or the numerical indication, corresponding to the mode. Thus, at the completion of the operation, the mode change switch indicates the mode setting of the last tape character read. In the expand operation, the setting of the internal mode switch determines the method of operation. The machine works on the MOVE AND INSERT ZEROS operation from right to left, moving the data, field by field, from the compressed area to the expanded area. If the compressed-area field is alphabetic, it is moved, intact, to the expanded-area field, as defined by the preset word marks. To ensure proper operation, the expanded alphabetic fields should be equal in length to the alphabetic fields read from tape. If the data are numerical, they are moved digit-by-digit, low order to high order, until a zone bit (indicating sign position) or Ll (delta) is encountered. If any high-order positions in the expanded field are unfilled, zeros are inserted until a word mark is sensed. During this operation, the detection of a Ll in the compressed area changes the setting of the mode switch, and the mode of operation changes from alphabetic to numerical, or viceversa. Example. A 4-wOord compressed-ta.pe record is prepared by the IBM 7070: Field Part name Part number Unit Cost Mode alpha numerical numerical IBM 7070 Storage Words two words one word, always plus one word, always plus The part number can be from twOo to seven digits in length. The unit cost can be from three to six digits. The compressed-tape record, written by the 7070 for a specific part, looks like this: EXTbbSHANK~0475CI154E The letter C is a plus sign over units digit 3. The E is a plus sign over units digit 5. The mode switch is set to alpha mode during the compressed tape operation instruction time. Therefore, it was changed to the numerical mode by the ~. It is necessary to perfOorm the expand operation before the next READ COMPRESSED TAPE instruction. Figure 1-18 shOows the three program steps that read and expand the cOompressed-tape record for this example. A group-mark with a word-mark has been preset in position 0699. The READ COMPRESSED TAPE instruction reads into core-storage lOocatiOons 0700-0721: EXTbbSHANK~0475CI154E $ After the operation, the B-address register contains the address of the group mark (0721). The STORE B-ADDRESS REGISTER instruction modifies the MOVE AND INSERT ZEROS instruction soo that the A-address contains 721: x 000 X 721 724 724 before after The maximum size of the compressed tape record is 24 positions (to accommodate a 10-character part name, a 7-digit part number, a 6-digit unit cost, and the mode-change character). Thus, the expanded SPS OPERAND 40 00 Address R:egisters After Operation. I-Add. Reg. NSI A-Add. Reg. Address of preset group-mark with a word-mark -1 at immediate left of tape read-in area. B-Add. Reg. At last word-mark in B-field minus one. Assembled Instruction: M %C2 700 R located in storago positions 433-440 1:! 448 located in storage positions 441-444 X 000 724 located in storage positions 445-451 Figure 1-18. Move and Insert Zeros 1-11 area is defined as locations 700-724 (the 25th position is for the group mark, =F). \Vord marks are preset in positions 700, 711, and 718. The MOVE AND INSERT ZEROS instruction first tests the mode switch, and then moves the unit cost field and the group mark (1154E $) from the compressed field locations, 716-721, to the expanded field locations, 719-724. The detection of the zone bits in the letter C of the part number indicates the units position of the next field. Because no mode-change character is detected, the mode switch continues to indicate numerical. A zero is inserted in position 718. The preset word mark in that position stops the insertion of additional zeros in the unit-cost expanded field. In a similar way, the 0475C part number moves from positions 711-715 to positions 713-717, and zeros are inserted in positions 712 and 711, halted by the word mark in location 711. The ~ in position 710 indicates the units position of the next field (part name). The ~ changes the setting of the mode-change switch from numerical to alphabetic. In the alphabetic mode, characters are moved without insertion of zeros. The expanded area in core storage after the operation looks like this: EXTbbSHANK~000475COI154E * NOTE: To conserve storage, the compressed area overlaps with the expanded area in this example. Console (1447, Model 2 or 4) Attachment (1460) This special feature provides for the attachment of a console input-output printer to the 1460 system. For more detailed information on the 1447, refer to IBM 1447 Console, Form A24-3031. Console Inquiry Station Adapter (1401) This feature provides the additional circuitry to attach an IBM 1407 Console Inquiry Station to the 1401. For more detailed information on the 1407, refer to IBM 1407 Console Inquiry Station, Form A24-3084. 1-12 Direct Data Channel (1401, 1460) This feature provides for the attachment of the following data processing systems through their serial I/O adapters: 1401-1401; 1401-1440; 1401-1460; 1440-1440; 1440-1460; 1460-1460. With the direct-data-channel special feature, the two processing systems are cable-connected through the serial I/O adapter feature on each system. When the direct data channel feature is in use, no other input-output unit can use the serial I/O adapter feature on either system. The cable length between the two systems can be any length up to a maximum of 100 feet. Data transmission takes place serially by character and parallel by bit (WM BA8421 plus a parity bit). Because word marks can be transmitted, the 1401 systems must have the engineering change installed that adds the WM bit line. The type of data transmission operation that can be performed is varied and at the discretion of the customer. Depending on the written program, both systems can send and receive data, or one system can send data only while the other system can receive data only. To permit this flexibility, the direct-data-channel feature makes use of three types of instructions: 1. SIGNAL CONTROL 2. BRANCH 3. MOVE instructions instructions and LOAD instructions. Signal Control Instrudions The SIGNAL CONTROL instructions are used by one processing system to: 1. inform the other processing system that it wants to perform a particular operation, or 2. actually perform a particular function in the other system. NOTE: The Autocoder mnemonic for SELECT STACKER instruction (SS) can be used with the C, D, and Ed-characters for direct-data-channel instructions. The diagnostic phase of Autocoder will flag the instruction as an error, because it assumes that the d-character represents a stacker. However, the error flag can be ignored because the assembled instruction in the output object program will contain the intended (C, D, and E) d-characters. I Example. The system executing this instruction signals the other system that it wants to send data to the other system (Figure 1-20). Read Request Instruction Format. Mnemonic Op Code SS K d-character C Autocoder ~ Function. This instruction informs the other system that the system initiating this instruction wants to read (receive) data from the other system. This condition is tested for in the other system with its B (III) 3 instruction. OPERAND Label 10 .: .K Assembled Instruction: Figure 1-20. 10 15 D Write Request Word Marks. Word marks are not affected. Timing. T =N (LI + 1) ms. Address Hegisters After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI dbb dbb Reset Example. The system executing this instruction signals the other system that it wants to receive data from the other system (Figure 1-19). Autocoder OPERAND 10 It) Assembled Instruction: 'Figure 1-19. K 15 10 C Read Request Instruction Format. Mnemonic Op Code d-character SS K E Function. This instruction originates a signal that resets the end of transmission circuitry in the other system. This reset operation cannot be tested for in the other system. This instruction must be given prior to each execution of a read or write data instruction. It must be executed by the 1401 (if one of the machines is a 1401) every time the other machine is started or restarted. This is the only way to reset the end-oftransmission circuitry in the other machine, because the 1401 start-reset key does not include such a funq~ion. Write ReqlJest Word fvlarks. Word marks are not affected. Instruction Format. Mnemonic SS Op Code d-character K D Function. This instruction informs the other system that the system initiating this instruction wants to send (write) data to the other system. This condition is tested for in the other system with its B (III) 4 instruction. Timing. T =N (LI + 1) ms. Address Registers After Opm'ation. I-Add. Reg. A-Add. Reg. NS1 B-Add. Reg. dbb dbb Example. Reset the end of transmission circuitry in the other system (Figure 1-21). Word Marks. Word marks are not affected. Autocoder Timing. T =N (LI + 1) ~ ms. OPERAND Label Address negisters After Operation. 10 Assembled Instruction: I-Add. Reg. A-Add. R.eg. B-Add. Reg. NSI dbb dbb Figure 1-21. .K E Reset 1-13 ters, and the tests they perform, are shown in Figure 1-22. Branch Instructions (Direct Data Channel) Branch if Indicator On Word Marks. Word marks are not affected. Instruction Format. Mnemonic BIN Op Code B I-address III d-character n Function. This instruction and its associated d-characters are used by the system initiating these instructions to check for various conditions on the other system. When a tested condition is present, the program branches to the previously written subroutine. The BRANCH IF INDICATOR ON instruction d-charac- Condition in System Initiating Line/Signal (System A) Timing. No Branch: T = N (LI Branch (without indexing): T = N (LI + 1) ms. Branch (with indexing): T = N (LI + 2) ms. Line/Signal Sent Process Check due to detection of Transmission Error I + 1) ms. Reset By System B, Testing Conditions in System A with Branch-If-Indicator-On Instructions Branch Instruction * Indicator Reset Start Reset Key !!. (III) 1 By executing the Branch Instruction in System B, or by pressing Start Reset Key in System Ai both alternatives after pressing the Check Reset Key in System A. 1401, 1440, 1460 !!. (III) 2 By executing a K E Instruction in System B or by pressing the Start Reset Key in System A, if System A is a 1440 or 1460 System. Note: This Indicator must be off in J.)()'thSystems before initiating any data transfer. End of Transmission. A GMWM was reached in the System A I/o - area during the previous data transfer. (The I/o - area in System A was smaller or equal in size to that of System B.) I/o A Read Request Instruction (K C) has been executed in System-A. Read Request Start Reset Key !!. (III) 3 By executing a Write Data (with or without Word Marks) instruction, or pressing the Start Reset Key in System A. A Write Request Instruction (!S. D) has been executed by System A. Write Request Start Reset Key !!. (III) 4 By executing a Read Data (with or without Word Marks) Instruction, or pressing the Start Reset Key in System A. A Write Data Instruction is being executed in System A. Start Reset Key !!. (III) 6 When System A ends the Write operation. (This is done when System B has executed a Read Instruction or by pressing the Start Reset Key in System A, or if the Indicator 2 was not reset in System A.) A Read Data Instruction is being executed in System A. Start Reset Key !!. (III) 7 When System A ends the Read operation. (Th is is done when System B has executed a Write operation or by pressing the Start Reset Key in System A, or if the Indicator 2 was not reset in System A.) System A stopped (Stop key pressed, STOP Instruction, error stop, etc.) Start Reset Key !!.(l11)8 When System ,A starts. Disconnect Executing a K E instruction i;-the other system. 1440, 1460 Start Reset Key. * The d-character must be in the operand field when using a BI N mnemonic. Figure 1-22. 1-14 Branch if Indicator On Instruction Summary Address Registers After Operation. No Branch Branch (without index:ing) Branch (with index:ing) I-Add. Reg. NSI Read Data A-Add. Reg. B-Add. Reg. BI dbb NSI BI Blank NSI BI NSI Example. Test for end of transmission by other system. If the other system did signal an end of transmission, bninch to MSGSNT (0843), Figure 1-23. OPERAND label 40 Assembled Instructi()n: Figure 1-23. ! 45 Mnemonic Op Code MU M A-address %H1 B-address xxx d-character R Function. This instruction causes the data sent from the other system to read into core storage, beginning at the core-storage location specified in the instruction. Word Marks. Word marks are not stored when operating in the move mode (M operation code). Autocoder ~ Instruction Format. 10 843 2 Branch if Indicator On Timing. T time. =N M or .!:---The M or L operation code specifies whether the data transmission will be performed in the move mode or load mode. If the move mode is specified, up to 7 bits per character (CBA8421) are involved in the data transmission. If the load mode is specified, up to 8 bits per character (WM CBA8421) are involved in the data transmission. The same mode must be used by both systems for anyone particular data transmission. Word marks would be lost if the message transmission were in the load mode, but the message reception were in the move mode. % H 1 - The A-address (0/0 HI) specifies that the direet data channel feature is used in performing this instruetion. B B B -- The B-address specifies the high-order position of the message in core-storage area involved in the data transmission. R or W -- A d-character of R specifies a read operation. This d-character is used when the other system is sending the data. A d-character of vV specifies a write operation. This d-character is used when the other system is receiving the data. The move and load instructions used, and the operations they initiate, are: ms + transmission and start Address Registers After Operation. I-Add. Reg. NSI Move and Load Instructions The MOVE or LOAD instruction (M or L (0/0 H 1) (B B B) R or W) is used by the systems to transmit or receive the data in either the move mode or the load mode. The parts of the instruction and their use are: + 1) (LI A-Add. Reg. %81 B-Add. Reg. B + message length + 1 Example. Read data from the o.ther system and place it in core- storage, beginning at location 0633 (area is labeled INPDAT), Figure 1-24. Autocoder ~ label .: Assembled Instruction: Figure 1-24. M %Hl 633 R Read Data Read Data with Word Marks Instruction Format. Mnemonic Op Code LU L A-address %H1 B-addres8 xxx d-character R Function. This instruction is similar to. the READ DATA instruction except that word marks in the record area of core sto.rage are removed, and word marks sent with the other data are written in core storage. Word Nlarks. Word marks transmitted from other systems are written in core storage. Timing. T time. =N (LI + 1) ms + transmission and start 1-15 Address Registers After Operation. A-Add. Reg. %81 I-Add. Reg. NSI Write Data with Word Marks B-Add. Reg. B + message length + 1 Instruction Format. Example. Read data from the other system, with its associated word marks, and place it in core storage, beginning at location 0633 (area is labeled INPDAT), Figure 1-25. Mnemonic LU Op Code L A-address %H1 B-address xxx d-character W Function. This instruction is similar to the WRITE DATA instruction except that word marks in the output area of core storage are transmitted with the associated data. Autocoder L Label .~rati:il OPERAND JLr--.-,:-~I1L.uilf!.!''-:-:--~fIU'_H-,.....I,~''''i-N-eo-A~l}II....;-R-JIII~·'-------:l:tK..~---2.:IiL..-.-: Assembled Instruction: Figure 1-25. ! Word Marks. Word marks are sent to the other system. Timing. T time. %Hl 633 R Read Data with Word Marks =N (LI Instruction Format. Mnemonic Op Code MU M Autocoder A':'address %H1 B-address xxx ~ d-charactef W Function. This instruction causes data to be sent to the other system from core storage, beginning at the core-storage location specified in the instruotion. Word Marks. Word marks are not sent to the other system when operating in the move mode (M operation code). Timing. T = N (LI time. + 1) ms + transmission and start Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %81 B-Add. Reg. B + message length + 1 Example. Send data to the other system from the corestorage area labeled OUTDA T (first position of the data located in (633), Figure 1-26. Autocoder tiiati~ OPERAND ~o , AssembJed Instruction: Figure 1-26. 1-16 + transmission and start A-Add. Reg. %81 B-Add. Reg. B + message length + 1 Example. Send data to the other system, with its associated word marks, from the core-storage area labeled OUTDA T (first position of the data located in 0633), Figure 1-27. Write Data Label ms Address Registers After Operation. I-Add. Reg. NSI ~ + 1) Write Data It! %Hl 633 W ~. " ~ ! Label t OPERAND ratl , Assembled Instruction: Figure 1-27. ! %Hl 633 W Write Data with Word Marks Instruction Utilization in the Program With the instructions just described, the specific type of system-to-system data transmission can be set up. The type of operation performed is at the discretion of the user because the operation is completely programmed. Each system has its own specifically designed program, using the previously described instructions'. Some instructions are used in both programs, while other instructions might appear in only one program, if at all. The instnlC.tions used are completely dependent on the specific type of data transmission involved. I-Way System-to-System Data Transmission To illustrate one kind of system-to-system data transmission, assume a hypothetical case wheTe one system sends data only, while the other system receives data only. The program procedure illustrated in Figure 1-28 is meant only as an example to show the use of the various' instructions and should not be considered the optimum procedure for this kind of operation. I '"l:j ~. t= ~ Sub-outi"" At Discretion Of The Programmer 2 15 1-1 ~ 90 Io't:I '"I 0 ~ '"I $l:> 8 8 8"~ a. CD ~Inte..- 6 or ..... ~ .----------.20 Operator Intervenes 1----.-1 $l:> '< 00 '< rIl "'" Reset End-of-T ransrnllllon 22 CD 8 Circuitry In Other System I - - - - - - - t !S.E SO $l:> "'" $l:> Clear And Readjust The 1-2_4_ _ _ _ __ Read-In Area ..., ~ ,...-----''------,9 t:l Reset EncI-of-T_i_Ion 2. Clrculfly In Other System 1 - - - - - ' (IJ (IJ ~. !E Sending-System Operation 1. The sending system enters its system-to-system data transmission program and executes a BRANCH IF INDICATOR ON instruction, ~ (I I I) 8, which checks to see whether the other system is operating. 2. If the other system is stopped for any reason, the program branches into a previously specified subroutine, which may for example: a. permit processing of some other information, or, b. stop the system that initiated the instruction or, c. notify the system operator in some way. 3. If the other system is operating, another BRANCH IF INDICATOR ON instruction,] (I I I) 7, is executed, which checks the other system to see whether it is trying to execute a READ instruction. If the other system is trying to execute a READ instruction, it informs the sending system by setting the indicator tested by a ~ (I I I) 7 instruction. 4. When a ~ (I I I) 7 instruction results in a branch, the sending system immediately executes a WRITE instruction, M or L (0/0 HI) (B B B) W. The actual data transmission occurs between the two systems and continues until one of the systems encounters a preset group-mark with a word-mark in its core storage. The group-mark with a wordmark terminates the data transmission operation and sends a termination signal to the other system. 5. If any transmission error occurs in the sending system during the data transmission, the sending system stops at the end of the data transmission operation. 6. The system operator must start the system operating again and will either try to send the data again (step 4) or start at the beginning of the subroutine (step 1). 7. If no transmission enor occurred in the sending system during the data transmission, then the corestorage address contained in the B-address register is stored in a location specified by the STORE BADDRESS REGISTER instruction, H (x x x). This information is used later to determine whether the complete message was transmitted. 8. A BRANCH IF INDICATOR ON instruction, B (I I I) 1 is executed, which checks to see whether any transmission errors occurred in the other system. 9. If any error occurred in the other system, the endof-transmission circuitry in that system is reset CKE instruction) and the sending system tries to send the data again. The actual data transmission does not start until the operator corrects the error con1-18 dition in the other (receiving) system and starts that system operating again. 10. If no transmission error occurred, a BRANCH IF INDICATOR ON instruction, B (I I I) 2, is executed, which checks to see whethel~-"the other system ended the data transmission. 11. If the other system did not end the data transmismission, it means that the entire message was transmitted. The subroutine ends, and the system returns to its main program. 12. If the other system did end the data transmission, a check must be made to see whether the entire message was transmitted. One method that could be used is to compare the address stored in step 7 with the address known to be the last core-storage address in the sending system data area. 9. If the two addresses do not compare, then the endof-transmission circuitry in the other system is reset, and the sending system tries to send the data again (step 4) because the receiving system did not receive the complete message. 13. If the two addresses do compare, it means that the entire message was transmitted. The end-of-transmission circuitry in the other system is reset. 11. The subroutine ends, and the system returns to its main program. There is one other condition that could have occurred in the sending system. This is the condition that occurs when the other system is not trying to execute a READ instruction. 3. A BRANCH IF INDICATOR ON instruction, 12 (I I I) 7, is executed, which checks to see whether the other system is trying to execute a READ instruction. 14. If the other system is not trying to execute a READ instruction, then the sending system informs the other system that the sending system wants to send data by executing a WRITE REQUEST instruction, ~D. Receiving-System Operation In the receiving system operation being used in this example, there are three conditions that might occur: 1. Sending system wants to send data, or, 2. Sending system is trying to execute a struction, or, WRITE in- 3. Sending system does not want to send data and is not trying to execute a WRITE instruction. Each one of these situations is discussed. I 15. The receiving system enters its system-to-system data transmission program and executes a BRANCH IF INDICATOR ON ins tnlC ti on , B (I I I) 8, which checks to see whether the othe;system is Dperating. 23. If no transmission error occurred, a BRANCH IF INDICATOR ON instructian,.!! (I I I) 2 is executed, which checks to see whether the ather system ended the data transmission. 16. If the other system is stopped fDr any reason, the program branches into a previously specified subrDutine that may be similar to the subroutine described in step 2. 24. If the other system did nnt end the data transmission, it means that the receiving system read-in area was not large enaugh to accept the incoming message. A subroutine is executed to readjust the read-in area so that it can accept the entire incaming message, and the receiving system tries to receive the data again (step 18). Condition 1-Sending system wants to send data. 17. If the other system is operating, another BRANCH IF INDICATOR ON instruction, l! (I I I) 4 is executed. This instructiDn checks to see whether the Dther system wants to send data. This condition originated in step 14 of the sending system program. If the other system wants to send data, the receiving system immediately tries to' execute a READ ins,truction, M or 1 (0/0 HI) (B B B) R. The data transmissiDn does not take place immediately, hDwever. In trying to execute a READ instruction, the receiving system signals the sending system that it is trying to execute a READ instructiDn. After a negligible time interval, the sending system enters its system-tn-system data-transmission prngram and this cDndition initiates the data transmission previously described in step 4. 18. When the executinn of a B (I I I) 4 instruction results in a branch, the receiving system immediately executes a READ instruction, M or L (0/0 H 1) (B B B) R. The actual data transmission nccurs between the two systems and cDntinues until one of the systems encounters a preset group-mark with a word-mark in its core stnrage. The group-mark with a wordmark terminates the data transmission operation and sends a terminatinn signal to the nther system. 19. If any transmission error occurs in the receiving system during the data transmission, the system stops at the end nf the data transmission. 20. The system operator must start the system operating again and will either try to receive the data again (step 18) or start at the beginning of the subrou tine (step 15). At approximately this same time, steps 10, 12, and 9 are being executed in the other system. As previausly described in these steps, the other system autamatically tries to send the message again. As saon as the read-in area is adjusted, anothe[' data transmissian operation takes place. 25. If the other system did end the data transmission, then the end-of-transmissian circuitry in the other system is reset by initiating a RESET (!~E) instructian. 26. The subroutine ends and the system returns to' its main pragram. Condition 2-Sending system trying to execute a instruction. WRITE 27. If the other system is operating, and is nat trying to' send data, anather BRANCH IF INDICATOR ON instruction, !! (I I I) 6 is executed. This instructian checks to see whether the ather system is trying to execute a WRITE insh'uction as a result of an aperatar intervention ar same other condition. If the other system is trying to execute a WRITE instruction, it infnrms the receiving system by setting the indicator tested by a l! (I I I) 6 instruction. \Vhen the execution of a.!! (I I I) 6 instruction results in a branch, the program previausly described in steps 18-26 is executed. Condition 3-Sending system does not want to send data and is nat trying to execute a WRITE instructian .. 15, 17, 27, 26. If the other system is aperating, but does not want to' send data, and is not trying to' execute a WRITE instruction, the subrautine ends and the system returns to its main prO' gram. 21. If nO' transmission error occurred in the receiving system during the data transmission, then a BRANCH IF INDICATOR ON instruction, l! (I I I) 1 is executed, which checks to see whether any transmissian errors occurred in the other system. 2-Way System-to-System Data Transmission 22. If any errar occurred in the other system, the endof-transmission circuitry in that system is reset and the receiving system tries to receive the data again (step 18). The programming involved in a 2-way system-tasystem data transmission operation is, of necessity, more involved than the I-way system-to-system pragramming just described. If both systems send and re1-19 ceive data, then the same program routine used by one system can also be used by the other system. To permit maximum efficiency, each system must test the status of the other system at regular intervals. If the data transmission operations of one system have priority over the other system's operations, then the program must include routines that will terminate, or delay, the other system's operations. If two duplicate programs are used, each program should include a dissimilar timing loop so that the systems do not re-enter their routines together after terminating an operation. If both programs try to execute READ instructions at the same time, both the systems stop operating because all program execution stops. Each system then waits for the other system to start sending data, but neither one ever starts. This condition can be eliminated by proper programming. If both programs try to execute WRITE instructions at the same time, the write operations are completed, but neither message is transferred, resulting in the loss of one message in each system. This condition can be eliminated by proper programming. CHARACTER BIT CODE BA 8 21 =1= BA 8421 B 8 21 $ t::,. B 8421 A821 ++t A8421 8421 r Figure 1-30. Unacceptable Characters in Sixth Position of Disk Control Field The instruction used for the direct seek operation is the ~ame as that used with normal seek operation, M(%FO)(BBB)R. The B-address position of the instruction contains the core-storage address of the high-order position of the 6-digit disk-control field used. Disk-Control Field Direct Seek (1460) This special feature reduces access time (250 ms maximum, 150 ms average) by allowing the access assembly to be positioned directly at a new setting without returning to the home position. Disk Control Field Alternate Code Sector Address X X XXXXXX XXXXHX -.- Sector Count Field Remarks XXX T Any Valid Digit Direct seek operations use a 6-position disk-control field (Figure 1-29). The first positiO'n of the disk-control field contains the disk drive number (0, 2, 4, 6, ar 8). An asterisk cannot be used for this operation. The next four positions (2-5) contain a signed 4-digit number equal to twice the number of cylinders to' be advanced (+) or retracted (-). The sixth pO'sition contains a pound (#) sign to indicate a direct-seek operation. NOTE: Any character with 8-2-1 bit combination will be taken to indicate a direct seek operation and cannot, therefore, be used in the sixth position. See Figure 1-30 for a list of these characters. The signed difference field can be calculated by the method shown in Figure 1-31. This method uses the four high-arder positions of the disk address at which the access arm is positioned and the four high-order Any Valid Digit Direct Seek Code Figure 1-29. 1-20 Both Odd 0043 Signed Difference (No. of Cylinders to be crossed Times 2 must be signed). New Address 004372 0043 Old Address 003291 0032 Drive Number (0, 2, 4, 6 or 8) Signed Difference 0010 (+because increase in address) Disk Control Field for Direct Seek +1 0033 difference + Figure 1-31. Calculating Signed Difference 0010 I Number of Cylinders Traveled 1234- 5 6 7 8 910- Figure 1-32. Time in Milliseconds 54 Minimum 67 80 90 105 115 130 140 ,155 165 Number of Cylinders Traveled Time in Mi II iseconds 2 0 - - - 130 30 137 4 0 - - - 154 5 0 - - - 170 60 70 80 90 99 185 202 ·217 235 248 Maximum Cylinder Seek Time with Direct Seek positions of the disk address to be sought. Both Helds must be changed to either odd or even (add one to even, subtract one from odd). The old address is then subtracted from the new address. The result of the subtraction has the correct sign to indicate that the mechanism is to advance (+) or retract (-). If for some reason the address fails to specify the module in the alternate code position, direct seek will be executed on the master :file. Direct-Seek Timing Figure 1-:32 provides seek times when direct seek feature is installed on the system. feature. With this feature, asterisk protection, floating dollar sign, decimal control, and sign control left operations can be performed. The zero-suppression code in the control word should be in the position immediately to the left of the decimal, except as required in Decimal Control. NOTE: Floating dollar sign and asterisk protection, or floating dollar sign and decimal control cannot be used in the same edit operation. When asterisk protection and decimal control are combined, and a blank data field is edited, the result is asterisks in all positions to the left of, but not including, the decimal-control position. Asterisk Protection When asterisks are to appear to the left of significant digits, the asterisk protection feature is used (Figure 1-33). The control word is written with the asterisk immediately to the left of the zero-suppression code. Zero balances can be protected with asterisks by placing control zeros in the right-most position. In this instance, asterisks print in all positions including the decimal position. Forward Scan: Disk-Storage Control (1460) This feature provides the controlling circuitry necessary for the proper operation of any IBM 1311 Disk Storage Drives attached to the system. For more detailed information on the IBM 1311, refer to IBM 1311 Disk Storage Drive, Form A24-3086. 1. The normal editing process proceeds until the asterisk is sensed. 2. The corresponding digit from the A-field replaces the asterisk (in the output Held). 3. The editing process continues normally until the B-field word mark is sensed and removed. Reverse Scan: Disk-Storage Drive Adapter (1401) This feature provides the controlling circuitry to attach a 1311, Model 4, Disk Storage Drive to the 1401. For detailed information on the IBM 1311, refer to IBM 1311 Disk Storage Drive, FOIID A24-3086. 1. Asterisks replace zeros, blanks, and commas, to the left of the first significant digit. 2. The word mark (set during the forward scan) signals the end of editing. It is erased, and the operation is stopped. 20257426 A-field Control word (B-field) - ------.. bbb, b*O. bb&CR I Forward scan Expanded Print Edit (1401 and 1460) The basic operations of the MOVE CHARACTERS AND EDIT instruction can be increased by the expanded print edit 002,57,!26 CR Reverse scan **2,574.26 CR Results of edit **2,574.26 CR Figure 1-33. Asterisk Protection 1-21 A-field Control word (B-field) First forward scan Reverse scan Q0257426 Control word (B-field) 002,574.26 Forward scan ----- bbb 2,574.26 Second forward scan $2,574.26 Results of edit $2,574.26 Floating Dollar Sign Floating Dollar Sign CR&bbb, bbO. bb -. CRb003, 789.40 ,- Reverse scan CRbbb3, 789.40 Results of edit CR Figure 1-35. Figure 1-34. Q0378940 A-field bbbb, b$O. bb 3,789.40 Sign Control Left 2. The corresponding character from the A-field is placed in this position of the output field. 3. A word mark is automatically inserted in this position in the output field. 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 1-34). The control word is written with the $ immediately to the left of the zero-suppression code. 4. Editing continues, and the CR or minus 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. NOTE: The control word must be larger than the A-field. Three scans are necessary to complete this editing operation. Reverse Scan: First Forward Scan: 1. The editing proceeds until the $ is sensed. 2. The corresponding digit from the A-field replaces the $ (in the output field). 3. Editing continues until the B-field word mark is sensed and removed. Reverse Scan: 1. Blanks replace both zeros and commas to the left of the first significant digit. 2. The reverse scan continues until the word mark (set during the first forward scan) signals the start of the second forward scan. 1. Blanks in the output field replace zeros and commas. The scan continues until the automatically set word mark is sensed. 2. This word mark is erased and the operation ends. Decimal Control This feature ensures that decimal points print only when there are significant digits in the A-field (Figure 1-3~). 1. A-field Control word (B-field) First forward scan Reverse scan Second forward scan Second Forward Scan: Results of edit· 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. 2. A-field Control word (B-field) First forward scan Reverse scan Sign Control Left CR or minus symbols can be placed at the left of a negative field, if the sign-control-Ieft feature is used (Figure 1-35). The control word is written with the CR or minus symbols in the high-order position. Forward Scan: Result of edit 3. A-field Control word (B-field) First forward scan Reverse scan Results of edit 1. The scan proceeds until the zero-suppression character in the control field is sensed. 1-22 Figure 1-36. Decimal Control QOOOO -- 2bb. bO 000.02 bbb.OO ...bbb (Blank Field) ~9437 -- t>bb.bO 294.31 294.37 294.37 gOOOl bbb.bO :.....-- - 000.01 bbb.01 .01 I Two scans are sufficient to complete this editing operation, unless the field contains no. significant digits. Then three scans are required. Function. This instruction tests the compare indicato.r for the result of the previous compare operatio.n and branches to the I-address, if the condition specified by the d-character is present: First Forward Scan: 2. A word mark is set automatically in this position in the B- (output) field. 3. Editing continues normally until the B-field word mark is sensed and removed. BL d-character S T BH U Autocoder BE 1. When the zero-suppression code (0) is sensed during editing, the corresponding digit from the A-field replaces this positio.n. Branch to I-address if: B = A (B equals A) B < A (B is less than A) B > A (B is greater than A) If the condition is not present, the program continues with the next sequential instnwtion. Word Marks. Word marks are not affected. Reverse Scan: 1. Blanks in the output field replace zeros and commas until the decimal point is sensed. Timing. No branch: T 2. The decimal point and the digits at its right are unaltered. The auto.matically 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. =N (LI + 1) ms. Branch (without indexing): T = N (LI + 1) ms. Branch "(with indexing): Second Forward Scan: T 1. Blanks replace the zeros at the right of the decimal point and the decimal point itself. =N (LI + 2) Address Registers After Operation. 2. The operation Sto.pS at the decimal column. No Branch Branch (without indexing) Branch (with indexing) High-Low-Equal Compare Feature (1401; Standard on 1460) This feature expands the compare operation to include indicators for high, low, or equal conditions. Additional d-characters are included so that the BRANCH IF INDICATOR ON instruction can test for these conditions. The basic maehine permits testing for unequal conditions only. This feature is standard on the IBM 1460 Data Processing System. ms. I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. BI dbb NSI BI Blank NSI BI NSI Example. Co.mpare the data at RECNO (0596) to. the control number at CONTNO (0495). If the data at RECNO is higher than the co.ntrol number at CONTNO, branch to GRTAN (0797) for the next instruction (Figure 1-37). SPS ~~~~----~--~-----------~------------~ (B) OPERAND (A) OPERAND LINE COUNT LABEL Autocoder ~ Branch if High, Low, or E:qual Compare L~I Instruction Format. Mnemonic SPS B A see chart Op Code B rtl~ Assembled Instruction: I-address xxx d-character OPE~ND £ ! 495 797 596 U x Figure 1-37. Branch if High Compare 1-23 Indexing and Store Address Register (1460) Rules: 1. The product is developed in the B-field. The length of the B-field is determined by adding "1" to the sum of the number of digits in the multiplicand and multiplier fields. The indexing-and-store-address-register special feature for the 1460 functions exactly the same as the indexing-and-store-address-register portions of the advancedprogramming special feature for the 1401. For detailed information on indexing-and-store-address-register operation, refer to the appropriate sections of the Advanced Programming special feature write-up in this publication. Replace 1401 timing (.0115) with 1460 timing (.006). Example: 1246 X 4-digit multiplicand 3-digit multiplier 543 + 1. - - 8 positions must be allowed in the B-field 2. A word mark must be associated with the highorder positions of both the multiplier and multiplicand fields. 3. A- and B-bits need not be present in the units positions of the multiplier and multiplicand fields. The absence of zone bits in these positions indicates a positive sign. At the completion of the multiply operation, the B-field will have zone bits in the units position of the product only. The multiply operation uses algebraic sign control (Figure 1-38). 4. Zone bits that appear in the multiplicand field are undi'sturbed by the multiply operation. Zone bits in the units position of the multiplicand are interpreted for sign control. Multiply-Divide (1401, 1460) This feature makes it possible to perform direct multiplication and division in the IBM 1401 and/or 1460 Data Processing Systems. Timing. The average time required for a multiply operation is: T = N (L r + 3 + 2Lc + 5LcL:\I + 7Ll\I) ms. Lc = length of multiplicand field. L:\I= length of multiplier field. A chart of approximate timings is included in the section on Timing. Multiply Instruction Format. Mnemonic Op Code M @ A-address xxx B-address xxx N ate. The first addition within the multiply operation inserts zeros in the product field from the storage location specified by the B-address up to the units position of the multiplier. The A-address register and the B-address register indicate positions within the A- and B-fields on which operations are currently being performed. Word Marks. A word mark must be associated with Function. The multiplicand (data located in the Afield) is repetitively added to itself in the B-field. The B-field contains the multiplier in the high-order positions, and enough additional positions ( low order) to allow for the development of the product. At the end of the multiply operation, the units position of the product is located at the B-address. The multiplier is destroyed in the B-field as the product is developed. Therefore, if the multiplier is needed for subsequent operations, it must be retained in another storage area. The multiply-divide feature for the 1460 system has additional circuitry that automatically eliminates readdressing machine cycles when recomplementing is required during the operation. 1-24 the high-order positions of the multiplier and multiplicand fields. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A minus the length of the multiplicand. B-Add. Reg. B minus the length of product field. Multiplier Sign + + - - Multiplicand Sign + - + - Sign of Product + - - + Figure 1-38. Algebraic Sign Control for Multiplication Example. Multiply: Location of Data Word Label MULCAN MULIEH PRODCT Contents of Data Word 1246 543 0502 0065 0610 Description Multiplicand Multiplier Product The size of the product field is 4 + 3 + 1 = 8. The multiplier is placed in the three high-order positions of the PRODCT area (0603, 0604, and 0605). At the completion of the multiply opeTation, load the product in the area labeled OUT2 (0178). The units positions of the multiplier and multiplicand fields may be signed (Figure 1-39). SPS (BIOPERAND (AI OPERAND LINE COUNT LABEL OPERATIOk 1314 ADDRESS Ie 11 It I I!~I CHAR. ADJ, ADDRESS 27 21 I±I 3~1 CHAR. ~ d ADJ. H 31 Autocoder Assembled Instruction: 1. @ !: Figure 1-39., 065 502 610 605 610 178 Divide Instruction Format. Op Code % A-address xxx B-address xxx Function. This instruction divides the data (dividend) in the low-order positions of the B-field by the divisor located in the A-field, and develops the quotient in the high-order positions of the B-field. The remainder is left in the low-order positions of the B-field. Rules: 1. The quotient is developed in the B-field. The length of the B-field is determined by adding 1 to the sum, of the number of digits in the divisor and dividend fields. Example: 543 r 1246 + + - - Dividend Sign + - + - Quotient Sign + - - + Remainder Sign + - + - Figure 1-40. Algebraic Sign Control for Division 2. A word mark must be associated with the highorder position of the A-field. 3. In all cases A- and B-bits (plus sign) or B-bit (minus sign) must appear in the units position of the dividend field. The divisor may be either signed or unsigned. If there are no bits in the units position of the divisor, the machine assumes the divisor factor is positive. The divide operation uses algebraic sign control (Figure 1-40). 4. The dividend is loaded in the low-order positions of the B-field (Figure 1-41) by a ZERO AND ADD instruction to ensure that zeros are present in the highorder positions of the B-field. 5. The B-address in the DIVIDE instruction specifies the high-order position of the dividend. At the completion of division: Multiply Mnemonic D Divisor Sign a. The quotient is in the high-order positions of the B-field. The location of the units position of the quotient, is the address of the units position of the dividend, minus the length of the divisor, minus one. b. The remainder is in low-order positions of the B-field. c. The sign of the quotient is over the units position of the quotient field. d. Because only one quotient digit can be developed at a time, it is important to address the high-order position of the dividend (B-address of the DIVIDB instruction). This ensures that the first divide operation will result in a single highorder quotient digit. A dividend improperly addressed can cause an arithmetic overflow if the result of the first divide operation is greater than 9. Word Marks. A word mark must define the highorder position of the divisor. Timing. Average time required for the execution of a divide operation is calculated: T (LJ + 2 + 7L R L Q + 8L Q ) ms. = length of the quotient field. LR = length of the divisor field. =N LQ Dividend 4 digit dividend 3 digit divisor + 1 --8 positions must be allowed in the B·field ± ooooxxxx Figure 1-41. Dividend in B-field 1-25 xxxx Regular + + XXX Quotient 0001 Quotient Remainder B·FIElD ~ ~ oooT 1234 ± 000001234 ~ Figure 1-42. Dividend 1234 Divisor Location of the Results of a Divide Operation I Additional Quotient digits desired. Quotient 0001.000 A chart of approximate timings is included in the section on Timing. ~ ~ 0001.000 1234.000 + 000001234.00'0 Note. A divide operation refers to the process of developing each quotient digit. If the quotient ReId is not large enough, no overflow is indicated. This is a programming error for which the machine does not check. Division by zero results in an arithmetic overflow condition. Figure 1-42 shows the result of a divide operation. ~ Dividend 1234 Divisor Figure 1-43. Extra zeros can be added to the dividend prior to a divide operation when a larger quotient is required. For each additional quotient digit desired, place one zero to the right of the dividend as shown in Figure 1-43. Note that in this example, the units position of the quotient is not located in the position previously described in the section At The Completion of Division, a. DIVEND DIVSOR QUOT The quotient ReId is not cleared before actual division begins. SPS Additional Quotient Digits Example. DIVIDE (Figure 1-44). Label Location of Data Word 0502 0065 Data Word 1246 543 Description Dividend Divisor Quotient 0985 IIIOPERA.O COUNT LABEL Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. A minus the length of the divisor. B-Add. Reg. Tens position of quotient. If divisor has all zeros, the B-address register stands at the units position of the dividend minus the length of the divisor minus the length of the dividend minus 1. Autocoder Assembled Instruction: ~ ~ Figure 1-44. 502 985 065 982 Division 1401 MULTIPLY TlMES* WITH SPECIAL FEATURE No. Pos. Multiplicand --+ Number Positions Multiplier 1 1 2 3 4 5 6 7 8 9 10 1 .276 .414 .552 .690 .828 .966 1.104 1.242 1.380 1.518 2 .347 .552 .748 .943 1.139 1.334 1.530 1.725 1.921 2.116 3 .418 .690 .944 1.196 1.450 1.702 1.956 2.208 2.462 2.714 4 .489 .828 1.140 1.449 1.761 2.070 2.382 2.691 3.003 3.312 * Multiply 1401 Times by Factor of .522 for 1460 Times Figure 1-45. 1-26 IBM 1401 and 1460 Multiply Times (with Special Feature) 5 6 .560 .966 1.336 1.703 2.072 2.438 2.808 3.174 3.544 3.910 .631 1.104 1.532 1.956 2.383 2.806 3.234 3.657 4.085 4.508 - 7 .702 1.242 1.728 2.209 2.694 3.174 3.660 4.140 4.626 5.106 8 9 10 11 .773 1.380 1.924 2.462 3.005 3.542 4.086 4.623 5.167 5.704 .844 1.518 2.120 2.715 3.316 3.910 4.512 5.106 5.708 6.302 .915 1.656 2.316 2.968 3.627 4.278 4.938 5.589 6.249 6.900 .986 1.794 2.512 3.221 3.938 4.646 5.364 6.072 6.790 7.498 Multiply and Divide Timing Multiply and Divide Subroutines The four timing charts give the approximate timings of multiply (Figures 1-45 and. 1-46) and divide (Figures 1-47 and 1-48) operations. Two of the charts are based on the timings when a subroutine written in actual language is used. The other two charts are based on the timings required when the system is equipped with the special feature for multiply and divide. These are subroutines for multiply and divide operations, discussed here to illustrate programming methods and to aid programming for machines not equipped with the multiply-divide special feature. These are not the only methods of performing these operations-they are typical methods. 1401 MULTIPLY TIMES'" BASED ON MULTIPLY SUBROUTINE No. Pos. Multiplicand Numb., Po.Hlon. MuIHpU., Value of Elach Multiplier Digit assumed to be an average of 1/5/1 1 2 1 --~ 3.51 7.10 10.74 14.42 18.15 21.93 25.76 29.63 33.54 1 2 3 4 5 6 7 8 9 3.63 7.33 11.08 14.88 18.73 22.62 26.57 30.55 34.58 3 4 5 6 7 8 9 10 11 3.74 7.56 11.43 15.34 19.30 23.31 27.37 31.47 35.61 3.86 7.79 11.77 15.80 19.88 24.00 28.18 32.39 36.65 3.97 8.02 12.12 16.26 20.45 24.69 28.98 33.31 37.68 4.08 8.25 12.46 16.72 21.03 25.38 29.79 34.23 38.72 4.20 8.48 12.81 17.18 21.60 26.07 30.59 35.15 39.75 4.32 8.71 13.15 17.64 22.18 26.76 31.40 36.07 40.79 4.43 8.94 13.50 18.10 22.75 27.45 32.20 36.99 41'.82 4.55 9.17 13.84 18.56 23.33 28.14 33.01 37.91 42.86 4.67 9.40 14.19 19.02 23.90 28.83 33.81 38.83 43.89 (Add 1ms to times shown above if signing of quotient is required) ." Multiply 1401 Times by Factor of .522 for 1460 Times Figure 1-46. Il3M 1401 and 1460 Multiply Times (based on Multiply Subroutine) 1401 DIVIDE TIMES'" WITH SPECIAL FEATURE --+ No. of Pos. in Quotient No. of Pos. in Divisor 1 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 .276 .357 .438 .518 .598 .679 .759 .840 .920 1.001 .449 .610 .771 .932 1.093 1.254 1.415 1.576 1.737 1.898 .621 .863 1.104 1.346 1.588 1.829 2.071 2.312 2.553 2.795 .794 1.116 1.437 1.760 2.083 2.404 2.727 3.048 3.370 3.692 .966 1.369 1.770 2.174 2.578 2.979 3.383 3.784 4.186 4.589 1.139 1.622 2.103 2.588 3.073 3.554 4.039 4.520 5.003 5.486 1.311 1.875 2.436 3.002 3.568 4.129 4.695 5.256 5.819 6.383 1.484 2.128 2.769 3.416 4.063 4.704 5.351 5.992 6.636 7.280 1.656 2.381 3.102 3.830 4.558 5.279 6.007 6.728 7.452 8.177 1.829 2.634 3.435 4.244 5.053 5.854 6.663 7.464 8.269 9.074 ." Multiply 1401 Times by Factor of .522 for 1460 Times Figure 1--47. IBM 1401 and 1460 Divide Times (with Special Feature) 1-27 / 1401 DIVIDE TIMES * BASED ON DIVIDE SUBROUTINE No. of Pos. in Quotient Value of each Quotient Digit assumed to be an average of liS" 1 ~ No. of Pos. in Divisor 1 1 2 3 .4 5 6 7 8 9 1.0 3 2 8.5.02 8.870 9.238 9.606 9.974 10.342 10.710 11.078 11.446 11.815 13.703 13.899 14.094 14.290 14.485 14.681 14.876 15.072 15.267 15.468 18.904 18.928 18.950 18.974 18.996 19..020 19 ..042 19 ..066 19 ..088 19.113 .4 5 22.762 22.909 23 ..060 23.2.08 23.359 23.5.07 23.658 23.806 23.957 24.105 7 6 26.411 26.73.0 27 ..054 27.374 27.698 28.018 28.342 28.662 28.986 29.306 30.060 3.0.551 31..048 31.54.0 i 32;037 32.529 33 ..026 33.518 34.015 34.507 8 33.709 34.372 35..042 35.7.06 36.376 37.04.0 37.71.0 38.374 39.044 39.708 37.358 38.193 39.036 39.872 40.715 41.551 42.394 43.23.0 44.073 44.909 10 9 41.007 42 ..014 43 ..03.0 44.038 45 ..054 46.062 47 ..078 48 ..086 49.1.02 50.11.0 44.656 45.835 47 ..024 48.2.04 49.393 50.573 51.762 52.942 54.131 55.311 (Add 1ms to times shown above if signing of quotient is required) * Multiply 1401 Times by Factor of .522 for Figure 1-48. IIW 1460 Times 1401 and 1460 Divide Times (buecl _ Divide Subroutine) Multiply Subroutine Clear Product Area The block diagram in Figure 1-49 illustrates the logic used in developing the two multiply subroutines discussed here. Both subroutines provide for a maximum of a 9-digit multiplier, II-digit multiplicand, and a 20digit product. Both routines use positive factors. The subroutine written in actual language (Figure I-50) occupies the 900 block of storage. 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. Load Multiplier IBJ.1: 1401 PROGRAM CHART Program: Multiply Subroutine ~-,-_----,--__ -;---.':P~ro'l1'gr~am~~mlfOler"i=:= = = = = = = = = = = - " " O a l e : Inslruclion Slep 'nsl. 0 No. Address P I---Ac--/,..,-,-r----:----, 930 / 934 1, 941 E Effeclive No. of Characlers Insl. 0010 Tola' Remarks 929 Clear Product Area XXX 909 975 909 LoadMulti~ 0 Test 909 for true zero 975 909 ? No true zero - test for ~~~9_~ ~~ft'~~4-_~~~L~~~~'~~~~~':~~ 957 I.A YYY 921 No zero - add Multiplicand to Product 964 10 Shift Right Multiplicand To Product -, Move Product to Output Area I L_-1-_J I Branch Unconditional To Zero Test Figure 1-49. 1-28 I r- --, I Br~:ch I IL Main Routine ____ Multiply Flow Chart JI S 994 II 941 975 I\ 995 909 983 II 11 928 929 990 7 Reduce Multiplier by 1 909 971 ~-j----- j------ Branch to zero te at 1 Test 909 for Word Mark No Word Mark - Shift Right -- _____. Branch to z""e,,,,ro,,-t,,e,-,,-,.t~_ _ _ _ _ _ _ 941 r?- .__._. (---_ -----I--'--+-----+-------i +_+__C""0::.::n"".t,::::an,,-,,t_"-,-1'_'______ ~__________ ~1lr---"-99!..-'4~1't--_-t_ _ _ r-1- ---I--- ~ __ _ ~12'1----,-99,-"5,--+,E"1----=Z:.=Z:.=Z+--_--+-+--,M~u,",l"",tiPclli,,,,·c""at",i,o=-n ~lete - Branch back___ ~ __ _ to Program Reduce Multiplier By 1 Branch Unconditional To Zero Test XXX Location of Multiplier ~+_---++_~Y~Y-,-Y+_---+~L~o~c~at~io~n~o~fM~ul~tip~li~'c~an~d~--------(----r--r-t--+_--++_...::Z:.=Z""Z+_--+-+---,A~d""d~re,-".,,-s.=...0£next Program Step .-----t-___t_--t----; ~+_--~+_--_t----~---~------------~------- ----r-- ~+_---++_-_t--~-q"--""di.l!C'aii±-'tMultiplieL ____________ !---(--- __ I---_ ~+_--~+_--_t----+_~-I~I~d=i~itMultipli=·c=a=nd~----------r_+____t_~ ZO digit Product Figure I-50. Multiply Subroutine (actual) I 1401 IB,., Symbolic Programming System Coding Sheet Mull-i@../v SI.J6rou/-/ntU Program _ Page No.lti of J I Programm4!d by Date Identification ' (A) OPERAND COUNT LINE 3 5 6 , 0 0 2 0 o o 3 0 4 0 0 LABEL 7 8 OPERATION 13 14 I MeAN!) S I I ONE 8 ~ ZROTS Tl A 060 o o o 8 9 0 I o 0 0 iES .,.WM 0 I I 0 I 2 0 I 3 0 I 4 0 I 5 0 I 8 0 I 7 0 I 8 0 I 9 0 2 0 0 I~I LAS 7", tsw1z B I 0,0 10 10 1 : Figure 1-51. I ..* oc1w* I I I I I I I I I :-:020 :-\020 :-:02 0 :-:008 l-lO 20 A I?E A :-10 I A .1< E A CHAR. ADJ. I , ,I , I , I I I I I I I I I I I I r~l A REA , I I I 80 I g 0 55 CLEA 1<. PRO,!) AREA '-OAO M.AI-IER, OBRANCII T,R.Vc ZERO ?a R A I'VC J.I P L lJ S ZERO A,O,D...L-J..MP,A,N,O, I S II 8 J ~ROM. N!P/../ER I I 2 COMMENTS d 38 39 40 .t "RANCH. ro ZROTS T r,E,SL FOR WM, SWIFT A R£ A RT i ZR07ST BRANCf.I ro MUl-T COMPL.ETE I ~...L-J.. I I I I I o c ~w * !) c:w* oc:w MPL / ER I I Me.4 N!) DC:W lOME A REA AREA I 1 1 I I (~ AREA I ! 30 Z£R 0 S 30 A R,E .4 ADDRESS A RE A LA s r I l. C:A A REA :- 001 B ZROiST: :I ~ 27 28 4RE.A I I (B) OPERAND CHAR. ADJ. L ciA ZEROS II L. CiA MPL. / § Rl Z!?O T S T 8, ! TESTW,.,: B ~ rES TWMl 050 7 ADDRESS 16 17 76 I I I ,, I I I :1 I I I ~~ , I I I , , I I I I I I , ~-.L.....L I Multiply Subroutine (Symbolic) Any program that uses this subroutine must include a step that moves the multiplier address (XXX) to. location 937 and the multiplicand address (YYY) to IQ>catiQ>n 952. At the cQ>mpletion of the multiply subroutine, the program instruction step 12 can use a branch to the main program or stop instruetion. The routine starts in stQ>rage position 930. The product is found in 929 for a 9-digit multipler, 928 for 8-digit, 927 for 7-digit, 926 for 6-digit, etc. The subroutine written using the symbQ>lic programming system (Figure I-51) parallels the one written in actual. In this instance, the 1401 (through the processQ>r program) cQ>ntrols the location of the instructions, and the data and work areas. NOTE: The multiply subroutine results in blanks instead of zeros in the low-order position of a product when the multiplier contains low-order zeros. To correct this situation, set the product area to zeros. Divide Subroutine The restdctions placed on this subroutine (Figures I-52 and I-53) are: 1. The dividend and quotient fields must be Q>f equal length. 2. The dividend and divisor must both be positive. 3. The divisor must have no zone for its positive indicatiQ>n. This is necessary only if the divisor could be zero. 4. The divisQ>r cannot contain more than nine leading zerQ>s. 5. All fields must be located completely below address 999. 6. At the completion of the subroutine, the address of the units position of the qUQ>tient can be found in the B-address of the instructiQ>n located in 651. 7. The remainder is left in the dividend field. 8. A word mark must be located immediately to the right of the units positiQ>n of the dividend. 9. The quotient area must be preset to zerQ>s or blanks to develop the correct quotient. If the area is not zeroed or blanked, then the quotient will be added to whatever is there. The positions added will depend on the number of leading zeros in the divisor. 1-29 Numerical Print Control (1401, 1460) Add One to Address and Quotient Counter This feature is required when the numerical-print special feature is installed on the IBM 1403 Printer (MDdels 1 or 2 on 1401; Model 2 on 1460). This feature provides the checking circuitry necessary for the Dperation of the numerical-print special feature. For detailed information on this feature, refer to the IBM 1403 Printer, Form A24-3073. Find Number of Significant Digits in Divisor Print Control (1401) This feature controls the additional 32 print positions of the IBM 1404 Printer, which includes the storage and checking circuitry when used with the 1401 only. Print Control, Additional (1401) This feature controls the additional 32 print positions of the IBM 1403 Printer, Model 2, attached to a 1401, and includes the storage and checking circuitry. For detailed information on the 1403, Model 2, refer to the IBM 1403 Printer, Form A24-3073. Add One to Quotient Adjust Addresses One Position to the Right Print Storage (1401, 1460) Division Completed Branch to Main Routine Figure I-52. Divide Flow Chart 10. The infDrmatiDn shown in Data for Division Subroutine (Figure I-53), except the constant 1 in location 513, must be set initially fDr each desired executiDn Df the divide subrDutine. The two addresses in locations 507 and 510, associated with the divisor, are not altered. Thus, they do not have to be reinitialized if the divisDr is contained in the same area. I-3D This special feature provides 100 or 132 non-addressable extra positions of core storage on the 1401 (132 positions are standard on the 1460). They are used as temporary storage for printer output data. When this feature is installed, the WRITE LINE instruction transfers the data in the printer area (storage location 201-332) to print storage. Two milliseconds after the WRITE LINE instruction is given, the normal printer interlock is released and processing can continue. Thus, available processing time during a l00-ms cycle is 98 ms, as opposed to the 16-ms processing time available when the machine is not equipped with print storage. The print-storage area interlocks for 84 ms during printing on 1401 system. Therefore, another WRITE LINE instruction given during this 84 ms will cause the program to stop until the interlock is released. IB~ 1401 PROGRAM __ ~ Step Inst. PRINTED IN U.S.A. DIVIDE ROUTINE EXAMPLE Program: r-- fORM X 24·6437·0 CHART L ~ _ _ ~ogramm~!: ~__ .~_ _ _ _ _ 0- .---1",t,u,';oo ~~---'- Date: Remarks f-. [=0 516 1M 507 523 B 66?_ I -YYY 531 IS. 512 538 A __~.!.? _ _ 501 545 A 515 504 ~ --f-~~2. 1--- 1--- -------- -- - 501 504 S 513 566 Y 755 573 Y 755 580 1M 501 __ ~OJ_ _Q1.9__ M 501 698 601 M 501 705 -£&B--lM --~Q1_M 622 629 1--f-.. 1-. 'Store Address of Word Mark Position {High Order } of Divisor BranchiLQ!~~~Digit Equals Zero {NUlnber of High of :QLvi.f!.~-= ___ ..Qrde!"_~ros} __ I·· {L~th f·· .A~j\!.stj)iYi A), Dr equal to (B = A), a record in the specified sectiDn of disk stDrage. (The operation also stops when the end Df the cylinder is reached, or when the sector count reaches zerD.) The B-address of the instruction specifies the high-Drder core··storage pDsition Df the disk-control field that specifies the starting address in disk storage. The record area associated with the disk-control Figure 1-82. - Search Argument Record in Core Storage for Scan Operation field contains the search argument. The search argument must be placed in the same positions of the core-storage record as it appears in the disk-storage recO'rd. Skip codes ($) are used in those positions of the core storage read-in that are nO't a part of the search argument (Figure 1-82). The search argument can be variable in length, but must be no longer than 99 characters. The last character of a sector (100th) cannO't be included as part of the search argument. The units positions of the search argument should be foUO'wed by a group-mark with a wDrd-mark that signals the end Df the search argument. Scanning begins at the disk record specified by the B-address and ends 1. when the specified comparison is found. The sector-count field may, or may not, be all zerO's at this time. 2. when the operation reaches the end of a cylinder. The sector-count field may, or may not, be all zeros at this time. 3. when the sector-count field is reduced to all zeros. Word Marks. A group-mark with a word-mark must be set one position to the right O'f the last character of the search argument. Timing. T = .006 (LI + 1) + 2Ns + disk rotation. 400 ms is the maximum time fDr scanning one 1311 cylinder (200 sectors); 1,332 ms is the maximum time for scanning one 1301 cylinder (800 sectors). Note. The result of the scan is determined by testing the high, low, or equal compare indicators with the BRANCH IF INDICATOR ON instruction. The scan operation can be performed only on disk records written in sector format. Address Registers After Operation. I-Add. Reg. NSl A-Add. Reg. B +6 B-Add. Reg. B + 11 +LF Example. Scan disk storage for an equal compare beginning at sector-address 012510 and continue scan1-47 ning until the record with part number A24537 is found. The disk-control £eld is located in the highorder positions of the area of core storage labeled SCANAR (966-974), Figure 1-83. SPS For example, a sense switch is turned ON if printing only is required for a given job. If the switch is OFF, the data is to be printed and punched. The program can be written to interrogate the setting of this sense switch, to determine whether the data is to be printed and punched or just printed. The setting of a sense switch should not be changed while the system is operating. Autocoder Assembled Instruction: ~ %FS 966 W Figure 1-83. Scan Disk Equal Branch if Indicator On Instruction Format. I-address xxx Mnemonic Op Code SPS B B A BIN + d-character Seek-Overlap Adapter (1460) This feature is required when the seek-overlap feature is installed on the IBM 1311 Disk Storage Drives attached to a 1460 system. This feature provides some of the circuitry necessary for proper operation of the seek-overlap feature. Function. This instruction tests the position of the toggle switch speci£ed by the d-character. If the switch is in the ON position, the next instruction is taken from the I-address. If it is OFF, the program continues with the next sequential instruction. Branch to the I-address if: Sense switch B is on Sense switch C is on Sense switch D is on Sense switch E is on Sense switch F is on Sense switch G is on d-character B C Selective-Tape-Listing Control (1401, 1460) This feature is required when the selective-tape-listing special feature is installed on the IBM 1403 Printer, Model 1, 2, or 3, and it provides the controlling circuitry necessary for proper operation of the selectivetape-listing feature. d-character x D E F G "Vord Marks. Word marks are not affected. Timing. No branch: T = N (LI + 1) ms. Branch (without indexing): T = N (LI + 1) ms. Sense Switches (1401) Six sense switches make it possible to control the stored program from the 1401 console (Figure 1-84). The BRANCH IF INDICATOR ON instruction expands to allow the program to test each switch. Branch (with indexing): T = N (LI + 2) ms. Note. Sense switch A (last card switch) is standard in all systems equipped with an IBM 1402 Card Read-Punch. When the last card passes the second reading brushes, and switch A is in the ON position, the last-card indicator is turned ON and a B xxx A instruction causes a branch to the I-address. It is tU""rned OFF; on a run-in; if the switch is physically turned OFF; or if the start reset key is pressed. Address Registers After Operation. Figure 1-84. 1-48 Sense Switches No Branch Branch (without indexing) Branch (with indexing) I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. BI dbb NSI BI Blank NSI BI NSI Example. Branch to the subroutine labeled CLWARE (beginning at 0585) if sense switch G is ON (Figure 1-85 ). Autocoder ~~~.eL~_~_tl~~!~.~a-~_~__~~~=-__~on~~ __N_D~ t==:I: 118, r.J. J44WA2Ri~ G. 10 Assembled Instrudion:! Figure 1-85. " 40 41 DO 585. G Branch if Indicator (Sense Switch G) On Tape Intermix (1401, 1460) This special feature makes it possible to have 729 II, IV, V, VI and 7330 magnetic tape units in any combination, connected to the same 1401 and/or 1460 system at one time. Thus, the tape units best suited for the job to be done can be used. Some jobs may require a pair of high-speed tape units (729 IV'S) while the remainder of the operation can be performed on a slower unit (7330). Now, any combination of tape units can be provided to best suit the need of the application, thereby greatly increasing the flexibility of the IBM 1401 and 1460 Data Processing Systems to meet the requirements of any application. Serial Input/Output Adapter (1401, 1460) This speeialfeature is required to attach these components to the 1401 and 1460 systems: 1009 Data Transmission Unit 1011 Paper Tape Reader 1012 Tape Punch 1412/1419 Magnetic Character Reader 1418 Optical Character Reader 1428 Alphameric Optical Reader 7710 Data Communication Unit (1401 only) Direct Data Channel 7040/7044 System (1401 only) One adapter can be used for any of these attachments, but only one attachment can be connected at a time. Track Record (1460) The track-record special feature provides for reading or writing an entire disk track with or .without the track address. For IBM 1311, a single, 6-digit address is used, followed by 2,980 characters (2,543 for IBM 1301) in the move mode and 2,682 characters (2,261 for IBM 1301) in the load mode. Track records can be used for storing programs, tables, blocked records,. and other data requiring a single large storage block. When this feature is installed on the system, it pro... vides the track-record function to all the attached 1301 and 1311 drives. Read Disk-Track Record Space Suppression (140 1; Standard on 1460) This feature provides program control for space suppression on the printer attached to the system. The character S is used as a d-modifier character with any WRITE instruction (operation codes 2, 3, 6, 7). The S prevents the automatic spacing o~r;:ti~n -after the next print operation. The next line printed appears on the same line as the line printed by the SPACE SUPPRESS instruction-2 S. Instruction Format. Mnemonic Op Code A-address SPS MU M or L %F2 LU (word m~ks) A RDTR RDTRW (word marks) B-address xxx d-character R Function. This instruction causes data to be read from a disk track into core storage. The digit 2 in the A-address (%F2) specifies that a track-record operation is to be performed. From the 1311 disk track 1-49 2,980 characters (2,543 for 1301) are read in move mode or 2,682 characters (2,261 for 1301) in load mode. The additional characters read are accounted for by using the normal gap between disk sectors and the sector-address positions. Reading from the disk is stopped by a group-mark with a word-mark in core storage. Reading from the track begins following the address specified by the core-sector address. This address is located at the beginning of the track, directly after the index pulse. The core-sector address field in core storage is not modified, but the sector-count field in core storage is reduced by one as the track is read. The sector-count field must be set at 001 before the operation begins, so that reducing it by one can signal an end-ofoperation (000 in sector-count field). The B-address specifies the high-order position in core storage of the disk-control field, and the area in storage reserved for data read from the disk track. The R in the d-character position signifies that this is a read operation. Word Marks. A group-mark with a word-mark must be one position to the right of the last position reserved in core storage for the track record. If a group-mark with a word-mark is detected before reading of the track is completed, the wrong -length record and any-disk condition indicators turn Dn and reading stops. FDr the 1311, the position of the group-mark with a word-mark is determined by adding 2,991 (2,554 for IBM 1301) to the B-address. 1311 Timing. T = .006 (LI + 1) + 40 ms + disk rota- tion. 4 ~ 42 ms is maximum time for disk rotation. 22 ms is average time for disk rotation. 2 ms is minimum time for disk rotation. 1301 Timing. T = .006 (LI + 1) + 33.3 ms + disk rota- tation. 4 ~ 35 ms is maximum time for disk rotation. 18.3 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Note. Track-record read operations can be performed only on a track written with a TRACK RECORD instruction. Before reading starts, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are not the same, the unequal-address compare and any-disk condition indicators are turned on, and the data in storage cannot be read from the disk. Address Registers After Operation. (1311) I-Add. Reg. NSI I-50 A-Add. Reg. B +6 (1301) B-Add. Reg. B-Add. Reg. B + 11 + 2980 B + 11 + 2543 or or B + 11 + 2682 B + 11 + 2261 Example. Read disk track 012540 in core storage beginning at location 976 (area is labeled TRSEC1). The high-order position of the disk address is in the first ten positions of the label (966-975), Figure 1-86. SPS Autocoder Assembled Instruction: Figure 1-86. M. %F2 966 R Read Disk Track Record Read Disk-Track Record with Address This instruction is the same as with these exceptions: READ DISK-TRACK RECORD Instruction Format. Mnemonic Op Code A-address SPS MU M orL %F@ L U ( word marl<:s) A RDTA RDTAW (word marks) B-address xxx d-character R Function. The @ in the A-address (%F@) specifies that the address of the track record in disk storage is also read into core storage with the data on the disk track. When a disk-track record operation is initiated, an automatic check is made of the record address in storage with the record address Dn the disk. If the addresses are equal, reading begins immediately following the index pulse on the disk track. (The index pulse signals the system that the beginning of a track is about to come under the access assembly.) The track-record address in the high-order positiDn of the disk data field in core storage is written in the first sector-address position after the index pulse. Address Registers After Ope1'ation. (1311) I-Add. Reg. NSI A-Add. Reg. B +9 (1301) B-Add. Reg. B-Add. Reg. B + 11 + 2986 B + 11 + 2549 or or B + 11 + 2988 B + 11 + 2267 Example. Read the address and data from disk track 012540 into core storage beginning at location 476 (area is labeled TRECAD). The high-order position of the d.isk-control field is in the first ten positions of the label (466-475), Figure 1-87. s~.s Autocoder Assembled Instruction: Figure 1-87. M. %F@ .466 R Read Disk Track Record with Address The W in the d-character position signifies that this is a write operation. Word Marks. A group-mark with a word-mark must be one position to the right of the last character of the data in core storage. The writing of data stops when the end of track is reached on the disk and a groupmark with a word-mark is sensed in core storage. If the group-mark with a word-mark is sensed before the end of track, the remainder of the disk track is filled with data from core storage, and the wrong length record and any-disk condition indicators are turned ON. For the 1311, position or the group-mark with a word-mark is determined by adding 2,991 (2,554 for IS01) to the B-address. 1811 Timing. T = .006 (LI + 1) + 40 ms + disk rota- tion.~ 1;142 ms is maximum time for disk rotation. 22 ms is average time for disk rotation. 2 ms is minimum time for disk rotation. Write Disk-Track Record 1801 Timing. T Instruction Format. Mnemonic Op Code A-address SPS MU M or L %F2 L U (word marks) A WDTR WDTRW (word marks) = .006 (LI + 1) + S3.S ms + disk 1'0- tation.~ B-address xxx d-character W Function. This instruction causes data from core storage to be written on a disk track. The digit 2 in the A-address (%F2) specifies that a track-record operation is to be performed. From core storage an entire 1311 disk track of 2,980 characters (2,543 for IS01) is written in move mode or 2,682 characters (2,261 for 1301) in load mode. The additional characters are accounted for by writing in what is normally the gap between disk sectors and the sector address positions. Writing of a disk track is stopped by sensing a group-mark with a word-mark in core storage and the end of track. Writing begins at the track address specified by the core-sector address field. This address is located at the beginning of the track, directly after the index pulse. The core-sector address :/field in storage is not modified, but the sedor-count field in core storage is reduced by one as the track is written. Set the sectorcount field to 001 before the operation begins so that reducing it by one can signal an end-of-operation (000 in sector-count field). The B-address specifies the high-order position in core storage of the disk -control field, and the area in storage where the data to be written on the disk track is stored. 1;135 ms is maximum time for disk rotation. 18.3 ms is average time for disk rotation. 1.7 ms is minimum time for disk rotation. Note. Before writing starts, an automatic check is made of the core-sector address in storage with the record address on the disk. If the addresses are not the same, the unequaladdress compare and any-disk condition indicators are turned ON, and the data in storage cannot be written on the disk. A WRITE DISK CHECK instruction must be performed following a write operation unless an error occurred during the write operation. No other disk-storage operation can be performed until the check of data written on the disk is accomplished. If the data in core storage contains characters with word marks and the write operation is performed in the move mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored). Disk tracks adjacent to, but not above or below, a disk track written with the WRITE DISK-TRACK RECORD instruction must be either unused or set up as a track record. If the adjacent tracks are written using WRITE DISK SECTOR or WRITE DISK SECTOR WITH ADDRESSES instructions, interference occurs to the track-record data stored in what is normally the gap between sectors. Address Registers After Operation. (1311) I-Add. Reg. NSI A-Add. Reg. B +6 (1301) B-Add. Reg. B-Add. Reg. B + 11 + 2980 B + 11 + 2543 or or B + 11 + 2682 B + 11 + 2261 Example. Write a disk-track record from the data in the core-storage area labeled TRSECI (the first position of data is at 976). The high-order position of the disk address is in the first ten positions of the label ( 966-975 ), Figure 1-88. I-51 SPS Autocoder Label .: ~rati~ 151 I OPERAND Assembled Instruction: Figure 1-88. so~~~:o~.~~:~~~.~~ 5 M. %F2 966 W Write Disk Track Record Write Disk-Track Record with Address This instruction is the same as with these exceptions: WRITE DISK-TRACK REC- ORD Instruction Format. Mnemonic Op Code A-address SPS MU M or L %F@ L U (waITT marks) A WDTA WDTAW (word marks) B-address xxx d-character W Function. The @ in the A-address (%F@) specifies that the address of the track record in core storage is also written on the disk. When a disk track-record operation is initiated, an automatic check is made of the record address in storage with the record address on the disk. If the addresses are equal, writing begins immediately following the index pulse on the disk track. (The index pulse signals the system that the beginning of a track is about to come under the access assembly.) The track-record address in the high-order position of the disk data field in core storage is written in the first sector-address position after the index pulse. Word Marks. A group-mark with a word-mark must be one position to the right of the last character of data in core storage. The writing of data stops when the end of track is reached on the disk and a group-mark with a word-mark is sensed in core storage. If the group-mark with a word-mark is sensed before the end-of-track, the remainder of the disk track is I-52 filled with valid blanks (C-bit), and the wrong-length record, and any-disk condition indicators are turned on. Processing is interlocked until the end of the sector. For the 1311, the position of the group-mark with a word-mark is determined by adding 2,997 (2,560 for 1301) to the B-address. N ate. Before writing starts, an automatic check is made of the core-sector address in storage with one of the sector addresses on the pack. If the address is not found the unequal-address compare and any-disk condition indicators are turned on, and the data in storage cannot be written on the disk. A WRITE DISK CHECK instruction must be performed following a write operation. No other disk-storage operation can be performed until the check of data written on the disk is accomplished. If the data in core storage contains characters with word marks and the write operation is performed in the move mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored). Disk tracks adjacent to, but not above or below, a disk track written with the WRITE DISK TRACK RECORD or WRITE DISK TRACK RECORD WITH ADDRESS instructions must be either unused or set up as a track record. If the adjacent tracks are written using WRITE DISK SECTOR or WRITE DISK SECTOR WITH ADDRESSES instructions, interference occurs to the track-record data stored in what is normally the gap between sectors. The write-address key on disk-storage-drive zero must be ON to perform this operation. Address Registers After Operation. (1311) I-Add. Reg. NSI A-Add. Reg. B+9 (1301) B-Add. Reg. B-Add. Reg. B + 11 + 2986 B + 11 + 2549 or or B + 11 + 2688 B + 11 + 2267 Example. Write a disk-track record with its new address from the data in the core-storage area labeled TRECAD (the first position of the address is at 476). The high-order position of the disk-control field is in the first ten positions of the label (466-475), Figure 1-89. SPS Autocoder Assembled Instruction: Figure 1-89. M. %F@ 466 W Write Disk Track Record with Address an A-field to a B-field, moving left to right up to and including an A-field group-mark with a word-mark. Original B-field word marks are cleared. Translate (1460) This special feature provides the data processing system with the capability of fast, flexible translation of codes to and from the code of the system. The feature uses stored-program instructions to initiate the code translation and subsequent record movement. (IOCS for this feature is described in the SRL publication IOCS for the 1440/1448: Specifications, Form C24-3024.) One translate instruction translates a complete record, moving left to right as it replaces each record character with a character from a , translate table in core storage until a group-mark with a word-mark is detected in the field being translated. Each code translation requires a table in storage beginning at an even-hundreds address for TRANSLATEWITH-WORD-MARKS and at any hundreds address for TRANSLATE-WITHOUT-WORD-MARKS. The number of various code translations that can be handled at one time in a system is limited only by the core storage available for tables. The LOAD RECORD instruction (included in the translate feature) moves characters and word marks from Baudot Character Enters 1440 or 1460 Storage as T 5 (FIGS-T) CR CR (FIGS) 0 9 (FIGS-O) SPACE FIGS-SPACE 2 C21 4 C41 C42 421 8 C81 C82 821 C84 841 842 C842l A CAl CA2 A2l CA4 A4l A42 CA42l CA8 A8I A82 CA821 A84 CA841 CA842 A8421 B CBI H '(FIGS-H) N ,(FIGS-N) M .(FIGS-M) LF FIGS-LF L )(FIGS-Lj R 4 (FIGS-R) G &(FIGS-G) I 8 (FIGS-I) P (FIGS-P) C :(FIGS-C) o V ;(FIGS-V) E 3(FIGS-E) Generates TranslateTable Address X02 X03 X04 X05 X06 X07 X10 Xll X12 X13 XI4 XI5 XI6 X17 X20 X21 xn X23 X24 X25 X26 Baudot Character Z "(FIGS-Z) D $(FIGS-D) B ?(FIGS-B) S Bell (FIGS-S) Y 6(FIGS-Y) F !(FIGS-F) X /(FIGS-X) A -(FIGS-A) W 2(FIGS-W) J '(FIGS-J) FIGS X27 X30 X31 X32 X33 X34 X35 X36 X37 X40 X41 U 7(FIGS-U) Q 1(FIGS-Q) K ( (FIGS-K) LTRS BLANK FIGS-BLANK Translate with Word Marks Op Code T A-address xxx B-address xOO d-character > The TRANSLATE-WITH-WORD-MARKS instruction consists of I (C-A-2-1-WM) for the operation code, a 3character A-address representing the initial address of the record to be translated, a 3-character B-address representing the initial address of the translate table, and a d-character with a bit configuration of 8-4-2. The record to be translated must end with a groupmark with a word-mark. The initial address of the translate table is restricted to any available evenhundreds address such as 200, 400, 600, 800, or 1000. Two table sizes can be accommodated: a 78-character table provides as many as 64 usable positions, and a 156-character table provides as many as 128 usable positions. (Figures 1-90 and 1-91 show that the digits 8 Enters 1440 or 1460 Storage as Generates TransloteTable Address CB2 B21 CB4 B41 B42 CB421 CB8 B81 B82 CB821 B84 CB84I CB842 CBA42l CBA BAl BA2 CBA2l BA4 CBA41 Deleted From Input by Adapter BA8 BA8l CBA82 BA821 CBA84 BA841 Deleted From Input by Adapter C 1 X42 X43 X44 X45 X46 X47 X50 X51 X52 X53 X54 X55 X56 X57 X60 X61 X62 X63 X64 X65 X70 X71 --- xn X73 X74 X75 XOO XOI -- (Note: X in table address represents any hundreds-position digit.) Figure 1-90. Baudot Code to Translate-Table Address 1-53 and 9 are not used in the units or hundreds position of any generated address of the translate table.) The 156-character table consists of the 78-character table, beginning at an even-hundreds address (for example 200-277), combined with another 78-character table, beginning at the next sequential hundreds address ( 300-377). Characters and word marks from the translate table (initial address specified by B-address) replace the characters and word marks in the record being translated, beginning at the address spedfied by the Aaddress of the translate instruction. The TRANSLATE-WITH-WORD-MARKS instruction interprets word marks in the A-address field as DATA or SHIFT bits, and the word marks actually take part in the translate function. The translate instructions are interruptible. The B-field address (initial translate-table address) cannot be indexed. Generates Translate- 1440 or 1460 Generates Translate1440 or 1460 BCD Character Table Address BCD Character Table Address BLANK 1 2 3 4 5 6 7 8 9 0 /I @ > 'Ii (15) / S T U V W X Y Z t , % = I (ttr> Translate Without Word Marks Op Code T A-address xxx B-address xOO XOO X01 X02 X03 X04 X05 X06 X07 X10 Xll X12 X13 X14 X15 X16 X17 X20 X2l X22 X23 X24 X25 X26 X27 X30 X31 X32 X33 X34 X35 X36 X37 J K L M N 0 P Q R I $ * ) ; .6- & A B C D E F G H I ? tI ( < * X40 X4l X42 X43 X44 X45 X46 X47 X50 X51 X52 X53 X54 X55 X56 X57 X60 X61 X62 X63 X64 X65 X66 X67 X70 X71 xn X73 X74 X75 X76 xn Note: Word marks with the BCD characten will generate the same sequence of addresses at (X+1)OO, (X+l)Ol, etc. The TRANSLATE-WITHOUT-WORD-MARKS instruction format is the same as the TRANSLATE-WITH-WORD-MARKS instruction, but without a d-character. It functions the same, with these exceptions: Figure 1-91. BCD Character Generates Translate-Table Address 1. One table size can be accommodated: the 78-character table, which provides as many as 64 usable positions. bits or shifted codes. The adapter detects SHIFT-bit transitions, generates the required SHIFT character, and removes the SHIFT bit. Figure 1-90 is an example of how a code (Baudot telegraph code in this case) enters the system and the addresses that are generated (assuming Baudot 1-2-34-5 bits respectively, are equal to BCD bits B-A-8-4-2 with the I-bit designating figures shift). Figure 1-91 shows the BCD character and the table address generated. Translation of each character is accomplished in a 3-cycle sequence (first A-cycle, B-cycle, and second A-cycle). Refer to Figure 1-92 while reading the sequence described here. Here again Baudot code is used as an example. Although the examples show the function of the translate with incoming data, it functions the same way for outgoing data using another translate table. 2. A-field word marks do not take part in the actual translation, and are not altered by the translation. General Description of Translate The program assigns locations and contents in the translate tables depending on the desired translation. Each position of the translate table contains the BCD character to which a particular character is to be translated. For each character to be translated, the translate feature automatically selects the appropriate position of the translate table. The contents of that position replaces the character in the A-field. The contents of the translate table are undisturbed. The translate-table characters must contain odd parity. The input/output device, channel or adapter (for example, the IBM 1448 Transmission Control Unit) performs any necessary parity conv.ersion for input and output. The tables also must contain required SHIFT I-54 Fi rst A-Cycle The first A-cycle generates the appropriate translatetable address specified by the character to be translated. 900 90 'I 902 903 ![ill1Md 2 4 A WM 4 ~M WM B-REG. 1 2 4 L-.r-..--L-- ,, I-- Held cord to be translated} ,, , ,, , ----------~ \ 0 1 1 \ 8 A B 0 1 0 ~ C } } 0 WMro } \ , \ 19 10 10J 1. Transfer to units position of storage address register as 1-2-4. 2. Generate parity. 3. If all zeros, generate 8-2-C to storage address register units position. 1. Transfer to ~ position of storage address register as 1-2-4. 2. Generate parity. 3. If all zeros, generate 8-2-C to main address register units position. If the instruction is translate-with-word-marks, WM is transferred as a 1-bit combined with even bits of B-address register to storage add ress reg is te r • I- Storage Address Register at beginning of cycle. ~~===S=to=ra=g=e=A=dd=r=eS=S=Re=g=i5=te=r=a=t=en=d=O=f=C=yc=l=e=.========================================~~ A-Address Register (Remains the same before and at ~he end of first A-cycl!,) (T ranslcJte Instruction) r ..... I B-Address Register (Initial Table Address) 900 600 > I·WJ. Fint A--cycle of Translate Sequence The translate insbuction acts upon all the characters of the A-Held. Figure 1-92 shows how the instruction T 900 600 (as an example) translates one character. In this case the first character of the A-field is used as the example. The co:q.tents of position 900 has a bit configuration of 2-4-A (Baudot-code G). The first A-cycle moves this first character in the A-field to the B-register. From the B-register, the operation moves the 1-2-4 bits of this character (with proper parity) to the units position of the storageaddress register together with the A-B bits from the units position of the B-addres:s register. A-B bits in the units position of the generated address designate corestorage blocks over 3999. In Figure 1-92 the 2-4 bits produce a 6 in the units position of the storage-address register. If the 1-2-4- bits are all blanks (no-bits), the operation generates an 8-2-C bit 'configuration (zero) into the units position of the storage-address register. The first A-cycle also moves the 8-A-B bits (interpreted as 1-2-4 bits) of the same character ( with proper parity) to the tens position of the storageaddress register. In Figure 1-92 the A-bit, which becomes a 2-bit, produces a 2 in the tens position of the storage-address register. Again, if the 8-A-B bits are all blanks, the operation generates an 8-2-C bit configuration (zero) into the tens position of the storageaddress register. If the jinstruction is a TRANSLATE-WITH-WORD-MARKS, a word-mark bit in the B-register is interpreted as a 1bit and is combined with the bits already selected for transfer to the hundreds position of the storageaddress register. This adds 1 to the hundreds position of the storage-address register and thus generates an address from the second half of a 156-character table. If the table's base address' was 600 (as in Figure 1-92) the generated address would be 726. Because in the example the B-register has no word mark, the generated address is 626. A TRANSLATE-WITHOUT-WORD-MARKS instruction blocks a word mark in the B-register so it takes no part in the generation of the address. B-Cycle The B-cycle of the operation reads a character or character with word mark out of a specified translate-table address in storage into the A-register. It uses the address generated in the first A-cycle. The translate table is unaltered. Second A-Cycle The second A-cycle of the operation again reads out the character being translated and replaces it in core storage with the contents of the A-register, which contains the character read out of the translate table on the B-cycle. The original A-field character is destroyed. A TRANSLATE-WITH WORD-MARKS instruction destroys original A-field word marks hut moves word marks from the translate table to the A-field. A TRANSLATEI-55 instruction regenerates original A-field word marks into the A-field and moves translate-table word marks to the A-field. Figures 1-93 and 1-94 show how the translate instruction affects processor-storage areas. No particular codes are specified. Load Record WITHOUT-WORD-MARKS The translate feature includes a special move instruction that moves characters and associated word marks in a record from one storage area to another. Op Code p Timing. The formula for the translate-operation exe- = .006 (LI + 2 + 3N) ms. N = The number of characters in A-field to be translated. LI = 7 for TRANSLATE-WITHOUT-WORD-MARKS 8 for TRANSLATE-WITH-WORD-MARKS Example: N = TOO-character record T = 1.8 IDS 900 901 902 903 904 905 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 0 8 0 1 0 0 1 1 A 0 1 0 0 1 1 B 0 1 0 0 1 1 0 1 1 0 0 0 C WM 0 1 0 1 0 1 Original A-field (record to be 1 2 4 906 907 908 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 translated) 909 1 0 0 0 0 0 1 1 910 1 1 1 1 1 1 0 1 B-address xxx d-character > The LOAD RECORD instruction consists of P (B-4-2-1WM) for the operation code, a 3-characte; A-address representing the address of the record to be moved, a 3-character B-address representing the address of the field to which the record is moved, and ad-character with a bit configuration of 8-4-2. The operation moves characters and word marks in the A-field to the B-field, moving from low-numbered to high-numbered storage position up to and including an A-field group-mark with a word-mark, which stops the operation. Original B-field word marks are cleared. cution time (T) for the 1460 is: T A-address xxx 1 2 4 8 A B C WM 900 0 0 1 0 0 0 0 0 90 1 902 1 0 0 1 1 1 1 0 1 0 1 0 1 1 1 0 903 1 1 0 0 0 0 0 1 904 0 1 1 1 1 1 0 0 905 0 1 0 1 1 1 0 1 906 0 0 1 0 0 0 1 1 907 908 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 909 910 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 Original A-field (record to be translated) (Note: Same bit configurations as example translate-with-word-marks.) 600 601 602 603 604 605 606 607 608 674 675 676 677)TranSlate I I I I I I I I r> <1< I I I I ~ Represents an unused table address (X08, X09, X 18, X 19, X28, X29, etc.) 900 901 902 903 904 905 906 907 908 909 910 900 901 902 903 904 905 906 907 908 909 910 © © © © © © © © © © © © © © © © © ©. © © 7 7 5 6 0 6 7 0 3 Resultant A-field. word mark). 6 7 6 7 7 2 7 0 4 6 0 1 6 7 4 I-56 1 6 0 4 f WM © 604 means the contents of 604 (character and .I. 900 600 > Figure 1-93. 7 0 6 7 5 6 0 6 6 0 3 WM WM Resultant A-field. word mark) . ! Translate-with-Word-Marks I Translate table 600-677 (coded characters are assigned by the program) ~ Represents an unused table address (X08, X09, X18, X19, etc.) 6 0 4 I 6 7 6 6 7 2 6 0 4 WM WM 6 0 1 6 7 4 6 0 1 © 604 means the contents of 604 (character and 900 600 Figure 1-94. $ WM WM Translate Without Word-Maw I Transmission Control-Unit Attachment (14601 This feature is n~quired when the IBM 1448 Transmission Control UI1it is attached to an IBM 1460 Data Processing System, For detailed information on the 1448, refer to the IBM 1448 Transmission Control Unit Form A24-3010, and IBM 1448 Transmission Control Unit with IBM 1460 Data Processing System, Form A24-3050, 800 CP'I Feature (1401) This feature provides the facility to operate 729 v magnetic-tape unit at 800 cpi density with the 1401. The feature includes a tape-densities-option switch on the 1401 console, which is used to select one of the following pairs of densities: 200/556, 200/800, Dr 556/800, The high or low density seleoted by the change-density switch on each tape unit operates in conjunction with the pair of densities selected by the tape-densities-option switch, This feature is standard on an IBM 1460 Data Processing System with an IBM 1461 Input/Output ContrDI, Model 2, and is effective for both the 729 v and 729 VI magnetic-tape units, IBM 1402 Special Feature Instructions and Timing Early Ccrrd Read (Model 1 Only; Standard on Model 3) The early-card-read feature for the IBM 1402 Card Read-Punch minimizes the decrease in card-reading speed caused by lengthy processing routines. In such routines, the card-reading mechanism can engage sooner, thus reducing the time between the reading of cards. The card reader operates at a rated speed of 800 cycles per minute (one cycle every 75 milliseconds). The card reading speed depends on the tiIiiing of the READ CARD instructions in the prDgram. To effect continuous card-reading at the rate of 800 cards per minute, a READ CARD instruction must be given within 10 millisecDnds after the preceding card has been actually read into. core storage (labeled Processing Time in Figure 1-95), Normally, if prDcessing time exceeds 10 ms in a basic card-read cycle, the rated card-reading speed decreases, This occurs because of the mechanical structure of the card-read feed, There is only one time during the read cycle when the feeding mechanism can be engaged, If a READ CARD instruction is given too late (processing time exceeds 10 IllS), a card-read cycle is skipped, thus reducing the input speed from 800 to 400 cards per minute (Figure 1-96), Similarly, if the time required for processing exceeds 85 ms, two read cycles are skipped, and the input speed is reduced to 266 cards per minute, The early-card-read feature provides two additional points (clutch points) where the feeding mechanism can engage, When processing time between cards exceeds 10 ms, the feed mechanism can engage 50 ms sooner than before, The time between card feeding is reduced to 100 ms rather than 150 ms, Instead of a 50 percent reduotion in the rated speed (to 400 cpm), there is 'Only a reduction of 25 percent (to 600 cpm) as shown in Figure 1-97, Similarly, when processing time between cards exceeds 35 ms, the feed mechanism can engage 25 ms sooner than before, The time between card feeding is reduced to 125 ms rather than 150 ms, Instead of a 50 percent reduction in the rated speed (to 400 cpm), there is only a reduction of 40 percent (to 480 cpm) as shown in Figure 1-98, Figure 1-99 is a chart showing the card feed cycle times and the resultant cards per minute 'Output. CARD READING 800 CARDS PER MINUTE (Assume that operation code "1" was given. during previous cycle) ~ ~ 75ms 21m. Read S'a,' Time ..,... --------------------------------------~~ 44ms Card Reading Processing Time The Read Start Time not available as Process Time unless the "Read Release" special feature is installed, Figure 1-91:), Card Read Cycle I-51 Read Card 1 Read Card 2 No Card Feed 75 ms 75 ms Clutch Point 75 ms Clutch Point 2 RST READ PT 21 ms 44 ms 10 ms Clutch Point 4 Clutch Point 3 RST PT READ 44 21 ms m~ 10 ms Process time (10 ms + 75 ms) Figure 1-96. 400 CPM Operation - -I Clutch Latch - 14--- Clutch Engagement lOOms lOOms Clutch Points I 25 ms - RST 21 ms Figure 1-97. --'T 25 ms I I 25 ms I Read 44 ms I 10 ms 25 ms 25 ms RST Read 21 ms 44 ma RST 21 ms I 14-- Clutch Engagement - I -r- I 25 ms Read 44 ms I 10 ms I 25 ms I 25 ms 25 ms -I- 25 ms 60ms Figure 1-98. 480 CPM with Early Card Read I I 25ms ___ 35 ms -I I 10 ms 25 ms Process Time Clutch Points 25 ms I 25 ms 35 ms Process Time I-58 I Process Time 125 ms - 25 ms 600 CPM with Early Card Read Clutch Latch 25 ms I 25 ms RST 21 ms - Card IFeed Cycle The hole-count check O'f prepunched data is begun at the punch-read statiO'n and is completed at the punchcheck station after punching has occurred. Cards Per Minut,e Timing 75 ms 100 ms 125 ms 150 ms 175 ms 200 ms 225 ms 250 ms NOTE: Punching in pre punched columns is acceptable, provided that the resultant character is valid and that the punches read at the punch-feed-read station are not repeated. For example, an X can be punched in a card column that already contains a 2, but punching a K (X and 2 punches) at the punch station if either an X or a 2 was already in the card, results in a hole-count check. 800 600 480 400 342 300 266 240 Figure 1-99. The d-character R activates the punch-feed-read brushes. It can be used with the operation codes PUNCH CARD (4), WRITE AND PUNCH (6), and START PUNCH FEED (9). If the cO'mbination instruction READ AND PUNCH (5), or WRITE READ AND PUNCH (7) is given, read and punch errO'rs occur. Card Feed Timings Punch Feed Read (Models 1 and 3 Only) In some applications it is desirable to read information into the system, calculate, and punch the results in the same card from which the input data was read. By using the punch feed read feature, the card at the punch-feed-read station can be read while the card ahead of it is being punched. To permit this type of operation, a special set of BO reading brushes, called punch feed read, is added to the IBM 1402 Card ReadPunch feed, one station ahead of the punch sitation (Figure 1-100). The R d-character specifies that the card is to be read from the punch side of the 1402. The normal read area (storage locations 001-0BO) receives the information from the punch feed read in the same manner as information is read from the read feed. A validity and a columnar hole-count check is made on each card column read from the punch-feed-read brushes. MLP card codes cannot be read by the punchfeed-read brushes. The punching operation fo~ machines equipped with punch feed read is the same as in the basic 1401. Storage positions 101-1BO are specified as the punch area, and a hole-count check is made the punch brushes. Read-Punch Feed Instruction Format. d-character R Op Code Mnemonic SPS P A RF 4 Function. When this instructiO'n is used, the punch feed operates and reads the card entering the read station on the punch side. It also causes the card at the punch station to' be punched. The R character modifier makes this instructiO'n effective. Word Marks. Word marks are nO't affected. Timing. T = N (LI + 1) ms + punch start time (37 ms) and punching time O'f 1B4 ms (Figure 1-101). (Punch start time can be used for processing if the punch release special feature is installed.) N ate. An additional 3 ms is required in excess of the normal punch time of 181 ms when the punch feed-read-feature is used. Processing time available is 19 ms. Punch •• unCh PF':~ ~ l~~:~ I:';~r - -1 ~ --~- ~----_J~!:~~ur UUUU~~!::~~I_ _r_Hopper :. Read Pun,h Check Read Normal R d Punch eo NP Figure 1-100. b 4 8/2 NR Punch Feed Read Schematic I-59 I: ~~~~~~~~~~~~~~~~~~~~ 37ms Punch Start Tim~ 240 ms Punch Card operaHon~~~~~~~~~~~~~~~~~~~ I..... ,.. 184 m s - - - - - - - -_ _ _-:......... ,9m.-! Punching Processing Time Figure 1-10 1. Punch Timing (Read Punch Feed) Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. 181 dbb Example. Read the card at the punch-feed-read station, punch a card, and branch to START6 (0598) for the next instruction (Figure 1-103). Example. Read the card at the punch feed read station and punch a card (Figure 1-102). Autocoder ~ 11 .: Assembled Instruction:! 598 Autocoder Figure 1-103. Assembled Instruction:.! Figure 1-102. OPERAND Label ~ R Read-Punch Feed and Branch R Read Punch Feed Read-Punch Feed and Write Instruction Format. Mnemonic SPS WP A WRF Read-Punch Feed and Branch Instruction Format. Mnemonic SPS P A RF Op Code I-address d-character 4 xxx R Function. This instruction causes the same function as READ-PUNCH FEED, except that an automatic branch to the I-address is effected. Word Marks. Word marks are not affected. .Timing. T = N (LI + 1) ms + punch start time (37 ms) and punching time of 184 ms. (Punch start time can be used for processing if the punch-release special feature is installed.) Address Registers After Operation. I-Add. Reg. NSI 1-60 A-Add. Reg. BI B-Add. Reg. 081 Op Code 6 d-character R Function. This instruction causes the printer to operate and print a line, and the punch unit to read a card, and also causes the card at the punch station to be punched. The d-character R specifies that the card at the punch feed station is to be read. The printer takes priority and operates first, but the signal to start the punch feed read is automatically given before the end of the print operation, so that actual card reading starts' soon after the print cycle is complete . Word Marks. Word marks are not affected. Timing. T = N (LI + 1) ms + the timing conditions for print and punch overlap (see Write and Punch Operation Timing Chart - Figure E-44). The print operation normally takes 84 ms. Punch start time is 37 ms and the punch reading time is 184 ms. An additional 3 ms are added to the normal punching time of 181 iris. Normal processing time available is 19 ms. Note. If the print-storage special feature is installed in the sys-, tern, the automatic signal to start the punch-feed-read opera-, tion is given shortly after the transfer of data to the print: storage area. Thus, additional processing time can be gained. by using print storage. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. B-Add. Reg. 081 dbb Example. Write a line, read a card at the punch-feed-, read station, and punch a card (Figure 1-104). Function. Same as the READ-PUNCH FEED AND WRITE except that the program branches to the I-address for the next instructiO'n. Word Marks. WO'rd marks are not aHected. Timing. T = N (LI + 1) ms + the timing conditiO'ns' for print and punch overlap (see Write and Punch Operation Timing Chart - Figure E-44). The print operatiO'n normally takes 84 ms. Punch start time is 37 ms and the punch reading time is 184 ms. An additional 3 ms are added to' the normal punching time of 181 ms. NO'rmal processi.ng time available is 19 ms. Note. If the print-storage special feature is installed in the system, the automatic signal to start the punch-feed-read operation is given shortly after the transfer of data to the printstorage area. Thus, additional processing time can be gained by using print storage. Address Registers After Operation. I-Add. Reg. NSI Assembled Instruction:! Figure 1-104. Read-Punch Feed and Write Autocoder ~ Instruction Format. Op Code 6 I-address xxx B-Add. Reg. 081 Example. Pri.nt a line, read and punch a card from the punch side of the IBM 1402, and branch to START6 (0895) for the next instruction (Figure 1-105). R Read-Pulnch Feed, Write and IBranch Mnemonic SPS "vvp A WRF A-Add. Reg. BI OPERAND Labe' ~I. .: d-character R Assembled Instruction:! 895 Figure 1-105. • ~ R Read-Punch Feed Write and Branch 1-61 IBM 1403 Special Feature Selective-Tope-listing Feature The selective-tape-listing feature can be attached to any model of the IBM 1403 Printer so that output resuIts of data processed on a system can be printed on adding-machine style paper tapes. Operation An IBM 1403 Printer with the selective-tape-listing feature installed continues to operate at regular 1403 speeds. Each tape is individually linespaced, one line at a time (no skipping or ejecting is possible). Tape is spaced by using modified 1403 CONTROL CARRIAGE Op code (f), when used with a d-character of A through H, which signals a single linespace for the corresponding tape. (The space operation takes place after the next print operation.) The modifier characters and the tapes they control are: When a double-width tape is used, two tape linespace instructions are given, using the d-characters corresponding to the positions occupied by the doublewidth tape. If additionallinespacing is wanted, a tape linespace instruction (CONTROL CARRIAGE) Op code and the specific d-character and a PRINT instruction (g) are given. The print operation is a dummy print operation, ~nd the print area in core storage should be clear so that nothing is printed. The linespace operation occurs after the print operation. To equalize the ribbon wear, the customer can vary the location of the master tape. This can be done by using the same width tape in ano.ther location and altering the program (changing the d-character to. the character that corresponds to the new location). Tapes can be pulled up manually before tearing them. against the tear-bar portion of the tape-advancing mechanism (Figure 1-106). An end-of-tape conditio.n, sensed at the tape-spool tray, stops the printing operation and turns ON the 1403 end-of-forms light. When programming selective-tape-listing, the program should not select more than four tape-feeding solenoids simultaneously. A - Tape 1 B - Tape 2 C - Tape 3 Control (Feature Mode Switch) D - Tape 4 A feature-mode switch is provided on the 1403. This switch temporarily disconnects the standard carriagecontrol circuits and activates the tape-feeding circuits when the tape-spool assembly tray is latched in the operating position. E - Tape 5 F - Tape 6 G - Tape 7 H - Tape 8 1-62 Figure 1-106. Selective Tape Listing Feature Mechanism 1-63 Buffer Feature for the IBM 1009 Data Transmission Unit The IBM 1009 Data Transmission Unit, with the buffer feature installed, can be attached to an IBM 1401 or 1460 Data Processing System. With this feature installed on the IBM 1009, data can be loaded and unloaded to and from the transmission line while the processor is free to perform any other function. The buffer feature provides a 400-character corestorage buffer that is divided into four 100-character blocks. Blocks of 100 characters are loaded into buffer storage from the processor or unloaded from buffer storage into the processor by a single MOVE or LOAD instruction. After a block of 100 characters has been moved into the core-storage area of the processor (receive mode), testable latches can be interrogated by the program to determine whether more data is stored and available for transfer to the processor. After a block of 100 characters has been moved into the 1009 buffer from the processor core storage (transmit mode), the program routine can interrogate the buffer to determine whether it can accommodate another block of 100 characters. If additional data is available in the 1009 buffer (receive mode), or additional space is available in the 1009 buffer (transmit mode), the program can initiate another MOVE or LOAD instruction. The B-address of the MOVE or LOAD instruction should be increased by 100 before the instruction is executed. This procedure is followed until a group-mark with a word-mark (endof-message) is detected in the processor core storage (transmit mode) or an end-of-message is detected in the 1009 buffer storage (receive mode). The processor program must determine the validity of the data received by testing the appropriate latch. The data is processed if it is valid. If the data is invalid, it is automatically retransmitted a maximum of two more times. A counter in the 1009 buffer keeps track of the number of transmissions made during an error routine; however, the retransmission of data is under the control of the program. 1£ the data is still invalid after three transmissions the transmission of data ceases, and an alarm sounds, indicating operator intervention is required. The buffer feature also provides the 1009 with the ability to answer automatically and establish a telephone connection for transmission of data and to disconnect at the end of transmission without operator intervention. The direction of the transmission can be automatically controlled through appropriate programming. 1-64 Maximum Processor Time Required for Movement of Data Blocks of 100 characters, with or without word marks, are transferred by each MOVE or LOAD instruction. The following formula can be used to calculate the time involved in moving a 100-character block of data to or from the buffer. = 9N + IN + 1L + 99N or 109N + 1L (without indexing) ms. T = 9N + IN + 3N + 1L + 99N or 112N + 1L (with indexing) ms. L = Line speed in ms. N = .0115 (1401); .006 (1460) ms. Timing. T IBM 1009 with Buffer (Instructions) Several processor instructions are expanded to provide program control for operations that involve the IBM 1009 Data Transmission Unit with buffer feature installed. Initialize a Message Transmission (XMIT) Instruction Format. Mnemonic Op Code U CU A-address %D1 d-character E Function. This instruction initiates a start-of-message signal if the 1009 is in a send-run condition (transmit-receive switch is set to TRANSMIT). If the 1009 is in a receive-run condition (transmit-receive switch set to RECEIVE) the instruction causes the processor to interlock and an alarm to sound, signaling that operator intervention is necessary. This instruction is also used when the transmit, receive, and automatic switch is set to the AUTOMATIC position( buffer feature installed) and a ~ E (SET DIRECTION TO TRANSMIT) instruction has been issued. The A-address specifies the 1009, and the d-character specifies the start transmission operation. Word Marks. Word marks are not affected. Timing . . T =N (LI + 1) ms. Address Registers After Operation. I-Add. Reg. NSI A-Add. Reg. %41 B-Add. Reg. d41 Initialize a Reply' ,From Receiver (RCV) Move Character from the Receiving 1009 Instruction Format. Instruction Format. Mnemonic Op Code CU U d-character A-address %Dl D Function. The receiving 1009 signals the transmitting station that it is ready to receive and indicates the status of the previous message (see BRANCH IF INDICATOR ON instruction). Mnemonic Op Code MCW M A-address %Dl B-.address xxx d-character R Function. This instruction transfers 100 characters in the receiving 1009 buffer to the receiving processor core-storage location starting with the position specified by the B-address. The d-character specifies a receive operation. Word Marks. Word marks are not affected. =N Timing. T Word Marks. Word marks are not affected. (LI + 1) ms. Note. The transmit-receive switch on the receiving 1009 should be set to RECEIVE. If it is set to TRANSMIT, the processor is interlocked and an alarm is sounded to signal the operator. This instmction is also used when the transmit, receive, and automatic switch is set to the AUTOMATIC position (buffer feature installed) and a ! D instmction has been issued. Timing. T = 109N + 1L (see Maximum Processor Time Required for Movement of Data) Timing. T = 112N + 1L (with indexing) Note. When the 1009 recognizes the end-of-message condition, Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI %41 d41 the receiving processor gets an end-of-message-receive signal and inserts a group mark in the core-storage location immediately beyond the location containing the last character of the message. Address Registers After Operation. I-Add. Reg. A-Add. Reg. NSI %41 B-Add. Reg. B + 100 or GM + 1 Move Character to the Transntitting 1009 Instruction Format. Mnemonic Op Code MCW M Load Character to the Transmitting 1009 A-address %Dl B-address xxx d-character W Instruction Format. Mnemonic Function. The transmitting processor sends 100 characters to the 1009 buffer, sta:rting with the position in core storage specified by the B-address. The d-character, ~VV, specifies a transmit operation. Word Marks. Word marks are not affected. Timing. T = 109N + 1L (see Maximum Processor Time Required for Movement of Data) Timing. T = 112N + 1L (with indexing) Note. If a group-mark with a word-mark is sensed in processor core storage, an end-of-message transmit condition is recognized. LCA I-Add. Reg. A-Add. Reg. NSI %41 B-Add. Reg. B + 100 or GM + 1 A-address %Dl B-address xxx d-character W Function. The transmitting processor sends 100 characters, starting with the location specified by the Baddress, to the transmitting 1009 buffer. The d-character, W, specifies a transmit operation. Word 'Allarks. If a word mark is associated with a character, it is placed with the character in 1009 buffer storage during one transfeT cycle. When the character is placed on the transmission line, the word mark is converted to a word separator. Placing the character and word separator on the transmission line takes two transmission cycles. Timing. T Address Registers After Operation. Op Code L = 109N + 1L (see Maximum Processor Time Required for Movement of Data) Timing. T = 112N + 1L (with indexing) 1-65 Note. A group-mark with word-mark in processor core storage signals an end-of-message-transmit condition. A-Add. Reg. NSI %41 B-Add. Reg. B + 100 or GM +1 Op Code L A-address B-address d-character %DI xxx R Function. This instruction transfers 100 characters in the receiving 1009 buffer to receiving processor core storage starting with the location specified by the B-address. The d-character, R, signals a receive operation. Word Marks. If a word mark is associated with a character, it is received as a word separator followed by its associated data character, but converted to a word mark and placed with its associated character in the receiving 1009 buffer storage. This operation takes two transmission cycles. The character and associated word mark are then transferred to processor core storage during one transfer cycle. Timing. T = 109N + 1L (see Maximum Processor Time Required for Movement of Data) Timing. T = 112N + 1L (with indexing) Note. When the 1009 recognizes an end-of-message condition, the receiving processor interprets an end-of-message-receive signal and inserts a group mark in the core-storage location immediately beyond the location containing the last character of the message. Address Registers After Operation. I-Add. Reg. A-Add. Reg. NSI %41 B-Add. Reg. B + 100 or GM +1 I-address xxx d-character X Function. This instruction tests the indicator specified by the d-character. If the indicator is ON, the program branches to the I -address for the next instruction. If it is OFF, the program continues with the next sequential instruction. 1-66 XMIT XMIT B xxx 1 - This indicator turns on when the 1009 is in a nm - condition. If the 1009 is not in a run condition, the program should stop, or loop until the run condition is established. B xxx 2 - This indicator, when on, indicates to the processor - that the 1009 is in a buffer-available condition when in either the transmit or receive mode. This indicator turns on the first time when 100 characters have been placed in the receive 1009 buffer or when a U%D 1 E instruction has been issued when in a transmit mode. B xxx 3 - This indicator turns on if the signal sent to the - transmitting station by the !l%D 1 D instruction specified that a good transmission occurred. The transmitting processor should test this indicator and branch to the routine for the next message, if it is on. If the indicator is not on, the program should advance to test the transmission-error indicator. B xxx 4 - The reply-bad indicator turns on if the signal sent - to the transmitting station by the U%D l D instruction specified that a transmission error occurred. The transmitting processor should test this indicator and branch to an error subroutine if an error occurred. B xxx 5 - This indicator, when on, indicates to the processor - that the condition for acknowledgment that has been set in the 1009 is error-reply. This indicator turns en when the first error character is detecteu in a message and remains on until the next !l%D 1 D instruction is issued. B xxx 6 - This inuicator turns on when anyone of the fol- lowing indicators turns on: branch-2, branch-3, branch-4, branch-7, and branch-8. When the branch-6 indicator is on, the 1009 requires program attention. B xxx 7 - This indicator, when on, indicates to the processor - that the conditions for an acknowledgment have been set (reply-good or reply-bad) in the 1009. This indicator turns on when the processor receives an end-of-message signal from the 1009 and remains on until the next U%Dl D instruction is issued. B xxx 8 - This indicator, when on, indicates to the processor - that the 1009 has received an EOF (end-of-file) signal from the remote terminal. Timing. T = N (LI Instruction Format. Op Code B XMIT XMIT Word Marks. Word marks are not affected. Branch If Indicator On Mnemonic B 6 7 8 Station RCVor RCV or XMIT XMIT RCV RCV or RCV RCVor Indicators. Instruction Format. LeA 1009 Ready Buffer Service Heply Good Heply Bad Receive Error Attention 1009 Receive EOM Heceive EOF 4 5 Load Character from the Receiving 1009 Mnemonic Indicator 1 2 3 Address Registers After Operation. I-Add. Reg. d-character + 1) ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. With. Indexing Branch No Branch BI NSI BI BI Branch No Branch BI NSI Without Indexing BI BI B-Add. Reg. NSI dbl} cleared to blanks dbb Suppress 3-Second Alarm Word Marks. Word marks are not affected. Instruction Format. Timing. T Mnemonic Op Code d-character SS K A Function. This instruction prevents the 3-second alarm from sounding during a delay (such as tape rewind). Normal alarm functions will be restored when any subsequent instruction addresses the 1009. This instruction can be given when a delay in processing can be foreseen. Word Marks. Wm-d marks are not affected. Timing. T =N (LI + 1) =N (LI + 1) ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI dbb dbb Mnemonic Op Code d-character SS K F Send EOF (End-of-File) Instruction Format. ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI dbb dbb Set Direction to Receive Function. This instruction is incorporated in the prooessor transmit or receive program routine to initiate sending an EOF (end-of-file) code signal to the remote 1009. Word Marks. Word marks are ,not affected. Instruction Format. Timing. T Mnemonic Op Code SS K d-character D Function. This instruction is incorporated in the processor receive program routine to set the line direction to RECEIVE. This instruction is effective only if the transmit, receive, and automatic switch is set to =N (LI + 1) ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI dbb dbb Mnemonic Op Code SS K d-character L AUTOMATIC. Word Mark~" Word marks are not affected. Timing. T = N (LI + 1) Instruction Format. ms. Address R:egisters After Operation. I-Add. Reg. A-Add. Reg. B-Add., Reg. NSI dbb dbb Mnemonic Op Code a.-character SS K E Set Directicm to Transmit Instruction Format. Function. This instruction is incorporated in the processor transmit program routine to set the line direction to TRANSMIT. This instruction is effective only if the transmit, receive, and automatic switch is set to AUTOMATIC. Operate in Load Mode Function. This instruction is. placed ahead of the U %D 1 D instruction in the processor receive program routine if the receiving 1009 is operating in the load mode. This instruction causes all word separators to be converted to word marks as they are received at the receiving 1009 and before they are placed in the receiving 1009 buffer. The receive station operates in a load mode until an end-of-message signal is received. Timing. T = N (LI + 1) ms. Address Registers After Operation. I-Add. Reg. A-Add. Reg. B-Add. Reg. NSI dbb dbb 1-67 Index A-Address (Ovlp) ................................................................ Adapter 51-Column Feed (1401, 1460) ............................ Advanced Programming (1401) .......................................... Asterisk Protection (Edit) .................................................... 1-34 I-I I-I 1-21 B-Cycle (Tran) ................................ ,................................... .. Binary Tape Instructions (Tape) ..................................... . Binary Transfer (1460) ...................................................... .. Bit Test (1401, 1460) ........................................................ .. Branch if Bit Equal ........................................................... . Branch if High, Low, or Equal Compare (HLE) ........ .. Branch if Indicator On (DDC) ......................................... . Branch if Indicator On (Ovlp) ........................................ .. Branch if Indicator On (SS) ............................................ .. Branch if Indicator On (1009) ......................................... . Branch Instructions (Direct Data Channel) (DDC) ...... .. Buffer Feature for the IBM 1009 (DTU) ........................... . I-55 1-8 1-5 1-5 1-7 1-23 1-14 1-39 1-48 1-66 1-14 1-64 Column Binary (1401) ....................................................... . 1-5 Compressed Tape (1401, 1460) (Tape) .......................... .. 1-10 Console Attachment 1447, Model 2 or 4 (1460) .............. .. 1-12 Console Inquiry Station Adapter (1401-1447) ................. . 1-12 Control Feature Mode Switch (1403) ............................. . 1-62 Data Flow (Ovlp) ................................................................ Decimal Control (Edit) ........................................................ Decreasing an Address ........................................................ Direct Data Channel 1401, 1460 (DDC) ............................ Direct Seek................................ ..................... ........................ Direct Seek Timing .............................................................. Disk Control Field ........ .................................... .................. Disk-Storage Control (1460) .............................................. Disk-Storage Drive Adapter (1401) .................................. Divide .................................................................................... Divide Subroutine ........................... ".................................... 1-33 1-22 1-2 1-12 1-20 1-21 1-20 1-21 1-21 1-25 1-29 Early Card Read (1402) .................................................... Expanded Print Edit (1401, 1460) .................................... I-57 1-21 First A-Cycle (Tran) ............................................................ Floating Dollar Sign ............................................................ I-54 1-22 General Description of Translate (Tran) ............................ I-54 High-Low-Equal Compare Feature (1401, 1460) ............ 1-23 1009 with Buffer (Instructions) (1009) .................... 1011 Paper Tape Reader (Ovlp) .................... 1-42, 1401 System Timing Considerations (Ovlp) ............ 1402 Card Read-Punch (Ovlp) .............. 1-34, 1-42, 1402 Special Feature Instructions and Timing ...... 1403 Special Feature .................................................. 1419 Magnetic Character Reader (Ovlp) ...... 1-42, 1460 System Timing Considerations (Ovlp) ............ Increasing an Address .......................................................... Indexing .... ,........................................................................... Indexing and Store Address Register (1460) .................... Initialize a Message Transmission (1009) ............................ Initialize a Reply from Receiver (1009) .............................. Instruction Utilization in the Program (DDC) .................. 1-64 1-43 1-42 1-43 I-57 1-62 1-43 1-43 I-I I-I 1-24 1-64 1-65 1-16 IBM IBM IBM IBM IBM IBM IBM IBM Load Character from the Receiving 1009 .. ............. ....... Load Character to the Transmitting 1009 ...................... Load Record (Tran) ........................ ..... ............................... 1-66 1-65 I-56 Magnetic Tape (Ovlp) ................................................ 1-42, Maximum Processor Time Required for Movement of Data (1009) ................................................ Move and Binary Code (Tape) ........................................ Move and Binary Decode (Tape) ...................................... Move and Insert Zeros (Tape) ........................................... Move and Load Instructions (DDC) ................................ Move Character from Receiving 1009 ............................ Move Character to Transmitting 1009 ............................ Move Characters to Record or Group Mark .................. Move Record (1401, 1460) .................................................. Multiply ................................................................................ Multiply and Divide Subroutines ...................................... Multiply and Divide Timing .............................................. Multiply Subroutine ............................................................ Multiply-Divide (1401, 1460) ........ ,.................................... 1-44 1-64 1-9 1-8 1-10 1-15 1-65 1-65 1-4 1-4 1-24 1-27 1-27 1-28 1-24 Numerical Print Control (1401, 1460) ................................ 1-30 Operate in Load Mode (1009) .........,................................. .. Operation 1403 .................................................................. .. Other Input/Output Unit (Ovlp) ....................................... . Overlap Off ........................................................................ .. Overlap Off and Branch .................................................. .. Overlap On ......................................................................... . Overlap On and Branch .................,.................................. . 1-67 1-62 1-34 1-35 1-36 1-35 1-35 Print Control (1401) ........................ ,,, ................................. . Print Control Additional (1401) ...................................... .. Print Storage (1401, 1460) ............................................... . Printer Adapter (1401-1404) ............................................. . Printer Adapter (1460-1403-3) ........................................ .. Printer Control Adapter - Second Printer (1460) ........ .. Processing Overlap (1401, 1460) ..................................... . Processing-Overlap Instructions ......................................... . Processing-Overlap Timing ................................................ .. Programming Considerations (Ovlp) ................................ .. Programming Considerations, Print Storage Feature .... .. Punch Card in Overlap Mode (Ovlp) ............................ .. Punch Card in Overlap Mode and Branch (Ovlp) ...... .. Punch Column Binary ... ,.................................................. .. Punch Column Binary and Branch ................................... . Punch Feed Read (Models 1 and 3 Only) ................... . Punch Feed Read Control (1401, 1460) ......................... . 1-30 1-30 1-30 1-33 1-33 1-33 1-33 1-34 1-42 1-40 1-32 1-39 1-39 1-7 1-7 I-59 1-45 Read Binary Tape ............................................................ .. 1-9 Read Card in Overlap Mode (Ovlp) ............................... . 1-38 Read Card in Overlap Mode and Branch (Ovlp) ...... .. 1-38 Read Column Binary ........................................................ .. 1-5 Read Column Binary and Branch .................................. .. 1-6 Read-Compare Adapter (1401) ........................................ .. 1-45 Read Compressed Tape .................................................... .. 1.. 10 Read Data (DDC) ............................................................ .. 1-15 Read Data with Word Marks (DDC) ............................. . 1-15 Read Disk-Track Record (TRRC) .................................. .. 1-49 Read Disk-Track Record with Address ........................... . I-50 Read-Punch Feed ............................ ", ................................ .. I-59 1-69 Read-Punch Feed and Branch .......................................... Read-Punch Feed and Write ............................................ Read-Punch Feed; Write and Branch .............................. Read-Punch Release (1401, 1460) .................................... Read Request (DDC) .................................................... ...... Read Tape with or without Word Marks in Overlap Mode ................................ ........ .......................... Receiving-System Operation (DDC) .................................. Reset (DDC) ........................................................................ Reset Overlap (Ovlp) .......................................................... Reset Overlap and Branch (Ovlp) .................................... 1-37 1-18 1-13 1-36 1-36 Scan Disk (1460) ................................................................ Second A-Cycle (Tran) ................................ ........................ Seek Overlap Adapter (1460) ............................................ Selective Tape Listing Feature (1403) .............................. Selective-Tape Listing Control (l401, 1460) .................... Send EOF (1009) .................................................................. Sending-System Operation (DDC) .................................... Sense Switches (1401) .......................................................... Serial Input/Output Adapter (1401, 1460) ........................ Set Direction to Receive (1009) ........................................ Set Direction to Transmit (1009) ...................................... Sign Control Left (Edit) .. .................................................. Signal Control Instructions (DDC) .................................... Space Suppression (1401, 1460) .......................................... Special Feature ...................................................................... Start Punch Feed ................................................................ Start Read Feed .................................................................. Store A-Address Register .................................................... Store B-Address Register .................................................... Suppress 3-Second Alarm (1009) ...................................... System-Interlock Conditions (Ovlp) .................................... 1-47 I-55 1-48 1-62 1-48 1-67 1-18 1-48 1-49 1-67 1-67 1-22 1-12 1-49 I-I 1-46 1-45 1-2 1-3 1-67 1-41 Tape Intermix (l401, 1460) .............................................. Tape Operations (Ovlp) ...................................................... Track Record (14,60) ............................................................ Translate (1460) .................................................................. Translate with Word Marks ........ ................ ...................... Translate without Word Marks ........................................ Transmission Control Unit Attachment ............................ 1-49 1-34 1-49 I-53 I-53 I-54 I-57 Write Binary Tape .............................................................. Write Data (DDC) ........ ...................................................... Write Data with Word Marks (DDC) ............................ Write Disk-Track Record .................................................. Write Disk-Track Record with Address .......................... Write Request (DDC) ........................................................ Write Tape with or without Word Marks in Overlap Mode .................................................................. 1-9 1-16 1-16 I-51 I-52 1-13 I-Way System to System Data Transmission (DDC).... 2-Way System-to-System Data Transmission (DDC) .... 800 CPl Feature (1401) ...................................................... 1-16 1-19 I-57 1-70 1-60 1-60 1-61 1-45 1-13 1-37 Technical Newsletter File Number 1402-03 Re: Form No. A24-3072-2 This Newsletter No. N21-0098 Date November 22, 1968 Previous Newsletter Nos. None This Technical Newsletter provides replacement pages for Component Description: IBM 1402 Card Read-Punch, Form A24-3072-2. Pages to be inserted and/or removed are listed below. Cover and Edition Page 1-2 5-6 17-18 A change to the text or a small change to an illustration is indicated by a vertical line to the left of the change; a changed or added illustration is denoted by the symbol. to the left of the caption. Summary of Amendments: (1) Only Models 3,4, and 5 are equipped with a punch idle control timer. (2) When adding punches into prepunched columns, the previously punched characters must be valid. File this cover letter at the back of the manual to provide a record of changes. lnternational Business Machines Corp., Product Publications Dept., Rochester, Minn. 55901 Printed in U.S.A. A24-3071-2 5' TIrn~ CI> International Business Machines CorporatiDn Data Processing Division 112 East Post Road, White Plains, N. Y. 10601
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 : 2003:08:21 22:33:19-07:00 Modify Date : 2009:09:01 05:00:28-07:00 Metadata Date : 2009:09:01 05:00:28-07:00 Producer : Adobe Acrobat 9.13 Paper Capture Plug-in Format : application/pdf Document ID : uuid:b935b9a6-88c2-4d88-aa71-961972c0c7c6 Instance ID : uuid:406c0b4f-199a-4861-b247-5038389f1e7c Page Layout : SinglePage Page Mode : UseOutlines Page Count : 76EXIF Metadata provided by EXIF.tools