![]() |
|
|
![]()
|
|
| suvolod |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 20.8.2005 Репутация: нет Всего: 1 |
Пожалуйста, проясните мне такой момент про int 21h
Ассемблер учу недавно, и недавно начал понимать, что int 21h – это чисто досовское прерывание. Вопрос, стоит ли тогда его учить вообще – со его множеством функций. Или оно полностью устарело. Меня смущает то, что в эпоху win32-платформ до сих пор выпускается куча книг по этой теме – взять того же Питера Абеля (сейчас читаю пятое издание его книги), да и любая другая книга почти всегда не один десяток страниц отдает под описание int21h-фций. Смущает и то, есть куча фций этого прерывания, которые до сих пор нормально работают даже в WinXPSp2. Что это? – полная поддержка этого прерывания или все-таки эмуляция, оставленная для совместимости, которая со временем исчезнет окончательно. Я учусь на программиста, до этого копался в Си, WinApi, сейчас пришлось из-за учебы перейти на изучение Паскаля и Делфи. Но для себя я уже давно выбрал языки, в которых хотел бы работать: это С/С++ и ассемблер, только в них я могу абсолютно все – не просто создавать пользовательские форточки, но и писать драйвера, операционки, исследовать защиту программ и многое другое. И вот почитал я учебники Пирогова, Юрова, Голубь, сижу я сейчас над книгой господина Абеля, дотошно (в который раз) вчитываюсь во все многообразие фций int 21h, int 10h и подобных, что-то выписываю; проверяю, что работает под виндой, а что нет, исправляю в коде Абеля многочисленные косяки и опечатки - а про себя думаю – нафига мне все это надо. Не писать/не ломать досовские программы я все-равно уже наверняка никогда не буду, основные операторы mov, rep, loods и прочие я уже изучил, как создавать из них стандартные конструкции типа циклов и условий знаю – так может действительно плюнуть и сесть за изучение ассемблера для Windows? Но почему же тогда в каждой НОВОЙ книге по ассемблеру их авторы пол книги уделяют прерываниям, если они вроде как уже никому не нужны? – или все-таки я «сам дурак» - не понимаю того, что очевидно другим?. Пожалуйста, разрулите ситуацию: стоит ли изучать int21h и подобные. Какие все-таки стоит? Например, int13 для работы с биосом – это что, тоже устаревшая технология, или это прерывание будет работать и поддерживаться всегда? Меня это интересует с точки зрения написания в будущем (пускай и отдаленном), собственной ОС. Вообще интересно ваше мнение по методике обучения – книжек-то у меня куча, а вот понимания того, как эффективно и быстро въехать в изучаемую тему, нет. |
|||
|
||||
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 7 Всего: 10 |
Какова цель у тебя ?
Windows вообще обширная ОС. По моему она экспортирует десятки тысяч функций приложениям в своих DLL из каталога System32. Зайди в этот каталог и посмотри сколько там библиотек, и каждая содержит от нескольких до неск сотен функций, и я думаю если не все, то большинство этих библиотек можно импортировать. Чего там только нет... Помимо основных библиотек kernel32 user32 gdi32... и для интернета функции, и COM-DCOM, мультимедиа... -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
| Gaudi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 18.3.2007 Репутация: нет Всего: нет |
masm32. Уроки Iczelion'а (маст рид). На дос забей.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
Учить - в любом случае глупость. Надо просто представлять себе, какие функции есть у прерывания 21h (да и остальных), а когда понадобится реализовать что-то конкретное - справку в зубы и вперед. Я на АСМе начал писАть в 1988 году - и до сих пор не помню 2/3 функций, что, впрочем, мне совсем не мешает.
Вот типичный пример. Int 13h - вовсе не прерывание "для работы с БИОСом". Да таких вообще в природе нет - это прерывание для работы с дисковыми накопителями. Его базовая часть действительно находится в БИОС, но бОльшая часть подгружается ОС как расширение... Учите систему команд (от базовых 8086 до MMX/SSE), работу с аппаратной частью (программирование портов и контроллеров), интерфейсы функций ОС, работу в разных моделях, структуру модулей, типичные коды и их оптимизацию... словом, документация и примеры. ИМХО. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Ты, что ли под Фауста косишь?
Сидишь и читаешь всякую писанину Петра Макаровича, который из запоя не выходил уже лет 30ть? Надо - используй, не надо - не используй и конец спору. Ты думаешь, что написанная тобой программа будет в неизменном состоянии использоваться более 10 лет? Вряд ли. |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |