- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京理工大学汇编实验五
一、 实验目的
1、 掌握子程序有关基本知识,学会子程序设计方法;
2 、 掌握主程序与子程序之间的调用关系及调用方法;
3、 掌握汇编语言字符串处理方法;
4 、 掌握字符串的输入输出程序设计方法;
5、 掌握数制转换程序实现方法。
二、实验软硬件环境
1、硬件环境:惠普 64 位一体化计算机及局域网;
2 、软件环境:windows 8,红蜘蛛管理系统,MASM for Windows 。
三、实验相关知识
把功能相对独立的程序段单独编写和调试,作为一个相对独立的模块供程序使用,就
性成子程序。子程序可以实现源程序的模块化,可简化源程序结构,可以提高编程效率。
1) 子程序的定义语句格式
汇编语言子程序以 proc 语句行开始,以 endp 语句行结束。如:
过程名 PROC near[或 far]
过程体
过程名 ENDP
在主程序中用 CALL 过程名 调用。主程序和子程序之间传递参数通常通过栈来进行,
当然也可以用某些缺省的寄存器或内存来传递。但以通过栈来传递参数程序的通用性最
强。
2) 子程序调用说明
子程序从 PROC 语句开始,以 ENDP 语句结束,程序中至少应当包含一条 RET 语句
用以返回主程序。在定义子程序时,应当注意其距离属性:当子程序和调用程序在同一
代码段中时,用 NEAR 属性;当子程序及其调用程序不在同一个代码段中时,应当定
义为 FAR 属性。当由 DOS 系统进入子程序时,子程序应当定义为 FAR 属性。为执
行子程序后返回操作系统,在子程序的前几条指令中设置返回信息。
3) 子程序使用中的问题
A 、 主程序调用子程序是通过 CALL 指令来实现的。子程序执行后,通过 RET 指令,
返回主程序调用指令 CALL 的下一条指令,继续执行主程序。一个子程序可 以由
主程序在不同时刻多次调用。如果在子程序中又调用了其他的子程序,则称为子程
序的嵌套。特别是当子程序又能调用子程序本身时,这种调用称为递归。
B 、调用子程序时寄存器及所用存储单元内容的保护。如果子程序中要用到某些寄存器
或存储单元时,为了不破坏原有的信息,要将寄存器或存储单元的原有内容压栈保
护,或存入子程序不用的寄存器或存储单元中。
C、用于中断服务的子程序则一定要把保护指令安排在子程序中,这是因为中断是随机
出现的,因此无法在主程序中安排保护指令。
D 、调用程序在调用子程序时需要传送一些参数给子程序,这些参数是子程序运算中所
需要的原始数据。子程序运行后要将处理结果返回调用程序。原始数据和处理结果
的传递可以是数据,也可以是地址,统称为参数传递。
E 、参数传递必须事先约定,子程序根据约定从寄存器或存储单元取原始数据(称入口
参数);进行处理后将处理结果(称出口参数)送到约定的寄存器或存储单元,返回
到调用程序。参数传递一般有下面三种方法:用寄存器传递:适用于参数传递较少、
传递速度快的情况;用堆栈传送:适用于参数传递较多、存在嵌套或递归的情况;用
存储单元传送:适用于参数传递较多时,但传递速度较慢。
4) 子程序调用的现场保护与恢复
保护现场:在子程序设计时,CPU 内部寄存器内容的保护和恢复。一般利用堆栈实
现现场保护和恢复的格式,
过程名 PROC near[或 far]
PUSH AX
PUSH BX
PUSH DX
POP DX
POP AX
RET
过程名 ENDP
5) 键盘输入输出方法
汇编语言的数据输入和输出形式如下:
A 、单个字符数据的输入输出;
B 、字符串数据的输入输出。
上述通过 DOS 功能调用来实现,具体方法如下:
A 、单个字符输入。单个字符输入利用 DOS 的 1 号功能调用实现。
MOV AH,1
INT 21H
键盘输入的数据以 ASCII 码形式存储在 AL 寄存器中。
B 、单个字符
您可能关注的文档
最近下载
- 2023年河西学院药学《药理学》科目期末试卷A(有答案).docx VIP
- 2023年海南师范大学体育教育专业《普通心理学》期末试卷A(有答案).docx VIP
- 2024年国开电大本科《流通概论》单项多项选择题库(附答案).pdf
- 2023年海南师范大学地理科学专业《普通心理学》期末试卷A(有答案).docx VIP
- 精品解析:广东省广州市黄埔区2022--2023学年七年级下学期期末考数学试题(解析版).docx VIP
- 企业安全生产费用提取和使用管理办法(课件).pptx
- 系统接口对接实施方案.docx VIP
- 2023年海南师范大学物理学专业《普通心理学》期末试卷A(有答案).docx VIP
- 2021智慧树答案【思想道德修养与法律基础(山东师范大学)】智慧树网课章节测试答案 .doc
- 商汤科技上市招股说明书.pdf
文档评论(0)