Поиск:

Ответ в темуСоздание новой темы Создание опроса
> int 21h - учить или не учить, Помогите определиться 
:(
    Опции темы
suvolod
Дата 13.3.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 20.8.2005

Репутация: нет
Всего: 1



Пожалуйста, проясните мне такой момент про int 21h
Ассемблер учу недавно, и недавно начал понимать, что int 21h – это чисто досовское прерывание. Вопрос, стоит ли тогда его учить вообще – со его множеством функций. Или оно полностью устарело. Меня смущает то, что в эпоху win32-платформ до сих пор выпускается куча книг по этой теме – взять того же Питера Абеля (сейчас читаю пятое издание его книги), да и любая другая книга почти всегда не один десяток страниц отдает под описание int21h-фций. Смущает и то, есть куча фций этого прерывания, которые до сих пор нормально работают даже в WinXPSp2. Что это? – полная поддержка этого прерывания или все-таки эмуляция, оставленная для совместимости, которая со временем исчезнет окончательно. 

Я учусь на программиста, до этого копался в Си, WinApi, сейчас пришлось из-за учебы перейти на изучение Паскаля и Делфи. Но для себя я уже давно выбрал языки, в которых хотел бы работать: это С/С++ и ассемблер, только в них я могу абсолютно все – не просто создавать пользовательские форточки, но и писать драйвера, операционки, исследовать защиту программ и многое другое. И вот почитал я учебники Пирогова, Юрова, Голубь, сижу я сейчас над книгой господина Абеля, дотошно (в который раз) вчитываюсь во все многообразие фций int 21h, int 10h и подобных, что-то выписываю; проверяю, что работает под виндой, а что нет, исправляю в коде Абеля многочисленные косяки и опечатки - а про себя думаю – нафига мне все это надо. Не писать/не ломать досовские программы я все-равно уже наверняка никогда не буду, основные операторы mov, rep, loods и прочие я уже изучил, как создавать из них стандартные конструкции типа циклов и условий знаю – так может действительно плюнуть и сесть за изучение ассемблера для Windows?  Но почему же тогда  в каждой НОВОЙ книге по ассемблеру их авторы пол книги уделяют прерываниям, если они вроде как уже никому не нужны? – или все-таки я «сам дурак» - не понимаю того, что очевидно другим?. 

Пожалуйста, разрулите ситуацию: стоит ли изучать int21h  и подобные. Какие все-таки стоит? Например, int13 для работы с биосом – это что, тоже устаревшая технология, или это прерывание будет работать и поддерживаться всегда? Меня это интересует с точки зрения написания в будущем (пускай и отдаленном), собственной ОС. Вообще интересно ваше мнение по методике обучения – книжек-то у меня куча, а вот понимания того, как эффективно и быстро въехать в изучаемую тему, нет. 



PM MAIL   Вверх
sgi1981
Дата 14.3.2007, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Какова цель у тебя ?
Windows вообще обширная ОС. По моему она экспортирует десятки тысяч функций приложениям в своих DLL из каталога System32. Зайди в этот каталог и посмотри сколько там библиотек, и каждая содержит от нескольких до неск сотен функций, и я думаю если не все, то большинство этих библиотек можно импортировать. Чего там только нет... Помимо основных библиотек kernel32 user32 gdi32... и для интернета функции, и COM-DCOM, мультимедиа...


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
Gaudi
Дата 20.3.2007, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 18.3.2007

Репутация: нет
Всего: нет



masm32. Уроки Iczelion'а (маст рид). На дос забей. 

PM MAIL   Вверх
Akina
Дата 20.3.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Учить - в любом случае глупость. Надо просто представлять себе, какие функции есть у прерывания 21h (да и остальных), а когда понадобится реализовать что-то конкретное - справку в зубы и вперед. Я на АСМе начал писАть в 1988 году - и до сих пор не помню 2/3 функций, что, впрочем, мне совсем не мешает.

Цитата(suvolod @  13.3.2007,  14:44 Найти цитируемый пост)
Например, int13 для работы с биосом 

Вот типичный пример. Int 13h - вовсе не прерывание "для работы с БИОСом". Да таких вообще в природе нет - это прерывание для работы с дисковыми накопителями. Его базовая часть действительно находится в БИОС, но бОльшая часть подгружается ОС как расширение...

Учите систему команд (от базовых 8086 до MMX/SSE), работу с аппаратной частью (программирование портов и контроллеров), интерфейсы функций ОС, работу в разных моделях, структуру модулей, типичные коды и их оптимизацию... словом, документация и примеры.

ИМХО.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
tishaishii
Дата 2.4.2007, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Ты, что ли под Фауста косишь?
Сидишь и читаешь всякую писанину Петра Макаровича, который из запоя не выходил уже лет 30ть?
Надо - используй, не надо - не используй и конец спору.
Ты думаешь, что написанная тобой программа будет в неизменном состоянии использоваться более 10 лет? Вряд ли.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.