汇编 延时子程序

来源:百度知道 编辑:UC知道 时间:2024/06/15 20:17:32
要求延时具有准确的时间!

daily proc near
mov cx,2000H
D0:mov ax,0FFFFH
D1:dec ax
jz D1
loop D0
daily endp
延时大概是0.33s
其实延时跟CPU有很大关系,不能用软件精确计算,可以用8254实现,硬件和软件功能具有逻辑上的等效性。

用delay来产生延时在要求较高的场合不大合适。

可调用系统时间来产生准确的延时,并且可控制延迟时间

TEMP: MOV AH,2CH
INT 21H
ADD DH,5 ;获得时间.DH为 当前的秒数,5秒可以自己选择
PUSH DX
WAIT:

POP DX
MOV AL,DH
PUSH DX

MOV AH,2CH ;新的时间
INT 21H

CMP DH,AL
JB WAIT ;小于5秒的话继续查询

欢迎讨论

多么准确?时间范围多少?
单片机就用定时器,PC就用BIOS提供的延时中断调用(好像是68H中断),去查查书吧。