¿Cómo escribir el código de control de la pantalla LED en el diseño del curso "Principios del lenguaje ensamblador de microcomputadoras"?
io8255a es igual a 288H
io8255b es igual a 289H
io8255c es igual a 28AH
io8255t es igual a 28BH
Datos Final 7
Segmento de código
Supongamos cs: código, ds: datos
Inicio:
mov ax, data
mov ds, ax
mov dx, io8255t; puerto de control
mov al, 81H; configure 8255 como salida de puerto A
>out dx, al
mov dx, io8255a
mov al, 00H; apaga las 8 lámparas
out dx, al
mo: mov dx , io8255c
in al, dx
cmp al, 01h
jz k1
cmp al , 02h
jz k2
cmp al, 04h
jz k3
jmp theend
k1: jmp l1
k2: jmp l2
k3: jmp l3
l1:
llamar a deng
l2:
mov dx,io8255a
mov al,01h
out dx,al
l3:
mov dx,io8255a
mov al, 00h
out dx, al
theend:
mov al, 00h
mov dx, io8255a
p>out dx, al
jmp mo
deng proc
mov dx, io8255a; puerto
mov al, 01H; lámpara 1
salida dx, al
retraso de llamada 1 segundo
mov al, 04H ; Lámpara 3
salida dx, al
retraso de llamada; retraso de 1 segundo
mov al, 10H
procesamiento de deng;
deng proc
mov dx, io8255a; puerto de datos iluminado
out dx, al
retraso de llamada 1 segundo
p>
mov al, 40H; luz no.7
out dx, al
retraso de llamada 1 segundo
mov cl, 5
return1: mov al, 55H; luces 1, 3, 5, 7
salida dx, al
retraso de llamada 1 segundo
mov al, 00H
salida dx, al
retraso de llamada; retardo 1 segundo
retorno de bucle1
mov al, 02H; Lámpara #2
out dx, al
retraso de llamada; retraso 1 segundo
mov al, 08H
salida dx, al
retardo de llamada; retraso de 1 segundo
mov al, 20H; lámpara #6
salida dx, al
retraso de llamada; retraso de 1 segundo
mov al, 80H; lámpara 8
out dx, al
retraso de llamada de 1 segundo
p> p>mov cl, 5
return2: mov al, 0AAH 2, 4 6, 8 lightout dx, al
retardo de llamada; retardo de 1 segundo
mov al, 00H
out dx, retardo de llamada al
1 segundo
retorno de bucle2; p>
deng endp
retraso proc; retraso de subrutina 1 segundo
push cx
mov bx, 10000
otra vez1: mov cx, 2801
espera0: bucle esperar0
dec bx
jnz otra vez1<
pop cx< / p>
ret
delay endp
sdelay proc; la subrutina tiene un retraso de 0,1 segundos
push cx
mov bx, 1000
otra vez2: mov cx, 2801
espera1: bucle esperar1
dec bx
jnz otra vez2
pop cx
ret
sdelay endp
el código termina
fin de inicio