我在文件中有一个C程序delay.c:
void delay(int num)
{
volatile int i;
for(i=0; i<num; i++);
}
Run Code Online (Sandbox Code Playgroud)
然后我使用命令在ARM模拟器(更具体地说)上用gcc 4.6.3编译程序gcc -g -O1 -o delay.o delay.c.组装delay.o是:
00000000 <delay>:
0: e24dd008 sub sp, sp, #8
4: e3a03000 mov r3, #0
8: e58d3004 str r3, [sp, #4]
c: e59d3004 ldr r3, [sp, #4]
10: e1500003 cmp r0, r3
14: da000005 ble 30 <delay+0x30>
18: e59d3004 ldr r3, [sp, #4]
1c: e2833001 add r3, r3, #1
20: e58d3004 str r3, [sp, #4]
24: e59d3004 …Run Code Online (Sandbox Code Playgroud)