小弟编程需要一个秒级的延时程序
那位高手能给个~~
或帮忙改改下面的程序
本想实现3S的延时,可是总报错“CPU无效指令”
谢谢~~
stack segment stack 'stack '
dw 100 dup(?)
stack ends
data segment
mes1 db '00100100$ '
addr8 dd ? ;存放原8号中断地址
count dw 0 ;时间计数器
data ends
code segment
assume cs:code,ds:data,ss:stack
main proc far
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
again:mov dl,13
mov ah,02h
int 21h ;显示单个字符(CR)输出?
lea dx,mes1
mov ah,9
int 21h ;显示字符串mes1
mov ax,3 ;AX送入延时时间,单位是秒
call delay ;调用延时子程序
ret
main endp
delay proc near
push ax
push bx
push cx
push dx
push ds
push es
mov cx,1000 ;将AX的值转换为毫秒
mul cx
mov cx,55 ;除以8号中断周期
div cx
push ax