微机原理第3章2-汇编语言程序设计2.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:37 大小:226KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理第3章2-汇编语言程序设计2.pdf

微机原理第3章2-汇编语言程序设计2.pdf

预览

免费试读已结束,剩余 27 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微机原理与应用3.3DOS和BIOS功能调用3.3.1概述¾系统功能调用——由OS提供的一组实现特殊功能的子程序供程序员在程序中调用,以减轻编程工作量。¾系统功能调用有两种,一种称为DOS功能调用,另一种称为BIOS功能调用。¾用户程序在调用这些系统服务程序时,不是用CALL命令,而是采用软中断指令INTn来实现。¾在DOS系统中,功能调用都是用软中断指令INT21H来实现的。机械工程学院1微机原理与应用•BIOS(BasicInputandOutputSystem)--IBMPC及PC/XT的基本I/O系统。•固化在ROM中•系统测试程序、初始化引导程序、中断矢量装入程序、外部设备服务程序。•DOS(DiskOperationSystem)--IBMPC及PC/XT的磁盘操作系统。•由软盘或硬盘提供•管理系统资源,例如设备管理、磁盘文件的管理。机械工程学院2微机原理与应用用户与DOS的关系用户I/O请求键入命令(普通用户)COMMAND.COM命令处理程序用户程序DOS程序的核心,包括DOSMSDOS.SYS(高级用户)功能调用的子程序和实现DOS文件系统的管理程序。IO.SYS基本输入/输出设备驱动程序系统测试程序、初始化引导ROMBIOS程序、中断矢量装入程序等I/O设备机械工程学院3微机原理与应用3.3.2DOS软中断和系统功能调用INTnn=5~1F,BIOS调用;n=20~3F,DOS调用(INT21HDOS系统功能调用)1.DOS软中断设置执行分析入口参数INTn出口参数机械工程学院4微机原理与应用1、INT20H程序结束,只适用于.COM文件,不适用于.EXE文件2、INT21H系统功能调用。3、INT22H结束退出,用户不能直接调用。4、INT23HCtrl-Break退出,用户不能直接调用。5、INT24H出错退出,用户不能直接调用。6、INT25H读盘。要求用户熟知磁盘结构。7、INT26H写盘。要求用户熟知磁盘结构。8、INT27H驻留退出。9、INT28H~3FHDOS专用。机械工程学院5微机原理与应用2.DOS系统功能调用(INT21H)INT21H是一个具有近90个子功能的中断服务程序。这些子功能的编号称为功能号。INT21H的功能:设备管理:键盘输入、显示器输出、打印机输出等。目录管理:查找目录项、查找文件、文件改名等。文件管理:打开、关闭、读/写、删除文件等。其它使用方法:设置执行分析置功能号AH入口参数INTn出口参数机械工程学院6微机原理与应用1).DOS键盘功能调用(1)从键盘输入一个字符(功能号=1)MOVAH,1INT21H<AL中有键入的字符>例:程序中有时需要用户对提示做出应答。GET_KEY:MOVAH,1;等待键入字符INT21H;结果在AL中CMPAL,’Y’;是’Y’?JZYES;是,转YESCMPAL,’N’;是’N’?JZNO;是,转NOJMPGET_KEY;否则继续等待输入YES:……NO:…机械工程学院7微机原理与应用(2)输入字符串(功能号=0AH)此功能调用从键盘输入一串字符并把它存入用户指定的缓冲区中。MOVAH,0AHLEADX,<字符串缓冲区首地址>INT21H用户定义的输入字符串的缓冲区格式N1N2(预留的N1个字节的存储单元)0DHN1:缓冲区长度(最大键入字符数)N2:实际键入的字符数(不包括回车符)若用户键入的字符数(包括回车)≥定义的N1,本功能调用将不再接收新的键入,且光标不再向右移动。机械工程学院8微机原理与应用例:设在数据段定义键盘缓冲区如下:STR1DB10,?,10DUP(?)调用DOS功能的0AH号功能的程序段为:LEADX,STR1MOVAH,0AHINT21H此程序段最多从键盘接收10个按键(包括回车)。机械工程学院9微机原理与应用2).DOS显示功能调用(1)在显示器上显示一个字符(功能号=2)MOVAH,2MOVDL,<要显示的字符>INT21H例:在显示器上显示一个字符‘A’MOVAH,2MOVDL,’A’;或MOVDL,41HINT21H机械工程学院10微机原理与应用(2)显示字符串(功能号=9)MOVAH,9LEADX,<字符串>INT21H注意:被显示的字符串必须以’$’结束。例:在屏幕上显示:’HELLO,WORLD!’;在数据段定义字符串:DATASEGM