实验五 汇编语言程序设计和调试(二).doc
《实验五 汇编语言程序设计和调试(二).doc》由会员分享,可在线阅读,更多相关《实验五 汇编语言程序设计和调试(二).doc(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、21预备预备知知识识: :DOS 系系统统功能功能调调用用1概述概述DOS (Disk Operating System)是计算机的磁盘操作系统,它有两个重要的 DOS 模块:(1)IBMBIOCOM,称为基本输入输出设备处理程序,它提供了 DOS 到 ROM BIOS(Basic InputOutput System)的低级接口,完成将数据从外设读入内存,或将数据从内存写入外设中去的工作;(2)IBMDOSCOM,它包含文件管理程序和其他一些处理程序。在 DOS 下运行的程序都可以用中断方式调用上面提到的 I0 设备处理程序、文件管理等程序,实现用户对 I/O 或文件管理的要求,这就称为“D
2、OS 系统功能调用” 。为了完成 DOS 调用,IBMDOSCOM 将信息传送给 IBMBIOSCDM,形成 1 个或多个 BIOS调用。它们之间的关系如图所示。在有些情况下,既能选择 DOS 中断,也能选择 BIOS 中断来执行同样的功能。所以应尽 量使用 DOS 中断功能,但是还有一些情况,由于没有等效的 DOS 中断功能,必须使用 BIOS 中断功能。 DOS 中断可处理多数的 IO,但有一些功能还没有提供,如声音控制,这就要考虑用IO 指令在端口级进行编程,或使用高级语言编程来实现。2 DOS 系系统统功能功能调调用用( (1) )DOS 系系统统功能功能调调用方法用方法一般调用时要包
3、含以下 3 部分内容:入口参数初始化;子程序编号送人 AH;子程序请求中断指令:INT 21H。一般采用 INT 21 H 调用 DOS 功能。有的子程序不要入口参数,但大部分需要将参数送入指定地点。调用结束时,如有出口参数,一般存放在寄存器中。 (2 2)I I0 0 DOSDOS 系统功能调用实例系统功能调用实例键盘单个字符输入/输出(a) AH=1、7、8:键盘单个字符输入功能调用。以 AH1 为例:MOV AH,11NT 21H执行上述指令,将扫描键盘,一旦有键按下,就将相应键的 ASCII 码读入;先检查是 否是按下键,如是则退出命令执行;否则将键值送人 AL 寄存器,同时将这个 字
4、符显示在屏幕上。AH=7 等待从标准输入设备输入字符,然后将其送入 AL,但不显示,也不对字符进22行检查。 AH=8 功能与 AH=1 类同,只是不在屏幕上显示(b) AH=2:键盘单个字符输出功能调用。它要求将显示字符的 ASCII 码(入口参数)送 给寄存器 DL。显示时,光标跟随字符移动,并检查是否按下键,如果是按下 此键,则退出命令执行。例如,下面代码实现将字符“A”送人屏幕显示:MOV DL,41H ;大写字符A的 ASCII 编码MOV AH,2 ;功能号 02H 送 AH1NT 21H ;中断 21H,DOS 系统功能调用输出字符串AH=9 的功能是显示字符串。它要求 DS:D
5、X 必须指向内存中 1 个以“$”作为结束的字 符串。如果希望光标自动换行,可在字符串结束以前加上回车和换行符的 ASCII 码。A1 DB 41H,42H,43H,0AH,0DH,$ ;数据段定义字符串 A、B、C ;0AH 是换行、0DH 是回车符号 LEA DX,A1 ;A1 偏移地址送 DX MOV AH,09H ;AH09H,显示 A1 输入字符串 INT 21H ;中断 21H,DOS 功能调用 字符串输入AH=lO 功能是从键盘接收字符串到用户定义的输入缓冲区中。缓冲区内第一个字节指 出缓冲区所能容纳的字符个数。如果键入的字符数比此数字大,就会发出“嘟嘟”声,而 且光标不再向右移
6、动;如输入的字符数少于定义的字节数,缓冲区其余的字节填以 0。缓 冲区内第二个字节是实际输入的字符个数,这个数据由该功能自动填入。从第三个字节开 始,依次按字节存放从键盘上接收到的字符,最后结束字符串的回车符 0DH 还要占用 1 字 节,所以整个缓冲区的大小应为最大字符数(包括回车符在内)加上 2。调用时,要求 DS:DX 指向输入缓冲区。例如:DATA SEGMENTBUF DB 16 ;缓冲区长度DB 9 ;保留为系统填人实际输入的字符个数DB 16 DUP(?) ;定义 32Byte 的存储空间 DATA ENDSCODE SEGMENT MOV AX,DATAMOV DS,AXMOV
7、 DX,OFFSET BUFMOV AH,10 INT 21HCODE ENDS如果我们键入字符串:HOW DO YOU DO? 此时缓冲区 BUF 中各单元内容如下:23实验实验五五 汇编语汇编语言程序言程序设计设计和和调试调试(二)(二)DOS 功能功能调调用用一一实验实验目的与要求目的与要求1、进一步熟悉 8086/8086 汇编语言的基本指令系统2、初步了解 DOS 系统功能调用在汇编语言程序中的应用二二实验实验准准备备1. PC 系列微型计算机一台;2. 软件安装 DOS 系统、含 EDIT.EXE、MSAM.EXE 、LINK.EXE 或其他软件编辑工具;3. C 盘下创建 MAS
8、M 目录。三三实验实验要求要求1启动计算机并进入 DOS 状态和 MASM 子目录。2在当前盘的 MASM 目录下用 EDIT 编辑工具将自己编写的源程序编辑成一个源程序文件,以“文件名.ASM”名称存储在当前盘。3使用 MASM 对源程序汇编,生成目标程序文件(文件名.OBJ)(注:若汇编出错,找出错误原因并进行修改,直至正确)(1)命令格式及操作过程。(2)汇编结束后记录屏幕所显示的内容。4返回 EDIT 环境查看列表文件(1)命令格式及操作过程。(2)记录屏幕所显示的内容。5使用 LINK 软件生成可执行程序文件(文件名.EXE)(1)命令格式及操作过程。(2)记录屏幕所显示的内容。6运
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 试验 汇编 语言程序设计 以及 调试
限制150内