北京理工大学汇编实验五.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 、单个字符

文档评论(0)

561190791 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档