hi Tôi đã tháo rời một số chương trình (linux) tôi đã viết để hiểu rõ hơn cách thức hoạt động, và tôi nhận thấy rằng các chức năng chính luôn bắt đầu bằng:cố gắng để hiểu được tháo dỡ hướng dẫn chính đầu tiên
lea ecx,[esp+0x4] ; I assume this is for getting the adress of the first argument of the main...why ?
and esp,0xfffffff0 ; ??? is the compiler trying to align the stack pointer on 16 bytes ???
push DWORD PTR [ecx-0x4] ; I understand the assembler is pushing the return adress....why ?
push ebp
mov ebp,esp
push ecx ;why is ecx pushed too ??
vì vậy câu hỏi của tôi là: tại sao tất cả công việc này được thực hiện? Tôi chỉ hiểu việc sử dụng:
push ebp
mov ebp,esp
phần còn lại dường như vô ích cho tôi ...
Trình biên dịch nào bạn đang sử dụng và bạn có thể cung cấp chương trình con chính hoàn chỉnh chưa? – Inshallah