컴파일러 최적화 옵션에 따른 어셈블리 코드
2019. 5. 11. 22:03ㆍ임베디드/ATmega128
while (1)
{
int i, j;
PORTA = 0xff;
for(i=0; i<1000; i++) for(j=0; j<1000; j++) {}
PORTA = 0x00;
for(i=0; i<1000; i++) for(j=0; j<1000; j++) {}
}
1. -O0, volatile로 변수를 선언할 때
- 두 for loop 모두 26줄의 asm 생성
2 -O1
- 두 for loop 모두 4줄의 asm을 생성
3 -O2
- 마지막 for loop만 5줄의 asm 생성
4 -O3
- O2와 같다
5. -Os
- O3와 같다
'임베디드 > ATmega128' 카테고리의 다른 글
AVR 스터디 [2019.05.12] 문제사항 (0) | 2019.05.12 |
---|---|
채터링 실험과 알게 된 새로운 사실 (0) | 2019.05.12 |
인터럽트 중첩의 위험성 (0) | 2019.05.10 |
프로그램 주소로 보는 인터럽트 동작 순서 (0) | 2019.05.10 |
완벽한 디바운싱 회로 (0) | 2019.05.10 |