stringtranslate.com

Caracteres de control de impresora de código de máquina IBM

Las primeras impresoras mainframe eran generalmente impresoras de línea . Las impresoras de línea proporcionan un conjunto limitado de comandos para controlar cómo avanza el papel cuando se imprimen líneas de impresión. La aplicación que escribe informes, listas, etc. para imprimir debe incluir esos comandos en los datos de impresión. Estos comandos de impresión de un solo carácter se denominan caracteres de control de impresora .

Introducción a los caracteres de control de impresión

Los caracteres de control de impresora y los caracteres de control de carro son términos de mainframe de IBM que denotan el significado especial que puede tener el primer carácter de una línea de texto imprimible. El primer carácter de cada línea de texto se interpreta como un carácter de control o un comando de impresora en lugar de un carácter que se va a imprimir si se establece un atributo correspondiente para el conjunto de datos de impresión ( el conjunto de datos es la jerga de mainframe para lo que se conoce como archivo en otros sistemas operativos).

CómoCaracteres de control de la impresoratrabajar

Aunque más tarde fueron reemplazadas en su mayoría por versiones electrónicas, las impresoras de línea inicialmente usaban un bucle de cinta de papel perforado para controlar el movimiento del papel durante la impresión. Esta cinta se denomina cinta de control del carro y está montada en la impresora. La cinta del carro en bucle se mueve de manera sincronizada con el flujo de papel plegado .

Las impresoras de línea tienen 12 sensores para reconocer 12 posiciones independientes en la cinta de control del carro. Cada posición se denomina canal y está numerada del 1 al 12. Si se perfora un orificio en un canal, este orificio marca una posición en la página a la que la impresora puede "saltar" rápidamente avanzando hasta que el sensor del canal correspondiente detecte el orificio. Esto se denomina saltar al canal número n .

Los comandos se implementan de manera que se pueda saltar a cada uno de los 12 canales. En lugar de tener que escribir líneas de impresión vacías, las aplicaciones pueden simplemente saltar a un canal predefinido si no se debe escribir nada entre la posición actual y la posición de destino, lo que supone una enorme mejora en el rendimiento en ese momento.

Además de estos comandos de salto de canal , hay otros comandos que la impresora interpreta para permanecer en la línea actual o para espaciar una, dos o tres líneas. Al permanecer en la línea actual, se pueden crear:

Si se le indica a la impresora que salte a un canal que no está perforado, la impresora seguirá alimentando papel a alta velocidad. Esto puede deberse a una discrepancia entre la cinta instalada y la que espera la aplicación.

Significado especial deCanal 1

Por convención, la posición en una hoja de papel donde debe escribirse la primera línea de impresión se asocia con el Canal 1. Por ejemplo, si la primera línea de texto debe estar siempre en la línea física 3 para un formulario determinado, entonces el orificio del canal 1 debe perforarse en la línea 3 de la cinta de control del carro.

Por convención, las aplicaciones de mainframe de IBM siempre saltan al canal 1 cuando comienzan una nueva página lógica.

El canal 12 es menos común, pero generalmente indica una línea en la página donde se puede imprimir un pie de página .

Tipos de caracteres de control de impresora

Los conjuntos de datos de impresión en los sistemas operativos de mainframe IBM pueden tener cualquiera de dos variantes de caracteres de control de impresora:

El atributo para especificar la presencia de caracteres de control de impresión es parte del atributo Formato de registro (también conocido como RECFM), por lo tanto, debe permitir dos variantes:

Personajes de control de ASA

Los caracteres de control ASA son comandos de impresora lógicos. Indican a la impresora cuánto debe avanzar el papel antes de imprimir la línea de texto actual. Los caracteres de control ASA son todos caracteres que se pueden visualizar. Las impresoras no entienden estos caracteres por sí mismas, por lo tanto, el controlador de impresora debe traducirlos a los comandos de impresora correspondientes al enviar los datos de impresión a la impresora.

Caracteres de control de la máquina IBM

Por el contrario, los caracteres de control de la máquina son los comandos de hardware que entienden las impresoras de línea IBM. Por eso dependen del hardware o están determinados por él. IBM definió este conjunto de comandos para sus impresoras de línea y se aseguró de que todas sus impresoras los entendieran. Otros fabricantes de impresoras de línea (mainframe) también tuvieron que asegurarse de que sus impresoras entendieran esos comandos. Dado que los caracteres de control de la máquina son comandos de hardware, muchos de ellos no son caracteres que se puedan visualizar y, por lo tanto, los caracteres de control de la máquina siempre se especifican como valores hexadecimales.

Diferencia principal entre ASA y personajes de control de máquina

La principal diferencia entre los dos conjuntos de caracteres de control de impresora podría ser la portabilidad de los caracteres de control ASA frente a la dependencia del hardware de los caracteres de control de máquina. El hecho de que los controles ASA fueran espacios antes de escribir , mientras que los controles de máquina fueran espacios después de escribir podría requerir que se convirtieran algunos flujos de datos.

Compatibilidad de idiomas para el control de la impresora

Muchos lenguajes de programación simplemente colocan el carácter de control deseado en el primer byte de la línea que se va a imprimir. COBOL y PL/I también tienen un método independiente del sistema para especificar los controles de la impresora. El compilador o el entorno de ejecución traducirán estas opciones al carácter de control adecuado.

COBOL

COBOL utiliza la sintaxis WRITE record-name AFTER ADVANCING n Lines., donde record-name es el nombre del área que contiene la línea y n es el número de líneas. Además, BEFORE ADVANCINGse puede utilizar o BEFORE|AFTER ADVANCING TOPpara saltar al principio de una nueva página. [1]

PL/Yo

PL/I utiliza la sintaxis PUT SKIP(n) ...para omitir n líneas antes de imprimir, o PUT PAGE ...para saltar a una nueva página.

Lista de caracteres de control de impresión de IBM Machine

IBM definió dos conjuntos de comandos de impresora y, por lo tanto, hay dos conjuntos de caracteres de control de impresora disponibles. El primer conjunto de comandos no envía ningún dato para imprimir a la impresora, sino solo una instrucción de movimiento de papel. Estos se denominan comandos inmediatos . El segundo conjunto de comandos envía datos para imprimir en la línea actual más una instrucción de movimiento de papel a la impresora. Tenga en cuenta que, a diferencia de los caracteres de control ASA, los caracteres de control de impresión de la máquina IBM le piden a la impresora que primero imprima los datos en la línea actual y, luego, que avance el papel.

Órdenes inmediatas

Estos comandos no envían ningún dato a la impresora. Los comandos solo le piden a la impresora que avance el papel.

Comandos de escritura y espacio

Los comandos de escritura y espacio piden a la impresora que escriba los datos en la línea y luego mueva el papel.

Véase también

Referencias

  1. ^ IBM Corporation (agosto de 2009). Referencia del lenguaje Enterprise COBOL para z/OS (PDF) . pp. 478–482 . Consultado el 30 de junio de 2020 .