我目前正在为一门课学习 ARM 汇编,并且遇到了需要使用“数组”的问题。我知道 ARM 中没有数组这样的东西,所以我必须分配空间并将其视为数组。我有两个问题。
- 我是正确地将新值添加到数组中还是只是覆盖了以前的值?如果我要覆盖这些值,我该如何添加新值?
- 如何循环遍历数组的不同值?我知道我必须使用
loop:
但不知道如何使用它来访问不同的“索引”。
到目前为止,这是我从在线资源中收集的阅读 ARM 文档所得到的。
.equ SWI_Exit, 0x11
.text
.global _start
_start: .global _start
.global main
b main
main:
ldr R0, =MyArray
mov R1, #42
str R1, [R0], #4
mov R1, #43
str R1, [R0], #4
swi SWI_Exit
MyArray: .skip 20 * 4
.end
附带说明一下,我按照教授的要求使用ARMSim#,因此 GNU 工具识别的一些命令不会被 ARMSim# 识别,或者至少我相信是这样。如果我错了,请纠正我。