跪求80868088系统的汇编程序延迟一秒子程序

跪求80868088系统的汇编程序延迟一秒子程序,第1张

默认的时间中断是每秒产生18.2次,如果要求不精确,就用18次时钟中断来延时一秒。

地址0:46c存放的就是这个计数器,可以读取这个,然后加上18,比较就可以实现。代码如下:

mov ax,0

mov ds,ax

mov si,46ch

lodsw

add ax,18

mov cx,ax

loc_1:

mov si,46ch

lodsw

cmp ax,cx

jnb loc_2

jmp loc_1

loc_2:

如果要求非常精确,那就要直接对定时器进行编程,通过端口 *** 作来实现。

延时时间和你设的频率有关,这里把PUSH AX POP AX循环100次,在乘以循环周期就是延时时间,至于用AX,BX无关紧要,只要最后恢复现场就好。

当然没问题,++——一样可以,NoP也没问题,LOOP也算时间

MOV AX,5FFFH可修改0000~0FFFFH之内 越大延时越高

REP2:

MOV CX,5FFFH

REP10MS:

LOOP REP10MS

DEC AXAX-1->AX

CMP AX,0H比较AX和0的大小

JNE REP2AX不等于0则跳转到 REP2

就是机器没执行一条指令要170ns,数字仅供参考

让循环重复执行5FFF*5FFF次,达到秒级 具体的要自己调试


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8146138.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存