简单汇编音乐倒数定时器 设计一个简易微电脑倒数计数器,做一小时间计时 倒数。当倒数计时为0时,则发出音
发布网友
发布时间:2022-05-10 11:07
我来回答
共4个回答
热心网友
时间:2023-10-08 16:50
;简易微电脑倒数计数器,做一小时间计时 倒数
;============================================
;程序如下:
;-------------------------------------------
DATA SEGMENT
t_start dw 3600;定义倒计时秒数
sss db 0
ff db 0
mm db 0
mess db ' '
s1 db 30h
s2 db 31h ,':'
f1 db 30h
f2 db 30h ,':'
m1 db 30h
m2 db 30h
cc equ $-mess
dll db 0
DATA ENDS
;-------------------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
;push ds
;pop es
mov ah,2
int 1ah
mov dll ,dh ;save second
mov ah,0fh
int 10h
mov ah,0
int 10h
n3:
mov ah,2;设置光标位置
mov dx,0d30h
mov bh,0
int 10h
mov cx,cc
mov si,offset mess
next:
mov al,[si]
mov ah,0eh
mov bl,5
int 10h
inc si
loop next
n2:
nop
mov ah,2
int 1ah
mov dl,dll
cmp dl,dh
je n2
mov dll,dh
mov ax,t_start
dec ax
cmp ax,0
jne g1
jmp exit;定时时间到退出
g1:
mov t_start,ax
mov bl,60
div bl
mov sss,0
mov ff,al
mov mm,ah
cmp al,60 ;if 分>60 则需调整
jb no_h
mov ah,0
mov bl,60
div bl
mov sss,al
mov ff,ah
no_h:
mov ah,0
mov al,sss
mov bl,10
div bl
add ax,3030h
mov s1,al
mov s2,ah
mov ah,0
mov al,ff
mov bl,10
div bl
add ax,3030h
mov f1,al
mov f2,ah
mov ah,0
mov al,mm
mov bl,10
div bl
add ax,3030h
mov m1,al
mov m2,ah
mov ah,1;按任意键退出
int 16h
jz h1
jmp exit
h1:
jmp n3
EXIT:
mov ah,2
mov dl,7
int 21h
MOV AH, 4CH ;结束程序
INT 21H
;------------------------------
CODE ENDS
END START
;============================================
热心网友
时间:2023-10-08 16:50
这个有点忘了,呵呵
热心网友
时间:2023-10-08 16:51
老高,有答案没,有的话,给我来一份
热心网友
时间:2023-10-08 16:51
我还没学。