0
매크로가없는 구조 (순수한 어셈블리)를 연구하고 있습니다.asm의 구조
push 0 ; c = 0
pushw 11 ; b = 11
pushw 0 ; a = 0
mov ecx, esp ; pointer to the structure
execute->foo(ecx)
두 질문 : ASM에서 1. 구조체는 구조 후 NULL이 있어야합니다
는 어셈블리의 기능과 구조foo(struct house* ip)
house{
short a;
short b;
int c;
}
그리고 프로그램을 상상해? 나는 null과 다른 것을 넣는 코드를 보았다. 2. "asm"이 내 구조를 언급하는 것을 어떻게 알 수 있습니까? 변수는 ebp + nº 바이트로 참조됩니다.
코드가 업데이트되었습니다. 내 질문은 어떻게 그가 esp, esp-2 및 esp-2를 선택해야하는지 foo라는 것을 아는 것이다. 승인! 나는 더 구체적 일 것이다. 이 코드에서 https://gist.github.com/geyslan/5174296 줄 71에서 bind를 호출하면 syscall은 스택에 넣어 진 구조체를 취합니다. 그러나 구조체가 .data에 있고 bind() 내 구조가 esp-nº에 없습니다. 내가 뭘하려고하는지 아십니까? – Rob
다른 질문이있는 경우; 이전 답변의 댓글 입력란을 사용하는 대신 별도의 질문으로 게시하십시오. 그리고 관련 코드를 질문에 직접 포함하는 것을 잊지 마시기 바랍니다. – Michael
다른 질문이 아닙니다. – Rob