Jump to content

IBM Machine Code Printer Control Characters

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by PhunSoft (talk | contribs) at 16:03, 25 July 2015. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Note: This page is being created. July 23, 2015. Please be patient. Thanks. PhunSoft

Introduction

Printer control characters and Carriage control characters are IBM mainframe terms that denote the special meaning which the first character on a line of printable text may have. The first character of each line of text is interpreted as a control character instead of a character to be printed if a corresponding attribute is set for the print data set (data set is mainframe speak for what is know as a file on other operating systems).

Print data sets on IBM mainframe operating systems may have either of two variants of printer control characters:

The attribute for specifying the presence of print control characters is part of the Record Format (aka RECFM) attributemust therefore allow for two variants:

  • RECFM=..A specifies that the data set contains ASA control characters.
  • RECFM=..M specifies that the data set contains IBM machine control characters.

Main difference between ASA and Machine Control Characters

The main difference between the two sets of printer control characters might be the portability of ASA control characters versus the hardware dependency of Machine control characters.

ASA control characters are logical printer commands. They tell the printer what far to advance the paper before printing the current line of text. ASA control characters are all displayable characters. Printers do not understand these characters themselves, therefore the printer driver must translate them to the corresponding printer commands when sending the ptint data to the printer.

Machine control characters, in contrast, are the very commands which IBM line printers understand. This is why they are hardware dependent or hardware determined. IBM defined this set of commands for their line printers and made sure all their line priners understand them. Other (mainframe) line printer manufacturers had to make sure their printers understand those commands, too. Since machine control characters are hardware commands, many of them are not displayble character and therefore machine control characters are alway specifies as hexadecimal values.

Operation

Immediate action commands

These commands do not send any data to the printer. The commands only ask the printer to move the paper.

MCC code Action
x'03' No operation. Kind of a comment line in the print data stream
x'0B' Space 1 line immediate
x'13' Space 2 line immediate
x'1B' Space 3 line immediate
x'8B' Skip to channel 1 immediate
x'93' Skip to channel 2 immediate
x'9B' Skip to channel 3 immediate
x'A3' Skip to channel 4 immediate
x'AB' Skip to channel 5 immediate
x'B3' Skip to channel 6 immediate
x'BB' Skip to channel 7 immediate
x'C3' Skip to channel 8 immediate
x'CB' Skip to channel 9 immediate
x'D3' Skip to channel 10 immediate
x'DB' Skip to channel 11 immediate
x'E3' Skip to channel 12 immediate

Write and Space Commands

Write and space commands ask the printer to write the data on the line and afterwards move the paper.

MCC code Action
x'01' Write without spacing
x'09' Write and space 1 line
x'11' Write and space 2 line
x'19' Write and space 3 line
x'89' Write and skip to channel 1
x'91' Write and skip to channel 2
x'99' Write and skip to channel 3
x'A1' Write and skip to channel 4
x'A9' Write and skip to channel 5
x'B1' Write and skip to channel 6
x'B9' Write and skip to channel 7
x'C1' Write and skip to channel 8
x'C9' Write and skip to channel 9
x'D1' Write and skip to channel 10
x'D9' Write and skip to channel 11
x'E1' Write and skip to channel 12