понеділок, 22 серпня 2011 р.

Уроки захищеного режиму x86. Урок 12

Дванадцятий урок захищеного режиму. 

Попередні : 
  1. "Уроки захищеного режиму x86. Урок 0 та 1". 
  2. "Уроки захищеного режиму x86. Урок 2". 
  3. "Уроки захищеного режиму x86. Урок 3". 
  4. "Уроки захищеного режиму x86. Урок 4".
  5. "Уроки захищеного режиму x86. Урок 5".
  6. "Уроки захищеного режиму x86. Урок 6". 
  7. "Уроки захищеного режиму x86. Урок 7".  
  8. "Уроки захищеного режиму x86. Урок 8".
  9. "Уроки захищеного режиму x86. Урок 9".
  10.  "Уроки захищеного режиму x86. Урок 10".
  11.   "Уроки захищеного режиму x86. Урок 11".
Базою для цих матеріалів служать уроки уроки захищеного режиму Алексея Фрунзе
Ліцензія на код -- GPL2+, ліцензія на тексти -- GFDL.
Довідкова інформація взята з відкритих джерел на просторах Інтернету, зокрема з офіційних мануалів Intel.
Традиційне і очевидне -- жодних гарантій.

Урок номер 12

До програми з уроку 11 додано по LDT для кожної задачі рівня привілей 3. Селектори сегментів даних та коду задач тепер знаходяться в їх LDT.

Реалізація поки тільки змішана, C-asm. Якщо буде зацікавленість, можна написати і чисто асемблерну.

Архів з файлами уроку: pm_12.zip.

Незначні зміни, доповнення та виправлення будуть вноситися прямо в цей файл, про що я старатимуся повідомляти.

На сьогодні все. Наступних чотири уроки, 13, 14, 15, 16, стосуватимуться режиму v8086. Їх буде викладено разом. На жаль, вони поки без теоретичного опису, лише код із коментарями. Матеріал там відносно простий, однак доволі плутаний. Коли працював над цими уроками, руки не дійшли, а зараз немає ні зацікавленості, ні часу. Однак, якщо буде попит, щось можна придумати :-)

Дякую за увагу

Якщо є запитання, виправлення, пропозиції - пишіть! Багато часу цьому приділяти, на жаль, не можу, але якщо з того буде комусь користь - спробуємо щось придумати.

Уроки захищеного режиму x86. Урок 11

Одинадцятий урок захищеного режиму. 

Попередні : 
  1. "Уроки захищеного режиму x86. Урок 0 та 1". 
  2. "Уроки захищеного режиму x86. Урок 2". 
  3. "Уроки захищеного режиму x86. Урок 3". 
  4. "Уроки захищеного режиму x86. Урок 4".
  5. "Уроки захищеного режиму x86. Урок 5".
  6. "Уроки захищеного режиму x86. Урок 6". 
  7. "Уроки захищеного режиму x86. Урок 7".  
  8. "Уроки захищеного режиму x86. Урок 8".
  9. "Уроки захищеного режиму x86. Урок 9".
  10.  "Уроки захищеного режиму x86. Урок 10".
Базою для цих матеріалів служать уроки уроки захищеного режиму Алексея Фрунзе
Ліцензія на код -- GPL2+, ліцензія на тексти -- GFDL.
Довідкова інформація взята з відкритих джерел на просторах Інтернету, зокрема з офіційних мануалів Intel.
Традиційне і очевидне -- жодних гарантій.

Урок номер 11

Майже та сама програма, що і в уроці 7. Основна відмінність --- задачі task1() і task2() тепер 32-бітні і працюють на рівні привілей 3, правда за IOPL=3.

Реалізація поки тільки змішана, C-asm. Якщо буде зацікавленість, можна написати і чисто асемблерну.

Архів з файлами уроку: pm_11.zip.

Незначні зміни, доповнення та виправлення будуть вноситися прямо в цей файл, про що я старатимуся повідомляти.

На сьогодні все. В наступному уроці кожній задачі додамо свою LDT.

Дякую за увагу

Якщо є запитання, виправлення, пропозиції - пишіть! Багато часу цьому приділяти, на жаль, не можу, але якщо з того буде комусь користь - спробуємо щось придумати.