공부합시다/어셈블리어
[어셈블리어] push와 pop의 구분동작
클란심
2009. 5. 14. 17:27
push eax
1. --esp
2. mov [esp], eax
스택 포인터를 하나 감소 시키고(즉, 스택포인터를 올리고) 값을 넣는다.(스택은 아래서부터 저장되므로 스택이 쌓일수록 스택 포인터가 가르키는 주소의 숫자는 감소한다.)
pop eax
1. mov eax, [esp]
2. ++esp
스택 포인터가 가르키는 메모리 주소의 값을 레지스터에 저장하고, 스택포인터를 증가 시킨다.(즉, 스택포인터를 내린다.)
1. --esp
2. mov [esp], eax
스택 포인터를 하나 감소 시키고(즉, 스택포인터를 올리고) 값을 넣는다.(스택은 아래서부터 저장되므로 스택이 쌓일수록 스택 포인터가 가르키는 주소의 숫자는 감소한다.)
pop eax
1. mov eax, [esp]
2. ++esp
스택 포인터가 가르키는 메모리 주소의 값을 레지스터에 저장하고, 스택포인터를 증가 시킨다.(즉, 스택포인터를 내린다.)