Địa chỉ vùng nhớ của ngăn xếp (stack) có địa chỉ bắt đầu là 40H thì thanh ghi SP phải có giá trị là:
Đáp án đúng: A
Trong vi điều khiển 8051, ngăn xếp (stack) được sử dụng để lưu trữ tạm thời dữ liệu, địa chỉ trả về khi gọi hàm hoặc ngắt. Thanh ghi SP (Stack Pointer) chứa địa chỉ của đỉnh ngăn xếp. Khi một byte dữ liệu được đẩy vào stack (push), SP sẽ tăng lên (hoặc giảm đi, tùy theo kiến trúc) trước khi dữ liệu được ghi vào bộ nhớ. Khi một byte dữ liệu được lấy ra khỏi stack (pop), SP sẽ giảm đi (hoặc tăng lên) sau khi dữ liệu được đọc ra.
Trong 8051, stack tăng từ địa chỉ thấp đến địa chỉ cao. Khi stack bắt đầu tại địa chỉ 40H, điều này có nghĩa là ô nhớ đầu tiên được sử dụng trong stack là 40H. Do đó, trước khi bất kỳ dữ liệu nào được đẩy vào stack, SP phải trỏ đến địa chỉ ngay trước địa chỉ bắt đầu của stack, tức là 3FH. Khi byte đầu tiên được đẩy vào stack, SP sẽ tăng lên 40H và dữ liệu được lưu trữ tại địa chỉ 40H.
Vậy nên đáp án đúng là: B. 3FH