Фирма Microsoft никогда не документировала,
Фирма Microsoft никогда не документировала, каким это извращенным способом можно писать приложения под Win32 на Ассемблере. Конечно же, в ее Driver Development Kit (DDK) есть парочка соответствующих топиков, но они относятся исключительно к разработке виртуальных драйверов VxD и прочих специфических штук. Ни для кого не секрет, что для программирования в среде Windows необходимо иметь многочисленные ссылки на данные, такие как прототипы функций, структуры, типы и определения констант, макросы... и так далее. Так вот, все вышеперечисленное богатство как раз и поставляется с DDK. Однако, вот беда, "заточено"-то оно под Си :(.
Естественно, маргинальная часть программирующего сообщества неоднократно задавала мелкософту вопрос на тему "assembly language programming for Win32". Но все, что могла ответить служба поддержки, это "assembly language programming for Win32 is not supported by Microsoft" - на первый бесплатный звонок, и "no, it cannot be done" - на второй. Третий же звонок уже стоил немалых денег, и находились лишь считанные единицы, решавшиеся на это.
Однако, как говорится, если гора не идет к Магомету, то Магомет идет к горе. Осознав простую народную мудрость, что "спасение утопающих - дело рук самих утопающих", некто Hutch (потом ему начала помогать целая команда во главе с Iczelion'ом), взял все вышеозначенное "богатство" и начал "перезатачивать" его под Ассемблер...
Подозреваю, что это был весьма тяжелый и тернистый путь, потребовавший от Hutch'a как огромных моральных усилий, так и определенных материальных затрат. Однако он был успешно выполнен, в результате чего мы с вами имеем огромнейшую халяву и собираемся самым бессовестным образом сберечь на этом большое число своих драгоценнейших нервных клеток ;).
Не правда ли, последнее радует? Но тем не менее (а как же без ложки дегтя?), необходимо учесть и тот простой факт, что пакет MASM32 делался живыми людьми, и в нем могут содержаться (и они там действительно есть!) ошибки. Поэтому отнюдь не стоит брезговать время от времени проверять соответствующие заголовочные файлы ;).
Вот такая вот предыстория. Надеюсь вы уже скачали MASM32 и установили его на свой жесткий диск? Тогда давайте вернемся к нашим баранам :).
Содержание раздела