汇编程序,用于查找向量中的最小值和最大值

问题描述 投票:-2回答:1

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

NAME主要PUBLIC主要部分.text:CODE(2)THUMB主要

NOP。 ; < - 你应该在这里写代码

B主; < - 程序代码行

停止B停止

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
assembly
1个回答
0
投票

这里没有实际问题;所以我假设你要求就如何为你的家庭作业编写代码提出一些指导。

你要做的第一件事就是把它分解成逻辑部分。例如,根据要求,您需要相对明显:

  • 循环(例如“对于数组{...}中的每个元素”)
  • 跟踪“当前最低”的东西
  • 跟踪“当前最大值”的东西
  • 如果/当找到包含小于当前最小值或大于当前最大值的值的元素时,更新当前最小值和当前最大值的内容

一旦确定了逻辑部分,就可以逐个处理它们。例如,您可以首先为循环编写一些程序集(不关心任何其他部分)并测试它以确保它有效(例如,确保它不会崩溃或永远循环或......)。

请注意,这对于避免被您不熟悉的东西所淹没至关重要,因此如果您遇到困难,您可以向人们寻求特定问题的帮助(例如,可能喜欢“为什么这两个整数的比较没有做我认为应该“使用你的代码副本”。

© www.soinside.com 2019 - 2024. All rights reserved.