当前位置: 代码迷 >> 汇编语言 >> 秒级的延时程序
  详细解决方案

秒级的延时程序

热度:7010   发布时间:2013-02-26 00:00:00.0
求一个秒级的延时程序
小弟编程需要一个秒级的延时程序
那位高手能给个~~

或帮忙改改下面的程序
本想实现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
  相关解决方案