¿Cuál es la diferencia entre el desplazamiento en pantalla y el desplazamiento fuera de pantalla en lenguaje ensamblador? ¿Qué significa diferencia?
Descripción de la función: Pantalla de inicialización o pantalla de desplazamiento.
Parámetros de entrada: ah = 06h-desplazarse hacia arriba, 07h-desplazarse hacia abajo.
Al = número de líneas de desplazamiento (0 - borrar ventana)
BH = atributo predeterminado para el área en blanco
(CH, cl) = posición de la parte superior esquina izquierda de la ventana (coordenada y, coordenada x)
(DH, DL) = la posición de la esquina inferior derecha de la ventana (coordenada Y, coordenada X)
Parámetros de exportación: Ninguno
Lo probé con todas las ventanas limpias y no noté ninguna diferencia. Programa de prueba:
Fragmento de código
Asumir CS: CODE, DS: CODE
org 100h
Inicio:
Push cs
Cámara digital popular
Mover eje, 3
int 10h
mov ax, 0b800h
Mover, hacha
mov hacha, 0730h
mov pb, 16
Siguiente:
mov cx, 80
p>Representa stosw
inc al
Aluminio pulido mecánicamente químico, 3ah
jnz omitido
Agregar al, 7
Saltar:
Diciembre pb
jnz siguiente
mov ah, 0
int 16h
mov dx, 550h (DH, DL) = la esquina inferior derecha de la ventana (coordenada Y, coordenada X)
mov cx, 100h (CH, cl) = la esquina superior izquierda; de la ventana Posición de la esquina (coordenada y, coordenada x)
mov bh, 07hBH = Atributo predeterminado para el área en blanco
mov al, 5; - borrar ventana)
mov ah, 06; Ah = 06h - desplazarse hacia arriba.
int 10h
mov ah, 0
int 16h
mov dx, 550h (DH, DL) = esquina inferior derecha de Posición de la ventana (coordenada Y, coordenada X)
mov cx, 100h; (CH, cl) = Posición de la esquina superior izquierda de la ventana (coordenada y, propiedades predeterminadas del área en blanco
mov al, 5; Al = número de líneas de desplazamiento (0 - borrar ventana)
mov ah, 07H - desplazarse hacia abajo.
int 10h
mov ah, 0
int 16h
mov ah, 4ch
int 21h
Fin del código
Fin del inicio