最近对Arm 汇编很感兴趣,就找到了《Instruction Set Assembly Guide for Armv7》学习一下,特此记录2个实例分析。
实例一
0001108c <out_standby>:// 函数start address 是0x0001108c
out_standby():
vendor/novatek/proprietary/audio/hal/audio_stream_deepbuf.c:309//source code:
//struct stream_out *out = (struct stream_out *)stream;
1108c: b5b0 push {r4, r5, r7, lr}//Push registers onto a full descending stack.
//Registers are stored on the stack in numerical order, with the lowest numbered register at the lowest address.
//r4, r5, r7, lr register 入栈 (lr register is r14 register)
1108e: 4604 mov r4, r0