вівторок, 24 травня 2011 р.

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

Історія

Колись давно-давно, ще в 1995, був у мене крутий комп Пошук-1. Разом із всіма розширеннями - CGA-монітор, 640Кб пам'яті, 5" дискові, процесором типу i8088 та підтримкою команди POP CS. І було навколо мене багато брутальних програмерів, які переконали мене що Асемблер це круто. А також продали книгу Пітера Абеля "Ассемблер и программирование для IBM PC" видання кінця 80-х -- початку 90-х (*). І за одне і за друге я їм вдячний, але це окрема тема. Вже тоді ми знали що є 286-ті, і це круто, знали що є 486 і це неміряно круто. Сам факт "сидіння" за 486-м був приводом для заздрощів. Минув рік, з'явився комп'ютерний клас з десятка 486-х а мені на добу дали переклад офіційного мануала Intel до чи то 386-го чи то 486-го процесора. Розібратися в на порядки складнішій, в порівнянні з реальним, системі захищеного режиму за цей час звичайно не вдалося. Але бажання розібратися залишилося, прямо за Фрейдом з його витісненими бажанням, на все життя. :-)

Через багато років, у 2006-му, коли документація та спеціалізовані книги вже були легкодоступні і значення прапорців дескрипторів не треба було більше шукати по безграмотних методичках, написаних викладачами для галочки, довелося мені трішки вчити асемблеру. В процесі я писав свою "методичку", яка так і залишилася незавершеною. Нещодавно натрапив на ті тексти. Сумбурно, безтолково, місцями безграмотно, однак достатньо незле щоб шкода було просто так викинути. Вирішив поділитися :-) Перед тим трішки почистив, виправив знайдені помилки та URL що змінилися. Для початку --- додаток, присвячений захищеному режиму 386+.

Базою для цього додаткового розділу послужили уроки захищеного режиму Алексея Фрунзе. Офіційна сторінка тих уроків, http://welcome.to/pmode, на жаль більше не доступна, але див. також сюди: http://members.tripod.com/protected_mode/alexfru/pmtuts.html.

Крім вже згаданої сумбурності та безтолковості, до недоліків належать: багатослівність, місцями спроби охопити все-все-все, ніякий переклад термінів (**). Набір інструментів трішки роздутий, хоча в педагогічних цілях це цілком може бути плюсом. Організація текстів програм мені зараз теж не дуже подобається, але переробляти лінь. Може, як буде попит - в наступній версії.

Можуть бути помилки :-) (Впевнений що вони є)

Крім того це все ж уроки (максимум - лабораторні роботи), тому систематичного викладу роботи захищеного режиму немає. Правда, є багато довідкової інформації.

Отож, поїхали.