我正在 Qemu 中尝试这个用于 armv5 connex 板的汇编程序。我添加两个数字并将它们存储在位置标签结果中。我无法在内存位置查看结果值 40,但寄存器值 r4 = 0x28。
.data
val1: .4byte 10
val2: .4byte 30
result: .4byte 0
.text
.align
start:
ldr r0, =val1
ldr r1, =val2
ldr r2, [r0]
ldr r3, [r1]
add r4, r2, r3
ldr r0, =result
str r4, [r0]
stop: b stop
Run Code Online (Sandbox Code Playgroud)
我的链接器脚本是
SECTIONS {
. = 0x00000000;
.text : {
*(.text);
}
.data : {
*(.data);
}
}
Run Code Online (Sandbox Code Playgroud)
输出
user@stretch:~/Desktop/Gnu_Toolchain/Data_In_Ram$ arm-none-eabi-nm -n data_in_ram.elf
00000000 t start
0000001c t stop
0000002c d val1
00000030 …Run Code Online (Sandbox Code Playgroud)