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 ánLờ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
What will be the output of the following Python code?
def foo():
try:
return 1
finally:
return 2
k = foo()
print(k)Có lời giảiCâu hỏiCopying and pasting a Python for loop with a blank line into the standard Python shell will always execute without errors.Có lời giảiCâu hỏiWhat is the result of sorted([-4, 1, -2, 3], key=abs, reverse=True) ?Có lời giảiCâu hỏiCả 22 câu của chủ đề22 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây