Informatika & Komputer    
   
Daftar Isi
(Sebelumnya) IBMIBM 1410 (Berikutnya)

IBM 1401

IBM 1401 Data Processing System. From the left: 1402 Card Read-Punch, 1401 Processing Unit, 1403 Printer.

The IBM 1401 was a variable wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing electromechanical unit record equipment for processing data stored on punched cards. Over 10,000 units were produced and many were leased or resold in less developed countries after they were replaced with newer technology. The 1401 was withdrawn on February 8, 1971.

Contents

History

A volunteer repairing an IBM 1401 at the Computer History Museum
Closeup of a swing-out card cage (or gate in IBM parlance) showing some of the 1401's SMS circuit cards

From the announcement:

The all-transistorized IBM 1401 Data Processing System places the features found in electronic data processing systems at the disposal of smaller businesses, previously limited to the use of conventional punched card equipment. These features include: high speed card punching and reading, magnetic tape input and output, high speed printing, stored program, and arithmetic and logical ability.'
The 1401 may be operated as an independent system, in conjunction with IBM punched card equipment, or as auxiliary equipment to IBM 700 or 7000 series systems.[1]

Monthly rental for 1401 configurations started at US$2,500.[2]

"IBM was pleasantly surprised (perhaps shocked) to receive 5,200 orders in just the first five weeks – more than predicted for the entire life of the machine!"[3] By late 1961, the 2000 installed in the USA were about one quarter of all electronic stored-program computers by all manufacturers. The number of installed 1401s peaked above 10,000 in the mid-1960s. "In all, by the mid-1960s nearly half of all computer systems in the world were 1401-type systems."[3] The system was marketed until February 1971.[4]

Commonly used by small businesses, the IBM 1401 was also frequently used as an off-line peripheral controller for mainframe computers. In such installations, with an IBM 7090 for example, the mainframe computers used only magnetic tape for input-output. It was the 1401 that transferred input data from peripherals, such as the IBM 1402 Card Read-Punch, to tape, and transferred output data from tape to the card punch, the IBM 1403 Printer, or other peripherals.

Elements within IBM, notably John Haanstra, an executive in charge of 1401 deployment, supported its continuation in larger models for evolving needs (e.g., the IBM 1410) but the 1964 decision at the top to focus resources on the System/360 ended these efforts rather suddenly. Then, faced with the competitive threat of the Honeywell 200 and the 360's incompatibility with the 1401 design, IBM pioneered the use of microcode emulation, in the form of ROM, so that some System/360 models could run 1401 programs.[5]

Two 1401 systems are being restored to operating order at the Computer History Museum in Mountain View, California, complete with a raised floor typical of the mainframe era (and modern data centers), used to hide cabling.[6][7]

Architecture

IBM 1401 Console and, below, the Auxiliary Console.

Each alphanumeric character in the 1401 was encoded by six bits, called B,A,8,4,2,1. The B,A bits were called zone bits and the 8,4,2,1 bits were called numeric bits, terms taken from the IBM 80 column punched card.

  • For digits 1 through 9, the bits B,A were zero, the digit BCD encoded in bits 8,4,2,1. Digit 0 was encoded 8,2.
  • For alphabetic characters the setting of bits was derived from the zone and digit punches of the IBM 80 column punched card character code: B,A from 12, B from 11, and A from 0; the setting of bits 8,4,2,1 from BCD encoding of the 1 through 9 punches. Thus the letter A, 12,1 in the punched card character code, was encoded B,A,1.
  • Encodings of punched card characters with two or more digit punches can be found in the Character and Op codes table.

IBM called the 1401's character code BCD, even though that term describes only the decimal digit encoding.[8] The 1401's alphanumeric collating sequence was compatible with the punched card collating sequence.

Associated with each memory location were two other bits, called C for odd parity check and M for word mark.

Each memory location then, had the following bits:

C B A 8 4 2 1 M

The 1401 was available in six memory configurations: 1.4K,[9] 2K, 4K, 8K, 12K, or 16K locations. A very small number of 1401s were expanded to 32K by special request. Each memory location was addressable, addresses were 0 through 15999.

Some operations used specific memory locations (those locations were not reserved and could be used for other purposes). Read a card stored the 80 columns of data from a card into memory locations 001-080. Index registers 1, 2 and 3 were in memory locations 087-089, 092-094 and 097-099 respectively. Punch a card punched the contents of memory locations 101-180 into a card. Write a line printed the contents of memory locations 201-332.

The 1401's instruction format was

  Opcode   with   [A-or-I-or-unit-address [B-address]] [modifier] word mark

Opcodes were one character. Memory addresses ("I" a branch target, "A" and "B" data) and unit address were three characters. The opcode modifier was one character. Instruction length was then 1, 2, 4, 5, 7, or 8 characters. Most instructions had to be followed by a word mark (a requirement commonly met by the word mark with the opcode of the next instruction).

See Character and Op codes for a list of operations.

A three character memory address in an instruction was an encoding of a five character memory address. The three low order digits of the five character address, 000 to 999, were specified by the numeric bits of the three characters. The zone bits of the high-order character specified an increment as follows: A 1000, B 2000, B and A together 3000, giving an addressability of 4,000 memory locations. The zone bits of the low-order character specified increments of 4000, 8000, or 12000, to address 16,000 memory locations (with an IBM 1406 Storage Unit). For example, the three character address "I99" was a reference to memory location 3000 + 999, or 3999.

The zone bits of the middle character of a three character memory address specified index registers, one of many optional features.

Operands referenced by the A-address and B-address were: a single memory location, a variable length field, or a variable length record. Variable length fields were addressed at their loworder position, their length defined by a word mark set at their highorder position. The only limit on the length of such fields was the available memory. Instructions applicable to variable length fields included: Add, Subtract, Multiply, Divide, Compare, Move Characters to A or B Word Mark, Move Characters and Edit. One or more adjacent variable length fields could make up a variable length record. A variable length record was addressed at its highorder position, its length defined by a group-mark character with a word mark or a record-mark character in its loworder position. The instruction Move Characters to Record or Group Mark could be used to assemble a block of records. A variable length record, or block of records, to be written to magnetic tape was addressed at its highorder position, its length defined by a group-mark character with a word mark immediately following its loworder position.

A sequence of operations on adjacent fields could be "chained", using the addresses left in the address registers by the previous operation. For example, addition of adjacent data fields might be coded as "A 700,850", "A 695,845", "A 690,840". With chaining, this could be coded as "A 700,850", "A", "A" - omitting data address from the 2nd and 3rd instructions.[10]

Booting and Sample Program

When the LOAD button on the IBM 1402 Card Read-Punch was pressed, a card was read into memory locations 001-080, a word mark was set in location 001, the word marks in locations 002-080 were cleared, and execution started with the instruction at location 001. That was always the dyadic Set Word Mark (it was the only instruction not requiring a following word mark) to set word marks for the two following instructions. Execution of instructions in the card deck continued, loading the program into memory, setting word marks, and then branching to the program's start address.

One-card programs could be written for various tasks. Commonly available were a one-card program to print the deck of cards following it, and another to duplicate a deck to the card punch. From Tom Van Vleck's web site[11] here is a one-card program which will print "HELLO WORLD". Pressing LOAD (above) begins execution at location 001 (the first ","). The program is: set word marks (opcode "," operands 008 015), set more word marks, clear storage - part of the print area 333-300 (opcode "/" operand 333), clear storage - the rest of the print area 299-200 (opcode "/" using a chained address), move "HELLO WORLD" to the print area (opcode "M", operands 079 and 250), print a line (opcode "2"), eject the page in the printer (opcode "F" modifier "1"), and halt (opcode "." operand 065 - a branch address, to this same halt command, if start is pressed).

, 008015,022029,036043,050054,055062,06 3065,069080/333/M0792502F1.065HELLO WORLD

Hardware implementation

IBM 1403 high speed line printer in the "Haus zur Geschichte der IBM Datenverarbeitung" museum, Sindelfingen, Germany

Most of the logic circuitry of the 1401 was a type of diode-transistor logic (DTL), that IBM referred to as CTDL. Other IBM circuit types used were referred to as: Alloy (some logic, but mostly various non-logic functions, named for the kind of transistors used), CTRL (a type of resistor-transistor logic (RTL)). Later upgrades (e.g., the TAU-9 tape interface) used a faster type of DTL using "drift" transistors (a type of transistor invented by Herbert Kroemer in 1953) for their speed, that IBM referred to as SDTDL. Typical logic levels of these circuits were (S & U Level) high: 0 V to -0.5V, low: -6 V to -12 V; (T Level) high: 6 V to 1 V, low: -5.5 V to -6 V.

A single width SMS card of the type used in the 1401

These circuits were constructed of discrete components (resistors, capacitors, transistors) mounted on single sided paper-epoxy printed circuit boards either 2.5 by 4.5 inches (64 by 110 mm) with a 16-pin gold plated edge connector (single wide) or 5.375 by 4.5 inches (136.5 by 110 mm) with two 16-pin gold plated edge connectors (double wide), that IBM referred to as SMS cards (Standard Modular System). The amount of logic on one card was similar to that in one 7400 series SSI or simpler MSI package (e.g., 3 to 5 logic gates or a couple of flip-flops on a single wide card up to about 20 logic gates or 4 flip-flops on a double wide card).

The SMS cards were inserted in sockets on hinged swing out racks, that IBM referred to as gates.

Like most machines of the day, the 1401 used magnetic-core memory. The cores were about 1 mm in diameter and used a four-wire arrangement (x, y, sense, and inhibit). The memory was arranged in planes of 4000 cores each, each core storing one bit. A stack of eight such planes stored the six data bits, word mark bit, and parity bit for 4000 memory locations. Together with eight additional planes with fewer cores on them for additional storage functions, this made up a 4K memory module.[12] One such module could be housed within the 1401's primary enclosure. Systems were commonly available with 8K, 12K, or 16K of memory, the additional modules being contained in an add-on box, the 1406 Core Memory Unit, which was about two feet square and three high. Operands in memory were accessed serially, one memory location at a time, and the 1401 could read or write one memory location within its basic cycle time of 11.5 microseconds.[13] All instruction timings were cited in multiples of this cycle time.[14]

Software

1403 line printer opened, with 729 tape drives in the background.

Software for the 1401 included:

  • IBM 1401 Symbolic Programming System assembler.
  • Autocoder on Tape, a more advanced assembler, required at least 4K memory and four tape drives.
  • Autocoder on Disk, similar to, but not compatible with, Autocoder on Tape, required one or more 1311 disk drives.
  • FARGO (Fourteen-o-one Automatic Report Generation Operation), a predecessor of RPG, required 4K memory.
  • FORTRAN II required at least 8K memory; the 1401 Fortran compiler is described in Haines, L.H. (1965), below. The Fortran compiler, to generate code for small memories, used a pioneering form of interpreted "p-code" although, of course, its programmers had no name for what it was that they did.
  • FORTRAN IV required at least 12K memory and either 4 tape drives or 1 IBM 1311 disk drive.
  • COBOL required at least 4k memory and 4 tape drives.
  • IBM RPG (Report Program Generator) Basic RPG required at least 4K memory.

For the IBM Catalog of 1401 software, see IBM 1400 series.

Art inspired by the IBM 1401

In October 2006, Icelandic avante-garde musician Jóhann Jóhannsson released the album 'IBM 1401, A User's Manual through music publisher 4AD.[15] The concept is based upon work done in 1964 by his father, Jóhann Gunnarsson, chief maintenance engineer of one of the country’s first computers, and Elias Davidsson, one of the first programmers in the country. The album was originally written for a string quartet, organ and electronics and to accompany a dance piece by long-standing collaborator friend, Erna Ómarsdóttir. For the album recording, Johann has rewritten it for a sixty-piece string orchestra, adding a new final movement and incorporating electronics and vintage reel-to-reel recordings of a singing IBM 1401 found in his father’s attic.[16]

1401 culture

A reel of half-inch, 7-track tape being loaded onto an IBM 729 tape drive. An IBM 1403 line printer is in the foreground.

More well-known were various demo programs to play music on transistor radios placed on the CPU[17] and computer "art", mostly kitschy pictures printed using Xs and 0s on chain printers.[18]

The 1401 was made before FCC rules came into effect limiting unintentional radiation from electronic devices. As a result the 1401 would radiate signals covering the entire AM radio band. This had some utility as an AM radio placed on top of the computer would emit a stream of audible notes until the program ended, at which time the sounds would stop. This allowed a solo operator of a 1401 to do other work until they were needed to start another program.[citation needed] Each operation transmitted a specific note, thus allowing someone to put together music by executing the right op codes in a specific order. As an operator this also had the effect that specific jobs would play the same musical notes when then run. For example, an operator familiar with the sounds could easily identify an Autocoder compiler execution from a payroll job based on the sequence of notes.[citation needed]

Another feature of the 1401 was small muffin fans that blew cool air into the bottom of each gate, up around the electronics and out the top. It was common to take two standard IBM punch cards, stapled together into a circle, and with the top cut and folded over, and place them over the air stream from a fan. The cards would stay centered on the air stream and spin round and round as the computer operated. This allowed operators to check at a glance from outside the room whether the computer was operating or not based on the motion of the cards.[citation needed]

The simplicity of the 1401 made it, if not a modern ruggedized machine, fairly reliable in stressful conditions. Thus IBM 1401 systems were more extensively used for US military logistics applications, in Vietnam and elsewhere, than were other, more advanced, systems.

During the 1970s, IBM installed many 1401s in India and Pakistan where they were in use well into the 1980s. Some of today's Indian and Pakistani software entrepreneurs started on these 1401s. The first computer in Pakistan, for example, was an IBM 1401 installed at Pakistan International Airlines.[19]

Character and Op codes

The table is in Character Collating Sequence.

Note: If Word mark bit is set, then the C bit will be opposite of shown. Of course, the C bit was determined and checked automatically by the machine - normally it was of no concern to the programmers. The only way the C bit could be entered was by manually using the switches on the Auxiliary Console. A programmer might use these switches to make quick patches while debugging.
BCD CharacterPrint-APrint-H Card BCD

w/o M

OperationDefinition & Notes
Blank   C        
...12-3-8 BA8 21Halt 
¤¤)12-4-8CBA84  Clear Word MarkLozenge
[  12-5-8 BA84 1  
<  12-6-8 BA842  Less Than
IBM 1401 Group Mark.gif  12-7-8CBA8421 Group Mark
&&+12CBA      
$$$11-3-8CB 8 21  
***11-4-8 B 84    
]  11-5-8CB 84 1  
   11-6-8CB 842   
Δ  11-7-8 B 8421 Delta (Mode Change)
---11 B       
///0-1C A   1Clear Storage 
,,,0-3-8C A8 21Set Word Mark 
 % %(0-4-8  A84  DivideOptional special feature.
ˠ  0-5-8C A84 1 Word Separator
\  0-6-8C A842  Left Oblique
  0-7-8  A8421 Tape Segment Mark
ƀN/A

0  

  A     Cannot be read from card without a no-cost RPQ, in which case it is read as 8-2.

Punches as zero. Blank with "even-parity" on tape.

##=3-8   8 21Modify AddressOptional (requires more than

4000 characters of memory)

@@'4-8C  84  MultiplyOptional special feature.
 :  5-8   84 1  
>  6-8   842  Greater Than
  7-8C  8421 Tape Mark
 ?&&12-0CBA8 2 Zero and AddPlus Zero
AAA12-1 BA   1Add 
BBB12-2 BA  2 Branch 
CCC12-3CBA  21Compare 
DDD12-4 BA 4  Move Numerical(Bits)
EEE12-5CBA 4 1Move Characters and Edit 
FFF12-6CBA 42 Control Carriage(Printer)
GGG12-7 BA 421  
HHH12-8 BA8   Store B-Address RegisterOptional special feature.
III12-9CBA8  1  
 !--11-0 B 8 2 Zero and SubtractMinus Zero
JJJ11-1CB    1  
KKK11-2CB   2 Select Stacker and other device controls(Card and some others)
LLL11-3 B   21Load Characters to Word Mark 
MMM11-4CB  4  Move Characters to Word Mark 
NNN11-5 B  4 1No Operation 
OOO11-6 B  42   
PPP11-7CB  421Move Characters to

Record or Group Mark

Optional special feature.
QQQ11-8CB 8   Store A-Address RegisterOptional special feature.
RRR11-9 B 8  1  
0-2-8  A8 2  Record Mark
SSS0-2C A  2 Subtract 
TTT0-3  A  21Translate(1460 only)
UUU0-4C A 4  Control Unit(Tape)
VVV0-5  A 4 1Branch if Word Mark

and/or Zone

 
WWW0-6  A 42 Branch if Bit EqualOptional special feature.
XXX0-7C A 421Move and Insert ZerosOptional special feature.
YYY0-8C A8   Move Zone(Bits)
ZZZ0-9  A8  1Move Characters and

Suppress Zeros

 
0000C  8 2   
1111      1Read a Card 
2222     2 Write a Line 
3333C    21Write and Read 
4444    4  Punch a Card 
5555C   4 1Read and Punch 
6666C   42 Write and Punch 
7777    421Write, Read, and Punch 
8888   8   Start Read FeedOptional special feature.
9999C  8  1Start Punch FeedOptional special feature.

Modifiers for Select Stacker (K) instruction

BCD CharacterUnitMeaning
Blank1401set program activity recording

at BBB only if A is, dd

11402select last card read to stacker 1 if within 10 ms
21402select last card read to stacker 8/2 if within 10 ms
41402select previous card punched to stacker 4
81402select previous card punched to stacker 8/2
= or #1444select previous card punched to stacker 2
L1009operate in load mode
$1402overlap on
A1009suppress 3-second alarm
CDDCread request
D1009set direction to receive
 DDCwrite request
E1009set direction to transmit
 DDCreset
F1009send EOF
.1402overlap off
)1402reset overlap

Modifiers for five-character Branch on Indicator (B) instruction

BCD CharacterUnitMeaning
Blank1401Unconditional—no word mark needed in next character
11009in run condition
 1011punch in backspace operation
 1011reader parity indicator on
 1231auto select
 1285error
 1412control-check indicator on
 1418late read
 1419document to be read
 1428late read or late reading mode change
 1445printer error
 7340hypertape unusual end
 7740transmission complete with abnormal status
 DDCtransmission error
21009buffer available
 1011punch ready
 1011reader ready
 1231full buffer
 1285end of line
 1412reader-not-ready signal on
 1418ready to engage
 1419document under read head (PDS 4)
 1428ready to engage
 7340hypertape normal end
 7740transmission complete successfully
 DDCtransmission ended by GMWM
31009good transmission occurred
 1011punch not ready to receive data
 1231ready to read
 1285reader transporting
 1412read-check indicator on
 1418document under selected read station
 1419valid amount field
 1428document under selected read station
 7340hypertape control unit 7641 busy
 7740receive request
 DDCread request
41009reply-bad indicator on
 1011punch not ready to read
 1231empty hopper
 1285marked line
 1412amount-field indicator on
 1419valid process-control field
 7340hypertape attention
 77407740 attention
 DDCwrite request
51009error reply acknowledgement
 1011punch overextended
 1231read error or overrun
 1285header information
 1412process-control indicator on
 1418document end
 1419valid account-number field
 1428document end
 1445printer busy
61009program attention required
 1011punch supply reel low or chad box full
 1231timing mark check
 1285ready to read a line
 1412account-number indicator on
 1418character on line
 1419valid transit-number field
 1428character on line
 1445carriage busy
 DDCwrite in progress
71009end of message
 1285reader ready
 1412transit-number indicator on
 1418empty hopper and transport (end of file)
 1419valid serial-number field
 1428empty hopper and transport (end of file)
 1445carriage channel 9
 DDCread in progress
81009end of file
 1285end of file
 1412document-spacing-check indicator on
 1418ready to read
 1419auto-select
 1428ready to read
 1448carriage channel 12
 DDCsystem A stopped
91403carriage tape channel 9
01404validity error
' or @1403carriage tape channel 12
>1448end of block
/1401unequal compare
S1401equal compare
T1401low compare
U1401high compare
V1301disk error
 1311disk error
 1405read or write parity check or read back check error
W1301wrong-length record
 1311wrong-length record
 1405wrong-length record
X1301uniqual-address compare
 1311uniqual-address compare
 1405uniqual-address compare
Y1301any disk-unit error condition
 1311any disk-unit error condition
 1405any disk-unit error condition
Z1401arithmetic overflow
1403printer error (record mark)
( or %1401process check with process check switch off
 1440I/O check stop switch off
\1301access busy
 1311access busy
J1419I/O channel-busy indicator
 TAUtape busy
 SIOserial input-output busy
KTAUend of reel (writing) or tape mark (reading)
LTAUtape error
N1301access inoperable
 1311access inoperable
 1405access inoperable
P1403printer busy
Q1407inquiry request
R1403carriage busy
 !1402punch error
*1407inquiry clear
+ or &1442last card (Reader unit 2)
A1402last card if SS A is on
B1401SS B
 7340hypertape attention response
C1401SS C
D1401SS D
E1401SS E
 7340hypertape end response
F1401SS F
G1401SS G
H1402reader busy
I1402punch busy
 ?1402reader error
<1448early warning

References

  1. ^ "1401 Data Processing System". IBM Archives. October 5, 1959. http://www.IBM.com/ibm/history/exhibi ts/mainframe/mainframe_PP1401.html. Retrieved June 2, 2010.
  2. ^ Columbia University, Computing History Project
  3. ^ a b Spicer, Dag. "Back to Life: The story behind CHM's IBM 1401 Restoration". Computer History Museum. http://www.computerhistory.org/core/p df/ibm_1401.pdf. Retrieved 27 May 2011.
  4. ^ "FAQ's for Products and Services". IBM Archives. http://www.IBM.com/ibm/history/refere nce/faq_0000000011.html. Retrieved June 2, 2010.
  5. ^ Pugh, Emerson W. (1995). Building IBM: Shaping an Industry and Its Technology. MIT. p. 273. ISBN 0-262-16147-8.
  6. ^ "1401 Restoration Project". http://IBM-1401.info/index.html.
  7. ^ "1401 "Rebuilding the IBM," by Philip E. Ross, IEEE Spectrum, November 2009". http://spectrum.ieee.org/computing/ha rdware/rebuilding-the-ibm-1401.
  8. ^ IBM and BCD
  9. ^ K is used in this article for 1000, not 1024.
  10. ^ IBM (April 1962). IBM 1401 Data Processing System: Reference Manual. p. 20. A24-1403-5. http://bitsavers.org/pdf/ibm/140x/A24 -1403-5_1401_Reference_Apr62.pdf.
  11. ^ "Tom Van Vleck: 1401s I have known". http://www.multicians.org/thvv/1401s. html.
  12. ^ Rob Storey. "Core memory frame from an IBM 1401". http://members.optushome.com.au/intar etro/1401Core.htm. Retrieved 2012-07-15.
  13. ^ "The IBM 1401". IBM 1401 Restoration Project. Computer History Museum. http://www.ibm-1401.info/1401GuidePos terV9.html. Retrieved 2012-07-15. "The 1401’s clock frequency is 86,957 cycles per second, or about 87 kiloHertz! This corresponds to an 11.5 micro-second system clock cycle time. ... The 1401 CPU does everything in a character-serial manner. In order to add say two N-digit numbers, the CPU takes several cycles to fetch the instruction itself and then one cycle for every character of the instruction’s two operands or arguments, or 2N cycles total."
  14. ^ IBM Corporation (1961). "IBM 1401 Principles of Programming, Section 7" (PDF). IBM Personal Study Program. IBM Corporation. p. 19. http://ibm-1401.info/IBM-PrinProg-07. pdf. Retrieved 2012-07-15. "The timing of the IBM 1401 is described in terms of the time required for one complete core storage cycle, which is 11.5 microseconds ... The time required for any internal processing instruction is always a multiple of this interval of time."
  15. ^ "Jóhann Jóhannsson profile". 4AD web site. http://www.4ad.com/johannjohannsson/p rofile. Retrieved June 2, 2010.
  16. ^ "Jóhann Jóhannsson: IBM 1401, A User's Manual". work's web site. http://www.ausersmanual.org. Retrieved June 2, 2010.
  17. ^ "1401-music-Movie". http://www.youtube.com/watch?v=myt6DA pmiv0.
  18. ^ Gansing, Kristoffer (2007). "Working Paper version - Humans Thinking Like Machines - Incidental Media Art in the Swedish Welfare State". University of Malmö, School of Arts & Communication. http://dspace.mah.se:8080/bitstream/h andle/2043/7221/gansing_replace.pdf?s equence=1. Retrieved May 2011. A full version to be published in Place Studies in Art, Media, Science and Technology, VDG Weimar , 2009
  19. ^ "History of PIA". http://www.historyofpia.com/firsts.ht m.

Further reading

External links

(Sebelumnya) IBMIBM 1410 (Berikutnya)