2011년4월27일..stack(push/pop), queue, 함수 호출(call), ESP, EBP, EIP, ATmega128 Feature, Block Diagram, I/O port, 7-segment

 

한 2주치는 밀린 것 같다…이러다 월화수목금금금…

4a46b55d020016m1 랄라~

 

STACK에 있는 값들을 알아내기 소스

 

image

 

image

 

OS type name address
Linux int main :: A 0xBFFFF848
Linux int main :: B 0xBFFFF844
Linux int test :: A 0xBFFFF828
Linux int test :: B 0xBFFFF824
Linux int test :: C 0xBFFFF818
Linux int test :: D 0xBFFFF814
Windows int main :: A 0x0013FF7C
Windows int main :: B 0x0013FF78
Windows int test :: A 0x0013FF74
Windows int test :: B 0x0013FF70
Windows int test :: C 0x0013FF64
Windows int test :: D 0x0013FF60

 

image

알아내는 법…과정을 간략히 나열

ⓐ18,19,20,21번지의 값 출력 (C)
ⓑ18번지 – 4 = 14번지
ⓒ14,15,16,17번지의 값 출력(D)
ⓓ18번지 + 4 = 1C번지 (?영역) –> 0xBFFFF84C 가 들어 있군…
ⓔ1C번지 + 4 = 20번지 (?영역) –> 0x08048472 가 들어 있네.. 무엇일까?

 

image image image

 

1C번지의 (?영역)에 대해…
심재원氏 - 0xBFFFF84C를 꺼낼 때 값이 EBP와 같으니 다음에 꺼낼(pop) 값은 코드영역의 주소..즉, 리턴주소이다.
나도 동의…

(자세한 설명과 도식 추가할 것)

 

 

 

 

 

 

 

 

STACK

image

 

(자세한 설명과 도식)

 

 

 

(도식과 설명)

 

STACK Operation

 

(도식과 설명추가할것)

image

image

 

(gdb에서 디어셈블리어를 보고 설명)

 

image

image

 image

image

 

test전과 후를 해봐야 하는데 일단 급해서 올림;;

 

 

ATmega128 spec

image image

image