本实验旨在通过循环结构和过程调用的学习,掌握其在微型计算机中的应用技巧,提升学生解决实际问题的能力。
本段落为微机原理实验二-循环程序结构和过程调用程序设计
1. 现有两个数组 X 和 Y:
- 数组 X:32、-43、76、95、-1
- 数组 Y:-78、127、-128、-125、88
编写汇编语言程序,计算两个数组之和并将结果存入另一数组 S 中。即:
- `S(i) = X(i) + Y(i)`。
2. 现有X数组:32、-43、76、95、-1、-78、127、-128、-125、88。
编写程序,将该数组按递增顺序排序,并将排序后的结果复制到附加段(ES段)内。要求分别采用主模块和子程序调用(段内近程调用)两种结构编程实现。
3. 现有两个数组 X 和 Y:
- 数组X:132、-143、-116、-195、-28
- 数组Y:200、157、-100、-125、188
编写程序计算两个数组之和,结果存入数组 S 中。即:
- `S(i) = X(i) + Y(i)`。
并将结果存放在附加段(ES段)内(提示:使用双字节指令)。
4. 数据段中存储的数据为:BUF=2、-4、0、9、-1、-8、0、-12、125、88。编写子程序调用结构的汇编语言程序,实现以下功能:
- 统计数据段中的正数个数。
- 统计数据段中的负数个数。
- 计算并统计数据段中所有0的数量。
- 分别计算和输出数据段内所有正数值之和及负数值的总和。
题目要求提供汇编源代码、流程图以及程序运行结果。