汇编修改时钟中断的话都是些com文件的例子 ,但因为程序生成可执行文件 ,所以为了方便起见 , 我还是准备用61号端口来实现延时功能 , 最多一开始像c写的吃豆游戏一样可以选择速度
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
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
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