proth equ 280h
protlr equ 288h
protly equ 290h
data segment
mess db 'Strike any key,return to DOS!',0AH,0DH,'$'
min1 db 00h,01h,02h,03h,04h,05h,06h,07h
count db 0
buff db 44h,54h,54h,7fh,54h,0dch,44h,24h
data ends
code segment
assume cscode,dsdata
start mov ax,data
mov ds,ax
mov dx,offset mess
mov ah,09
int 21h ;显示提示信息
agn: mov cx,80h
d2: mov ah,01h
push cx
mov cx,0008h
mov si,offset min1
next: mov al,[si]
mov bx,offset buff
xlat ;得到第一行码
mov dx,proth
out dx,al
mov al,ah
mov dx,protlr
out dx,al ;显示第一行红
shl ah,01
inc si
push cx
mov cx,8fffh
delay2: loop delay2 ;延时
pop cx
loop next
pop cx
call delay
loop d2
mov al,00
mov dx,protlr
out dx,al
mov ah,01 ;有无键按下
int 16h
jnz a2
agn1: mov cx,80h ;agn1为显示绿色
d1: mov si,offset min1
mov ah,01
push cx
mov cx,0008h
next1: mov al,[si]
mov bx,offset buff
xlat
mov dx,proth
out dx,al
mov al,ah
mov dx,protly
out dx,al
shl ah,01
inc si
push cx
mov cx,8fffh
delay1: loop delay1
pop cx
loop next1
pop cx
call delay
loop d1
mov al,00
mov dx,protly
out dx,al
mov ah,01
int 16h
jnz a2
jmp agn ;绿色红色交替显示
delay proc near ;延迟子程序
push cx
mov cx,0ffffh
ccc loop ccc
pop cx
ret
delay endp
a2 mov ah,4ch
int 21h ;返回
code ends
end start
计算机接口与汇编实践-LED(红绿灯)交替显示
最新推荐文章于 2024-10-10 22:59:02 发布