
汇编实验三 子程序结构和设计
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
可键入任意字符,但只对十六进制数处理显示
功能需求说明:本程序设计目标是实现以下操作流程。首先,用户可通过键盘输入包含20个无符号数值的数据块,这些数值的取值范围限定在零到二五五之间,并采用十六进制格式接收。输入过程中以回车作为最后一个数值的结束标志。系统将对收集到的所有数据进行处理并输出:首次会按照输入顺序依次显示每个十六进制数值;当所有数据全部显示完毕后,程序将在下一行进行排序操作并将数值按降序排列,并用空格分隔数值。特别地,在接收过程中允许用户任意键入字符,但系统仅识别并展示有效的十六进制数字段。本次实验旨在深化对汇编语言程序设计原理的认识,并涵盖顺序结构的应用、分支结构的使用以及循环结构的操作,同时涉及子程序的设计与调试。此外,实验要求掌握键盘信息与显示界面的中断调用方法,尤其是16进制数处理技术。实验内容集中在构建一个能够接受用户输入的20个无符号十六进制数值,并按输入顺序和降序两种模式展示的程序。该程序需具备对输入数据进行有效识别及转换的能力,以便准确地处理仅限于十六进制数值的输入。具体架构安排如下:首先设计用户界面模块,用于接收并显示输入内容;其次开发数据处理逻辑模块,实现数值转换和排序功能;最后整合其他辅助功能模块,包括错误校验、数据显示等必要组件。数据段定义:
- Data 段由一个20字节的数组 array 组成,用于存储输入数字的同时配对两个字符串 mess1 和 mess2。这两个字符串分别作为用户提示信息和排序结果的显示提示。
- 其中 a_len 是 array 长度的一半,表示该段可存储10个16进制数(每个占半个字节)。代码段:
- `Code` 包含主程序Main及其三个辅助函数:getarray、output和disp0d0a。
- Main程序首先初始化数据段和代码段,随后调用getarray获取用户输入的20个16进制数,并依次展示原始序列两次。接着调用sort进行排序,并显示结果后退出程序。
- disp0d0a函数使用DOS中断方式输出并换行。
- getarray子程序通过循环读取用户输入,利用DOS中断处理数据并通过循环存入数组中。
- output子程序遍历数组并按空格分隔的方式展示16进制数值序列。
- sort子程序尚未给出具体实现细节,其任务是对数组中的数值进行降序排列。实验步骤要求如下:通过配置带有命令行界面的操作系统环境并安装必要的开发工具,学生能够熟练使用汇编语言编写和调试目标程序。在学习阶段,需系统性地掌握汇编语言的基础语法及控制语句功能,并通过动手实践观察并记录实验现象。具体操作中,要深入理解子程序的执行流程及其与主程序之间的交互方式,并将中断调用技术应用于处理用户输入指令以及显示系统操作结果的具体场景。作为学习汇编语言的优质实践平台,这项实验为学生们提供了宝贵的实践经验。它不仅有助于培养学生的程序设计能力,还深入强化了他们在子程序设计、中断处理以及数组操作方面的知识掌握。参与这项实践的学生能够在解决实际问题时更加熟练地应用汇编语言。
全部评论 (0)


