汇编程序以找到向量中的最小值和最大值

时间:2019-04-16 07:07:03

标签: assembly

您应该编写一个汇编程序,以找到向量中的最小和最大值。在汇编程序中,向量(数组)由在内存中一个接一个的元素组成。向量本身用其第一个元素的地址寻址,如果仅具有向量的地址,则不知道向量中包含的元素数。因此,必须要么以其他方式找出元素的数量(例如,一个参数),要么用一个不能在向量本身中出现的特殊值来终止向量(例如,以零结尾的字符串)。 。用于Atmel SAM3X8E处理器

NAME主要 公共主要 .text部分:CODE(2) 拇指 主要

没有。 ; <­­--您应该在此处输入代码

B main; <­­--程序代码行

STOP B STOP

ALIGNROM 2

数据向量

 DC32 14, 25, 2, 27, 3
 DC32 22, 13, 4, 24, 6
 DC32 26, 18, 8, 15, 9
 DC32 28, 10, 7, 17, 5

1 个答案:

答案 0 :(得分:0)

这里没有实际的问题;因此,我假设您正在寻求有关如何编写作业代码的指导。

您要做的第一件事是将其分解为逻辑片段。例如,根据需求,您将很明显需要:

  • 一个循环(例如,“对于数组{...}“中的每个元素)

  • 跟踪“当前最小值”的内容

  • 跟踪“当前最大值”的东西

  • 在发现元素的值小于当前最小值或大于当前最大值的情况下更新当前最小值和当前最大值的方法

一旦确定了逻辑部分,就可以一次处理它们。例如,您可以先为循环编写一些程序集(而不关心其他任何部分),然后对其进行测试以确保其正常工作(例如,确保它不会永远崩溃或循环或...)。 / p>

请注意,这对于避免被您不熟悉的东西所淹没非常重要,这样一来,如果您遇到困难,可以向人们寻求特定问题的帮助(例如,“为什么比较?的2个整数不符合我的期望”和您的代码副本。