30/09/2018, 18:46
Assembly về OFFSET và SEGMENT
Trong vi xử lý của intel thì nó phân ra 2 mảng là offset và segment.
Vậy để hiểu rõ được 2 cái chúng ta đặt câu hỏi OFFSET là gì ? và SEGMENT là gì ?
Bài liên quan
OFFSET là độ dời
SEGMENT là đoạn
Bộ nhớ được chia thành các đoạn, mỗi đoạn gồm nhiều ô nhớ được đánh địa chỉ liên tục. Để truy cập một ô nhớ trong 1 đoạn, ta cần biết độ dời của nó so với địa chỉ ở đầu đoạn. Vì sao nói ra hơi dài dòng và mình cũng chả nhớ rõ, nhưng mục đích chính là để phân chia, quản lý, bảo vệ bộ nhớ cho các chương trình tốt hơn.
Để dễ hiểu thì: SEGMENT là một lớp học với tên lớp
OFFSET là mã số sv của lớp học
Vậy nên khi cần kêu sinh viên nào, chỉ cần đưa ra tên lớp + mssv là có thể truy vấn ra thằng đó ngay.
Cảm ơn cậu ! vậy khi định địa chỉ luôn có 2 thằng này để xác định dữ liệu nhỉ ?
2 thằng này dùng để xác định địa chỉ vật lý của ô nhớ cần truy cập. Từ SEGMENT và OFFSET đổi sang địa chỉ vật lý thì lấy số segment * 64 + offset.
Cảm ơn cậu mình hiểu hơn rồi !
mình tưởng Từ SEGMENT và OFFSET đổi sang địa chỉ vật lý thì lấy số segment * 16 + offset chứ nhỉ?