现在的位置: 首页 > 综合 > 正文

用61号端口来延时

2013年02月21日 ⁄ 综合 ⁄ 共 727字 ⁄ 字号 评论关闭
汇编修改时钟中断的话都是些com文件的例子 ,但因为程序生成可执行文件 ,所以为了方便起见 , 我还是准备用61号端口来实现延时功能 , 最多一开始像c写的吃豆游戏一样可以选择速度

TITLE A DEMO OF DELAY FUNCTION          
         .model small
         .stack 64
         .data
         .code
 main proc
         mov ax , @data
         mov ds , ax
         mov cx , 15  ;用循环15次来测试
L:
         mov ah , 02h  ;每循环一次显示一个字符
         mov dl , 'D'
         int 21h
         push cx
         mov cx , 4  ;延时的等级控制
         call Delay
         pop cx
         loop L
         mov ah , 4ch
         int 21h
main endp

Delay proc
         push ax
         push cx    
M_1: push cx   ;外层循环来控制延时速度
         mov cx , 33144
M_2: in al , 61h
         and al , 10h
         cmp al , ah
         je M_1
         mov ah , al
         loop M_2
         pop cx
         loop M_1 
         pop cx
         pop ax
         ret
Delay endp
 
end main

抱歉!评论已关闭.