어셈블리 프로그래밍에서 push 및 pop과 같은 스택 작업을 완료 한 후에 스택의 효과적인 시작 주소를 얻을 수 있습니까?어셈블리 프로그래밍에서 스택의 시작 주소 받기
2
A
답변
1
관례는 함수 시작 부분에 (E) SP를 (E) BP로 저장하고 로컬 변수 주소 지정에 (E) BP를 사용하는 것입니다.
0
가장 간단한 경우는 초기 스택 포인터를 변수에 저장하여 필요할 때 액세스하는 것입니다. 그렇지 않은 경우 플랫폼 고유 API (예 : Windows의 VirtualQuery)를 사용하여 현재 SP 값을 첫 번째 매개 변수로 사용하십시오. 기본 주소는 MEMORY_BASIC_INFORMATION 구조의 BaseAddress 필드에 있습니다. Posix 작업은 pthread 함수를 사용하여 수행 할 수 있습니다.
+0
Windows와 Posix를 편집하고 정리하십시오. 첫 번째 문제를 해결했습니다 ... – bmargulies
+0
어떻게하면 MASM에서 수행 할 수 있는지 설명해주세요. –
관련 문제
- 1. 어셈블리 명령 주소
- 2. Silverlight에서 MAC 주소 받기
- 3. 글로벌 IP 주소 받기
- 4. IP 주소 받기
- 5. MAC 주소 받기
- 6. 많은 MAC 주소 받기
- 7. 내 IP 주소 받기
- 8. PHP에서 유튜브 주소 받기
- 9. x64 Windows 프로그램에서 스택의 가상 주소 선택
- 10. 우정의 시작 날짜 받기
- 11. 스레드 시작 주소
- 12. 내 WAN IP 주소 받기
- 13. 프로세스의 메모리 시작 주소 지정
- 14. T4에서 모든 어셈블리 참조 자동으로 받기
- 15. Adobe Air 2로 IP 주소 받기
- 16. SOAP 서비스 클라이언트의 IP 주소 받기
- 17. 기계의 MAC 주소 받기 - 좋은 해결책?
- 18. Windows Mobile - Bluetooth MAC 주소 받기
- 19. JBoss 웹 서비스에서 IP 주소 받기
- 20. CSLA 원격 데이터 포털에서 IP 주소 받기
- 21. 들어오는 소켓 연결의 소스 주소 받기
- 22. 신호 처리기에서 저장된 명령어 포인터 주소 받기
- 23. boost :: asio로 방송 소스 IP 주소 받기
- 24. iPhone 주소록에서 전자 메일 주소 받기
- 25. 코코아에서 사용자의 기본 이메일 주소 받기
- 26. LAN상의 컴퓨터 이름과 IP 주소 받기
- 27. 소켓/네트워크 인터페이스의 로컬 IP 주소 받기
- 28. 사용자가 입력 한 전자 메일 주소 받기
- 29. 라우터 범위 내에있는 장치의 MAC 주소 받기
- 30. 스택의 생성자
시작 주소 (즉, 기본 주소는 변경되지 않음)를 의미합니까, 아니면 실제로 스택 상단의 주소 즉 스택 포인터의 현재 값을 의미합니까? –
시작 기본 주소 ... 스택 상단에서도 수행 할 수 있지만 기본 주소는 사전에 –
기본 주소는 변경되지 않습니다. 스택 포인터가 프로그램 시작 부분에 시작됩니다. 스택 주소의 맨 위에는/pop을 누를 때 변경되는 내용이 있습니다. 어느 것이 실제로 원하는가? –