使用子程序排序数组并输出
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
"该资源是一个使用汇编语言编写的程序,目标是接收10个整数,对它们进行排序,并按升序输出排序后的结果。程序包含了一个名为Sort的子程序,用于执行排序操作,使用了冒泡排序的算法。主程序首先提示用户输入10个数字,然后调用Sort子程序进行排序,最后输出排序后的数组。" 在这个汇编程序中,主要涉及的知识点有: 1. 汇编语言基础:程序采用了Intel架构下的x86汇编语言编写,遵循`.386`指令集,使用`.MODEL FLAT`模型,表明程序运行在平坦内存模型下。 2. 栈和数据段:定义了`.STACK 4096`来预留4KB的栈空间,`.DATA`段用于存储数据,如数组`array`、字符串`prompt1`等。 3. 输入输出:程序包含了`INCLUDE io.h`,这通常是包含输入输出函数声明的头文件,如`input`和`output`函数,用于从用户获取输入和向用户输出结果。 4. 变量定义: - `prompt1`、`prompt2`、`prompt3`是提示用户输入和显示结果的字符串。 - `array`是存储10个整数的数组,大小为11个DWORD,额外的一个DWORD用于存储结束标记。 - `value`用于转换字符串到整数。 - `string`用于存储用户输入的字符串。 5. 子程序:`SortPROC`是排序子程序,它使用了冒泡排序算法。 - 冒泡排序是一种简单的排序方法,通过多次遍历数组,每次比较相邻元素并根据需要交换位置,直到数组完全有序。 - 子程序内部使用了`cx`寄存器作为计数器,`di`指向当前元素,`ebx`指向下一个元素。 - `loop1`和`loop2`构成嵌套循环,`loop1`控制外部循环10次,`loop2`控制内部循环最多9次,因为每次内循环都会把最大值冒泡到末尾。 6. 主程序流程: - 首先,通过`_start`标签开始,提示用户输入10个数字,使用`StingIn`循环读取用户输入并存储到数组中。 - 调用`Sort`子程序对数组进行排序。 - 最后,通过`OutValue`循环,将排序后的数组转换为ASCII字符串并输出。 7. 汇编指令: - `move`指令用于数据的移动。 - `cmpe`用于比较操作。 - `jle`是条件跳转指令,如果前一次操作结果小于等于零则跳转。 - `xchge`用于交换两个寄存器或寄存器与内存单元的数据。 - `atod`和`dtoa`分别用于将字符串转换为整数和将整数转换为字符串。 8. 输入输出函数: - `input`函数用于从用户获取输入,这里用于读取10个数字。 - `output`函数用于显示输出,这里用于显示排序前的提示、排序后的结果以及每个数字。 通过这个程序,我们可以学习到汇编语言的基本语法、数据存储、流程控制以及基本的输入输出操作,同时也了解了冒泡排序算法的实现。
![](https://csdnimg.cn/release/download_crawler_static/2349113/bg1.jpg)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/39bdcec834dd4685973e0765dddb55d7_amaojiangzhulu.jpg!1)
- 粉丝: 6
- 资源: 11
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- GO婚礼设计创业计划:技术驱动的婚庆服务
- 微信行业发展现状及未来发展趋势分析
- 信息技术在教育中的融合与应用策略
- 微信小程序设计规范:友好、清晰的用户体验指南
- 联鼎医疗:三级甲等医院全面容灾备份方案设计
- 构建数据指标体系:电商、社区、金融APP案例分析
- 信息技术:六年级学生制作多媒体配乐古诗教程
- 六年级学生PowerPoint音乐动画实战:制作配乐古诗演示
- 信息技术教学设计:特点与策略
- Word中制作课程表:信息技术教学设计
- Word教学:制作课程表,掌握表格基础知识
- 信息技术教研活动年度总结与成果
- 香格里拉旅游网设计解读:机遇与挑战并存
- 助理电子商务师模拟试题:设计与技术详解
- 计算机网络技术专业教学资源库建设与深圳IT产业结合
- 微信小程序开发:网络与媒体API详解
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)