Для основ нужно знать шестнадцатиричную систему счисления все мы знаем десятичную систему счисления она состаит от 0,1,2,3,4,5,6,7,8,9 цифр она удобней человеку А теперь пример шестнадцатеричной системы счисления она удобней компьютеру ! 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F обратите внимание после цифры 9 идет A это значит 10 и заканчивается F это 15 все достаточно просто покажу пример на графике. Большенство низко "уровневых" кодов используют именно эту систему счисления.
Десятичные: Шестнадцатеричная:
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
все пошол новый десяток A
так как он состоит из 10 цифр B
C
D
E
F
Всего 16 цифр.
Как ассемблер распознает в коде десятичные цифры от шестнадцатеричных просто после шестнадцатеричных ставят букву h ( примечании если первая цифра например А9 то надо ставить ноль 0A9 ).
пример: MOV EAX , 0A7F7bch вот так надо записывать.
Очень важно понять эту тему так как это основы и начинать надо с этого в следующих темах я расскажу о регистрах процессора, как работает стек, адресации памяти в WIN32 и как компилировать программу на ассемблере затем я буду каждой команде посвящать отдельную тему с примерами.
Ассемблер, который я буду использовать - NASM (Netwide Assembler, nasm.2y.net). Этот выбор объясняется тем, что:
Во первых, он мультиплатформенный, т.е. для портирования программы на разные ОС достаточно только изменить код взаимодействия с системой, а всю программу переписывать не нужно... подробнее
Разработка WDM - драйвера с использованием только DDK является сложной и трудоемкой задачей. При этом приходится выполнять много однотипных операций: создание скелета драйвера, написание inf - файла для его установки, создание приложения для тестирования и т.п... подробнее
Возможно, идея писать драйвера объектно-ориентированными и кажется на первый взгляд нелогичной. Но при более близком знакомстве с DriverStudio и с драйверами в общем, оказывается, что это не так уж страшно и довольно удобно... подробнее
Объекты устройств являются экземплярами класса KDevice или KPnpDevice. Эти классы являются краеугольными камнями архитектуры DriverWorks: они представляют собой как бы программный образ тех устройств, которые присутствуют в системе... подробнее
Как было упомянуто выше, объект устройства управляет работой устройства при помощи специальных объектов, управляющих работой оборудования - портами В/В, прерываниями, памятью, контроллерами ПДП. Драйвер создает эти объекты для представления физических параметров устройства... подробнее