LINUX.ORG.RU

История изменений

Исправление X512, (текущая версия) :

Только не понял, что в mov пишется точно.

Смещение сегмента. Сам сегмент берётся из сегментного регистра (CS, DS, …).

«номер виртуальной страницы»*4096» + смещение, то есть для первой (не 0) виртуальной страницы так и будет написано mov 4096:12бит_смещение?

На той же схеме после трансляции сегментов:

LINEAR  ╔═══════════╦═══════════╦═══════════╗
ADDRESS ║    DIR    ║    PAGE   ║   OFFSET  ║
        ╚═══════════╩═════╤═════╩═══════════╝

Offset – младшие 12 бит, потом page 10 бит и dir 10 бит. Номер страницы = dir*1024 + page.

Исходная версия X512, :

Только не понял, что в mov пишется точно.

Смещение сегмента. Сам сегмент берётся из сегментного регистра (CS, DS, …).

«номер виртуальной страницы»*4096» + смещение, то есть для первой (не 0) виртуальной страницы так и будет написано mov 4096:12бит_смещение?

На той же схеме после трансляции сегментов:

LINEAR  ╔═══════════╦═══════════╦═══════════╗
ADDRESS ║     DIR     ║     PAGE    ║    OFFSET   ║
        ╚═══════════╩═════╤═════╩═══════════╝

Offset – младшие 12 бит, потом page 10 бит и dir 10 бит. Номер страницы = dir*1024 + page.