JavaScript is required

Nếu thanh ghi SP có giá trị là 59H thì vùng nhớ của ngăn xếp (stack) có địa chỉ bắt đầu là:

A.

5AH

B.

58H

C.

5BH

D.

59H

Trả lời:

Đáp án đúng: A


Thanh ghi SP (Stack Pointer) chứa địa chỉ của đỉnh ngăn xếp. Trong hầu hết các kiến trúc, ngăn xếp (stack) phát triển theo hướng giảm địa chỉ. Điều này có nghĩa là khi một giá trị được đẩy vào ngăn xếp (push), SP sẽ giảm đi (thường là 1 hoặc 2 tùy thuộc vào kích thước của dữ liệu được đẩy vào). Khi một giá trị được lấy ra khỏi ngăn xếp (pop), SP sẽ tăng lên. Vì vậy, nếu SP đang có giá trị 59H, thì địa chỉ bắt đầu (đáy) của vùng nhớ ngăn xếp sẽ có địa chỉ lớn hơn 59H, còn địa chỉ của đỉnh ngăn xếp là 59H, nên khi push 1 giá trị vào stack thì SP sẽ giảm xuống. Bài này hỏi địa chỉ bắt đầu của stack, cần xem xét stack tăng trưởng từ địa chỉ cao xuống địa chỉ thấp, nên địa chỉ vùng nhớ stack phải lớn hơn giá trị của SP. Trong các đáp án, không có đáp án nào lớn hơn 59H, nên đáp án đúng nhất là 59H vì đây là địa chỉ hiện tại của đỉnh stack.

Câu hỏi liên quan