Mô phỏng dịch địa chỉ theo phân đoạn (segmentation).
Có n đoạn (segment), mỗi đoạn có base (địa chỉ vật lý bắt đầu) và limit (độ dài đoạn). Một địa chỉ logic gồm cặp (seg, offset).
Thuật toán:
seg ≥ n (số hiệu đoạn không tồn tại) hoặc offset ≥ limit[seg] (vượt giới hạn đoạn) → in FAULT.base[seg] + offset.Ví dụ: 2 đoạn: đoạn 0 (base=1000, limit=500), đoạn 1 (base=5000, limit=300). Địa chỉ (1, 100): offset 100 < limit 300 → phys = 5000 + 100 = 5100.
Dòng 1: n. Tiếp n dòng: mỗi dòng base limit của một đoạn (đoạn đánh số từ 0). Dòng cuối: seg offset. (Đọc theo token.)
1 ≤ n ≤ 100000; 0 ≤ base ≤ 10^12; 1 ≤ limit ≤ 10^9; 0 ≤ seg, offset ≤ 10^12.
Địa chỉ vật lý (số nguyên), hoặc FAULT.
Ví dụ:
Đầu vào:
2
1000 500
5000 300
1 100
Đầu ra:
5100
Giải thích:
Đang tải editor...