Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Keypunch
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Program card=== [[File:IBMkeypunchDrumCard.MWichary.jpg|thumb|right|Program card for an IBM 026 at the Computer History Museum. The lever at the top opened the metal clamp holding the card in place. The column-80 edge of the card was inserted under the clamp first. Small fingers on the right side of the clamp helped guide the column-1 edge into position. The lever was then rotated back to secure the card.]] IBM 024, 026, and 029 keypunches and their companion verifiers, the 056 and 059, could be programmed to a limited extent using a ''Program Card'',<ref>Fierheller (2006) p.27</ref> also known as a drum card. The keypunch or verifier could be programmed to automatically advance to the beginning of each field, default to certain character types within the field, duplicate a field from the previous card, and so on. Program cards were an improvement over the ''Skip Bar'' used in some earlier keypunches.<ref>Fierheller (2006) p.26</ref> The program was encoded on a punched card and could be prepared on any keypunch (a keypunch would operate even if no program card was in place). The program card was wrapped around the program drum, and clamped in place. The drum rotated as the card being punched moved through the punching mechanism. The holes in the program card were sensed by an array of starwheels that would cause levers to rise and fall as the holes in the program card passed beneath the starwheels, activating electrical contacts. The program was encoded in the top six rows [12,11,0,1,2,3]. If the optional ''Second Program'' feature was installed, another program could be encoded in the bottom six rows [4,5,6,7,8,9]. A switch let the operator select which program to use. The central cover on the keypunch could be tilted open toward the operator and a locking lever released, allowing the program drum to be removed and replaced. The program card was punched with characters that controlled its function as follows: {| class="wikitable" align="center" |- !rowspan=2|Function !colspan=4|Program !rowspan=2|Usage |- !#1 !Char. !#2 !Char. |- |Field Definition |12 !& |4 !4 |Punch in every column of a field, except the first (left) |- |Start Automatic Skip |11 ! - |5 !5 |Punch in first (left) column of field(s) to skip |- |Start Automatic Duplication |0 !0 |6 !6 |Punch in first (left) column of field(s) to duplicate |- |Alphabetic Shift |1 !1 |7 !7 |Punch in a column to shift keyboard to Alphabetic mode |- |Left Zero Print |2 !2 |8 !8 |Punch in a column to force printing of leading zeros and signs |- |Print Suppression |3 !3 |9 !9 |Punch in a column to suppress printing |- |} {{clear|left}} Many programming languages, such as [[FORTRAN]], [[RPG programming language|RPG]], and the IBM [[Assembly language|Assembler]], coded operations in specific card columns, such as 1, 10, 16, 36, and 72. The program card for such a setup might be coded as: 1.......10........20........30........40........50........60........70........80 1AAAAAAAA1AAAAA1AAAAAAAAAAAAAAAAAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA &&&&&&&& In this example, if the keypunch operator typed a few characters at the beginning of the card and then pressed the skip key, the keypunch would tab to column 10. When a program code of blank is followed by "Field Definition" (12) (or (4) for program 2), it defines a "Numeric Shift" field. In the example above, columns 72-80 are defined in the program as a Numeric Shift field. In practice, this definition would likely be used for punching a special symbol as a "continuation character" in column 72, and then columns 73-80 could either be punched with a card sequence number or the card could be released at that point, if no further typing was required. Note: "Field Definition" (12) and "Alphabetic Shift" (1) prints as an '''A'''. If program 2 codes were punched, invalid characters could be generated that the printer did not know how to print, some of which could even damage the printer. Program cards could automate certain tasks, such as "gang punching", the insertion of a constant field into each card of a deck of cards. For amusement, program cards could even be set up to play music by gang-punching "noisy" characters (characters represented by many holes, usually special characters) and "quiet" numbers and letters in rhythmic patterns.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)