跪求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:

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

用IO指令,但是你得先做试验。

比如IO给软盘寻址,会有很明显的时间延迟。

没有软盘没关系的,IO寻址不存在什么错误不错误的,因为是否错误是要编程者自己去判定的,你不需要理他,只需要试验下时间有多久就可以了。

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

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


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

原文地址: https://outofmemory.cn/yw/12038364.html

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

发表评论

登录后才能评论

评论列表(0条)

保存