890c: e50b0008 str r0, [fp, #-8]
8910: e50b100c str r1, [fp, #-12]
8914: e51b0008 ldr r0, [fp, #-8]
8918: e51b100c ldr r1, [fp, #-12]
지난 2 LDR의 포인트는 무엇입니까?
890c: e50b0008 str r0, [fp, #-8]
8910: e50b100c str r1, [fp, #-12]
8914: e51b0008 ldr r0, [fp, #-8]
8918: e51b100c ldr r1, [fp, #-12]
지난 2 LDR의 포인트는 무엇입니까?
컴파일러는 완전히 최적화되지 않은 컴파일러를 방출합니다. 디버그 용으로 컴파일 할 때
a = 0;
return a;
과 같은 라인은 다소 비슷하게 보입니다.
재 : 의견 :이 경우, 그것은 다른 가능성이 프로그램이 메모리 매핑 된 I/O 레지스터를 수정된다는 것이다 대부분의 호출 순서
a = something; //compiler: calculate in register, write out to memory
b = something_else; //compiler: calculate in register, write out to memory
Func(a, b); //compiler: pick up from memory, branch and link to the function
다음 명령은 모두 설명하는 'bl'입니다. – mathk