【问题标题】:How to Initialize an array in Assembly Language [closed]如何在汇编语言中初始化数组 [关闭]
【发布时间】:2017-04-29 14:46:01
【问题描述】:

请告诉我如何用汇编语言初始化数组,例如 初始化一个名为“Even”的数组,其中包含前十个偶数。 偶数 = 0,2,4,6,8,10,12,14,16,18

初始化一个名为“奇数”的数组,其中包含前十个奇数。 奇数=1,3,5,7,9,11,13,15,17,19,21

将两个数组(按索引)添加到名为“Sum”的第三个数组中。 SUM [0] = 偶数 [0] + 奇数 [0]

SUM 1 = 偶数 1 + 奇数 1

最多

SUM [n] = 偶数 [n] + 奇数 [n]

【问题讨论】:

  • 你同学之前问过这个问题:stackoverflow.com/q/43692896/3857942
  • 我投票结束这个问题作为题外话,因为要求解决家庭作业
  • 这不是功课,只是给定的任务,以了解我们如何做到这一点

标签: arrays assembly x86-16


【解决方案1】:

有很多方法可以做到这一点。在声明中创建数组的最简单方法:

EVEN:
 .WORD 0, 2, 4
ODD:
 .WORD 1, 3, 5

使用你想要的任何大小的数据。

要添加它们,您可以:

  1. 展开循环
  2. 我们使用宏
  3. 调用递归函数

【讨论】:

  • 阿罕那太好了?
  • 如何展开循环???可以介绍一下吗??
  • 内联加法10次。
  • 好的,请告诉我,我们有以下寄存器值:AX FA10 DS 32FA SI 222A BX 050C CS 6FDE SP 6D6E CX 1202 ES E9A2 BP FF21 DX FFEF SS CD33 DI 2829您需要计算以下每条指令生成的物理地址。 MOV [bP+Fa21], AX ADD CX, [SP+FaFa]
  • 取决于系统和页表的设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
  • 2014-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多