我试图弄清楚数组在 ARM 汇编中是如何工作的,但我只是不知所措。我想将一个大小为 20 的数组初始化为 0、1、2 等。
A[0] = 0
A[1] = 1
Run Code Online (Sandbox Code Playgroud)
我什至不知道如何打印我必须看到的内容,如果我做得正确的话。这是我到目前为止所拥有的:
.data
.balign 4 @ Memory location divisible by 4
string: .asciz "a[%d] = %d\n"
a: .skip 80 @ allocates 20
.text
.global main
.extern printf
main:
push {ip, lr} @ return address + dummy register
ldr r1, =a @ set r1 to index point of array
mov r2, #0 @ index r2 = 0
loop:
cmp r2, #20 @ 20 elements?
beq end @ Leave loop …Run Code Online (Sandbox Code Playgroud)