楼主高人啊.可以说明一下吗?汇编的代码vc++里面可以直截写进去吗?
----------------解决方案--------------------------------------------------------
vc里也可以插入汇编,不过这个程序用VC的话犯不着内联汇编,包含一个头文件<windows.h>用一个API函数就可以实现暂停效果。
void pause(int time)
{
Sleep(time);
}
----------------解决方案--------------------------------------------------------
vc的内联汇编格式我忘记了.你网上找找,应该差不多的.
我机器也没装有vc.
这只是调用了bios的1ah中断
功能描述:读取时钟“滴答”计数
入口参数:AH=00H
出口参数:AL=00H――未过午夜,否则,表示已过午夜
CX:DX=时钟“滴答”计数
void pause(int time)
{
asm mov ah,0h; 调用1ah的0号功能,读取时钟“滴答”计数
asm int 1ah; 调用1ah中断服务
asm add dx,time; 在当前时钟滴答加上time滴答,一个滴答=55ms(毫秒)
asm mov bx,dx; 把dx放到bx.因为后面dx的值会被刷新
label: 这个不用说了吧,标签来的
asm int 1ah; 再调用1ah中断服务
asm cmp bx,dx; 用bx的滴答数和当前dx的滴答比较
asm jne label; jne是不等时跳转,就是说cmp bx,dx 如果两者不等就跳转
}
[[italic] 本帖最后由 ioriliao 于 2007-12-21 18:53 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
呵呵,用了一个系统中断哦
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
对,只调用了一个bios中断.有些中断在windows系统下禁使用,我在找有关如何取得windowsxp的0级特权.
各位朋友如果谁有的请发我一份:ioriliao.tom.com
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
vc里也可以插入汇编,不过这个程序用VC的话犯不着内联汇编,包含一个头文件<windows.h>用一个API函数就可以实现暂停效果。
void pause(int time)
{
Sleep(time);
}
----------------解决方案--------------------------------------------------------
vc的内联汇编格式我忘记了.你网上找找,应该差不多的.
我机器也没装有vc.
这只是调用了bios的1ah中断
功能描述:读取时钟“滴答”计数
入口参数:AH=00H
出口参数:AL=00H――未过午夜,否则,表示已过午夜
CX:DX=时钟“滴答”计数
void pause(int time)
{
asm mov ah,0h; 调用1ah的0号功能,读取时钟“滴答”计数
asm int 1ah; 调用1ah中断服务
asm add dx,time; 在当前时钟滴答加上time滴答,一个滴答=55ms(毫秒)
asm mov bx,dx; 把dx放到bx.因为后面dx的值会被刷新
label: 这个不用说了吧,标签来的
asm int 1ah; 再调用1ah中断服务
asm cmp bx,dx; 用bx的滴答数和当前dx的滴答比较
asm jne label; jne是不等时跳转,就是说cmp bx,dx 如果两者不等就跳转
}
[[italic] 本帖最后由 ioriliao 于 2007-12-21 18:53 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
呵呵,用了一个系统中断哦
----------------解决方案--------------------------------------------------------
回复 5# 的帖子
这样做没有任何好处吧,只会占用CPU。 ----------------解决方案--------------------------------------------------------
对,只调用了一个bios中断.有些中断在windows系统下禁使用,我在找有关如何取得windowsxp的0级特权.
各位朋友如果谁有的请发我一份:ioriliao.tom.com
----------------解决方案--------------------------------------------------------