E-Book Overview
В книге полностью освещены все аспекты современного программирования на ассемблере, включая системное и прикладное программирование для DOS, Windows 95/98 и UNIX (Solaris, Linux и FreeBSD), работу с устройствами напрямую, взаимодействие с языками высокого уровня и многое другое. Здесь рассмотрены наборы команд, особенности процессоров Intel, вплоть до Pentium III, и архитектура компьютеров на их основе. Кроме того, описаны популярные алгоритмы - генераторы случайных чисел, быстрые вычисления с фиксированной запятой, вывод графики в SVGA - режимах. В качестве иллюстраций для каждого нового алгоритма или приема программирования приведены свыше 50 рабочих текстов программ, которые могут компилироваться как средствами Borland, так и средствами Microsoft или Watcom. Все базовые понятия вводятся с нуля, поэтому предварительного знакомства с другими языками программирования не требуется.
E-Book Content
Зубков С.В.
Assem bler для DOS, Windows и Unix
Москва
Çóáêîâ Ñ.Â. Assembler. Äëÿ DOS, Windows è Unix. – Ì.: ÄÌÊ. – 640 ñ., èë.
ISBN 5-94074-259-9 В книге описываются все аспекты современного программирования на ас семблере для DOS, Windows и Unix (Solaris, Linux и FreeBSD), вклю чая создание резидентных программ и драйверов, прямое программирование периферийных устройств, управление защищенным режимом и многое дру гое. Подробно рассмотрена архитектура процессоров Intel вплоть до Pentium II. Все главы иллюстрированы подробными примерами работоспособных программ. Книга ориентирована как на профессионалов, так и на начинающих без опыта программирования. ISBN 5-94074-259-9
© ÄÌÊ
СОДЕРЖАНИЕ ВВЕДЕНИЕ ...................................................................................................... 12 1. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ ..................................................... 15 1.1. Что потребуется для работы с ассемблером ................ 15 1.2. Представление данных в компьютерах ............................ 16 1.2.1. Двоичная система счисления ................................................. 17 1.2.2. Биты, байты и слова .................................................................. 17 1.2.3. Шестнадцатеричная система счисления ............................ 19 1.2.4. Числа со знаком ......................................................................... 19 1.2.5. Логические операции .............................................................. 20 1.2.6. Коды символов ........................................................................... 21 1.2.7. Организация памяти ................................................................. 21
2. ПРОЦЕССОРЫ INTEL В РЕАЛЬНОМ РЕЖИМЕ ............................ 23 2.1. Регистры процессора ................................................................ 23 2.1.1. Регистры общего назначения ................................................ 23 2.1.2. Сегментные регистры .............................................................. 25 2.1.3. Стек ............................................................................................... 26 2.1.4. Регистр флагов ........................................................................... 27
2.2. Способы адресации .................................................................... 28 2.2.1. Регистровая адресация ........................................................... 28 2.2.2. Непосредственная адресация ............................................... 28 2.2.3. Прямая адресация ..................................................................... 29 2.2.4. Косвенная адресация ............................................................... 29 2.2.5. Адресация по базе со сдвигом ............................................... 30 2.2.6. Косвенная адресация с масштабированием ..................... 30 2.2.7. Адресация по базе c индексированием ....................