计算机接口与汇编实践-LED(红绿灯)交替显示

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 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值