汇编语言程序设计初步

汇编语言程序设计初步

ID:27718282

大小:484.00 KB

页数:99页

时间:2018-12-03

汇编语言程序设计初步_第1页
汇编语言程序设计初步_第2页
汇编语言程序设计初步_第3页
汇编语言程序设计初步_第4页
汇编语言程序设计初步_第5页
资源描述:

《汇编语言程序设计初步》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章汇编语言程序设计初步3.1系统功能调用3.2汇编语言源程序的设计的基本步骤3.3分支结构的汇编语言源程序的编写3.4循环结构的汇编语言源程序的编写开始3.1系统功能调用3.1.1系统功能调用概述3.1.2基本I/O调用返回本章首页3.1.1系统功能调用概述我们在编制汇编源程序时,常常要与外部设备发生关系,如希望能从键盘输入字符或在显示器上显示出程序运行的结果,但由于计算机机种的不同、外部设备型号的差异,控制它们工作的程序也会有差异。如果每次都需要根据自己的工作环境来设计“控制这些外设工作的程序”,则必须要先弄清楚与之有关的设备、电路、接口等各方面的情况,是一件既复杂,效率又低的

2、事情,并且没有通用性。如果把这些控制过程预先编写成一个一个子程序,作为操作系统的一部分事先放在系统盘上,用户在需要时只要按规定的格式设置好参数,直接调用这些子程序即可。美国MICROSOFT公司为我们提供的磁盘操作系统(DOS)就具有这种功能,称为“利用操作系统的标准功能调用(简称系统功能调用)”,编号从0~62H(3.0版),主要分为设备管理(如键盘、显示器、打印机、磁盘等的管理)、文件管理、目录管理及其他功能调用4大类。●系统功能调用的基本方法采用一条软中断指令INTn。所谓中断,是指当计算机正在执行正常的程序时,计算机系统中的某个部分突然出现某些异常情况或特殊请求,CPU这时就

3、中止(暂停)它正在执行的程序,而转去执行申请中断的那个设备或事件的中断服务程序,执行完这个服务程序后,再自动返回到程序断点执行原来中断了的正常程序。这个过程或这种功能就叫做中断。软中断是以指令方式产生的中断,n是中断类型号,不同的n将转入不同的中断处理程序。系统功能调用是21号软中断。常用的系统功能调用表:表3-1最常用的系统功能调用表●系统功能调用的步骤:1)将调用参数装入指定的寄存器。2)如需要功能调用号(即欲调用的子程序编号),把它装入寄存器AH。3)如需要子功能调用号,把它装入AL。4)按中断号调用DOS(发出中断指令:INT21H)。5)检查返回参数是否正确。3.1.2基本

4、I/O调用1.01H号调用功能:从标准输入设备上(通常为键盘)读取字符,并在标准输出设备上(通常为显示器)回显。格式:MOVAH01HINT21H说明:输入字符的ASCII码送入AL中,如果读到的字符是Ctrl+C或Ctrl+Break,则结束程序。2.02H号调用功能:通过标准输出设备(多为显示器)输出字符。格式:MOVDL,X;(X为要输出显示的ASCII字符代码)MOVAH,02HINT21H说明:DL寄存器中的内容等于要输出字符的ASCII码,在显示输出时检查到的字符是Ctrl+C或Ctrl+Break键的,则结束程序。3.09H号调用功能:在标准输出上(通常为显示器)显示一

5、个字符串。字符串要以字符“$”为结束标志。格式:MOVAH09HINT21H说明:要输出显示的字符串的首地址送到DS、DX两个寄存器中,其中段地址送DS寄存器,偏移地址送DX寄存器。4.0AH号调用功能:从标准输入设备上(通常为键盘)读一个字符串,存入内存,直到按回车键为止。格式:MOVAH,0AHINT21H说明:此项操作,要求事先定义一个输入缓冲区,它的缓冲区首地址送到DS、DX两个寄存器中,其中段地址送DS寄存器,偏移地址送DX寄存器。【例3-1】在显示器上显示字符串WelcometoTianHecollege!DATASSEGMENT;/数据段定义开始STRINGDB'Wel

6、cometoTianHecollege!',0AH,0DH,'$';/定义字符串,0AH,0DH表示显示字符串后,光标可自动回车换行,字符串必须以$结束。DATASENDS;/数据段定义结束CODESSEGMENT;/代码段定义开始ASSUMECS:CODES,DS:DATAS,SS:STACKS;/说明段和段寄存器之间的关系START:MOVAX,DATAS;/将数据段的段地址送寄存器AXMOVDS,AX;/将AX内容送DS寄存器,即初始化DSLEADX,STRING;/将STRING的偏移地址送DX寄存器MOVAH,9;/字符串显示子功能,9号系统功能调用INT21H;/系统调用

7、MOVAH,4CH;/返回DOSINT21H;/系统调用CODESENDS;/代码段定义结束ENDSTART【例3-2】从键盘输入字符串,把它放到缓冲区中存储起来。DATASEGMENTMAXLENDB100;/定义缓冲区的最大容量ACLENDB?;/定义实际读入的字符数STRINGDB100DUP(?);/定义接收字符串空间DATAENDSCODESEGMENTMOVAX,DATAMOVDS,AX;/数据段初始化LEADX,MAXLEN;/送MAXLEN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。