Вычислить границы сегмента кода в реальном режиме. Примеры

Содержание

Слайд 2

Пример 1. Вычислить границы сегмента кода в реальном режиме, если значения

Пример 1.
Вычислить границы сегмента кода в реальном режиме, если значения сегментных

регистров равны:
CS = 1234H ES = 4900H
DS = 2254H SS = 3400H
Решение
CS – сегментный регистр кода
Размер сегмента кода: 64 Кбайт
Начальный адрес сегмента: 12340H
Конечный адрес сегмента: 12340H + FFFFH = 2233FH
Границы сегмента кода: 12340H – 2233FH
Слайд 3

Пример 2. Вычислить границы сегмента данных в реальном режиме, если значения

Пример 2.
Вычислить границы сегмента данных в реальном режиме, если значения сегментных

регистров равны:
CS = 1000H ES = 3500H
DS = 2000H SS = 2A00H
Слайд 4

Пример 2. Вычислить границы сегмента данных в реальном режиме, если значения

Пример 2.
Вычислить границы сегмента данных в реальном режиме, если значения сегментных

регистров равны:
CS = 1000H ES = 3500H
DS = 2000H SS = 2A00H
Решение
DS – сегментный регистр данных
Начальный адрес сегмента: 20000H
Размер сегмента кода: 2A000H - 20000H = A000H (40 Кбайт)
Конечный адрес сегмента: 20000H + 9FFFH = 29FFFH
Границы сегмента данных: 20000H – 29FFFH
Слайд 5

Пример 3. Вычислить адрес ячейки памяти, к которой произойдет обращение в реальном режиме 4000:(F000+3000)

Пример 3.
Вычислить адрес ячейки памяти, к которой произойдет обращение в реальном

режиме 4000:(F000+3000)
Слайд 6

Пример 3. Вычислить адрес ячейки памяти, к которой произойдет обращение в

Пример 3.
Вычислить адрес ячейки памяти, к которой произойдет обращение в реальном

режиме 4000:(F000+3000)
Решение
Сегментный адрес: 4000H
Смещение: F000+3000 = 12000H
Адрес ячейки памяти: 40000 + 2000 = 42000H
Слайд 7

Пример 4. Вычислите адрес очередной инструкции в реальном режиме, если CS

Пример 4.
Вычислите адрес очередной инструкции в реальном режиме, если
CS = 1000H AX

= 1000H BP = 100H DI = 200H
DS = 2000H BX = 2000H SP = 20H SI = 300H
SS = 3000H CX = 3000H IP = 100H
ES = 4000H DX = 4000H
Слайд 8

Пример 4. Вычислите адрес очередной инструкции в реальном режиме, если CS

Пример 4.
Вычислите адрес очередной инструкции в реальном режиме, если
CS = 1000H AX

= 1000H BP = 100H DI = 200H
DS = 2000H BX = 2000H SP = 20H SI = 300H
SS = 3000H CX = 3000H IP = 100H
ES = 4000H DX = 4000H
Решение
Сегментный регистр кода: CS
Указатель инструкции: IP
Адрес очередной инструкции: CS:IP 1000:100
10000H + 100H = 10100H
Слайд 9

Пример 5. Вычислите границы сегмента, адресуемого дескриптором, у которого поле база

Пример 5.
Вычислите границы сегмента, адресуемого дескриптором, у которого поле база равно

00280000H, предел – 00010H, а бит G = 1.
Слайд 10

Пример 5. Вычислите границы сегмента, адресуемого дескриптором, у которого поле база

Пример 5.
Вычислите границы сегмента, адресуемого дескриптором, у которого поле база равно

00280000H, предел – 00010H, а бит G = 1.
Решение
Начальный адрес сегмента: 280000H
Конечный адрес сегмента: 280000H + 10FFFH = 290FFFH
Границы сегмента: 280000 – 290FFF
Слайд 11

Пример 6. К каким элементам каталога страниц и таблицы страниц произойдет

Пример 6.
К каким элементам каталога страниц и таблицы страниц произойдет обращение

при генерировании линейного адреса 00200000H?
Слайд 12

Пример 6. К каким элементам каталога страниц и таблицы страниц произойдет

Пример 6.
К каким элементам каталога страниц и таблицы страниц произойдет обращение

при генерировании линейного адреса 00200000H?
Решение
Элемент каталога страниц: 00000000002
Элемент таблицы страниц: 10000000002 = 20016
Слайд 13

Пример 7. В защищенном режиме значение регистра DS = 0103H. Чему равен уровень запрашиваемых привилегий?

Пример 7.
В защищенном режиме значение регистра DS = 0103H. Чему равен

уровень запрашиваемых привилегий?