if(tempUnicode == 0x00E0) output[out_idx] = 0x80; else if(tempUnicode == 0x00E0) output[out_idx] = 0x80; else if(tempUnicode == 0x00E0) output[out_idx] = 0x80; ... else if(tempUnicode == 0x00E0) output[out_idx] = 0x80; // 대략 128개
이녀석을 컴파일 하면
Program Size: data=189.7 xdata=0 code=10418
if(tempUnicode == 0x00E0) res = 0x80; else if(tempUnicode == 0x00E0) res = 0x80; else if(tempUnicode == 0x00E0) res = 0x80; ... else if(tempUnicode == 0x00E0) res = 0x80; // 대략 128개
이녀석을 컴파일 하면
Program Size: data=187.7 xdata=0 code=9518
별거 아닌 코드이지만, 900byte 차이가 난다.
결론. 8051에서는 배열사용을 자제하자(switch / if-else 문처럼 한번의 액션에 분기되는 거라면)
'embeded > 8051' 카테고리의 다른 글
8051 idata와 data의 차이? (0) | 2017.03.27 |
---|---|
8051에서는 코드의 순서가 코드의 크기를 좌우한다? (7) | 2009.04.21 |
keil compiler - memory type (code,xdata,idata) (0) | 2009.04.14 |
Keil compiler - Error : Segment too large (0) | 2009.04.13 |
8051 TIMER 에 대하여 (0) | 2008.12.18 |