当前课程知识点:微机原理与接口技术 > 第8周 汇编语言程序设计 > 第34讲 系统功能调用 > 系统功能调用_01
大家好 这一讲我们来学习系统功能调用
所谓系统功能调用主要指的是调用系统BIOS
或者说操作系统内核的一些功能
那么什么是BIOS呢?
BIOS我们叫做基本输入输出系统的一个英文的缩写
它是驻留在整个我们计算机ROM中间的一段软件
因为它是在计算机出厂的时候
整个系统唯一带的一个软件
所以它是和这个芯片完全是
成为一体的
所以有时候我们也把它称为固件
早期系统BIOS它存储系统BIOS的这个芯片
完全是那种用光刻技术刻写在
硅片上的那样子的一个芯片
也就是说这里边的内容
完全是通过硬件的方式把它写在上头的
是不可能改动的
也是你可以把它砸烂 但是不可以修改
所以我们有时候把它合在一起也称为固件
当然今天的系统BIOS它已经不是用光刻的技术
刻在这样子的芯片上了
因为那样改起来太麻烦了
今天都用的是那种可写的这种只读存储器了
这个我们后边的内容里再给大家介绍
那么系统BIOS总体的功能
就是这样几大功能
一个是上电的自检
就是说我们一开机有时候会看到系统不停的那些
那种黑乎乎的字符界面上不停的数字跳
这个就是系统在进行自检
在一个就是操作系统引导
它会引导操作系统从硬盘引导到内存中间
然后它还有另外一个功能
就是对输入输出设备和接口进行控制
这个是系统BIOS的这样几大功能
那么所谓DOS
是什么意思呢?
是磁盘操作系统
这是WINDOWS操作系统之前的操作系统
也就是说是今天操作系统的前身
那么在WINDOWS开发出来之后
DOS操作系统会
被嵌入到今天的WINDOWS操作系统里头
所以今天我们打开WINDOWS操作系统之后
在这个程序附件里边我们可以看到命令提示符
这个实际上就是DOS操作系统
无论是DOS功能还是BIOS功能
它们都里边包含了若干的软件程序功能包
这些功能包的调用
不是通过我们前面学到的那种CALL指令
按子程序的形式来调用的
而是通过中断的方式来调用的
所以不论是调用BIOS还是调用DOS
我们也都可以简称为DOS中断或者BIOS中断
这就是我们中断指令主要的功能
就是调用这些操作系统的内核
在我们这一讲里头我们将
忽略掉了BIOS这个功能调用
因为BIOS的很多很多功能
实际上DOS功能都已经包含了
因为BIOS是更加底层的功能
就刚才我们说它出厂的时候唯一带的一组软件
那么现在我们更多的是
因为我们借助了操作系统来管理我们整个的设备
所以BIOS里边的很多功能在DOS里边都有
因此我们在这门课里头将不再涉及BIOS的功能调用
我们在这里主要给大家介绍DOS功能调用
DOS功能里头包含了文件管理 目录管理
或者是设备管理等等这些功能
这些所有的功能它们都是一组一组的软件
或者说都是一组大型的软件包
这些软件的调用刚才我们说了
全部是通过中断的方式来进行的
而中断指令我们前面已经学过
中断指令的格式就是它的指令码是INT
后边那个是指令的中断类型码
就是那个小写的n
INT n
所以在我们用这个INT指令来调用这个
操作系统这些内核功能的话
那么它怎么去区分呢?
就是完全靠这样的类型码来区分的
因为DOS功能里边它的软件功能包非常多
有兴趣的大家去看一下我们教材的附录里头
我们给大家列出来了
我们课程里头没有办法把这些功能全部拿来介绍
所以我们下边就只介绍一个类型码
这个类型码在工程上我们叫它DOS软中断
这个类型码是21H
所以下边我们要介绍的
就是类型码为21H的这样子的一个DOS功能
这个DOS功能我们在真正学的时候
我们先做一个简单的说明
首先 这个类型码为21H的这个DOS软中断
或者说DOS的这个功能包
它实际上为什么叫做软件功能包
就是它里面其实又包含了好多好多的子程序
这些子程序它们统一都有一个类型码
就是都是21H
但是你怎么去区分你调用的是哪一个子程序呢?
那么它的每一个子程序用功能号来区分
这个DOS软中断里包含了几十个功能子程序
我们在这门课里头只给大家介绍其中的五个子程序
这五个子程序每一个子程序都有一个功能号
因此 它们在调用的时候
有这样子的一些步骤
就是首先我们要确定这些子程序它的参数
因为这些所有的子程序包括整个DOS操作系统
都没有开源
所以它的子程序是怎么编的我们并不知道
但是别人给了我们入口参数和出口参数
也就是说给了我们一些接口的指标
所谓入口和出口参数的意思就是
有一个软件比如这个软件是别人编的
那么这个软件怎么编的没有人告诉你
我们也不知道
但是人家给我们用的时候提供了一些说明
这个说明就是说你可以输入什么样形式的数据
然后你输入这样形式的数据
将会得到什么样的输出
那么这个就是输入的这叫入口
输出的就是出口
就像我们“门”一样
一个房间一样
我们进来一个什么
比如我们进来一个整数
我们会出去一个也是整数
这就是它的入口和出口的参数
在我们下边要学习的这几个子功能的时候
我们要请大家一定首先要注意
每一个子功能它对入口参数和出口参数的要求
另外 对于所有的DOS软中断的应用
刚才我们说它里边有几十个子功能
每一个子功能或者说子程序
都是用功能号来区分的
这些功能号它要求你必须事先送到AH里头
那么中断类型码
在我们下边要学的全部都是21H
那么也要确定返回的参数
到底返回在哪里这就是说它的出口参数
DOS软中断的调用格式是这样
首先我们要调用哪一个子功能
也就说它的功能号要放到AH里
然后相应的参数如果有的话
比如如果有入口参数我们要设置
如果有出口参数我们要把出口参数设置好
然后最后INT 21H
也就是类型码21H
这样的话就是调用了21H这个大的功能包
然后应根据功能号找到那个子程序
然后它就去调用它了
这就是它的总体的过程
下边我们来学习这五个子功能
-第1讲 关于本课程
--关于本课程
-第2讲 微型计算机系统
--微机系统_01
--微机系统_02
-第3讲 微型计算机一般工作过程
-第4讲 数制与编码
--计算机中的编码
-第5讲 计算机中数的表示与运算
--数的表示
--符号数的表示
--数的表示与运算
-第6讲 基本逻辑运算与逻辑电路
-第7讲 本周小结
--本周小结
-第1周 微型计算机基础概论--第一周单元测验
-第8讲 8088微处理器
-第9讲 8088 CPU主要引线及机构
-第2周 8088微处理器--第二周单元测验
-第10讲 实模式存储器寻址
-第11讲 8088系统总线
--8088系统总线
-第12讲 微处理器小结
--微处理器小结
-单元测验--作业
-第13讲 指令概述
--指令概述
-第14讲 寻址方式
--寻址方式
-第15讲 通用数据传送指令
-第16讲 地址传送指令
--地址传送指令
-第17讲 输入输出指令
--输入输出指令
-第4周 数据传送指令--第四周单元测验
-第18讲 算术运算指令
--加法运算指令
--减法指令
--乘除运算指令
-第19讲 逻辑运算指令
-第20讲 移位操作指令
--移位操作指令
-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验
-第21讲 关于串操作指令的说明
--串操作指令说明
-第22讲 串传送与串比较
--串传送与串比较
-第23讲 串扫描指令
--串扫描指令
-第24讲 串装入与串存储指令
-第六周单元测验--作业
-第25讲 程序控制指令说明
-第26讲 转移类指令
--无条件转移指令
--条件转移指令
-第27讲 循环控制指令
--循环控制指令
-第28讲 过程调用指令
--过程调用指令
-第29讲 中断指令
--中断指令
-第30讲 处理器控制指令
--处理器控制指令
-第31讲 指令系统小结
--指令系统小结
-第7周 程序与处理器控制--第七周单元测验
-第7周 程序与处理器控制--第七周作业
-第32讲 汇编语言源程序
-- 汇编语言源程序_01
-- 汇编语言源程序_02
-第33讲 伪指令
--数据定义伪指令
--其它伪指令
-第34讲 系统功能调用
-第35讲 汇编语言程序设计示例详解
--程序设计示例1
-第36讲 汇编语言程序设计小结
-第8周 汇编语言程序设计--第八周单元测验
-第8周 汇编语言程序设计--第八周作业
-第37讲 半导体存储器概述
--半导体存储器概述
-第38讲 内存单元编址
--存储单元编址
-第39讲 随机存取存储器RAM
-- RAM_01
--RAM_02
-第40讲 只读存储器ROM
--ROM_01
--ROM_02
-第九周单元测验--作业
-第41讲 半导体存储器扩展
--存储器扩展_2
-第42讲 半导体存储器小结
--半导体存储器小结
-第十周单元测验--作业
-第十周作业--作业
-第43讲 基本I/O接口
-第44讲 简单接口芯片
--简单接口芯片
-第45讲 基本输入输出方法
--基本I/O方法
-第46讲 简单I/O控制系统设计
-第47讲 中断技术
--中断技术1
--中断技术2
-第48讲 输入输出与中断技术小结
--本周小结
-第十一周单元测验--作业
-第49讲 可编程定时计数器
-第50讲 可编程并行接口
-第51讲 可编程接口小结
--本周小结_01
--本周小结_02
-第十二周单元测验
-第52讲 模拟量的输入输出
--模拟量的输入输出
-第53讲 D/A转换器
-第54讲 A/D转换器
-- A/D转换器_01
-第十三周单元测验--作业
-第55讲 I/O接口系统综合设计示例详解I
-第56讲 综合设计示例详解II
-第57讲 结束语
--结束语