2014-02-07 4 views
0

방금 ​​어셈블리 레벨 프로그래밍을 배우기 시작했습니다. 스택 포인터가 스택 세그먼트의 스택 상단을 가리키는 것을 읽었습니다. 사용자가 8086의 스택 포인터에 저장된 값을 변경할 수 있습니까?어셈블리 레벨 프로그래밍에서 스택 포인터

+0

http://stackoverflow.com/questions/3384346/pointers-and-indexes-in-intel-8086-assembly – user2485710

답변

0

예. 예를 들어 스택 포인터 (암시 적으로 sp/esp/rsp을 16/32/64 비트로 각각 변경할 수 있습니다. push, pop, call 또는 return이거나 명시 적으로 다른 범용 레지스터를 변경하는 것과 같습니다.

실제로 프로그램을 분해하면 기능 시작 부분 근처에 sub esp, 4 (intel 구문)과 같은 것을 종종 볼 수 있습니다. 함수의 지역 변수를 위해 스택에 공간 (이 경우 4 바이트)을 예약하는 데 사용됩니다.