汇编中如何实现相当于Sleep函数的功能?
时间:2010-05-01
来源:互联网
如题!
作者: wuyuan563 发布时间: 2010-05-01
_sleep proc
delay: push ax
push dx
mov dx,1000h ;;循化10000000h次,读者可根据CPU速度自行调解循化次数.
mov ax,0
s1: sub ax,1
sbb dx,0
cmp ax,0
jne s1
cmp dx,0
jne s1
pop dx
pop ax
ret
_sleep endp
引子王爽<<汇编语言>>第二版 p227的一段程序
delay: push ax
push dx
mov dx,1000h ;;循化10000000h次,读者可根据CPU速度自行调解循化次数.
mov ax,0
s1: sub ax,1
sbb dx,0
cmp ax,0
jne s1
cmp dx,0
jne s1
pop dx
pop ax
ret
_sleep endp
引子王爽<<汇编语言>>第二版 p227的一段程序
作者: redher 发布时间: 2010-05-01
dos下可以调用定时器中断,win32中可以调用Sleep API。
作者: mydo 发布时间: 2010-05-01
引用 2 楼 mydo 的回复:
dos下可以调用定时器中断
dos下可以调用定时器中断
是需要重写08h中断吗?
没找到这个中断的具体说明.
侯兄给我们扫扫盲吧.
另外在百度dos帖吧看见一个这样用的
Assembly code
goto make A100 mov ah, 0 int 1a add dx, 0f mov bx, dx int 1a cmp dx, bx JB 109 int 20 RCX 11 NC:\sleep.com WCS:100 Q :make DEBUG<sleep.bat 把以上代码保存为sleep.bat,直接点击,会在C盘下生成一个sleep.com的小文件。 然后再cmd下输入一串命令试验一下: for /l %i in (0,1,9) do ( color %i & sleep)
感觉也是在循环.
作者: redher 发布时间: 2010-05-01
这个帖子看到的太晚了,但还要喷一下我的思路,首先配置定时器间隔为一个合适的值这个值是活动可变的,然后执行hlt指令使CPU停机等待时钟中断后继续执行
作者: jilianglijie 发布时间: 2011-11-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28