ARM汇编与C编程:函数编写、GCC应用及系统调用解析
一、获取信息与函数编写基础
对于没有C语言经验的人来说,获取并理解相关信息是个挑战。可以通过网站和用户论坛获取详细信息,也可以查看函数本身功能,生成其源代码,再用GDB进行分析。
下面是一个结合 scanf 和 printf 的示例代码:
/* Reading a number using scanf */
/* and printing it with prinf */
.global main
.func main
main:
PUSH {LR} @ use pseudo directive
SUB SP, SP, #4 @ make a word on stack
LDR R0, addr_messin @ get addr of messagein
BL printf @ and print it
LDR R0, addr_format @ get addr of format
MOV R1, SP @ place SP in R1
BL scanf @ and store entry on stack
LDR R1, [SP] @ get addr of scanf input
LDR R0, addr_messout @ get addr of messageout
BL printf @ print it all
ADD SP, SP, #4 @ adjust stack
POP {PC} @ restore PC
_exit:
MOV PC, LR @ simple exit
addr_mes
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



