2011-03-03 2 views
0

현재 어셈블러를 배우고 있고 리얼 모드로 일부 프로그램을 작성 중입니다. 스택 이해에 몇 가지 문제가 있습니다. SS가 0이 아니고 SP = 0이면 스택에서 값을 푸시 할 수 있습니까? (가능한 경우 cpu가 푸시 후 레지스터 값을 변경하는 방법)스택 포인터에 대한 간단한 어셈블러 질문

답변

0

예, 가능하지만 일반적으로 하지 않는 편이 좋다. 그렇게하면 SP는 0에서 65536 사이를 랩하고 SS와 평소와 같이 결합하여 작동하는 모든 주소에 쓸 수 있습니다. 일반적으로 스택의 맨 위에있는 내용을 덮어 쓰며 이전 내용에 의존하는 코드로 돌아 가면 동작이 예측할 수 없게됩니다 (빠른 충돌은 그 점).