Thanh ghi chứa địa chỉ độ lệch của lệnh tiếp theo sẽ được thực hiện trong chương trình?
Trả lời:
Đáp án đúng: D
Câu hỏi này kiểm tra kiến thức về các thanh ghi (register) quan trọng trong kiến trúc bộ vi xử lý, đặc biệt là trong ngữ cảnh của các hệ thống dựa trên kiến trúc x86 (hoặc tương tự). Để trả lời chính xác, cần hiểu rõ chức năng của từng thanh ghi được liệt kê:
- BP (Base Pointer): Thanh ghi BP (hoặc EBP trong chế độ 32-bit, RBP trong chế độ 64-bit) thường được sử dụng để trỏ đến cơ sở của khung ngăn xếp hiện tại. Nó hữu ích trong việc truy cập các biến cục bộ và tham số hàm.
- SP (Stack Pointer): Thanh ghi SP (hoặc ESP, RSP) luôn trỏ đến đỉnh của ngăn xếp. Ngăn xếp được sử dụng để lưu trữ dữ liệu tạm thời, địa chỉ trả về của hàm và các tham số.
- SI (Source Index): Thanh ghi SI (hoặc ESI, RSI) thường được sử dụng để trỏ đến địa chỉ nguồn trong các hoạt động xử lý chuỗi (ví dụ: sao chép chuỗi).
- IP (Instruction Pointer): Thanh ghi IP (hoặc EIP, RIP) chứa địa chỉ của lệnh tiếp theo sẽ được thực thi. Đây là thanh ghi quan trọng nhất để điều khiển luồng thực thi của chương trình.
Do đó, đáp án đúng là IP, vì nó chứa địa chỉ độ lệch (offset) của lệnh tiếp theo.





