Which command changes the size of the stack?

5 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "push edx". Ngăn xếp (stack) trên x86 được quản lý bởi thanh ghi ESP trỏ vào đỉnh ngăn xếp; lệnh push edx giảm ESP đi 4 byte rồi ghi giá trị của edx vào ô nhớ mới tại đỉnh, nên ngăn xếp lớn thêm một phần tử (pop, call, ret hay các lệnh cộng trừ trực tiếp trên esp cũng làm đổi kích thước). Bác: "mov eax, ebx" chỉ chép giá trị giữa hai thanh ghi, ESP giữ nguyên. "lea ecx, [edx+16]" tính địa chỉ edx+16 và đặt vào ecx mà không truy cập bộ nhớ, không chạm tới ESP. "mov ebx, [eax]" đọc ô nhớ do eax trỏ tới vào ebx, chỉ là đọc dữ liệu. "sub ecx, 3" trừ 3 khỏi ecx; lệnh sub chỉ làm đổi ngăn xếp khi toán hạng đích là esp, như sub esp, 0x20 để cấp vùng biến cục bộ, còn ở đây đích là ecx nên ngăn xếp không đổi.

Cùng phần 4

Xuất hiện trong 1 bộ đề