gpt4 book ai didi

c - ARM 汇编中的递归打印 100

转载 作者:行者123 更新时间:2023-11-30 18:41:19 29 4
gpt4 key购买 nike

我对如何使用 ARM 汇编递归地实现打印 100 (1..2..3..100) 的方法感到非常困惑。我有 C 代码来执行此操作,并且 C 非常简单,但组装的事情太多了,我不知道该怎么做。

请帮忙?

谢谢!

print100_recursive_ARM:
push {r4-r11, ip, lr}
CMP r0, #0
BEQ print_zero
SUB r0, r0, #1
BL print100_recursive_ARM
pop {r4-r11, ip, lr}
B print_num

print_num:
print_zero:
constant: .ascii "%d "
Print_ARM:
MOV r1, r0
LDR r0, =constant
BL printf

end:
pop {r4-r11, ip, lr}
BX lr

这行不通。

最佳答案

肮脏的伎俩:用C编写,用例如编译gcc -S source.c,并分析编译器是如何完成的(现在在 source.s 中)。如何调用/返回,如何处理局部变量,通常很复杂。这样您就可以获得工作汇编源代码来研究或修改。

关于c - ARM 汇编中的递归打印 100,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22393576/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com