宏指令与子程序设计实验.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 . 实验目的及实验环境 实验环境: 1、 熟悉宏指令、宏定义、宏调用以及宏展开的概念;掌握宏指令的定义与调用 的方法。 2、 掌握子程序的定义、调用以及调用程序与子程序之间参数的传递方法。 3、 了解宏指令与子程序的异同以及各自的适用场合。 实验环境: 80x86 系列微型计算机一台以及进行汇编语言程序设计所必需的编程 工具(文本编辑器、 ASM.EXE 、LINK.EXE 、DEBUG.EXE ) 二 . 实验内容 从键盘输入 10 个无符号十进制数(小于 256),将其转换为二进制数并存放 在 NUM 字节型变量中,找出其中的 最大数,并将找出的最大数在屏幕上 显示出来。 要求: ① 在屏幕上显示字符串提示信 息的功能由宏指令 DSTRING 实现; ② 将键盘输入的十进制数转换 成二进制数由子程序 DTOB 实现; ③ 在 N 个无符号字节型二进制 数 中 找 出最 大 数 的 功 能 由 子 程 序 FMAX 实现; ④ 将一个无符号字节型二进制 数转换为十进制数并在屏幕上显示 的功能由子程序 BTOAD 实现。 程序运行结果如右图所示。 三.方案设计 1、 编程指导 (1) 显示提示信息的宏指令 DSTRING 的编写 宏指令通常用于在程序中需要反复使用但所需指令条数又不是很多的情形; 而对于需要经常使用且需要较多指令才能完成的功能通常通过子程序调用来实 现。这是因为, 从执行速度上看, 由于子程序调用涉及到保护断点的操作, 因此, 子程序调用比宏调用执行时间相对要稍长一些; 但从生成的可执行文件的大小方 面考虑,子程序调用生成的文件要小一些。 读者在进行汇编语言程序设计时, 应 综合考虑两者的利弊,以便进行合理选择。 下面给出实现提示信息显示的宏指令的定义: DSTRING MACRO STRING PUSH DX PUSH AX MOV DX,OFFSET STRING MOV AH,09H INT 21H POP AX POP DX ENDM 请读者注意,宏指令应该先定义,后调用。因此,宏定义通常紧跟在代码段 中段寄存器赋值指令之后给出。 (2) 将键盘输入的十进制数转换为二进制数的子程序 DTOB 的编写 子程序的定义方法请参阅教材“ 5.6.4 子程序设计”一节。将十进制数转换 为二进制数的程序代码请参阅本书“ 2.4.3 实验内容”中“编程指导”部分。 (3) 在 N 个无符号字节型二进制数中找出最大数的子程序 FMAX 的编写 请参阅教材“ 5.6.3 循环程序设计”一节例 5.12。 (4) 将一个无符号字节型二进制数转换为十进制数并在屏幕上显示的子程序 BTOAD 的编写 程序代码请参阅本书“ 2.4.3 实验内容”中“编程指导”部分。 2、 程序框架 COUNT EQU 10 DATA SEGMENT NUM DB 10 DUP(?) IBUF DB 7,0,6 DUP(?)

文档评论(0)

明若晓溪 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档