【汇编】DOS系统功能调用(INT 21H)
前言
最近又听了听汇编的课程,发现代码里的MOV xxxxx INT 21H,老师都是一句话带过,而不讲讲其中的原因(也可能前面讲了我没有听QAQ)。
顺便夸一下老师,老师懒省事录的视频画质已经成功从AV画质晋级为高清画质,哈哈哈哈哈,棒棒棒!
正传
让我们言归正传,这些代码都是啥意思呢?
MOV AH,4CH
INT 21H
这,奇妙的搭配,神奇的组合,是什么意思呢?
实际上这些是由DOS提供的一组实现特殊功能的子程序供程序员在编写自己的程序时调用,以减轻编程的工作量。
简而言之,就是 已经编写好的可直接调用的微小子程序。
如上面那两行代码,实际上是这样的:
(1)系统功能号送到寄存器AH中;
(2)入口参数送到指定的寄存器中;
(3)用INT 21H指令执行功能调用;
(4)根据出口参数分析功能调用执行情况。
实现的功能为:返回DOS,相当于高级语言中的return
四种常用的系统功能调用:
AH | 功能入口 | 参数出口 | 参数 |
---|---|---|---|
4CH | 返回 | 无 | 无 |
1 | 键盘输入一个字符到AL中 | 无 | AL=字 |
2 | 输出DL中的字符到显示器 | DL(存放有字符) | 无 |
9 | 输出一个以"$"结尾的字符串到显示器 | DS:字符串所在的段地址 | 无 |
详细用法—>参考文章
DOS系统功能调用表(全)
这个嘛,肯定是上资料了,当然,我找到了,你直接看就好。
点我!!!
【汇编】DOS系统功能调用(INT 21H)相关推荐
- 【微机汇编语言学习笔记(一)】DOS功能调用——INT 21H功能调用显示A~Z
1.DOS系统功能调用格式 MOV AH,调用号 设置入口参数 INT 21H;只有执行了这条指令才能实现真正的功能 2.INT 21H功能使用说明 ①入口:AH = 00H 或AH = 4CH 功能 ...
- 【汇编综合应用】大小写字母的转换、2号、9号和10号DOS系统功能调用、分支、循环程序结构、子程序、寄存器传递参数,宏定义、宏调用,观察宏展开。
实验内容 编程实现:用10号DOS功能调用从键盘输入一串大小写字母到BUF为首址的缓冲区中,然后将其中的小写字母换成大写字母,原大写字母不变,仍然放入本缓冲区,再将该字符串内容在显示器上显示,且以十六 ...
- DOS系统功能调用表(INT 21H)
DOS功能调用 AH 功能 调用参数 返回参数 00 程序终止(同INT 20H) CS=程序段前缀 01 键盘输入并回显 AL=输入字符 02 显示输出 DL=输出字符 03 异步通迅输入 AL=输 ...
- dos系统功能调用的屏幕显示字符是( )号调用_四、WIN10模拟DOS环境之8086汇编实战...
1.开发环境的搭建 (1)下载工具 DOSBox(DOS模拟器):https://www.dosbox.com/download.php?main=1 masm(汇编图形化环境):https://ww ...
- 汇编MOV AH,9 INT 21H的应用——屏幕显示
0DH = 13D ASC码代表回车 0AH = 11D ASC码代表换行 lea 取字符串的标号 assume cs:codesg,ss:stacksg,ds:datasgstacksg segme ...
- 常用DOS系统功能调用(INT 21H)一览表
- INT 21H 指令说明及使用方法(汇编语言学习)
INT 21H一般搭配着AH使用. MOV AH, 01H INT 21H 一般是这样的使用方式. 通过这样两条指令,输入的字符就会被存储在AL中. 例如: 在很多时候我们想要去做汇编程序的输入与输出 ...
- 【7】汇编 DOS部分
一.返回DOS操作系统 返回DOS的三种方法 程序框架设定的方法返回.将主程序定义为一个远过程,再执行三条指令,将DS和00H入堆栈,然后执行RET指令,转去执行INT20H,退出应用指令,释放所 ...
- 汇编中断知识之INT 1CH
最近在编写汇编程序遇到一个使用INT 1CH的程序,INT 1CH是实现定时或周期性的工作,难道INT 1CH就像INT 21H一样直接调用它里面的功能号吗?下面就通过一个程序简单的看看传说中的INT ...
- 系统功能调用DOS中断INT 21H功能包单字符输入01单字符输出02字符串输入0a字符串输出09
微机原理与接口技术39讲 BIOS和DOS系统调用 BIOS更加底层,可以直接使用DOS DOS软中断INT 21H 调用步骤 单字符输入 按下回车退出 assume cs:codecode segm ...
最新文章
- oracle insert忽略重复数据,Oracle’INSERT ALL’忽略重复项
- oracle数据导出方法,oracle多种导入导出数据方法
- Hadoop2.7.0伪分布式安装教程
- Android 缓存池工具类
- js 浅拷贝直接赋值_js的浅拷贝和深拷贝的简单理解和使用方法
- Linux驱动中,probe函数何时被调用
- Qt没有被正确安装,请运行make install问题的解决
- ssl初一组周六模拟赛【2018.4.7】
- Nodejs之http模块详解
- java如何循环调用方法_Java:调用方法的“中断”循环?
- thinkjs使用sqlite
- AIX 6.1 连接DS4700,多路径mpio,mpio_get_config -Av 需要打补丁。
- S5pv210裸机实验——SDRAM重定位
- Hadoop HBase概念学习系列之什么是HBase? (一)
- QT-700多种实用好看的图标,直接拿来用
- 打开360浏览器显示无法连接服务器错误,最近360浏览器老是无法打开网页,提示错误如图,但是只要刷新就可以打开了,这是怎么回事?...
- 生日祝福模板html,生日祝福语模板
- Autodesk Maya入门到精通学习教程
- iOS 蓝牙连接小米手环
- 使用Selenium爬取网易云音乐的所有排行榜歌曲