关于给汇编生成的程序添加暂停语句
来源:互联网 发布:通用oa系统数据库设计 编辑:程序博客网 时间:2024/05/06 06:55
如果大家对C语言稍微有些了解的话,一定知道getch()函数的作用[起暂停作用]。暂停的作用对于源程序编译执行时来说是不言而喻的。很遗憾,汇编语言并没有类似于像C语言中getch()函数这么方便的语句。不过,我们可以结合汇编中的中断知识来帮助自己实现一个起暂停作用的子程序。方法如下:
1、先定义一个子程序如下:
pause proc near ;子程序定义(起退出缓冲作用)
jmp short exitbegin
exitstr db 0ah,0dh,'Press any key to exit...$'
exitbegin:
push ax
push ds
push dx
;以上3条push指令的作用是保存现场
mov ax,seg pause ;取子程序名pause所在的段地址
mov ds,ax
lea dx,exitstr
mov ah,9 ;显示字符串exitstr的内容
int 21h
mov ah,7 ;等待输入一个[无回显]字符
int 21h
pop dx
pop ds
pop ax
;以上3条pop指令的作用是恢复现场
ret
pause endp ;子程序定义结束
2、然后在mov ah,4ch、int 21h两条[返回DOS的]指令之前调用该子程序[这里用call exit]即可,
子程序定义放在mov ah,4ch、int 21h两条指令之后
3、说明:只要能满足前2点要求,那这个子程序在任何dos16位汇编程序中都可以通用!
- 关于给汇编生成的程序添加暂停语句
- 给Qt生成的exe执行程序添加版本信息
- 给Qt生成的exe执行程序添加版本信息
- 三个关于汇编的程序
- 学习笔记-关于使程序暂停的3种方法
- 给普通用户添加安装程序的权限
- 给QT程序的EXE添加图标
- 给程序添加行项目的设置
- 如何给自己的程序添加BugReport
- 如何给自己的程序添加BugReport
- 给运行的Python程序添加参数
- 关于C生成的汇编与C++生成的汇编在函数名称上的差异
- vc程序中嵌入汇编的语句的说明
- matlab使语句对齐和使正在运行的程序暂停
- 程序的暂停sleep(),wait()
- 关于生成位图的程序
- 关于SQL语句的自动生成
- 关于SQL语句的自动生成
- 命令行下Oracle数据库的几种OPEN方式研究
- javascript文件操作
- 实用JAVASCRIPT代码
- Segment/Section/Virtual Memory/Page之间的区别
- split 函数
- 关于给汇编生成的程序添加暂停语句
- XP轻松实现免激活升级
- 测试2
- C#中线程同步实验设计
- 男人的一根烟
- 对Autorun.inf类病毒(U盘病毒)的攻防经验总结
- 重视代码
- UML 学习笔记------ 面向对象概念的理解
- 开机按F1才能进入(启动)系统的解决方案