Red de conocimiento informático - Conocimiento del nombre de dominio - Principios de microcomputadoras Preguntas del examen final Lenguaje ensamblador

Principios de microcomputadoras Preguntas del examen final Lenguaje ensamblador

Primero analice el principio de funcionamiento de la impresora. La interfaz entre la microimpresora y la computadora host es una interfaz paralela.

El flujo de trabajo es: el host envía los datos que se imprimirán en la línea de datos y luego envía una señal de comunicación selectiva. La impresora lee los datos y al mismo tiempo activa la línea BUSY para notificar al host que deje de enviar datos. En este momento, la impresora procesa internamente los datos leídos. Después del procesamiento, habilite ACK, deshabilite BUSY y notifique al host que se pueden enviar los siguientes datos. El cableado del hardware es el siguiente:

Tabla 7-2: Señales de pines estándar de Centronics

¿Nombre del pin? ¿nombre? Función de dirección

1?Selección de datos, recibir datos cuando sea válido

2-9?Línea de datos

10?ACKNLG?Out?Señal de respuesta, cuando sea válido Prepárese para recibir datos

11?BUSY?Señal de ocupado, válida cuando no se reciben datos

12?PE?Sin papel

13?SLCT?out ?Seleccione en línea, lo que indica que la impresora no está funcionando

14?AUTOLF?In?Ajuste de línea automático

31?INIT?in?Restablecimiento de impresora

32 ?ERROR?Out?Error

36?SLCTIN?IN? Válido cuando la impresora no está funcionando

Descripción:

La señal del selector de la impresora es ejecutada por la PC0. , y el selector se establece/restablece PC0 produce. Al mismo tiempo, la PC7 recibe la señal "BUSY" de la impresora como consulta de salida.

La palabra de control del 8255A es 10001000, ¿cuál es 88H?

Puerto A modo 0, salida; puerto C modo de alto nivel 0 entrada, modo de bajo nivel 0 salida

Restablecimiento de PC0: 00000001, es decir, 01H

Reinicio de PC0: 00000000, que es 00H

Las cuatro direcciones de puerto de 8255A son 00000000, que es 00H

La palabra de control de 8255A es: 10001000, que es 100H: 10001000 , que es 88H

p>

La palabra de control de 8255A es: 10001000, que es 88H

La palabra de control de 8255A es: 10001000, que es 88H: 10001000, que es 88H . Las direcciones de 4 puertos del 8255A son: 00H, 01H, 02H, 03H.

El proceso de programación es el siguiente:

DADA?SEGMENT

BUFF?DB?'¡Este?es?un?programa?impreso!','$

¿DATOS?ENDS

CÓDIGO?SEGMENTO

ASUME?CS: CÓDIGO, DS: DATOS

INICIO: MOV?AX, DATOS

MOV?DS, AX

MOV?SI, OFFSET?BUFF

MOV?AL, 88H; inicialización 8255A, puerto A modo 0, salida

OUT?H,?AL;?C puerto modo de alto nivel 0 entrada, modo de bajo nivel 0 salida

MOV?AL,?01H;

OUT?03H , AL?; Incluso si la selección no es válida, se puede configurar PC0

WAIT:?IN?AL,?02H

TEST?AL,?80H Compruebe si PC7 es 1; , es decir, ocupado

JNZ?WAIT;?Esperar cuando esté ocupado

MOV?AL, [SI]

CMP?AL, '$'?

JZ?DONE? es, genera un carácter de retorno de carro

OUT?00H, AL?; , 00H

OUT?03H, AL

MOV?AL, 01H

OUT?03H, AL ; Generar señal de selector

INC?SI?Modificar el puntero para que apunte al siguiente carácter

JMP?WAIT

DONE:?MOV?AL, 0DH

OUT?00H, AL ?H, AL

MOV?AL,?01H

OUT?03H,AL?; generar selección

WAIT1: ?IN?AL,?02H

TEST?AL,?80H; Compruebe si PC7 es 1, es decir, ocupado

JNZ?WAIT?1; Si está ocupado, espere

MOV? AL, 0AH

OUT?00H, AL?; Nueva línea de salida

MOV?AL, ?00H

OUT?03H, AL

MOV?AL ,?01H

OUT?03H,AL ; Generar selección

MOV?AL,?01H

OUT?03H, AL?MOV ?AH, 4CH

INT?21H

CÓDIGO?ENDS

END?START